@kanunilabs/pivotgrid-core 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +12 -12
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +12 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ar from'file-saver';var ge={showColumnGrandTotals:true,showRowGrandTotals:true,showColumnTotals:true,showRowTotals:true,totalsPosition:"bottom",dataFieldPosition:"columns",rowHeaderLayout:"tabular",showFooter:true,showFilterArea:true};var O=67108864;function qr(r,e){return r*67108864+e}function Yr(r){return r/67108864|0}function Xr(r){return r%67108864}function U(r,e){let t;if(e.isCalculated&&typeof e.calculateExpression=="function"?t=e.calculateExpression(r):e.dataField&&(t=r[e.dataField]),t==null)return "(Blank)";if(!e.groupInterval)return t;if(e.dataType==="date"&&t instanceof Date)return du(t,e.groupInterval);if(e.dataType==="date"&&typeof t=="string"){let u=new Date(t);if(!isNaN(u.getTime()))return du(u,e.groupInterval)}return e.dataType==="number"&&typeof e.groupInterval=="number"?Zr(Number(t),e.groupInterval):t}function du(r,e){switch(e){case "year":return r.getFullYear();case "quarter":return `Q${Math.floor(r.getMonth()/3)+1}`;case "month":return r.getMonth()+1;case "day":return r.getDate();case "dayOfWeek":return r.getDay();default:return r.toISOString().split("T")[0]}}function Zr(r,e){if(isNaN(r)||e<=0)return String(r);let t=Math.floor(r/e)*e,u=t+e-1;return `${t} - ${u}`}function cu(r,e){for(let t of Jr(e))if(r.has(t))return true;return false}function Jr(r){if(r==null||r==="(Blank)"||r==="(Blanks)")return [r,"(Blank)","(Blanks)"];if(r instanceof Date){let e=[r,String(r)];return Number.isNaN(r.getTime())||e.push(r.toISOString()),e}return [r,String(r)]}function se(r,e,t){let u=e.filter(i=>i.filterValues&&i.filterValues.size>0),o=null;return t&&t.conditions.length>0&&(o=dt(t,e)),u.length===0&&!o?r:r.filter(i=>{if(o&&!o(i))return false;for(let n of u){let s=U(i,n),a=cu(n.filterValues,s);if(n.filterType==="exclude"){if(a)return false}else if(!a)return false}return true})}var qe=25e3,Qr=()=>typeof MessageChannel<"u"?new Promise(r=>{let e=new MessageChannel;e.port1.onmessage=()=>r(),e.port2.postMessage(null);}):new Promise(r=>setTimeout(r,0));async function eo(r,e,t){let u=e.filter(s=>s.filterValues&&s.filterValues.size>0),o=null;if(t&&t.conditions.length>0&&(o=dt(t,e)),u.length===0&&!o)return r;if(r.length<=qe)return se(r,e,t);let i=u.map(s=>{let a=s.filterType==="exclude",l=s.filterValues;return d=>{let p=U(d,s),c=cu(l,p);return a?!c:c}}),n=[];for(let s=0;s<r.length;s+=qe){let a=Math.min(s+qe,r.length);for(let l=s;l<a;l++){let d=r[l];if(o&&!o(d))continue;let p=true;for(let c=0;c<i.length;c++)if(!i[c](d)){p=false;break}p&&n.push(d);}s+qe<r.length&&await Qr();}return n}function dt(r,e){if(!r.conditions||r.conditions.length===0)return ()=>true;let t=r.conditions.map(u=>"logicalOperator"in u?dt(u,e):to(u,e));return r.logicalOperator==="or"?u=>{for(let o=0;o<t.length;o++)if(t[o](u))return true;return false}:u=>{for(let o=0;o<t.length;o++)if(!t[o](u))return false;return true}}function to(r,e){let t=e.find(s=>s.id===r.fieldId);if(!t)return ()=>true;let u=r.value,o=String(u??"").toLowerCase(),i=Number(u),n=Array.isArray(u)?new Set(u.map(String)):null;return s=>{let a=U(s,t);switch(r.operator){case "=":return String(a)===String(u);case "<>":return String(a)!==String(u);case ">":return Number(a)>i;case ">=":return Number(a)>=i;case "<":return Number(a)<i;case "<=":return Number(a)<=i;case "contains":return String(a).toLowerCase().includes(o);case "notcontains":return !String(a).toLowerCase().includes(o);case "startswith":return String(a).toLowerCase().startsWith(o);case "endswith":return String(a).toLowerCase().endsWith(o);case "in":return n?n.has(String(a)):true;case "notin":return n?!n.has(String(a)):true;case "isnull":return a==null||a==="";case "isnotnull":return a!=null&&a!=="";default:return true}}}function Ye(r){return r.charCodeAt(0)===65279?r.slice(1):r}function Ce(r){return typeof r.text=="function"?r.text():new Promise((e,t)=>{let u=new FileReader;u.onload=o=>e(o.target?.result??""),u.onerror=()=>t(new Error("Dosya okuma hatas\u0131.")),u.readAsText(r,"utf-8");})}function ct(r){let e=[",",";"," ","|"],t=Ye(r).split(/\r\n|\r|\n/).filter(i=>i.length>0).slice(0,5);if(t.length===0)return ",";let u=",",o=-1;for(let i of e){let n=t.map(p=>uo(p,i)),s=n.reduce((p,c)=>p+c,0);if(s===0)continue;let a=n[0],l=n.every(p=>p===a),d=s+(l?100:0)+a*10;d>o&&(o=d,u=i);}return u}function uo(r,e){let t=0,u=false;for(let o=0;o<r.length;o++){let i=r[o];if(i==='"'){if(u&&r[o+1]==='"'){o++;continue}u=!u;}else !u&&i===e&&t++;}return t}function mu(r,e,t){let u=Ye(r),o=e||ct(u),i=[],n="",s=[],a=false,l=false,d=u.length,p=t?Math.max(1<<18,Math.ceil(d/100)):0,c=p;for(let m=0;m<u.length;m++){p&&m>=c&&(t(m/d),c+=p);let f=u[m];if(a){f==='"'?u[m+1]==='"'?(n+='"',m++):a=false:n+=f;continue}f==='"'?(a=true,l=true):f===o?(s.push(n),n="",l=true):f===`
|
|
2
2
|
`||f==="\r"?(f==="\r"&&u[m+1]===`
|
|
3
|
-
`&&m++,s.push(n),i.push(s),s=[],n="",l=false):(n+=f,l=true);}return (l||n.length>0||s.length>0)&&(s.push(n),i.push(s)),t&&t(1),i}var mu=new Set(["true","yes","evet","do\u011Fru","dogru"]),fu=new Set(["false","no","hay\u0131r","hayir","yanl\u0131\u015F","yanlis"]);function to(r){let e=r.trim().toLowerCase();return mu.has(e)||fu.has(e)}function hu(r){if(typeof r=="boolean")return r;let e=String(r).trim().toLowerCase();return mu.has(e)||e==="1"||e==="y"||e==="on"?true:fu.has(e)||e==="0"||e==="n"||e==="off"?false:null}function uo(r){return /^0\d+$/.test(r)}var ro=/[₺$€£¥]/g,oo=/[\s ]/g;function ct(r){if(typeof r=="number")return isNaN(r)?null:r;let e=String(r).trim();if(!e)return null;e=e.replace(oo,"").replace(ro,"");let t=false;e.endsWith("%")&&(t=true,e=e.slice(0,-1));let u=false;if(/^\(.*\)$/.test(e)&&(u=true,e=e.slice(1,-1)),!/^[+-]?[0-9.,]*[0-9][0-9.,]*$/.test(e))return null;let o=e.includes("."),i=e.includes(",");if(o&&i)e.lastIndexOf(",")>e.lastIndexOf(".")?e=e.replace(/\./g,"").replace(",","."):e=e.replace(/,/g,"");else if(i){let s=e.split(",");s.length===2&&s[1].length!==3?e=e.replace(",","."):e=e.replace(/,/g,"");}else o&&e.split(".").length>2&&(e=e.replace(/\./g,""));let n=Number(e);return isNaN(n)?null:(u&&(n=-n),t&&(n=n/100),n)}var io=/^\d{4}-\d{2}-\d{2}([ T]\d{2}:\d{2}(:\d{2})?(\.\d+)?(Z|[+-]\d{2}:?\d{2})?)?$/,no=/^(\d{4})[/.](\d{1,2})[/.](\d{1,2})$/,ao=/^(\d{1,2})[/.\-](\d{1,2})[/.\-](\d{4})$/;function pt(r){if(r instanceof Date)return isNaN(r.getTime())?null:r;let e=String(r).trim();if(!e)return null;if(io.test(e)){let o=new Date(e.replace(" ","T"));return isNaN(o.getTime())?null:o}let t=no.exec(e);if(t){let o=new Date(+t[1],+t[2]-1,+t[3]);return cu(o,+t[1],+t[2],+t[3])?o:null}let u=ao.exec(e);if(u){let o=+u[1],i=+u[2],n=+u[3],s,a;o>12&&i<=12?(s=o,a=i):i>12&&o<=12?(s=i,a=o):(s=o,a=i);let l=new Date(n,a-1,s);return cu(l,n,a,s)?l:null}return null}function cu(r,e,t,u){return !isNaN(r.getTime())&&r.getFullYear()===e&&r.getMonth()===t-1&&r.getDate()===u}function gu(r){if(r==null||r==="")return "blank";if(typeof r=="boolean")return "boolean";if(typeof r=="number")return isNaN(r)?"blank":"number";if(r instanceof Date)return isNaN(r.getTime())?"blank":"date";let e=String(r).trim();return e===""?"blank":to(e)?"boolean":uo(e)?"string":pt(e)?"date":ct(e)!==null?"number":"string"}function De(r){let e={string:0,number:0,date:0,boolean:0};for(let o of r){let i=gu(o);i!=="blank"&&e[i]++;}let t="string",u=0;return Object.keys(e).forEach(o=>{e[o]>u&&(u=e[o],t=o);}),t}function Be(r,e){if(r==null||r==="")return null;switch(e){case "number":return ct(r);case "date":return pt(r)??(r instanceof Date?r:null);case "boolean":return hu(r);default:return r}}var Cu=new Set(["__proto__","constructor","prototype"]);function Ce(r){return Cu.has(r)?`${r}_`:r}function mt(r){let e=false;for(let t of r)if(!(!t||typeof t!="object")){for(let u of Object.keys(t))if(Cu.has(u)){e=true;break}if(e)break}return e?r.map(t=>{if(!t||typeof t!="object")return t;let u={};for(let o of Object.keys(t))u[Ce(o)]=t[o];return u}):r}var vu=200,yu=2e4;function Fu(r){let e=new Map;return r.map(t=>{let u=e.get(t)??0;return e.set(t,u+1),Ce(u===0?t:`${t}_${u+1}`)})}function ft(r,e){if(r.length===0)return [];let t=[],u=new Set,o=Math.min(r.length,500);for(let s=0;s<o;s++){let a=r[s];if(!(!a||typeof a!="object"))for(let l of Object.keys(a))u.has(l)||(u.add(l),t.push(l));}let i=new Map;for(let s of t){let a=[];for(let l=0;l<r.length&&a.length<vu;l++){let d=r[l]?.[s];d!=null&&String(d).trim()!==""&&a.push(d);}i.set(s,De(a));}let n=new Array(r.length);for(let s=0;s<r.length;s++){let a=r[s]||{},l={};for(let d of t){let p=a[d];l[Ce(d)]=p==null||p===""?null:Be(p,i.get(d));}n[s]=l,e&&s>0&&s%yu===0&&e({phase:"typing",percent:Math.round(s/r.length*100)});}return e&&e({phase:"typing",percent:100}),n}function Te(r,e){let t=qe(r);if(!t.trim())return [];let u=dt(t),o=pu(t,u,e?d=>e({phase:"parsing",percent:Math.round(d*60)}):void 0);if(o.length===0)return [];let i=0;for(;i<o.length&&o[i].every(d=>d.trim()==="");)i++;if(i>=o.length)return [];let n=Fu(o[i].map((d,p)=>d.trim()||`Column${p+1}`)),s=o.slice(i+1).filter(d=>!(d.length===1&&d[0].trim()==="")),a=n.map((d,p)=>{let c=[];for(let m=0;m<s.length&&c.length<vu;m++){let f=s[m][p];f!==void 0&&f.trim()!==""&&c.push(f);}return De(c)}),l=new Array(s.length);for(let d=0;d<s.length;d++){let p=s[d],c={};for(let m=0;m<n.length;m++){let f=p[m];c[n[m]]=f===void 0||f===""?null:Be(f,a[m]);}l[d]=c,e&&d>0&&d%yu===0&&e({phase:"typing",percent:60+Math.round(d/s.length*40)});}return e&&e({phase:"typing",percent:100}),l}var Ye=class{supports(e){return e.name.endsWith(".json")||e.type==="application/json"}async read(e){let t=await ge(e);try{return JSON.parse(t)}catch(u){throw new Error("JSON parse hatas\u0131: "+u.message)}}};var Xe=class{supports(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="xlsx"||t==="xls"||t==="xlsm"||t==="xlsb"}async read(e){let t=await import('xlsx');return new Promise((u,o)=>{let i=new FileReader;i.onload=n=>{try{let s=new Uint8Array(n.target?.result),a=t.read(s,{type:"array",cellDates:!0});if(a.SheetNames.length===0){o(new Error("The Excel file contains no sheets."));return}let l=a.SheetNames[0],d=a.Sheets[l],p=t.utils.sheet_to_json(d,{defval:null,raw:!0});u(p);}catch(s){o(new Error("Excel parse error: "+s.message));}},i.onerror=()=>{o(new Error("File read error."));},i.readAsArrayBuffer(e);})}};var Re=class r{supports(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="csv"||t==="tsv"||t==="txt"||e.type==="text/csv"||e.type==="text/tab-separated-values"}async read(e){let t=await ge(e);return r.parse(t)}static parse(e){return Te(e)}};var Ie=class r{supports(e){return e.name.split(".").pop()?.toLowerCase()==="xml"||e.type==="application/xml"||e.type==="text/xml"}async read(e){let t=await ge(e);return r.parse(t)}static parse(e){if(!e||!e.trim())return [];let t=so(e),o=co(t).map(po).filter(i=>Object.keys(i).length>0);return ft(o)}};function so(r){let e={tag:"#root",attrs:{},children:[],text:"",parent:null},t=e,u=0,o=r.length;for(;u<o;){let i=r.indexOf("<",u);if(i===-1){t.text+=r.slice(u);break}if(i>u&&(t.text+=r.slice(u,i)),r.startsWith("<!--",i)){let c=r.indexOf("-->",i+4);u=c===-1?o:c+3;continue}if(r.startsWith("<![CDATA[",i)){let c=r.indexOf("]]>",i+9);t.text+=r.slice(i+9,c===-1?o:c),u=c===-1?o:c+3;continue}if(r.startsWith("<?",i)){let c=r.indexOf("?>",i+2);u=c===-1?o:c+2;continue}if(r.startsWith("<!",i)){let c=r.indexOf(">",i+2);u=c===-1?o:c+1;continue}let n=r.indexOf(">",i+1);if(n===-1)break;let s=r.slice(i+1,n).trim();if(s.startsWith("/")){let c=s.slice(1).trim(),m=t;for(;m&&m.tag!==c;)m=m.parent;m&&m.parent&&(t=m.parent),u=n+1;continue}let a=s.endsWith("/");a&&(s=s.slice(0,-1).trim());let{name:l,attrs:d}=lo(s),p={tag:l,attrs:d,children:[],text:"",parent:t};t.children.push(p),a||(t=p),u=n+1;}return e}var Eu=/([^\s=/]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;function lo(r){let e=r.search(/\s/),t=(e===-1?r:r.slice(0,e)).trim(),u={};if(e!==-1){let o=r.slice(e+1),i;for(Eu.lastIndex=0;(i=Eu.exec(o))!==null;)u[i[1]]=ht(i[2]??i[3]??"");}return {name:t,attrs:u}}function co(r){let e=r.children[0];if(!e)return [];let t=e.children;return t.length===0?[]:t.some(o=>o.children.length>0||Object.keys(o.attrs).length>0)?t:[e]}function po(r){let e={},t=new Map,u=(o,i)=>{let n=o||"value",s=t.get(n)??0;t.set(n,s+1),e[Ce(s===0?n:`${n}_${s+1}`)]=i;};for(let[o,i]of Object.entries(r.attrs))u(o,i);if(r.children.length===0){let o=r.text.trim();o&&u(r.tag,ht(o));}else for(let o of r.children)u(o.tag,ht(xu(o).trim()));return e}function xu(r){if(r.children.length===0)return r.text;let e=r.text;for(let t of r.children)e+=xu(t);return e}var mo=/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,fo={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:"\xA0"};function ht(r){return r.indexOf("&")===-1?r:r.replace(mo,(e,t)=>{if(t[0]==="#"){let u=t[1]==="x"||t[1]==="X"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(u)?String.fromCodePoint(u):e}return fo[t]??e})}var ve=class{static validateSnapshot(e){let t={isValid:true,errors:[],warnings:[]};return !e||typeof e!="object"?(t.isValid=false,t.errors.push("Ge\xE7ersiz dosya format\u0131. Snapshot nesnesi bulunamad\u0131."),t):(e.version||t.warnings.push("Snapshot versiyonu eksik. Geriye d\xF6n\xFCk uyumluluk garanti edilemez."),e.type||(t.isValid=false,t.errors.push("Snapshot t\xFCr\xFC (type) belirtilmemi\u015F.")),(e.type==="FULL_SNAPSHOT"||e.type==="LAYOUT_ONLY")&&((!e.fields||!Array.isArray(e.fields))&&(t.isValid=false,t.errors.push('Layout i\xE7in "fields" dizisi bulunamad\u0131.')),e.layout||t.warnings.push('"layout" yap\u0131land\u0131rmas\u0131 eksik, varsay\u0131lan de\u011Ferler kullan\u0131lacak.')),(e.type==="FULL_SNAPSHOT"||e.type==="DATA_ONLY")&&(!e.data||!Array.isArray(e.data))&&(t.isValid=false,t.errors.push('Veri i\xE7eri\u011Fi ("data") bulunamad\u0131 veya ge\xE7ersiz.')),t)}static validateDataAgainstFields(e,t){let u={isValid:true,errors:[],warnings:[]};if(e.length===0)return u.warnings.push("Veri seti bo\u015F."),u;let o=e[0],i=[];return t.forEach(n=>{!n.isCalculated&&n.dataField&&!(n.dataField in o)&&i.push(String(n.dataField));}),i.length>0&&u.warnings.push(`Baz\u0131 alanlar veri setinde bulunamad\u0131: ${i.join(", ")}. E\u015Fle\u015Ftirme (Mapping) gerekebilir.`),u}};var pe=class{static extractFieldsFromData(e,t=50){if(!e||e.length===0)return [];let u=[],o=Math.max(t,50),i=this.collectKeys(e,o),n=false,s=false;return i.forEach(a=>{let l=this.inferType(e,a,t),d="chooser";!n&&this.isAutoRowCandidate(e,a,l,o)?(d="row",n=true):!s&&this.isAutoDataCandidate(a,l)&&(d="data",s=true);let p={id:`f_${a}`,dataField:a,caption:this.formatCaption(a),dataType:l,area:d,areaIndex:0};l==="number"?p.summaryType="sum":l==="date"&&(p.groupInterval="month"),u.push(p);}),u}static buildFieldsFromPlan(e,t,u=50){let o=[],i=false,n=false,s=Math.max(u,50);for(let a of e){let l="chooser";!i&&this.isAutoRowCandidate(t,a.dataField,a.dataType,s)?(l="row",i=true):!n&&this.isAutoDataCandidate(a.dataField,a.dataType)&&(l="data",n=true);let d={id:`f_${a.dataField}`,dataField:a.dataField,caption:a.caption,dataType:a.dataType,area:l,areaIndex:0};a.dataType==="number"?d.summaryType="sum":a.dataType==="date"&&(d.groupInterval="month"),o.push(d);}return o}static isAutoRowCandidate(e,t,u,o){return !(t.startsWith("__EMPTY")||u!=="string"&&u!=="date"||this.isIdentifierLikeKey(t)||u==="string"&&e&&this.isHighCardinalityStringColumn(e,t,o))}static isAutoDataCandidate(e,t){return t==="number"&&!e.startsWith("__EMPTY")&&!this.isIdentifierLikeKey(e)}static isHighCardinalityStringColumn(e,t,u){let o=Math.min(e.length,u),i=new Set,n=0;for(let s=0;s<o;s++){let a=e[s]?.[t];a==null||a===""||(n++,i.add(String(a)));}return n<20?false:i.size/n>=.9}static isIdentifierLikeKey(e){let t=e.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),u=t.replace(/[^a-z0-9]/g,"");return u==="id"||u==="uuid"||u==="guid"||u==="key"?true:/(^|[\s_.-])(id|uuid|guid|key)($|[\s_.-])/.test(t)}static collectKeys(e,t){let u=[],o=new Set,i=Math.min(e.length,t);for(let n=0;n<i;n++){let s=e[n];if(!(!s||typeof s!="object"))for(let a of Object.keys(s))o.has(a)||(o.add(a),u.push(a));}return u}static inferType(e,t,u){let o=Math.min(e.length,u),i=new Array(o);for(let n=0;n<o;n++)i[n]=e[n]?.[t];return De(i)}static formatCaption(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,t=>t.toUpperCase()).trim()}};var Au='var nt=class{size=1;nodeToParent;nodeToVal;nodeToDepth;nodeChildCount;childrenMap;constructor(t){this.nodeToParent=new Int32Array(t).fill(-1),this.nodeToVal=new Int32Array(t).fill(-1),this.nodeToDepth=new Int32Array(t).fill(0),this.nodeChildCount=new Int32Array(t).fill(0),this.childrenMap=new Map;}expandCapacity(){let t=this.nodeToParent.length*2,e=new Int32Array(t).fill(-1);e.set(this.nodeToParent),this.nodeToParent=e;let n=new Int32Array(t).fill(-1);n.set(this.nodeToVal),this.nodeToVal=n;let r=new Int32Array(t).fill(0);r.set(this.nodeToDepth),this.nodeToDepth=r;let i=new Int32Array(t).fill(0);i.set(this.nodeChildCount),this.nodeChildCount=i;}insert(t,e){let n=0;for(let r=0;r<e;r++){let i=t[r],s=this.childrenMap.get(n);s||(s=new Map,this.childrenMap.set(n,s));let l=s.get(i);l===void 0&&(this.size>=this.nodeToParent.length&&this.expandCapacity(),l=this.size++,this.nodeToParent[l]=n,this.nodeToVal[l]=i,this.nodeToDepth[l]=r+1,this.nodeChildCount[n]++,s.set(i,l)),n=l;}return n}};function X(z,t){if(z.length>=t)return z;let e=new z.constructor(Math.max(t,Math.ceil(z.length*1.5)));return e.set(z),e}function ct(z,t,e){let n=t[0];for(let r=0;r<t.length;r++){let i=t[r]+1,s=r+1<t.length?t[r+1]:e;z.copyWithin(n,i,s),n+=s-i;}}var lt=class{dictionary=[];rowFields=[];colFields=[];dataFields=[];storedColumns={};storedRowCount=0;lastMask=null;isBuilt=false;buildState=null;activeFilters=null;activePrefilter=null;tracking=false;groupRows=new Int32Array(0);groupMap=new Map;rowLive=null;colLive=null;rowTrie;colTrie;cardinalityMap={};rowPathStrs=[];colPathStrs=[];rowIndexMapCache={};columnIndexMapCache={};buildVersion=0;groupCount=0;leafGroupRowIds;leafGroupColIds;leafGroupMeasures;leafGroupCounts;leafGroupMins;leafGroupMaxes;leafGroupDistinctSets=new Map;rowGroupOf=null;init(t){this.dictionary=t.dictionary,this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,t.workerBootstrap&&t.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=t.rowCount,this.storedColumns={};for(let[e,n]of Object.entries(t.columnarData))n.type==="int32"&&(this.storedColumns[e]={type:"int32",array:new Int32Array(n.buffer)}),n.type==="float64"&&(this.storedColumns[e]={type:"float64",array:new Float64Array(n.buffer)});this.lastMask=null,this.activeFilters=this.activePrefilter=null,t.deferBuild?this.isBuilt=false:this.buildFromMask(null);}reconfigure(t){if(this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,this.appendDictionary(t.dictionaryAppend),t.newColumns)for(let[e,n]of Object.entries(t.newColumns))n.type==="int32"&&(this.storedColumns[e]={type:"int32",array:new Int32Array(n.buffer)}),n.type==="float64"&&(this.storedColumns[e]={type:"float64",array:new Float64Array(n.buffer)});this.buildFromMask(this.lastMask);}initStart(t){this.dictionary=t.dictionary,this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,t.workerBootstrap&&t.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=t.rowCountTotal,this.storedColumns={};for(let[e,n]of Object.entries(t.columnTypes))n==="int32"?this.storedColumns[e]={type:"int32",array:new Int32Array(t.rowCountTotal)}:this.storedColumns[e]={type:"float64",array:new Float64Array(t.rowCountTotal)};this.setFilters((t.filters||[]).map(e=>({fieldId:e.fieldId,filterType:e.filterType,ids:new Set,pending:new Set(e.valueStrings)})),t.prefilter),this.resolveIncrementalFilterStrings(0),this.isBuilt=false,this.beginBuild();}initChunk(t){this.appendDictionary(t.dictionaryAppend)&&this.ensureCardCapacity();for(let[e,n]of Object.entries(t.columns)){let r=this.storedColumns[e];r&&(r.type==="int32"?r.array.set(new Int32Array(n),t.start):r.array.set(new Float64Array(n),t.start));}this.lastMask&&this.computeMaskRange(t.start,t.end),this.processRange(t.start,t.end,this.lastMask);}initEnd(){this.finalizeBuild();}appendDictionary(t){if(!t||t.length===0)return false;let e=this.dictionary.length;for(let n of t)this.dictionary.push(n);return this.resolveIncrementalFilterStrings(e),true}setFilters(t,e){this.activeFilters=t.length>0?t:null,this.activePrefilter=e&&e.conditions.length>0?e:null,this.lastMask=this.activeFilters||this.activePrefilter?new Uint8Array(this.storedRowCount):null;}resolveIncrementalFilterStrings(t){let e=this.activeFilters;if(!e)return;let n=0;for(let r of e)n+=r.pending.size;if(n!==0)for(let r=t;r<this.dictionary.length;r++){let i=this.dictionary[r];for(let s of e)s.pending.delete(i)&&s.ids.add(r);}}computeMaskRange(t,e){let n=this.lastMask;if(n.fill(1,t,e),this.activeFilters)for(let r of this.activeFilters){let i=this.storedColumns[r.fieldId];if(!i||i.type!=="int32")continue;let s=i.array,l=r.ids;if(r.filterType==="exclude")for(let a=t;a<e;a++)n[a]&&l.has(s[a])&&(n[a]=0);else for(let a=t;a<e;a++)n[a]&&!l.has(s[a])&&(n[a]=0);}if(this.activePrefilter)for(let r=t;r<e;r++)n[r]&&!this.evaluatePrefilterGroup(this.activePrefilter,r)&&(n[r]=0);}applyFilter(t){this.setFilters(t.filters.map(e=>({fieldId:e.fieldId,filterType:e.filterType,ids:new Set(e.dictIds),pending:new Set(e.valueStrings)})),t.prefilter),this.lastMask&&this.computeMaskRange(0,this.storedRowCount),this.buildFromMask(this.lastMask);}evaluatePrefilterGroup(t,e){if(!t.conditions||t.conditions.length===0)return true;if(t.logicalOperator==="and"){for(let n of t.conditions)if("logicalOperator"in n){if(!this.evaluatePrefilterGroup(n,e))return false}else if(!this.evaluatePrefilterCondition(n,e))return false;return true}else {for(let n of t.conditions)if("logicalOperator"in n){if(this.evaluatePrefilterGroup(n,e))return true}else if(this.evaluatePrefilterCondition(n,e))return true;return false}}evaluatePrefilterCondition(t,e){let n=this.storedColumns[t.fieldId];if(!n)return true;if(n.type==="float64"){let l=n.array[e],a=Number(t.value);switch(t.operator){case "=":return l===a;case "<>":return l!==a;case ">":return l>a;case ">=":return l>=a;case "<":return l<a;case "<=":return l<=a;case "isnull":return isNaN(l)||l===0;case "isnotnull":return !isNaN(l)&&l!==0;default:return true}}let r=n.array[e],i=this.dictionary[r]||"",s=String(t.value??"");switch(t.operator){case "=":return i===s;case "<>":return i!==s;case ">":return i>s;case ">=":return i>=s;case "<":return i<s;case "<=":return i<=s;case "contains":return i.toLowerCase().includes(s.toLowerCase());case "notcontains":return !i.toLowerCase().includes(s.toLowerCase());case "startswith":return i.toLowerCase().startsWith(s.toLowerCase());case "endswith":return i.toLowerCase().endsWith(s.toLowerCase());case "isnull":return i===""||i==="(Blank)";case "isnotnull":return i!==""&&i!=="(Blank)";case "in":return Array.isArray(t.value)?t.value.map(String).includes(i):true;case "notin":return Array.isArray(t.value)?!t.value.map(String).includes(i):true;default:return true}}buildFromMask(t){this.beginBuild(),this.processRange(0,this.storedRowCount,t),this.finalizeBuild();}beginBuild(){let t=this.storedRowCount,e=this.storedColumns,n=this.rowFields.length,r=this.colFields.length,i=new Array(n);for(let c=0;c<n;c++)i[c]=e[this.rowFields[c].id].array;let s=new Array(r);for(let c=0;c<r;c++)s[c]=e[this.colFields[c].id].array;let l=this.dictionary.length,a=this.rowFields.map(c=>{let v=e[c.id];return v&&v.type==="int32"?new Uint8Array(l):null}),d=this.colFields.map(c=>{let v=e[c.id];return v&&v.type==="int32"?new Uint8Array(l):null});this.rowTrie=new nt(2e5),this.colTrie=new nt(2e5);let w=this.dataFields.length,C=this.dataFields.map(c=>c.summaryType||"sum"),h=C.some(c=>c==="count"||c==="avg"),G=C.some(c=>c==="min"),m=C.some(c=>c==="max"),M=C.some(c=>c==="distinct"),R=new Array(w);for(let c=0;c<w;c++)R[c]=e[this.dataFields[c].id].array;let I=Math.min(t,2e5),u=G?new Float64Array(I*w):new Float64Array(0),p=m?new Float64Array(I*w):new Float64Array(0);this.leafGroupDistinctSets=M?new Map:new Map,G&&u.fill(1/0),m&&p.fill(-1/0),this.buildState={rPath:new Int32Array(n),cPath:new Int32Array(r),rowColArrays:i,colColArrays:s,dataColArrays:R,rowCardSeen:a,colCardSeen:d,rowCardCounts:new Int32Array(n),colCardCounts:new Int32Array(r),summaryTypes:C,allSums:C.every(c=>c==="sum"),needsCounts:h,needsMins:G,needsMaxes:m,groupMap:new Map,leafRowIds:new Int32Array(I),leafColIds:new Int32Array(I),leafMeasures:new Float64Array(I*w),leafCounts:h?new Float64Array(I*w):new Float64Array(0),leafMins:u,leafMaxes:p,rowGroupOf:this.tracking||C.includes("custom")?new Int32Array(t).fill(-1):null,gCount:0};}ensureCardCapacity(){let t=this.buildState;if(!t)return;let e=this.dictionary.length,n=r=>{if(r===null||r.length>=e)return r;let i=new Uint8Array(Math.max(e,r.length*2));return i.set(r),i};for(let r=0;r<t.rowCardSeen.length;r++)t.rowCardSeen[r]=n(t.rowCardSeen[r]);for(let r=0;r<t.colCardSeen.length;r++)t.colCardSeen[r]=n(t.colCardSeen[r]);}processRange(t,e,n){let r=this.buildState,{rPath:i,cPath:s,rowColArrays:l,colColArrays:a,dataColArrays:d,rowCardSeen:w,colCardSeen:C,rowCardCounts:h,colCardCounts:G,summaryTypes:m,allSums:M,needsCounts:R,needsMins:I,needsMaxes:u,groupMap:p,rowGroupOf:c}=r,v=l.length,y=a.length,b=d.length,D=this.rowTrie,E=this.colTrie,W=r.leafRowIds,J=r.leafColIds,_=r.leafMeasures,Q=r.leafCounts,Y=r.leafMins,Z=r.leafMaxes,K=r.gCount;for(let T=t;T<e;T++){if(n&&!n[T])continue;for(let f=0;f<v;f++){let F=l[f][T];i[f]=F;let g=w[f];g!==null&&g[F]===0&&(g[F]=1,h[f]++);}let $=D.insert(i,v);for(let f=0;f<y;f++){let F=a[f][T];s[f]=F;let g=C[f];g!==null&&g[F]===0&&(g[F]=1,G[f]++);}let rt=E.insert(s,y),it=$*67108864+rt,L=p.get(it);if(L===void 0){if(L=K++,p.set(it,L),L>=W.length){let f=L*2,F=new Int32Array(f);F.set(W),W=F;let g=new Int32Array(f);g.set(J),J=g;let H=new Float64Array(f*b);if(H.set(_),_=H,R){let o=new Float64Array(f*b);o.set(Q),Q=o;}if(I){let o=new Float64Array(f*b);o.fill(1/0),o.set(Y),Y=o;}if(u){let o=new Float64Array(f*b);o.fill(-1/0),o.set(Z),Z=o;}}W[L]=$,J[L]=rt;}c!==null&&(c[T]=L);let st=L*b;if(M)for(let f=0;f<b;f++)_[st+f]+=d[f][T];else for(let f=0;f<b;f++){let F=d[f][T],g=st+f;switch(m[f]){case "sum":_[g]+=F;break;case "count":Q[g]+=1;break;case "avg":_[g]+=F,Q[g]+=1;break;case "min":F<Y[g]&&(Y[g]=F);break;case "max":F>Z[g]&&(Z[g]=F);break;case "distinct":{let H=this.leafGroupDistinctSets.get(g);H||(H=new Set,this.leafGroupDistinctSets.set(g,H)),H.add(F);break}default:_[g]+=F;break}}}r.leafRowIds=W,r.leafColIds=J,r.leafMeasures=_,r.leafCounts=Q,r.leafMins=Y,r.leafMaxes=Z,r.gCount=K;}finalizeBuild(){let t=this.buildState,{needsCounts:e,needsMins:n,needsMaxes:r,gCount:i}=t,s=t.dataColArrays.length,l=t.rowColArrays.length,a=t.colColArrays.length;this.groupCount=i,this.leafGroupRowIds=t.leafRowIds.slice(0,i),this.leafGroupColIds=t.leafColIds.slice(0,i),this.leafGroupMeasures=t.leafMeasures.slice(0,i*s),this.leafGroupCounts=e?t.leafCounts.slice(0,i*s):t.leafCounts,this.leafGroupMins=n?t.leafMins.slice(0,i*s):t.leafMins,this.leafGroupMaxes=r?t.leafMaxes.slice(0,i*s):t.leafMaxes,this.rowGroupOf=t.rowGroupOf,this.cardinalityMap={};for(let d=0;d<l;d++)t.rowCardSeen[d]!==null&&(this.cardinalityMap[this.rowFields[d].id]=t.rowCardCounts[d]);for(let d=0;d<a;d++)t.colCardSeen[d]!==null&&(this.cardinalityMap[this.colFields[d].id]=t.colCardCounts[d]);if(this.buildState=null,this.rowLive=this.colLive=null,this.tracking){this.groupMap=t.groupMap;let d=this.groupRows=new Int32Array(i),w=t.rowGroupOf;for(let C=0;C<this.storedRowCount;C++)w[C]>=0&&d[w[C]]++;}this.buildVersion++,this.isBuilt=true,this.rowPathStrs=this.buildPathStrs(this.rowTrie),this.colPathStrs=this.buildPathStrs(this.colTrie),this.rowIndexMapCache=this.buildIndexMap(this.rowPathStrs,null),this.columnIndexMapCache=this.buildIndexMap(this.colPathStrs,null);}buildPathStrs(t,e=[""]){let n=e;for(let r=e.length;r<t.size;r++){let i=t.nodeToParent[r],s=this.dictionary[t.nodeToVal[r]],l=n[i];n[r]=l?l+"|"+s:s;}return n}buildIndexMap(t,e){let n={};for(let r=0;r<t.length;r++)(!e||e[r])&&(n[t[r]]=r);return n}applyTransaction(t){this.tracking||(this.tracking=true,this.buildFromMask(this.lastMask)),this.appendDictionary(t.dictionaryAppend);let{update:e,remove:n}=t,r=e.length,i=this.storedRowCount,s=i+t.addCount,l=this.storedColumns,a=new Set,d=false,w=this.rowGroupOf,C=u=>{let p=w[u];p<0||(w[u]=-1,--this.groupRows[p]===0&&(d=true),a.add(p));};e.forEach(C),n.forEach(C);for(let u in l){let p=l[u],c=t.columns[u];if(!c)throw new Error("transaction: no values for column "+u);let v=p.type==="int32"?new Int32Array(c):new Float64Array(c),y=p.array=X(p.array,s);for(let b=0;b<r;b++)y[e[b]]=v[b];y.set(v.subarray(r),i);}w=this.rowGroupOf=X(w,s),w.fill(-1,i,s);let h=this.lastMask&&(this.lastMask=X(this.lastMask,s));h&&(e.forEach(u=>this.computeMaskRange(u,u+1)),this.computeMaskRange(i,s));let G=this.rowFields.map(u=>l[u.id].array),m=this.colFields.map(u=>l[u.id].array),M=new Int32Array(G.length),R=new Int32Array(m.length),I=u=>{if(h&&!h[u])return;G.forEach((b,D)=>{M[D]=b[u];}),m.forEach((b,D)=>{R[D]=b[u];});let p=this.rowTrie.insert(M,M.length),c=this.colTrie.insert(R,R.length),v=p*67108864+c,y=this.groupMap.get(v);y===void 0&&(this.groupMap.set(v,y=this.groupCount++),(this.leafGroupRowIds=X(this.leafGroupRowIds,y+1))[y]=p,(this.leafGroupColIds=X(this.leafGroupColIds,y+1))[y]=c,this.groupRows=X(this.groupRows,y+1)),this.groupRows[y]++===0&&(d=true),w[u]=y,a.add(y);};e.forEach(I);for(let u=i;u<s;u++)I(u);if(this.storedRowCount=s-n.length,n.length>0){for(let u in l)ct(l[u].array,n,s);ct(w,n,s),h&&ct(h,n,s);}if(this.resumGroups(a),d){let u=0;for(let p=0;p<this.groupCount;p++)this.groupRows[p]===0&&u++;u>4096&&u>this.groupCount-u?this.buildFromMask(this.lastMask):(this.cardinalityMap={},[this.rowLive,this.rowPathStrs,this.rowIndexMapCache]=this.relive(this.rowTrie,this.leafGroupRowIds,this.rowFields,this.rowPathStrs),[this.colLive,this.colPathStrs,this.columnIndexMapCache]=this.relive(this.colTrie,this.leafGroupColIds,this.colFields,this.colPathStrs),this.buildVersion++);}return this.storedRowCount}resumGroups(t){if(t.size===0)return;let e=this.dataFields.length,n=this.dataFields.map(m=>m.summaryType||"sum"),r=this.dataFields.map(m=>this.storedColumns[m.id].array),i=this.groupCount*e,s=this.leafGroupMeasures=X(this.leafGroupMeasures,i),l=n.some(m=>m==="count"||m==="avg")?this.leafGroupCounts=X(this.leafGroupCounts,i):null,a=n.includes("min")?this.leafGroupMins=X(this.leafGroupMins,i):null,d=n.includes("max")?this.leafGroupMaxes=X(this.leafGroupMaxes,i):null,w=this.leafGroupDistinctSets,C=new Uint8Array(this.groupCount),h=0;for(let m of t){C[m]=1,h+=this.groupRows[m];for(let M=m*e;M<(m+1)*e;M++)s[M]=0,l&&(l[M]=0),a&&(a[M]=1/0),d&&(d[M]=-1/0),w.delete(M);}let G=this.rowGroupOf;for(let m=0;h>0&&m<this.storedRowCount;m++){let M=G[m];if(!(M<0||!C[M])){h--;for(let R=0;R<e;R++){let I=r[R][m],u=M*e+R;switch(n[R]){case "count":l[u]++;break;case "avg":s[u]+=I,l[u]++;break;case "min":I<a[u]&&(a[u]=I);break;case "max":I>d[u]&&(d[u]=I);break;case "distinct":{let p=w.get(u);p||w.set(u,p=new Set),p.add(I);break}default:s[u]+=I;}}}}}relive(t,e,n,r){let i=new Uint8Array(t.size);i[0]=1;for(let a=0;a<this.groupCount;a++)if(this.groupRows[a]!==0)for(let d=e[a];!i[d];d=t.nodeToParent[d])i[d]=1;let s=n.map(()=>new Set);t.nodeChildCount.fill(0,0,t.size);for(let a=1;a<t.size;a++)i[a]&&(t.nodeChildCount[t.nodeToParent[a]]++,s[t.nodeToDepth[a]-1]?.add(t.nodeToVal[a]));n.forEach((a,d)=>{this.cardinalityMap[a.id]=s[d].size;});let l=this.buildPathStrs(t,r);return [i,l,this.buildIndexMap(l,i)]}compute(t){this.isBuilt||this.buildFromMask(this.lastMask);let e=this.rowPathStrs,n=this.colPathStrs,r=new Uint8Array(this.rowTrie.size),i=new Set(t.expandedPaths),s=i.has(".*")||i.has("*");for(let o=0;o<this.rowTrie.size;o++)r[o]=s||i.has(e[o])?1:0;let l=new Uint8Array(this.colTrie.size),a=new Set(t.expandedColPaths),d=a.has(".*")||a.has("*");for(let o=0;o<this.colTrie.size;o++)l[o]=d||a.has(n[o])?1:0;let w=new Uint8Array(this.rowTrie.size);w[0]=1;for(let o=1;o<this.rowTrie.size;o++){let S=this.rowTrie.nodeToParent[o];(S===0||r[S])&&(!this.rowLive||this.rowLive[o])&&(w[o]=1);}let C=new Uint8Array(this.colTrie.size);C[0]=1;for(let o=1;o<this.colTrie.size;o++){let S=this.colTrie.nodeToParent[o];(S===0||l[S])&&(!this.colLive||this.colLive[o])&&(C[o]=1);}let h=this.dataFields.length,G=this.dataFields.map(o=>o.summaryType||"sum"),m=this.leafGroupMins.length>0,M=this.leafGroupMaxes.length>0,R=this.leafGroupCounts.length>0,I=this.leafGroupDistinctSets.size>0,u=new Map,p=0,c=1e4,v=new Float64Array(c),y=new Float64Array(c*h),b=new Int32Array(c*h),D=R?new Float64Array(c*h):null,E=m?new Float64Array(c*h):null,W=M?new Float64Array(c*h):null,J=I?new Map:new Map;E&&E.fill(1/0),W&&W.fill(-1/0);let _=new Int32Array(this.rowFields.length+1),Q=new Int32Array(this.colFields.length+1),Y=(o,S,A,O)=>{let tt=0,U=o;for(;U!==-1;)A[U]&&(O[tt++]=U),U=S.nodeToParent[U];return tt},Z=this.rowGroupOf!==null&&G.includes("custom"),K=Z?new Int32Array(this.groupCount+1):null,T=Z?new Int32Array(Math.max(16,this.groupCount*4)):null,$=0,rt=this.tracking?this.groupRows:null;for(let o=0;o<this.groupCount;o++){if(rt!==null&&rt[o]===0){K!==null&&(K[o+1]=$);continue}let S=this.leafGroupRowIds[o],A=this.leafGroupColIds[o],O=Y(S,this.rowTrie,w,_),tt=Y(A,this.colTrie,C,Q);for(let U=0;U<O;U++){let ot=_[U];for(let j=0;j<tt;j++){let at=Q[j],et=ot*67108864+at,P=u.get(et);if(P===void 0){if(P=p++,u.set(et,P),P>=v.length){let k=P*2,x=new Float64Array(k);x.set(v),v=x;let V=new Float64Array(k*h);V.set(y),y=V;let N=new Int32Array(k*h);if(N.set(b),b=N,D){let B=new Float64Array(k*h);B.set(D),D=B;}if(E){let B=new Float64Array(k*h);B.fill(1/0),B.set(E),E=B;}if(W){let B=new Float64Array(k*h);B.fill(-1/0),B.set(W),W=B;}}v[P]=et;}if(T!==null){if($>=T.length){let k=new Int32Array(T.length*2);k.set(T),T=k;}T[$++]=P;}for(let k=0;k<h;k++){let x=P*h+k,V=o*h+k;switch(G[k]){case "sum":y[x]+=this.leafGroupMeasures[V];break;case "count":y[x]+=this.leafGroupCounts[V];break;case "avg":y[x]+=this.leafGroupMeasures[V],D[x]+=this.leafGroupCounts[V];break;case "min":{let N=this.leafGroupMins[V];N<E[x]&&(E[x]=N);break}case "max":{let N=this.leafGroupMaxes[V];N>W[x]&&(W[x]=N);break}case "distinct":{let N=this.leafGroupDistinctSets.get(V);if(N){let B=J.get(x);B||(B=new Set,J.set(x,B));for(let ft of N)B.add(ft);}break}default:y[x]+=this.leafGroupMeasures[V];break}b[x]+=1;}}}K!==null&&(K[o+1]=$);}for(let o=0;o<p;o++)for(let S=0;S<h;S++){let A=o*h+S;switch(G[S]){case "avg":y[A]=D[A]>0?y[A]/D[A]:0;break;case "min":y[A]=E[A]!==1/0?E[A]:0;break;case "max":y[A]=W[A]!==-1/0?W[A]:0;break;case "distinct":{let O=J.get(A);y[A]=O?O.size:0;break}}}let it=v.slice(0,p),L=y.slice(0,p*h),st=b.slice(0,p*h),f=(o,S,A,O,tt)=>{let U=[];for(let j=0;j<O.length;j++)U[j]=O[j]?.id||"";let ot=j=>{let at=o.childrenMap.get(j);if(!at)return [];let et=[];for(let P of at.values())if(S[P]){let k=o.nodeToDepth[P]-1,x=A[P]===1;et.push({key:tt[P],value:this.dictionary[o.nodeToVal[P]],fieldId:U[k]||"",children:x?ot(P):[],isExpanded:x,isTotal:false,depth:k,hasChildren:o.nodeChildCount[P]>0});}return et};return ot(0)},F;if(this.rowGroupOf!==null&&K!==null&&T!==null){let o=this.storedRowCount,S={};for(let A=0;A<h;A++){if(G[A]!=="custom")continue;let O=this.dataFields[A].id;S[O]=this.storedColumns[O].array.slice(0,o);}F={rowGroupOf:this.rowGroupOf.slice(0,o),groupCellOffsets:K,groupCells:T.slice(0,$),values:S};}let g=f(this.rowTrie,w,r,this.rowFields,e),H=f(this.colTrie,C,l,this.colFields,n);return {id:t.id,rowTree:g,colTree:H,cellMatrix:{keys:it,sums:L,counts:st},customSummary:F,rowIndexMap:this.rowIndexMapCache,columnIndexMap:this.columnIndexMapCache,cardinalityMap:this.cardinalityMap,indexMapsVersion:this.buildVersion}}};var q=new lt,dt=-1;self.onmessage=z=>{let t=z.data;try{if(t.action==="init")q.init(t),self.postMessage({id:t.id,isInitComplete:!0});else if(t.action==="initStart")q.initStart(t);else if(t.action==="initChunk")q.initChunk(t);else if(t.action==="initEnd")q.initEnd(),self.postMessage({id:t.id,isInitComplete:!0});else if(t.action==="filter")q.applyFilter(t),self.postMessage({id:t.id,isFilterComplete:!0});else if(t.action==="reconfigure")q.reconfigure(t),self.postMessage({id:t.id,isReconfigureComplete:!0});else if(t.action==="transaction")self.postMessage({id:t.id,isTransactionComplete:!0,rowCount:q.applyTransaction(t)});else if(t.action==="compute"){let e=q.compute(t),n=[e.cellMatrix.keys.buffer,e.cellMatrix.sums.buffer,e.cellMatrix.counts.buffer];if(e.indexMapsVersion!==void 0&&e.indexMapsVersion===dt){let r={...e,rowIndexMap:void 0,columnIndexMap:void 0,cardinalityMap:void 0,indexMapsOmitted:!0};postMessage(r,n);}else e.indexMapsVersion!==void 0&&(dt=e.indexMapsVersion),postMessage(e,n);}}catch(e){self.postMessage({id:t.id,error:e instanceof Error?e.message:String(e)});}};',wu='self.onmessage=async n=>{let{type:e,chunkId:c,chunk:s,fields:a,format:t,isFirstChunk:r,isLastChunk:o,locale:i}=n.data;if(e==="process_chunk")try{if(t==="csv"){let l=w(s,a,r,i);self.postMessage({type:"chunk_done",chunkId:c,format:"csv",payload:l});}else if(t==="excel-xml"){let l=T(s,a,r,o,i);self.postMessage({type:"chunk_done",chunkId:c,format:"excel-xml",payload:l});}}catch(l){self.postMessage({type:"error",chunkId:c,error:l instanceof Error?l.message:String(l)});}};var y=new Map,S=new Map;function h(n){if(!n||typeof n!="object")return false;let e=n;return "year"in e||"month"in e||"day"in e||"weekday"in e||"hour"in e||"minute"in e||"second"in e||"dateStyle"in e||"timeStyle"in e}var k={year:"numeric",month:"2-digit",day:"2-digit"};function x(n,e,c){let s=n instanceof Date?n:new Date(n);if(isNaN(s.getTime()))return String(n);try{let a=h(e?.format)?e.format:k,t=JSON.stringify(a)+"_"+c,r=S.get(t);return r||(r=new Intl.DateTimeFormat(c,a),S.set(t,r)),r.format(s)}catch{return String(n)}}function d(n,e,c="tr-TR"){if(n==null)return "";if(e?.dataType==="date"&&n!=="")return x(n,e,c);if(e&&e.format&&typeof n=="number")try{let s=e.format,a=JSON.stringify(s)+"_"+c,t=y.get(a);t||(t=new Intl.NumberFormat(c,s),y.set(a,t));let r=t.format(n);return s.isCustom&&(s.prefix||s.suffix)?`${s.prefix||""}${r}${s.suffix||""}`:r}catch{return String(n)}return String(n)}function w(n,e,c,s){let a="",t=e.map(r=>{let o=r.dataField||r.id;return typeof o=="string"?o:null});if(c){let r=e.map(o=>o.caption||o.id);a+=r.map(F).join(",")+`\n`;}for(let r of n){let o=new Array(t.length);for(let i=0;i<t.length;i++){let l=t[i],f=l?r[l]??"":"",u=d(f,e[i],s);typeof f=="string"&&(u=D(u)),o[i]=u;}a+=o.map(F).join(",")+`\n`;}return a}function D(n){return n.length>0&&/^[=+\\-@\\t\\r]/.test(n)?"\'"+n:n}function F(n){if(n==null)return "";let e=String(n);return e.includes(",")||e.includes(\'"\')||e.includes(`\n`)?`"${e.replace(/"/g,\'""\')}"`:e}function T(n,e,c,s,a){let t="",r=e.map(o=>{let i=o.dataField||o.id;return typeof i=="string"?i:null});c&&(t+=`<?xml version="1.0" encoding="UTF-8"?>\n`,t+=`<?mso-application progid="Excel.Sheet"?>\n`,t+=`<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">\n`,t+=` <Styles>\n`,t+=` <Style ss:ID="HeaderStyle">\n`,t+=` <Font ss:Bold="1" ss:Color="#FFFFFF"/>\n`,t+=` <Interior ss:Color="#4F81BD" ss:Pattern="Solid"/>\n`,t+=` </Style>\n`,t+=` </Styles>\n`,t+=` <Worksheet ss:Name="Data">\n`,t+=` <Table>\n`,t+=` <Row>\n`,e.forEach(o=>{t+=` <Cell ss:StyleID="HeaderStyle"><Data ss:Type="String">${g(o.caption||o.id||"")}</Data></Cell>\n`;}),t+=` </Row>\n`);for(let o of n){t+=` <Row>\n`;for(let i=0;i<r.length;i++){let l=r[i],f=l?o[l]:void 0,u=e[i],m="String",p="";if(f==null||f===""){t+=` <Cell></Cell>\n`;continue}else u?.dataType==="date"?(m="String",p=g(d(f,u,a))):typeof f=="number"?u&&u.format?(p=g(d(f,u,a)),m="String"):(m="Number",p=String(f)):(m="String",p=g(String(f)));t+=` <Cell><Data ss:Type="${m}">${p}</Data></Cell>\n`;}t+=` </Row>\n`;}return s&&(t+=` </Table>\n`,t+=` </Worksheet>\n`,t+="</Workbook>"),t}function g(n){return n?n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/\'/g,"'"):""}',bu='function T(e){return e.charCodeAt(0)===65279?e.slice(1):e}function S(e){return typeof e.text=="function"?e.text():new Promise((t,n)=>{let r=new FileReader;r.onload=i=>t(i.target?.result??""),r.onerror=()=>n(new Error("Dosya okuma hatas\\u0131.")),r.readAsText(e,"utf-8");})}function N(e){let t=[",",";"," ","|"],n=T(e).split(/\\r\\n|\\r|\\n/).filter(s=>s.length>0).slice(0,5);if(n.length===0)return ",";let r=",",i=-1;for(let s of t){let a=n.map(d=>B(d,s)),o=a.reduce((d,f)=>d+f,0);if(o===0)continue;let l=a[0],u=a.every(d=>d===l),c=o+(u?100:0)+l*10;c>i&&(i=c,r=s);}return r}function B(e,t){let n=0,r=false;for(let i=0;i<e.length;i++){let s=e[i];if(s===\'"\'){if(r&&e[i+1]===\'"\'){i++;continue}r=!r;}else !r&&s===t&&n++;}return n}function X(e,t,n){let r=T(e),i=t||N(r),s=[],a="",o=[],l=false,u=false,c=r.length,d=n?Math.max(1<<18,Math.ceil(c/100)):0,f=d;for(let g=0;g<r.length;g++){d&&g>=f&&(n(g/c),f+=d);let p=r[g];if(l){p===\'"\'?r[g+1]===\'"\'?(a+=\'"\',g++):l=false:a+=p;continue}p===\'"\'?(l=true,u=true):p===i?(o.push(a),a="",u=true):p===`\n`||p==="\\r"?(p==="\\r"&&r[g+1]===`\n`&&g++,o.push(a),s.push(o),o=[],a="",u=false):(a+=p,u=true);}return (u||a.length>0||o.length>0)&&(o.push(a),s.push(o)),n&&n(1),s}var A=new Set(["true","yes","evet","do\\u011Fru","dogru"]),F=new Set(["false","no","hay\\u0131r","hayir","yanl\\u0131\\u015F","yanlis"]);function z(e){let t=e.trim().toLowerCase();return A.has(t)||F.has(t)}function Y(e){if(typeof e=="boolean")return e;let t=String(e).trim().toLowerCase();return A.has(t)||t==="1"||t==="y"||t==="on"?true:F.has(t)||t==="0"||t==="n"||t==="off"?false:null}function K(e){return /^0\\d+$/.test(e)}var H=/[\u20BA$\u20AC\xA3\xA5]/g,Z=/[\\s\xA0\u202F]/g;function _(e){if(typeof e=="number")return isNaN(e)?null:e;let t=String(e).trim();if(!t)return null;t=t.replace(Z,"").replace(H,"");let n=false;t.endsWith("%")&&(n=true,t=t.slice(0,-1));let r=false;if(/^\\(.*\\)$/.test(t)&&(r=true,t=t.slice(1,-1)),!/^[+-]?[0-9.,]*[0-9][0-9.,]*$/.test(t))return null;let i=t.includes("."),s=t.includes(",");if(i&&s)t.lastIndexOf(",")>t.lastIndexOf(".")?t=t.replace(/\\./g,"").replace(",","."):t=t.replace(/,/g,"");else if(s){let o=t.split(",");o.length===2&&o[1].length!==3?t=t.replace(",","."):t=t.replace(/,/g,"");}else i&&t.split(".").length>2&&(t=t.replace(/\\./g,""));let a=Number(t);return isNaN(a)?null:(r&&(a=-a),n&&(a=a/100),a)}var U=/^\\d{4}-\\d{2}-\\d{2}([ T]\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:?\\d{2})?)?$/,V=/^(\\d{4})[/.](\\d{1,2})[/.](\\d{1,2})$/,Q=/^(\\d{1,2})[/.\\-](\\d{1,2})[/.\\-](\\d{4})$/;function D(e){if(e instanceof Date)return isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;if(U.test(t)){let i=new Date(t.replace(" ","T"));return isNaN(i.getTime())?null:i}let n=V.exec(t);if(n){let i=new Date(+n[1],+n[2]-1,+n[3]);return C(i,+n[1],+n[2],+n[3])?i:null}let r=Q.exec(t);if(r){let i=+r[1],s=+r[2],a=+r[3],o,l;i>12&&s<=12?(o=i,l=s):s>12&&i<=12?(o=s,l=i):(o=i,l=s);let u=new Date(a,l-1,o);return C(u,a,l,o)?u:null}return null}function C(e,t,n,r){return !isNaN(e.getTime())&&e.getFullYear()===t&&e.getMonth()===n-1&&e.getDate()===r}function G(e){if(e==null||e==="")return "blank";if(typeof e=="boolean")return "boolean";if(typeof e=="number")return isNaN(e)?"blank":"number";if(e instanceof Date)return isNaN(e.getTime())?"blank":"date";let t=String(e).trim();return t===""?"blank":z(t)?"boolean":K(t)?"string":D(t)?"date":_(t)!==null?"number":"string"}function x(e){let t={string:0,number:0,date:0,boolean:0};for(let i of e){let s=G(i);s!=="blank"&&t[s]++;}let n="string",r=0;return Object.keys(t).forEach(i=>{t[i]>r&&(r=t[i],n=i);}),n}function v(e,t){if(e==null||e==="")return null;switch(t){case "number":return _(e);case "date":return D(e)??(e instanceof Date?e:null);case "boolean":return Y(e);default:return e}}var E=new Set(["__proto__","constructor","prototype"]);function y(e){return E.has(e)?`${e}_`:e}function M(e){let t=false;for(let n of e)if(!(!n||typeof n!="object")){for(let r of Object.keys(n))if(E.has(r)){t=true;break}if(t)break}return t?e.map(n=>{if(!n||typeof n!="object")return n;let r={};for(let i of Object.keys(n))r[y(i)]=n[i];return r}):e}var O=200,I=2e4;function q(e){let t=new Map;return e.map(n=>{let r=t.get(n)??0;return t.set(n,r+1),y(r===0?n:`${n}_${r+1}`)})}function P(e,t){if(e.length===0)return [];let n=[],r=new Set,i=Math.min(e.length,500);for(let o=0;o<i;o++){let l=e[o];if(!(!l||typeof l!="object"))for(let u of Object.keys(l))r.has(u)||(r.add(u),n.push(u));}let s=new Map;for(let o of n){let l=[];for(let u=0;u<e.length&&l.length<O;u++){let c=e[u]?.[o];c!=null&&String(c).trim()!==""&&l.push(c);}s.set(o,x(l));}let a=new Array(e.length);for(let o=0;o<e.length;o++){let l=e[o]||{},u={};for(let c of n){let d=l[c];u[y(c)]=d==null||d===""?null:v(d,s.get(c));}a[o]=u;}return a}function $(e,t){let n=T(e);if(!n.trim())return [];let r=N(n),i=X(n,r,t?c=>t({phase:"parsing",percent:Math.round(c*60)}):void 0);if(i.length===0)return [];let s=0;for(;s<i.length&&i[s].every(c=>c.trim()==="");)s++;if(s>=i.length)return [];let a=q(i[s].map((c,d)=>c.trim()||`Column${d+1}`)),o=i.slice(s+1).filter(c=>!(c.length===1&&c[0].trim()==="")),l=a.map((c,d)=>{let f=[];for(let g=0;g<o.length&&f.length<O;g++){let p=o[g][d];p!==void 0&&p.trim()!==""&&f.push(p);}return x(f)}),u=new Array(o.length);for(let c=0;c<o.length;c++){let d=o[c],f={};for(let g=0;g<a.length;g++){let p=d[g];f[a[g]]=p===void 0||p===""?null:v(p,l[g]);}u[c]=f,t&&c>0&&c%I===0&&t({phase:"typing",percent:60+Math.round(c/o.length*40)});}return t&&t({phase:"typing",percent:100}),u}var b=class e{supports(t){return t.name.split(".").pop()?.toLowerCase()==="xml"||t.type==="application/xml"||t.type==="text/xml"}async read(t){let n=await S(t);return e.parse(n)}static parse(t){if(!t||!t.trim())return [];let n=J(t),i=et(n).map(nt).filter(s=>Object.keys(s).length>0);return P(i)}};function J(e){let t={tag:"#root",attrs:{},children:[],text:"",parent:null},n=t,r=0,i=e.length;for(;r<i;){let s=e.indexOf("<",r);if(s===-1){n.text+=e.slice(r);break}if(s>r&&(n.text+=e.slice(r,s)),e.startsWith("<!--",s)){let f=e.indexOf("-->",s+4);r=f===-1?i:f+3;continue}if(e.startsWith("<![CDATA[",s)){let f=e.indexOf("]]>",s+9);n.text+=e.slice(s+9,f===-1?i:f),r=f===-1?i:f+3;continue}if(e.startsWith("<?",s)){let f=e.indexOf("?>",s+2);r=f===-1?i:f+2;continue}if(e.startsWith("<!",s)){let f=e.indexOf(">",s+2);r=f===-1?i:f+1;continue}let a=e.indexOf(">",s+1);if(a===-1)break;let o=e.slice(s+1,a).trim();if(o.startsWith("/")){let f=o.slice(1).trim(),g=n;for(;g&&g.tag!==f;)g=g.parent;g&&g.parent&&(n=g.parent),r=a+1;continue}let l=o.endsWith("/");l&&(o=o.slice(0,-1).trim());let{name:u,attrs:c}=tt(o),d={tag:u,attrs:c,children:[],text:"",parent:n};n.children.push(d),l||(n=d),r=a+1;}return t}var j=/([^\\s=/]+)\\s*=\\s*(?:"([^"]*)"|\'([^\']*)\')/g;function tt(e){let t=e.search(/\\s/),n=(t===-1?e:e.slice(0,t)).trim(),r={};if(t!==-1){let i=e.slice(t+1),s;for(j.lastIndex=0;(s=j.exec(i))!==null;)r[s[1]]=R(s[2]??s[3]??"");}return {name:n,attrs:r}}function et(e){let t=e.children[0];if(!t)return [];let n=t.children;return n.length===0?[]:n.some(i=>i.children.length>0||Object.keys(i.attrs).length>0)?n:[t]}function nt(e){let t={},n=new Map,r=(i,s)=>{let a=i||"value",o=n.get(a)??0;n.set(a,o+1),t[y(o===0?a:`${a}_${o+1}`)]=s;};for(let[i,s]of Object.entries(e.attrs))r(i,s);if(e.children.length===0){let i=e.text.trim();i&&r(e.tag,R(i));}else for(let i of e.children)r(i.tag,R(W(i).trim()));return t}function W(e){if(e.children.length===0)return e.text;let t=e.text;for(let n of e.children)t+=W(n);return t}var rt=/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,it={amp:"&",lt:"<",gt:">",quot:\'"\',apos:"\'",nbsp:"\\xA0"};function R(e){return e.indexOf("&")===-1?e:e.replace(rt,(t,n)=>{if(n[0]==="#"){let r=n[1]==="x"||n[1]==="X"?parseInt(n.slice(2),16):parseInt(n.slice(1),10);return Number.isFinite(r)?String.fromCodePoint(r):t}return it[n]??t})}var h=class{static extractFieldsFromData(t,n=50){if(!t||t.length===0)return [];let r=[],i=Math.max(n,50),s=this.collectKeys(t,i),a=false,o=false;return s.forEach(l=>{let u=this.inferType(t,l,n),c="chooser";!a&&this.isAutoRowCandidate(t,l,u,i)?(c="row",a=true):!o&&this.isAutoDataCandidate(l,u)&&(c="data",o=true);let d={id:`f_${l}`,dataField:l,caption:this.formatCaption(l),dataType:u,area:c,areaIndex:0};u==="number"?d.summaryType="sum":u==="date"&&(d.groupInterval="month"),r.push(d);}),r}static buildFieldsFromPlan(t,n,r=50){let i=[],s=false,a=false,o=Math.max(r,50);for(let l of t){let u="chooser";!s&&this.isAutoRowCandidate(n,l.dataField,l.dataType,o)?(u="row",s=true):!a&&this.isAutoDataCandidate(l.dataField,l.dataType)&&(u="data",a=true);let c={id:`f_${l.dataField}`,dataField:l.dataField,caption:l.caption,dataType:l.dataType,area:u,areaIndex:0};l.dataType==="number"?c.summaryType="sum":l.dataType==="date"&&(c.groupInterval="month"),i.push(c);}return i}static isAutoRowCandidate(t,n,r,i){return !(n.startsWith("__EMPTY")||r!=="string"&&r!=="date"||this.isIdentifierLikeKey(n)||r==="string"&&t&&this.isHighCardinalityStringColumn(t,n,i))}static isAutoDataCandidate(t,n){return n==="number"&&!t.startsWith("__EMPTY")&&!this.isIdentifierLikeKey(t)}static isHighCardinalityStringColumn(t,n,r){let i=Math.min(t.length,r),s=new Set,a=0;for(let o=0;o<i;o++){let l=t[o]?.[n];l==null||l===""||(a++,s.add(String(l)));}return a<20?false:s.size/a>=.9}static isIdentifierLikeKey(t){let n=t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),r=n.replace(/[^a-z0-9]/g,"");return r==="id"||r==="uuid"||r==="guid"||r==="key"?true:/(^|[\\s_.-])(id|uuid|guid|key)($|[\\s_.-])/.test(n)}static collectKeys(t,n){let r=[],i=new Set,s=Math.min(t.length,n);for(let a=0;a<s;a++){let o=t[a];if(!(!o||typeof o!="object"))for(let l of Object.keys(o))i.has(l)||(i.add(l),r.push(l));}return r}static inferType(t,n,r){let i=Math.min(t.length,r),s=new Array(i);for(let a=0;a<i;a++)s[a]=t[a]?.[n];return x(s)}static formatCaption(t){return t.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,n=>n.toUpperCase()).trim()}};var k=self;k.onmessage=async e=>{let t=e.data;if(!t||t.type!=="parse")return;let{jobId:n,kind:r,file:i}=t;try{if(r==="csv"){m(n,"reading",3);let s=await i.text(),a=$(s,l=>{m(n,l.phase,5+Math.round(l.percent*.92));});m(n,"finalizing",98);let o=h.extractFieldsFromData(a);w(n,{mode:"data",data:a,fields:o});return}if(r==="xml"){m(n,"reading",10);let s=await i.text();m(n,"parsing",50);let a=b.parse(s);m(n,"finalizing",90);let o=h.extractFieldsFromData(a);w(n,{mode:"data",data:a,fields:o});return}if(r==="json"){m(n,"reading",10);let s=await i.text();m(n,"parsing",45);let a=JSON.parse(s);if(Array.isArray(a)){m(n,"finalizing",90);let o=M(a),l=h.extractFieldsFromData(o);w(n,{mode:"data",data:o,fields:l});}else w(n,{mode:"raw",value:a});return}L(n,`Desteklenmeyen i\\xE7e aktarma t\\xFCr\\xFC: ${String(r)}`);}catch(s){L(n,s instanceof Error?s.message:String(s));}};function m(e,t,n){k.postMessage({type:"progress",jobId:e,phase:t,percent:n});}function w(e,t){k.postMessage({type:"done",jobId:e,payload:t});}function L(e,t){k.postMessage({type:"error",jobId:e,message:t});}';var Pu={pivot:Au,export:wu,import:bu},Su={};function ho(r){return Pu[r].length>0}function go(r){let e=Su[r];if(e)return e;if(!ho(r))throw new Error(`[pivotgrid] this build carries no embedded ${r} worker (the build step that inlines it did not run).`);if(typeof Blob>"u"||typeof URL?.createObjectURL!="function")throw new Error("[pivotgrid] Blob URLs are unavailable, so the embedded worker cannot start.");let t=URL.createObjectURL(new Blob([Pu[r]],{type:"text/javascript"}));return Su[r]=t,t}function ye(r,e){try{return new Worker(go(r),{type:"module"})}catch{return new Worker(e(),{type:"module"})}}var Fe=class r{static jobCounter=0;static isSupported(){return typeof Worker<"u"}parseFile(e,t,u={}){let{onProgress:o,signal:i}=u;return new Promise((n,s)=>{let a;try{a=ye("import",()=>{let m=()=>"./import.worker.js";return new URL(m(),import.meta.url)});}catch(m){s(m instanceof Error?m:new Error(String(m)));return}let l=`imp_${++r.jobCounter}`,d=false,p=()=>{try{a.terminate();}catch{}i?.removeEventListener("abort",c);},c=()=>{d||(d=true,p(),s(new DOMException("Import aborted","AbortError")));};if(i){if(i.aborted){c();return}i.addEventListener("abort",c);}a.onmessage=m=>{let f=m.data;if(!(!f||f.jobId!==l)){if(f.type==="progress")o?.({phase:f.phase,percent:f.percent});else if(f.type==="done"){if(d)return;d=true,p(),n(f.payload);}else if(f.type==="error"){if(d)return;d=true,p(),s(new Error(f.message||"Import worker error"));}}},a.onerror=m=>{d||(d=true,p(),s(new Error(`Import worker error: ${m.message||"unknown"}`)));},a.postMessage({type:"parse",jobId:l,kind:t,file:e});})}};var Co=500*1024*1024,vo={version:"1.0.0",type:"DATA_ONLY",timestamp:"",data:[],fields:[]},ke=class{readers=[new Re,new Ye,new Ie,new Xe];maxFileSizeBytes;stream=new Fe;constructor(e){this.maxFileSizeBytes=e?.maxFileSizeBytes??Co;}async processFile(e){this.assertSize(e);let t=this.readers.find(o=>o.supports(e));if(!t)throw new Error("Desteklenmeyen dosya format\u0131.");let u=await t.read(e);return this.buildFromContent(u)}async processFileStreaming(e,t={}){let{onProgress:u,signal:o}=t;if(this.assertSize(e),o?.aborted)return this.cancelledResult();let i=this.workerKind(e);if(i&&Fe.isSupported())try{let a=await this.stream.parseFile(e,i,{onProgress:u,signal:o});return a.mode==="data"?this.buildDataResult(a.data,a.fields):this.buildFromContent(a.value)}catch(a){return this.isAbort(a)||o?.aborted?this.cancelledResult():this.processFile(e)}u?.({phase:"parsing",percent:10});let n=this.readers.find(a=>a.supports(e));if(!n)throw new Error("Desteklenmeyen dosya format\u0131.");if(o?.aborted)return this.cancelledResult();let s=await n.read(e);return o?.aborted?this.cancelledResult():(u?.({phase:"finalizing",percent:100}),this.buildFromContent(s))}async processFromData(e,t={}){return t.signal?.aborted?this.cancelledResult():(t.onProgress?.({phase:"finalizing",percent:100}),this.buildDataResult(Array.isArray(e)?e:[]))}async processFromText(e,t={}){if(t.signal?.aborted)return this.cancelledResult();t.onProgress?.({phase:"parsing",percent:20});let u=Te(e);return t.signal?.aborted?this.cancelledResult():(t.onProgress?.({phase:"finalizing",percent:100}),this.buildDataResult(u))}async processFromUrl(e,t={}){let{onProgress:u,signal:o,fetchInit:i}=t;if(o?.aborted)return this.cancelledResult();u?.({phase:"reading",percent:2});let n;try{n=await fetch(e,{...i,signal:o});}catch(p){if(this.isAbort(p)||o?.aborted)return this.cancelledResult();throw new Error(`URL getirilemedi: ${p instanceof Error?p.message:String(p)}`)}if(!n.ok)throw new Error(`URL getirilemedi (HTTP ${n.status} ${n.statusText}).`);let s=await n.blob(),a=n.headers.get("content-type")||s.type||"",l=yo(e,a),d=new File([s],l,{type:s.type||a});return this.processFileStreaming(d,{onProgress:u,signal:o})}async processFiles(e,t={}){let u=Array.from(e);if(u.length===0)return this.buildDataResult([]);if(u.length===1)return this.processFileStreaming(u[0],t);let{onProgress:o,signal:i}=t,n=[],s=new Set;for(let l=0;l<u.length;l++){if(i?.aborted)return this.cancelledResult();let d=await this.processFileStreaming(u[l],{signal:i,onProgress:p=>o?.({phase:p.phase,percent:Math.round((l+p.percent/100)/u.length*100)})});if(d.cancelled)return this.cancelledResult();Array.isArray(d.snapshot?.data)&&n.push(...d.snapshot.data),d.validation.warnings.forEach(p=>s.add(p));}let a=this.buildDataResult(n);return s.forEach(l=>{a.validation.warnings.includes(l)||a.validation.warnings.push(l);}),a}assertSize(e){if(this.maxFileSizeBytes>0&&e.size>this.maxFileSizeBytes){let t=(this.maxFileSizeBytes/1048576).toFixed(0);throw new Error(`Dosya \xE7ok b\xFCy\xFCk (limit: ${t} MB). L\xFCtfen daha k\xFC\xE7\xFCk bir dosya y\xFCkleyin veya limiti art\u0131r\u0131n.`)}}workerKind(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="csv"||t==="tsv"||t==="txt"||e.type==="text/csv"||e.type==="text/tab-separated-values"?"csv":t==="json"||e.type==="application/json"?"json":t==="xml"||e.type==="application/xml"||e.type==="text/xml"?"xml":null}isAbort(e){return e instanceof DOMException&&e.name==="AbortError"}cancelledResult(){return {snapshot:vo,validation:{isValid:false,errors:[],warnings:[]},cancelled:true}}buildFromContent(e){if(Array.isArray(e))return this.buildDataResult(e);let t=e,u=ve.validateSnapshot(t);if(t.data&&t.fields){let o=ve.validateDataAgainstFields(t.data,t.fields);u.warnings.push(...o.warnings);}return {snapshot:t,validation:u}}buildDataResult(e,t){let u=mt(e),o=t??pe.extractFieldsFromData(u),i={version:"1.0.0",type:"DATA_ONLY",timestamp:new Date().toISOString(),data:u,fields:o},n=ve.validateSnapshot(i);return o.some(a=>a.dataField?.toString().startsWith("__EMPTY"))&&n.warnings.push('Bu dosya ham veri (Raw Data) de\u011Fil, g\xF6rsel "Pivot View" format\u0131nda d\u0131\u015Fa aktar\u0131lm\u0131\u015F bir Excel gibi g\xF6r\xFCn\xFCyor. PivotGrid yaln\u0131zca d\xFCz liste (List View) \u015Feklindeki verileri anlamland\u0131rabilir. Bu nedenle veriler bozuk g\xF6r\xFCnebilir.'),{snapshot:i,validation:n}}};function yo(r,e){let t="download";try{let n=new URL(r,"http://localhost").pathname.split("/").filter(Boolean).pop();n&&(t=n);}catch{}if(/\.(csv|tsv|txt|json|xml|xlsx|xls)$/i.test(t))return t;let u=e.toLowerCase(),o="csv";return u.includes("json")?o="json":u.includes("xml")?o="xml":u.includes("spreadsheet")||u.includes("excel")||u.includes("officedocument")?o="xlsx":u.includes("tab-separated")?o="tsv":u.includes("csv")&&(o="csv"),`${t}.${o}`}var Je=class{handlers={};on(r,e){let t=this.handlers[r]??new Set;return t.add(e),this.handlers[r]=t,()=>this.off(r,e)}off(r,e){this.handlers[r]?.delete(e);}emit(r,e){let t=this.handlers[r];t&&t.forEach(u=>u(e));}clear(){this.handlers={};}},Ru=class{plugins=new Map;register(r){this.plugins.has(r.id)&&console.warn(`[PivotGrid Warning]: Plugin '${r.id}' is being overwritten in the registry.`),this.plugins.set(r.id,r);}unregister(r){this.plugins.delete(r);}get(r){return this.plugins.get(r)}getPluginsByType(r){return Array.from(this.plugins.values()).filter(e=>e.type===r)}resolveSafe(r,e){let t=this.plugins.get(r);return !t||!t.execute?(console.warn(`[PivotGrid Warning]: Plugin ID '${r}' not found or missing 'execute' function. Using fallback behavior.`),e==="expression"?()=>0:u=>0):t.execute}getWorkerBootstrapPayload(){let r=[];for(let e of this.plugins.values())e.workerCode&&r.push({id:e.id,type:e.type,workerCode:e.workerCode});return r}registerAggregator(r,e,t){this.register({id:r,type:"aggregator",version:t,aggregate:e,execute:e});}registerExporter(r,e,t){this.register({id:`exporter-${r}`,type:"exporter",version:t,exportFunction:e});}registerCellRenderer(r,e,t){this.register({id:r,type:"cellRender",version:t,renderCell:e});}registerHeaderRenderer(r,e,t){this.register({id:r,type:"headerRender",version:t,renderHeader:e});}getExporters(){return this.getPluginsByType("exporter")}getCellRenderers(){return this.getPluginsByType("cellRender")}getAggregators(){return this.getPluginsByType("aggregator")}getHeaderRenderers(){return this.getPluginsByType("headerRender")}},Iu=class{static start(r,e,t){return {range:{startRow:r,startColumn:e,endRow:r,endColumn:e},isSelecting:true,mode:t}}static extend(r,e,t,u){return !r||!r.isSelecting||r.mode!==u?r:{...r,range:{...r.range,endRow:e,endColumn:t}}}static finish(r){return r?{...r,isSelecting:false}:null}static containsCell(r,e,t){if(!r)return false;let u=this.getBounds(r.range);return e>=u.minRow&&e<=u.maxRow&&t>=u.minColumn&&t<=u.maxColumn}static calculateStats(r,e){if(!r||r.mode!=="data")return null;let t=this.getBounds(r.range),u=0,o=0,i=1/0,n=-1/0;for(let s=t.minRow;s<=t.maxRow;s++)for(let a=t.minColumn;a<=t.maxColumn;a++){let l=e(s,a);typeof l!="number"||Number.isNaN(l)||(u+=l,o++,l<i&&(i=l),l>n&&(n=l));}return o>0?{sum:u,count:o,avg:u/o,min:i,max:n}:null}static toTsv(r,e){if(!r)return "";let t=this.getBounds(r.range),u=[];for(let o=t.minRow;o<=t.maxRow;o++){let i=[];for(let n=t.minColumn;n<=t.maxColumn;n++)i.push(e(o,n).replace(/\n/g," "));u.push(i.join(" "));}return u.length>0?`${u.join(`
|
|
3
|
+
`&&m++,s.push(n),i.push(s),s=[],n="",l=false):(n+=f,l=true);}return (l||n.length>0||s.length>0)&&(s.push(n),i.push(s)),t&&t(1),i}var fu=new Set(["true","yes","evet","do\u011Fru","dogru"]),hu=new Set(["false","no","hay\u0131r","hayir","yanl\u0131\u015F","yanlis"]);function ro(r){let e=r.trim().toLowerCase();return fu.has(e)||hu.has(e)}function gu(r){if(typeof r=="boolean")return r;let e=String(r).trim().toLowerCase();return fu.has(e)||e==="1"||e==="y"||e==="on"?true:hu.has(e)||e==="0"||e==="n"||e==="off"?false:null}function oo(r){return /^0\d+$/.test(r)}var io=/[₺$€£¥]/g,no=/[\s ]/g;function pt(r){if(typeof r=="number")return isNaN(r)?null:r;let e=String(r).trim();if(!e)return null;e=e.replace(no,"").replace(io,"");let t=false;e.endsWith("%")&&(t=true,e=e.slice(0,-1));let u=false;if(/^\(.*\)$/.test(e)&&(u=true,e=e.slice(1,-1)),!/^[+-]?[0-9.,]*[0-9][0-9.,]*$/.test(e))return null;let o=e.includes("."),i=e.includes(",");if(o&&i)e.lastIndexOf(",")>e.lastIndexOf(".")?e=e.replace(/\./g,"").replace(",","."):e=e.replace(/,/g,"");else if(i){let s=e.split(",");s.length===2&&s[1].length!==3?e=e.replace(",","."):e=e.replace(/,/g,"");}else o&&e.split(".").length>2&&(e=e.replace(/\./g,""));let n=Number(e);return isNaN(n)?null:(u&&(n=-n),t&&(n=n/100),n)}var ao=/^\d{4}-\d{2}-\d{2}([ T]\d{2}:\d{2}(:\d{2})?(\.\d+)?(Z|[+-]\d{2}:?\d{2})?)?$/,so=/^(\d{4})[/.](\d{1,2})[/.](\d{1,2})$/,lo=/^(\d{1,2})[/.\-](\d{1,2})[/.\-](\d{4})$/;function mt(r){if(r instanceof Date)return isNaN(r.getTime())?null:r;let e=String(r).trim();if(!e)return null;if(ao.test(e)){let o=new Date(e.replace(" ","T"));return isNaN(o.getTime())?null:o}let t=so.exec(e);if(t){let o=new Date(+t[1],+t[2]-1,+t[3]);return pu(o,+t[1],+t[2],+t[3])?o:null}let u=lo.exec(e);if(u){let o=+u[1],i=+u[2],n=+u[3],s,a;o>12&&i<=12?(s=o,a=i):i>12&&o<=12?(s=i,a=o):(s=o,a=i);let l=new Date(n,a-1,s);return pu(l,n,a,s)?l:null}return null}function pu(r,e,t,u){return !isNaN(r.getTime())&&r.getFullYear()===e&&r.getMonth()===t-1&&r.getDate()===u}function Cu(r){if(r==null||r==="")return "blank";if(typeof r=="boolean")return "boolean";if(typeof r=="number")return isNaN(r)?"blank":"number";if(r instanceof Date)return isNaN(r.getTime())?"blank":"date";let e=String(r).trim();return e===""?"blank":ro(e)?"boolean":oo(e)?"string":mt(e)?"date":pt(e)!==null?"number":"string"}function Be(r){let e={string:0,number:0,date:0,boolean:0};for(let o of r){let i=Cu(o);i!=="blank"&&e[i]++;}let t="string",u=0;return Object.keys(e).forEach(o=>{e[o]>u&&(u=e[o],t=o);}),t}function Te(r,e){if(r==null||r==="")return null;switch(e){case "number":return pt(r);case "date":return mt(r)??(r instanceof Date?r:null);case "boolean":return gu(r);default:return r}}var vu=new Set(["__proto__","constructor","prototype"]);function ve(r){return vu.has(r)?`${r}_`:r}function ft(r){let e=false;for(let t of r)if(!(!t||typeof t!="object")){for(let u of Object.keys(t))if(vu.has(u)){e=true;break}if(e)break}return e?r.map(t=>{if(!t||typeof t!="object")return t;let u={};for(let o of Object.keys(t))u[ve(o)]=t[o];return u}):r}var yu=200,Fu=2e4;function Eu(r){let e=new Map;return r.map(t=>{let u=e.get(t)??0;return e.set(t,u+1),ve(u===0?t:`${t}_${u+1}`)})}function ht(r,e){if(r.length===0)return [];let t=[],u=new Set,o=Math.min(r.length,500);for(let s=0;s<o;s++){let a=r[s];if(!(!a||typeof a!="object"))for(let l of Object.keys(a))u.has(l)||(u.add(l),t.push(l));}let i=new Map;for(let s of t){let a=[];for(let l=0;l<r.length&&a.length<yu;l++){let d=r[l]?.[s];d!=null&&String(d).trim()!==""&&a.push(d);}i.set(s,Be(a));}let n=new Array(r.length);for(let s=0;s<r.length;s++){let a=r[s]||{},l={};for(let d of t){let p=a[d];l[ve(d)]=p==null||p===""?null:Te(p,i.get(d));}n[s]=l,e&&s>0&&s%Fu===0&&e({phase:"typing",percent:Math.round(s/r.length*100)});}return e&&e({phase:"typing",percent:100}),n}function Re(r,e){let t=Ye(r);if(!t.trim())return [];let u=ct(t),o=mu(t,u,e?d=>e({phase:"parsing",percent:Math.round(d*60)}):void 0);if(o.length===0)return [];let i=0;for(;i<o.length&&o[i].every(d=>d.trim()==="");)i++;if(i>=o.length)return [];let n=Eu(o[i].map((d,p)=>d.trim()||`Column${p+1}`)),s=o.slice(i+1).filter(d=>!(d.length===1&&d[0].trim()==="")),a=n.map((d,p)=>{let c=[];for(let m=0;m<s.length&&c.length<yu;m++){let f=s[m][p];f!==void 0&&f.trim()!==""&&c.push(f);}return Be(c)}),l=new Array(s.length);for(let d=0;d<s.length;d++){let p=s[d],c={};for(let m=0;m<n.length;m++){let f=p[m];c[n[m]]=f===void 0||f===""?null:Te(f,a[m]);}l[d]=c,e&&d>0&&d%Fu===0&&e({phase:"typing",percent:60+Math.round(d/s.length*40)});}return e&&e({phase:"typing",percent:100}),l}var Xe=class{supports(e){return e.name.endsWith(".json")||e.type==="application/json"}async read(e){let t=await Ce(e);try{return JSON.parse(t)}catch(u){throw new Error("JSON parse hatas\u0131: "+u.message)}}};var Ze=class{supports(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="xlsx"||t==="xls"||t==="xlsm"||t==="xlsb"}async read(e){let t=await import('xlsx');return new Promise((u,o)=>{let i=new FileReader;i.onload=n=>{try{let s=new Uint8Array(n.target?.result),a=t.read(s,{type:"array",cellDates:!0});if(a.SheetNames.length===0){o(new Error("The Excel file contains no sheets."));return}let l=a.SheetNames[0],d=a.Sheets[l],p=t.utils.sheet_to_json(d,{defval:null,raw:!0});u(p);}catch(s){o(new Error("Excel parse error: "+s.message));}},i.onerror=()=>{o(new Error("File read error."));},i.readAsArrayBuffer(e);})}};var Ie=class r{supports(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="csv"||t==="tsv"||t==="txt"||e.type==="text/csv"||e.type==="text/tab-separated-values"}async read(e){let t=await Ce(e);return r.parse(t)}static parse(e){return Re(e)}};var ke=class r{supports(e){return e.name.split(".").pop()?.toLowerCase()==="xml"||e.type==="application/xml"||e.type==="text/xml"}async read(e){let t=await Ce(e);return r.parse(t)}static parse(e){if(!e||!e.trim())return [];let t=co(e),o=mo(t).map(fo).filter(i=>Object.keys(i).length>0);return ht(o)}};function co(r){let e={tag:"#root",attrs:{},children:[],text:"",parent:null},t=e,u=0,o=r.length;for(;u<o;){let i=r.indexOf("<",u);if(i===-1){t.text+=r.slice(u);break}if(i>u&&(t.text+=r.slice(u,i)),r.startsWith("<!--",i)){let c=r.indexOf("-->",i+4);u=c===-1?o:c+3;continue}if(r.startsWith("<![CDATA[",i)){let c=r.indexOf("]]>",i+9);t.text+=r.slice(i+9,c===-1?o:c),u=c===-1?o:c+3;continue}if(r.startsWith("<?",i)){let c=r.indexOf("?>",i+2);u=c===-1?o:c+2;continue}if(r.startsWith("<!",i)){let c=r.indexOf(">",i+2);u=c===-1?o:c+1;continue}let n=r.indexOf(">",i+1);if(n===-1)break;let s=r.slice(i+1,n).trim();if(s.startsWith("/")){let c=s.slice(1).trim(),m=t;for(;m&&m.tag!==c;)m=m.parent;m&&m.parent&&(t=m.parent),u=n+1;continue}let a=s.endsWith("/");a&&(s=s.slice(0,-1).trim());let{name:l,attrs:d}=po(s),p={tag:l,attrs:d,children:[],text:"",parent:t};t.children.push(p),a||(t=p),u=n+1;}return e}var xu=/([^\s=/]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;function po(r){let e=r.search(/\s/),t=(e===-1?r:r.slice(0,e)).trim(),u={};if(e!==-1){let o=r.slice(e+1),i;for(xu.lastIndex=0;(i=xu.exec(o))!==null;)u[i[1]]=gt(i[2]??i[3]??"");}return {name:t,attrs:u}}function mo(r){let e=r.children[0];if(!e)return [];let t=e.children;return t.length===0?[]:t.some(o=>o.children.length>0||Object.keys(o.attrs).length>0)?t:[e]}function fo(r){let e={},t=new Map,u=(o,i)=>{let n=o||"value",s=t.get(n)??0;t.set(n,s+1),e[ve(s===0?n:`${n}_${s+1}`)]=i;};for(let[o,i]of Object.entries(r.attrs))u(o,i);if(r.children.length===0){let o=r.text.trim();o&&u(r.tag,gt(o));}else for(let o of r.children)u(o.tag,gt(Au(o).trim()));return e}function Au(r){if(r.children.length===0)return r.text;let e=r.text;for(let t of r.children)e+=Au(t);return e}var ho=/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,go={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:"\xA0"};function gt(r){return r.indexOf("&")===-1?r:r.replace(ho,(e,t)=>{if(t[0]==="#"){let u=t[1]==="x"||t[1]==="X"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(u)?String.fromCodePoint(u):e}return go[t]??e})}var ye=class{static validateSnapshot(e){let t={isValid:true,errors:[],warnings:[]};return !e||typeof e!="object"?(t.isValid=false,t.errors.push("Ge\xE7ersiz dosya format\u0131. Snapshot nesnesi bulunamad\u0131."),t):(e.version||t.warnings.push("Snapshot versiyonu eksik. Geriye d\xF6n\xFCk uyumluluk garanti edilemez."),e.type||(t.isValid=false,t.errors.push("Snapshot t\xFCr\xFC (type) belirtilmemi\u015F.")),(e.type==="FULL_SNAPSHOT"||e.type==="LAYOUT_ONLY")&&((!e.fields||!Array.isArray(e.fields))&&(t.isValid=false,t.errors.push('Layout i\xE7in "fields" dizisi bulunamad\u0131.')),e.layout||t.warnings.push('"layout" yap\u0131land\u0131rmas\u0131 eksik, varsay\u0131lan de\u011Ferler kullan\u0131lacak.')),(e.type==="FULL_SNAPSHOT"||e.type==="DATA_ONLY")&&(!e.data||!Array.isArray(e.data))&&(t.isValid=false,t.errors.push('Veri i\xE7eri\u011Fi ("data") bulunamad\u0131 veya ge\xE7ersiz.')),t)}static validateDataAgainstFields(e,t){let u={isValid:true,errors:[],warnings:[]};if(e.length===0)return u.warnings.push("Veri seti bo\u015F."),u;let o=e[0],i=[];return t.forEach(n=>{!n.isCalculated&&n.dataField&&!(n.dataField in o)&&i.push(String(n.dataField));}),i.length>0&&u.warnings.push(`Baz\u0131 alanlar veri setinde bulunamad\u0131: ${i.join(", ")}. E\u015Fle\u015Ftirme (Mapping) gerekebilir.`),u}};var pe=class{static extractFieldsFromData(e,t=50){if(!e||e.length===0)return [];let u=[],o=Math.max(t,50),i=this.collectKeys(e,o),n=false,s=false;return i.forEach(a=>{let l=this.inferType(e,a,t),d="chooser";!n&&this.isAutoRowCandidate(e,a,l,o)?(d="row",n=true):!s&&this.isAutoDataCandidate(a,l)&&(d="data",s=true);let p={id:`f_${a}`,dataField:a,caption:this.formatCaption(a),dataType:l,area:d,areaIndex:0};l==="number"?p.summaryType="sum":l==="date"&&(p.groupInterval="month"),u.push(p);}),u}static buildFieldsFromPlan(e,t,u=50){let o=[],i=false,n=false,s=Math.max(u,50);for(let a of e){let l="chooser";!i&&this.isAutoRowCandidate(t,a.dataField,a.dataType,s)?(l="row",i=true):!n&&this.isAutoDataCandidate(a.dataField,a.dataType)&&(l="data",n=true);let d={id:`f_${a.dataField}`,dataField:a.dataField,caption:a.caption,dataType:a.dataType,area:l,areaIndex:0};a.dataType==="number"?d.summaryType="sum":a.dataType==="date"&&(d.groupInterval="month"),o.push(d);}return o}static isAutoRowCandidate(e,t,u,o){return !(t.startsWith("__EMPTY")||u!=="string"&&u!=="date"||this.isIdentifierLikeKey(t)||u==="string"&&e&&this.isHighCardinalityStringColumn(e,t,o))}static isAutoDataCandidate(e,t){return t==="number"&&!e.startsWith("__EMPTY")&&!this.isIdentifierLikeKey(e)}static isHighCardinalityStringColumn(e,t,u){let o=Math.min(e.length,u),i=new Set,n=0;for(let s=0;s<o;s++){let a=e[s]?.[t];a==null||a===""||(n++,i.add(String(a)));}return n<20?false:i.size/n>=.9}static isIdentifierLikeKey(e){let t=e.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),u=t.replace(/[^a-z0-9]/g,"");return u==="id"||u==="uuid"||u==="guid"||u==="key"?true:/(^|[\s_.-])(id|uuid|guid|key)($|[\s_.-])/.test(t)}static collectKeys(e,t){let u=[],o=new Set,i=Math.min(e.length,t);for(let n=0;n<i;n++){let s=e[n];if(!(!s||typeof s!="object"))for(let a of Object.keys(s))o.has(a)||(o.add(a),u.push(a));}return u}static inferType(e,t,u){let o=Math.min(e.length,u),i=new Array(o);for(let n=0;n<o;n++)i[n]=e[n]?.[t];return Be(i)}static formatCaption(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,t=>t.toUpperCase()).trim()}};var wu='var nt=class{size=1;nodeToParent;nodeToVal;nodeToDepth;nodeChildCount;childrenMap;constructor(t){this.nodeToParent=new Int32Array(t).fill(-1),this.nodeToVal=new Int32Array(t).fill(-1),this.nodeToDepth=new Int32Array(t).fill(0),this.nodeChildCount=new Int32Array(t).fill(0),this.childrenMap=new Map;}expandCapacity(){let t=this.nodeToParent.length*2,e=new Int32Array(t).fill(-1);e.set(this.nodeToParent),this.nodeToParent=e;let n=new Int32Array(t).fill(-1);n.set(this.nodeToVal),this.nodeToVal=n;let r=new Int32Array(t).fill(0);r.set(this.nodeToDepth),this.nodeToDepth=r;let i=new Int32Array(t).fill(0);i.set(this.nodeChildCount),this.nodeChildCount=i;}insert(t,e){let n=0;for(let r=0;r<e;r++){let i=t[r],s=this.childrenMap.get(n);s||(s=new Map,this.childrenMap.set(n,s));let l=s.get(i);l===void 0&&(this.size>=this.nodeToParent.length&&this.expandCapacity(),l=this.size++,this.nodeToParent[l]=n,this.nodeToVal[l]=i,this.nodeToDepth[l]=r+1,this.nodeChildCount[n]++,s.set(i,l)),n=l;}return n}};function X(z,t){if(z.length>=t)return z;let e=new z.constructor(Math.max(t,Math.ceil(z.length*1.5)));return e.set(z),e}function ct(z,t,e){let n=t[0];for(let r=0;r<t.length;r++){let i=t[r]+1,s=r+1<t.length?t[r+1]:e;z.copyWithin(n,i,s),n+=s-i;}}var lt=class{dictionary=[];rowFields=[];colFields=[];dataFields=[];storedColumns={};storedRowCount=0;lastMask=null;isBuilt=false;buildState=null;activeFilters=null;activePrefilter=null;tracking=false;groupRows=new Int32Array(0);groupMap=new Map;rowLive=null;colLive=null;rowTrie;colTrie;cardinalityMap={};rowPathStrs=[];colPathStrs=[];rowIndexMapCache={};columnIndexMapCache={};buildVersion=0;groupCount=0;leafGroupRowIds;leafGroupColIds;leafGroupMeasures;leafGroupCounts;leafGroupMins;leafGroupMaxes;leafGroupDistinctSets=new Map;rowGroupOf=null;init(t){this.dictionary=t.dictionary,this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,t.workerBootstrap&&t.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=t.rowCount,this.storedColumns={};for(let[e,n]of Object.entries(t.columnarData))n.type==="int32"&&(this.storedColumns[e]={type:"int32",array:new Int32Array(n.buffer)}),n.type==="float64"&&(this.storedColumns[e]={type:"float64",array:new Float64Array(n.buffer)});this.lastMask=null,this.activeFilters=this.activePrefilter=null,t.deferBuild?this.isBuilt=false:this.buildFromMask(null);}reconfigure(t){if(this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,this.appendDictionary(t.dictionaryAppend),t.newColumns)for(let[e,n]of Object.entries(t.newColumns))n.type==="int32"&&(this.storedColumns[e]={type:"int32",array:new Int32Array(n.buffer)}),n.type==="float64"&&(this.storedColumns[e]={type:"float64",array:new Float64Array(n.buffer)});this.buildFromMask(this.lastMask);}initStart(t){this.dictionary=t.dictionary,this.rowFields=t.rowFields,this.colFields=t.colFields,this.dataFields=t.dataFields,t.workerBootstrap&&t.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=t.rowCountTotal,this.storedColumns={};for(let[e,n]of Object.entries(t.columnTypes))n==="int32"?this.storedColumns[e]={type:"int32",array:new Int32Array(t.rowCountTotal)}:this.storedColumns[e]={type:"float64",array:new Float64Array(t.rowCountTotal)};this.setFilters((t.filters||[]).map(e=>({fieldId:e.fieldId,filterType:e.filterType,ids:new Set,pending:new Set(e.valueStrings)})),t.prefilter),this.resolveIncrementalFilterStrings(0),this.isBuilt=false,this.beginBuild();}initChunk(t){this.appendDictionary(t.dictionaryAppend)&&this.ensureCardCapacity();for(let[e,n]of Object.entries(t.columns)){let r=this.storedColumns[e];r&&(r.type==="int32"?r.array.set(new Int32Array(n),t.start):r.array.set(new Float64Array(n),t.start));}this.lastMask&&this.computeMaskRange(t.start,t.end),this.processRange(t.start,t.end,this.lastMask);}initEnd(){this.finalizeBuild();}appendDictionary(t){if(!t||t.length===0)return false;let e=this.dictionary.length;for(let n of t)this.dictionary.push(n);return this.resolveIncrementalFilterStrings(e),true}setFilters(t,e){this.activeFilters=t.length>0?t:null,this.activePrefilter=e&&e.conditions.length>0?e:null,this.lastMask=this.activeFilters||this.activePrefilter?new Uint8Array(this.storedRowCount):null;}resolveIncrementalFilterStrings(t){let e=this.activeFilters;if(!e)return;let n=0;for(let r of e)n+=r.pending.size;if(n!==0)for(let r=t;r<this.dictionary.length;r++){let i=this.dictionary[r];for(let s of e)s.pending.delete(i)&&s.ids.add(r);}}computeMaskRange(t,e){let n=this.lastMask;if(n.fill(1,t,e),this.activeFilters)for(let r of this.activeFilters){let i=this.storedColumns[r.fieldId];if(!i||i.type!=="int32")continue;let s=i.array,l=r.ids;if(r.filterType==="exclude")for(let a=t;a<e;a++)n[a]&&l.has(s[a])&&(n[a]=0);else for(let a=t;a<e;a++)n[a]&&!l.has(s[a])&&(n[a]=0);}if(this.activePrefilter)for(let r=t;r<e;r++)n[r]&&!this.evaluatePrefilterGroup(this.activePrefilter,r)&&(n[r]=0);}applyFilter(t){this.setFilters(t.filters.map(e=>({fieldId:e.fieldId,filterType:e.filterType,ids:new Set(e.dictIds),pending:new Set(e.valueStrings)})),t.prefilter),this.lastMask&&this.computeMaskRange(0,this.storedRowCount),this.buildFromMask(this.lastMask);}evaluatePrefilterGroup(t,e){if(!t.conditions||t.conditions.length===0)return true;if(t.logicalOperator==="and"){for(let n of t.conditions)if("logicalOperator"in n){if(!this.evaluatePrefilterGroup(n,e))return false}else if(!this.evaluatePrefilterCondition(n,e))return false;return true}else {for(let n of t.conditions)if("logicalOperator"in n){if(this.evaluatePrefilterGroup(n,e))return true}else if(this.evaluatePrefilterCondition(n,e))return true;return false}}evaluatePrefilterCondition(t,e){let n=this.storedColumns[t.fieldId];if(!n)return true;if(n.type==="float64"){let l=n.array[e],a=Number(t.value);switch(t.operator){case "=":return l===a;case "<>":return l!==a;case ">":return l>a;case ">=":return l>=a;case "<":return l<a;case "<=":return l<=a;case "isnull":return isNaN(l)||l===0;case "isnotnull":return !isNaN(l)&&l!==0;default:return true}}let r=n.array[e],i=this.dictionary[r]||"",s=String(t.value??"");switch(t.operator){case "=":return i===s;case "<>":return i!==s;case ">":return i>s;case ">=":return i>=s;case "<":return i<s;case "<=":return i<=s;case "contains":return i.toLowerCase().includes(s.toLowerCase());case "notcontains":return !i.toLowerCase().includes(s.toLowerCase());case "startswith":return i.toLowerCase().startsWith(s.toLowerCase());case "endswith":return i.toLowerCase().endsWith(s.toLowerCase());case "isnull":return i===""||i==="(Blank)";case "isnotnull":return i!==""&&i!=="(Blank)";case "in":return Array.isArray(t.value)?t.value.map(String).includes(i):true;case "notin":return Array.isArray(t.value)?!t.value.map(String).includes(i):true;default:return true}}buildFromMask(t){this.beginBuild(),this.processRange(0,this.storedRowCount,t),this.finalizeBuild();}beginBuild(){let t=this.storedRowCount,e=this.storedColumns,n=this.rowFields.length,r=this.colFields.length,i=new Array(n);for(let c=0;c<n;c++)i[c]=e[this.rowFields[c].id].array;let s=new Array(r);for(let c=0;c<r;c++)s[c]=e[this.colFields[c].id].array;let l=this.dictionary.length,a=this.rowFields.map(c=>{let v=e[c.id];return v&&v.type==="int32"?new Uint8Array(l):null}),d=this.colFields.map(c=>{let v=e[c.id];return v&&v.type==="int32"?new Uint8Array(l):null});this.rowTrie=new nt(2e5),this.colTrie=new nt(2e5);let w=this.dataFields.length,C=this.dataFields.map(c=>c.summaryType||"sum"),h=C.some(c=>c==="count"||c==="avg"),G=C.some(c=>c==="min"),m=C.some(c=>c==="max"),M=C.some(c=>c==="distinct"),R=new Array(w);for(let c=0;c<w;c++)R[c]=e[this.dataFields[c].id].array;let I=Math.min(t,2e5),u=G?new Float64Array(I*w):new Float64Array(0),p=m?new Float64Array(I*w):new Float64Array(0);this.leafGroupDistinctSets=M?new Map:new Map,G&&u.fill(1/0),m&&p.fill(-1/0),this.buildState={rPath:new Int32Array(n),cPath:new Int32Array(r),rowColArrays:i,colColArrays:s,dataColArrays:R,rowCardSeen:a,colCardSeen:d,rowCardCounts:new Int32Array(n),colCardCounts:new Int32Array(r),summaryTypes:C,allSums:C.every(c=>c==="sum"),needsCounts:h,needsMins:G,needsMaxes:m,groupMap:new Map,leafRowIds:new Int32Array(I),leafColIds:new Int32Array(I),leafMeasures:new Float64Array(I*w),leafCounts:h?new Float64Array(I*w):new Float64Array(0),leafMins:u,leafMaxes:p,rowGroupOf:this.tracking||C.includes("custom")?new Int32Array(t).fill(-1):null,gCount:0};}ensureCardCapacity(){let t=this.buildState;if(!t)return;let e=this.dictionary.length,n=r=>{if(r===null||r.length>=e)return r;let i=new Uint8Array(Math.max(e,r.length*2));return i.set(r),i};for(let r=0;r<t.rowCardSeen.length;r++)t.rowCardSeen[r]=n(t.rowCardSeen[r]);for(let r=0;r<t.colCardSeen.length;r++)t.colCardSeen[r]=n(t.colCardSeen[r]);}processRange(t,e,n){let r=this.buildState,{rPath:i,cPath:s,rowColArrays:l,colColArrays:a,dataColArrays:d,rowCardSeen:w,colCardSeen:C,rowCardCounts:h,colCardCounts:G,summaryTypes:m,allSums:M,needsCounts:R,needsMins:I,needsMaxes:u,groupMap:p,rowGroupOf:c}=r,v=l.length,y=a.length,b=d.length,D=this.rowTrie,E=this.colTrie,W=r.leafRowIds,J=r.leafColIds,_=r.leafMeasures,Q=r.leafCounts,Y=r.leafMins,Z=r.leafMaxes,K=r.gCount;for(let T=t;T<e;T++){if(n&&!n[T])continue;for(let f=0;f<v;f++){let F=l[f][T];i[f]=F;let g=w[f];g!==null&&g[F]===0&&(g[F]=1,h[f]++);}let $=D.insert(i,v);for(let f=0;f<y;f++){let F=a[f][T];s[f]=F;let g=C[f];g!==null&&g[F]===0&&(g[F]=1,G[f]++);}let rt=E.insert(s,y),it=$*67108864+rt,L=p.get(it);if(L===void 0){if(L=K++,p.set(it,L),L>=W.length){let f=L*2,F=new Int32Array(f);F.set(W),W=F;let g=new Int32Array(f);g.set(J),J=g;let H=new Float64Array(f*b);if(H.set(_),_=H,R){let o=new Float64Array(f*b);o.set(Q),Q=o;}if(I){let o=new Float64Array(f*b);o.fill(1/0),o.set(Y),Y=o;}if(u){let o=new Float64Array(f*b);o.fill(-1/0),o.set(Z),Z=o;}}W[L]=$,J[L]=rt;}c!==null&&(c[T]=L);let st=L*b;if(M)for(let f=0;f<b;f++)_[st+f]+=d[f][T];else for(let f=0;f<b;f++){let F=d[f][T],g=st+f;switch(m[f]){case "sum":_[g]+=F;break;case "count":Q[g]+=1;break;case "avg":_[g]+=F,Q[g]+=1;break;case "min":F<Y[g]&&(Y[g]=F);break;case "max":F>Z[g]&&(Z[g]=F);break;case "distinct":{let H=this.leafGroupDistinctSets.get(g);H||(H=new Set,this.leafGroupDistinctSets.set(g,H)),H.add(F);break}default:_[g]+=F;break}}}r.leafRowIds=W,r.leafColIds=J,r.leafMeasures=_,r.leafCounts=Q,r.leafMins=Y,r.leafMaxes=Z,r.gCount=K;}finalizeBuild(){let t=this.buildState,{needsCounts:e,needsMins:n,needsMaxes:r,gCount:i}=t,s=t.dataColArrays.length,l=t.rowColArrays.length,a=t.colColArrays.length;this.groupCount=i,this.leafGroupRowIds=t.leafRowIds.slice(0,i),this.leafGroupColIds=t.leafColIds.slice(0,i),this.leafGroupMeasures=t.leafMeasures.slice(0,i*s),this.leafGroupCounts=e?t.leafCounts.slice(0,i*s):t.leafCounts,this.leafGroupMins=n?t.leafMins.slice(0,i*s):t.leafMins,this.leafGroupMaxes=r?t.leafMaxes.slice(0,i*s):t.leafMaxes,this.rowGroupOf=t.rowGroupOf,this.cardinalityMap={};for(let d=0;d<l;d++)t.rowCardSeen[d]!==null&&(this.cardinalityMap[this.rowFields[d].id]=t.rowCardCounts[d]);for(let d=0;d<a;d++)t.colCardSeen[d]!==null&&(this.cardinalityMap[this.colFields[d].id]=t.colCardCounts[d]);if(this.buildState=null,this.rowLive=this.colLive=null,this.tracking){this.groupMap=t.groupMap;let d=this.groupRows=new Int32Array(i),w=t.rowGroupOf;for(let C=0;C<this.storedRowCount;C++)w[C]>=0&&d[w[C]]++;}this.buildVersion++,this.isBuilt=true,this.rowPathStrs=this.buildPathStrs(this.rowTrie),this.colPathStrs=this.buildPathStrs(this.colTrie),this.rowIndexMapCache=this.buildIndexMap(this.rowPathStrs,null),this.columnIndexMapCache=this.buildIndexMap(this.colPathStrs,null);}buildPathStrs(t,e=[""]){let n=e;for(let r=e.length;r<t.size;r++){let i=t.nodeToParent[r],s=this.dictionary[t.nodeToVal[r]],l=n[i];n[r]=l?l+"|"+s:s;}return n}buildIndexMap(t,e){let n={};for(let r=0;r<t.length;r++)(!e||e[r])&&(n[t[r]]=r);return n}applyTransaction(t){this.tracking||(this.tracking=true,this.buildFromMask(this.lastMask)),this.appendDictionary(t.dictionaryAppend);let{update:e,remove:n}=t,r=e.length,i=this.storedRowCount,s=i+t.addCount,l=this.storedColumns,a=new Set,d=false,w=this.rowGroupOf,C=u=>{let p=w[u];p<0||(w[u]=-1,--this.groupRows[p]===0&&(d=true),a.add(p));};e.forEach(C),n.forEach(C);for(let u in l){let p=l[u],c=t.columns[u];if(!c)throw new Error("transaction: no values for column "+u);let v=p.type==="int32"?new Int32Array(c):new Float64Array(c),y=p.array=X(p.array,s);for(let b=0;b<r;b++)y[e[b]]=v[b];y.set(v.subarray(r),i);}w=this.rowGroupOf=X(w,s),w.fill(-1,i,s);let h=this.lastMask&&(this.lastMask=X(this.lastMask,s));h&&(e.forEach(u=>this.computeMaskRange(u,u+1)),this.computeMaskRange(i,s));let G=this.rowFields.map(u=>l[u.id].array),m=this.colFields.map(u=>l[u.id].array),M=new Int32Array(G.length),R=new Int32Array(m.length),I=u=>{if(h&&!h[u])return;G.forEach((b,D)=>{M[D]=b[u];}),m.forEach((b,D)=>{R[D]=b[u];});let p=this.rowTrie.insert(M,M.length),c=this.colTrie.insert(R,R.length),v=p*67108864+c,y=this.groupMap.get(v);y===void 0&&(this.groupMap.set(v,y=this.groupCount++),(this.leafGroupRowIds=X(this.leafGroupRowIds,y+1))[y]=p,(this.leafGroupColIds=X(this.leafGroupColIds,y+1))[y]=c,this.groupRows=X(this.groupRows,y+1)),this.groupRows[y]++===0&&(d=true),w[u]=y,a.add(y);};e.forEach(I);for(let u=i;u<s;u++)I(u);if(this.storedRowCount=s-n.length,n.length>0){for(let u in l)ct(l[u].array,n,s);ct(w,n,s),h&&ct(h,n,s);}if(this.resumGroups(a),d){let u=0;for(let p=0;p<this.groupCount;p++)this.groupRows[p]===0&&u++;u>4096&&u>this.groupCount-u?this.buildFromMask(this.lastMask):(this.cardinalityMap={},[this.rowLive,this.rowPathStrs,this.rowIndexMapCache]=this.relive(this.rowTrie,this.leafGroupRowIds,this.rowFields,this.rowPathStrs),[this.colLive,this.colPathStrs,this.columnIndexMapCache]=this.relive(this.colTrie,this.leafGroupColIds,this.colFields,this.colPathStrs),this.buildVersion++);}return this.storedRowCount}resumGroups(t){if(t.size===0)return;let e=this.dataFields.length,n=this.dataFields.map(m=>m.summaryType||"sum"),r=this.dataFields.map(m=>this.storedColumns[m.id].array),i=this.groupCount*e,s=this.leafGroupMeasures=X(this.leafGroupMeasures,i),l=n.some(m=>m==="count"||m==="avg")?this.leafGroupCounts=X(this.leafGroupCounts,i):null,a=n.includes("min")?this.leafGroupMins=X(this.leafGroupMins,i):null,d=n.includes("max")?this.leafGroupMaxes=X(this.leafGroupMaxes,i):null,w=this.leafGroupDistinctSets,C=new Uint8Array(this.groupCount),h=0;for(let m of t){C[m]=1,h+=this.groupRows[m];for(let M=m*e;M<(m+1)*e;M++)s[M]=0,l&&(l[M]=0),a&&(a[M]=1/0),d&&(d[M]=-1/0),w.delete(M);}let G=this.rowGroupOf;for(let m=0;h>0&&m<this.storedRowCount;m++){let M=G[m];if(!(M<0||!C[M])){h--;for(let R=0;R<e;R++){let I=r[R][m],u=M*e+R;switch(n[R]){case "count":l[u]++;break;case "avg":s[u]+=I,l[u]++;break;case "min":I<a[u]&&(a[u]=I);break;case "max":I>d[u]&&(d[u]=I);break;case "distinct":{let p=w.get(u);p||w.set(u,p=new Set),p.add(I);break}default:s[u]+=I;}}}}}relive(t,e,n,r){let i=new Uint8Array(t.size);i[0]=1;for(let a=0;a<this.groupCount;a++)if(this.groupRows[a]!==0)for(let d=e[a];!i[d];d=t.nodeToParent[d])i[d]=1;let s=n.map(()=>new Set);t.nodeChildCount.fill(0,0,t.size);for(let a=1;a<t.size;a++)i[a]&&(t.nodeChildCount[t.nodeToParent[a]]++,s[t.nodeToDepth[a]-1]?.add(t.nodeToVal[a]));n.forEach((a,d)=>{this.cardinalityMap[a.id]=s[d].size;});let l=this.buildPathStrs(t,r);return [i,l,this.buildIndexMap(l,i)]}compute(t){this.isBuilt||this.buildFromMask(this.lastMask);let e=this.rowPathStrs,n=this.colPathStrs,r=new Uint8Array(this.rowTrie.size),i=new Set(t.expandedPaths),s=i.has(".*")||i.has("*");for(let o=0;o<this.rowTrie.size;o++)r[o]=s||i.has(e[o])?1:0;let l=new Uint8Array(this.colTrie.size),a=new Set(t.expandedColPaths),d=a.has(".*")||a.has("*");for(let o=0;o<this.colTrie.size;o++)l[o]=d||a.has(n[o])?1:0;let w=new Uint8Array(this.rowTrie.size);w[0]=1;for(let o=1;o<this.rowTrie.size;o++){let S=this.rowTrie.nodeToParent[o];(S===0||r[S])&&(!this.rowLive||this.rowLive[o])&&(w[o]=1);}let C=new Uint8Array(this.colTrie.size);C[0]=1;for(let o=1;o<this.colTrie.size;o++){let S=this.colTrie.nodeToParent[o];(S===0||l[S])&&(!this.colLive||this.colLive[o])&&(C[o]=1);}let h=this.dataFields.length,G=this.dataFields.map(o=>o.summaryType||"sum"),m=this.leafGroupMins.length>0,M=this.leafGroupMaxes.length>0,R=this.leafGroupCounts.length>0,I=this.leafGroupDistinctSets.size>0,u=new Map,p=0,c=1e4,v=new Float64Array(c),y=new Float64Array(c*h),b=new Int32Array(c*h),D=R?new Float64Array(c*h):null,E=m?new Float64Array(c*h):null,W=M?new Float64Array(c*h):null,J=I?new Map:new Map;E&&E.fill(1/0),W&&W.fill(-1/0);let _=new Int32Array(this.rowFields.length+1),Q=new Int32Array(this.colFields.length+1),Y=(o,S,A,O)=>{let tt=0,U=o;for(;U!==-1;)A[U]&&(O[tt++]=U),U=S.nodeToParent[U];return tt},Z=this.rowGroupOf!==null&&G.includes("custom"),K=Z?new Int32Array(this.groupCount+1):null,T=Z?new Int32Array(Math.max(16,this.groupCount*4)):null,$=0,rt=this.tracking?this.groupRows:null;for(let o=0;o<this.groupCount;o++){if(rt!==null&&rt[o]===0){K!==null&&(K[o+1]=$);continue}let S=this.leafGroupRowIds[o],A=this.leafGroupColIds[o],O=Y(S,this.rowTrie,w,_),tt=Y(A,this.colTrie,C,Q);for(let U=0;U<O;U++){let ot=_[U];for(let j=0;j<tt;j++){let at=Q[j],et=ot*67108864+at,P=u.get(et);if(P===void 0){if(P=p++,u.set(et,P),P>=v.length){let k=P*2,x=new Float64Array(k);x.set(v),v=x;let V=new Float64Array(k*h);V.set(y),y=V;let N=new Int32Array(k*h);if(N.set(b),b=N,D){let B=new Float64Array(k*h);B.set(D),D=B;}if(E){let B=new Float64Array(k*h);B.fill(1/0),B.set(E),E=B;}if(W){let B=new Float64Array(k*h);B.fill(-1/0),B.set(W),W=B;}}v[P]=et;}if(T!==null){if($>=T.length){let k=new Int32Array(T.length*2);k.set(T),T=k;}T[$++]=P;}for(let k=0;k<h;k++){let x=P*h+k,V=o*h+k;switch(G[k]){case "sum":y[x]+=this.leafGroupMeasures[V];break;case "count":y[x]+=this.leafGroupCounts[V];break;case "avg":y[x]+=this.leafGroupMeasures[V],D[x]+=this.leafGroupCounts[V];break;case "min":{let N=this.leafGroupMins[V];N<E[x]&&(E[x]=N);break}case "max":{let N=this.leafGroupMaxes[V];N>W[x]&&(W[x]=N);break}case "distinct":{let N=this.leafGroupDistinctSets.get(V);if(N){let B=J.get(x);B||(B=new Set,J.set(x,B));for(let ft of N)B.add(ft);}break}default:y[x]+=this.leafGroupMeasures[V];break}b[x]+=1;}}}K!==null&&(K[o+1]=$);}for(let o=0;o<p;o++)for(let S=0;S<h;S++){let A=o*h+S;switch(G[S]){case "avg":y[A]=D[A]>0?y[A]/D[A]:0;break;case "min":y[A]=E[A]!==1/0?E[A]:0;break;case "max":y[A]=W[A]!==-1/0?W[A]:0;break;case "distinct":{let O=J.get(A);y[A]=O?O.size:0;break}}}let it=v.slice(0,p),L=y.slice(0,p*h),st=b.slice(0,p*h),f=(o,S,A,O,tt)=>{let U=[];for(let j=0;j<O.length;j++)U[j]=O[j]?.id||"";let ot=j=>{let at=o.childrenMap.get(j);if(!at)return [];let et=[];for(let P of at.values())if(S[P]){let k=o.nodeToDepth[P]-1,x=A[P]===1;et.push({key:tt[P],value:this.dictionary[o.nodeToVal[P]],fieldId:U[k]||"",children:x?ot(P):[],isExpanded:x,isTotal:false,depth:k,hasChildren:o.nodeChildCount[P]>0});}return et};return ot(0)},F;if(this.rowGroupOf!==null&&K!==null&&T!==null){let o=this.storedRowCount,S={};for(let A=0;A<h;A++){if(G[A]!=="custom")continue;let O=this.dataFields[A].id;S[O]=this.storedColumns[O].array.slice(0,o);}F={rowGroupOf:this.rowGroupOf.slice(0,o),groupCellOffsets:K,groupCells:T.slice(0,$),values:S};}let g=f(this.rowTrie,w,r,this.rowFields,e),H=f(this.colTrie,C,l,this.colFields,n);return {id:t.id,rowTree:g,colTree:H,cellMatrix:{keys:it,sums:L,counts:st},customSummary:F,rowIndexMap:this.rowIndexMapCache,columnIndexMap:this.columnIndexMapCache,cardinalityMap:this.cardinalityMap,indexMapsVersion:this.buildVersion}}};var q=new lt,dt=-1;self.onmessage=z=>{let t=z.data;try{if(t.action==="init")q.init(t),self.postMessage({id:t.id,isInitComplete:!0});else if(t.action==="initStart")q.initStart(t);else if(t.action==="initChunk")q.initChunk(t);else if(t.action==="initEnd")q.initEnd(),self.postMessage({id:t.id,isInitComplete:!0});else if(t.action==="filter")q.applyFilter(t),self.postMessage({id:t.id,isFilterComplete:!0});else if(t.action==="reconfigure")q.reconfigure(t),self.postMessage({id:t.id,isReconfigureComplete:!0});else if(t.action==="transaction")self.postMessage({id:t.id,isTransactionComplete:!0,rowCount:q.applyTransaction(t)});else if(t.action==="compute"){let e=q.compute(t),n=[e.cellMatrix.keys.buffer,e.cellMatrix.sums.buffer,e.cellMatrix.counts.buffer];if(e.indexMapsVersion!==void 0&&e.indexMapsVersion===dt){let r={...e,rowIndexMap:void 0,columnIndexMap:void 0,cardinalityMap:void 0,indexMapsOmitted:!0};postMessage(r,n);}else e.indexMapsVersion!==void 0&&(dt=e.indexMapsVersion),postMessage(e,n);}}catch(e){self.postMessage({id:t.id,error:e instanceof Error?e.message:String(e)});}};',bu='self.onmessage=async n=>{let{type:e,chunkId:c,chunk:s,fields:a,format:t,isFirstChunk:r,isLastChunk:o,locale:i}=n.data;if(e==="process_chunk")try{if(t==="csv"){let l=w(s,a,r,i);self.postMessage({type:"chunk_done",chunkId:c,format:"csv",payload:l});}else if(t==="excel-xml"){let l=T(s,a,r,o,i);self.postMessage({type:"chunk_done",chunkId:c,format:"excel-xml",payload:l});}}catch(l){self.postMessage({type:"error",chunkId:c,error:l instanceof Error?l.message:String(l)});}};var y=new Map,S=new Map;function h(n){if(!n||typeof n!="object")return false;let e=n;return "year"in e||"month"in e||"day"in e||"weekday"in e||"hour"in e||"minute"in e||"second"in e||"dateStyle"in e||"timeStyle"in e}var k={year:"numeric",month:"2-digit",day:"2-digit"};function x(n,e,c){let s=n instanceof Date?n:new Date(n);if(isNaN(s.getTime()))return String(n);try{let a=h(e?.format)?e.format:k,t=JSON.stringify(a)+"_"+c,r=S.get(t);return r||(r=new Intl.DateTimeFormat(c,a),S.set(t,r)),r.format(s)}catch{return String(n)}}function d(n,e,c="tr-TR"){if(n==null)return "";if(e?.dataType==="date"&&n!=="")return x(n,e,c);if(e&&e.format&&typeof n=="number")try{let s=e.format,a=JSON.stringify(s)+"_"+c,t=y.get(a);t||(t=new Intl.NumberFormat(c,s),y.set(a,t));let r=t.format(n);return s.isCustom&&(s.prefix||s.suffix)?`${s.prefix||""}${r}${s.suffix||""}`:r}catch{return String(n)}return String(n)}function w(n,e,c,s){let a="",t=e.map(r=>{let o=r.dataField||r.id;return typeof o=="string"?o:null});if(c){let r=e.map(o=>o.caption||o.id);a+=r.map(F).join(",")+`\n`;}for(let r of n){let o=new Array(t.length);for(let i=0;i<t.length;i++){let l=t[i],f=l?r[l]??"":"",u=d(f,e[i],s);typeof f=="string"&&(u=D(u)),o[i]=u;}a+=o.map(F).join(",")+`\n`;}return a}function D(n){return n.length>0&&/^[=+\\-@\\t\\r]/.test(n)?"\'"+n:n}function F(n){if(n==null)return "";let e=String(n);return e.includes(",")||e.includes(\'"\')||e.includes(`\n`)?`"${e.replace(/"/g,\'""\')}"`:e}function T(n,e,c,s,a){let t="",r=e.map(o=>{let i=o.dataField||o.id;return typeof i=="string"?i:null});c&&(t+=`<?xml version="1.0" encoding="UTF-8"?>\n`,t+=`<?mso-application progid="Excel.Sheet"?>\n`,t+=`<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">\n`,t+=` <Styles>\n`,t+=` <Style ss:ID="HeaderStyle">\n`,t+=` <Font ss:Bold="1" ss:Color="#FFFFFF"/>\n`,t+=` <Interior ss:Color="#4F81BD" ss:Pattern="Solid"/>\n`,t+=` </Style>\n`,t+=` </Styles>\n`,t+=` <Worksheet ss:Name="Data">\n`,t+=` <Table>\n`,t+=` <Row>\n`,e.forEach(o=>{t+=` <Cell ss:StyleID="HeaderStyle"><Data ss:Type="String">${g(o.caption||o.id||"")}</Data></Cell>\n`;}),t+=` </Row>\n`);for(let o of n){t+=` <Row>\n`;for(let i=0;i<r.length;i++){let l=r[i],f=l?o[l]:void 0,u=e[i],m="String",p="";if(f==null||f===""){t+=` <Cell></Cell>\n`;continue}else u?.dataType==="date"?(m="String",p=g(d(f,u,a))):typeof f=="number"?u&&u.format?(p=g(d(f,u,a)),m="String"):(m="Number",p=String(f)):(m="String",p=g(String(f)));t+=` <Cell><Data ss:Type="${m}">${p}</Data></Cell>\n`;}t+=` </Row>\n`;}return s&&(t+=` </Table>\n`,t+=` </Worksheet>\n`,t+="</Workbook>"),t}function g(n){return n?n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/\'/g,"'"):""}',Su='function T(e){return e.charCodeAt(0)===65279?e.slice(1):e}function S(e){return typeof e.text=="function"?e.text():new Promise((t,n)=>{let r=new FileReader;r.onload=i=>t(i.target?.result??""),r.onerror=()=>n(new Error("Dosya okuma hatas\\u0131.")),r.readAsText(e,"utf-8");})}function N(e){let t=[",",";"," ","|"],n=T(e).split(/\\r\\n|\\r|\\n/).filter(s=>s.length>0).slice(0,5);if(n.length===0)return ",";let r=",",i=-1;for(let s of t){let a=n.map(d=>B(d,s)),o=a.reduce((d,f)=>d+f,0);if(o===0)continue;let l=a[0],u=a.every(d=>d===l),c=o+(u?100:0)+l*10;c>i&&(i=c,r=s);}return r}function B(e,t){let n=0,r=false;for(let i=0;i<e.length;i++){let s=e[i];if(s===\'"\'){if(r&&e[i+1]===\'"\'){i++;continue}r=!r;}else !r&&s===t&&n++;}return n}function X(e,t,n){let r=T(e),i=t||N(r),s=[],a="",o=[],l=false,u=false,c=r.length,d=n?Math.max(1<<18,Math.ceil(c/100)):0,f=d;for(let g=0;g<r.length;g++){d&&g>=f&&(n(g/c),f+=d);let p=r[g];if(l){p===\'"\'?r[g+1]===\'"\'?(a+=\'"\',g++):l=false:a+=p;continue}p===\'"\'?(l=true,u=true):p===i?(o.push(a),a="",u=true):p===`\n`||p==="\\r"?(p==="\\r"&&r[g+1]===`\n`&&g++,o.push(a),s.push(o),o=[],a="",u=false):(a+=p,u=true);}return (u||a.length>0||o.length>0)&&(o.push(a),s.push(o)),n&&n(1),s}var A=new Set(["true","yes","evet","do\\u011Fru","dogru"]),F=new Set(["false","no","hay\\u0131r","hayir","yanl\\u0131\\u015F","yanlis"]);function z(e){let t=e.trim().toLowerCase();return A.has(t)||F.has(t)}function Y(e){if(typeof e=="boolean")return e;let t=String(e).trim().toLowerCase();return A.has(t)||t==="1"||t==="y"||t==="on"?true:F.has(t)||t==="0"||t==="n"||t==="off"?false:null}function K(e){return /^0\\d+$/.test(e)}var H=/[\u20BA$\u20AC\xA3\xA5]/g,Z=/[\\s\xA0\u202F]/g;function _(e){if(typeof e=="number")return isNaN(e)?null:e;let t=String(e).trim();if(!t)return null;t=t.replace(Z,"").replace(H,"");let n=false;t.endsWith("%")&&(n=true,t=t.slice(0,-1));let r=false;if(/^\\(.*\\)$/.test(t)&&(r=true,t=t.slice(1,-1)),!/^[+-]?[0-9.,]*[0-9][0-9.,]*$/.test(t))return null;let i=t.includes("."),s=t.includes(",");if(i&&s)t.lastIndexOf(",")>t.lastIndexOf(".")?t=t.replace(/\\./g,"").replace(",","."):t=t.replace(/,/g,"");else if(s){let o=t.split(",");o.length===2&&o[1].length!==3?t=t.replace(",","."):t=t.replace(/,/g,"");}else i&&t.split(".").length>2&&(t=t.replace(/\\./g,""));let a=Number(t);return isNaN(a)?null:(r&&(a=-a),n&&(a=a/100),a)}var U=/^\\d{4}-\\d{2}-\\d{2}([ T]\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:?\\d{2})?)?$/,V=/^(\\d{4})[/.](\\d{1,2})[/.](\\d{1,2})$/,Q=/^(\\d{1,2})[/.\\-](\\d{1,2})[/.\\-](\\d{4})$/;function D(e){if(e instanceof Date)return isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;if(U.test(t)){let i=new Date(t.replace(" ","T"));return isNaN(i.getTime())?null:i}let n=V.exec(t);if(n){let i=new Date(+n[1],+n[2]-1,+n[3]);return C(i,+n[1],+n[2],+n[3])?i:null}let r=Q.exec(t);if(r){let i=+r[1],s=+r[2],a=+r[3],o,l;i>12&&s<=12?(o=i,l=s):s>12&&i<=12?(o=s,l=i):(o=i,l=s);let u=new Date(a,l-1,o);return C(u,a,l,o)?u:null}return null}function C(e,t,n,r){return !isNaN(e.getTime())&&e.getFullYear()===t&&e.getMonth()===n-1&&e.getDate()===r}function G(e){if(e==null||e==="")return "blank";if(typeof e=="boolean")return "boolean";if(typeof e=="number")return isNaN(e)?"blank":"number";if(e instanceof Date)return isNaN(e.getTime())?"blank":"date";let t=String(e).trim();return t===""?"blank":z(t)?"boolean":K(t)?"string":D(t)?"date":_(t)!==null?"number":"string"}function x(e){let t={string:0,number:0,date:0,boolean:0};for(let i of e){let s=G(i);s!=="blank"&&t[s]++;}let n="string",r=0;return Object.keys(t).forEach(i=>{t[i]>r&&(r=t[i],n=i);}),n}function v(e,t){if(e==null||e==="")return null;switch(t){case "number":return _(e);case "date":return D(e)??(e instanceof Date?e:null);case "boolean":return Y(e);default:return e}}var E=new Set(["__proto__","constructor","prototype"]);function y(e){return E.has(e)?`${e}_`:e}function M(e){let t=false;for(let n of e)if(!(!n||typeof n!="object")){for(let r of Object.keys(n))if(E.has(r)){t=true;break}if(t)break}return t?e.map(n=>{if(!n||typeof n!="object")return n;let r={};for(let i of Object.keys(n))r[y(i)]=n[i];return r}):e}var O=200,I=2e4;function q(e){let t=new Map;return e.map(n=>{let r=t.get(n)??0;return t.set(n,r+1),y(r===0?n:`${n}_${r+1}`)})}function P(e,t){if(e.length===0)return [];let n=[],r=new Set,i=Math.min(e.length,500);for(let o=0;o<i;o++){let l=e[o];if(!(!l||typeof l!="object"))for(let u of Object.keys(l))r.has(u)||(r.add(u),n.push(u));}let s=new Map;for(let o of n){let l=[];for(let u=0;u<e.length&&l.length<O;u++){let c=e[u]?.[o];c!=null&&String(c).trim()!==""&&l.push(c);}s.set(o,x(l));}let a=new Array(e.length);for(let o=0;o<e.length;o++){let l=e[o]||{},u={};for(let c of n){let d=l[c];u[y(c)]=d==null||d===""?null:v(d,s.get(c));}a[o]=u;}return a}function $(e,t){let n=T(e);if(!n.trim())return [];let r=N(n),i=X(n,r,t?c=>t({phase:"parsing",percent:Math.round(c*60)}):void 0);if(i.length===0)return [];let s=0;for(;s<i.length&&i[s].every(c=>c.trim()==="");)s++;if(s>=i.length)return [];let a=q(i[s].map((c,d)=>c.trim()||`Column${d+1}`)),o=i.slice(s+1).filter(c=>!(c.length===1&&c[0].trim()==="")),l=a.map((c,d)=>{let f=[];for(let g=0;g<o.length&&f.length<O;g++){let p=o[g][d];p!==void 0&&p.trim()!==""&&f.push(p);}return x(f)}),u=new Array(o.length);for(let c=0;c<o.length;c++){let d=o[c],f={};for(let g=0;g<a.length;g++){let p=d[g];f[a[g]]=p===void 0||p===""?null:v(p,l[g]);}u[c]=f,t&&c>0&&c%I===0&&t({phase:"typing",percent:60+Math.round(c/o.length*40)});}return t&&t({phase:"typing",percent:100}),u}var b=class e{supports(t){return t.name.split(".").pop()?.toLowerCase()==="xml"||t.type==="application/xml"||t.type==="text/xml"}async read(t){let n=await S(t);return e.parse(n)}static parse(t){if(!t||!t.trim())return [];let n=J(t),i=et(n).map(nt).filter(s=>Object.keys(s).length>0);return P(i)}};function J(e){let t={tag:"#root",attrs:{},children:[],text:"",parent:null},n=t,r=0,i=e.length;for(;r<i;){let s=e.indexOf("<",r);if(s===-1){n.text+=e.slice(r);break}if(s>r&&(n.text+=e.slice(r,s)),e.startsWith("<!--",s)){let f=e.indexOf("-->",s+4);r=f===-1?i:f+3;continue}if(e.startsWith("<![CDATA[",s)){let f=e.indexOf("]]>",s+9);n.text+=e.slice(s+9,f===-1?i:f),r=f===-1?i:f+3;continue}if(e.startsWith("<?",s)){let f=e.indexOf("?>",s+2);r=f===-1?i:f+2;continue}if(e.startsWith("<!",s)){let f=e.indexOf(">",s+2);r=f===-1?i:f+1;continue}let a=e.indexOf(">",s+1);if(a===-1)break;let o=e.slice(s+1,a).trim();if(o.startsWith("/")){let f=o.slice(1).trim(),g=n;for(;g&&g.tag!==f;)g=g.parent;g&&g.parent&&(n=g.parent),r=a+1;continue}let l=o.endsWith("/");l&&(o=o.slice(0,-1).trim());let{name:u,attrs:c}=tt(o),d={tag:u,attrs:c,children:[],text:"",parent:n};n.children.push(d),l||(n=d),r=a+1;}return t}var j=/([^\\s=/]+)\\s*=\\s*(?:"([^"]*)"|\'([^\']*)\')/g;function tt(e){let t=e.search(/\\s/),n=(t===-1?e:e.slice(0,t)).trim(),r={};if(t!==-1){let i=e.slice(t+1),s;for(j.lastIndex=0;(s=j.exec(i))!==null;)r[s[1]]=R(s[2]??s[3]??"");}return {name:n,attrs:r}}function et(e){let t=e.children[0];if(!t)return [];let n=t.children;return n.length===0?[]:n.some(i=>i.children.length>0||Object.keys(i.attrs).length>0)?n:[t]}function nt(e){let t={},n=new Map,r=(i,s)=>{let a=i||"value",o=n.get(a)??0;n.set(a,o+1),t[y(o===0?a:`${a}_${o+1}`)]=s;};for(let[i,s]of Object.entries(e.attrs))r(i,s);if(e.children.length===0){let i=e.text.trim();i&&r(e.tag,R(i));}else for(let i of e.children)r(i.tag,R(W(i).trim()));return t}function W(e){if(e.children.length===0)return e.text;let t=e.text;for(let n of e.children)t+=W(n);return t}var rt=/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,it={amp:"&",lt:"<",gt:">",quot:\'"\',apos:"\'",nbsp:"\\xA0"};function R(e){return e.indexOf("&")===-1?e:e.replace(rt,(t,n)=>{if(n[0]==="#"){let r=n[1]==="x"||n[1]==="X"?parseInt(n.slice(2),16):parseInt(n.slice(1),10);return Number.isFinite(r)?String.fromCodePoint(r):t}return it[n]??t})}var h=class{static extractFieldsFromData(t,n=50){if(!t||t.length===0)return [];let r=[],i=Math.max(n,50),s=this.collectKeys(t,i),a=false,o=false;return s.forEach(l=>{let u=this.inferType(t,l,n),c="chooser";!a&&this.isAutoRowCandidate(t,l,u,i)?(c="row",a=true):!o&&this.isAutoDataCandidate(l,u)&&(c="data",o=true);let d={id:`f_${l}`,dataField:l,caption:this.formatCaption(l),dataType:u,area:c,areaIndex:0};u==="number"?d.summaryType="sum":u==="date"&&(d.groupInterval="month"),r.push(d);}),r}static buildFieldsFromPlan(t,n,r=50){let i=[],s=false,a=false,o=Math.max(r,50);for(let l of t){let u="chooser";!s&&this.isAutoRowCandidate(n,l.dataField,l.dataType,o)?(u="row",s=true):!a&&this.isAutoDataCandidate(l.dataField,l.dataType)&&(u="data",a=true);let c={id:`f_${l.dataField}`,dataField:l.dataField,caption:l.caption,dataType:l.dataType,area:u,areaIndex:0};l.dataType==="number"?c.summaryType="sum":l.dataType==="date"&&(c.groupInterval="month"),i.push(c);}return i}static isAutoRowCandidate(t,n,r,i){return !(n.startsWith("__EMPTY")||r!=="string"&&r!=="date"||this.isIdentifierLikeKey(n)||r==="string"&&t&&this.isHighCardinalityStringColumn(t,n,i))}static isAutoDataCandidate(t,n){return n==="number"&&!t.startsWith("__EMPTY")&&!this.isIdentifierLikeKey(t)}static isHighCardinalityStringColumn(t,n,r){let i=Math.min(t.length,r),s=new Set,a=0;for(let o=0;o<i;o++){let l=t[o]?.[n];l==null||l===""||(a++,s.add(String(l)));}return a<20?false:s.size/a>=.9}static isIdentifierLikeKey(t){let n=t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),r=n.replace(/[^a-z0-9]/g,"");return r==="id"||r==="uuid"||r==="guid"||r==="key"?true:/(^|[\\s_.-])(id|uuid|guid|key)($|[\\s_.-])/.test(n)}static collectKeys(t,n){let r=[],i=new Set,s=Math.min(t.length,n);for(let a=0;a<s;a++){let o=t[a];if(!(!o||typeof o!="object"))for(let l of Object.keys(o))i.has(l)||(i.add(l),r.push(l));}return r}static inferType(t,n,r){let i=Math.min(t.length,r),s=new Array(i);for(let a=0;a<i;a++)s[a]=t[a]?.[n];return x(s)}static formatCaption(t){return t.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,n=>n.toUpperCase()).trim()}};var k=self;k.onmessage=async e=>{let t=e.data;if(!t||t.type!=="parse")return;let{jobId:n,kind:r,file:i}=t;try{if(r==="csv"){m(n,"reading",3);let s=await i.text(),a=$(s,l=>{m(n,l.phase,5+Math.round(l.percent*.92));});m(n,"finalizing",98);let o=h.extractFieldsFromData(a);w(n,{mode:"data",data:a,fields:o});return}if(r==="xml"){m(n,"reading",10);let s=await i.text();m(n,"parsing",50);let a=b.parse(s);m(n,"finalizing",90);let o=h.extractFieldsFromData(a);w(n,{mode:"data",data:a,fields:o});return}if(r==="json"){m(n,"reading",10);let s=await i.text();m(n,"parsing",45);let a=JSON.parse(s);if(Array.isArray(a)){m(n,"finalizing",90);let o=M(a),l=h.extractFieldsFromData(o);w(n,{mode:"data",data:o,fields:l});}else w(n,{mode:"raw",value:a});return}L(n,`Desteklenmeyen i\\xE7e aktarma t\\xFCr\\xFC: ${String(r)}`);}catch(s){L(n,s instanceof Error?s.message:String(s));}};function m(e,t,n){k.postMessage({type:"progress",jobId:e,phase:t,percent:n});}function w(e,t){k.postMessage({type:"done",jobId:e,payload:t});}function L(e,t){k.postMessage({type:"error",jobId:e,message:t});}';var Du={pivot:wu,export:bu,import:Su},Pu={};function Co(r){return Du[r].length>0}function vo(r){let e=Pu[r];if(e)return e;if(!Co(r))throw new Error(`[pivotgrid] this build carries no embedded ${r} worker (the build step that inlines it did not run).`);if(typeof Blob>"u"||typeof URL?.createObjectURL!="function")throw new Error("[pivotgrid] Blob URLs are unavailable, so the embedded worker cannot start.");let t=URL.createObjectURL(new Blob([Du[r]],{type:"text/javascript"}));return Pu[r]=t,t}function Fe(r,e){try{return new Worker(vo(r),{type:"module"})}catch{return new Worker(e(),{type:"module"})}}var Ee=class r{static jobCounter=0;static isSupported(){return typeof Worker<"u"}parseFile(e,t,u={}){let{onProgress:o,signal:i}=u;return new Promise((n,s)=>{let a;try{a=Fe("import",()=>{let m=()=>"./import.worker.js";return new URL(m(),import.meta.url)});}catch(m){s(m instanceof Error?m:new Error(String(m)));return}let l=`imp_${++r.jobCounter}`,d=false,p=()=>{try{a.terminate();}catch{}i?.removeEventListener("abort",c);},c=()=>{d||(d=true,p(),s(new DOMException("Import aborted","AbortError")));};if(i){if(i.aborted){c();return}i.addEventListener("abort",c);}a.onmessage=m=>{let f=m.data;if(!(!f||f.jobId!==l)){if(f.type==="progress")o?.({phase:f.phase,percent:f.percent});else if(f.type==="done"){if(d)return;d=true,p(),n(f.payload);}else if(f.type==="error"){if(d)return;d=true,p(),s(new Error(f.message||"Import worker error"));}}},a.onerror=m=>{d||(d=true,p(),s(new Error(`Import worker error: ${m.message||"unknown"}`)));},a.postMessage({type:"parse",jobId:l,kind:t,file:e});})}};var yo=500*1024*1024,Fo={version:"1.0.0",type:"DATA_ONLY",timestamp:"",data:[],fields:[]},Me=class{readers=[new Ie,new Xe,new ke,new Ze];maxFileSizeBytes;stream=new Ee;constructor(e){this.maxFileSizeBytes=e?.maxFileSizeBytes??yo;}async processFile(e){this.assertSize(e);let t=this.readers.find(o=>o.supports(e));if(!t)throw new Error("Desteklenmeyen dosya format\u0131.");let u=await t.read(e);return this.buildFromContent(u)}async processFileStreaming(e,t={}){let{onProgress:u,signal:o}=t;if(this.assertSize(e),o?.aborted)return this.cancelledResult();let i=this.workerKind(e);if(i&&Ee.isSupported())try{let a=await this.stream.parseFile(e,i,{onProgress:u,signal:o});return a.mode==="data"?this.buildDataResult(a.data,a.fields):this.buildFromContent(a.value)}catch(a){return this.isAbort(a)||o?.aborted?this.cancelledResult():this.processFile(e)}u?.({phase:"parsing",percent:10});let n=this.readers.find(a=>a.supports(e));if(!n)throw new Error("Desteklenmeyen dosya format\u0131.");if(o?.aborted)return this.cancelledResult();let s=await n.read(e);return o?.aborted?this.cancelledResult():(u?.({phase:"finalizing",percent:100}),this.buildFromContent(s))}async processFromData(e,t={}){return t.signal?.aborted?this.cancelledResult():(t.onProgress?.({phase:"finalizing",percent:100}),this.buildDataResult(Array.isArray(e)?e:[]))}async processFromText(e,t={}){if(t.signal?.aborted)return this.cancelledResult();t.onProgress?.({phase:"parsing",percent:20});let u=Re(e);return t.signal?.aborted?this.cancelledResult():(t.onProgress?.({phase:"finalizing",percent:100}),this.buildDataResult(u))}async processFromUrl(e,t={}){let{onProgress:u,signal:o,fetchInit:i}=t;if(o?.aborted)return this.cancelledResult();u?.({phase:"reading",percent:2});let n;try{n=await fetch(e,{...i,signal:o});}catch(p){if(this.isAbort(p)||o?.aborted)return this.cancelledResult();throw new Error(`URL getirilemedi: ${p instanceof Error?p.message:String(p)}`)}if(!n.ok)throw new Error(`URL getirilemedi (HTTP ${n.status} ${n.statusText}).`);let s=await n.blob(),a=n.headers.get("content-type")||s.type||"",l=Eo(e,a),d=new File([s],l,{type:s.type||a});return this.processFileStreaming(d,{onProgress:u,signal:o})}async processFiles(e,t={}){let u=Array.from(e);if(u.length===0)return this.buildDataResult([]);if(u.length===1)return this.processFileStreaming(u[0],t);let{onProgress:o,signal:i}=t,n=[],s=new Set;for(let l=0;l<u.length;l++){if(i?.aborted)return this.cancelledResult();let d=await this.processFileStreaming(u[l],{signal:i,onProgress:p=>o?.({phase:p.phase,percent:Math.round((l+p.percent/100)/u.length*100)})});if(d.cancelled)return this.cancelledResult();Array.isArray(d.snapshot?.data)&&n.push(...d.snapshot.data),d.validation.warnings.forEach(p=>s.add(p));}let a=this.buildDataResult(n);return s.forEach(l=>{a.validation.warnings.includes(l)||a.validation.warnings.push(l);}),a}assertSize(e){if(this.maxFileSizeBytes>0&&e.size>this.maxFileSizeBytes){let t=(this.maxFileSizeBytes/1048576).toFixed(0);throw new Error(`Dosya \xE7ok b\xFCy\xFCk (limit: ${t} MB). L\xFCtfen daha k\xFC\xE7\xFCk bir dosya y\xFCkleyin veya limiti art\u0131r\u0131n.`)}}workerKind(e){let t=e.name.split(".").pop()?.toLowerCase();return t==="csv"||t==="tsv"||t==="txt"||e.type==="text/csv"||e.type==="text/tab-separated-values"?"csv":t==="json"||e.type==="application/json"?"json":t==="xml"||e.type==="application/xml"||e.type==="text/xml"?"xml":null}isAbort(e){return e instanceof DOMException&&e.name==="AbortError"}cancelledResult(){return {snapshot:Fo,validation:{isValid:false,errors:[],warnings:[]},cancelled:true}}buildFromContent(e){if(Array.isArray(e))return this.buildDataResult(e);let t=e,u=ye.validateSnapshot(t);if(t.data&&t.fields){let o=ye.validateDataAgainstFields(t.data,t.fields);u.warnings.push(...o.warnings);}return {snapshot:t,validation:u}}buildDataResult(e,t){let u=ft(e),o=t??pe.extractFieldsFromData(u),i={version:"1.0.0",type:"DATA_ONLY",timestamp:new Date().toISOString(),data:u,fields:o},n=ye.validateSnapshot(i);return o.some(a=>a.dataField?.toString().startsWith("__EMPTY"))&&n.warnings.push('Bu dosya ham veri (Raw Data) de\u011Fil, g\xF6rsel "Pivot View" format\u0131nda d\u0131\u015Fa aktar\u0131lm\u0131\u015F bir Excel gibi g\xF6r\xFCn\xFCyor. PivotGrid yaln\u0131zca d\xFCz liste (List View) \u015Feklindeki verileri anlamland\u0131rabilir. Bu nedenle veriler bozuk g\xF6r\xFCnebilir.'),{snapshot:i,validation:n}}};function Eo(r,e){let t="download";try{let n=new URL(r,"http://localhost").pathname.split("/").filter(Boolean).pop();n&&(t=n);}catch{}if(/\.(csv|tsv|txt|json|xml|xlsx|xls)$/i.test(t))return t;let u=e.toLowerCase(),o="csv";return u.includes("json")?o="json":u.includes("xml")?o="xml":u.includes("spreadsheet")||u.includes("excel")||u.includes("officedocument")?o="xlsx":u.includes("tab-separated")?o="tsv":u.includes("csv")&&(o="csv"),`${t}.${o}`}var Qe=class{handlers={};on(r,e){let t=this.handlers[r]??new Set;return t.add(e),this.handlers[r]=t,()=>this.off(r,e)}off(r,e){this.handlers[r]?.delete(e);}emit(r,e){let t=this.handlers[r];t&&t.forEach(u=>u(e));}clear(){this.handlers={};}},Iu=class{plugins=new Map;register(r){this.plugins.has(r.id)&&console.warn(`[PivotGrid Warning]: Plugin '${r.id}' is being overwritten in the registry.`),this.plugins.set(r.id,r);}unregister(r){this.plugins.delete(r);}get(r){return this.plugins.get(r)}getPluginsByType(r){return Array.from(this.plugins.values()).filter(e=>e.type===r)}resolveSafe(r,e){let t=this.plugins.get(r);return !t||!t.execute?(console.warn(`[PivotGrid Warning]: Plugin ID '${r}' not found or missing 'execute' function. Using fallback behavior.`),e==="expression"?()=>0:u=>0):t.execute}getWorkerBootstrapPayload(){let r=[];for(let e of this.plugins.values())e.workerCode&&r.push({id:e.id,type:e.type,workerCode:e.workerCode});return r}registerAggregator(r,e,t){this.register({id:r,type:"aggregator",version:t,aggregate:e,execute:e});}registerExporter(r,e,t){this.register({id:`exporter-${r}`,type:"exporter",version:t,exportFunction:e});}registerCellRenderer(r,e,t){this.register({id:r,type:"cellRender",version:t,renderCell:e});}registerHeaderRenderer(r,e,t){this.register({id:r,type:"headerRender",version:t,renderHeader:e});}getExporters(){return this.getPluginsByType("exporter")}getCellRenderers(){return this.getPluginsByType("cellRender")}getAggregators(){return this.getPluginsByType("aggregator")}getHeaderRenderers(){return this.getPluginsByType("headerRender")}},ku=class{static start(r,e,t){return {range:{startRow:r,startColumn:e,endRow:r,endColumn:e},isSelecting:true,mode:t}}static extend(r,e,t,u){return !r||!r.isSelecting||r.mode!==u?r:{...r,range:{...r.range,endRow:e,endColumn:t}}}static finish(r){return r?{...r,isSelecting:false}:null}static containsCell(r,e,t){if(!r)return false;let u=this.getBounds(r.range);return e>=u.minRow&&e<=u.maxRow&&t>=u.minColumn&&t<=u.maxColumn}static calculateStats(r,e){if(!r||r.mode!=="data")return null;let t=this.getBounds(r.range),u=0,o=0,i=1/0,n=-1/0;for(let s=t.minRow;s<=t.maxRow;s++)for(let a=t.minColumn;a<=t.maxColumn;a++){let l=e(s,a);typeof l!="number"||Number.isNaN(l)||(u+=l,o++,l<i&&(i=l),l>n&&(n=l));}return o>0?{sum:u,count:o,avg:u/o,min:i,max:n}:null}static toTsv(r,e){if(!r)return "";let t=this.getBounds(r.range),u=[];for(let o=t.minRow;o<=t.maxRow;o++){let i=[];for(let n=t.minColumn;n<=t.maxColumn;n++)i.push(e(o,n).replace(/\n/g," "));u.push(i.join(" "));}return u.length>0?`${u.join(`
|
|
4
4
|
`)}
|
|
5
|
-
`:""}static getBounds(r){return {minRow:Math.min(r.startRow,r.endRow),maxRow:Math.max(r.startRow,r.endRow),minColumn:Math.min(r.startColumn,r.endColumn),maxColumn:Math.max(r.startColumn,r.endColumn)}}};function Fo(r){let e=Math.max(-100,Math.min(0,Math.floor(r/25)*25)),t=[];for(let u=e;u<=100;u+=25)t.push(u);return t}function Eo(r,e,t=()=>true){let u=r.reduce((i,n)=>Math.max(i,n.length),0),o=r.map((i,n)=>t(n)?{low:new Float64Array(u).fill(NaN),high:new Float64Array(u).fill(NaN),share:new Float64Array(u).fill(NaN)}:null);for(let i=0;i<u;i++){let n=1;if(e==="normalized"){let l=0;for(let d=0;d<r.length;d++){let p=r[d][i];o[d]&&p!==void 0&&!Number.isNaN(p)&&(l+=Math.abs(p));}n=l>0?100/l:0;}let s=0,a=0;for(let l=0;l<r.length;l++){let d=o[l],p=r[l][i];if(!d||p===void 0||Number.isNaN(p))continue;let c=p*n;c>=0?(d.low[i]=s,s+=c,d.high[i]=s):(d.low[i]=a,a+=c,d.high[i]=a),e==="normalized"&&(d.share[i]=c);}}return o}function xo(r,e){let t=Math.floor(Math.log10(r)-1e-9),u=Math.ceil(Math.log10(e));u<=t&&(u=t+1);let o=[];for(let i=t;i<=u;i++){let n=10**i;o.push(n),u-t<2&&i<u&&o.push(2*n,5*n);}return o.map(i=>Number(i.toPrecision(12)))}var ku=["top","bottom","left","right","none"];function Me(r){if(typeof r!="object"||r===null||Array.isArray(r))return {};let e=r,t={};return typeof e.title=="string"&&(t.title=e.title),typeof e.categoryAxisTitle=="string"&&(t.categoryAxisTitle=e.categoryAxisTitle),typeof e.valueAxisTitle=="string"&&(t.valueAxisTitle=e.valueAxisTitle),ku.includes(e.legend)&&(t.legend=e.legend),typeof e.dataLabels=="boolean"&&(t.dataLabels=e.dataLabels),(e.valueScale==="linear"||e.valueScale==="log")&&(t.valueScale=e.valueScale),t}function Mu(r,e){let t=null;return u=>{let o=t;if(t=u,!o||o.open!==u.open){u.open?e("chartOpened",{state:u}):o&&e("chartClosed",{state:u});return}if(!u.open)return;let i=r(o,u);i.length>0&&e("chartChanged",{state:u,changes:i});}}var Du=["#2563eb","#16a34a","#dc2626","#d97706","#9333ea","#0891b2","#be123c","#047857"],gt=[0,150,62,255,205,32,300,105],Ao=[0,-8,8,-4,14,4,-14,18],wo=48;function bo(r){let e=r.trim();if(!e)return null;let t=e.match(/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i);if(t){let o=t[1],i=o.length===3?[...o].map(n=>n+n).join(""):o.slice(0,6);return [0,2,4].map(n=>parseInt(i.slice(n,n+2),16))}let u=e.match(/^rgba?\(([^)]+)\)$/i);if(u){let o=u[1].split(/[\s,/]+/).filter(Boolean).slice(0,3).map(Number);if(o.length===3&&o.every(i=>Number.isFinite(i)))return o.map(i=>Math.max(0,Math.min(255,i)))}return null}function So([r,e,t]){let[u,o,i]=[r/255,e/255,t/255],n=Math.max(u,o,i),s=Math.min(u,o,i),a=(n+s)/2,l=n-s;if(l===0)return {h:0,s:0,l:a*100};let d=l/(1-Math.abs(2*a-1)),p;return n===u?p=(o-i)/l%6:n===o?p=(i-u)/l+2:p=(u-o)/l+4,p*=60,{h:p<0?p+360:p,s:d*100,l:a*100}}function Bu({h:r,s:e,l:t}){let u=Math.max(0,Math.min(100,e))/100,o=Math.max(0,Math.min(100,t))/100,i=(1-Math.abs(2*o-1))*u,n=(r%360+360)%360/60,s=i*(1-Math.abs(n%2-1)),[a,l,d]=n<1?[i,s,0]:n<2?[s,i,0]:n<3?[0,i,s]:n<4?[0,s,i]:n<5?[s,0,i]:[i,0,s],p=o-i/2,c=m=>Math.round(Math.max(0,Math.min(255,(m+p)*255))).toString(16).padStart(2,"0");return `#${c(a)}${c(l)}${c(d)}`}function Po(r,e){let t=Math.max(0,e),u=r?bo(r):null,o=u?So(u):null;return !o||o.s<15?Array.from({length:t},(i,n)=>Du[n%Du.length]):Array.from({length:t},(i,n)=>{if(n===0)return Bu(o);let s=n%gt.length,a=Math.floor(n/gt.length);return Bu({h:o.h+gt[s]+a*18,s:Math.max(o.s,wo),l:Math.max(22,Math.min(78,o.l+Ao[s]))})})}function Nu(r,e=true){let t=[],u=0;for(let o=0;o<r.length;o++){let i=Number.isNaN(r[o])?0:r[o],n=u;u+=i,t.push({start:n,end:u,kind:i<0?"down":"up",value:i});}return e&&t.push({start:0,end:u,kind:"total",value:u}),t}function Ou(r){let e=0,t=0;for(let u of r)e=Math.min(e,u.start,u.end),t=Math.max(t,u.start,u.end);return {min:e,max:t}}function Lu(r){let e=Array.from(r,o=>Number.isFinite(o)&&o>0?o:0),t=Math.max(0,...e),u=e[0]??0;return e.map((o,i)=>({index:i,value:o,ratio:t>0?o/t:0,ofFirst:u>0?o/u:0}))}function Vu(r,e,t,u,o){let i=Array.from(r,(f,h)=>({index:h,value:f})).filter(f=>Number.isFinite(f.value)&&f.value>0).sort((f,h)=>h.value-f.value),n=i.reduce((f,h)=>f+h.value,0);if(n<=0||u<=0||o<=0)return [];let s=u*o/n,a=i.map(f=>({...f,area:f.value*s})),l=[],d={x:e,y:t,width:u,height:o},p=[],c=(f,h)=>{if(f.length===0)return 1/0;let g=f.reduce((x,A)=>x+A.area,0),C=0,v=1/0;for(let x of f)C=Math.max(C,x.area),v=Math.min(v,x.area);let F=g*g,E=h*h;return Math.max(E*C/F,F/(E*v))},m=f=>{let h=f.reduce((g,C)=>g+C.area,0);if(d.width>=d.height){let g=h/d.height,C=d.y;for(let v of f){let F=v.area/g;l.push({index:v.index,value:v.value,x:d.x,y:C,width:g,height:F}),C+=F;}d={x:d.x+g,y:d.y,width:d.width-g,height:d.height};}else {let g=h/d.width,C=d.x;for(let v of f){let F=v.area/g;l.push({index:v.index,value:v.value,x:C,y:d.y,width:F,height:g}),C+=F;}d={x:d.x,y:d.y+g,width:d.width,height:d.height-g};}};for(let f of a){let h=Math.min(d.width,d.height);p.length===0||c([...p,f],h)<=c(p,h)?p.push(f):(m(p),p=[f]);}return p.length>0&&m(p),l}function Tu(r){let e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(r.trim());if(!e)return null;let t=e[1].length===3?e[1].split("").map(u=>u+u).join(""):e[1];return [parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}function zu(r,e="#eff6ff",t="#1d4ed8"){let u=Tu(e)??[239,246,255],o=Tu(t)??[29,78,216],i=Math.max(0,Math.min(1,Number.isFinite(r)?r:0)),n=s=>Math.round(u[s]+(o[s]-u[s])*i);return `rgb(${n(0)}, ${n(1)}, ${n(2)})`}function Gu(r){return r>.55?"#ffffff":"#111827"}var T=r=>Math.round(r*100)/100;function _u(r,e,t=5){e>r||(r-=1,e+=1);let u=(e-r)/Math.max(1,t-1),o=Math.floor(Math.log10(u)),i=u/10**o,n=(i<1.5?1:i<3?2:i<7?5:10)*10**o,s=Math.floor(r/n)*n,a=Math.ceil(e/n)*n,l=[];for(let d=s;d<=a+n/2;d+=n)l.push(Number(d.toPrecision(12)));return l}var Ze=(r,e)=>r.length*e*.58;function Do(r){let e=[],t=r.series[0];if(!t)return e;let u=Nu(t.values,true),o=[...r.categories,r.totalLabel??"Total"],{min:i,max:n}=Ou(u),s=_u(i,n),a=s[0],l=s[s.length-1],d=r.categoryAxisTitle?.trim(),p=r.valueAxisTitle?.trim(),c=72+(p?18:0),m=18,f=Math.max(10,r.width-c-16),h=Math.max(10,r.height-m-62-(d?18:0)),g=w=>T(m+(1-(w-a)/(l-a||1))*h),C=f/Math.max(1,o.length),v=C*.62,F=w=>{let y=c+(w+.5)*C;return T(r.rtl?c+f-(y-c):y)};for(let w of s)e.push({kind:"line",x1:c,y1:g(w),x2:c+f,y2:g(w),dashed:true,tone:"border"}),e.push({kind:"text",x:c-6,y:g(w)+4,text:r.compact(w),anchor:"end",size:11,tone:"muted"});e.push({kind:"line",x1:c,y1:g(0),x2:c+f,y2:g(0),tone:"border"});let E=r.colors?.up??"#16a34a",x=r.colors?.down??"#dc2626",A=r.colors?.total??t.color;return u.forEach((w,y)=>{let b=g(w.start),B=g(w.end),R=w.kind==="total";if(e.push({kind:"rect",x:T(F(y)-v/2),y:Math.min(b,B),width:T(v),height:Math.max(.5,Math.abs(B-b)),fill:R?A:w.kind==="down"?x:E,...R?{}:{ci:y,si:t.index},title:`${o[y]}: ${r.format(t.index,w.value)}`}),y<u.length-1){let P=F(y+1);e.push({kind:"line",x1:T(F(y)+v/2),y1:B,x2:T(P-v/2),y2:B,dashed:true,tone:"border"});}let S=vt(o[y],C);e.push({kind:"text",x:F(y),y:m+h+14,text:S,anchor:"end",size:11,tone:"muted",rotate:-35});}),p&&e.push({kind:"text",x:18,y:m+h/2,text:p,anchor:"middle",size:12,weight:600,tone:"text",rotate:-90}),d&&e.push({kind:"text",x:c+f/2,y:r.height-6,text:d,anchor:"middle",size:12,weight:600,tone:"text"}),e}function vt(r,e){let t=Math.max(4,Math.floor(e/4));return r.length>t*3?`${r.slice(0,t*3-1)}\u2026`:r}function Bo(r,e){let t=[],u=r.series[0];if(!u)return t;let o=Lu(u.values),i=Math.max(1,o.length),n=8,s=Math.min(160,r.width*.3),a=r.rtl?8:s,l=Math.max(10,r.width-s-16),d=(r.height-n-8)/i,p=Math.max(2,d*.78),c=a+l/2;return o.forEach((m,f)=>{let h=Math.max(m.value>0?2:0,l*m.ratio),g=n+f*d+(d-p)/2;t.push({kind:"rect",x:T(c-h/2),y:T(g),width:T(h),height:T(p),fill:u.color,ci:f,si:u.index,opacity:1-.45*f/i,rx:2,title:`${r.categories[f]}: ${r.format(u.index,m.value)}`});let C=T(g+p/2+4);t.push({kind:"text",x:r.rtl?r.width-8:s-8,y:C,text:r.categories[f]??"",anchor:"end",size:11,tone:"muted"});let v=`${r.format(u.index,m.value)} \xB7 ${e(m.ofFirst*100)}`;Ze(v,11)<h-8?t.push({kind:"text",x:T(c),y:C,text:v,anchor:"middle",size:11,fill:"#ffffff"}):t.push({kind:"text",x:T(c+h/2+6),y:C,text:v,anchor:"start",size:11,tone:"text"});}),t}function To(r,e){let t=[],u=r.series[0];if(!u)return t;let o=Vu(u.values,2,2,r.width-4,r.height-4);for(let i of o){t.push({kind:"rect",x:T(i.x+1),y:T(i.y+1),width:T(Math.max(0,i.width-2)),height:T(Math.max(0,i.height-2)),fill:e[i.index%e.length],ci:i.index,si:u.index,rx:2,title:`${r.categories[i.index]}: ${r.format(u.index,i.value)}`});let n=r.categories[i.index]??"",s=r.format(u.index,i.value);i.height>=34&&Ze(n,12)<i.width-10&&(t.push({kind:"text",x:T(i.x+7),y:T(i.y+17),text:n,anchor:"start",size:12,weight:600,fill:"#ffffff"}),Ze(s,11)<i.width-10&&t.push({kind:"text",x:T(i.x+7),y:T(i.y+31),text:s,anchor:"start",size:11,fill:"#ffffff"}));}return t}function Ro(r){let e=[];if(r.series.length===0||r.categories.length===0)return e;let t=1/0,u=-1/0;for(let c of r.series)for(let m=0;m<r.categories.length;m++){let f=c.values[m];Number.isNaN(f)||(t=Math.min(t,f),u=Math.max(u,f));}let o=Math.min(150,r.width*.25),i=r.rtl?4:o,n=6,s=Math.max(10,r.width-o-8),a=Math.max(10,r.height-n-62),l=s/r.categories.length,d=a/r.series.length,p=c=>r.rtl?i+s-(c+1)*l:i+c*l;return r.series.forEach((c,m)=>{let f=n+m*d;e.push({kind:"text",x:r.rtl?r.width-6:o-6,y:T(f+d/2+4),text:c.label,anchor:"end",size:11,tone:"muted"}),r.categories.forEach((h,g)=>{let C=c.values[g];if(Number.isNaN(C))return;let v=u>t?(C-t)/(u-t):.5,F=p(g);e.push({kind:"rect",x:T(F+1),y:T(f+1),width:T(Math.max(0,l-2)),height:T(Math.max(0,d-2)),fill:zu(v,r.colors?.heatFrom,r.colors?.heatTo),ci:g,si:c.index,title:`${c.label} \xB7 ${h}: ${r.format(c.index,C)}`});let E=r.format(c.index,C);d>=16&&Ze(E,10)<l-6&&e.push({kind:"text",x:T(F+l/2),y:T(f+d/2+3.5),text:E,anchor:"middle",size:10,fill:Gu(v)});});}),r.categories.forEach((c,m)=>{e.push({kind:"text",x:T(p(m)+l/2),y:n+a+14,text:vt(c,l),anchor:"end",size:11,tone:"muted",rotate:-35});}),e}function Io(r){let e=[],t=r.series[0],u=r.series[1];if(!t||!u)return e;let o=r.categories.map((x,A)=>{let w=t.values[A],y=u.values[A];return w===void 0||y===void 0||Number.isNaN(w)||Number.isNaN(y)?null:w<=y?{lo:w,hi:y,loSi:t.index,hiSi:u.index}:{lo:y,hi:w,loSi:u.index,hiSi:t.index}}),i=o.filter(x=>x!==null),n=i.length?Math.min(...i.map(x=>x.lo)):0,s=i.length?Math.max(...i.map(x=>x.hi)):1,a=_u(Math.min(n,s),s),l=a[0],d=a[a.length-1],p=r.categoryAxisTitle?.trim(),c=r.valueAxisTitle?.trim(),m=72+(c?18:0),f=18,h=Math.max(10,r.width-m-16),g=Math.max(10,r.height-f-62-(p?18:0)),C=x=>T(f+(1-(x-l)/(d-l||1))*g),v=h/Math.max(1,r.categories.length),F=v*.5,E=x=>{let A=m+(x+.5)*v;return T(r.rtl?m+h-(A-m):A)};for(let x of a)e.push({kind:"line",x1:m,y1:C(x),x2:m+h,y2:C(x),dashed:true,tone:"border"}),e.push({kind:"text",x:m-6,y:C(x)+4,text:r.compact(x),anchor:"end",size:11,tone:"muted"});return r.categories.forEach((x,A)=>{let w=o[A];if(w){let y=C(w.hi),b=C(w.lo),B=`${x}: ${r.format(w.loSi,w.lo)} \u2013 ${r.format(w.hiSi,w.hi)}`;e.push({kind:"rect",x:T(E(A)-F/2),y,width:T(F),height:Math.max(1,T(b-y)),fill:t.color,opacity:.55,rx:2,ci:A,si:t.index,title:B});let R=P=>P===t.index?t.color:u.color,S=(P,I)=>e.push({kind:"rect",x:T(E(A)-F/2),y:T(P-1.5),width:T(F),height:3,fill:R(I),ci:A,si:I,title:B});S(y,w.hiSi),S(b,w.loSi),v>=34&&(e.push({kind:"text",x:E(A),y:T(y-4),text:r.compact(w.hi),anchor:"middle",size:10,tone:"muted"}),e.push({kind:"text",x:E(A),y:T(b+12),text:r.compact(w.lo),anchor:"middle",size:10,tone:"muted"}));}e.push({kind:"text",x:E(A),y:f+g+24,text:vt(x,v),anchor:"end",size:11,tone:"muted",rotate:-35});}),c&&e.push({kind:"text",x:18,y:f+g/2,text:c,anchor:"middle",size:12,weight:600,tone:"text",rotate:-90}),p&&e.push({kind:"text",x:m+h/2,y:r.height-6,text:p,anchor:"middle",size:12,weight:600,tone:"text"}),e}var Ct=(r,e,t,u,o,i)=>{if(i-o>=Math.PI*2-1e-6){let l=o+Math.PI;return `${Ct(r,e,t,u,o,l)} ${Ct(r,e,t,u,l,i)}`}let n=(l,d)=>`${T(r+l*Math.sin(d))},${T(e-l*Math.cos(d))}`,s=i-o>Math.PI?1:0,a=`M${n(u,o)} A${T(u)},${T(u)} 0 ${s} 1 ${n(u,i)}`;return t<=0?`${a} L${T(r)},${T(e)} Z`:`${a} L${n(t,i)} A${T(t)},${T(t)} 0 ${s} 0 ${n(t,o)} Z`};function ko(r){let e=[],t={value:0,children:new Map};for(let c of r.leaves){if(!(c.value>0)||c.path.length===0)continue;let m=t;t.value+=c.value,c.path.forEach((f,h)=>{let g=m.children.get(f);g||(g={label:f,path:c.path.slice(0,h+1),value:0,children:new Map},m.children.set(f,g)),g.value+=c.value,h===c.path.length-1&&(g.ci=c.ci),m=g;});}if(t.value<=0)return e;let u=0,o=(c,m)=>{u=Math.max(u,m);for(let f of c.children.values())o(f,m+1);};o(t,0);let i=r.width/2,n=r.height/2,s=Math.max(10,Math.min(r.width,r.height)/2-8),a=s*.22,l=(s-a)/Math.max(1,u),d=t.value,p=(c,m,f,h,g)=>{let C=f,v=0;for(let F of c.children.values()){let E=F.value/d*Math.PI*2,x=h??r.colors[(g+v)%Math.max(1,r.colors.length)]??"#2563eb",A=a+(m-1)*l,w=A+l-1;e.push({kind:"path",d:Ct(i,n,A,w,C,C+E),fill:x,opacity:Math.max(.4,1-(m-1)*.2),...F.ci!==void 0&&F.children.size===0?{ci:F.ci,si:0}:{},title:`${F.path.join(" \u203A ")}: ${r.format(F.value)} (${r.percentText(F.value/d*100)})`});let y=C+E/2,b=(A+w)/2;if(E*b>34&&l>14){let B=F.label.length>14?`${F.label.slice(0,13)}\u2026`:F.label;e.push({kind:"text",x:T(i+b*Math.sin(y)),y:T(n-b*Math.cos(y)+4),text:B,anchor:"middle",size:10,fill:"#ffffff"});}p(F,m+1,C,x,0),C+=E,v++;}};return p(t,1,0,null,0),e}var Mo=["waterfall","funnel","treemap","heatmap","rangeBar","sunburst"],Ee=class{static intlCache=new Map;static stringCache=new Map;static format(r,e,t,u){if(r==null||r==="(Blank)")return String(r??"");if(e==="export")return String(r);let o=`${t}_${e}_${r}_${u}`,i=this.stringCache.get(o);if(i)return i;let n=String(r);try{if(u==="year")n=String(r);else if(u==="quarter")n=String(r);else if(u==="month"){let s=parseInt(String(r),10)-1;if(!isNaN(s)&&s>=0&&s<=11){let a=new Date(2e3,s,1),l=e==="chart"?"short":"long",d=`${t}_month_${l}`,p=this.intlCache.get(d);p||(p=new Intl.DateTimeFormat(t,{month:l}),this.intlCache.set(d,p)),n=p.format(a);}}else if(u==="dayOfWeek"){let s=parseInt(String(r),10);if(!isNaN(s)&&s>=0&&s<=6){let a=new Date(2e3,0,2+s),l=e==="chart"?"short":"long",d=`${t}_weekday_${l}`,p=this.intlCache.get(d);p||(p=new Intl.DateTimeFormat(t,{weekday:l}),this.intlCache.set(d,p)),n=p.format(a);}}else if((u==="day"||!u)&&!u&&typeof r=="string"&&r.includes("-")){let s=new Date(r);if(!isNaN(s.getTime())){let a=`${t}_full_${e==="chart"?"short":"long"}`,l=this.intlCache.get(a);if(!l){let d=e==="chart"?{month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"};l=new Intl.DateTimeFormat(t,d),this.intlCache.set(a,l);}n=l.format(s);}}}catch{n=String(r);}return this.stringCache.set(o,n),n}static clearCache(){this.stringCache.clear(),this.intlCache.clear();}};var Hu={ok:"Tamam",cancel:"\u0130ptal",apply:"Uygula",close:"Kapat",search:"Ara...",selectAll:"T\xFCm\xFCn\xFC Se\xE7",clearAll:"T\xFCm\xFCn\xFC Temizle",show:"G\xF6ster",hide:"Gizle",filterArea:"Filtre Alan\u0131",columnArea:"S\xFCtunlar",rowArea:"Sat\u0131rlar",dataArea:"De\u011Ferler",footerArea:"Alt Bilgi \xC7ubu\u011Fu",allFields:"T\xFCm Alanlar",dropHere:"Buraya B\u0131rak",actions:"Aksiyonlar",saveNewView:"Yeni G\xF6r\xFCn\xFCm Kaydet",saveAsView:"Farkl\u0131 Kaydet (Kopyala)",saveChanges:"De\u011Fi\u015Fiklikleri Kaydet",savedViews:"Kay\u0131tl\u0131 G\xF6r\xFCn\xFCmler",viewOptions:"G\xF6r\xFCn\xFCm Se\xE7enekleri",export:"D\u0131\u015Fa Aktar",importFile:"\u0130\xE7e Aktar",excelExport:"Excel Export",pivotView:"Pivot G\xF6r\xFCn\xFCm",listView:"Liste G\xF6r\xFCn\xFCm\xFC",preservesGridLayout:"Tablo yap\u0131s\u0131n\u0131 korur",rawFlatData:"Ham veri",document:"D\xF6k\xFCman",pdfDocument:"PDF D\xF6k\xFCman",printReadyLayout:"Yazd\u0131rmaya haz\u0131r",fullSnapshot:"Tam Ekran G\xF6r\xFCnt\xFCs\xFC",saveSessionState:"Oturum durumunu kaydet",rawDataFormats:"Ham Veri Formatlar\u0131",importSuccess:"Ba\u015Far\u0131yla \u0130\xE7e Aktar\u0131ld\u0131",importWarning:"Uyar\u0131larla Tamamland\u0131",importError:"\u0130\xE7e Aktarma Ba\u015Far\u0131s\u0131z",importCancelled:"\u0130\xE7e aktarma iptal edildi.",pasteImport:"Panodan \u0130\xE7e Aktar",pasteImportHint:"Sekme veya virg\xFClle ayr\u0131lm\u0131\u015F",importFromFile:"Dosyadan",dropToImport:"Dosyalar\u0131 i\xE7e aktarmak i\xE7in buraya b\u0131rak\u0131n",clipboardEmpty:"Panoda i\xE7e aktar\u0131lacak metin bulunamad\u0131.",clipboardDenied:"Panoya eri\u015Filemedi. L\xFCtfen taray\u0131c\u0131 izinlerini kontrol edin.",importPreviewTitle:"\u0130\xE7e Aktarma \xD6nizlemesi",importPreviewSubtitle:"{rows} sat\u0131r \u2022 {cols} s\xFCtun i\xE7e aktar\u0131lacak",importPreviewFooter:"S\xFCtunlar\u0131 ve tipleri g\xF6zden ge\xE7irip onaylay\u0131n.",columns:"S\xFCtunlar",includeColumn:"Bu s\xFCtunu dahil et",dataPreview:"Veri \xD6nizlemesi",applyImport:"\u0130\xE7e Aktar",type_string:"Metin",type_number:"Say\u0131",type_date:"Tarih",type_boolean:"Mant\u0131ksal",loading:"Y\xFCkleniyor...",initializing:"Y\xFCkleniyor...",emptyData:"Veri Bulunamad\u0131",noItems:"Kay\u0131t bulunamad\u0131",blanks:"(Bo\u015Flar)",loadingData:"L\xFCtfen bekleyin, veriler haz\u0131rlan\u0131yor...",processing:"\u0130\u015Flem yap\u0131l\u0131yor...",reading:"Dosya okunuyor...",parsing:"Ayr\u0131\u015Ft\u0131r\u0131l\u0131yor...",typing:"Tipler belirleniyor...",finalizing:"Tamamlan\u0131yor...",fieldSettings:"Alan Ayarlar\u0131",caption:"Ba\u015Fl\u0131k",summaryType:"\xD6zet T\xFCr\xFC",displayMode:"G\xF6sterim \u015Eekli",groupInterval:"Grup Aral\u0131\u011F\u0131",sum:"Toplam",count:"Say",avg:"Ortalama",min:"Min",max:"Max",grandTotal:"Genel Toplam",subTotal:"Alt Toplam",absoluteValue:"Mutlak De\u011Fer",runningTotal:"Y\xFCr\xFCyen Toplam",difference:"Fark",percentOfTotal:"Genel Toplam Y\xFCzdesi",none:"Yok",year:"Y\u0131l",quarter:"\xC7eyrek",month:"Ay",day:"G\xFCn",and:"Ve",or:"Veya",noConditionsAdded:"Hen\xFCz ko\u015Ful eklenmedi...",calculatedMeasureDesigner:"Hesaplanan \xD6l\xE7\xFC Tasar\u0131mc\u0131s\u0131",createFormulasWithoutCode:"Kod yazmadan yeni form\xFCller ve hesaplamalar olu\u015Fturun.",measureName:"\xD6l\xE7\xFC Ad\u0131",format:"Format",numericStandard:"Say\u0131sal (Standart)",numericDecimal:"Say\u0131sal (Ondal\u0131kl\u0131 1.486,15)",currencyTRY:"Para Birimi (TL)",currencyUSD:"Para Birimi (USD)",percent:"Y\xFCzdelik (%)",measureNamePlaceholder:"\xF6rn. K\xE2r marj\u0131",customFormat:"\xD6zel\u2026",customPrefix:"\xD6n ek",customSuffix:"Son ek",minFraction:"Min ondal\u0131k",maxFraction:"Maks ondal\u0131k",calculationLevel:"Hesaplama d\xFCzeyi",calcRowLevel:"Sat\u0131r d\xFCzeyi (ham veri)",calcSummaryLevel:"\xD6zet d\xFCzeyi (toplula\u015Ft\u0131r\u0131lm\u0131\u015F)",fields:"Alanlar",noFieldsFound:"Bu d\xFCzey i\xE7in uygun alan yok.",deleteCalcField:"Hesaplanan alan\u0131 sil",formula:"Form\xFCl",formulaPlaceholder:"\xF6rn. [Gelir] - [Maliyet]",saveAndAdd:"Kaydet ve Ekle",measureNameEmpty:"\xD6l\xE7\xFC ad\u0131 gerekli.",formulaEmpty:"Form\xFCl gerekli.",formulaError:"Form\xFCl hatas\u0131",error:"Hata",systemError:"Beklenmeyen bir hata olu\u015Ftu",expand:"Geni\u015Flet",collapse:"Daralt",expandAll:"T\xFCm\xFCn\xFC Geni\u015Flet",refreshData:"Veriyi Yenile",filterBuilder:"Filtre Olu\u015Fturucu",chartToggle:"Grafik g\xF6r\xFCn\xFCm\xFCn\xFC a\xE7/kapat",collapseAll:"T\xFCm\xFCn\xFC Daralt",sortByThisColumn:"Bu S\xFCtuna G\xF6re S\u0131rala",sortFieldByThisColumn:'"{0}" Alan\u0131n\u0131 Bu S\xFCtuna G\xF6re S\u0131rala',removeAllSorting:"T\xFCm S\u0131ralamalar\u0131 Kald\u0131r",sortAsc:"A'dan Z'ye S\u0131rala",sortDesc:"Z'den A'ya S\u0131rala",clearSort:"S\u0131ralamay\u0131 Temizle",order:"S\u0131ra",moveToStart:"Ba\u015Fa ta\u015F\u0131",moveToEnd:"Sona ta\u015F\u0131",moveToLeft:"Sola ta\u015F\u0131",moveToRight:"Sa\u011Fa ta\u015F\u0131",fieldChipLabel:"{0}, {1}, {3} i\xE7inde {2}.",fieldChipKeys:"Enter s\u0131ralar. Ctrl+Ok alan\u0131 ta\u015F\u0131r, Ctrl+Home/End ba\u015Fa veya sona ta\u015F\u0131r, Delete kald\u0131r\u0131r, Shift+F10 men\xFCy\xFC a\xE7ar.",moveToArea:"\u015Euraya ta\u015F\u0131",opEquals:"e\u015Fittir",opNotEquals:"e\u015Fit de\u011Fildir",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"i\xE7erir",opNotContains:"i\xE7ermez",opStartsWith:"ile ba\u015Flar",opEndsWith:"ile biter",opIsBlank:"bo\u015Ftur",opIsNotBlank:"bo\u015F de\u011Fildir",builderCombine:"Ko\u015Fullar\u0131 \u015Fununla birle\u015Ftir",builderAddCondition:"Ko\u015Ful ekle",builderAddGroup:"Grup ekle",builderRemoveGroup:"Grubu kald\u0131r",builderRemoveCondition:"Ko\u015Fulu kald\u0131r",builderEmpty:"Hen\xFCz ko\u015Ful yok.",builderValuePlaceholder:"Bir de\u011Fer girin",showFieldList:"Alan listesini g\xF6ster",editCalculation:"Hesaplamay\u0131 D\xFCzenle",viewsAndReports:"Kay\u0131tl\u0131 G\xF6r\xFCn\xFCmler ve Raporlar",views:"G\xF6r\xFCn\xFCmler",saveChangesOverwrite:"De\u011Fi\u015Fiklikleri Kaydet (\xDCzerine Yaz)",saveAsCopy:"Farkl\u0131 Kaydet (Kopyala)",makeDefault:"Varsay\u0131lan Yap",deleteReport:"Raporu Sil",deleteReportConfirm:"'{0}' raporunu silmek istedi\u011Finize emin misiniz?",customExports:"\xD6zel D\u0131\u015Fa Aktar\u0131mlar",customPlugin:"\xD6zel Eklenti",saveReport:"Raporu Kaydet",saveReportDescription:"Ge\xE7erli alanlar\u0131 ve d\xFCzeni adland\u0131r\u0131lm\u0131\u015F bir g\xF6r\xFCn\xFCm olarak kaydedin.",reportName:"Rapor Ad\u0131",reportNamePlaceholder:"\xD6rn: Ayl\u0131k Sat\u0131\u015F Analizi",setAsDefault:"Varsay\u0131lan olarak belirle",save:"Kaydet",enterFullscreen:"Tam Ekran Yap",exitFullscreen:"Tam Ekrandan \xC7\u0131k",print:"Yazd\u0131r",sendToPrinter:"Yaz\u0131c\u0131ya g\xF6nder",copyToClipboard:"Panoya Kopyala",tabSeparatedValues:"Sekmeyle ayr\u0131lm\u0131\u015F de\u011Ferler",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \xF6zelli\u011Fi \u2014 y\xFCkseltmek i\xE7in t\u0131klay\u0131n",dataImportUnsupported:"Bu tablo d\u0131\u015F veri al\u0131m\u0131n\u0131 desteklemiyor. Sadece g\xF6r\xFCn\xFCm g\xFCncellendi.",columnFilter:"S\xFCtun filtresi",percentOfColumnTotal:"S\xFCtun Toplam\u0131n\u0131n Y\xFCzdesi",percentOfRowTotal:"Sat\u0131r Toplam\u0131n\u0131n Y\xFCzdesi",percentDifference:"Y\xFCzde Fark",filterField:"Alan\u0131 filtrele",removeFromArea:"Alandan kald\u0131r",removeField:"Alan\u0131 kald\u0131r",deletePermanently:"Kal\u0131c\u0131 olarak sil",exportCsv:"CSV'ye aktar",pagerPage:"Sayfa",pagerOf:"/",pagerPrevious:"\xD6nceki sayfa",pagerNext:"Sonraki sayfa",drillDown:"Ayr\u0131nt\u0131ya \u0130n",drillDownRecords:"Kay\u0131t: {count}",exportGeneratedOn:"Olu\u015Fturma tarihi",calcRowLevelHint:"Her kaynak sat\u0131r i\xE7in hesaplan\u0131r, sonra di\u011Fer \xF6l\xE7\xFCler gibi toplan\u0131r.",calcSummaryLevelHint:"Pivot toplad\u0131ktan sonra, toplanm\u0131\u015F h\xFCcrelerden hesaplan\u0131r.",formulaValid:"Form\xFCl ge\xE7erli",calcFieldsHint:"Form\xFCle eklemek i\xE7in bir alana t\u0131klay\u0131n.",formulaUses:"Kullan\u0131lan: {fields}",licenseMissing:"Lisanss\u0131z",licenseExpired:"Lisans\u0131n s\xFCresi dolmu\u015F",licenseReleaseNotCovered:"Bu s\xFCr\xFCm lisans kapsam\u0131nda de\u011Fil",licenseDomainMismatch:"Lisans bu alan ad\u0131 i\xE7in ge\xE7erli de\u011Fil",licenseRevoked:"Lisans iptal edilmi\u015F",licenseInvalidFormat:"Lisans anahtar\u0131 hatal\u0131",licenseInvalidSignature:"Lisans imzas\u0131 ge\xE7ersiz",licenseEngineUnavailable:"Taray\u0131c\u0131 lisans\u0131 do\u011Frulayam\u0131yor (HTTPS gerekli)"},$u={ok:"OK",cancel:"Cancel",apply:"Apply",close:"Close",search:"Search...",selectAll:"Select All",clearAll:"Clear All",show:"Show",hide:"Hide",filterArea:"Filter Area",columnArea:"Columns",rowArea:"Rows",dataArea:"Values",footerArea:"Footer Area",allFields:"All Fields",dropHere:"Drop Here",actions:"Actions",saveNewView:"Save New View",saveAsView:"Save As",saveChanges:"Save Changes",savedViews:"Saved Views",viewOptions:"View Options",export:"Export",importFile:"Import",excelExport:"Excel Export",pivotView:"Pivot View",listView:"List View",preservesGridLayout:"Preserves grid layout",rawFlatData:"Raw flat data",document:"Document",pdfDocument:"PDF Document",printReadyLayout:"Print-ready layout",fullSnapshot:"Full Snapshot",saveSessionState:"Save session state",rawDataFormats:"Raw Data Formats",importSuccess:"Successfully Imported",importWarning:"Completed with Warnings",importError:"Import Failed",importCancelled:"Import cancelled.",pasteImport:"Import from Clipboard",pasteImportHint:"Tab or comma separated",importFromFile:"From File",dropToImport:"Drop files here to import",clipboardEmpty:"No importable text found on the clipboard.",clipboardDenied:"Could not access the clipboard. Please check browser permissions.",importPreviewTitle:"Import Preview",importPreviewSubtitle:"{rows} rows \u2022 {cols} columns will be imported",importPreviewFooter:"Review columns and types, then confirm.",columns:"Columns",includeColumn:"Include this column",dataPreview:"Data Preview",applyImport:"Import",type_string:"Text",type_number:"Number",type_date:"Date",type_boolean:"Boolean",initializing:"Initializing...",loading:"Loading...",emptyData:"No Data Found",noItems:"No items found",blanks:"(Blanks)",loadingData:"Please wait, preparing data...",processing:"Processing...",reading:"Reading file...",parsing:"Parsing...",typing:"Detecting types...",finalizing:"Finalizing...",fieldSettings:"Field Settings",caption:"Caption",summaryType:"Summary Type",displayMode:"Display Mode",groupInterval:"Group Interval",sum:"Sum",count:"Count",avg:"Average",min:"Min",max:"Max",grandTotal:"Grand Total",subTotal:"Sub Total",absoluteValue:"Absolute Value",runningTotal:"Running Total",difference:"Difference",percentOfTotal:"% of Total",none:"None",year:"Year",quarter:"Quarter",month:"Month",day:"Day",and:"And",or:"Or",noConditionsAdded:"No conditions added...",calculatedMeasureDesigner:"Calculated Measure Designer",createFormulasWithoutCode:"Create formulas and calculations without writing code.",measureName:"Measure Name",format:"Format",numericStandard:"Numeric (Standard)",numericDecimal:"Numeric (Decimal 1,486.15)",currencyTRY:"Currency (TRY)",currencyUSD:"Currency (USD)",percent:"Percent (%)",measureNamePlaceholder:"e.g. Profit margin",customFormat:"Custom\u2026",customPrefix:"Prefix",customSuffix:"Suffix",minFraction:"Min dec.",maxFraction:"Max dec.",calculationLevel:"Calculation level",calcRowLevel:"Row level (raw data)",calcSummaryLevel:"Summary level (aggregated)",fields:"Fields",noFieldsFound:"No eligible fields for this level.",deleteCalcField:"Delete calculated field",formula:"Formula",formulaPlaceholder:"e.g. [Revenue] - [Cost]",saveAndAdd:"Save & add",measureNameEmpty:"Field name is required.",formulaEmpty:"Formula is required.",formulaError:"Formula error",error:"Error",systemError:"An unexpected error occurred",expand:"Expand",collapse:"Collapse",expandAll:"Expand All",refreshData:"Refresh Data",filterBuilder:"Filter Builder",chartToggle:"Toggle Chart View",collapseAll:"Collapse All",sortByThisColumn:"Sort by This Column",sortFieldByThisColumn:'Sort "{0}" by This Column',removeAllSorting:"Remove All Sorting",sortAsc:"Sort A to Z",sortDesc:"Sort Z to A",clearSort:"Clear Sort",order:"Order",moveToStart:"Move to Start",moveToEnd:"Move to End",moveToLeft:"Move to Left",moveToRight:"Move to Right",fieldChipLabel:"{0}, {1}, {2} of {3}",fieldChipKeys:"Enter sorts. Ctrl+Arrow moves the field, Ctrl+Home/End moves it to the start or end, Delete removes it, Shift+F10 opens the menu.",moveToArea:"Move to",opEquals:"is",opNotEquals:"is not",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contains",opNotContains:"does not contain",opStartsWith:"starts with",opEndsWith:"ends with",opIsBlank:"is blank",opIsNotBlank:"is not blank",builderCombine:"Combine conditions with",builderAddCondition:"Add condition",builderAddGroup:"Add group",builderRemoveGroup:"Remove group",builderRemoveCondition:"Remove condition",builderEmpty:"No conditions yet.",builderValuePlaceholder:"Enter a value",showFieldList:"Show Field List",editCalculation:"Edit Calculation",viewsAndReports:"Saved Views and Reports",views:"Views",saveChangesOverwrite:"Save Changes (Overwrite)",saveAsCopy:"Save As (Copy)",makeDefault:"Make Default",deleteReport:"Delete Report",deleteReportConfirm:"Are you sure you want to delete the report '{0}'?",customExports:"Custom Exports",customPlugin:"Custom Plugin",saveReport:"Save Report",saveReportDescription:"Save the current fields and layout as a named view.",reportName:"Report Name",reportNamePlaceholder:"e.g. Monthly Sales Analysis",setAsDefault:"Set as default",save:"Save",enterFullscreen:"Enter Full Screen",exitFullscreen:"Exit Full Screen",print:"Print",sendToPrinter:"Send to printer",copyToClipboard:"Copy to Clipboard",tabSeparatedValues:"Tab-separated values",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise feature \u2014 click to upgrade",dataImportUnsupported:"This grid does not accept imported data. Only the view was updated.",columnFilter:"Column filter",percentOfColumnTotal:"% of Column Total",percentOfRowTotal:"% of Row Total",percentDifference:"% Difference",filterField:"Filter field",removeFromArea:"Remove from area",removeField:"Remove field",deletePermanently:"Delete permanently",exportCsv:"Export to CSV",pagerPage:"Page",pagerOf:"of",pagerPrevious:"Previous page",pagerNext:"Next page",drillDown:"Drill Down",drillDownRecords:"Records: {count}",exportGeneratedOn:"Generated on",calcRowLevelHint:"Computed for every source row, then aggregated like any other measure.",calcSummaryLevelHint:"Computed from the aggregated cells, after the pivot has summed.",formulaValid:"Formula is valid",calcFieldsHint:"Click a field to insert it into the formula.",formulaUses:"Uses: {fields}",licenseMissing:"Unlicensed",licenseExpired:"License expired",licenseReleaseNotCovered:"This version is not covered by the license",licenseDomainMismatch:"License not valid for this domain",licenseRevoked:"License revoked",licenseInvalidFormat:"Malformed license key",licenseInvalidSignature:"Invalid license signature",licenseEngineUnavailable:"Browser cannot verify the license (HTTPS required)"},Wu={ok:"OK",cancel:"Abbrechen",apply:"Anwenden",close:"Schlie\xDFen",search:"Suchen...",selectAll:"Alles ausw\xE4hlen",clearAll:"Alles l\xF6schen",show:"Anzeigen",hide:"Verbergen",filterArea:"Filterbereich",columnArea:"Spalten",rowArea:"Zeilen",dataArea:"Werte",footerArea:"Fu\xDFbereich",allFields:"Alle Felder",dropHere:"Hier ablegen",actions:"Aktionen",saveNewView:"Neue Ansicht speichern",saveAsView:"Speichern unter",saveChanges:"\xC4nderungen speichern",savedViews:"Gespeicherte Ansichten",viewOptions:"Ansichtsoptionen",export:"Exportieren",importFile:"Importieren",importFromFile:"Aus Datei",pasteImport:"Aus Zwischenablage importieren",pasteImportHint:"Tabulator- oder kommagetrennt",dropToImport:"Dateien zum Importieren hier ablegen",clipboardEmpty:"Kein importierbarer Text in der Zwischenablage gefunden.",clipboardDenied:"Zugriff auf die Zwischenablage nicht m\xF6glich. Bitte Browser-Berechtigungen pr\xFCfen.",excelExport:"Excel Export",pivotView:"Pivot-Ansicht",listView:"Listenansicht",preservesGridLayout:"Beh\xE4lt das Rasterlayout bei",rawFlatData:"Rohe flache Daten",document:"Dokument",pdfDocument:"PDF-Dokument",printReadyLayout:"Druckfertiges Layout",fullSnapshot:"Vollst\xE4ndiger Schnappschuss",saveSessionState:"Sitzungsstatus speichern",rawDataFormats:"Rohdatenformate",importSuccess:"Erfolgreich importiert",importWarning:"Mit Warnungen abgeschlossen",importError:"Import fehlgeschlagen",initializing:"Initialisierung...",loading:"Wird geladen...",emptyData:"Keine Daten gefunden",noItems:"Keine Elemente gefunden",blanks:"(Leer)",loadingData:"Bitte warten, Daten werden vorbereitet...",processing:"Verarbeitung...",fieldSettings:"Feldeinstellungen",caption:"Beschriftung",summaryType:"Zusammenfassungstyp",displayMode:"Anzeigemodus",groupInterval:"Gruppenintervall",sum:"Summe",count:"Anzahl",avg:"Durchschnitt",min:"Min",max:"Max",grandTotal:"Gesamtsumme",subTotal:"Zwischensumme",absoluteValue:"Absoluter Wert",runningTotal:"Laufende Summe",difference:"Differenz",percentOfTotal:"% des Gesamtwerts",none:"Keine",year:"Jahr",quarter:"Quartal",month:"Monat",day:"Tag",and:"Und",or:"Oder",noConditionsAdded:"Keine Bedingungen hinzugef\xFCgt...",calculatedMeasureDesigner:"Designer f\xFCr berechnete Kennzahlen",createFormulasWithoutCode:"Erstellen Sie Formeln und Berechnungen ohne Code.",measureName:"Kennzahlenname",format:"Format",numericStandard:"Numerisch (Standard)",numericDecimal:"Numerisch (Dezimal 1.486,15)",currencyTRY:"W\xE4hrung (TRY)",currencyUSD:"W\xE4hrung (USD)",percent:"Prozent (%)",expand:"Erweitern",collapse:"Reduzieren",expandAll:"Alle erweitern",refreshData:"Daten aktualisieren",filterBuilder:"Filter-Editor",chartToggle:"Diagrammansicht umschalten",collapseAll:"Alle reduzieren",sortByThisColumn:"Nach dieser Spalte sortieren",sortFieldByThisColumn:'"{0}" nach dieser Spalte sortieren',removeAllSorting:"Alle Sortierungen entfernen",sortAsc:"Sortieren A bis Z",sortDesc:"Sortieren Z bis A",clearSort:"Sortierung l\xF6schen",order:"Reihenfolge",moveToStart:"An den Anfang verschieben",moveToEnd:"Ans Ende verschieben",moveToLeft:"Nach links verschieben",moveToRight:"Nach rechts verschieben",fieldChipLabel:"{0}, {1}, {2} von {3}",fieldChipKeys:"Enter sortiert. Strg+Pfeil verschiebt das Feld, Strg+Pos1/Ende an den Anfang oder das Ende, Entf entfernt es, Umschalt+F10 \xF6ffnet das Men\xFC.",moveToArea:"Verschieben nach",opEquals:"ist",opNotEquals:"ist nicht",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"enth\xE4lt",opNotContains:"enth\xE4lt nicht",opStartsWith:"beginnt mit",opEndsWith:"endet mit",opIsBlank:"ist leer",opIsNotBlank:"ist nicht leer",builderCombine:"Bedingungen verkn\xFCpfen mit",builderAddCondition:"Bedingung hinzuf\xFCgen",builderAddGroup:"Gruppe hinzuf\xFCgen",builderRemoveGroup:"Gruppe entfernen",builderRemoveCondition:"Bedingung entfernen",builderEmpty:"Noch keine Bedingungen.",builderValuePlaceholder:"Wert eingeben",showFieldList:"Feldliste anzeigen",editCalculation:"Berechnung bearbeiten",viewsAndReports:"Gespeicherte Ansichten und Berichte",views:"Ansichten",saveChangesOverwrite:"\xC4nderungen speichern (\xDCberschreiben)",saveAsCopy:"Speichern unter (Kopie)",makeDefault:"Als Standard festlegen",deleteReport:"Bericht l\xF6schen",deleteReportConfirm:"M\xF6chten Sie den Bericht '{0}' wirklich l\xF6schen?",customExports:"Benutzerdefinierte Exporte",customPlugin:"Benutzerdefiniertes Plugin",importCancelled:"Import abgebrochen.",importPreviewTitle:"Importvorschau",importPreviewSubtitle:"{rows} Zeilen \u2022 {cols} Spalten werden importiert",importPreviewFooter:"Spalten und Typen pr\xFCfen, dann best\xE4tigen.",columns:"Spalten",includeColumn:"Diese Spalte einbeziehen",dataPreview:"Datenvorschau",applyImport:"Importieren",type_string:"Text",type_number:"Zahl",type_date:"Datum",type_boolean:"Boolesch",reading:"Datei wird gelesen\u2026",parsing:"Wird analysiert\u2026",typing:"Typen werden erkannt\u2026",finalizing:"Wird abgeschlossen\u2026",measureNamePlaceholder:"z. B. Gewinnmarge",customFormat:"Benutzerdefiniert\u2026",customPrefix:"Pr\xE4fix",customSuffix:"Suffix",minFraction:"Min. Dez.",maxFraction:"Max. Dez.",calculationLevel:"Berechnungsebene",calcRowLevel:"Zeilenebene (Rohdaten)",calcSummaryLevel:"Zusammenfassungsebene (aggregiert)",fields:"Felder",noFieldsFound:"Keine geeigneten Felder f\xFCr diese Ebene.",deleteCalcField:"Berechnetes Feld l\xF6schen",formula:"Formel",formulaPlaceholder:"z. B. [Umsatz] - [Kosten]",saveAndAdd:"Speichern & hinzuf\xFCgen",measureNameEmpty:"Feldname ist erforderlich.",formulaEmpty:"Formel ist erforderlich.",formulaError:"Formelfehler",error:"Fehler",systemError:"Ein unerwarteter Fehler ist aufgetreten",saveReport:"Bericht speichern",saveReportDescription:"Aktuelle Felder und Layout als benannte Ansicht speichern.",reportName:"Berichtsname",reportNamePlaceholder:"z. B. Monatliche Umsatzanalyse",setAsDefault:"Als Standard festlegen",save:"Speichern",enterFullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",print:"Drucken",sendToPrinter:"An Drucker senden",copyToClipboard:"In Zwischenablage kopieren",tabSeparatedValues:"Tabulatorgetrennte Werte",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise-Funktion \u2014 zum Upgrade klicken",dataImportUnsupported:"Dieses Grid akzeptiert keine importierten Daten. Nur die Ansicht wurde aktualisiert.",columnFilter:"Spaltenfilter",percentOfColumnTotal:"% der Spaltensumme",percentOfRowTotal:"% der Zeilensumme",percentDifference:"% Differenz",filterField:"Feld filtern",removeFromArea:"Aus Bereich entfernen",removeField:"Feld entfernen",deletePermanently:"Endg\xFCltig l\xF6schen",exportCsv:"Als CSV exportieren",pagerPage:"Seite",pagerOf:"von",pagerPrevious:"Vorherige Seite",pagerNext:"N\xE4chste Seite",drillDown:"Detailansicht",drillDownRecords:"Datens\xE4tze: {count}",exportGeneratedOn:"Erstellt am",calcRowLevelHint:"Wird f\xFCr jede Quellzeile berechnet und dann wie jede andere Kennzahl aggregiert.",calcSummaryLevelHint:"Wird aus den aggregierten Zellen berechnet, nachdem die Pivot summiert hat.",formulaValid:"Formel ist g\xFCltig",calcFieldsHint:"Klicken Sie ein Feld an, um es in die Formel einzuf\xFCgen.",formulaUses:"Verwendet: {fields}",licenseMissing:"Nicht lizenziert",licenseExpired:"Lizenz abgelaufen",licenseReleaseNotCovered:"Diese Version ist nicht durch die Lizenz abgedeckt",licenseDomainMismatch:"Lizenz gilt nicht f\xFCr diese Domain",licenseRevoked:"Lizenz widerrufen",licenseInvalidFormat:"Lizenzschl\xFCssel fehlerhaft",licenseInvalidSignature:"Ung\xFCltige Lizenzsignatur",licenseEngineUnavailable:"Browser kann die Lizenz nicht pr\xFCfen (HTTPS erforderlich)"},Uu={ok:"OK",cancel:"Annuler",apply:"Appliquer",close:"Fermer",search:"Rechercher...",selectAll:"Tout s\xE9lectionner",clearAll:"Tout effacer",show:"Afficher",hide:"Masquer",filterArea:"Zone de filtre",columnArea:"Colonnes",rowArea:"Lignes",dataArea:"Valeurs",footerArea:"Pied de page",allFields:"Tous les champs",dropHere:"D\xE9poser ici",actions:"Actions",saveNewView:"Enregistrer la nouvelle vue",saveAsView:"Enregistrer sous",saveChanges:"Enregistrer les modifications",savedViews:"Vues enregistr\xE9es",viewOptions:"Options d'affichage",export:"Exporter",importFile:"Importer",importFromFile:"Depuis un fichier",pasteImport:"Importer depuis le presse-papiers",pasteImportHint:"S\xE9par\xE9 par tabulation ou virgule",dropToImport:"D\xE9posez les fichiers ici pour les importer",clipboardEmpty:"Aucun texte importable trouv\xE9 dans le presse-papiers.",clipboardDenied:"Impossible d\u2019acc\xE9der au presse-papiers. V\xE9rifiez les autorisations du navigateur.",excelExport:"Exportation Excel",pivotView:"Vue Pivot",listView:"Vue Liste",preservesGridLayout:"Pr\xE9serve la disposition de la grille",rawFlatData:"Donn\xE9es brutes plates",document:"Document",pdfDocument:"Document PDF",printReadyLayout:"Mise en page pr\xEAte pour l'impression",fullSnapshot:"Capture compl\xE8te",saveSessionState:"Enregistrer l'\xE9tat de la session",rawDataFormats:"Formats de donn\xE9es brutes",importSuccess:"Importation r\xE9ussie",importWarning:"Termin\xE9 avec des avertissements",importError:"\xC9chec de l'importation",initializing:"Initialisation...",loading:"Chargement...",emptyData:"Aucune donn\xE9e trouv\xE9e",noItems:"Aucun \xE9l\xE9ment trouv\xE9",blanks:"(Vides)",loadingData:"Veuillez patienter, pr\xE9paration des donn\xE9es...",processing:"Traitement...",fieldSettings:"Param\xE8tres du champ",caption:"L\xE9gende",summaryType:"Type de r\xE9sum\xE9",displayMode:"Mode d'affichage",groupInterval:"Intervalle de groupe",sum:"Somme",count:"Nombre",avg:"Moyenne",min:"Min",max:"Max",grandTotal:"Total g\xE9n\xE9ral",subTotal:"Sous-total",absoluteValue:"Valeur absolue",runningTotal:"Total cumul\xE9",difference:"Diff\xE9rence",percentOfTotal:"% du total",none:"Aucun",year:"Ann\xE9e",quarter:"Trimestre",month:"Mois",day:"Jour",and:"Et",or:"Ou",noConditionsAdded:"Aucune condition ajout\xE9e...",calculatedMeasureDesigner:"Concepteur de mesures calcul\xE9es",createFormulasWithoutCode:"Cr\xE9ez des formules et des calculs sans \xE9crire de code.",measureName:"Nom de la mesure",format:"Format",numericStandard:"Num\xE9rique (Standard)",numericDecimal:"Num\xE9rique (D\xE9cimal 1.486,15)",currencyTRY:"Devise (TRY)",currencyUSD:"Devise (USD)",percent:"Pourcentage (%)",expand:"D\xE9velopper",collapse:"R\xE9duire",expandAll:"D\xE9velopper tout",refreshData:"Actualiser les donn\xE9es",filterBuilder:"G\xE9n\xE9rateur de filtres",chartToggle:"Basculer la vue graphique",collapseAll:"R\xE9duire tout",sortByThisColumn:"Trier par cette colonne",sortFieldByThisColumn:'Trier "{0}" par cette colonne',removeAllSorting:"Supprimer tous les tris",sortAsc:"Trier de A \xE0 Z",sortDesc:"Trier de Z \xE0 A",clearSort:"Effacer le tri",order:"Ordre",moveToStart:"D\xE9placer au d\xE9but",moveToEnd:"D\xE9placer \xE0 la fin",moveToLeft:"D\xE9placer vers la gauche",moveToRight:"D\xE9placer vers la droite",fieldChipLabel:"{0}, {1}, {2} sur {3}",fieldChipKeys:"Entr\xE9e trie. Ctrl+Fl\xE8che d\xE9place le champ, Ctrl+D\xE9but/Fin le place au d\xE9but ou \xE0 la fin, Suppr le retire, Maj+F10 ouvre le menu.",moveToArea:"D\xE9placer vers",opEquals:"est",opNotEquals:"n'est pas",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contient",opNotContains:"ne contient pas",opStartsWith:"commence par",opEndsWith:"se termine par",opIsBlank:"est vide",opIsNotBlank:"n'est pas vide",builderCombine:"Combiner les conditions avec",builderAddCondition:"Ajouter une condition",builderAddGroup:"Ajouter un groupe",builderRemoveGroup:"Supprimer le groupe",builderRemoveCondition:"Supprimer la condition",builderEmpty:"Aucune condition pour le moment.",builderValuePlaceholder:"Saisissez une valeur",showFieldList:"Afficher la liste des champs",editCalculation:"Modifier le calcul",viewsAndReports:"Vues et rapports enregistr\xE9s",views:"Vues",saveChangesOverwrite:"Enregistrer les modifications (\xC9craser)",saveAsCopy:"Enregistrer sous (Copie)",makeDefault:"D\xE9finir par d\xE9faut",deleteReport:"Supprimer le rapport",deleteReportConfirm:"\xCAtes-vous s\xFBr de vouloir supprimer le rapport '{0}' ?",customExports:"Exportations personnalis\xE9es",customPlugin:"Plugin personnalis\xE9",importCancelled:"Importation annul\xE9e.",importPreviewTitle:"Aper\xE7u de l'importation",importPreviewSubtitle:"{rows} lignes \u2022 {cols} colonnes seront import\xE9es",importPreviewFooter:"V\xE9rifiez les colonnes et les types, puis confirmez.",columns:"Colonnes",includeColumn:"Inclure cette colonne",dataPreview:"Aper\xE7u des donn\xE9es",applyImport:"Importer",type_string:"Texte",type_number:"Nombre",type_date:"Date",type_boolean:"Bool\xE9en",reading:"Lecture du fichier\u2026",parsing:"Analyse\u2026",typing:"D\xE9tection des types\u2026",finalizing:"Finalisation\u2026",measureNamePlaceholder:"ex. Marge b\xE9n\xE9ficiaire",customFormat:"Personnalis\xE9\u2026",customPrefix:"Pr\xE9fixe",customSuffix:"Suffixe",minFraction:"D\xE9c. min",maxFraction:"D\xE9c. max",calculationLevel:"Niveau de calcul",calcRowLevel:"Niveau ligne (donn\xE9es brutes)",calcSummaryLevel:"Niveau r\xE9sum\xE9 (agr\xE9g\xE9)",fields:"Champs",noFieldsFound:"Aucun champ \xE9ligible pour ce niveau.",deleteCalcField:"Supprimer le champ calcul\xE9",formula:"Formule",formulaPlaceholder:"ex. [Revenu] - [Co\xFBt]",saveAndAdd:"Enregistrer et ajouter",measureNameEmpty:"Le nom du champ est obligatoire.",formulaEmpty:"La formule est obligatoire.",formulaError:"Erreur de formule",error:"Erreur",systemError:"Une erreur inattendue est survenue",saveReport:"Enregistrer le rapport",saveReportDescription:"Enregistrer les champs et la disposition actuels comme vue nomm\xE9e.",reportName:"Nom du rapport",reportNamePlaceholder:"ex. : Analyse des ventes mensuelles",setAsDefault:"D\xE9finir par d\xE9faut",save:"Enregistrer",enterFullscreen:"Plein \xE9cran",exitFullscreen:"Quitter le plein \xE9cran",print:"Imprimer",sendToPrinter:"Envoyer \xE0 l'imprimante",copyToClipboard:"Copier dans le presse-papiers",tabSeparatedValues:"Valeurs s\xE9par\xE9es par tabulations",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Fonction Enterprise \u2014 cliquez pour mettre \xE0 niveau",dataImportUnsupported:"Ce tableau n'accepte pas les donn\xE9es import\xE9es. Seule la vue a \xE9t\xE9 mise \xE0 jour.",columnFilter:"Filtre de colonne",percentOfColumnTotal:"% du total de colonne",percentOfRowTotal:"% du total de ligne",percentDifference:"% d'\xE9cart",filterField:"Filtrer le champ",removeFromArea:"Retirer de la zone",removeField:"Retirer le champ",deletePermanently:"Supprimer d\xE9finitivement",exportCsv:"Exporter en CSV",pagerPage:"Page",pagerOf:"sur",pagerPrevious:"Page pr\xE9c\xE9dente",pagerNext:"Page suivante",drillDown:"Exploration",drillDownRecords:"Enregistrements : {count}",exportGeneratedOn:"G\xE9n\xE9r\xE9 le",calcRowLevelHint:"Calcul\xE9 pour chaque ligne source, puis agr\xE9g\xE9 comme toute autre mesure.",calcSummaryLevelHint:"Calcul\xE9 \xE0 partir des cellules agr\xE9g\xE9es, une fois le pivot totalis\xE9.",formulaValid:"Formule valide",calcFieldsHint:"Cliquez sur un champ pour l\u2019ins\xE9rer dans la formule.",formulaUses:"Utilise : {fields}",licenseMissing:"Sans licence",licenseExpired:"Licence expir\xE9e",licenseReleaseNotCovered:"Cette version n\u2019est pas couverte par la licence",licenseDomainMismatch:"Licence non valide pour ce domaine",licenseRevoked:"Licence r\xE9voqu\xE9e",licenseInvalidFormat:"Cl\xE9 de licence mal form\xE9e",licenseInvalidSignature:"Signature de licence invalide",licenseEngineUnavailable:"Le navigateur ne peut pas v\xE9rifier la licence (HTTPS requis)"},Ku={ok:"Aceptar",cancel:"Cancelar",apply:"Aplicar",close:"Cerrar",search:"Buscar...",selectAll:"Seleccionar todo",clearAll:"Borrar todo",show:"Mostrar",hide:"Ocultar",filterArea:"\xC1rea de filtros",columnArea:"Columnas",rowArea:"Filas",dataArea:"Valores",footerArea:"\xC1rea de pie de p\xE1gina",allFields:"Todos los campos",dropHere:"Soltar aqu\xED",actions:"Acciones",saveNewView:"Guardar nueva vista",saveAsView:"Guardar como",saveChanges:"Guardar cambios",savedViews:"Vistas guardadas",viewOptions:"Opciones de vista",export:"Exportar",importFile:"Importar",importFromFile:"Desde archivo",pasteImport:"Importar desde el portapapeles",pasteImportHint:"Separado por tabulaciones o comas",dropToImport:"Suelte los archivos aqu\xED para importar",clipboardEmpty:"No se encontr\xF3 texto importable en el portapapeles.",clipboardDenied:"No se pudo acceder al portapapeles. Compruebe los permisos del navegador.",excelExport:"Exportaci\xF3n a Excel",pivotView:"Vista din\xE1mica",listView:"Vista de lista",preservesGridLayout:"Conserva el dise\xF1o de la cuadr\xEDcula",rawFlatData:"Datos planos sin procesar",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Dise\xF1o listo para imprimir",fullSnapshot:"Instant\xE1nea completa",saveSessionState:"Guardar estado de la sesi\xF3n",rawDataFormats:"Formatos de datos sin procesar",importSuccess:"Importado correctamente",importWarning:"Completado con advertencias",importError:"Error al importar",initializing:"Inicializando...",loading:"Cargando...",emptyData:"No se encontraron datos",noItems:"No se encontraron elementos",blanks:"(En blanco)",loadingData:"Por favor espere, preparando datos...",processing:"Procesando...",fieldSettings:"Configuraci\xF3n del campo",caption:"Subt\xEDtulo",summaryType:"Tipo de resumen",displayMode:"Modo de visualizaci\xF3n",groupInterval:"Intervalo de grupo",sum:"Suma",count:"Recuento",avg:"Promedio",min:"M\xEDnimo",max:"M\xE1ximo",grandTotal:"Total general",subTotal:"Subtotal",absoluteValue:"Valor absoluto",runningTotal:"Total acumulado",difference:"Diferencia",percentOfTotal:"% del total",none:"Ninguno",year:"A\xF1o",quarter:"Trimestre",month:"Mes",day:"D\xEDa",and:"Y",or:"O",noConditionsAdded:"No se a\xF1adieron condiciones...",calculatedMeasureDesigner:"Dise\xF1ador de medidas calculadas",createFormulasWithoutCode:"Cree f\xF3rmulas y c\xE1lculos sin escribir c\xF3digo.",measureName:"Nombre de la medida",format:"Formato",numericStandard:"Num\xE9rico (Est\xE1ndar)",numericDecimal:"Num\xE9rico (Decimal 1.486,15)",currencyTRY:"Moneda (TRY)",currencyUSD:"Moneda (USD)",percent:"Porcentaje (%)",expand:"Expandir",collapse:"Contraer",expandAll:"Expandir todo",refreshData:"Actualizar datos",filterBuilder:"Creador de filtros",chartToggle:"Alternar vista de gr\xE1fico",collapseAll:"Contraer todo",sortByThisColumn:"Ordenar por esta columna",sortFieldByThisColumn:'Ordenar "{0}" por esta columna',removeAllSorting:"Quitar toda la ordenaci\xF3n",sortAsc:"Ordenar de la A a la Z",sortDesc:"Ordenar de la Z a la A",clearSort:"Borrar ordenaci\xF3n",order:"Orden",moveToStart:"Mover al principio",moveToEnd:"Mover al final",moveToLeft:"Mover a la izquierda",moveToRight:"Mover a la derecha",fieldChipLabel:"{0}, {1}, {2} de {3}",fieldChipKeys:"Intro ordena. Ctrl+Flecha mueve el campo, Ctrl+Inicio/Fin lo lleva al principio o al final, Supr lo quita, May\xFAs+F10 abre el men\xFA.",moveToArea:"Mover a",opEquals:"es",opNotEquals:"no es",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"no contiene",opStartsWith:"empieza por",opEndsWith:"termina en",opIsBlank:"est\xE1 en blanco",opIsNotBlank:"no est\xE1 en blanco",builderCombine:"Combinar condiciones con",builderAddCondition:"A\xF1adir condici\xF3n",builderAddGroup:"A\xF1adir grupo",builderRemoveGroup:"Quitar grupo",builderRemoveCondition:"Quitar condici\xF3n",builderEmpty:"Todav\xEDa no hay condiciones.",builderValuePlaceholder:"Introduzca un valor",showFieldList:"Mostrar lista de campos",editCalculation:"Editar c\xE1lculo",viewsAndReports:"Vistas y reportes guardados",views:"Vistas",saveChangesOverwrite:"Guardar cambios (Sobrescribir)",saveAsCopy:"Guardar como (Copia)",makeDefault:"Hacer predeterminado",deleteReport:"Eliminar reporte",deleteReportConfirm:"\xBFEst\xE1 seguro de que desea eliminar el reporte '{0}'?",customExports:"Exportaciones personalizadas",customPlugin:"Plugin personalizado",importCancelled:"Importaci\xF3n cancelada.",importPreviewTitle:"Vista previa de importaci\xF3n",importPreviewSubtitle:"Se importar\xE1n {rows} filas \u2022 {cols} columnas",importPreviewFooter:"Revise las columnas y los tipos, luego confirme.",columns:"Columnas",includeColumn:"Incluir esta columna",dataPreview:"Vista previa de datos",applyImport:"Importar",type_string:"Texto",type_number:"N\xFAmero",type_date:"Fecha",type_boolean:"Booleano",reading:"Leyendo el archivo\u2026",parsing:"Analizando\u2026",typing:"Detectando tipos\u2026",finalizing:"Finalizando\u2026",measureNamePlaceholder:"p. ej. Margen de beneficio",customFormat:"Personalizado\u2026",customPrefix:"Prefijo",customSuffix:"Sufijo",minFraction:"Dec. m\xEDn.",maxFraction:"Dec. m\xE1x.",calculationLevel:"Nivel de c\xE1lculo",calcRowLevel:"Nivel de fila (datos sin procesar)",calcSummaryLevel:"Nivel de resumen (agregado)",fields:"Campos",noFieldsFound:"No hay campos elegibles para este nivel.",deleteCalcField:"Eliminar campo calculado",formula:"F\xF3rmula",formulaPlaceholder:"p. ej. [Ingresos] - [Costo]",saveAndAdd:"Guardar y agregar",measureNameEmpty:"El nombre del campo es obligatorio.",formulaEmpty:"La f\xF3rmula es obligatoria.",formulaError:"Error de f\xF3rmula",error:"Error",systemError:"Se ha producido un error inesperado",saveReport:"Guardar informe",saveReportDescription:"Guarda los campos y el dise\xF1o actuales como una vista con nombre.",reportName:"Nombre del informe",reportNamePlaceholder:"p. ej., An\xE1lisis de ventas mensual",setAsDefault:"Establecer como predeterminado",save:"Guardar",enterFullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",print:"Imprimir",sendToPrinter:"Enviar a la impresora",copyToClipboard:"Copiar al portapapeles",tabSeparatedValues:"Valores separados por tabulaciones",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Funci\xF3n Enterprise: haga clic para actualizar",dataImportUnsupported:"Esta tabla no acepta datos importados. Solo se actualiz\xF3 la vista.",columnFilter:"Filtro de columna",percentOfColumnTotal:"% del total de columna",percentOfRowTotal:"% del total de fila",percentDifference:"% de diferencia",filterField:"Filtrar campo",removeFromArea:"Quitar del \xE1rea",removeField:"Quitar campo",deletePermanently:"Eliminar permanentemente",exportCsv:"Exportar a CSV",pagerPage:"P\xE1gina",pagerOf:"de",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina siguiente",drillDown:"Detalle",drillDownRecords:"Registros: {count}",exportGeneratedOn:"Generado el",calcRowLevelHint:"Se calcula para cada fila de origen y luego se agrega como cualquier otra medida.",calcSummaryLevelHint:"Se calcula a partir de las celdas agregadas, una vez que el pivote ha sumado.",formulaValid:"La f\xF3rmula es v\xE1lida",calcFieldsHint:"Haga clic en un campo para insertarlo en la f\xF3rmula.",formulaUses:"Usa: {fields}",licenseMissing:"Sin licencia",licenseExpired:"Licencia caducada",licenseReleaseNotCovered:"Esta versi\xF3n no est\xE1 cubierta por la licencia",licenseDomainMismatch:"Licencia no v\xE1lida para este dominio",licenseRevoked:"Licencia revocada",licenseInvalidFormat:"Clave de licencia mal formada",licenseInvalidSignature:"Firma de licencia no v\xE1lida",licenseEngineUnavailable:"El navegador no puede verificar la licencia (se requiere HTTPS)"},ju={ok:"OK",cancel:"Annulla",apply:"Applica",close:"Chiudi",search:"Cerca...",selectAll:"Seleziona tutto",clearAll:"Cancella tutto",show:"Mostra",hide:"Nascondi",filterArea:"Area filtro",columnArea:"Colonne",rowArea:"Righe",dataArea:"Valori",footerArea:"Area pi\xE8 di pagina",allFields:"Tutti i campi",dropHere:"Rilascia qui",actions:"Azioni",saveNewView:"Salva nuova vista",saveAsView:"Salva con nome",saveChanges:"Salva le modifiche",savedViews:"Viste salvate",viewOptions:"Opzioni vista",export:"Esporta",importFile:"Importa",importFromFile:"Da file",pasteImport:"Importa dagli appunti",pasteImportHint:"Separato da tabulazioni o virgole",dropToImport:"Trascina qui i file per importarli",clipboardEmpty:"Nessun testo importabile trovato negli appunti.",clipboardDenied:"Impossibile accedere agli appunti. Controlla le autorizzazioni del browser.",excelExport:"Esportazione Excel",pivotView:"Vista Pivot",listView:"Vista elenco",preservesGridLayout:"Mantiene il layout della griglia",rawFlatData:"Dati grezzi",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Layout pronto per la stampa",fullSnapshot:"Istantanea completa",saveSessionState:"Salva lo stato della sessione",rawDataFormats:"Formati di dati grezzi",importSuccess:"Importato con successo",importWarning:"Completato con avvisi",importError:"Importazione non riuscita",initializing:"Inizializzazione...",loading:"Caricamento...",emptyData:"Nessun dato trovato",noItems:"Nessun elemento trovato",blanks:"(Vuoti)",loadingData:"Attendi, preparazione dei dati in corso...",processing:"Elaborazione...",fieldSettings:"Impostazioni campo",caption:"Didascalia",summaryType:"Tipo di riepilogo",displayMode:"Modalit\xE0 di visualizzazione",groupInterval:"Intervallo di gruppo",sum:"Somma",count:"Conteggio",avg:"Media",min:"Min",max:"Max",grandTotal:"Totale complessivo",subTotal:"Totale parziale",absoluteValue:"Valore assoluto",runningTotal:"Totale parziale",difference:"Differenza",percentOfTotal:"% del totale",none:"Nessuno",year:"Anno",quarter:"Trimestre",month:"Mese",day:"Giorno",and:"E",or:"O",noConditionsAdded:"Nessuna condizione aggiunta...",calculatedMeasureDesigner:"Progettazione misure calcolate",createFormulasWithoutCode:"Crea formule e calcoli senza scrivere codice.",measureName:"Nome misura",format:"Formato",numericStandard:"Numerico (Standard)",numericDecimal:"Numerico (Decimale 1.486,15)",currencyTRY:"Valuta (TRY)",currencyUSD:"Valuta (USD)",percent:"Percentuale (%)",expand:"Espandi",collapse:"Comprimi",expandAll:"Espandi tutto",refreshData:"Aggiorna dati",filterBuilder:"Generatore di filtri",chartToggle:"Attiva/disattiva vista grafico",collapseAll:"Comprimi tutto",sortByThisColumn:"Ordina per questa colonna",sortFieldByThisColumn:'Ordina "{0}" per questa colonna',removeAllSorting:"Rimuovi tutti gli ordinamenti",sortAsc:"Ordina dalla A alla Z",sortDesc:"Ordina dalla Z alla A",clearSort:"Cancella ordinamento",order:"Ordine",moveToStart:"Sposta all'inizio",moveToEnd:"Sposta alla fine",moveToLeft:"Sposta a sinistra",moveToRight:"Sposta a destra",fieldChipLabel:"{0}, {1}, {2} di {3}",fieldChipKeys:"Invio ordina. Ctrl+Freccia sposta il campo, Ctrl+Home/Fine lo porta all'inizio o alla fine, Canc lo rimuove, Maiusc+F10 apre il menu.",moveToArea:"Sposta in",opEquals:"\xE8",opNotEquals:"non \xE8",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"non contiene",opStartsWith:"inizia con",opEndsWith:"finisce con",opIsBlank:"\xE8 vuoto",opIsNotBlank:"non \xE8 vuoto",builderCombine:"Combina le condizioni con",builderAddCondition:"Aggiungi condizione",builderAddGroup:"Aggiungi gruppo",builderRemoveGroup:"Rimuovi gruppo",builderRemoveCondition:"Rimuovi condizione",builderEmpty:"Ancora nessuna condizione.",builderValuePlaceholder:"Inserisci un valore",showFieldList:"Mostra elenco campi",editCalculation:"Modifica calcolo",viewsAndReports:"Viste e rapporti salvati",views:"Viste",saveChangesOverwrite:"Salva modifiche (Sovrascrivi)",saveAsCopy:"Salva con nome (Copia)",makeDefault:"Rendi predefinito",deleteReport:"Elimina rapporto",deleteReportConfirm:"Sei sicuro di voler eliminare il rapporto '{0}'?",customExports:"Esportazioni personalizzate",customPlugin:"Plugin personalizzato",importCancelled:"Importazione annullata.",importPreviewTitle:"Anteprima importazione",importPreviewSubtitle:"Verranno importate {rows} righe \u2022 {cols} colonne",importPreviewFooter:"Controlla colonne e tipi, poi conferma.",columns:"Colonne",includeColumn:"Includi questa colonna",dataPreview:"Anteprima dati",applyImport:"Importa",type_string:"Testo",type_number:"Numero",type_date:"Data",type_boolean:"Booleano",reading:"Lettura del file\u2026",parsing:"Analisi\u2026",typing:"Rilevamento tipi\u2026",finalizing:"Completamento\u2026",measureNamePlaceholder:"es. Margine di profitto",customFormat:"Personalizzato\u2026",customPrefix:"Prefisso",customSuffix:"Suffisso",minFraction:"Dec. min",maxFraction:"Dec. max",calculationLevel:"Livello di calcolo",calcRowLevel:"Livello riga (dati grezzi)",calcSummaryLevel:"Livello riepilogo (aggregato)",fields:"Campi",noFieldsFound:"Nessun campo idoneo per questo livello.",deleteCalcField:"Elimina campo calcolato",formula:"Formula",formulaPlaceholder:"es. [Ricavi] - [Costi]",saveAndAdd:"Salva e aggiungi",measureNameEmpty:"Il nome del campo \xE8 obbligatorio.",formulaEmpty:"La formula \xE8 obbligatoria.",formulaError:"Errore di formula",error:"Errore",systemError:"Si \xE8 verificato un errore imprevisto",saveReport:"Salva report",saveReportDescription:"Salva i campi e il layout correnti come vista denominata.",reportName:"Nome report",reportNamePlaceholder:"es.: Analisi vendite mensile",setAsDefault:"Imposta come predefinito",save:"Salva",enterFullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",print:"Stampa",sendToPrinter:"Invia alla stampante",copyToClipboard:"Copia negli appunti",tabSeparatedValues:"Valori separati da tabulazioni",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Funzione Enterprise \u2014 fai clic per l'upgrade",dataImportUnsupported:"Questa griglia non accetta dati importati. \xC8 stata aggiornata solo la vista.",columnFilter:"Filtro colonna",percentOfColumnTotal:"% del totale colonna",percentOfRowTotal:"% del totale riga",percentDifference:"% differenza",filterField:"Filtra campo",removeFromArea:"Rimuovi dall'area",removeField:"Rimuovi campo",deletePermanently:"Elimina definitivamente",exportCsv:"Esporta in CSV",pagerPage:"Pagina",pagerOf:"di",pagerPrevious:"Pagina precedente",pagerNext:"Pagina successiva",drillDown:"Dettaglio",drillDownRecords:"Record: {count}",exportGeneratedOn:"Generato il",calcRowLevelHint:"Calcolato per ogni riga sorgente, poi aggregato come qualsiasi altra misura.",calcSummaryLevelHint:"Calcolato dalle celle aggregate, dopo che il pivot ha sommato.",formulaValid:"La formula \xE8 valida",calcFieldsHint:"Fai clic su un campo per inserirlo nella formula.",formulaUses:"Usa: {fields}",licenseMissing:"Senza licenza",licenseExpired:"Licenza scaduta",licenseReleaseNotCovered:"Questa versione non \xE8 coperta dalla licenza",licenseDomainMismatch:"Licenza non valida per questo dominio",licenseRevoked:"Licenza revocata",licenseInvalidFormat:"Chiave di licenza malformata",licenseInvalidSignature:"Firma della licenza non valida",licenseEngineUnavailable:"Il browser non pu\xF2 verificare la licenza (HTTPS richiesto)"},qu={ok:"OK",cancel:"Cancelar",apply:"Aplicar",close:"Fechar",search:"Pesquisar...",selectAll:"Selecionar tudo",clearAll:"Limpar tudo",show:"Mostrar",hide:"Ocultar",filterArea:"\xC1rea de filtro",columnArea:"Colunas",rowArea:"Linhas",dataArea:"Valores",footerArea:"\xC1rea do rodap\xE9",allFields:"Todos os campos",dropHere:"Soltar aqui",actions:"A\xE7\xF5es",saveNewView:"Salvar nova exibi\xE7\xE3o",saveAsView:"Salvar como",saveChanges:"Salvar altera\xE7\xF5es",savedViews:"Exibi\xE7\xF5es salvas",viewOptions:"Op\xE7\xF5es de exibi\xE7\xE3o",export:"Exportar",importFile:"Importar",importFromFile:"De arquivo",pasteImport:"Importar da \xE1rea de transfer\xEAncia",pasteImportHint:"Separado por tabula\xE7\xE3o ou v\xEDrgula",dropToImport:"Solte os arquivos aqui para importar",clipboardEmpty:"Nenhum texto import\xE1vel encontrado na \xE1rea de transfer\xEAncia.",clipboardDenied:"N\xE3o foi poss\xEDvel acessar a \xE1rea de transfer\xEAncia. Verifique as permiss\xF5es do navegador.",excelExport:"Exporta\xE7\xE3o para Excel",pivotView:"Exibi\xE7\xE3o din\xE2mica",listView:"Exibi\xE7\xE3o de lista",preservesGridLayout:"Preserva o layout da grade",rawFlatData:"Dados brutos planos",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Layout pronto para impress\xE3o",fullSnapshot:"Instant\xE2neo completo",saveSessionState:"Salvar o estado da sess\xE3o",rawDataFormats:"Formatos de dados brutos",importSuccess:"Importado com sucesso",importWarning:"Conclu\xEDdo com avisos",importError:"Falha na importa\xE7\xE3o",initializing:"Inicializando...",loading:"Carregando...",emptyData:"Nenhum dado encontrado",noItems:"Nenhum item encontrado",blanks:"(Em branco)",loadingData:"Por favor, aguarde, preparando dados...",processing:"Processando...",fieldSettings:"Configura\xE7\xF5es do campo",caption:"Legenda",summaryType:"Tipo de resumo",displayMode:"Modo de exibi\xE7\xE3o",groupInterval:"Intervalo de grupo",sum:"Soma",count:"Contagem",avg:"M\xE9dia",min:"M\xEDn",max:"M\xE1x",grandTotal:"Total geral",subTotal:"Subtotal",absoluteValue:"Valor absoluto",runningTotal:"Total acumulado",difference:"Diferen\xE7a",percentOfTotal:"% do total",none:"Nenhum",year:"Ano",quarter:"Trimestre",month:"M\xEAs",day:"Dia",and:"E",or:"Ou",noConditionsAdded:"Nenhuma condi\xE7\xE3o adicionada...",calculatedMeasureDesigner:"Designer de medidas calculadas",createFormulasWithoutCode:"Crie f\xF3rmulas e c\xE1lculos sem escrever c\xF3digo.",measureName:"Nome da medida",format:"Formato",numericStandard:"Num\xE9rico (Padr\xE3o)",numericDecimal:"Num\xE9rico (Decimal 1.486,15)",currencyTRY:"Moeda (TRY)",currencyUSD:"Moeda (USD)",percent:"Porcentagem (%)",expand:"Expandir",collapse:"Recolher",expandAll:"Expandir tudo",refreshData:"Atualizar dados",filterBuilder:"Construtor de filtros",chartToggle:"Alternar visualiza\xE7\xE3o de gr\xE1fico",collapseAll:"Recolher tudo",sortByThisColumn:"Classificar por esta coluna",sortFieldByThisColumn:'Classificar "{0}" por esta coluna',removeAllSorting:"Remover todas as classifica\xE7\xF5es",sortAsc:"Classificar de A a Z",sortDesc:"Classificar de Z a A",clearSort:"Limpar classifica\xE7\xE3o",order:"Ordem",moveToStart:"Mover para o in\xEDcio",moveToEnd:"Mover para o fim",moveToLeft:"Mover para a esquerda",moveToRight:"Mover para a direita",fieldChipLabel:"{0}, {1}, {2} de {3}",fieldChipKeys:"Enter ordena. Ctrl+Seta move o campo, Ctrl+Home/End move para o in\xEDcio ou o fim, Delete remove, Shift+F10 abre o menu.",moveToArea:"Mover para",opEquals:"\xE9",opNotEquals:"n\xE3o \xE9",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"cont\xE9m",opNotContains:"n\xE3o cont\xE9m",opStartsWith:"come\xE7a por",opEndsWith:"termina em",opIsBlank:"est\xE1 em branco",opIsNotBlank:"n\xE3o est\xE1 em branco",builderCombine:"Combinar condi\xE7\xF5es com",builderAddCondition:"Adicionar condi\xE7\xE3o",builderAddGroup:"Adicionar grupo",builderRemoveGroup:"Remover grupo",builderRemoveCondition:"Remover condi\xE7\xE3o",builderEmpty:"Ainda n\xE3o h\xE1 condi\xE7\xF5es.",builderValuePlaceholder:"Introduza um valor",showFieldList:"Mostrar lista de campos",editCalculation:"Editar c\xE1lculo",viewsAndReports:"Exibi\xE7\xF5es e relat\xF3rios salvos",views:"Exibi\xE7\xF5es",saveChangesOverwrite:"Salvar altera\xE7\xF5es (Substituir)",saveAsCopy:"Salvar como (C\xF3pia)",makeDefault:"Tornar padr\xE3o",deleteReport:"Excluir relat\xF3rio",deleteReportConfirm:"Tem certeza de que deseja excluir o relat\xF3rio '{0}'?",customExports:"Exporta\xE7\xF5es personalizadas",customPlugin:"Plugin personalizado",importCancelled:"Importa\xE7\xE3o cancelada.",importPreviewTitle:"Pr\xE9-visualiza\xE7\xE3o da importa\xE7\xE3o",importPreviewSubtitle:"{rows} linhas \u2022 {cols} colunas ser\xE3o importadas",importPreviewFooter:"Revise as colunas e os tipos e confirme.",columns:"Colunas",includeColumn:"Incluir esta coluna",dataPreview:"Pr\xE9-visualiza\xE7\xE3o dos dados",applyImport:"Importar",type_string:"Texto",type_number:"N\xFAmero",type_date:"Data",type_boolean:"Booleano",reading:"Lendo o arquivo\u2026",parsing:"Analisando\u2026",typing:"Detectando tipos\u2026",finalizing:"Finalizando\u2026",measureNamePlaceholder:"ex.: Margem de lucro",customFormat:"Personalizado\u2026",customPrefix:"Prefixo",customSuffix:"Sufixo",minFraction:"Dec. m\xEDn.",maxFraction:"Dec. m\xE1x.",calculationLevel:"N\xEDvel de c\xE1lculo",calcRowLevel:"N\xEDvel de linha (dados brutos)",calcSummaryLevel:"N\xEDvel de resumo (agregado)",fields:"Campos",noFieldsFound:"Nenhum campo eleg\xEDvel para este n\xEDvel.",deleteCalcField:"Excluir campo calculado",formula:"F\xF3rmula",formulaPlaceholder:"ex.: [Receita] - [Custo]",saveAndAdd:"Salvar e adicionar",measureNameEmpty:"O nome do campo \xE9 obrigat\xF3rio.",formulaEmpty:"A f\xF3rmula \xE9 obrigat\xF3ria.",formulaError:"Erro de f\xF3rmula",error:"Erro",systemError:"Ocorreu um erro inesperado",saveReport:"Salvar relat\xF3rio",saveReportDescription:"Salve os campos e o layout atuais como uma exibi\xE7\xE3o nomeada.",reportName:"Nome do relat\xF3rio",reportNamePlaceholder:"ex.: An\xE1lise de vendas mensal",setAsDefault:"Definir como padr\xE3o",save:"Salvar",enterFullscreen:"Tela cheia",exitFullscreen:"Sair da tela cheia",print:"Imprimir",sendToPrinter:"Enviar para a impressora",copyToClipboard:"Copiar para a \xE1rea de transfer\xEAncia",tabSeparatedValues:"Valores separados por tabula\xE7\xE3o",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Recurso Enterprise \u2014 clique para fazer upgrade",dataImportUnsupported:"Esta grade n\xE3o aceita dados importados. Apenas a exibi\xE7\xE3o foi atualizada.",columnFilter:"Filtro de coluna",percentOfColumnTotal:"% do total da coluna",percentOfRowTotal:"% do total da linha",percentDifference:"% de diferen\xE7a",filterField:"Filtrar campo",removeFromArea:"Remover da \xE1rea",removeField:"Remover campo",deletePermanently:"Excluir permanentemente",exportCsv:"Exportar para CSV",pagerPage:"P\xE1gina",pagerOf:"de",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina seguinte",drillDown:"Detalhe",drillDownRecords:"Registros: {count}",exportGeneratedOn:"Gerado em",calcRowLevelHint:"Calculado para cada linha de origem e depois agregado como qualquer outra medida.",calcSummaryLevelHint:"Calculado a partir das c\xE9lulas agregadas, depois que o piv\xF4 somou.",formulaValid:"A f\xF3rmula \xE9 v\xE1lida",calcFieldsHint:"Clique em um campo para inseri-lo na f\xF3rmula.",formulaUses:"Usa: {fields}",licenseMissing:"Sem licen\xE7a",licenseExpired:"Licen\xE7a expirada",licenseReleaseNotCovered:"Esta vers\xE3o n\xE3o \xE9 coberta pela licen\xE7a",licenseDomainMismatch:"Licen\xE7a n\xE3o v\xE1lida para este dom\xEDnio",licenseRevoked:"Licen\xE7a revogada",licenseInvalidFormat:"Chave de licen\xE7a malformada",licenseInvalidSignature:"Assinatura da licen\xE7a inv\xE1lida",licenseEngineUnavailable:"O navegador n\xE3o consegue verificar a licen\xE7a (HTTPS necess\xE1rio)"},Yu={ok:"\u041E\u041A",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",search:"\u041F\u043E\u0438\u0441\u043A...",selectAll:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",clearAll:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435",show:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",hide:"\u0421\u043A\u0440\u044B\u0442\u044C",filterArea:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u0430",columnArea:"\u041A\u043E\u043B\u043E\u043D\u043A\u0438",rowArea:"\u0421\u0442\u0440\u043E\u043A\u0438",dataArea:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F",footerArea:"\u041D\u0438\u0436\u043D\u0438\u0439 \u043A\u043E\u043B\u043E\u043D\u0442\u0438\u0442\u0443\u043B",allFields:"\u0412\u0441\u0435 \u043F\u043E\u043B\u044F",dropHere:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430",actions:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F",saveNewView:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0432\u0438\u0434",saveAsView:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A",saveChanges:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",savedViews:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u0432\u0438\u0434\u044B",viewOptions:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430",export:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442",importFile:"\u0418\u043C\u043F\u043E\u0440\u0442",importFromFile:"\u0418\u0437 \u0444\u0430\u0439\u043B\u0430",pasteImport:"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430",pasteImportHint:"\u0421 \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435\u043C \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0435\u0439 \u0438\u043B\u0438 \u0437\u0430\u043F\u044F\u0442\u043E\u0439",dropToImport:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430",clipboardEmpty:"\u0412 \u0431\u0443\u0444\u0435\u0440\u0435 \u043E\u0431\u043C\u0435\u043D\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430.",clipboardDenied:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0431\u0443\u0444\u0435\u0440\u0443 \u043E\u0431\u043C\u0435\u043D\u0430. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.",excelExport:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 Excel",pivotView:"\u0421\u0432\u043E\u0434\u043D\u044B\u0439 \u0432\u0438\u0434",listView:"\u0412\u0438\u0434 \u0441\u043F\u0438\u0441\u043A\u0430",preservesGridLayout:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442 \u043C\u0430\u043A\u0435\u0442 \u0441\u0435\u0442\u043A\u0438",rawFlatData:"\u0421\u044B\u0440\u044B\u0435 \u043F\u043B\u043E\u0441\u043A\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435",document:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442",pdfDocument:"PDF-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442",printReadyLayout:"\u041C\u0430\u043A\u0435\u0442 \u0434\u043B\u044F \u043F\u0435\u0447\u0430\u0442\u0438",fullSnapshot:"\u041F\u043E\u043B\u043D\u044B\u0439 \u0441\u043D\u0438\u043C\u043E\u043A",saveSessionState:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0435\u0430\u043D\u0441\u0430",rawDataFormats:"\u0424\u043E\u0440\u043C\u0430\u0442\u044B \u0441\u044B\u0440\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445",importSuccess:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E",importWarning:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E \u0441 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F\u043C\u0438",importError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430",initializing:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F...",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",emptyData:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noItems:"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",blanks:"(\u041F\u0443\u0441\u0442\u043E)",loadingData:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435, \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0434\u0433\u043E\u0442\u0430\u0432\u043B\u0438\u0432\u0430\u044E\u0442\u0441\u044F...",processing:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430...",fieldSettings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E\u043B\u044F",caption:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",summaryType:"\u0422\u0438\u043F \u0438\u0442\u043E\u0433\u0430",displayMode:"\u0420\u0435\u0436\u0438\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",groupInterval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",sum:"\u0421\u0443\u043C\u043C\u0430",count:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E",avg:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435",min:"\u041C\u0438\u043D",max:"\u041C\u0430\u043A\u0441",grandTotal:"\u041E\u0431\u0449\u0438\u0439 \u0438\u0442\u043E\u0433",subTotal:"\u041F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u0447\u043D\u044B\u0439 \u0438\u0442\u043E\u0433",absoluteValue:"\u0410\u0431\u0441\u043E\u043B\u044E\u0442\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",runningTotal:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0443\u043C\u043C\u0430",difference:"\u0420\u0430\u0437\u043D\u0438\u0446\u0430",percentOfTotal:"% \u043E\u0442 \u043E\u0431\u0449\u0435\u0433\u043E \u0438\u0442\u043E\u0433\u0430",none:"\u041D\u0435\u0442",year:"\u0413\u043E\u0434",quarter:"\u041A\u0432\u0430\u0440\u0442\u0430\u043B",month:"\u041C\u0435\u0441\u044F\u0446",day:"\u0414\u0435\u043D\u044C",and:"\u0418",or:"\u0418\u043B\u0438",noConditionsAdded:"\u0423\u0441\u043B\u043E\u0432\u0438\u044F \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B...",calculatedMeasureDesigner:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0445 \u043C\u0435\u0440",createFormulasWithoutCode:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0438 \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F \u0431\u0435\u0437 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043A\u043E\u0434\u0430.",measureName:"\u0418\u043C\u044F \u043C\u0435\u0440\u044B",format:"\u0424\u043E\u0440\u043C\u0430\u0442",numericStandard:"\u0427\u0438\u0441\u043B\u043E\u0432\u043E\u0439 (\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439)",numericDecimal:"\u0427\u0438\u0441\u043B\u043E\u0432\u043E\u0439 (\u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0439 1.486,15)",currencyTRY:"\u0412\u0430\u043B\u044E\u0442\u0430 (TRY)",currencyUSD:"\u0412\u0430\u043B\u044E\u0442\u0430 (USD)",percent:"\u041F\u0440\u043E\u0446\u0435\u043D\u0442 (%)",expand:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C",collapse:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C",expandAll:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",refreshData:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",filterBuilder:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",chartToggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B",collapseAll:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",sortByThisColumn:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443",sortFieldByThisColumn:'\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C "{0}" \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443',removeAllSorting:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438",sortAsc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u0410 \u0434\u043E \u042F",sortDesc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u042F \u0434\u043E \u0410",clearSort:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443",order:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A",moveToStart:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u043D\u0430\u0447\u0430\u043B\u043E",moveToEnd:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u043A\u043E\u043D\u0435\u0446",moveToLeft:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043B\u0435\u0432\u043E",moveToRight:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E",fieldChipLabel:"{0}, {1}, {2} \u0438\u0437 {3}",fieldChipKeys:"Enter \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442. Ctrl+\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0435\u0442 \u043F\u043E\u043B\u0435, Ctrl+Home/End \u2014 \u0432 \u043D\u0430\u0447\u0430\u043B\u043E \u0438\u043B\u0438 \u043A\u043E\u043D\u0435\u0446, Delete \u0443\u0434\u0430\u043B\u044F\u0435\u0442, Shift+F10 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043C\u0435\u043D\u044E.",moveToArea:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432",opEquals:"\u0440\u0430\u0432\u043D\u043E",opNotEquals:"\u043D\u0435 \u0440\u0430\u0432\u043D\u043E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opNotContains:"\u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opStartsWith:"\u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0441",opEndsWith:"\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043D\u0430",opIsBlank:"\u043F\u0443\u0441\u0442\u043E",opIsNotBlank:"\u043D\u0435 \u043F\u0443\u0441\u0442\u043E",builderCombine:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u043E\u043C",builderAddCondition:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderAddGroup:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveGroup:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveCondition:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderEmpty:"\u0423\u0441\u043B\u043E\u0432\u0438\u0439 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442.",builderValuePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",showFieldList:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u0435\u0439",editCalculation:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0435",viewsAndReports:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u0432\u0438\u0434\u044B \u0438 \u043E\u0442\u0447\u0435\u0442\u044B",views:"\u0412\u0438\u0434\u044B",saveChangesOverwrite:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F (\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C)",saveAsCopy:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A (\u041A\u043E\u043F\u0438\u044F)",makeDefault:"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",deleteReport:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0442\u0447\u0435\u0442",deleteReportConfirm:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0442\u0447\u0435\u0442 '{0}'?",customExports:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442",customPlugin:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u043F\u043B\u0430\u0433\u0438\u043D",importCancelled:"\u0418\u043C\u043F\u043E\u0440\u0442 \u043E\u0442\u043C\u0435\u043D\u0451\u043D.",importPreviewTitle:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u043C\u043F\u043E\u0440\u0442\u0430",importPreviewSubtitle:"\u0411\u0443\u0434\u0435\u0442 \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0441\u0442\u0440\u043E\u043A: {rows} \u2022 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432: {cols}",importPreviewFooter:"\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B \u0438 \u0442\u0438\u043F\u044B, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435.",columns:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B",includeColumn:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",dataPreview:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0434\u0430\u043D\u043D\u044B\u0445",applyImport:"\u0418\u043C\u043F\u043E\u0440\u0442",type_string:"\u0422\u0435\u043A\u0441\u0442",type_number:"\u0427\u0438\u0441\u043B\u043E",type_date:"\u0414\u0430\u0442\u0430",type_boolean:"\u041B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u0439",reading:"\u0427\u0442\u0435\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u0430\u2026",parsing:"\u0420\u0430\u0437\u0431\u043E\u0440\u2026",typing:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0438\u043F\u043E\u0432\u2026",finalizing:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435\u2026",measureNamePlaceholder:"\u043D\u0430\u043F\u0440. \u041C\u0430\u0440\u0436\u0430 \u043F\u0440\u0438\u0431\u044B\u043B\u0438",customFormat:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439\u2026",customPrefix:"\u041F\u0440\u0435\u0444\u0438\u043A\u0441",customSuffix:"\u0421\u0443\u0444\u0444\u0438\u043A\u0441",minFraction:"\u041C\u0438\u043D. \u0434\u0440\u043E\u0431.",maxFraction:"\u041C\u0430\u043A\u0441. \u0434\u0440\u043E\u0431.",calculationLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F",calcRowLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0441\u0442\u0440\u043E\u043A\u0438 (\u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435)",calcSummaryLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0441\u0432\u043E\u0434\u043A\u0438 (\u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435)",fields:"\u041F\u043E\u043B\u044F",noFieldsFound:"\u041D\u0435\u0442 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0445 \u043F\u043E\u043B\u0435\u0439 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F.",deleteCalcField:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u043E\u0435 \u043F\u043E\u043B\u0435",formula:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430",formulaPlaceholder:"\u043D\u0430\u043F\u0440. [\u0412\u044B\u0440\u0443\u0447\u043A\u0430] - [\u0417\u0430\u0442\u0440\u0430\u0442\u044B]",saveAndAdd:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C",measureNameEmpty:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0438\u043C\u044F \u043F\u043E\u043B\u044F.",formulaEmpty:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u0430.",formulaError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0444\u043E\u0440\u043C\u0443\u043B\u044B",error:"\u041E\u0448\u0438\u0431\u043A\u0430",systemError:"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",saveReport:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043E\u0442\u0447\u0451\u0442",saveReportDescription:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u043F\u043E\u043B\u044F \u0438 \u043C\u0430\u043A\u0435\u0442 \u043A\u0430\u043A \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435.",reportName:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0442\u0447\u0451\u0442\u0430",reportNamePlaceholder:"\u043D\u0430\u043F\u0440.: \u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u0434\u0430\u0436",setAsDefault:"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",enterFullscreen:"\u0412\u043E \u0432\u0435\u0441\u044C \u044D\u043A\u0440\u0430\u043D",exitFullscreen:"\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430",print:"\u041F\u0435\u0447\u0430\u0442\u044C",sendToPrinter:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043D\u0430 \u043F\u0440\u0438\u043D\u0442\u0435\u0440",copyToClipboard:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",tabSeparatedValues:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F, \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0435 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0435\u0439",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"\u0424\u0443\u043D\u043A\u0446\u0438\u044F Enterprise \u2014 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",dataImportUnsupported:"\u042D\u0442\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430 \u043D\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435. \u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435.",columnFilter:"\u0424\u0438\u043B\u044C\u0442\u0440 \u0441\u0442\u043E\u043B\u0431\u0446\u0430",percentOfColumnTotal:"% \u043E\u0442 \u0438\u0442\u043E\u0433\u0430 \u0441\u0442\u043E\u043B\u0431\u0446\u0430",percentOfRowTotal:"% \u043E\u0442 \u0438\u0442\u043E\u0433\u0430 \u0441\u0442\u0440\u043E\u043A\u0438",percentDifference:"% \u0440\u0430\u0437\u043D\u0438\u0446\u044B",filterField:"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043B\u0435",removeFromArea:"\u0423\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u043E\u0431\u043B\u0430\u0441\u0442\u0438",removeField:"\u0423\u0431\u0440\u0430\u0442\u044C \u043F\u043E\u043B\u0435",deletePermanently:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430",exportCsv:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV",pagerPage:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerOf:"\u0438\u0437",pagerPrevious:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerNext:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",drillDown:"\u0414\u0435\u0442\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F",drillDownRecords:"\u0417\u0430\u043F\u0438\u0441\u0435\u0439: {count}",exportGeneratedOn:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E",calcRowLevelHint:"\u0412\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u0437\u0430\u0442\u0435\u043C \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043B\u044E\u0431\u0430\u044F \u0434\u0440\u0443\u0433\u0430\u044F \u043C\u0435\u0440\u0430.",calcSummaryLevelHint:"\u0412\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u043C \u044F\u0447\u0435\u0439\u043A\u0430\u043C, \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E \u043A\u0430\u043A \u0441\u0432\u043E\u0434\u043D\u0430\u044F \u0442\u0430\u0431\u043B\u0438\u0446\u0430 \u043F\u0440\u043E\u0441\u0443\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043B\u0430.",formulaValid:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0430",calcFieldsHint:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043D\u0430 \u043F\u043E\u043B\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0435\u0433\u043E \u0432 \u0444\u043E\u0440\u043C\u0443\u043B\u0443.",formulaUses:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442: {fields}",licenseMissing:"\u0411\u0435\u0437 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseExpired:"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0451\u043A",licenseReleaseNotCovered:"\u042D\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044F \u043D\u0435 \u043F\u043E\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439",licenseDomainMismatch:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0434\u043E\u043C\u0435\u043D\u0430",licenseRevoked:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043E\u0442\u043E\u0437\u0432\u0430\u043D\u0430",licenseInvalidFormat:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430",licenseInvalidSignature:"\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseEngineUnavailable:"\u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F HTTPS)"},Xu={ok:"\u0645\u0648\u0627\u0641\u0642",cancel:"\u0625\u0644\u063A\u0627\u0621",apply:"\u062A\u0637\u0628\u064A\u0642",close:"\u0625\u063A\u0644\u0627\u0642",search:"\u0628\u062D\u062B...",selectAll:"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644",clearAll:"\u0645\u0633\u062D \u0627\u0644\u0643\u0644",show:"\u0639\u0631\u0636",hide:"\u0625\u062E\u0641\u0627\u0621",filterArea:"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",columnArea:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",rowArea:"\u0627\u0644\u0635\u0641\u0648\u0641",dataArea:"\u0627\u0644\u0642\u064A\u0645",footerArea:"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u062A\u0630\u064A\u064A\u0644",allFields:"\u062C\u0645\u064A\u0639 \u0627\u0644\u062D\u0642\u0648\u0644",dropHere:"\u0623\u0641\u0644\u062A \u0647\u0646\u0627",actions:"\u0627\u0644\u0625\u062C\u0631\u0627\u0621\u0627\u062A",saveNewView:"\u062D\u0641\u0638 \u0639\u0631\u0636 \u062C\u062F\u064A\u062F",saveAsView:"\u062D\u0641\u0638 \u0628\u0627\u0633\u0645",saveChanges:"\u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A",savedViews:"\u0627\u0644\u0639\u0631\u0648\u0636 \u0627\u0644\u0645\u062D\u0641\u0648\u0638\u0629",viewOptions:"\u062E\u064A\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0636",export:"\u062A\u0635\u062F\u064A\u0631",importFile:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F",importFromFile:"\u0645\u0646 \u0645\u0644\u0641",pasteImport:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0645\u0646 \u0627\u0644\u062D\u0627\u0641\u0638\u0629",pasteImportHint:"\u0645\u0641\u0635\u0648\u0644 \u0628\u0639\u0644\u0627\u0645\u0629 \u062C\u062F\u0648\u0644\u0629 \u0623\u0648 \u0641\u0627\u0635\u0644\u0629",dropToImport:"\u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",clipboardEmpty:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0646\u0635 \u0642\u0627\u0628\u0644 \u0644\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0641\u064A \u0627\u0644\u062D\u0627\u0641\u0638\u0629.",clipboardDenied:"\u062A\u0639\u0630\u0631 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629. \u064A\u0631\u062C\u0649 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0623\u0630\u0648\u0646\u0627\u062A \u0627\u0644\u0645\u062A\u0635\u0641\u062D.",excelExport:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 Excel",pivotView:"\u0639\u0631\u0636 \u0645\u062D\u0648\u0631\u064A",listView:"\u0639\u0631\u0636 \u0627\u0644\u0642\u0627\u0626\u0645\u0629",preservesGridLayout:"\u064A\u062D\u0627\u0641\u0638 \u0639\u0644\u0649 \u062A\u062E\u0637\u064A\u0637 \u0627\u0644\u0634\u0628\u0643\u0629",rawFlatData:"\u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062E\u0627\u0645",document:"\u0645\u0633\u062A\u0646\u062F",pdfDocument:"\u0645\u0633\u062A\u0646\u062F PDF",printReadyLayout:"\u062A\u062E\u0637\u064A\u0637 \u062C\u0627\u0647\u0632 \u0644\u0644\u0637\u0628\u0627\u0639\u0629",fullSnapshot:"\u0644\u0642\u0637\u0629 \u0643\u0627\u0645\u0644\u0629",saveSessionState:"\u062D\u0641\u0638 \u062D\u0627\u0644\u0629 \u0627\u0644\u062C\u0644\u0633\u0629",rawDataFormats:"\u062A\u0646\u0633\u064A\u0642\u0627\u062A \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062E\u0627\u0645",importSuccess:"\u062A\u0645 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0628\u0646\u062C\u0627\u062D",importWarning:"\u0627\u0643\u062A\u0645\u0644 \u0645\u0639 \u062A\u062D\u0630\u064A\u0631\u0627\u062A",importError:"\u0641\u0634\u0644 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",initializing:"\u062C\u0627\u0631\u064A \u0627\u0644\u062A\u0647\u064A\u0626\u0629...",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644...",emptyData:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A",noItems:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0639\u0646\u0627\u0635\u0631",blanks:"(\u0641\u0627\u0631\u063A)",loadingData:"\u064A\u0631\u062C\u0649 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631\u060C \u062C\u0627\u0631\u064A \u062A\u062D\u0636\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A...",processing:"\u062C\u0627\u0631\u064A \u0627\u0644\u0645\u0639\u0627\u0644\u062C\u0629...",fieldSettings:"\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u062D\u0642\u0644",caption:"\u0627\u0644\u062A\u0633\u0645\u064A\u0629 \u0627\u0644\u062A\u0648\u0636\u064A\u062D\u064A\u0629",summaryType:"\u0646\u0648\u0639 \u0627\u0644\u0645\u0644\u062E\u0635",displayMode:"\u0648\u0636\u0639 \u0627\u0644\u0639\u0631\u0636",groupInterval:"\u0627\u0644\u0641\u0627\u0635\u0644 \u0627\u0644\u0632\u0645\u0646\u064A \u0644\u0644\u0645\u062C\u0645\u0648\u0639\u0629",sum:"\u0645\u062C\u0645\u0648\u0639",count:"\u0627\u0644\u0639\u062F\u062F",avg:"\u0645\u062A\u0648\u0633\u0637",min:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649",max:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649",grandTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",subTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0641\u0631\u0639\u064A",absoluteValue:"\u0642\u064A\u0645\u0629 \u0645\u0637\u0644\u0642\u0629",runningTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u062A\u0631\u0627\u0643\u0645\u064A",difference:"\u0627\u0644\u0641\u0631\u0642",percentOfTotal:"\u066A \u0645\u0646 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",none:"\u0628\u0644\u0627",year:"\u0633\u0646\u0629",quarter:"\u0631\u0628\u0639",month:"\u0634\u0647\u0631",day:"\u064A\u0648\u0645",and:"\u0648",or:"\u0623\u0648",noConditionsAdded:"\u0644\u0645 \u064A\u062A\u0645 \u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0648\u0637...",calculatedMeasureDesigner:"\u0645\u0635\u0645\u0645 \u0627\u0644\u0645\u0642\u0627\u064A\u064A\u0633 \u0627\u0644\u0645\u062D\u0633\u0648\u0628\u0629",createFormulasWithoutCode:"\u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0635\u064A\u063A \u0648\u0627\u0644\u062D\u0633\u0627\u0628\u0627\u062A \u0628\u062F\u0648\u0646 \u0643\u062A\u0627\u0628\u0629 \u0643\u0648\u062F.",measureName:"\u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u064A\u0627\u0633",format:"\u0627\u0644\u062A\u0646\u0633\u064A\u0642",numericStandard:"\u0631\u0642\u0645\u064A (\u0642\u064A\u0627\u0633\u064A)",numericDecimal:"\u0631\u0642\u0645\u064A (\u0639\u0634\u0631\u064A 1,486.15)",currencyTRY:"\u0627\u0644\u0639\u0645\u0644\u0629 (\u0644\u064A\u0631\u0629 \u062A\u0631\u0643\u064A\u0629)",currencyUSD:"\u0627\u0644\u0639\u0645\u0644\u0629 (\u062F\u0648\u0644\u0627\u0631 \u0623\u0645\u0631\u064A\u0643\u064A)",percent:"\u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064A\u0629 (%)",expand:"\u062A\u0648\u0633\u064A\u0639",collapse:"\u0637\u064A",expandAll:"\u062A\u0648\u0633\u064A\u0639 \u0627\u0644\u0643\u0644",refreshData:"\u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",filterBuilder:"\u0645\u0646\u0634\u0626 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",chartToggle:"\u062A\u0628\u062F\u064A\u0644 \u0639\u0631\u0636 \u0627\u0644\u0645\u062E\u0637\u0637",collapseAll:"\u0637\u064A \u0627\u0644\u0643\u0644",sortByThisColumn:"\u0627\u0644\u0641\u0631\u0632 \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",sortFieldByThisColumn:'\u0641\u0631\u0632 "{0}" \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F',removeAllSorting:"\u0625\u0632\u0627\u0644\u0629 \u0643\u0644 \u0627\u0644\u0641\u0631\u0632",sortAsc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u0623 \u0625\u0644\u0649 \u064A",sortDesc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u064A \u0625\u0644\u0649 \u0623",clearSort:"\u0645\u0633\u062D \u0627\u0644\u0641\u0631\u0632",order:"\u0627\u0644\u062A\u0631\u062A\u064A\u0628",moveToStart:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0628\u062F\u0627\u064A\u0629",moveToEnd:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0646\u0647\u0627\u064A\u0629",moveToLeft:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0633\u0627\u0631",moveToRight:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0645\u064A\u0646",fieldChipLabel:"{0}\u060C {1}\u060C {2} \u0645\u0646 {3}",fieldChipKeys:"Enter \u0644\u0644\u0641\u0631\u0632. Ctrl+\u0633\u0647\u0645 \u0644\u0646\u0642\u0644 \u0627\u0644\u062D\u0642\u0644\u060C Ctrl+Home/End \u0644\u0644\u0646\u0642\u0644 \u0625\u0644\u0649 \u0627\u0644\u0628\u062F\u0627\u064A\u0629 \u0623\u0648 \u0627\u0644\u0646\u0647\u0627\u064A\u0629\u060C Delete \u0644\u0644\u0625\u0632\u0627\u0644\u0629\u060C Shift+F10 \u0644\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629.",moveToArea:"\u0646\u0642\u0644 \u0625\u0644\u0649",opEquals:"\u064A\u0633\u0627\u0648\u064A",opNotEquals:"\u0644\u0627 \u064A\u0633\u0627\u0648\u064A",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opNotContains:"\u0644\u0627 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opStartsWith:"\u064A\u0628\u062F\u0623 \u0628\u0640",opEndsWith:"\u064A\u0646\u062A\u0647\u064A \u0628\u0640",opIsBlank:"\u0641\u0627\u0631\u063A",opIsNotBlank:"\u063A\u064A\u0631 \u0641\u0627\u0631\u063A",builderCombine:"\u062F\u0645\u062C \u0627\u0644\u0634\u0631\u0648\u0637 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645",builderAddCondition:"\u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0637",builderAddGroup:"\u0625\u0636\u0627\u0641\u0629 \u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveGroup:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveCondition:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0634\u0631\u0637",builderEmpty:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0634\u0631\u0648\u0637 \u0628\u0639\u062F.",builderValuePlaceholder:"\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629",showFieldList:"\u0625\u0638\u0647\u0627\u0631 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062D\u0642\u0648\u0644",editCalculation:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0639\u0645\u0644\u064A\u0629 \u0627\u0644\u062D\u0633\u0627\u0628\u064A\u0629",viewsAndReports:"\u0627\u0644\u0639\u0631\u0648\u0636 \u0648\u0627\u0644\u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0645\u062D\u0641\u0648\u0638\u0629",views:"\u0627\u0644\u0639\u0631\u0648\u0636",saveChangesOverwrite:"\u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A (\u0627\u0633\u062A\u0628\u062F\u0627\u0644)",saveAsCopy:"\u062D\u0641\u0638 \u0628\u0627\u0633\u0645 (\u0646\u0633\u062E\u0629)",makeDefault:"\u062A\u0639\u064A\u064A\u0646 \u0643\u0627\u0641\u062A\u0631\u0627\u0636\u064A",deleteReport:"\u062D\u0630\u0641 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",deleteReportConfirm:"\u0647\u0644 \u0623\u0646\u062A \u0645\u062A\u0623\u0643\u062F \u0623\u0646\u0643 \u062A\u0631\u064A\u062F \u062D\u0630\u0641 \u0627\u0644\u062A\u0642\u0631\u064A\u0631 '{0}'\u061F",customExports:"\u062A\u0635\u062F\u064A\u0631\u0627\u062A \u0645\u062E\u0635\u0635\u0629",customPlugin:"\u0645\u0643\u0648\u0646 \u0625\u0636\u0627\u0641\u064A \u0645\u062E\u0635\u0635",importCancelled:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F.",importPreviewTitle:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",importPreviewSubtitle:"\u0633\u064A\u062A\u0645 \u0627\u0633\u062A\u064A\u0631\u0627\u062F {rows} \u0635\u0641\u0648\u0641 \u2022 {cols} \u0623\u0639\u0645\u062F\u0629",importPreviewFooter:"\u0631\u0627\u062C\u0639 \u0627\u0644\u0623\u0639\u0645\u062F\u0629 \u0648\u0627\u0644\u0623\u0646\u0648\u0627\u0639 \u062B\u0645 \u0623\u0643\u0651\u062F.",columns:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",includeColumn:"\u062A\u0636\u0645\u064A\u0646 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",dataPreview:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",applyImport:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F",type_string:"\u0646\u0635",type_number:"\u0631\u0642\u0645",type_date:"\u062A\u0627\u0631\u064A\u062E",type_boolean:"\u0645\u0646\u0637\u0642\u064A",reading:"\u062C\u0627\u0631\u064D \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641\u2026",parsing:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0644\u064A\u0644\u2026",typing:"\u062C\u0627\u0631\u064D \u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0623\u0646\u0648\u0627\u0639\u2026",finalizing:"\u062C\u0627\u0631\u064D \u0627\u0644\u0625\u0646\u0647\u0627\u0621\u2026",measureNamePlaceholder:"\u0645\u062B\u0627\u0644: \u0647\u0627\u0645\u0634 \u0627\u0644\u0631\u0628\u062D",customFormat:"\u0645\u062E\u0635\u0635\u2026",customPrefix:"\u0628\u0627\u062F\u0626\u0629",customSuffix:"\u0644\u0627\u062D\u0642\u0629",minFraction:"\u0623\u062F\u0646\u0649 \u0643\u0633\u0648\u0631",maxFraction:"\u0623\u0642\u0635\u0649 \u0643\u0633\u0648\u0631",calculationLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u062D\u0633\u0627\u0628",calcRowLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u0635\u0641 (\u0628\u064A\u0627\u0646\u0627\u062A \u062E\u0627\u0645)",calcSummaryLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u0645\u0644\u062E\u0635 (\u0645\u062C\u0645\u064E\u0651\u0639)",fields:"\u0627\u0644\u062D\u0642\u0648\u0644",noFieldsFound:"\u0644\u0627 \u062A\u0648\u062C\u062F \u062D\u0642\u0648\u0644 \u0645\u0646\u0627\u0633\u0628\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062A\u0648\u0649.",deleteCalcField:"\u062D\u0630\u0641 \u0627\u0644\u062D\u0642\u0644 \u0627\u0644\u0645\u062D\u0633\u0648\u0628",formula:"\u0635\u064A\u063A\u0629",formulaPlaceholder:"\u0645\u062B\u0627\u0644: [\u0627\u0644\u0625\u064A\u0631\u0627\u062F\u0627\u062A] - [\u0627\u0644\u062A\u0643\u0644\u0641\u0629]",saveAndAdd:"\u062D\u0641\u0638 \u0648\u0625\u0636\u0627\u0641\u0629",measureNameEmpty:"\u0627\u0633\u0645 \u0627\u0644\u062D\u0642\u0644 \u0645\u0637\u0644\u0648\u0628.",formulaEmpty:"\u0627\u0644\u0635\u064A\u063A\u0629 \u0645\u0637\u0644\u0648\u0628\u0629.",formulaError:"\u062E\u0637\u0623 \u0641\u064A \u0627\u0644\u0635\u064A\u063A\u0629",error:"\u062E\u0637\u0623",systemError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639",saveReport:"\u062D\u0641\u0638 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",saveReportDescription:"\u0627\u062D\u0641\u0638 \u0627\u0644\u062D\u0642\u0648\u0644 \u0648\u0627\u0644\u062A\u062E\u0637\u064A\u0637 \u0627\u0644\u062D\u0627\u0644\u064A\u064A\u0646 \u0643\u0639\u0631\u0636 \u0645\u0633\u0645\u0651\u0649.",reportName:"\u0627\u0633\u0645 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",reportNamePlaceholder:"\u0645\u062B\u0627\u0644: \u062A\u062D\u0644\u064A\u0644 \u0627\u0644\u0645\u0628\u064A\u0639\u0627\u062A \u0627\u0644\u0634\u0647\u0631\u064A",setAsDefault:"\u062A\u0639\u064A\u064A\u0646 \u0643\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",enterFullscreen:"\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",exitFullscreen:"\u0627\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",print:"\u0637\u0628\u0627\u0639\u0629",sendToPrinter:"\u0625\u0631\u0633\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0637\u0627\u0628\u0639\u0629",copyToClipboard:"\u0646\u0633\u062E \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629",tabSeparatedValues:"\u0642\u064A\u0645 \u0645\u0641\u0635\u0648\u0644\u0629 \u0628\u0639\u0644\u0627\u0645\u0627\u062A \u062C\u062F\u0648\u0644\u0629",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"\u0645\u064A\u0632\u0629 Enterprise \u2014 \u0627\u0646\u0642\u0631 \u0644\u0644\u062A\u0631\u0642\u064A\u0629",dataImportUnsupported:"\u0644\u0627 \u064A\u0642\u0628\u0644 \u0647\u0630\u0627 \u0627\u0644\u062C\u062F\u0648\u0644 \u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A. \u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0639\u0631\u0636 \u0641\u0642\u0637.",columnFilter:"\u0645\u0631\u0634\u062D \u0627\u0644\u0639\u0645\u0648\u062F",percentOfColumnTotal:"\u066A \u0645\u0646 \u0625\u062C\u0645\u0627\u0644\u064A \u0627\u0644\u0639\u0645\u0648\u062F",percentOfRowTotal:"\u066A \u0645\u0646 \u0625\u062C\u0645\u0627\u0644\u064A \u0627\u0644\u0635\u0641",percentDifference:"\u066A \u0627\u0644\u0641\u0631\u0642",filterField:"\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062D\u0642\u0644",removeFromArea:"\u0625\u0632\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u0646\u0637\u0642\u0629",removeField:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062D\u0642\u0644",deletePermanently:"\u062D\u0630\u0641 \u0646\u0647\u0627\u0626\u064A",exportCsv:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 CSV",pagerPage:"\u0635\u0641\u062D\u0629",pagerOf:"\u0645\u0646",pagerPrevious:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",pagerNext:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",drillDown:"\u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644",drillDownRecords:"\u0627\u0644\u0633\u062C\u0644\u0627\u062A: {count}",exportGeneratedOn:"\u062A\u0645 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0641\u064A",calcRowLevelHint:"\u064A\u064F\u062D\u0633\u0628 \u0644\u0643\u0644 \u0635\u0641 \u0645\u0635\u062F\u0631\u060C \u062B\u0645 \u064A\u064F\u062C\u0645\u064E\u0651\u0639 \u0643\u0623\u064A \u0645\u0642\u064A\u0627\u0633 \u0622\u062E\u0631.",calcSummaryLevelHint:"\u064A\u064F\u062D\u0633\u0628 \u0645\u0646 \u0627\u0644\u062E\u0644\u0627\u064A\u0627 \u0627\u0644\u0645\u062C\u0645\u064E\u0651\u0639\u0629 \u0628\u0639\u062F \u0623\u0646 \u064A\u062C\u0645\u0639 \u0627\u0644\u062C\u062F\u0648\u0644 \u0627\u0644\u0645\u062D\u0648\u0631\u064A.",formulaValid:"\u0627\u0644\u0635\u064A\u063A\u0629 \u0635\u0627\u0644\u062D\u0629",calcFieldsHint:"\u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u062D\u0642\u0644 \u0644\u0625\u062F\u0631\u0627\u062C\u0647 \u0641\u064A \u0627\u0644\u0635\u064A\u063A\u0629.",formulaUses:"\u064A\u0633\u062A\u062E\u062F\u0645: {fields}",licenseMissing:"\u063A\u064A\u0631 \u0645\u0631\u062E\u0651\u0635",licenseExpired:"\u0627\u0646\u062A\u0647\u062A \u0635\u0644\u0627\u062D\u064A\u0629 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseReleaseNotCovered:"\u0647\u0630\u0627 \u0627\u0644\u0625\u0635\u062F\u0627\u0631 \u063A\u064A\u0631 \u0645\u0634\u0645\u0648\u0644 \u0628\u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseDomainMismatch:"\u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642",licenseRevoked:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseInvalidFormat:"\u0635\u064A\u063A\u0629 \u0645\u0641\u062A\u0627\u062D \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629",licenseInvalidSignature:"\u062A\u0648\u0642\u064A\u0639 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",licenseEngineUnavailable:"\u0644\u0627 \u064A\u0633\u062A\u0637\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 (\u064A\u0644\u0632\u0645 HTTPS)"},Zu={ok:"\u786E\u5B9A",cancel:"\u53D6\u6D88",apply:"\u5E94\u7528",close:"\u5173\u95ED",search:"\u641C\u7D22...",selectAll:"\u5168\u9009",clearAll:"\u5168\u90E8\u6E05\u9664",show:"\u663E\u793A",hide:"\u9690\u85CF",filterArea:"\u8FC7\u6EE4\u533A\u57DF",columnArea:"\u5217",rowArea:"\u884C",dataArea:"\u503C",footerArea:"\u9875\u811A\u533A\u57DF",allFields:"\u6240\u6709\u5B57\u6BB5",dropHere:"\u62D6\u653E\u5230\u8FD9\u91CC",actions:"\u64CD\u4F5C",saveNewView:"\u4FDD\u5B58\u65B0\u89C6\u56FE",saveAsView:"\u53E6\u5B58\u4E3A",saveChanges:"\u4FDD\u5B58\u66F4\u6539",savedViews:"\u5DF2\u4FDD\u5B58\u7684\u89C6\u56FE",viewOptions:"\u89C6\u56FE\u9009\u9879",export:"\u5BFC\u51FA",importFile:"\u5BFC\u5165",importFromFile:"\u4ECE\u6587\u4EF6",pasteImport:"\u4ECE\u526A\u8D34\u677F\u5BFC\u5165",pasteImportHint:"\u5236\u8868\u7B26\u6216\u9017\u53F7\u5206\u9694",dropToImport:"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4EE5\u5BFC\u5165",clipboardEmpty:"\u526A\u8D34\u677F\u4E2D\u672A\u627E\u5230\u53EF\u5BFC\u5165\u7684\u6587\u672C\u3002",clipboardDenied:"\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u6743\u9650\u3002",excelExport:"Excel \u5BFC\u51FA",pivotView:"\u6570\u636E\u900F\u89C6\u89C6\u56FE",listView:"\u5217\u8868\u89C6\u56FE",preservesGridLayout:"\u4FDD\u7559\u7F51\u683C\u5E03\u5C40",rawFlatData:"\u539F\u59CB\u5E73\u9762\u6570\u636E",document:"\u6587\u6863",pdfDocument:"PDF \u6587\u6863",printReadyLayout:"\u6253\u5370\u5C31\u7EEA\u5E03\u5C40",fullSnapshot:"\u5B8C\u6574\u5FEB\u7167",saveSessionState:"\u4FDD\u5B58\u4F1A\u8BDD\u72B6\u6001",rawDataFormats:"\u539F\u59CB\u6570\u636E\u683C\u5F0F",importSuccess:"\u5BFC\u5165\u6210\u529F",importWarning:"\u5DF2\u5B8C\u6210\u5E76\u5E26\u6709\u8B66\u544A",importError:"\u5BFC\u5165\u5931\u8D25",initializing:"\u521D\u59CB\u5316\u4E2D...",loading:"\u52A0\u8F7D\u4E2D...",emptyData:"\u672A\u627E\u5230\u6570\u636E",noItems:"\u672A\u627E\u5230\u9879\u76EE",blanks:"(\u7A7A\u767D)",loadingData:"\u8BF7\u7A0D\u5019\uFF0C\u6B63\u5728\u51C6\u5907\u6570\u636E...",processing:"\u5904\u7406\u4E2D...",fieldSettings:"\u5B57\u6BB5\u8BBE\u7F6E",caption:"\u6807\u9898",summaryType:"\u6C47\u603B\u7C7B\u578B",displayMode:"\u663E\u793A\u6A21\u5F0F",groupInterval:"\u5206\u7EC4\u95F4\u9694",sum:"\u6C42\u548C",count:"\u8BA1\u6570",avg:"\u5E73\u5747\u503C",min:"\u6700\u5C0F\u503C",max:"\u6700\u5927\u503C",grandTotal:"\u603B\u8BA1",subTotal:"\u5C0F\u8BA1",absoluteValue:"\u7EDD\u5BF9\u503C",runningTotal:"\u8FD0\u884C\u603B\u8BA1",difference:"\u5DEE\u5F02",percentOfTotal:"\u5360\u603B\u8BA1\u7684\u767E\u5206\u6BD4",none:"\u65E0",year:"\u5E74",quarter:"\u5B63\u5EA6",month:"\u6708",day:"\u65E5",and:"\u4E0E",or:"\u6216",noConditionsAdded:"\u672A\u6DFB\u52A0\u6761\u4EF6...",calculatedMeasureDesigner:"\u8BA1\u7B97\u5EA6\u91CF\u8BBE\u8BA1\u5668",createFormulasWithoutCode:"\u65E0\u9700\u7F16\u5199\u4EE3\u7801\u5373\u53EF\u521B\u5EFA\u516C\u5F0F\u548C\u8BA1\u7B97\u3002",measureName:"\u5EA6\u91CF\u540D\u79F0",format:"\u683C\u5F0F",numericStandard:"\u6570\u5B57\uFF08\u6807\u51C6\uFF09",numericDecimal:"\u6570\u5B57\uFF08\u5341\u8FDB\u5236 1,486.15\uFF09",currencyTRY:"\u8D27\u5E01\uFF08TRY\uFF09",currencyUSD:"\u8D27\u5E01\uFF08USD\uFF09",percent:"\u767E\u5206\u6BD4\uFF08%\uFF09",expand:"\u5C55\u5F00",collapse:"\u6298\u53E0",expandAll:"\u5168\u90E8\u5C55\u5F00",refreshData:"\u5237\u65B0\u6570\u636E",filterBuilder:"\u7B5B\u9009\u5668\u751F\u6210\u5668",chartToggle:"\u5207\u6362\u56FE\u8868\u89C6\u56FE",collapseAll:"\u5168\u90E8\u6298\u53E0",sortByThisColumn:"\u6309\u6B64\u5217\u6392\u5E8F",sortFieldByThisColumn:'\u6309\u6B64\u5217\u6392\u5E8F "{0}"',removeAllSorting:"\u79FB\u9664\u6240\u6709\u6392\u5E8F",sortAsc:"\u6309 A \u5230 Z \u6392\u5E8F",sortDesc:"\u6309 Z \u5230 A \u6392\u5E8F",clearSort:"\u6E05\u9664\u6392\u5E8F",order:"\u987A\u5E8F",moveToStart:"\u79FB\u5230\u5F00\u5934",moveToEnd:"\u79FB\u5230\u7ED3\u5C3E",moveToLeft:"\u5DE6\u79FB",moveToRight:"\u53F3\u79FB",fieldChipLabel:"{0}\uFF0C{1}\uFF0C\u7B2C {2} \u4E2A\uFF0C\u5171 {3} \u4E2A",fieldChipKeys:"Enter \u6392\u5E8F\u3002Ctrl+\u65B9\u5411\u952E\u79FB\u52A8\u5B57\u6BB5\uFF0CCtrl+Home/End \u79FB\u5230\u5F00\u5934\u6216\u672B\u5C3E\uFF0CDelete \u79FB\u9664\uFF0CShift+F10 \u6253\u5F00\u83DC\u5355\u3002",moveToArea:"\u79FB\u52A8\u5230",opEquals:"\u7B49\u4E8E",opNotEquals:"\u4E0D\u7B49\u4E8E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u5305\u542B",opNotContains:"\u4E0D\u5305\u542B",opStartsWith:"\u5F00\u5934\u4E3A",opEndsWith:"\u7ED3\u5C3E\u4E3A",opIsBlank:"\u4E3A\u7A7A",opIsNotBlank:"\u4E0D\u4E3A\u7A7A",builderCombine:"\u6761\u4EF6\u7684\u7EC4\u5408\u65B9\u5F0F",builderAddCondition:"\u6DFB\u52A0\u6761\u4EF6",builderAddGroup:"\u6DFB\u52A0\u5206\u7EC4",builderRemoveGroup:"\u79FB\u9664\u5206\u7EC4",builderRemoveCondition:"\u79FB\u9664\u6761\u4EF6",builderEmpty:"\u5C1A\u65E0\u6761\u4EF6\u3002",builderValuePlaceholder:"\u8BF7\u8F93\u5165\u503C",showFieldList:"\u663E\u793A\u5B57\u6BB5\u5217\u8868",editCalculation:"\u7F16\u8F91\u8BA1\u7B97",viewsAndReports:"\u5DF2\u4FDD\u5B58\u7684\u89C6\u56FE\u548C\u62A5\u544A",views:"\u89C6\u56FE",saveChangesOverwrite:"\u4FDD\u5B58\u66F4\u6539\uFF08\u8986\u76D6\uFF09",saveAsCopy:"\u53E6\u5B58\u4E3A\uFF08\u590D\u5236\uFF09",makeDefault:"\u8BBE\u4E3A\u9ED8\u8BA4",deleteReport:"\u5220\u9664\u62A5\u544A",deleteReportConfirm:"\u786E\u5B9A\u8981\u5220\u9664\u62A5\u544A '{0}' \u5417\uFF1F",customExports:"\u81EA\u5B9A\u4E49\u5BFC\u51FA",customPlugin:"\u81EA\u5B9A\u4E49\u63D2\u4EF6",importCancelled:"\u5BFC\u5165\u5DF2\u53D6\u6D88\u3002",importPreviewTitle:"\u5BFC\u5165\u9884\u89C8",importPreviewSubtitle:"\u5C06\u5BFC\u5165 {rows} \u884C \u2022 {cols} \u5217",importPreviewFooter:"\u8BF7\u68C0\u67E5\u5217\u548C\u7C7B\u578B\uFF0C\u7136\u540E\u786E\u8BA4\u3002",columns:"\u5217",includeColumn:"\u5305\u542B\u6B64\u5217",dataPreview:"\u6570\u636E\u9884\u89C8",applyImport:"\u5BFC\u5165",type_string:"\u6587\u672C",type_number:"\u6570\u5B57",type_date:"\u65E5\u671F",type_boolean:"\u5E03\u5C14\u503C",reading:"\u6B63\u5728\u8BFB\u53D6\u6587\u4EF6\u2026",parsing:"\u6B63\u5728\u89E3\u6790\u2026",typing:"\u6B63\u5728\u68C0\u6D4B\u7C7B\u578B\u2026",finalizing:"\u6B63\u5728\u5B8C\u6210\u2026",measureNamePlaceholder:"\u4F8B\u5982\uFF1A\u5229\u6DA6\u7387",customFormat:"\u81EA\u5B9A\u4E49\u2026",customPrefix:"\u524D\u7F00",customSuffix:"\u540E\u7F00",minFraction:"\u6700\u5C0F\u5C0F\u6570\u4F4D",maxFraction:"\u6700\u5927\u5C0F\u6570\u4F4D",calculationLevel:"\u8BA1\u7B97\u7EA7\u522B",calcRowLevel:"\u884C\u7EA7\u522B\uFF08\u539F\u59CB\u6570\u636E\uFF09",calcSummaryLevel:"\u6C47\u603B\u7EA7\u522B\uFF08\u5DF2\u805A\u5408\uFF09",fields:"\u5B57\u6BB5",noFieldsFound:"\u6B64\u7EA7\u522B\u6CA1\u6709\u53EF\u7528\u5B57\u6BB5\u3002",deleteCalcField:"\u5220\u9664\u8BA1\u7B97\u5B57\u6BB5",formula:"\u516C\u5F0F",formulaPlaceholder:"\u4F8B\u5982\uFF1A[\u6536\u5165] - [\u6210\u672C]",saveAndAdd:"\u4FDD\u5B58\u5E76\u6DFB\u52A0",measureNameEmpty:"\u8BF7\u8F93\u5165\u5B57\u6BB5\u540D\u79F0\u3002",formulaEmpty:"\u8BF7\u8F93\u5165\u516C\u5F0F\u3002",formulaError:"\u516C\u5F0F\u9519\u8BEF",error:"\u9519\u8BEF",systemError:"\u53D1\u751F\u610F\u5916\u9519\u8BEF",saveReport:"\u4FDD\u5B58\u62A5\u8868",saveReportDescription:"\u5C06\u5F53\u524D\u5B57\u6BB5\u548C\u5E03\u5C40\u4FDD\u5B58\u4E3A\u547D\u540D\u89C6\u56FE\u3002",reportName:"\u62A5\u8868\u540D\u79F0",reportNamePlaceholder:"\u4F8B\u5982\uFF1A\u6708\u5EA6\u9500\u552E\u5206\u6790",setAsDefault:"\u8BBE\u4E3A\u9ED8\u8BA4",save:"\u4FDD\u5B58",enterFullscreen:"\u5168\u5C4F",exitFullscreen:"\u9000\u51FA\u5168\u5C4F",print:"\u6253\u5370",sendToPrinter:"\u53D1\u9001\u5230\u6253\u5370\u673A",copyToClipboard:"\u590D\u5236\u5230\u526A\u8D34\u677F",tabSeparatedValues:"\u5236\u8868\u7B26\u5206\u9694\u7684\u503C",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \u529F\u80FD\u2014\u2014\u70B9\u51FB\u5347\u7EA7",dataImportUnsupported:"\u6B64\u8868\u683C\u4E0D\u63A5\u53D7\u5BFC\u5165\u7684\u6570\u636E\u3002\u4EC5\u66F4\u65B0\u4E86\u89C6\u56FE\u3002",columnFilter:"\u5217\u7B5B\u9009",percentOfColumnTotal:"\u5360\u5217\u603B\u8BA1\u767E\u5206\u6BD4",percentOfRowTotal:"\u5360\u884C\u603B\u8BA1\u767E\u5206\u6BD4",percentDifference:"\u5DEE\u5F02\u767E\u5206\u6BD4",filterField:"\u7B5B\u9009\u5B57\u6BB5",removeFromArea:"\u4ECE\u533A\u57DF\u79FB\u9664",removeField:"\u79FB\u9664\u5B57\u6BB5",deletePermanently:"\u6C38\u4E45\u5220\u9664",exportCsv:"\u5BFC\u51FA\u4E3A CSV",pagerPage:"\u7B2C",pagerOf:"/",pagerPrevious:"\u4E0A\u4E00\u9875",pagerNext:"\u4E0B\u4E00\u9875",drillDown:"\u94BB\u53D6",drillDownRecords:"\u8BB0\u5F55\u6570: {count}",exportGeneratedOn:"\u751F\u6210\u65F6\u95F4",calcRowLevelHint:"\u4E3A\u6BCF\u4E2A\u6E90\u884C\u8BA1\u7B97\uFF0C\u7136\u540E\u50CF\u5176\u4ED6\u5EA6\u91CF\u4E00\u6837\u805A\u5408\u3002",calcSummaryLevelHint:"\u5728\u6570\u636E\u900F\u89C6\u6C47\u603B\u4E4B\u540E\uFF0C\u57FA\u4E8E\u805A\u5408\u540E\u7684\u5355\u5143\u683C\u8BA1\u7B97\u3002",formulaValid:"\u516C\u5F0F\u6709\u6548",calcFieldsHint:"\u70B9\u51FB\u5B57\u6BB5\u5373\u53EF\u63D2\u5165\u5230\u516C\u5F0F\u4E2D\u3002",formulaUses:"\u4F7F\u7528: {fields}",licenseMissing:"\u672A\u6388\u6743",licenseExpired:"\u8BB8\u53EF\u8BC1\u5DF2\u8FC7\u671F",licenseReleaseNotCovered:"\u6B64\u7248\u672C\u4E0D\u5728\u8BB8\u53EF\u8BC1\u8986\u76D6\u8303\u56F4\u5185",licenseDomainMismatch:"\u8BB8\u53EF\u8BC1\u5BF9\u6B64\u57DF\u540D\u65E0\u6548",licenseRevoked:"\u8BB8\u53EF\u8BC1\u5DF2\u88AB\u540A\u9500",licenseInvalidFormat:"\u8BB8\u53EF\u8BC1\u5BC6\u94A5\u683C\u5F0F\u9519\u8BEF",licenseInvalidSignature:"\u8BB8\u53EF\u8BC1\u7B7E\u540D\u65E0\u6548",licenseEngineUnavailable:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u9A8C\u8BC1\u8BB8\u53EF\u8BC1\uFF08\u9700\u8981 HTTPS\uFF09"},Ju={ok:"OK",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",apply:"\u9069\u7528",close:"\u9589\u3058\u308B",search:"\u691C\u7D22...",selectAll:"\u3059\u3079\u3066\u9078\u629E",clearAll:"\u3059\u3079\u3066\u30AF\u30EA\u30A2",show:"\u8868\u793A",hide:"\u975E\u8868\u793A",filterArea:"\u30D5\u30A3\u30EB\u30BF\u30FC\u9818\u57DF",columnArea:"\u5217",rowArea:"\u884C",dataArea:"\u5024",footerArea:"\u30D5\u30C3\u30BF\u30FC\u9818\u57DF",allFields:"\u3059\u3079\u3066\u306E\u30D5\u30A3\u30FC\u30EB\u30C9",dropHere:"\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7",actions:"\u30A2\u30AF\u30B7\u30E7\u30F3",saveNewView:"\u65B0\u3057\u3044\u30D3\u30E5\u30FC\u3092\u4FDD\u5B58",saveAsView:"\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58",saveChanges:"\u5909\u66F4\u3092\u4FDD\u5B58",savedViews:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC",viewOptions:"\u30D3\u30E5\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3",export:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",importFile:"\u30A4\u30F3\u30DD\u30FC\u30C8",importFromFile:"\u30D5\u30A1\u30A4\u30EB\u304B\u3089",pasteImport:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089\u30A4\u30F3\u30DD\u30FC\u30C8",pasteImportHint:"\u30BF\u30D6\u307E\u305F\u306F\u30AB\u30F3\u30DE\u533A\u5207\u308A",dropToImport:"\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7",clipboardEmpty:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30A4\u30F3\u30DD\u30FC\u30C8\u53EF\u80FD\u306A\u30C6\u30AD\u30B9\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",clipboardDenied:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30D6\u30E9\u30A6\u30B6\u306E\u6A29\u9650\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",excelExport:"Excel \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",pivotView:"\u30D4\u30DC\u30C3\u30C8\u30D3\u30E5\u30FC",listView:"\u30EA\u30B9\u30C8\u30D3\u30E5\u30FC",preservesGridLayout:"\u30B0\u30EA\u30C3\u30C9\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u4FDD\u6301",rawFlatData:"\u30D5\u30E9\u30C3\u30C8\u306A\u751F\u30C7\u30FC\u30BF",document:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",pdfDocument:"PDF \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",printReadyLayout:"\u5370\u5237\u7528\u30EC\u30A4\u30A2\u30A6\u30C8",fullSnapshot:"\u5B8C\u5168\u306A\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8",saveSessionState:"\u30BB\u30C3\u30B7\u30E7\u30F3\u72B6\u614B\u3092\u4FDD\u5B58",rawDataFormats:"\u751F\u30C7\u30FC\u30BF\u5F62\u5F0F",importSuccess:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F",importWarning:"\u8B66\u544A\u4ED8\u304D\u3067\u5B8C\u4E86\u3057\u307E\u3057\u305F",importError:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F",initializing:"\u521D\u671F\u5316\u4E2D...",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",emptyData:"\u30C7\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",noItems:"\u30A2\u30A4\u30C6\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",blanks:"(\u7A7A\u767D)",loadingData:"\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002\u30C7\u30FC\u30BF\u3092\u6E96\u5099\u3057\u3066\u3044\u307E\u3059...",processing:"\u51E6\u7406\u4E2D...",fieldSettings:"\u30D5\u30A3\u30FC\u30EB\u30C9\u8A2D\u5B9A",caption:"\u30AD\u30E3\u30D7\u30B7\u30E7\u30F3",summaryType:"\u96C6\u8A08\u30BF\u30A4\u30D7",displayMode:"\u8868\u793A\u30E2\u30FC\u30C9",groupInterval:"\u30B0\u30EB\u30FC\u30D7\u9593\u9694",sum:"\u5408\u8A08",count:"\u30AB\u30A6\u30F3\u30C8",avg:"\u5E73\u5747",min:"\u6700\u5C0F",max:"\u6700\u5927",grandTotal:"\u7DCF\u8A08",subTotal:"\u5C0F\u8A08",absoluteValue:"\u7D76\u5BFE\u5024",runningTotal:"\u7D2F\u8A08",difference:"\u5DEE\u5206",percentOfTotal:"\u7DCF\u8A08\u306E\u5272\u5408",none:"\u306A\u3057",year:"\u5E74",quarter:"\u56DB\u534A\u671F",month:"\u6708",day:"\u65E5",and:"\u304B\u3064 (And)",or:"\u307E\u305F\u306F (Or)",noConditionsAdded:"\u6761\u4EF6\u304C\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093...",calculatedMeasureDesigner:"\u8A08\u7B97\u30E1\u30B8\u30E3\u30FC\u30C7\u30B6\u30A4\u30CA\u30FC",createFormulasWithoutCode:"\u30B3\u30FC\u30C9\u3092\u8A18\u8FF0\u305B\u305A\u306B\u6570\u5F0F\u3068\u8A08\u7B97\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",measureName:"\u30E1\u30B8\u30E3\u30FC\u540D",format:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8",numericStandard:"\u6570\u5024\uFF08\u6A19\u6E96\uFF09",numericDecimal:"\u6570\u5024\uFF08\u5C0F\u6570 1,486.15\uFF09",currencyTRY:"\u901A\u8CA8\uFF08TRY\uFF09",currencyUSD:"\u901A\u8CA8\uFF08USD\uFF09",percent:"\u30D1\u30FC\u30BB\u30F3\u30C8\uFF08%\uFF09",expand:"\u5C55\u958B",collapse:"\u6298\u308A\u305F\u305F\u3080",expandAll:"\u3059\u3079\u3066\u5C55\u958B",refreshData:"\u30C7\u30FC\u30BF\u3092\u66F4\u65B0",filterBuilder:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30D3\u30EB\u30C0\u30FC",chartToggle:"\u30B0\u30E9\u30D5\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",collapseAll:"\u3059\u3079\u3066\u6298\u308A\u305F\u305F\u3080",sortByThisColumn:"\u3053\u306E\u5217\u3067\u4E26\u3079\u66FF\u3048",sortFieldByThisColumn:'\u3053\u306E\u5217\u3067 "{0}" \u3092\u4E26\u3079\u66FF\u3048',removeAllSorting:"\u3059\u3079\u3066\u306E\u4E26\u3079\u66FF\u3048\u3092\u524A\u9664",sortAsc:"\u6607\u9806\u3067\u4E26\u3079\u66FF\u3048",sortDesc:"\u964D\u9806\u3067\u4E26\u3079\u66FF\u3048",clearSort:"\u4E26\u3079\u66FF\u3048\u3092\u30AF\u30EA\u30A2",order:"\u9806\u5E8F",moveToStart:"\u5148\u982D\u306B\u79FB\u52D5",moveToEnd:"\u672B\u5C3E\u306B\u79FB\u52D5",moveToLeft:"\u5DE6\u306B\u79FB\u52D5",moveToRight:"\u53F3\u306B\u79FB\u52D5",fieldChipLabel:"{0}\u3001{1}\u3001{3}\u4EF6\u4E2D{2}\u4EF6\u76EE",fieldChipKeys:"Enter\u3067\u4E26\u3079\u66FF\u3048\u3002Ctrl+\u77E2\u5370\u3067\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u79FB\u52D5\u3001Ctrl+Home/End\u3067\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u3078\u3001Delete\u3067\u524A\u9664\u3001Shift+F10\u3067\u30E1\u30CB\u30E5\u30FC\u3092\u958B\u304D\u307E\u3059\u3002",moveToArea:"\u79FB\u52D5\u5148",opEquals:"\u304C\u6B21\u3068\u7B49\u3057\u3044",opNotEquals:"\u304C\u6B21\u3068\u7B49\u3057\u304F\u306A\u3044",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u3092\u542B\u3080",opNotContains:"\u3092\u542B\u307E\u306A\u3044",opStartsWith:"\u3067\u59CB\u307E\u308B",opEndsWith:"\u3067\u7D42\u308F\u308B",opIsBlank:"\u304C\u7A7A\u767D",opIsNotBlank:"\u304C\u7A7A\u767D\u3067\u306A\u3044",builderCombine:"\u6761\u4EF6\u306E\u7D50\u5408\u65B9\u6CD5",builderAddCondition:"\u6761\u4EF6\u3092\u8FFD\u52A0",builderAddGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0",builderRemoveGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664",builderRemoveCondition:"\u6761\u4EF6\u3092\u524A\u9664",builderEmpty:"\u307E\u3060\u6761\u4EF6\u304C\u3042\u308A\u307E\u305B\u3093\u3002",builderValuePlaceholder:"\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",showFieldList:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30EA\u30B9\u30C8\u3092\u8868\u793A",editCalculation:"\u8A08\u7B97\u306E\u7DE8\u96C6",viewsAndReports:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC\u3068\u30EC\u30DD\u30FC\u30C8",views:"\u30D3\u30E5\u30FC",saveChangesOverwrite:"\u5909\u66F4\u3092\u4FDD\u5B58\uFF08\u4E0A\u66F8\u304D\uFF09",saveAsCopy:"\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58\uFF08\u30B3\u30D4\u30FC\uFF09",makeDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u8A2D\u5B9A",deleteReport:"\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664",deleteReportConfirm:"\u30EC\u30DD\u30FC\u30C8 '{0}' \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",customExports:"\u30AB\u30B9\u30BF\u30E0\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",customPlugin:"\u30AB\u30B9\u30BF\u30E0\u30D7\u30E9\u30B0\u30A4\u30F3",importCancelled:"\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002",importPreviewTitle:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306E\u30D7\u30EC\u30D3\u30E5\u30FC",importPreviewSubtitle:"{rows} \u884C \u2022 {cols} \u5217\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059",importPreviewFooter:"\u5217\u3068\u578B\u3092\u78BA\u8A8D\u3057\u3066\u304B\u3089\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",columns:"\u5217",includeColumn:"\u3053\u306E\u5217\u3092\u542B\u3081\u308B",dataPreview:"\u30C7\u30FC\u30BF\u306E\u30D7\u30EC\u30D3\u30E5\u30FC",applyImport:"\u30A4\u30F3\u30DD\u30FC\u30C8",type_string:"\u30C6\u30AD\u30B9\u30C8",type_number:"\u6570\u5024",type_date:"\u65E5\u4ED8",type_boolean:"\u30D6\u30FC\u30EB\u5024",reading:"\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",parsing:"\u89E3\u6790\u4E2D\u2026",typing:"\u578B\u3092\u5224\u5B9A\u4E2D\u2026",finalizing:"\u5B8C\u4E86\u51E6\u7406\u4E2D\u2026",measureNamePlaceholder:"\u4F8B: \u5229\u76CA\u7387",customFormat:"\u30AB\u30B9\u30BF\u30E0\u2026",customPrefix:"\u63A5\u982D\u8F9E",customSuffix:"\u63A5\u5C3E\u8F9E",minFraction:"\u6700\u5C0F\u5C0F\u6570\u6841",maxFraction:"\u6700\u5927\u5C0F\u6570\u6841",calculationLevel:"\u8A08\u7B97\u30EC\u30D9\u30EB",calcRowLevel:"\u884C\u30EC\u30D9\u30EB (\u5143\u30C7\u30FC\u30BF)",calcSummaryLevel:"\u96C6\u8A08\u30EC\u30D9\u30EB (\u96C6\u7D04\u6E08\u307F)",fields:"\u30D5\u30A3\u30FC\u30EB\u30C9",noFieldsFound:"\u3053\u306E\u30EC\u30D9\u30EB\u3067\u4F7F\u7528\u3067\u304D\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3042\u308A\u307E\u305B\u3093\u3002",deleteCalcField:"\u8A08\u7B97\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u524A\u9664",formula:"\u6570\u5F0F",formulaPlaceholder:"\u4F8B: [\u58F2\u4E0A] - [\u539F\u4FA1]",saveAndAdd:"\u4FDD\u5B58\u3057\u3066\u8FFD\u52A0",measureNameEmpty:"\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u306F\u5FC5\u9808\u3067\u3059\u3002",formulaEmpty:"\u6570\u5F0F\u306F\u5FC5\u9808\u3067\u3059\u3002",formulaError:"\u6570\u5F0F\u30A8\u30E9\u30FC",error:"\u30A8\u30E9\u30FC",systemError:"\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F",saveReport:"\u30EC\u30DD\u30FC\u30C8\u3092\u4FDD\u5B58",saveReportDescription:"\u73FE\u5728\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u540D\u524D\u4ED8\u304D\u30D3\u30E5\u30FC\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002",reportName:"\u30EC\u30DD\u30FC\u30C8\u540D",reportNamePlaceholder:"\u4F8B\uFF1A\u6708\u6B21\u58F2\u4E0A\u5206\u6790",setAsDefault:"\u65E2\u5B9A\u306B\u8A2D\u5B9A",save:"\u4FDD\u5B58",enterFullscreen:"\u5168\u753B\u9762\u8868\u793A",exitFullscreen:"\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86",print:"\u5370\u5237",sendToPrinter:"\u30D7\u30EA\u30F3\u30BF\u30FC\u306B\u9001\u4FE1",copyToClipboard:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC",tabSeparatedValues:"\u30BF\u30D6\u533A\u5207\u308A\u306E\u5024",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \u6A5F\u80FD \u2014 \u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9",dataImportUnsupported:"\u3053\u306E\u30B0\u30EA\u30C3\u30C9\u306F\u30C7\u30FC\u30BF\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002\u8868\u793A\u306E\u307F\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002",columnFilter:"\u5217\u30D5\u30A3\u30EB\u30BF\u30FC",percentOfColumnTotal:"\u5217\u5408\u8A08\u306B\u5BFE\u3059\u308B\uFF05",percentOfRowTotal:"\u884C\u5408\u8A08\u306B\u5BFE\u3059\u308B\uFF05",percentDifference:"\u5DEE\u7570\uFF05",filterField:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30D5\u30A3\u30EB\u30BF\u30FC",removeFromArea:"\u30A8\u30EA\u30A2\u304B\u3089\u524A\u9664",removeField:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u524A\u9664",deletePermanently:"\u5B8C\u5168\u306B\u524A\u9664",exportCsv:"CSV \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",pagerPage:"\u30DA\u30FC\u30B8",pagerOf:"/",pagerPrevious:"\u524D\u306E\u30DA\u30FC\u30B8",pagerNext:"\u6B21\u306E\u30DA\u30FC\u30B8",drillDown:"\u30C9\u30EA\u30EB\u30C0\u30A6\u30F3",drillDownRecords:"\u30EC\u30B3\u30FC\u30C9\u6570: {count}",exportGeneratedOn:"\u4F5C\u6210\u65E5\u6642",calcRowLevelHint:"\u5404\u30BD\u30FC\u30B9\u884C\u3054\u3068\u306B\u8A08\u7B97\u3055\u308C\u3001\u4ED6\u306E\u30E1\u30B8\u30E3\u30FC\u3068\u540C\u69D8\u306B\u96C6\u8A08\u3055\u308C\u307E\u3059\u3002",calcSummaryLevelHint:"\u30D4\u30DC\u30C3\u30C8\u304C\u96C6\u8A08\u3057\u305F\u5F8C\u3001\u96C6\u8A08\u6E08\u307F\u30BB\u30EB\u304B\u3089\u8A08\u7B97\u3055\u308C\u307E\u3059\u3002",formulaValid:"\u6570\u5F0F\u306F\u6709\u52B9\u3067\u3059",calcFieldsHint:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u6570\u5F0F\u306B\u633F\u5165\u3057\u307E\u3059\u3002",formulaUses:"\u4F7F\u7528: {fields}",licenseMissing:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306A\u3057",licenseExpired:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059",licenseReleaseNotCovered:"\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5BFE\u8C61\u5916\u3067\u3059",licenseDomainMismatch:"\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u3067\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u304C\u7121\u52B9\u3067\u3059",licenseRevoked:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u53D6\u308A\u6D88\u3055\u308C\u307E\u3057\u305F",licenseInvalidFormat:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306E\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",licenseInvalidSignature:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7F72\u540D\u304C\u7121\u52B9\u3067\u3059",licenseEngineUnavailable:"\u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\uFF08HTTPS \u304C\u5FC5\u8981\u3067\u3059\uFF09"},Qu={ok:"\uD655\uC778",cancel:"\uCDE8\uC18C",apply:"\uC801\uC6A9",close:"\uB2EB\uAE30",search:"\uAC80\uC0C9...",selectAll:"\uBAA8\uB450 \uC120\uD0DD",clearAll:"\uBAA8\uB450 \uC9C0\uC6B0\uAE30",show:"\uD45C\uC2DC",hide:"\uC228\uAE30\uAE30",filterArea:"\uD544\uD130 \uC601\uC5ED",columnArea:"\uC5F4",rowArea:"\uD589",dataArea:"\uAC12",footerArea:"\uBC14\uB2E5\uAE00 \uC601\uC5ED",allFields:"\uBAA8\uB4E0 \uD544\uB4DC",dropHere:"\uC5EC\uAE30\uC5D0 \uB193\uAE30",actions:"\uC791\uC5C5",saveNewView:"\uC0C8 \uBDF0 \uC800\uC7A5",saveAsView:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",saveChanges:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5",savedViews:"\uC800\uC7A5\uB41C \uBDF0",viewOptions:"\uBDF0 \uC635\uC158",export:"\uB0B4\uBCF4\uB0B4\uAE30",importFile:"\uAC00\uC838\uC624\uAE30",importFromFile:"\uD30C\uC77C\uC5D0\uC11C",pasteImport:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uAC00\uC838\uC624\uAE30",pasteImportHint:"\uD0ED \uB610\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84",dropToImport:"\uAC00\uC838\uC62C \uD30C\uC77C\uC744 \uC5EC\uAE30\uC5D0 \uB193\uC73C\uC138\uC694",clipboardEmpty:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uAC00\uC838\uC62C \uC218 \uC788\uB294 \uD14D\uC2A4\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",clipboardDenied:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uC811\uADFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uAD8C\uD55C\uC744 \uD655\uC778\uD558\uC138\uC694.",excelExport:"Excel \uB0B4\uBCF4\uB0B4\uAE30",pivotView:"\uD53C\uBC97 \uBDF0",listView:"\uBAA9\uB85D \uBDF0",preservesGridLayout:"\uADF8\uB9AC\uB4DC \uB808\uC774\uC544\uC6C3 \uC720\uC9C0",rawFlatData:"\uC6D0\uC2DC \uD50C\uB7AB \uB370\uC774\uD130",document:"\uBB38\uC11C",pdfDocument:"PDF \uBB38\uC11C",printReadyLayout:"\uC778\uC1C4 \uC900\uBE44 \uB808\uC774\uC544\uC6C3",fullSnapshot:"\uC804\uCCB4 \uC2A4\uB0C5\uC0F7",saveSessionState:"\uC138\uC158 \uC0C1\uD0DC \uC800\uC7A5",rawDataFormats:"\uC6D0\uC2DC \uB370\uC774\uD130 \uD615\uC2DD",importSuccess:"\uAC00\uC838\uC624\uAE30 \uC131\uACF5",importWarning:"\uACBD\uACE0\uC640 \uD568\uAED8 \uC644\uB8CC",importError:"\uAC00\uC838\uC624\uAE30 \uC2E4\uD328",initializing:"\uCD08\uAE30\uD654 \uC911...",loading:"\uB85C\uB529 \uC911...",emptyData:"\uB370\uC774\uD130\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",noItems:"\uD56D\uBAA9\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",blanks:"(\uBE44\uC5B4 \uC788\uC74C)",loadingData:"\uC7A0\uC2DC \uAE30\uB2E4\uB824 \uC8FC\uC2ED\uC2DC\uC624. \uB370\uC774\uD130\uB97C \uC900\uBE44\uD558\uB294 \uC911\uC785\uB2C8\uB2E4...",processing:"\uCC98\uB9AC \uC911...",fieldSettings:"\uD544\uB4DC \uC124\uC815",caption:"\uCEA1\uC158",summaryType:"\uC694\uC57D \uC720\uD615",displayMode:"\uD45C\uC2DC \uBAA8\uB4DC",groupInterval:"\uADF8\uB8F9 \uAC04\uACA9",sum:"\uD569\uACC4",count:"\uAC1C\uC218",avg:"\uD3C9\uADE0",min:"\uCD5C\uC18C",max:"\uCD5C\uB300",grandTotal:"\uCD1D\uACC4",subTotal:"\uC18C\uACC4",absoluteValue:"\uC808\uB300\uAC12",runningTotal:"\uB204\uACC4",difference:"\uCC28\uC774",percentOfTotal:"\uCD1D\uACC4\uC758 \uBE44\uC728",none:"\uC5C6\uC74C",year:"\uC5F0\uB3C4",quarter:"\uBD84\uAE30",month:"\uC6D4",day:"\uC77C",and:"\uADF8\uB9AC\uACE0 (And)",or:"\uB610\uB294 (Or)",noConditionsAdded:"\uCD94\uAC00\uB41C \uC870\uAC74\uC774 \uC5C6\uC2B5\uB2C8\uB2E4...",calculatedMeasureDesigner:"\uACC4\uC0B0\uB41C \uCE21\uC815\uAC12 \uB514\uC790\uC774\uB108",createFormulasWithoutCode:"\uCF54\uB4DC \uC791\uC131 \uC5C6\uC774 \uC218\uC2DD \uBC0F \uACC4\uC0B0\uC744 \uB9CC\uB4ED\uB2C8\uB2E4.",measureName:"\uCE21\uC815\uAC12 \uC774\uB984",format:"\uD615\uC2DD",numericStandard:"\uC22B\uC790(\uD45C\uC900)",numericDecimal:"\uC22B\uC790(\uC18C\uC218\uC810 1,486.15)",currencyTRY:"\uD1B5\uD654(TRY)",currencyUSD:"\uD1B5\uD654(USD)",percent:"\uBC31\uBD84\uC728(%)",expand:"\uD655\uC7A5",collapse:"\uCD95\uC18C",expandAll:"\uBAA8\uB450 \uD655\uC7A5",refreshData:"\uB370\uC774\uD130 \uC0C8\uB85C \uACE0\uCE68",filterBuilder:"\uD544\uD130 \uC791\uC131\uAE30",chartToggle:"\uCC28\uD2B8 \uBCF4\uAE30 \uC804\uD658",collapseAll:"\uBAA8\uB450 \uCD95\uC18C",sortByThisColumn:"\uC774 \uC5F4\uC744 \uAE30\uC900\uC73C\uB85C \uC815\uB82C",sortFieldByThisColumn:'\uC774 \uC5F4\uC744 \uAE30\uC900\uC73C\uB85C "{0}" \uC815\uB82C',removeAllSorting:"\uBAA8\uB4E0 \uC815\uB82C \uC81C\uAC70",sortAsc:"\uC624\uB984\uCC28\uC21C \uC815\uB82C",sortDesc:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C",clearSort:"\uC815\uB82C \uC9C0\uC6B0\uAE30",order:"\uC21C\uC11C",moveToStart:"\uC2DC\uC791\uC73C\uB85C \uC774\uB3D9",moveToEnd:"\uB05D\uC73C\uB85C \uC774\uB3D9",moveToLeft:"\uC67C\uCABD\uC73C\uB85C \uC774\uB3D9",moveToRight:"\uC624\uB978\uCABD\uC73C\uB85C \uC774\uB3D9",fieldChipLabel:"{0}, {1}, {3}\uAC1C \uC911 {2}\uBC88\uC9F8",fieldChipKeys:"Enter\uB294 \uC815\uB82C\uD569\uB2C8\uB2E4. Ctrl+\uD654\uC0B4\uD45C\uB294 \uD544\uB4DC\uB97C \uC774\uB3D9\uD558\uACE0, Ctrl+Home/End\uB294 \uCC98\uC74C \uB610\uB294 \uB05D\uC73C\uB85C \uC774\uB3D9\uD558\uBA70, Delete\uB294 \uC81C\uAC70\uD558\uACE0, Shift+F10\uC740 \uBA54\uB274\uB97C \uC5FD\uB2C8\uB2E4.",moveToArea:"\uC774\uB3D9 \uC704\uCE58",opEquals:"\uAC19\uC74C",opNotEquals:"\uAC19\uC9C0 \uC54A\uC74C",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\uD3EC\uD568",opNotContains:"\uD3EC\uD568\uD558\uC9C0 \uC54A\uC74C",opStartsWith:"(\uC73C)\uB85C \uC2DC\uC791",opEndsWith:"(\uC73C)\uB85C \uB05D\uB0A8",opIsBlank:"\uBE44\uC5B4 \uC788\uC74C",opIsNotBlank:"\uBE44\uC5B4 \uC788\uC9C0 \uC54A\uC74C",builderCombine:"\uC870\uAC74 \uACB0\uD569 \uBC29\uC2DD",builderAddCondition:"\uC870\uAC74 \uCD94\uAC00",builderAddGroup:"\uADF8\uB8F9 \uCD94\uAC00",builderRemoveGroup:"\uADF8\uB8F9 \uC81C\uAC70",builderRemoveCondition:"\uC870\uAC74 \uC81C\uAC70",builderEmpty:"\uC544\uC9C1 \uC870\uAC74\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",builderValuePlaceholder:"\uAC12\uC744 \uC785\uB825\uD558\uC138\uC694",showFieldList:"\uD544\uB4DC \uBAA9\uB85D \uD45C\uC2DC",editCalculation:"\uACC4\uC0B0 \uD3B8\uC9D1",viewsAndReports:"\uC800\uC7A5\uB41C \uBDF0 \uBC0F \uBCF4\uACE0\uC11C",views:"\uBDF0",saveChangesOverwrite:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5(\uB36E\uC5B4\uC4F0\uAE30)",saveAsCopy:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5(\uBCF5\uC0AC)",makeDefault:"\uAE30\uBCF8\uAC12\uC73C\uB85C \uC124\uC815",deleteReport:"\uBCF4\uACE0\uC11C \uC0AD\uC81C",deleteReportConfirm:"'{0}' \uBCF4\uACE0\uC11C\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",customExports:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uB0B4\uBCF4\uB0B4\uAE30",customPlugin:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD50C\uB7EC\uADF8\uC778",importCancelled:"\uAC00\uC838\uC624\uAE30\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",importPreviewTitle:"\uAC00\uC838\uC624\uAE30 \uBBF8\uB9AC \uBCF4\uAE30",importPreviewSubtitle:"{rows}\uAC1C \uD589 \u2022 {cols}\uAC1C \uC5F4\uC744 \uAC00\uC838\uC635\uB2C8\uB2E4",importPreviewFooter:"\uC5F4\uACFC \uC720\uD615\uC744 \uD655\uC778\uD55C \uD6C4 \uC9C4\uD589\uD558\uC138\uC694.",columns:"\uC5F4",includeColumn:"\uC774 \uC5F4 \uD3EC\uD568",dataPreview:"\uB370\uC774\uD130 \uBBF8\uB9AC \uBCF4\uAE30",applyImport:"\uAC00\uC838\uC624\uAE30",type_string:"\uD14D\uC2A4\uD2B8",type_number:"\uC22B\uC790",type_date:"\uB0A0\uC9DC",type_boolean:"\uBD80\uC6B8",reading:"\uD30C\uC77C \uC77D\uB294 \uC911\u2026",parsing:"\uAD6C\uBB38 \uBD84\uC11D \uC911\u2026",typing:"\uC720\uD615 \uAC10\uC9C0 \uC911\u2026",finalizing:"\uB9C8\uBB34\uB9AC \uC911\u2026",measureNamePlaceholder:"\uC608: \uC774\uC775\uB960",customFormat:"\uC0AC\uC6A9\uC790 \uC9C0\uC815\u2026",customPrefix:"\uC811\uB450\uC0AC",customSuffix:"\uC811\uBBF8\uC0AC",minFraction:"\uCD5C\uC18C \uC18C\uC218 \uC790\uB9BF\uC218",maxFraction:"\uCD5C\uB300 \uC18C\uC218 \uC790\uB9BF\uC218",calculationLevel:"\uACC4\uC0B0 \uC218\uC900",calcRowLevel:"\uD589 \uC218\uC900 (\uC6D0\uBCF8 \uB370\uC774\uD130)",calcSummaryLevel:"\uC694\uC57D \uC218\uC900 (\uC9D1\uACC4\uB428)",fields:"\uD544\uB4DC",noFieldsFound:"\uC774 \uC218\uC900\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uD544\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",deleteCalcField:"\uACC4\uC0B0 \uD544\uB4DC \uC0AD\uC81C",formula:"\uC218\uC2DD",formulaPlaceholder:"\uC608: [\uB9E4\uCD9C] - [\uC6D0\uAC00]",saveAndAdd:"\uC800\uC7A5 \uD6C4 \uCD94\uAC00",measureNameEmpty:"\uD544\uB4DC \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",formulaEmpty:"\uC218\uC2DD\uC744 \uC785\uB825\uD558\uC138\uC694.",formulaError:"\uC218\uC2DD \uC624\uB958",error:"\uC624\uB958",systemError:"\uC608\uAE30\uCE58 \uC54A\uC740 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",saveReport:"\uBCF4\uACE0\uC11C \uC800\uC7A5",saveReportDescription:"\uD604\uC7AC \uD544\uB4DC\uC640 \uB808\uC774\uC544\uC6C3\uC744 \uC774\uB984 \uC788\uB294 \uBCF4\uAE30\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4.",reportName:"\uBCF4\uACE0\uC11C \uC774\uB984",reportNamePlaceholder:"\uC608: \uC6D4\uAC04 \uD310\uB9E4 \uBD84\uC11D",setAsDefault:"\uAE30\uBCF8\uAC12\uC73C\uB85C \uC124\uC815",save:"\uC800\uC7A5",enterFullscreen:"\uC804\uCCB4 \uD654\uBA74",exitFullscreen:"\uC804\uCCB4 \uD654\uBA74 \uC885\uB8CC",print:"\uC778\uC1C4",sendToPrinter:"\uD504\uB9B0\uD130\uB85C \uBCF4\uB0B4\uAE30",copyToClipboard:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC",tabSeparatedValues:"\uD0ED\uC73C\uB85C \uAD6C\uBD84\uB41C \uAC12",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \uAE30\uB2A5 \u2014 \uD074\uB9AD\uD558\uC5EC \uC5C5\uADF8\uB808\uC774\uB4DC",dataImportUnsupported:"\uC774 \uADF8\uB9AC\uB4DC\uB294 \uB370\uC774\uD130 \uAC00\uC838\uC624\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uAE30\uB9CC \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",columnFilter:"\uC5F4 \uD544\uD130",percentOfColumnTotal:"\uC5F4 \uD569\uACC4 \uB300\uBE44 %",percentOfRowTotal:"\uD589 \uD569\uACC4 \uB300\uBE44 %",percentDifference:"\uCC28\uC774 %",filterField:"\uD544\uB4DC \uD544\uD130",removeFromArea:"\uC601\uC5ED\uC5D0\uC11C \uC81C\uAC70",removeField:"\uD544\uB4DC \uC81C\uAC70",deletePermanently:"\uC601\uAD6C \uC0AD\uC81C",exportCsv:"CSV\uB85C \uB0B4\uBCF4\uB0B4\uAE30",pagerPage:"\uD398\uC774\uC9C0",pagerOf:"/",pagerPrevious:"\uC774\uC804 \uD398\uC774\uC9C0",pagerNext:"\uB2E4\uC74C \uD398\uC774\uC9C0",drillDown:"\uB4DC\uB9B4\uB2E4\uC6B4",drillDownRecords:"\uB808\uCF54\uB4DC: {count}",exportGeneratedOn:"\uC0DD\uC131 \uC77C\uC2DC",calcRowLevelHint:"\uAC01 \uC6D0\uBCF8 \uD589\uB9C8\uB2E4 \uACC4\uC0B0\uB41C \uB4A4 \uB2E4\uB978 \uCE21\uC815\uAC12\uCC98\uB7FC \uC9D1\uACC4\uB429\uB2C8\uB2E4.",calcSummaryLevelHint:"\uD53C\uBC97\uC774 \uD569\uC0B0\uD55C \uB4A4 \uC9D1\uACC4\uB41C \uC140\uC5D0\uC11C \uACC4\uC0B0\uB429\uB2C8\uB2E4.",formulaValid:"\uC218\uC2DD\uC774 \uC720\uD6A8\uD569\uB2C8\uB2E4",calcFieldsHint:"\uD544\uB4DC\uB97C \uD074\uB9AD\uD558\uC5EC \uC218\uC2DD\uC5D0 \uC0BD\uC785\uD569\uB2C8\uB2E4.",formulaUses:"\uC0AC\uC6A9: {fields}",licenseMissing:"\uB77C\uC774\uC120\uC2A4 \uC5C6\uC74C",licenseExpired:"\uB77C\uC774\uC120\uC2A4\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseReleaseNotCovered:"\uC774 \uBC84\uC804\uC740 \uB77C\uC774\uC120\uC2A4 \uC801\uC6A9 \uB300\uC0C1\uC774 \uC544\uB2D9\uB2C8\uB2E4",licenseDomainMismatch:"\uC774 \uB3C4\uBA54\uC778\uC5D0\uC11C\uB294 \uB77C\uC774\uC120\uC2A4\uAC00 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseRevoked:"\uB77C\uC774\uC120\uC2A4\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidFormat:"\uB77C\uC774\uC120\uC2A4 \uD0A4 \uD615\uC2DD\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidSignature:"\uB77C\uC774\uC120\uC2A4 \uC11C\uBA85\uC774 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseEngineUnavailable:"\uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uB77C\uC774\uC120\uC2A4\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4(HTTPS \uD544\uC694)"};var No=["grouped","stacked","normalized"];function Oo(r){if(typeof r!="object"||r===null||Array.isArray(r))return null;let e=r;return e.version!==1?null:{version:1,open:e.open===true,type:typeof e.type=="string"&&e.type!==""?e.type:"column",stacking:No.includes(e.stacking)?e.stacking:"grouped",format:Me(e.format),hiddenSeries:Array.isArray(e.hiddenSeries)?[...new Set(e.hiddenSeries.filter(t=>typeof t=="string"))].sort():[]}}var er=(r,e)=>JSON.stringify(r)===JSON.stringify(e);function yt(r,e){let t=[];return r.type!==e.type&&t.push("type"),r.stacking!==e.stacking&&t.push("stacking"),er(Me(r.format),Me(e.format))||t.push("format"),er([...r.hiddenSeries].sort(),[...e.hiddenSeries].sort())||t.push("hiddenSeries"),t}function Qe(r){let e=new Set;return {report(t){for(let u of t){if(e.has(u))continue;e.add(u);let o=new Error(`[pivotgrid] ${u}`),i=r();i?i(o):console.error(o);}}}}function Ft(r){let e={...r},t=[];if(r.showGrandTotals!==void 0){let u=r.showGrandTotals;r.showRowGrandTotals===void 0&&(e.showRowGrandTotals=u==="rows"||u==="both"),r.showColumnGrandTotals===void 0&&(e.showColumnGrandTotals=u==="columns"||u==="both");}if(r.totalsDisplayMode!==void 0&&r.totalsPosition===void 0&&(e.totalsPosition=r.totalsDisplayMode),r.showSubTotals!==void 0){let u=r.showSubTotals;r.showRowTotals===void 0&&(e.showRowTotals=u==="rows"||u==="both"),r.showColumnTotals===void 0&&(e.showColumnTotals=u==="columns"||u==="both");}return {updates:e,unsupported:t}}var Lo=new Set(["expression","colorScale","dataBar","iconSet"]),Vo=new Set(["dataBar","iconSet"]);function Et(r){let e=[];for(let t of r){for(let u of t.conditionalFormatting??[]){if(!Lo.has(u.type)){e.push(`field "${t.id}": conditionalFormatting type "${u.type}" is not a known rule type and the rule is skipped.`);continue}Vo.has(u.type)&&e.push(`field "${t.id}": conditionalFormatting type "${u.type}" renders on screen but is not carried into exports \u2014 exported cells keep their value and any colour, without the bar or icon. Use "colorScale" or "expression" for a rule that must survive export.`);}(t.groupInterval==="numeric"||t.groupInterval==="custom")&&e.push(`field "${t.id}": groupInterval "${t.groupInterval}" has no effect and the field is not grouped. For numeric bins pass the bin width as a number (e.g. groupInterval: 100).`),t.summaryType==="custom"&&t.calculateCustomSummary===void 0&&e.push(`field "${t.id}": summaryType "custom" has no calculateCustomSummary, so its cells show the sum. Give it a function (start \u2192 calculate \u2192 finalize) or the id of a registered aggregator.`),t.topNOthersCaption!==void 0&&t.topN!==void 0&&!t.topNShowOthers&&e.push(`field "${t.id}": topNOthersCaption labels the "Others" row, which only appears when topNShowOthers is set. Rows beyond topN are dropped as things stand.`);}return e}function tt(r,e,t){return {field:t,kind:e,dataField:r.dataField,dataType:r.dataType,groupInterval:r.groupInterval,isCalculated:r.isCalculated,formulaString:r.formulaString,calcExpr:r.calculateExpression}}function zo(r,e){return r?r.kind===e.kind&&r.dataField===e.dataField&&r.dataType===e.dataType&&r.groupInterval===e.groupInterval&&!!r.isCalculated==!!e.isCalculated&&r.formulaString===e.formulaString&&r.calcExpr===e.calcExpr:false}var le=new Map,de="default";function wt(r,e){let t=le.get(r);if(t&&t.pendingTermination&&(clearTimeout(t.pendingTermination),t.pendingTermination=null),!t){let u=e?new Worker(e,{type:"module"}):ye("pivot",()=>{let n=()=>"./pivot.worker.js";return new URL(n(),import.meta.url)}),o=new Map,i={worker:u,resolvers:o,messageIdCounter:0,stringToInt:new Map,dictionary:[""],fieldDistinctValues:new Map,encodedColumns:new Map,encodedRowCount:-1,sourceData:null,initInFlight:null,pendingTermination:null,lastRowIndexMap:null,lastColumnIndexMap:null,lastCardinalityMap:null};u.onmessage=n=>{let{id:s,error:a,isInitComplete:l,isFilterComplete:d,isReconfigureComplete:p,isTransactionComplete:c,rowCount:m,rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:v,columnIndexMap:F,cardinalityMap:E,indexMapsOmitted:x}=n.data,A=o.get(s);A&&(a?A.reject(new Error(`Worker Error: ${a}`)):l?A.resolve({isInitComplete:true}):d?A.resolve({isFilterComplete:true}):p?A.resolve({isReconfigureComplete:true}):c?A.resolve(m):x?A.resolve({rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:i.lastRowIndexMap||{},columnIndexMap:i.lastColumnIndexMap||{},cardinalityMap:i.lastCardinalityMap||{}}):(i.lastRowIndexMap=v,i.lastColumnIndexMap=F,i.lastCardinalityMap=E,A.resolve({rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:v,columnIndexMap:F,cardinalityMap:E})),o.delete(s));},u.onerror=n=>{let s=n.message||"Worker failed to load or crashed";for(let a of o.values())a.reject(new Error(s));o.clear();},t=i,le.set(r,t);}return t}function ce(r){de=r;}var Go=5e3;function bt(r){let e=le.get(r);e&&(e.pendingTermination&&clearTimeout(e.pendingTermination),e.pendingTermination=setTimeout(()=>{e.worker.terminate(),e.resolvers.clear(),le.delete(r);},Go));}var tr=5e4,ur=[],et=null;function or(){return typeof MessageChannel>"u"?new Promise(r=>setTimeout(r,0)):(et||(et=new MessageChannel,et.port1.onmessage=()=>{ur.shift()?.();}),new Promise(r=>{ur.push(r),et.port2.postMessage(null);}))}function _o(r,e){return e.dataType==="number"?r.sort((t,u)=>Number(t.rawVal)-Number(u.rawVal)):r.sort((t,u)=>t.rawStr.localeCompare(u.rawStr))}function ir(r){return e=>{let t=r.stringToInt.get(e);return t===void 0&&(t=r.dictionary.length,r.stringToInt.set(e,t),r.dictionary.push(e)),t}}function xt(r,e){return r.isCalculated&&typeof r.calculateExpression=="string"&&e?{...r,calculateExpression:e.resolveSafe(r.calculateExpression,"expression")}:r}function St(r,e,t){let u=r.map(a=>({field:a,fastPath:!a.isCalculated&&!a.groupInterval&&!!a.dataField,dataField:a.dataField,valCache:new Map,distinctMap:new Map})),o=e.map(a=>({field:a,fastPath:!a.isCalculated&&!a.groupInterval&&!!a.dataField,dataField:a.dataField})),i=u.length,n=o.length,s=(a,l,d,p,c,m)=>{for(let f=l;f<d;f++){let h=a[f],g=f-p;for(let C=0;C<i;C++){let v=u[C],F;if(v.fastPath){let E=h[v.dataField];F=E??"(Blank)";}else F=U(a[f],v.field);if(typeof F=="object"){let E=String(F);c[C][g]=t(E),v.distinctMap.has(E)||v.distinctMap.set(E,F);}else {let E=v.valCache.get(F);if(E===void 0){let x=String(F);E=t(x),v.valCache.set(F,E),v.distinctMap.has(x)||v.distinctMap.set(x,F);}c[C][g]=E;}}for(let C=0;C<n;C++){let v=o[C];if(v.fastPath){let F=h[v.dataField];m[C][g]=F==null?0:Number(F)||0;}else {let F=U(a[f],v.field);v.field.isCalculated&&typeof v.field.calculateExpression=="function"&&(F=v.field.calculateExpression(a[f])),m[C][g]=Number(F)||0;}}}};return {async encodeRange(a,l,d){let p=d-l,c=u.map(()=>new Int32Array(p)),m=o.map(()=>new Float64Array(p));for(let f=l;f<d;f+=tr){let h=Math.min(f+tr,d);s(a,f,h,l,c,m),h<d&&await or();}return {groupArrays:c,measureArrays:m}},encodeRows(a){let l=u.map(()=>new Int32Array(a.length)),d=o.map(()=>new Float64Array(a.length));return s(a,0,a.length,0,l,d),{groupArrays:l,measureArrays:d}},finalizeDistincts(){let a=new Map;for(let l of u)a.set(l.field.id,_o(Array.from(l.distinctMap,([d,p])=>({rawStr:d,rawVal:p})),l.field));return a}}}var xe=r=>r.map(e=>({...e,dataField:e.id,calculateExpression:void 0,calculateSummaryExpression:void 0,calculateCustomSummary:void 0,calculateCustomSort:void 0,format:void 0,conditionalFormatting:void 0,cellTemplate:void 0})),rr=25e4;function Ho(r){let e=[];for(let t of r){if(!t.filterValues||t.filterValues.size===0)continue;let u=new Set,o=[];for(let i of t.filterValues)for(let n of ar(i))u.has(n)||(u.add(n),o.push(n));e.push({fieldId:t.id,filterType:t.filterType||"include",valueStrings:o});}return e.length>0?e:void 0}async function Pt(r,e,t,u,o,i,n){let s=le.get(de);if(s&&(s.pendingTermination&&(clearTimeout(s.pendingTermination),s.pendingTermination=null),!n?.forceReencode&&(s.initInFlight&&s.initInFlight.data===r&&await s.initInFlight.promise.catch(()=>{}),s.sourceData===r&&s.encodedRowCount===r.length&&await ut(r,e,t,u,o,n?.filterState))))return {filtersApplied:false};let a=wt(de,i),l=$o(a,r,e,t,u,o,n?.filterState);a.initInFlight={data:r,promise:l};try{return await l}finally{a.initInFlight&&a.initInFlight.promise===l&&(a.initInFlight=null);}}async function $o(r,e,t,u,o,i,n){let s=nr(n?.fields??[],n?.prefilter,[...t,...u,...o].map(y=>y.id)),a=[...t,...u,...s.group],l=[...o,...s.measure],d=e.length,p=new Map,c=[""],m=y=>{let b=p.get(y);return b===void 0&&(b=c.length,p.set(y,b),c.push(y)),b},f=a.map(y=>xt(y,i)),h=l.map(y=>xt(y,i)),g=St(f,h,m),C=n?Ho(n.fields):void 0,v=n?.prefilter&&n.prefilter.conditions.length>0?Bt(n.prefilter):void 0,F={};for(let y of a)F[y.id]="int32";for(let y of l)F[y.id]="float64";let E=`init_${r.messageIdCounter++}`,x=new Promise((y,b)=>{r.resolvers.set(E,{resolve:y,reject:b});});r.worker.postMessage({action:"initStart",id:E,rowCountTotal:d,columnTypes:F,dictionary:[""],rowFields:xe(t),colFields:xe(u),dataFields:xe(o),filters:C,prefilter:v,workerBootstrap:i?i.getWorkerBootstrapPayload():[]});let A=1;for(let y=0;y<d;y+=rr){let b=Math.min(y+rr,d),{groupArrays:B,measureArrays:R}=await g.encodeRange(e,y,b),S={},P=[];a.forEach((M,L)=>{S[M.id]=B[L].buffer,P.push(B[L].buffer);}),l.forEach((M,L)=>{S[M.id]=R[L].buffer,P.push(R[L].buffer);});let I=A<c.length?c.slice(A):void 0;A=c.length,r.worker.postMessage({action:"initChunk",id:E,start:y,end:b,columns:S,dictionaryAppend:I},P),b<d&&await or();}let w=new Map;return a.forEach((y,b)=>w.set(y.id,tt(y,"int32",f[b]))),l.forEach((y,b)=>w.set(y.id,tt(y,"float64",h[b]))),r.stringToInt=p,r.dictionary=c,r.fieldDistinctValues=g.finalizeDistincts(),r.encodedColumns=w,r.encodedRowCount=d,r.sourceData=e,r.worker.postMessage({action:"initEnd",id:E}),await x,{filtersApplied:!!n}}function Dt(r){let e=new Set,t=u=>{for(let o of u.conditions)"logicalOperator"in o?t(o):e.add(o.fieldId);};return r&&t(r),e}function nr(r,e,t){let u=Dt(e),o=new Set(t),i=[],n=[],s=(a,l)=>{o.has(a.id)||(o.add(a.id),(l==="measure"?n:i).push(a));};for(let a of u){let l=r.find(d=>d.id===a);l&&s(l,l.dataType==="number"?"measure":"group");}for(let a of r)a.filterValues&&a.filterValues.size>0&&s(a,"group");return {group:i,measure:n}}async function ut(r,e,t,u,o,i){let n=le.get(de),s=n?.sourceData??r;if(!n||n.encodedRowCount!==s.length||n.encodedRowCount<0)return false;n.pendingTermination&&(clearTimeout(n.pendingTermination),n.pendingTermination=null);let a=[];for(let f of [...e,...t])a.push({field:f,kind:"int32"});for(let f of u)a.push({field:f,kind:"float64"});let l=nr(i?.fields??[],i?.prefilter,a.map(f=>f.field.id));for(let f of l.group)a.push({field:f,kind:"int32"});for(let f of l.measure)a.push({field:f,kind:"float64"});let d=a.filter(f=>!zo(n.encodedColumns.get(f.field.id),tt(f.field,f.kind))),p,c,m=[];if(d.length>0){p={};let f=n.dictionary.length,h=[],g=[];for(let{field:x,kind:A}of d){let w=xt(x,o);(A==="int32"?h:g).push(w),n.encodedColumns.set(x.id,tt(x,A,w));}let C=St(h,g,ir(n)),{groupArrays:v,measureArrays:F}=await C.encodeRange(s,0,s.length),E=C.finalizeDistincts();[...v,...F].forEach((x,A)=>{let w=A<h.length?h[A]:g[A-h.length];p[w.id]={type:A<h.length?"int32":"float64",buffer:x.buffer},m.push(x.buffer);});for(let[x,A]of E)n.fieldDistinctValues.set(x,A);n.dictionary.length>f&&(c=n.dictionary.slice(f));}return new Promise((f,h)=>{let g=`reconfigure_${n.messageIdCounter++}`;n.resolvers.set(g,{resolve:()=>f(true),reject:h}),n.worker.postMessage({action:"reconfigure",id:g,rowFields:xe(e),colFields:xe(t),dataFields:xe(u),newColumns:p,dictionaryAppend:c},m);})}async function Ne(r,e){let t=wt(de);return new Promise((u,o)=>{let i=[];for(let a of r){if(!a.filterValues||a.filterValues.size===0)continue;let l=[],d=new Set,p=[];for(let c of a.filterValues){let m=ar(c);for(let f of m){let h=t.stringToInt.get(f);h===void 0?p.push(f):d.has(h)||(d.add(h),l.push(h));}}i.push({fieldId:a.id,filterType:a.filterType||"include",dictIds:l,valueStrings:p});}let n;e&&e.conditions.length>0&&(n=Bt(e));let s=`filter_${t.messageIdCounter++}`;t.resolvers.set(s,{resolve:u,reject:o}),t.worker.postMessage({action:"filter",id:s,filters:i,prefilter:n});})}function ar(r){if(r==null||r==="(Blank)"||r==="(Blanks)")return ["(Blank)","(Blanks)","null","undefined"];if(r instanceof Date){let e=[String(r)];return Number.isNaN(r.getTime())||e.push(r.toISOString()),e}return [String(r)]}function Bt(r){return {logicalOperator:r.logicalOperator||"and",conditions:(r.conditions||[]).map(e=>{if("logicalOperator"in e)return Bt(e);let t=e;return {fieldId:t.fieldId,operator:t.operator,value:t.value}})}}function sr(r){let e=le.get(de),t=r.data.length-r.addRows.length+r.removeIndex.length;if(!e||e.encodedRowCount<0||e.encodedRowCount!==t)return Promise.resolve(false);let u=[],o=[];for(let f of e.encodedColumns.values()){if(!f.field)return Promise.resolve(false);(f.kind==="int32"?u:o).push(f.field);}let i=e.dictionary.length,{groupArrays:n,measureArrays:s}=St(u,o,ir(e)).encodeRows(r.updateRows.concat(r.addRows)),a={},l=Int32Array.from(r.updateIndex),d=Int32Array.from(r.removeIndex),p=[l.buffer,d.buffer];[...n,...s].forEach((f,h)=>{a[(h<u.length?u[h]:o[h-u.length]).id]=f.buffer,p.push(f.buffer);}),e.sourceData=r.data,e.encodedRowCount=r.data.length,e.fieldDistinctValues=new Map;let c=`transaction_${e.messageIdCounter++}`,m=new Promise((f,h)=>e.resolvers.set(c,{resolve:f,reject:h}));return e.worker.postMessage({action:"transaction",id:c,update:l,remove:d,addCount:r.addRows.length,columns:a,dictionaryAppend:e.dictionary.length>i?e.dictionary.slice(i):void 0},p),m.then(f=>f===r.data.length)}async function rt(r,e){let t=wt(de);return new Promise((u,o)=>{let i=`compute_${t.messageIdCounter++}`;t.resolvers.set(i,{resolve:u,reject:o}),t.worker.postMessage({action:"compute",id:i,expandedPaths:r,expandedColPaths:e});}).then(u=>u)}function Wo(r,e){let t=e??de,u=At.get(t)?.get(r);if(u)return u;let o=le.get(t);return o?o.fieldDistinctValues.get(r)??null:null}var At=new Map;function lr(r,e,t){let u=At.get(r);u||At.set(r,u=new Map),t===null?u.delete(e):u.set(e,t.map(o=>({rawStr:String(o),rawVal:o})));}function Rt(r,e,t){let{cellMatrix:u}=r,o=e.filter(s=>s.isCalculated&&s.calculateSummaryExpression);if(o.length===0||!u?.keys)return;let i=u.keys.length,n=e.length;for(let s=0;s<i;s++){let a={};for(let l=0;l<n;l++)a[e[l].id]=u.sums[s*n+l];for(let l of o)if(l.calculateSummaryExpression)try{let d=l.calculateSummaryExpression;if(typeof d=="string"&&t&&(d=t.resolveSafe(d,"summary")),typeof d=="function"){let p=d(a),c=e.findIndex(m=>m.id===l.id);c>=0&&(u.sums[s*n+c]=p);}}catch{}}}function It(r,e){let{cellMatrix:t,rowIndexMap:u,columnIndexMap:o,rowTree:i}=r;if(!t?.keys||t.keys.length===0||e.filter(d=>d.summaryDisplayMode&&d.summaryDisplayMode!=="absolute").length===0)return;let s=t.keys.length,a=e.length;t.displaySums=new Float64Array(t.sums);let l=new Map;for(let d=0;d<s;d++)l.set(t.keys[d],d);for(let d=0;d<a;d++){let c=e[d].summaryDisplayMode;if(!(!c||c==="absolute"))switch(c){case "percentOfTotal":Uo(t,l,s,a,d);break;case "percentOfColumnTotal":Ko(t,l,s,a,d);break;case "percentOfRowTotal":jo(t,l,s,a,d);break;case "runningTotal":Tt(t,l,a,d,i,u,o,"runningTotal");break;case "difference":Tt(t,l,a,d,i,u,o,"difference");break;case "percentDifference":Tt(t,l,a,d,i,u,o,"percentDifference");break}}}function Uo(r,e,t,u,o){let i=e.get(0),n=i!==void 0?r.sums[i*u+o]:0;for(let s=0;s<t;s++){let a=r.sums[s*u+o];r.displaySums[s*u+o]=n!==0?a/n*100:0;}}function Ko(r,e,t,u,o){for(let i=0;i<t;i++){let s=r.keys[i]%67108864,a=e.get(s),l=a!==void 0?r.sums[a*u+o]:0,d=r.sums[i*u+o];r.displaySums[i*u+o]=l!==0?d/l*100:0;}}function jo(r,e,t,u,o){for(let i=0;i<t;i++){let n=r.keys[i],a=Math.floor(n/67108864)*67108864,l=e.get(a),d=l!==void 0?r.sums[l*u+o]:0,p=r.sums[i*u+o];r.displaySums[i*u+o]=d!==0?p/d*100:0;}}function Tt(r,e,t,u,o,i,n,s){let a=qo(o),l=Object.keys(n);for(let d of l){let p=n[d],c=0,m=null;for(let f of a){let h=i[f];if(h===void 0)continue;let g=h*67108864+p,C=e.get(g);if(C===void 0)continue;let v=r.sums[C*t+u];switch(s){case "runningTotal":c+=v,r.displaySums[C*t+u]=c;break;case "difference":r.displaySums[C*t+u]=m!==null?v-m:v;break;case "percentDifference":r.displaySums[C*t+u]=m!==null&&m!==0?(v-m)/Math.abs(m)*100:0;break}m=v;}}}function qo(r){let e=[],t=u=>{for(let o of u)e.push(o.key),o.children&&o.children.length>0&&t(o.children);};return t(r),e}function dr(r,e,t){let u=r.customSummary;if(delete r.customSummary,!u)return;let{rowGroupOf:o,groupCellOffsets:i,groupCells:n}=u,s=r.cellMatrix.sums,a=e.length,l=r.cellMatrix.keys.length,d=o.length;for(let p=0;p<a;p++){let c=e[p];if(c.summaryType!=="custom")continue;let m=u.values[c.id];if(!m)continue;let f=c.calculateCustomSummary;if(typeof f=="function"){let h=new Array(l);for(let g=0;g<l;g++){let C={summaryProcess:"start",value:null,totalValue:0};f(C),h[g]=C;}for(let g=0;g<d;g++){let C=o[g];if(C<0)continue;let v=m[g];for(let F=i[C];F<i[C+1];F++){let E=h[n[F]];E.summaryProcess="calculate",E.value=v,f(E);}}for(let g=0;g<l;g++){let C=h[g];C.summaryProcess="finalize",C.value=null,f(C),s[g*a+p]=Number(C.totalValue??0);}}else if(typeof f=="string"){let g=t?.get(f)?.aggregate;if(!g)throw new Error(`field "${c.id}": calculateCustomSummary names the aggregator "${f}", which is not registered \u2014 call registry.registerAggregator("${f}", fn) and pass that registry to the grid.`);let C=new Array(l);for(let v=0;v<l;v++)C[v]=[];for(let v=0;v<d;v++){let F=o[v];if(F<0)continue;let E=m[v];for(let x=i[F];x<i[F+1];x++)C[n[x]].push(E);}for(let v=0;v<l;v++)s[v*a+p]=Number(g(C[v]));}}}var cr=new Set(["sum","count","min","max"]);function pr(r){return r.filter(e=>!cr.has(e.summaryType||"sum")).map(e=>e.id)}var Yo="__others__";function Xo(r,e,t,u){switch(r){case "min":return u?t:Math.min(e,t);case "max":return u?t:Math.max(e,t);default:return u?t:e+t}}function mr(r,e,t,u,o,i){if(r.length===0||!u?.cellMatrix)return null;let n=i?u.rowIndexMap:u.columnIndexMap;if((i?Object.keys(u.columnIndexMap).length:Object.keys(u.rowIndexMap).length)===0)return null;let a=o.length,l=o.map(x=>x.summaryType||"sum"),d=u.cellMatrix.keys,p=u.cellMatrix.sums,c=new Set;for(let x of r){let A=n[x.key];A!==void 0&&c.add(A);}if(c.size===0)return null;let m=new Map;for(let x=0;x<d.length;x++){let A=d[x],w=A%67108864,y=(A-w)/67108864,b=i?y:w;if(!c.has(b))continue;let B=i?w:y,R=m.get(B);R||(R={values:new Float64Array(a),seen:new Uint8Array(a)},m.set(B,R));for(let S=0;S<a;S++){if(!cr.has(l[S]))continue;let P=p[x*a+S];Number.isFinite(P)&&(R.values[S]=Xo(l[S],R.values[S],P,R.seen[S]===0),R.seen[S]=1);}}if(m.size===0)return null;let f=0;for(let x of Object.values(n))x>=f&&(f=x+1);let h=`${Yo}${e}`;n[h]=f;let g=m.size,C=new Float64Array(d.length+g),v=new Float64Array(p.length+g*a);C.set(d),v.set(p);let F=d.length;for(let[x,A]of m){C[F]=i?f*67108864+x:x*67108864+f;for(let w=0;w<a;w++)v[F*a+w]=A.seen[w]===1?A.values[w]:Number.NaN;F++;}u.cellMatrix.keys=C,u.cellMatrix.sums=v;let E=r[0].depth;return {key:h,value:t,fieldId:r[0].fieldId,children:[],isExpanded:false,isTotal:false,depth:E,hasChildren:false}}function Ae(r,e,t,u,o,i,n,s){if(!r||r.length===0)return;let a=e[r[0].depth];if(!a){for(let p of r)Ae(p.children,e,t,u,o,i,n,s);return}let l=a.sortOrder||"asc",d=a.sortBySummaryField;if(d&&!n&&t?.cellMatrix){n=new Map;let p=t.cellMatrix.keys;for(let c=0;c<p.length;c++)n.set(p[c],c);}r.sort((p,c)=>{let m=0;if(d&&n&&t){let f=p.key,h=c.key,g=a.sortBySummaryPath||"",C=o?f:g,v=o?g:f,F=o?h:g,E=o?g:h,x=t.rowIndexMap[C]??0,A=t.columnIndexMap[v]??0,w=t.rowIndexMap[F]??0,y=t.columnIndexMap[E]??0,b=x*67108864+A,B=w*67108864+y,R=n.get(b),S=n.get(B),P=u.findIndex(N=>N.id===d),I=u.length,M=R!==void 0&&P>=0?t.cellMatrix.sums[R*I+P]:0,L=S!==void 0&&P>=0?t.cellMatrix.sums[S*I+P]:0;m=M>L?1:M<L?-1:0;}else if(a.calculateCustomSort)m=a.calculateCustomSort(p.value,c.value);else {let f=p.value,h=c.value;if(typeof f=="number"&&typeof h=="number")m=f-h;else {let g=String(f),C=String(h);m=g.localeCompare(C,i,{numeric:true});}}return l==="asc"?m:-m}),Zo(r,a,s,t,u,o);for(let p of r)Ae(p.children,e,t,u,o,i,n,s);}function Zo(r,e,t,u,o,i){let n=e.topN;if(n==null)return;if(!Number.isInteger(n)||n<=0){t?.unsupported.push(`field "${e.id}": topN must be a positive integer, got ${JSON.stringify(n)}`);return}if(r.length<=n)return;if(!e.topNShowOthers){r.length=n;return}let s=r.slice(n);r.length=n;let a=pr(o);a.length>0&&t?.unsupported.push(`field "${e.id}": the "Others" row cannot total ${a.join(", ")} \u2014 an average needs the row counts behind each cell and a distinct count needs the underlying values, neither of which survives aggregation. Those measures are left empty; the rest are exact.`);let l=mr(s,`${e.id}:${s[0]?.key??""}`,e.topNOthersCaption??"Others",u,o,i);l&&r.push(l);}var Oe=class{config;initTimeout=null;computeTimeout=null;progressTimer=null;progressCompletionTimer=null;progressStartedAt=0;progressStartValue=0;progressCap=99;progressEstimateMs=1500;initVersion=0;computeVersion=0;disposed=false;isInitComplete=false;forceNextReencode=false;engineLock=Promise.resolve();busy=0;pendingChanges=[];drainQueued=false;computing=0;recomputeAfter=false;hashes={dataRef:null,structuralFieldsHash:"",filterHash:"",prefilterRef:null,expandedPathsHash:"",expandedColPathsHash:"",fieldsHash:""};constructor(e){this.config=e;}refresh(){if(this.disposed)return;if(this.config.getOptions().serverSource){this.scheduleServerCompute(false);return}let e=this.config.getState(),t=this.config.getOptions(),u=this.createStructuralFieldsHash(e.fields)+"|pf:"+[...Dt(e.layout.prefilter)].sort().join(",")+"|ff:"+this.unplacedFilteredFieldIds(e.fields).join(","),o=this.createFilterHash(e.fields),i=this.createFieldsHash(e.fields),n=this.createSetHash(e.expandedPaths),s=this.createSetHash(e.expandedColPaths),a=this.hashes.fieldsHash,l=this.hashes.dataRef!==t.data,d=this.hashes.structuralFieldsHash!==u,p=this.hashes.filterHash!==o||this.hashes.prefilterRef!==e.layout.prefilter;if(l||d){this.hashes.dataRef=t.data,this.hashes.structuralFieldsHash=u,this.hashes.filterHash=o,this.hashes.prefilterRef=e.layout.prefilter,this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,l?this.scheduleInit():this.scheduleReconfigure(p);return}if(p){this.hashes.filterHash=o,this.hashes.prefilterRef=e.layout.prefilter,this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,this.scheduleFilter();return}(this.hashes.expandedPathsHash!==n||this.hashes.expandedColPathsHash!==s||a!==i)&&(this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,this.scheduleComputeIfReady());}applyRowChange(e,t){if(!this.disposed&&!this.config.getOptions().serverSource){if(this.hashes.dataRef!==t){this.refresh();return}if(this.hashes.dataRef=e.data,e.data.length===0){this.scheduleInit();return}this.pendingChanges.push(e),this.isInitComplete?this.scheduleDrain():this.busy===0&&!this.initTimeout&&this.scheduleInit();}}exclusive(e){this.busy++;let t=this.engineLock.then(e).finally(()=>{this.busy--;});return this.engineLock=t.catch(()=>{}),t}scheduleDrain(){this.drainQueued||(this.drainQueued=true,this.exclusive(async()=>{this.drainQueued=false,await this.drainRowChanges()&&this.computeAfterChange();}));}computeAfterChange(){this.computeTimeout||(this.computing>0?this.recomputeAfter=true:this.scheduleComputeIfReady());}async pushRowChange(e){try{if(ce(this.config.getOptions().gridId),await sr(e))return !0}catch(t){this.handleEngineError(t);}return this.disposed||(this.forceNextReencode=true,this.scheduleInit()),false}async drainRowChanges(){for(;this.pendingChanges.length>0;)if(!await this.pushRowChange(this.pendingChanges.shift()))return false;return true}refreshData(){let e=this.config.getOptions().serverSource;if(e){e.reset?.(),this.scheduleServerCompute();return}this.forceNextReencode=true,this.hashes.dataRef=null,this.refresh();}computeIfReady(){this.scheduleComputeIfReady();}dispose(){this.disposed=true,this.serverTimeout&&clearTimeout(this.serverTimeout),this.initTimeout&&clearTimeout(this.initTimeout),this.computeTimeout&&clearTimeout(this.computeTimeout),this.stopBuildProgress(),this.progressCompletionTimer&&clearTimeout(this.progressCompletionTimer),bt(this.config.getOptions().gridId);}scheduleInit(){this.initTimeout&&clearTimeout(this.initTimeout),this.initTimeout=null,this.pendingChanges=[];let e=this.config.getState(),t=this.config.getOptions();if(!t.data||t.data.length===0||!e.fields||e.fields.length===0){this.isInitComplete=false,this.stopBuildProgress(),this.config.setState({engineResult:null,isBuilding:false,buildProgress:0});return}let u=++this.initVersion;this.isInitComplete=false,this.startBuildProgress("init",true),this.config.onEngineStarted({gridId:t.gridId}),this.initTimeout=setTimeout(()=>{this.initTimeout=null,this.runInit(u);},50);}runInit(e){return this.exclusive(()=>this.initPhase(e))}async initPhase(e){if(!(this.disposed||e!==this.initVersion))try{let t=this.config.getState(),u=this.config.getOptions(),o=this.config.getAreaFields("row"),i=this.config.getAreaFields("column"),n=this.config.getAreaFields("data");ce(u.gridId);let s=this.forceNextReencode;this.forceNextReencode=!1,this.pendingChanges=[];let{filtersApplied:a}=await Pt(u.data,o,i,n,u.registry,u.workerUrl,{forceReencode:s,filterState:{fields:t.fields,prefilter:t.layout.prefilter}});if(this.disposed||e!==this.initVersion)return;if(this.advanceBuildProgress(a?82:74),!a){if(await Ne(t.fields,t.layout.prefilter),this.disposed||e!==this.initVersion)return;this.advanceBuildProgress(84);}if(this.isInitComplete=!0,!await this.drainRowChanges()||this.disposed||e!==this.initVersion)return;this.scheduleComputeIfReady(!1);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleReconfigure(e){if(this.disposed)return;let t=this.config.getState(),u=this.config.getOptions();if(!u.data||u.data.length===0||!t.fields||t.fields.length===0||!this.isInitComplete){this.scheduleInit();return}this.computeTimeout&&clearTimeout(this.computeTimeout);let o=++this.computeVersion;this.startBuildProgress("reconfigure",true),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runReconfigure(o,e);},16);}async runReconfigure(e,t){try{let u=this.config.getState(),o=this.config.getOptions(),i=!1,n=!0;if(await this.exclusive(async()=>{ce(o.gridId);let s=this.config.getState();i=await ut(o.data,this.config.getAreaFields("row"),this.config.getAreaFields("column"),this.config.getAreaFields("data"),o.registry,{fields:s.fields,prefilter:s.layout.prefilter}),i&&(n=await this.drainRowChanges());}),!n||this.disposed||e!==this.computeVersion)return;if(!i){this.scheduleInit();return}if(this.advanceBuildProgress(t?68:78),t){if(await Ne(u.fields,u.layout.prefilter),this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(82);}await this.runCompute(e);}catch(u){this.handleEngineError(u),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleFilter(){if(!this.isInitComplete||this.disposed)return;this.computeTimeout&&clearTimeout(this.computeTimeout);let e=++this.computeVersion;this.startBuildProgress("filter",true),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runFilter(e);},50);}async runFilter(e){try{let t=this.config.getState(),u=this.config.getOptions();if(ce(u.gridId),await Ne(t.fields,t.layout.prefilter),this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(82),await this.runCompute(e);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleComputeIfReady(e=true){if(this.config.getOptions().serverSource){this.scheduleServerCompute(false);return}if(!this.isInitComplete||this.disposed)return;this.computeTimeout&&clearTimeout(this.computeTimeout);let t=++this.computeVersion;this.startBuildProgress("compute",e),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runCompute(t);},16);}async runCompute(e){this.computing++;try{let t=this.config.getState(),u=this.config.getOptions();u.onBeforePivotCalculate?.(),ce(u.gridId);let o=await rt(Array.from(t.expandedPaths),Array.from(t.expandedColPaths));if(this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(94),this.postPhases(o,!0),u.onAfterPivotCalculate?.(o),this.completeBuildProgress(o,e);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}finally{this.computing--,this.recomputeAfter&&this.computing===0&&!this.disposed&&(this.recomputeAfter=false,this.computeAfterChange());}}serverTimeout=null;serverKey="";serverInput(e=false){let t=this.config.getState();return {gridId:this.config.getOptions().gridId,fields:t.fields,prefilter:t.layout.prefilter??null,expandedRows:e?new Set(["*"]):t.expandedPaths,expandedColumns:e?new Set(["*"]):t.expandedColPaths}}scheduleServerCompute(e=true){if(this.disposed)return;let t=this.config.getState(),u=this.createFieldsHash(t.fields)+this.createFilterHash(t.fields)+JSON.stringify(t.layout.prefilter??null)+this.createSetHash(t.expandedPaths)+"#"+this.createSetHash(t.expandedColPaths);if(!e&&u===this.serverKey)return;this.serverKey=u,this.serverTimeout&&clearTimeout(this.serverTimeout);let o=++this.computeVersion;this.startBuildProgress("compute",true),this.serverTimeout=setTimeout(()=>{this.serverTimeout=null,this.runServerCompute(o);},16);}postPhases(e,t){let u=this.config.getOptions(),o=this.config.getAreaFields("data");t&&dr(e,o,u.registry),Rt(e,o,u.registry);let i={unsupported:[]};Ae(e.rowTree,this.config.getAreaFields("row"),e,o,true,u.locale,void 0,i),Ae(e.colTree,this.config.getAreaFields("column"),e,o,false,u.locale,void 0,i),this.reportUnsupported(i),It(e,o);}async runServerCompute(e){let t=this.config.getOptions();try{t.onBeforePivotCalculate?.();let u=await t.serverSource.compute(this.serverInput());if(this.disposed||e!==this.computeVersion)return;this.postPhases(u,!1),t.onAfterPivotCalculate?.(u),this.completeBuildProgress(u,e);}catch(u){if(this.disposed||e!==this.computeVersion)return;this.handleEngineError(u),this.config.setState({isBuilding:false,buildProgress:0});}}async computeFullyExpandedSnapshot(){let e=this.config.getOptions();ce(e.gridId);let t=e.serverSource?await e.serverSource.compute(this.serverInput(true)):await rt(["*"],["*"]);return this.postPhases(t,!e.serverSource),t}unsupportedReporter=Qe(()=>this.config.getOptions().onError);reportUnsupported(e){this.unsupportedReporter.report(e.unsupported);}startBuildProgress(e,t){this.progressCompletionTimer&&(clearTimeout(this.progressCompletionTimer),this.progressCompletionTimer=null);let u=this.config.getState().buildProgress??0,o=this.initialProgressFor(e);this.progressStartValue=Math.min(98,t?o:Math.max(u,o)),this.progressStartedAt=Date.now(),this.progressCap=this.progressCapFor(e),this.progressEstimateMs=this.estimateProgressDuration(e),this.config.setState({isBuilding:true,engineError:null,buildProgress:this.progressStartValue}),this.progressTimer||(this.progressTimer=setInterval(()=>this.tickBuildProgress(),120));}tickBuildProgress(){if(this.disposed)return;let e=this.config.getState().buildProgress??0;if(e>=this.progressCap)return;let t=Math.max(0,Date.now()-this.progressStartedAt),u=1-Math.exp(-t/this.progressEstimateMs),o=Math.floor(this.progressStartValue+(this.progressCap-this.progressStartValue)*u);t>this.progressEstimateMs&&o<=e&&(o=e+1),o=Math.min(this.progressCap,o),o>e&&this.config.setState({buildProgress:o});}advanceBuildProgress(e){let t=this.config.getState().buildProgress??0,u=Math.min(99,Math.max(0,Math.floor(e)));u>t&&this.config.setState({buildProgress:u});}completeBuildProgress(e,t){this.stopBuildProgress(),this.progressCompletionTimer&&clearTimeout(this.progressCompletionTimer),this.config.setState({engineResult:e,isBuilding:true,buildProgress:100,engineError:null}),this.config.onEngineCompleted(e),this.progressCompletionTimer=setTimeout(()=>{this.disposed||t!==this.computeVersion||(this.config.setState({isBuilding:false}),this.progressCompletionTimer=null);},120);}stopBuildProgress(){this.progressTimer&&(clearInterval(this.progressTimer),this.progressTimer=null);}initialProgressFor(e){switch(e){case "init":return 2;case "reconfigure":return 24;case "filter":return 35;case "compute":return 86}}progressCapFor(e){switch(e){case "init":return 92;case "reconfigure":return 95;case "filter":return 96;case "compute":return 99}}estimateProgressDuration(e){let t=this.config.getOptions().data?.length??0;return e==="init"?t>=2e6?7e3:t>=5e5?4200:t>=1e5?2400:1e3:e==="compute"?t>=2e6?2200:t>=5e5?1600:900:t>=5e5?1800:1e3}handleEngineError(e){this.stopBuildProgress(),this.progressCompletionTimer&&(clearTimeout(this.progressCompletionTimer),this.progressCompletionTimer=null);let t=e instanceof Error?e:new Error(String(e));console.error("PivotGrid Engine Error",t),this.config.getOptions().onError?.(t),this.config.setState({engineError:t}),this.config.onEngineError(t);}unplacedFilteredFieldIds(e){let t=new Set([...this.config.getAreaFields("row"),...this.config.getAreaFields("column"),...this.config.getAreaFields("data")].map(u=>u.id));return e.filter(u=>u.filterValues&&u.filterValues.size>0&&!t.has(u.id)).map(u=>u.id).sort()}createStructuralFieldsHash(e){return e.map(t=>[t.id,t.area,t.areaIndex,t.isCalculated?"1":"0",t.dataField??"",t.dataType??"",String(t.groupInterval??""),t.summaryType??"",t.formulaString??""].join(":")).join("|")}createFieldsHash(e){return e.map(t=>[t.id,t.area,t.areaIndex,t.sortOrder,t.sortBySummaryField,t.sortBySummaryPath].join(":")).join("|")}createFilterHash(e){return e.filter(t=>t.filterValues&&t.filterValues.size>0).map(t=>{let u=Array.from(t.filterValues).map(o=>this.serializeFilterValue(o)).sort().join(",");return `${t.id}:${t.filterType||"include"}:${u}`}).sort().join("|")}serializeFilterValue(e){if(e===null)return "null:";if(e===void 0)return "undefined:";if(e instanceof Date)return `date:${Number.isNaN(e.getTime())?"":e.toISOString()}`;let t=typeof e;if(t==="string"||t==="number"||t==="boolean"||t==="bigint")return `${t}:${String(e)}`;try{return `${t}:${JSON.stringify(e)}`}catch{return `${t}:${String(e)}`}}setHashCache=new WeakMap;createSetHash(e){let t=this.setHashCache.get(e);return t===void 0&&(t=Array.from(e).sort().join("|"),this.setHashCache.set(e,t)),t}};var fr=null;function Jo(r){fr=r;}function kt(){return fr}var hr=150,gr=95,Qo=20;function ei(r){let e=(t,u,o)=>typeof t=="number"&&Number.isFinite(t)&&t>0?Math.min(o,Math.max(Qo,Math.round(t))):u;return {rowHeader:e(r?.rowHeader,hr,Mt),data:e(r?.data,gr,Number.MAX_SAFE_INTEGER)}}var Nt=160,Ot=.6,Lt=56,Mt=2e3;function Cr(r,e){let t=r.reduce((n,s)=>n+s,0);if(e<=0||t===0)return {widths:r,total:t};let u=Math.min(e-Nt,e*Ot);if(t<=u)return {widths:r,total:t};let o=u/t,i=r.map(n=>Math.max(Lt,Math.round(n*o)));return {widths:i,total:i.reduce((n,s)=>n+s,0)}}function ti(r,e,t,u){if(e<0||e>=r.length)return t;let i=r.reduce((d,p)=>d+p,0)-r[e],n=d=>{let p=r.slice();return p[e]=d,Cr(p,u).widths[e]};if(u<=0)return t;let s=Math.min(u-Nt,u*Ot);if(t+i<=s||i===0)return t;let a=Math.min(Math.max(t,Lt),s-1),l=Math.round(a*i/(s-a));if(l>Mt)return Mt;for(let d=0;d<4&&n(l)<a;d++)l+=1;for(let d=0;d<4&&n(l)>a&&l>1;d++)l-=1;return Math.max(1,l)}function Vt(r){let e=new Set,t=r.cellMatrix.keys;for(let o=0;o<t.length;o++)e.add(t[o]);let u=(o,i)=>{let n=[];for(let s of o){let a=i?r.rowIndexMap[s.key]:r.columnIndexMap[s.key];if(a===void 0){n.push(s);continue}if(i?e.has(a*67108864):e.has(a)){let d=s.children&&s.children.length>0?u(s.children,i):[];n.push({...s,children:d});}}return n};return [u(r.rowTree,true),u(r.colTree,false)]}var zt=(r,e,t)=>!!t?.subTotals&&e&&!!r.children&&r.children.length>0;function Gt(r,e,t=false,u){let o=t||e.has(r.key);return !r.children||r.children.length===0||!o?1:r.children.reduce((n,s)=>n+Gt(s,e,t,u),0)+(zt(r,o,u)?1:0)}function _t(r,e,t=false){if(!r||r.length===0)return 0;let u=0;for(let o of r){let i=t||e.has(o.key),n=0;i&&o.children&&o.children.length>0&&(n=_t(o.children,e,t)),n>u&&(u=n);}return u+1}function vr(r,e,t=false,u){let o=[],i=n=>{for(let s of n){let a=t||e.has(s.key);if(!(s.children&&s.children.length>0)||!a){o.push({node:s,isSubtotal:false});continue}let d=zt(s,a,u);d&&u?.totalsPosition==="top"&&o.push({node:s,isSubtotal:true}),i(s.children),d&&u?.totalsPosition!=="top"&&o.push({node:s,isSubtotal:true});}};return i(r),o}function Ht(r,e,t=false,u){return vr(r,e,t,u).map(o=>o.node)}function $t(r,e,t,u,o=false,i){let n=_t(r,u,o),s={subTotals:t.showColumnTotals!==false,totalsPosition:t.totalsPosition??"bottom"},a=i?.subTotal??"Total",l=[],p=e.length>1&&t.dataFieldPosition==="columns",c=p?e.length:1;for(let h=0;h<n;h++)l.push([]);(p||r.length===0)&&l.push([]);let m=0,f=(h,g)=>{for(let C of h){let v=o||u.has(C.key),F=C.hasChildren??(C.children&&C.children.length>0),E=!F||!v,x=Gt(C,u,o,s),A=zt(C,v,s),w=()=>{l[g+1].push({node:C,caption:`${a}: ${String(C.value||"(Blank)")}`,colSpan:c,rowSpan:n-(g+1),isTotal:true,isSubtotal:true,fieldId:C.fieldId,colPath:C.key,leafStart:m}),p&&e.forEach((b,B)=>{l[n].push({node:null,caption:b.caption,colSpan:1,rowSpan:1,isTotal:true,isSubtotal:true,fieldId:b.id,colPath:C.key,leafStart:m+B});}),m+=c;},y={node:C,caption:String(C.value||"(Blank)"),colSpan:x*c,rowSpan:E?n-g:1,isTotal:C.isTotal,fieldId:C.fieldId,colPath:C.key,hasChildren:F,isExpanded:v,leafStart:m};l[g].push(y),E&&p&&e.forEach((b,B)=>{l[n].push({node:null,caption:b.caption,colSpan:1,rowSpan:1,isTotal:false,fieldId:b.id,colPath:C.key,leafStart:m+B});}),E?m+=y.colSpan:(A&&s.totalsPosition==="top"&&w(),f(C.children,g+1),A&&s.totalsPosition!=="top"&&w());}};return r.length>0?f(r,0):p&&e.forEach((h,g)=>{l[0].push({node:null,caption:h.caption,colSpan:1,rowSpan:1,isTotal:false,fieldId:h.id,colPath:"",leafStart:g}),m=g+1;}),t.showRowGrandTotals&&r.length>0&&(l[0].push({node:null,caption:i?.grandTotal??"Grand Total",colSpan:c,rowSpan:n,isTotal:true,colPath:"",leafStart:m}),p&&e.forEach((h,g)=>{l[n].push({node:null,caption:h.caption,colSpan:1,rowSpan:1,isTotal:true,fieldId:h.id,colPath:"",leafStart:m+g});})),l.filter(h=>h.length>0)}function ui(r,e,t){let u=[],o=i=>{for(let n of i)u.push(n),(t||e.has(n.key))&&n.children.length>0&&o(n.children);};return o(r),u}function Wt(r,e,t,u,o,i){let n=[],s=(l,d,p)=>{for(let c of l){let m=t||e.has(c.key),f=c.hasChildren??(c.children&&c.children.length>0),h=[...d];if(h[p]=String(c.value),!f||!m){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:false,hasChildren:f,isExpanded:m,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}else {if(o&&i==="top"&&p<u-1){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}if(s(c.children,h,p+1),o&&i==="bottom"&&p<u-1){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}}}},a=new Array(u).fill(null);return s(r,a,0),ri(n,u),n}function ri(r,e){for(let t=0;t<e;t++){let u=0;for(;u<r.length;){let o=r[u].pathValues[t];if(o===null){r[u].rowSpans[t]=1,r[u].isFirstInGroup[t]=false,u++;continue}let i=u+1;for(;i<r.length&&r[i].pathValues[t]===o;){let s=true;for(let a=0;a<t;a++)if(r[i].pathValues[a]!==r[u].pathValues[a]){s=false;break}if(!s)break;i++;}let n=i-u;r[u].rowSpans[t]=n,r[u].isFirstInGroup[t]=true;for(let s=u+1;s<i;s++)r[s].rowSpans[t]=0,r[s].isFirstInGroup[t]=false;u=i;}}}function Ut(r,e,t,u,o,i){let n=[],s=(l,d,p)=>{for(let c of l){let m=t||e.has(c.key),f=c.hasChildren??(c.children&&c.children.length>0),h=[...d];h[p]=String(c.value);let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:false,hasChildren:f,isExpanded:m,node:c,rowSpans:[1],isFirstInGroup:[true]}),m&&f&&(s(c.children,h,p+1),o&&i==="bottom"&&n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:[1],isFirstInGroup:[true]}));}},a=new Array(u).fill(null);return s(r,a,0),n}var oi=["#f8fafc","#2563eb"],ii="#3b82f6",ni="#ef4444",ai=["arrow-down","minus","arrow-up"],si=new Set(["colorScale","dataBar"]);function Kt(r){return !!r.conditionalFormatting?.some(e=>si.has(e.type))}function jt(r,e){let t={},u=e.length;if(u===0||!r?.cellMatrix)return t;let o=r.cellMatrix.keys,i=r.cellMatrix.sums,n=new Float64Array(u).fill(1/0),s=new Float64Array(u).fill(-1/0);for(let a=0;a<o.length;a++){let l=o[a],d=l%67108864;if(!((l-d)/67108864===0||d===0))for(let c=0;c<u;c++){let m=i[a*u+c];Number.isFinite(m)&&(m<n[c]&&(n[c]=m),m>s[c]&&(s[c]=m));}}for(let a=0;a<u;a++)n[a]!==1/0&&(t[e[a].id]={min:n[a],max:s[a]});return t}function yr(r){if(!r)return null;let e=r.trim();if(e.startsWith("#")){let o=e.slice(1);if(o.length===3&&(o=o.split("").map(n=>n+n).join("")),o.length!==6)return null;let i=Number.parseInt(o,16);return Number.isNaN(i)?null:[i>>16&255,i>>8&255,i&255]}let t=e.match(/rgba?\(([^)]+)\)/i);if(!t)return null;let u=t[1].split(",").map(o=>Number.parseFloat(o.trim()));return u.length<3||u.some(o=>Number.isNaN(o))?null:[u[0],u[1],u[2]]}var Fr=r=>r<0?0:r>1?1:r;function we(r,e){if(!e)return 0;let t=e.max-e.min;return !Number.isFinite(t)||t===0?0:Fr((r-e.min)/t)}function ot(r,e){let t=e.map(yr);if(t.some(g=>g===null)||t.length<2)return null;let u=t,o=Fr(r),i=u.length-1,n=o*i,s=Math.min(i-1,Math.floor(n)),a=n-s,[l,d,p]=u[s],[c,m,f]=u[s+1],h=(g,C)=>Math.round(g+(C-g)*a);return `rgb(${h(l,c)}, ${h(d,m)}, ${h(p,f)})`}function li(r,e,t,u){let o={style:{}},i=e.conditionalFormatting;if(!i||i.length===0)return o;for(let n of i){let s=n.style??{};switch(n.type){case "expression":{if(!n.formula||t===null)break;let a=false;try{a=!!n.formula(r,t);}catch{a=false;}a&&(o.style={...o.style,...n.style});break}case "colorScale":{if(typeof r!="number"||!Number.isFinite(r)||!u)break;let a=Array.isArray(s.colors)&&s.colors.length>=2?s.colors:oi,l=ot(we(r,u),a);l&&(o.style={...o.style,backgroundColor:l});break}case "dataBar":{if(typeof r!="number"||!Number.isFinite(r)||!u)break;let a=r<0;o.dataBar={ratio:we(r,u),color:a?typeof s.negativeColor=="string"?s.negativeColor:ni:typeof s.color=="string"?s.color:ii,negative:a};break}case "iconSet":{if(typeof r!="number"||!Number.isFinite(r))break;let a=Array.isArray(s.icons)&&s.icons.length>0?s.icons:ai,l=Array.isArray(s.thresholds)?s.thresholds:null;if(l&&l.length>0){let d=0;for(;d<l.length&&r>=l[d];)d++;o.icon=a[Math.min(d,a.length-1)];}else {let d=we(typeof r=="number"?r:0,u),p=Math.min(a.length-1,Math.floor(d*a.length));o.icon=a[p];}break}}}return o}var Le=class r{worker;static sharedWorker=null;static workerErrorCount=0;static MAX_WORKER_ERRORS=3;static getOrCreateWorker(){if(r.sharedWorker&&r.workerErrorCount>=r.MAX_WORKER_ERRORS){try{r.sharedWorker.terminate();}catch{}r.sharedWorker=null,r.workerErrorCount=0;}return r.sharedWorker||(r.sharedWorker=ye("export",()=>{let e=()=>"./export.worker.js";return new URL(e(),import.meta.url)}),r.workerErrorCount=0,r.sharedWorker.onerror=()=>{r.workerErrorCount++;}),r.sharedWorker}static disposeWorker(){if(r.sharedWorker){try{r.sharedWorker.terminate();}catch{}r.sharedWorker=null,r.workerErrorCount=0;}}constructor(){this.worker=r.getOrCreateWorker();}async streamToCSV(e,t,u,o="tr-TR",i,n){let a=[];a.push(new Blob([new Uint8Array([239,187,191])]));try{for(let d=0;d<e.length;d+=5e3){if(n?.aborted)return;let p=e.slice(d,d+5e3),c=d===0,m=await this.processChunkInWorker(p,t,"csv",c,!1,o);a.push(new Blob([m],{type:"text/csv;charset=utf-8;"})),i?.(Math.min(95,Math.round((d+5e3)/e.length*95))),await new Promise(f=>setTimeout(f,0));}if(n?.aborted)return;let l=new Blob(a,{type:"text/csv;charset=utf-8;"});Er.saveAs(l,`${u}.csv`),i?.(100);}catch(l){throw console.error("Export error",l),l}}async streamToExcelXML(e,t,u,o="tr-TR",i,n){let a=[];a.push(new Blob([new Uint8Array([239,187,191])]));try{for(let d=0;d<e.length;d+=5e3){if(n?.aborted)return;let p=e.slice(d,d+5e3),c=d===0,m=d+5e3>=e.length,f=await this.processChunkInWorker(p,t,"excel-xml",c,m,o);a.push(new Blob([f],{type:"application/vnd.ms-excel;charset=utf-8;"})),i?.(Math.min(95,Math.round((d+5e3)/e.length*95))),await new Promise(h=>setTimeout(h,0));}if(n?.aborted)return;let l=new Blob(a,{type:"application/vnd.ms-excel;charset=utf-8;"});Er.saveAs(l,`${u}.xls`),i?.(100);}catch(l){throw console.error("Export error",l),l}}processChunkInWorker(e,t,u,o,i=false,n="tr-TR"){return new Promise((s,a)=>{let l=Math.random().toString(36).substring(7),d=setTimeout(()=>{this.worker.removeEventListener("message",p),r.workerErrorCount++,a(new Error("Export worker timed out"));},3e4),p=m=>{m.data.chunkId===l&&(clearTimeout(d),this.worker.removeEventListener("message",p),m.data.type==="error"?(r.workerErrorCount++,a(new Error(m.data.error))):s(m.data.payload));};this.worker.addEventListener("message",p);let c=t.map(m=>({id:m.id,caption:m.caption,dataField:m.dataField,format:m.format,dataType:m.dataType}));this.worker.postMessage({type:"process_chunk",chunkId:l,chunk:e,fields:c,format:u,isFirstChunk:o,isLastChunk:i,locale:n});})}};function di(r,e){if(!r||typeof r=="function")return;let t=r;if(t.style==="currency"){let u=t.currency||"TRY",o=t.minimumFractionDigits??2,i=o>0?"."+"0".repeat(o):"",s={TRY:"\u20BA",USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5"}[u]||u;return `#,##0${i} "${s}"`}if(t.style==="percent"){let u=t.minimumFractionDigits??0;return `0${u>0?"."+"0".repeat(u):""}%`}if(t.style==="decimal"||!t.style){let u=t.minimumFractionDigits,o=t.maximumFractionDigits,i=t.useGrouping!==false;if(u!==void 0||o!==void 0){let n=u??o??2,s=n>0?"."+"0".repeat(n):"";return i?`#,##0${s}`:`0${s}`}}if(e==="date")return "dd/mm/yyyy"}function ci(r,e,t="tr-TR"){if(r==null||r==="")return "";if(typeof r=="number"&&e?.format){if(typeof e.format=="function")try{return e.format(r)}catch{return String(r)}try{return new Intl.NumberFormat(t,e.format).format(r)}catch{return String(r)}}return String(r)}var qt=new Map;function it(r,e,t="tr-TR"){if(r==null||r==="")return "";if(typeof r=="number"&&e?.format){if(typeof e.format=="function")try{return e.format(r)}catch{return String(r)}try{let u=`${e.id}_${t}`,o=qt.get(u);return o||(o=new Intl.NumberFormat(t,e.format),qt.set(u,o)),o.format(r)}catch{return String(r)}}return String(r)}function pi(r,e){if(!r.formula)return null;try{if(!r.formula(e,{rowPath:[],colPath:[],values:{},displayValues:{},isTotalCell:!1}))return null;let u=r.style||{},o={};return (u.color||u.fontWeight||u.fontSize)&&(o.font={},u.color&&(o.font.color={argb:xr(u.color)}),u.fontWeight==="bold"&&(o.font.bold=!0)),u.backgroundColor&&(o.fill={type:"pattern",pattern:"solid",fgColor:{argb:xr(u.backgroundColor)}}),o}catch{return null}}function xr(r){if(!r)return "FF000000";if(/^[0-9A-Fa-f]{8}$/.test(r))return r;if(r.startsWith("#")){let t=r.slice(1);if(t.length===6)return "FF"+t.toUpperCase();if(t.length===3)return "FF"+t.split("").map(u=>u+u).join("").toUpperCase();if(t.length===8)return t.toUpperCase()}let e=r.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let t=parseInt(e[1]).toString(16).padStart(2,"0"),u=parseInt(e[2]).toString(16).padStart(2,"0"),o=parseInt(e[3]).toString(16).padStart(2,"0");return `FF${t}${u}${o}`.toUpperCase()}return "FF000000"}function mi(){qt.clear();}async function Xt(r,e,t,u,o,i,n,s="PivotExport",a="tr-TR",l){if(!u)return;let d=l?.fileName||s,p=l?.locale||a,c=l?.expandAll??false,m=l?.signal,f=l?.onProgress;if(m?.aborted)return;let h=t.filter(y=>y.area==="row").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),g=t.filter(y=>y.area==="column").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),C=t.filter(y=>y.area==="data").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),v=e,F=l?.includeHiddenFields?t.filter(y=>y.area!=="chooser"):t.filter(y=>y.area==="row"||y.area==="column"||y.area==="data"),E=c?new Set(["*"]):i,x=c?new Set(["*"]):n,A=c,w=o.hideEmptySummaryCells?(()=>{let[y,b]=Vt(u);return {...u,rowTree:y,colTree:b}})():u;switch(r){case "excel-list":case "excel-pivot":case "pdf":{let y=kt();if(!y){console.warn(`[pivotgrid] "${r}" export is an Enterprise feature \u2014 render EnterprisePivotGrid (or import @kanunilabs/pivotgrid-react-enterprise) to enable styled Excel/PDF export.`);return}await y({format:r,listRecords:v,visibleListFields:F,engineResult:w,rowFields:h,colFields:g,dataFields:C,layout:o,expandedPaths:E,expandedColPaths:x,allExpanded:A,fileName:d,locale:p,signal:m,onProgress:f});break}case "json":Ar(v,d+"_List"),f?.(100);break;case "json-pivot":Ar(bi(w,C),d+"_Pivot"),f?.(100);break;case "json-snapshot":hi(v,t,o,i,d+"_Snapshot"),f?.(100);break;case "xml":await vi(v,d,f,m);break;case "csv":{await new Le().streamToCSV(v,F,d,p,f,m),m?.aborted||f?.(100);break}case "print":await Ai(w,h,g,C,o,E,x,A,d,p,m,f);break;case "clipboard":await wi(w,h,g,C,o,E,x,A,p),f?.(100);break}}function Ar(r,e){let t=JSON.stringify(r,null,2);br(t,"application/json",`${e}.json`);}function hi(r,e,t,u,o){let i={version:"1.0.0",type:"FULL_SNAPSHOT",timestamp:new Date().toISOString(),data:r,fields:e,layout:t,expandedPaths:Array.from(u)},n=JSON.stringify(i,null,2);br(n,"application/json",`${o}.json`);}var gi=4*1024*1024,Ci=1e4;async function vi(r,e,t,u){let o=await yi(r,t,u);!o||u?.aborted||(Er.saveAs(new Blob(o,{type:"application/xml"}),`${e}.xml`),t?.(100));}async function yi(r,e,t){let u=[`<?xml version="1.0" encoding="UTF-8"?>
|
|
5
|
+
`:""}static getBounds(r){return {minRow:Math.min(r.startRow,r.endRow),maxRow:Math.max(r.startRow,r.endRow),minColumn:Math.min(r.startColumn,r.endColumn),maxColumn:Math.max(r.startColumn,r.endColumn)}}};function xo(r){let e=Math.max(-100,Math.min(0,Math.floor(r/25)*25)),t=[];for(let u=e;u<=100;u+=25)t.push(u);return t}function Ao(r,e,t=()=>true){let u=r.reduce((i,n)=>Math.max(i,n.length),0),o=r.map((i,n)=>t(n)?{low:new Float64Array(u).fill(NaN),high:new Float64Array(u).fill(NaN),share:new Float64Array(u).fill(NaN)}:null);for(let i=0;i<u;i++){let n=1;if(e==="normalized"){let l=0;for(let d=0;d<r.length;d++){let p=r[d][i];o[d]&&p!==void 0&&!Number.isNaN(p)&&(l+=Math.abs(p));}n=l>0?100/l:0;}let s=0,a=0;for(let l=0;l<r.length;l++){let d=o[l],p=r[l][i];if(!d||p===void 0||Number.isNaN(p))continue;let c=p*n;c>=0?(d.low[i]=s,s+=c,d.high[i]=s):(d.low[i]=a,a+=c,d.high[i]=a),e==="normalized"&&(d.share[i]=c);}}return o}function wo(r,e){let t=Math.floor(Math.log10(r)-1e-9),u=Math.ceil(Math.log10(e));u<=t&&(u=t+1);let o=[];for(let i=t;i<=u;i++){let n=10**i;o.push(n),u-t<2&&i<u&&o.push(2*n,5*n);}return o.map(i=>Number(i.toPrecision(12)))}var Mu=["top","bottom","left","right","none"];function Ne(r){if(typeof r!="object"||r===null||Array.isArray(r))return {};let e=r,t={};return typeof e.title=="string"&&(t.title=e.title),typeof e.categoryAxisTitle=="string"&&(t.categoryAxisTitle=e.categoryAxisTitle),typeof e.valueAxisTitle=="string"&&(t.valueAxisTitle=e.valueAxisTitle),Mu.includes(e.legend)&&(t.legend=e.legend),typeof e.dataLabels=="boolean"&&(t.dataLabels=e.dataLabels),(e.valueScale==="linear"||e.valueScale==="log")&&(t.valueScale=e.valueScale),t}function Nu(r,e){let t=null;return u=>{let o=t;if(t=u,!o||o.open!==u.open){u.open?e("chartOpened",{state:u}):o&&e("chartClosed",{state:u});return}if(!u.open)return;let i=r(o,u);i.length>0&&e("chartChanged",{state:u,changes:i});}}var Bu=["#2563eb","#16a34a","#dc2626","#d97706","#9333ea","#0891b2","#be123c","#047857"],Ct=[0,150,62,255,205,32,300,105],bo=[0,-8,8,-4,14,4,-14,18],So=48;function Po(r){let e=r.trim();if(!e)return null;let t=e.match(/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i);if(t){let o=t[1],i=o.length===3?[...o].map(n=>n+n).join(""):o.slice(0,6);return [0,2,4].map(n=>parseInt(i.slice(n,n+2),16))}let u=e.match(/^rgba?\(([^)]+)\)$/i);if(u){let o=u[1].split(/[\s,/]+/).filter(Boolean).slice(0,3).map(Number);if(o.length===3&&o.every(i=>Number.isFinite(i)))return o.map(i=>Math.max(0,Math.min(255,i)))}return null}function Do([r,e,t]){let[u,o,i]=[r/255,e/255,t/255],n=Math.max(u,o,i),s=Math.min(u,o,i),a=(n+s)/2,l=n-s;if(l===0)return {h:0,s:0,l:a*100};let d=l/(1-Math.abs(2*a-1)),p;return n===u?p=(o-i)/l%6:n===o?p=(i-u)/l+2:p=(u-o)/l+4,p*=60,{h:p<0?p+360:p,s:d*100,l:a*100}}function Tu({h:r,s:e,l:t}){let u=Math.max(0,Math.min(100,e))/100,o=Math.max(0,Math.min(100,t))/100,i=(1-Math.abs(2*o-1))*u,n=(r%360+360)%360/60,s=i*(1-Math.abs(n%2-1)),[a,l,d]=n<1?[i,s,0]:n<2?[s,i,0]:n<3?[0,i,s]:n<4?[0,s,i]:n<5?[s,0,i]:[i,0,s],p=o-i/2,c=m=>Math.round(Math.max(0,Math.min(255,(m+p)*255))).toString(16).padStart(2,"0");return `#${c(a)}${c(l)}${c(d)}`}function Bo(r,e){let t=Math.max(0,e),u=r?Po(r):null,o=u?Do(u):null;return !o||o.s<15?Array.from({length:t},(i,n)=>Bu[n%Bu.length]):Array.from({length:t},(i,n)=>{if(n===0)return Tu(o);let s=n%Ct.length,a=Math.floor(n/Ct.length);return Tu({h:o.h+Ct[s]+a*18,s:Math.max(o.s,So),l:Math.max(22,Math.min(78,o.l+bo[s]))})})}function Ou(r,e=true){let t=[],u=0;for(let o=0;o<r.length;o++){let i=Number.isNaN(r[o])?0:r[o],n=u;u+=i,t.push({start:n,end:u,kind:i<0?"down":"up",value:i});}return e&&t.push({start:0,end:u,kind:"total",value:u}),t}function Lu(r){let e=0,t=0;for(let u of r)e=Math.min(e,u.start,u.end),t=Math.max(t,u.start,u.end);return {min:e,max:t}}function Vu(r){let e=Array.from(r,o=>Number.isFinite(o)&&o>0?o:0),t=Math.max(0,...e),u=e[0]??0;return e.map((o,i)=>({index:i,value:o,ratio:t>0?o/t:0,ofFirst:u>0?o/u:0}))}function zu(r,e,t,u,o){let i=Array.from(r,(f,h)=>({index:h,value:f})).filter(f=>Number.isFinite(f.value)&&f.value>0).sort((f,h)=>h.value-f.value),n=i.reduce((f,h)=>f+h.value,0);if(n<=0||u<=0||o<=0)return [];let s=u*o/n,a=i.map(f=>({...f,area:f.value*s})),l=[],d={x:e,y:t,width:u,height:o},p=[],c=(f,h)=>{if(f.length===0)return 1/0;let g=f.reduce((x,A)=>x+A.area,0),C=0,v=1/0;for(let x of f)C=Math.max(C,x.area),v=Math.min(v,x.area);let F=g*g,E=h*h;return Math.max(E*C/F,F/(E*v))},m=f=>{let h=f.reduce((g,C)=>g+C.area,0);if(d.width>=d.height){let g=h/d.height,C=d.y;for(let v of f){let F=v.area/g;l.push({index:v.index,value:v.value,x:d.x,y:C,width:g,height:F}),C+=F;}d={x:d.x+g,y:d.y,width:d.width-g,height:d.height};}else {let g=h/d.width,C=d.x;for(let v of f){let F=v.area/g;l.push({index:v.index,value:v.value,x:C,y:d.y,width:F,height:g}),C+=F;}d={x:d.x,y:d.y+g,width:d.width,height:d.height-g};}};for(let f of a){let h=Math.min(d.width,d.height);p.length===0||c([...p,f],h)<=c(p,h)?p.push(f):(m(p),p=[f]);}return p.length>0&&m(p),l}function Ru(r){let e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(r.trim());if(!e)return null;let t=e[1].length===3?e[1].split("").map(u=>u+u).join(""):e[1];return [parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}function Gu(r,e="#eff6ff",t="#1d4ed8"){let u=Ru(e)??[239,246,255],o=Ru(t)??[29,78,216],i=Math.max(0,Math.min(1,Number.isFinite(r)?r:0)),n=s=>Math.round(u[s]+(o[s]-u[s])*i);return `rgb(${n(0)}, ${n(1)}, ${n(2)})`}function _u(r){return r>.55?"#ffffff":"#111827"}var T=r=>Math.round(r*100)/100;function Hu(r,e,t=5){e>r||(r-=1,e+=1);let u=(e-r)/Math.max(1,t-1),o=Math.floor(Math.log10(u)),i=u/10**o,n=(i<1.5?1:i<3?2:i<7?5:10)*10**o,s=Math.floor(r/n)*n,a=Math.ceil(e/n)*n,l=[];for(let d=s;d<=a+n/2;d+=n)l.push(Number(d.toPrecision(12)));return l}var Je=(r,e)=>r.length*e*.58;function To(r){let e=[],t=r.series[0];if(!t)return e;let u=Ou(t.values,true),o=[...r.categories,r.totalLabel??"Total"],{min:i,max:n}=Lu(u),s=Hu(i,n),a=s[0],l=s[s.length-1],d=r.categoryAxisTitle?.trim(),p=r.valueAxisTitle?.trim(),c=72+(p?18:0),m=18,f=Math.max(10,r.width-c-16),h=Math.max(10,r.height-m-62-(d?18:0)),g=w=>T(m+(1-(w-a)/(l-a||1))*h),C=f/Math.max(1,o.length),v=C*.62,F=w=>{let y=c+(w+.5)*C;return T(r.rtl?c+f-(y-c):y)};for(let w of s)e.push({kind:"line",x1:c,y1:g(w),x2:c+f,y2:g(w),dashed:true,tone:"border"}),e.push({kind:"text",x:c-6,y:g(w)+4,text:r.compact(w),anchor:"end",size:11,tone:"muted"});e.push({kind:"line",x1:c,y1:g(0),x2:c+f,y2:g(0),tone:"border"});let E=r.colors?.up??"#16a34a",x=r.colors?.down??"#dc2626",A=r.colors?.total??t.color;return u.forEach((w,y)=>{let b=g(w.start),B=g(w.end),R=w.kind==="total";if(e.push({kind:"rect",x:T(F(y)-v/2),y:Math.min(b,B),width:T(v),height:Math.max(.5,Math.abs(B-b)),fill:R?A:w.kind==="down"?x:E,...R?{}:{ci:y,si:t.index},title:`${o[y]}: ${r.format(t.index,w.value)}`}),y<u.length-1){let P=F(y+1);e.push({kind:"line",x1:T(F(y)+v/2),y1:B,x2:T(P-v/2),y2:B,dashed:true,tone:"border"});}let S=yt(o[y],C);e.push({kind:"text",x:F(y),y:m+h+14,text:S,anchor:"end",size:11,tone:"muted",rotate:-35});}),p&&e.push({kind:"text",x:18,y:m+h/2,text:p,anchor:"middle",size:12,weight:600,tone:"text",rotate:-90}),d&&e.push({kind:"text",x:c+f/2,y:r.height-6,text:d,anchor:"middle",size:12,weight:600,tone:"text"}),e}function yt(r,e){let t=Math.max(4,Math.floor(e/4));return r.length>t*3?`${r.slice(0,t*3-1)}\u2026`:r}function Ro(r,e){let t=[],u=r.series[0];if(!u)return t;let o=Vu(u.values),i=Math.max(1,o.length),n=8,s=Math.min(160,r.width*.3),a=r.rtl?8:s,l=Math.max(10,r.width-s-16),d=(r.height-n-8)/i,p=Math.max(2,d*.78),c=a+l/2;return o.forEach((m,f)=>{let h=Math.max(m.value>0?2:0,l*m.ratio),g=n+f*d+(d-p)/2;t.push({kind:"rect",x:T(c-h/2),y:T(g),width:T(h),height:T(p),fill:u.color,ci:f,si:u.index,opacity:1-.45*f/i,rx:2,title:`${r.categories[f]}: ${r.format(u.index,m.value)}`});let C=T(g+p/2+4);t.push({kind:"text",x:r.rtl?r.width-8:s-8,y:C,text:r.categories[f]??"",anchor:"end",size:11,tone:"muted"});let v=`${r.format(u.index,m.value)} \xB7 ${e(m.ofFirst*100)}`;Je(v,11)<h-8?t.push({kind:"text",x:T(c),y:C,text:v,anchor:"middle",size:11,fill:"#ffffff"}):t.push({kind:"text",x:T(c+h/2+6),y:C,text:v,anchor:"start",size:11,tone:"text"});}),t}function Io(r,e){let t=[],u=r.series[0];if(!u)return t;let o=zu(u.values,2,2,r.width-4,r.height-4);for(let i of o){t.push({kind:"rect",x:T(i.x+1),y:T(i.y+1),width:T(Math.max(0,i.width-2)),height:T(Math.max(0,i.height-2)),fill:e[i.index%e.length],ci:i.index,si:u.index,rx:2,title:`${r.categories[i.index]}: ${r.format(u.index,i.value)}`});let n=r.categories[i.index]??"",s=r.format(u.index,i.value);i.height>=34&&Je(n,12)<i.width-10&&(t.push({kind:"text",x:T(i.x+7),y:T(i.y+17),text:n,anchor:"start",size:12,weight:600,fill:"#ffffff"}),Je(s,11)<i.width-10&&t.push({kind:"text",x:T(i.x+7),y:T(i.y+31),text:s,anchor:"start",size:11,fill:"#ffffff"}));}return t}function ko(r){let e=[];if(r.series.length===0||r.categories.length===0)return e;let t=1/0,u=-1/0;for(let c of r.series)for(let m=0;m<r.categories.length;m++){let f=c.values[m];Number.isNaN(f)||(t=Math.min(t,f),u=Math.max(u,f));}let o=Math.min(150,r.width*.25),i=r.rtl?4:o,n=6,s=Math.max(10,r.width-o-8),a=Math.max(10,r.height-n-62),l=s/r.categories.length,d=a/r.series.length,p=c=>r.rtl?i+s-(c+1)*l:i+c*l;return r.series.forEach((c,m)=>{let f=n+m*d;e.push({kind:"text",x:r.rtl?r.width-6:o-6,y:T(f+d/2+4),text:c.label,anchor:"end",size:11,tone:"muted"}),r.categories.forEach((h,g)=>{let C=c.values[g];if(Number.isNaN(C))return;let v=u>t?(C-t)/(u-t):.5,F=p(g);e.push({kind:"rect",x:T(F+1),y:T(f+1),width:T(Math.max(0,l-2)),height:T(Math.max(0,d-2)),fill:Gu(v,r.colors?.heatFrom,r.colors?.heatTo),ci:g,si:c.index,title:`${c.label} \xB7 ${h}: ${r.format(c.index,C)}`});let E=r.format(c.index,C);d>=16&&Je(E,10)<l-6&&e.push({kind:"text",x:T(F+l/2),y:T(f+d/2+3.5),text:E,anchor:"middle",size:10,fill:_u(v)});});}),r.categories.forEach((c,m)=>{e.push({kind:"text",x:T(p(m)+l/2),y:n+a+14,text:yt(c,l),anchor:"end",size:11,tone:"muted",rotate:-35});}),e}function Mo(r){let e=[],t=r.series[0],u=r.series[1];if(!t||!u)return e;let o=r.categories.map((x,A)=>{let w=t.values[A],y=u.values[A];return w===void 0||y===void 0||Number.isNaN(w)||Number.isNaN(y)?null:w<=y?{lo:w,hi:y,loSi:t.index,hiSi:u.index}:{lo:y,hi:w,loSi:u.index,hiSi:t.index}}),i=o.filter(x=>x!==null),n=i.length?Math.min(...i.map(x=>x.lo)):0,s=i.length?Math.max(...i.map(x=>x.hi)):1,a=Hu(Math.min(n,s),s),l=a[0],d=a[a.length-1],p=r.categoryAxisTitle?.trim(),c=r.valueAxisTitle?.trim(),m=72+(c?18:0),f=18,h=Math.max(10,r.width-m-16),g=Math.max(10,r.height-f-62-(p?18:0)),C=x=>T(f+(1-(x-l)/(d-l||1))*g),v=h/Math.max(1,r.categories.length),F=v*.5,E=x=>{let A=m+(x+.5)*v;return T(r.rtl?m+h-(A-m):A)};for(let x of a)e.push({kind:"line",x1:m,y1:C(x),x2:m+h,y2:C(x),dashed:true,tone:"border"}),e.push({kind:"text",x:m-6,y:C(x)+4,text:r.compact(x),anchor:"end",size:11,tone:"muted"});return r.categories.forEach((x,A)=>{let w=o[A];if(w){let y=C(w.hi),b=C(w.lo),B=`${x}: ${r.format(w.loSi,w.lo)} \u2013 ${r.format(w.hiSi,w.hi)}`;e.push({kind:"rect",x:T(E(A)-F/2),y,width:T(F),height:Math.max(1,T(b-y)),fill:t.color,opacity:.55,rx:2,ci:A,si:t.index,title:B});let R=P=>P===t.index?t.color:u.color,S=(P,I)=>e.push({kind:"rect",x:T(E(A)-F/2),y:T(P-1.5),width:T(F),height:3,fill:R(I),ci:A,si:I,title:B});S(y,w.hiSi),S(b,w.loSi),v>=34&&(e.push({kind:"text",x:E(A),y:T(y-4),text:r.compact(w.hi),anchor:"middle",size:10,tone:"muted"}),e.push({kind:"text",x:E(A),y:T(b+12),text:r.compact(w.lo),anchor:"middle",size:10,tone:"muted"}));}e.push({kind:"text",x:E(A),y:f+g+24,text:yt(x,v),anchor:"end",size:11,tone:"muted",rotate:-35});}),c&&e.push({kind:"text",x:18,y:f+g/2,text:c,anchor:"middle",size:12,weight:600,tone:"text",rotate:-90}),p&&e.push({kind:"text",x:m+h/2,y:r.height-6,text:p,anchor:"middle",size:12,weight:600,tone:"text"}),e}var vt=(r,e,t,u,o,i)=>{if(i-o>=Math.PI*2-1e-6){let l=o+Math.PI;return `${vt(r,e,t,u,o,l)} ${vt(r,e,t,u,l,i)}`}let n=(l,d)=>`${T(r+l*Math.sin(d))},${T(e-l*Math.cos(d))}`,s=i-o>Math.PI?1:0,a=`M${n(u,o)} A${T(u)},${T(u)} 0 ${s} 1 ${n(u,i)}`;return t<=0?`${a} L${T(r)},${T(e)} Z`:`${a} L${n(t,i)} A${T(t)},${T(t)} 0 ${s} 0 ${n(t,o)} Z`};function No(r){let e=[],t={value:0,children:new Map};for(let c of r.leaves){if(!(c.value>0)||c.path.length===0)continue;let m=t;t.value+=c.value,c.path.forEach((f,h)=>{let g=m.children.get(f);g||(g={label:f,path:c.path.slice(0,h+1),value:0,children:new Map},m.children.set(f,g)),g.value+=c.value,h===c.path.length-1&&(g.ci=c.ci),m=g;});}if(t.value<=0)return e;let u=0,o=(c,m)=>{u=Math.max(u,m);for(let f of c.children.values())o(f,m+1);};o(t,0);let i=r.width/2,n=r.height/2,s=Math.max(10,Math.min(r.width,r.height)/2-8),a=s*.22,l=(s-a)/Math.max(1,u),d=t.value,p=(c,m,f,h,g)=>{let C=f,v=0;for(let F of c.children.values()){let E=F.value/d*Math.PI*2,x=h??r.colors[(g+v)%Math.max(1,r.colors.length)]??"#2563eb",A=a+(m-1)*l,w=A+l-1;e.push({kind:"path",d:vt(i,n,A,w,C,C+E),fill:x,opacity:Math.max(.4,1-(m-1)*.2),...F.ci!==void 0&&F.children.size===0?{ci:F.ci,si:0}:{},title:`${F.path.join(" \u203A ")}: ${r.format(F.value)} (${r.percentText(F.value/d*100)})`});let y=C+E/2,b=(A+w)/2;if(E*b>34&&l>14){let B=F.label.length>14?`${F.label.slice(0,13)}\u2026`:F.label;e.push({kind:"text",x:T(i+b*Math.sin(y)),y:T(n-b*Math.cos(y)+4),text:B,anchor:"middle",size:10,fill:"#ffffff"});}p(F,m+1,C,x,0),C+=E,v++;}};return p(t,1,0,null,0),e}var Oo=["waterfall","funnel","treemap","heatmap","rangeBar","sunburst"],xe=class{static intlCache=new Map;static stringCache=new Map;static format(r,e,t,u){if(r==null||r==="(Blank)")return String(r??"");if(e==="export")return String(r);let o=`${t}_${e}_${r}_${u}`,i=this.stringCache.get(o);if(i)return i;let n=String(r);try{if(u==="year")n=String(r);else if(u==="quarter")n=String(r);else if(u==="month"){let s=parseInt(String(r),10)-1;if(!isNaN(s)&&s>=0&&s<=11){let a=new Date(2e3,s,1),l=e==="chart"?"short":"long",d=`${t}_month_${l}`,p=this.intlCache.get(d);p||(p=new Intl.DateTimeFormat(t,{month:l}),this.intlCache.set(d,p)),n=p.format(a);}}else if(u==="dayOfWeek"){let s=parseInt(String(r),10);if(!isNaN(s)&&s>=0&&s<=6){let a=new Date(2e3,0,2+s),l=e==="chart"?"short":"long",d=`${t}_weekday_${l}`,p=this.intlCache.get(d);p||(p=new Intl.DateTimeFormat(t,{weekday:l}),this.intlCache.set(d,p)),n=p.format(a);}}else if((u==="day"||!u)&&!u&&typeof r=="string"&&r.includes("-")){let s=new Date(r);if(!isNaN(s.getTime())){let a=`${t}_full_${e==="chart"?"short":"long"}`,l=this.intlCache.get(a);if(!l){let d=e==="chart"?{month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"};l=new Intl.DateTimeFormat(t,d),this.intlCache.set(a,l);}n=l.format(s);}}}catch{n=String(r);}return this.stringCache.set(o,n),n}static clearCache(){this.stringCache.clear(),this.intlCache.clear();}};var $u={ok:"Tamam",cancel:"\u0130ptal",apply:"Uygula",close:"Kapat",search:"Ara...",selectAll:"T\xFCm\xFCn\xFC Se\xE7",clearAll:"T\xFCm\xFCn\xFC Temizle",show:"G\xF6ster",hide:"Gizle",filterArea:"Filtre Alan\u0131",columnArea:"S\xFCtunlar",rowArea:"Sat\u0131rlar",dataArea:"De\u011Ferler",footerArea:"Alt Bilgi \xC7ubu\u011Fu",allFields:"T\xFCm Alanlar",dropHere:"Buraya B\u0131rak",actions:"Aksiyonlar",saveNewView:"Yeni G\xF6r\xFCn\xFCm Kaydet",saveAsView:"Farkl\u0131 Kaydet (Kopyala)",saveChanges:"De\u011Fi\u015Fiklikleri Kaydet",savedViews:"Kay\u0131tl\u0131 G\xF6r\xFCn\xFCmler",viewOptions:"G\xF6r\xFCn\xFCm Se\xE7enekleri",export:"D\u0131\u015Fa Aktar",importFile:"\u0130\xE7e Aktar",excelExport:"Excel Export",pivotView:"Pivot G\xF6r\xFCn\xFCm",listView:"Liste G\xF6r\xFCn\xFCm\xFC",preservesGridLayout:"Tablo yap\u0131s\u0131n\u0131 korur",rawFlatData:"Ham veri",document:"D\xF6k\xFCman",pdfDocument:"PDF D\xF6k\xFCman",printReadyLayout:"Yazd\u0131rmaya haz\u0131r",fullSnapshot:"Tam Ekran G\xF6r\xFCnt\xFCs\xFC",saveSessionState:"Oturum durumunu kaydet",rawDataFormats:"Ham Veri Formatlar\u0131",importSuccess:"Ba\u015Far\u0131yla \u0130\xE7e Aktar\u0131ld\u0131",importWarning:"Uyar\u0131larla Tamamland\u0131",importError:"\u0130\xE7e Aktarma Ba\u015Far\u0131s\u0131z",importCancelled:"\u0130\xE7e aktarma iptal edildi.",pasteImport:"Panodan \u0130\xE7e Aktar",pasteImportHint:"Sekme veya virg\xFClle ayr\u0131lm\u0131\u015F",importFromFile:"Dosyadan",dropToImport:"Dosyalar\u0131 i\xE7e aktarmak i\xE7in buraya b\u0131rak\u0131n",clipboardEmpty:"Panoda i\xE7e aktar\u0131lacak metin bulunamad\u0131.",clipboardDenied:"Panoya eri\u015Filemedi. L\xFCtfen taray\u0131c\u0131 izinlerini kontrol edin.",importPreviewTitle:"\u0130\xE7e Aktarma \xD6nizlemesi",importPreviewSubtitle:"{rows} sat\u0131r \u2022 {cols} s\xFCtun i\xE7e aktar\u0131lacak",importPreviewFooter:"S\xFCtunlar\u0131 ve tipleri g\xF6zden ge\xE7irip onaylay\u0131n.",columns:"S\xFCtunlar",includeColumn:"Bu s\xFCtunu dahil et",dataPreview:"Veri \xD6nizlemesi",applyImport:"\u0130\xE7e Aktar",type_string:"Metin",type_number:"Say\u0131",type_date:"Tarih",type_boolean:"Mant\u0131ksal",loading:"Y\xFCkleniyor...",initializing:"Y\xFCkleniyor...",emptyData:"Veri Bulunamad\u0131",noItems:"Kay\u0131t bulunamad\u0131",blanks:"(Bo\u015Flar)",loadingData:"L\xFCtfen bekleyin, veriler haz\u0131rlan\u0131yor...",processing:"\u0130\u015Flem yap\u0131l\u0131yor...",reading:"Dosya okunuyor...",parsing:"Ayr\u0131\u015Ft\u0131r\u0131l\u0131yor...",typing:"Tipler belirleniyor...",finalizing:"Tamamlan\u0131yor...",fieldSettings:"Alan Ayarlar\u0131",caption:"Ba\u015Fl\u0131k",summaryType:"\xD6zet T\xFCr\xFC",displayMode:"G\xF6sterim \u015Eekli",groupInterval:"Grup Aral\u0131\u011F\u0131",sum:"Toplam",count:"Say",avg:"Ortalama",min:"Min",max:"Max",grandTotal:"Genel Toplam",subTotal:"Alt Toplam",absoluteValue:"Mutlak De\u011Fer",runningTotal:"Y\xFCr\xFCyen Toplam",difference:"Fark",percentOfTotal:"Genel Toplam Y\xFCzdesi",none:"Yok",year:"Y\u0131l",quarter:"\xC7eyrek",month:"Ay",day:"G\xFCn",and:"Ve",or:"Veya",noConditionsAdded:"Hen\xFCz ko\u015Ful eklenmedi...",calculatedMeasureDesigner:"Hesaplanan \xD6l\xE7\xFC Tasar\u0131mc\u0131s\u0131",createFormulasWithoutCode:"Kod yazmadan yeni form\xFCller ve hesaplamalar olu\u015Fturun.",measureName:"\xD6l\xE7\xFC Ad\u0131",format:"Format",numericStandard:"Say\u0131sal (Standart)",numericDecimal:"Say\u0131sal (Ondal\u0131kl\u0131 1.486,15)",currencyTRY:"Para Birimi (TL)",currencyUSD:"Para Birimi (USD)",percent:"Y\xFCzdelik (%)",measureNamePlaceholder:"\xF6rn. K\xE2r marj\u0131",customFormat:"\xD6zel\u2026",customPrefix:"\xD6n ek",customSuffix:"Son ek",minFraction:"Min ondal\u0131k",maxFraction:"Maks ondal\u0131k",calculationLevel:"Hesaplama d\xFCzeyi",calcRowLevel:"Sat\u0131r d\xFCzeyi (ham veri)",calcSummaryLevel:"\xD6zet d\xFCzeyi (toplula\u015Ft\u0131r\u0131lm\u0131\u015F)",fields:"Alanlar",noFieldsFound:"Bu d\xFCzey i\xE7in uygun alan yok.",deleteCalcField:"Hesaplanan alan\u0131 sil",formula:"Form\xFCl",formulaPlaceholder:"\xF6rn. [Gelir] - [Maliyet]",saveAndAdd:"Kaydet ve Ekle",measureNameEmpty:"\xD6l\xE7\xFC ad\u0131 gerekli.",formulaEmpty:"Form\xFCl gerekli.",formulaError:"Form\xFCl hatas\u0131",error:"Hata",systemError:"Beklenmeyen bir hata olu\u015Ftu",expand:"Geni\u015Flet",collapse:"Daralt",expandAll:"T\xFCm\xFCn\xFC Geni\u015Flet",refreshData:"Veriyi Yenile",filterBuilder:"Filtre Olu\u015Fturucu",chartToggle:"Grafik g\xF6r\xFCn\xFCm\xFCn\xFC a\xE7/kapat",collapseAll:"T\xFCm\xFCn\xFC Daralt",sortByThisColumn:"Bu S\xFCtuna G\xF6re S\u0131rala",sortFieldByThisColumn:'"{0}" Alan\u0131n\u0131 Bu S\xFCtuna G\xF6re S\u0131rala',removeAllSorting:"T\xFCm S\u0131ralamalar\u0131 Kald\u0131r",sortAsc:"A'dan Z'ye S\u0131rala",sortDesc:"Z'den A'ya S\u0131rala",clearSort:"S\u0131ralamay\u0131 Temizle",order:"S\u0131ra",moveToStart:"Ba\u015Fa ta\u015F\u0131",moveToEnd:"Sona ta\u015F\u0131",moveToLeft:"Sola ta\u015F\u0131",moveToRight:"Sa\u011Fa ta\u015F\u0131",fieldChipLabel:"{0}, {1}, {3} i\xE7inde {2}.",fieldChipKeys:"Enter s\u0131ralar. Ctrl+Ok alan\u0131 ta\u015F\u0131r, Ctrl+Home/End ba\u015Fa veya sona ta\u015F\u0131r, Delete kald\u0131r\u0131r, Shift+F10 men\xFCy\xFC a\xE7ar.",moveToArea:"\u015Euraya ta\u015F\u0131",opEquals:"e\u015Fittir",opNotEquals:"e\u015Fit de\u011Fildir",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"i\xE7erir",opNotContains:"i\xE7ermez",opStartsWith:"ile ba\u015Flar",opEndsWith:"ile biter",opIsBlank:"bo\u015Ftur",opIsNotBlank:"bo\u015F de\u011Fildir",builderCombine:"Ko\u015Fullar\u0131 \u015Fununla birle\u015Ftir",builderAddCondition:"Ko\u015Ful ekle",builderAddGroup:"Grup ekle",builderRemoveGroup:"Grubu kald\u0131r",builderRemoveCondition:"Ko\u015Fulu kald\u0131r",builderEmpty:"Hen\xFCz ko\u015Ful yok.",builderValuePlaceholder:"Bir de\u011Fer girin",showFieldList:"Alan listesini g\xF6ster",editCalculation:"Hesaplamay\u0131 D\xFCzenle",viewsAndReports:"Kay\u0131tl\u0131 G\xF6r\xFCn\xFCmler ve Raporlar",views:"G\xF6r\xFCn\xFCmler",saveChangesOverwrite:"De\u011Fi\u015Fiklikleri Kaydet (\xDCzerine Yaz)",saveAsCopy:"Farkl\u0131 Kaydet (Kopyala)",makeDefault:"Varsay\u0131lan Yap",deleteReport:"Raporu Sil",deleteReportConfirm:"'{0}' raporunu silmek istedi\u011Finize emin misiniz?",customExports:"\xD6zel D\u0131\u015Fa Aktar\u0131mlar",customPlugin:"\xD6zel Eklenti",saveReport:"Raporu Kaydet",saveReportDescription:"Ge\xE7erli alanlar\u0131 ve d\xFCzeni adland\u0131r\u0131lm\u0131\u015F bir g\xF6r\xFCn\xFCm olarak kaydedin.",reportName:"Rapor Ad\u0131",reportNamePlaceholder:"\xD6rn: Ayl\u0131k Sat\u0131\u015F Analizi",setAsDefault:"Varsay\u0131lan olarak belirle",save:"Kaydet",enterFullscreen:"Tam Ekran Yap",exitFullscreen:"Tam Ekrandan \xC7\u0131k",print:"Yazd\u0131r",sendToPrinter:"Yaz\u0131c\u0131ya g\xF6nder",copyToClipboard:"Panoya Kopyala",tabSeparatedValues:"Sekmeyle ayr\u0131lm\u0131\u015F de\u011Ferler",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \xF6zelli\u011Fi \u2014 y\xFCkseltmek i\xE7in t\u0131klay\u0131n",dataImportUnsupported:"Bu tablo d\u0131\u015F veri al\u0131m\u0131n\u0131 desteklemiyor. Sadece g\xF6r\xFCn\xFCm g\xFCncellendi.",columnFilter:"S\xFCtun filtresi",percentOfColumnTotal:"S\xFCtun Toplam\u0131n\u0131n Y\xFCzdesi",percentOfRowTotal:"Sat\u0131r Toplam\u0131n\u0131n Y\xFCzdesi",percentDifference:"Y\xFCzde Fark",filterField:"Alan\u0131 filtrele",removeFromArea:"Alandan kald\u0131r",removeField:"Alan\u0131 kald\u0131r",deletePermanently:"Kal\u0131c\u0131 olarak sil",exportCsv:"CSV'ye aktar",pagerPage:"Sayfa",pagerOf:"/",pagerPrevious:"\xD6nceki sayfa",pagerNext:"Sonraki sayfa",drillDown:"Ayr\u0131nt\u0131ya \u0130n",drillDownRecords:"Kay\u0131t: {count}",exportGeneratedOn:"Olu\u015Fturma tarihi",calcRowLevelHint:"Her kaynak sat\u0131r i\xE7in hesaplan\u0131r, sonra di\u011Fer \xF6l\xE7\xFCler gibi toplan\u0131r.",calcSummaryLevelHint:"Pivot toplad\u0131ktan sonra, toplanm\u0131\u015F h\xFCcrelerden hesaplan\u0131r.",formulaValid:"Form\xFCl ge\xE7erli",calcFieldsHint:"Form\xFCle eklemek i\xE7in bir alana t\u0131klay\u0131n.",formulaUses:"Kullan\u0131lan: {fields}",licenseMissing:"Lisanss\u0131z",licenseExpired:"Lisans\u0131n s\xFCresi dolmu\u015F",licenseReleaseNotCovered:"Bu s\xFCr\xFCm lisans kapsam\u0131nda de\u011Fil",licenseDomainMismatch:"Lisans bu alan ad\u0131 i\xE7in ge\xE7erli de\u011Fil",licenseRevoked:"Lisans iptal edilmi\u015F",licenseInvalidFormat:"Lisans anahtar\u0131 hatal\u0131",licenseInvalidSignature:"Lisans imzas\u0131 ge\xE7ersiz",licenseEngineUnavailable:"Taray\u0131c\u0131 lisans\u0131 do\u011Frulayam\u0131yor (HTTPS gerekli)"},Wu={ok:"OK",cancel:"Cancel",apply:"Apply",close:"Close",search:"Search...",selectAll:"Select All",clearAll:"Clear All",show:"Show",hide:"Hide",filterArea:"Filter Area",columnArea:"Columns",rowArea:"Rows",dataArea:"Values",footerArea:"Footer Area",allFields:"All Fields",dropHere:"Drop Here",actions:"Actions",saveNewView:"Save New View",saveAsView:"Save As",saveChanges:"Save Changes",savedViews:"Saved Views",viewOptions:"View Options",export:"Export",importFile:"Import",excelExport:"Excel Export",pivotView:"Pivot View",listView:"List View",preservesGridLayout:"Preserves grid layout",rawFlatData:"Raw flat data",document:"Document",pdfDocument:"PDF Document",printReadyLayout:"Print-ready layout",fullSnapshot:"Full Snapshot",saveSessionState:"Save session state",rawDataFormats:"Raw Data Formats",importSuccess:"Successfully Imported",importWarning:"Completed with Warnings",importError:"Import Failed",importCancelled:"Import cancelled.",pasteImport:"Import from Clipboard",pasteImportHint:"Tab or comma separated",importFromFile:"From File",dropToImport:"Drop files here to import",clipboardEmpty:"No importable text found on the clipboard.",clipboardDenied:"Could not access the clipboard. Please check browser permissions.",importPreviewTitle:"Import Preview",importPreviewSubtitle:"{rows} rows \u2022 {cols} columns will be imported",importPreviewFooter:"Review columns and types, then confirm.",columns:"Columns",includeColumn:"Include this column",dataPreview:"Data Preview",applyImport:"Import",type_string:"Text",type_number:"Number",type_date:"Date",type_boolean:"Boolean",initializing:"Initializing...",loading:"Loading...",emptyData:"No Data Found",noItems:"No items found",blanks:"(Blanks)",loadingData:"Please wait, preparing data...",processing:"Processing...",reading:"Reading file...",parsing:"Parsing...",typing:"Detecting types...",finalizing:"Finalizing...",fieldSettings:"Field Settings",caption:"Caption",summaryType:"Summary Type",displayMode:"Display Mode",groupInterval:"Group Interval",sum:"Sum",count:"Count",avg:"Average",min:"Min",max:"Max",grandTotal:"Grand Total",subTotal:"Sub Total",absoluteValue:"Absolute Value",runningTotal:"Running Total",difference:"Difference",percentOfTotal:"% of Total",none:"None",year:"Year",quarter:"Quarter",month:"Month",day:"Day",and:"And",or:"Or",noConditionsAdded:"No conditions added...",calculatedMeasureDesigner:"Calculated Measure Designer",createFormulasWithoutCode:"Create formulas and calculations without writing code.",measureName:"Measure Name",format:"Format",numericStandard:"Numeric (Standard)",numericDecimal:"Numeric (Decimal 1,486.15)",currencyTRY:"Currency (TRY)",currencyUSD:"Currency (USD)",percent:"Percent (%)",measureNamePlaceholder:"e.g. Profit margin",customFormat:"Custom\u2026",customPrefix:"Prefix",customSuffix:"Suffix",minFraction:"Min dec.",maxFraction:"Max dec.",calculationLevel:"Calculation level",calcRowLevel:"Row level (raw data)",calcSummaryLevel:"Summary level (aggregated)",fields:"Fields",noFieldsFound:"No eligible fields for this level.",deleteCalcField:"Delete calculated field",formula:"Formula",formulaPlaceholder:"e.g. [Revenue] - [Cost]",saveAndAdd:"Save & add",measureNameEmpty:"Field name is required.",formulaEmpty:"Formula is required.",formulaError:"Formula error",error:"Error",systemError:"An unexpected error occurred",expand:"Expand",collapse:"Collapse",expandAll:"Expand All",refreshData:"Refresh Data",filterBuilder:"Filter Builder",chartToggle:"Toggle Chart View",collapseAll:"Collapse All",sortByThisColumn:"Sort by This Column",sortFieldByThisColumn:'Sort "{0}" by This Column',removeAllSorting:"Remove All Sorting",sortAsc:"Sort A to Z",sortDesc:"Sort Z to A",clearSort:"Clear Sort",order:"Order",moveToStart:"Move to Start",moveToEnd:"Move to End",moveToLeft:"Move to Left",moveToRight:"Move to Right",fieldChipLabel:"{0}, {1}, {2} of {3}",fieldChipKeys:"Enter sorts. Ctrl+Arrow moves the field, Ctrl+Home/End moves it to the start or end, Delete removes it, Shift+F10 opens the menu.",moveToArea:"Move to",opEquals:"is",opNotEquals:"is not",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contains",opNotContains:"does not contain",opStartsWith:"starts with",opEndsWith:"ends with",opIsBlank:"is blank",opIsNotBlank:"is not blank",builderCombine:"Combine conditions with",builderAddCondition:"Add condition",builderAddGroup:"Add group",builderRemoveGroup:"Remove group",builderRemoveCondition:"Remove condition",builderEmpty:"No conditions yet.",builderValuePlaceholder:"Enter a value",showFieldList:"Show Field List",editCalculation:"Edit Calculation",viewsAndReports:"Saved Views and Reports",views:"Views",saveChangesOverwrite:"Save Changes (Overwrite)",saveAsCopy:"Save As (Copy)",makeDefault:"Make Default",deleteReport:"Delete Report",deleteReportConfirm:"Are you sure you want to delete the report '{0}'?",customExports:"Custom Exports",customPlugin:"Custom Plugin",saveReport:"Save Report",saveReportDescription:"Save the current fields and layout as a named view.",reportName:"Report Name",reportNamePlaceholder:"e.g. Monthly Sales Analysis",setAsDefault:"Set as default",save:"Save",enterFullscreen:"Enter Full Screen",exitFullscreen:"Exit Full Screen",print:"Print",sendToPrinter:"Send to printer",copyToClipboard:"Copy to Clipboard",tabSeparatedValues:"Tab-separated values",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise feature \u2014 click to upgrade",dataImportUnsupported:"This grid does not accept imported data. Only the view was updated.",columnFilter:"Column filter",percentOfColumnTotal:"% of Column Total",percentOfRowTotal:"% of Row Total",percentDifference:"% Difference",filterField:"Filter field",removeFromArea:"Remove from area",removeField:"Remove field",deletePermanently:"Delete permanently",exportCsv:"Export to CSV",pagerPage:"Page",pagerOf:"of",pagerPrevious:"Previous page",pagerNext:"Next page",drillDown:"Drill Down",drillDownRecords:"Records: {count}",exportGeneratedOn:"Generated on",calcRowLevelHint:"Computed for every source row, then aggregated like any other measure.",calcSummaryLevelHint:"Computed from the aggregated cells, after the pivot has summed.",formulaValid:"Formula is valid",calcFieldsHint:"Click a field to insert it into the formula.",formulaUses:"Uses: {fields}",licenseMissing:"Unlicensed",licenseExpired:"License expired",licenseReleaseNotCovered:"This version is not covered by the license",licenseDomainMismatch:"License not valid for this domain",licenseRevoked:"License revoked",licenseInvalidFormat:"Malformed license key",licenseInvalidSignature:"Invalid license signature",licenseEngineUnavailable:"Browser cannot verify the license (HTTPS required)"},Uu={ok:"OK",cancel:"Abbrechen",apply:"Anwenden",close:"Schlie\xDFen",search:"Suchen...",selectAll:"Alles ausw\xE4hlen",clearAll:"Alles l\xF6schen",show:"Anzeigen",hide:"Verbergen",filterArea:"Filterbereich",columnArea:"Spalten",rowArea:"Zeilen",dataArea:"Werte",footerArea:"Fu\xDFbereich",allFields:"Alle Felder",dropHere:"Hier ablegen",actions:"Aktionen",saveNewView:"Neue Ansicht speichern",saveAsView:"Speichern unter",saveChanges:"\xC4nderungen speichern",savedViews:"Gespeicherte Ansichten",viewOptions:"Ansichtsoptionen",export:"Exportieren",importFile:"Importieren",importFromFile:"Aus Datei",pasteImport:"Aus Zwischenablage importieren",pasteImportHint:"Tabulator- oder kommagetrennt",dropToImport:"Dateien zum Importieren hier ablegen",clipboardEmpty:"Kein importierbarer Text in der Zwischenablage gefunden.",clipboardDenied:"Zugriff auf die Zwischenablage nicht m\xF6glich. Bitte Browser-Berechtigungen pr\xFCfen.",excelExport:"Excel Export",pivotView:"Pivot-Ansicht",listView:"Listenansicht",preservesGridLayout:"Beh\xE4lt das Rasterlayout bei",rawFlatData:"Rohe flache Daten",document:"Dokument",pdfDocument:"PDF-Dokument",printReadyLayout:"Druckfertiges Layout",fullSnapshot:"Vollst\xE4ndiger Schnappschuss",saveSessionState:"Sitzungsstatus speichern",rawDataFormats:"Rohdatenformate",importSuccess:"Erfolgreich importiert",importWarning:"Mit Warnungen abgeschlossen",importError:"Import fehlgeschlagen",initializing:"Initialisierung...",loading:"Wird geladen...",emptyData:"Keine Daten gefunden",noItems:"Keine Elemente gefunden",blanks:"(Leer)",loadingData:"Bitte warten, Daten werden vorbereitet...",processing:"Verarbeitung...",fieldSettings:"Feldeinstellungen",caption:"Beschriftung",summaryType:"Zusammenfassungstyp",displayMode:"Anzeigemodus",groupInterval:"Gruppenintervall",sum:"Summe",count:"Anzahl",avg:"Durchschnitt",min:"Min",max:"Max",grandTotal:"Gesamtsumme",subTotal:"Zwischensumme",absoluteValue:"Absoluter Wert",runningTotal:"Laufende Summe",difference:"Differenz",percentOfTotal:"% des Gesamtwerts",none:"Keine",year:"Jahr",quarter:"Quartal",month:"Monat",day:"Tag",and:"Und",or:"Oder",noConditionsAdded:"Keine Bedingungen hinzugef\xFCgt...",calculatedMeasureDesigner:"Designer f\xFCr berechnete Kennzahlen",createFormulasWithoutCode:"Erstellen Sie Formeln und Berechnungen ohne Code.",measureName:"Kennzahlenname",format:"Format",numericStandard:"Numerisch (Standard)",numericDecimal:"Numerisch (Dezimal 1.486,15)",currencyTRY:"W\xE4hrung (TRY)",currencyUSD:"W\xE4hrung (USD)",percent:"Prozent (%)",expand:"Erweitern",collapse:"Reduzieren",expandAll:"Alle erweitern",refreshData:"Daten aktualisieren",filterBuilder:"Filter-Editor",chartToggle:"Diagrammansicht umschalten",collapseAll:"Alle reduzieren",sortByThisColumn:"Nach dieser Spalte sortieren",sortFieldByThisColumn:'"{0}" nach dieser Spalte sortieren',removeAllSorting:"Alle Sortierungen entfernen",sortAsc:"Sortieren A bis Z",sortDesc:"Sortieren Z bis A",clearSort:"Sortierung l\xF6schen",order:"Reihenfolge",moveToStart:"An den Anfang verschieben",moveToEnd:"Ans Ende verschieben",moveToLeft:"Nach links verschieben",moveToRight:"Nach rechts verschieben",fieldChipLabel:"{0}, {1}, {2} von {3}",fieldChipKeys:"Enter sortiert. Strg+Pfeil verschiebt das Feld, Strg+Pos1/Ende an den Anfang oder das Ende, Entf entfernt es, Umschalt+F10 \xF6ffnet das Men\xFC.",moveToArea:"Verschieben nach",opEquals:"ist",opNotEquals:"ist nicht",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"enth\xE4lt",opNotContains:"enth\xE4lt nicht",opStartsWith:"beginnt mit",opEndsWith:"endet mit",opIsBlank:"ist leer",opIsNotBlank:"ist nicht leer",builderCombine:"Bedingungen verkn\xFCpfen mit",builderAddCondition:"Bedingung hinzuf\xFCgen",builderAddGroup:"Gruppe hinzuf\xFCgen",builderRemoveGroup:"Gruppe entfernen",builderRemoveCondition:"Bedingung entfernen",builderEmpty:"Noch keine Bedingungen.",builderValuePlaceholder:"Wert eingeben",showFieldList:"Feldliste anzeigen",editCalculation:"Berechnung bearbeiten",viewsAndReports:"Gespeicherte Ansichten und Berichte",views:"Ansichten",saveChangesOverwrite:"\xC4nderungen speichern (\xDCberschreiben)",saveAsCopy:"Speichern unter (Kopie)",makeDefault:"Als Standard festlegen",deleteReport:"Bericht l\xF6schen",deleteReportConfirm:"M\xF6chten Sie den Bericht '{0}' wirklich l\xF6schen?",customExports:"Benutzerdefinierte Exporte",customPlugin:"Benutzerdefiniertes Plugin",importCancelled:"Import abgebrochen.",importPreviewTitle:"Importvorschau",importPreviewSubtitle:"{rows} Zeilen \u2022 {cols} Spalten werden importiert",importPreviewFooter:"Spalten und Typen pr\xFCfen, dann best\xE4tigen.",columns:"Spalten",includeColumn:"Diese Spalte einbeziehen",dataPreview:"Datenvorschau",applyImport:"Importieren",type_string:"Text",type_number:"Zahl",type_date:"Datum",type_boolean:"Boolesch",reading:"Datei wird gelesen\u2026",parsing:"Wird analysiert\u2026",typing:"Typen werden erkannt\u2026",finalizing:"Wird abgeschlossen\u2026",measureNamePlaceholder:"z. B. Gewinnmarge",customFormat:"Benutzerdefiniert\u2026",customPrefix:"Pr\xE4fix",customSuffix:"Suffix",minFraction:"Min. Dez.",maxFraction:"Max. Dez.",calculationLevel:"Berechnungsebene",calcRowLevel:"Zeilenebene (Rohdaten)",calcSummaryLevel:"Zusammenfassungsebene (aggregiert)",fields:"Felder",noFieldsFound:"Keine geeigneten Felder f\xFCr diese Ebene.",deleteCalcField:"Berechnetes Feld l\xF6schen",formula:"Formel",formulaPlaceholder:"z. B. [Umsatz] - [Kosten]",saveAndAdd:"Speichern & hinzuf\xFCgen",measureNameEmpty:"Feldname ist erforderlich.",formulaEmpty:"Formel ist erforderlich.",formulaError:"Formelfehler",error:"Fehler",systemError:"Ein unerwarteter Fehler ist aufgetreten",saveReport:"Bericht speichern",saveReportDescription:"Aktuelle Felder und Layout als benannte Ansicht speichern.",reportName:"Berichtsname",reportNamePlaceholder:"z. B. Monatliche Umsatzanalyse",setAsDefault:"Als Standard festlegen",save:"Speichern",enterFullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",print:"Drucken",sendToPrinter:"An Drucker senden",copyToClipboard:"In Zwischenablage kopieren",tabSeparatedValues:"Tabulatorgetrennte Werte",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise-Funktion \u2014 zum Upgrade klicken",dataImportUnsupported:"Dieses Grid akzeptiert keine importierten Daten. Nur die Ansicht wurde aktualisiert.",columnFilter:"Spaltenfilter",percentOfColumnTotal:"% der Spaltensumme",percentOfRowTotal:"% der Zeilensumme",percentDifference:"% Differenz",filterField:"Feld filtern",removeFromArea:"Aus Bereich entfernen",removeField:"Feld entfernen",deletePermanently:"Endg\xFCltig l\xF6schen",exportCsv:"Als CSV exportieren",pagerPage:"Seite",pagerOf:"von",pagerPrevious:"Vorherige Seite",pagerNext:"N\xE4chste Seite",drillDown:"Detailansicht",drillDownRecords:"Datens\xE4tze: {count}",exportGeneratedOn:"Erstellt am",calcRowLevelHint:"Wird f\xFCr jede Quellzeile berechnet und dann wie jede andere Kennzahl aggregiert.",calcSummaryLevelHint:"Wird aus den aggregierten Zellen berechnet, nachdem die Pivot summiert hat.",formulaValid:"Formel ist g\xFCltig",calcFieldsHint:"Klicken Sie ein Feld an, um es in die Formel einzuf\xFCgen.",formulaUses:"Verwendet: {fields}",licenseMissing:"Nicht lizenziert",licenseExpired:"Lizenz abgelaufen",licenseReleaseNotCovered:"Diese Version ist nicht durch die Lizenz abgedeckt",licenseDomainMismatch:"Lizenz gilt nicht f\xFCr diese Domain",licenseRevoked:"Lizenz widerrufen",licenseInvalidFormat:"Lizenzschl\xFCssel fehlerhaft",licenseInvalidSignature:"Ung\xFCltige Lizenzsignatur",licenseEngineUnavailable:"Browser kann die Lizenz nicht pr\xFCfen (HTTPS erforderlich)"},Ku={ok:"OK",cancel:"Annuler",apply:"Appliquer",close:"Fermer",search:"Rechercher...",selectAll:"Tout s\xE9lectionner",clearAll:"Tout effacer",show:"Afficher",hide:"Masquer",filterArea:"Zone de filtre",columnArea:"Colonnes",rowArea:"Lignes",dataArea:"Valeurs",footerArea:"Pied de page",allFields:"Tous les champs",dropHere:"D\xE9poser ici",actions:"Actions",saveNewView:"Enregistrer la nouvelle vue",saveAsView:"Enregistrer sous",saveChanges:"Enregistrer les modifications",savedViews:"Vues enregistr\xE9es",viewOptions:"Options d'affichage",export:"Exporter",importFile:"Importer",importFromFile:"Depuis un fichier",pasteImport:"Importer depuis le presse-papiers",pasteImportHint:"S\xE9par\xE9 par tabulation ou virgule",dropToImport:"D\xE9posez les fichiers ici pour les importer",clipboardEmpty:"Aucun texte importable trouv\xE9 dans le presse-papiers.",clipboardDenied:"Impossible d\u2019acc\xE9der au presse-papiers. V\xE9rifiez les autorisations du navigateur.",excelExport:"Exportation Excel",pivotView:"Vue Pivot",listView:"Vue Liste",preservesGridLayout:"Pr\xE9serve la disposition de la grille",rawFlatData:"Donn\xE9es brutes plates",document:"Document",pdfDocument:"Document PDF",printReadyLayout:"Mise en page pr\xEAte pour l'impression",fullSnapshot:"Capture compl\xE8te",saveSessionState:"Enregistrer l'\xE9tat de la session",rawDataFormats:"Formats de donn\xE9es brutes",importSuccess:"Importation r\xE9ussie",importWarning:"Termin\xE9 avec des avertissements",importError:"\xC9chec de l'importation",initializing:"Initialisation...",loading:"Chargement...",emptyData:"Aucune donn\xE9e trouv\xE9e",noItems:"Aucun \xE9l\xE9ment trouv\xE9",blanks:"(Vides)",loadingData:"Veuillez patienter, pr\xE9paration des donn\xE9es...",processing:"Traitement...",fieldSettings:"Param\xE8tres du champ",caption:"L\xE9gende",summaryType:"Type de r\xE9sum\xE9",displayMode:"Mode d'affichage",groupInterval:"Intervalle de groupe",sum:"Somme",count:"Nombre",avg:"Moyenne",min:"Min",max:"Max",grandTotal:"Total g\xE9n\xE9ral",subTotal:"Sous-total",absoluteValue:"Valeur absolue",runningTotal:"Total cumul\xE9",difference:"Diff\xE9rence",percentOfTotal:"% du total",none:"Aucun",year:"Ann\xE9e",quarter:"Trimestre",month:"Mois",day:"Jour",and:"Et",or:"Ou",noConditionsAdded:"Aucune condition ajout\xE9e...",calculatedMeasureDesigner:"Concepteur de mesures calcul\xE9es",createFormulasWithoutCode:"Cr\xE9ez des formules et des calculs sans \xE9crire de code.",measureName:"Nom de la mesure",format:"Format",numericStandard:"Num\xE9rique (Standard)",numericDecimal:"Num\xE9rique (D\xE9cimal 1.486,15)",currencyTRY:"Devise (TRY)",currencyUSD:"Devise (USD)",percent:"Pourcentage (%)",expand:"D\xE9velopper",collapse:"R\xE9duire",expandAll:"D\xE9velopper tout",refreshData:"Actualiser les donn\xE9es",filterBuilder:"G\xE9n\xE9rateur de filtres",chartToggle:"Basculer la vue graphique",collapseAll:"R\xE9duire tout",sortByThisColumn:"Trier par cette colonne",sortFieldByThisColumn:'Trier "{0}" par cette colonne',removeAllSorting:"Supprimer tous les tris",sortAsc:"Trier de A \xE0 Z",sortDesc:"Trier de Z \xE0 A",clearSort:"Effacer le tri",order:"Ordre",moveToStart:"D\xE9placer au d\xE9but",moveToEnd:"D\xE9placer \xE0 la fin",moveToLeft:"D\xE9placer vers la gauche",moveToRight:"D\xE9placer vers la droite",fieldChipLabel:"{0}, {1}, {2} sur {3}",fieldChipKeys:"Entr\xE9e trie. Ctrl+Fl\xE8che d\xE9place le champ, Ctrl+D\xE9but/Fin le place au d\xE9but ou \xE0 la fin, Suppr le retire, Maj+F10 ouvre le menu.",moveToArea:"D\xE9placer vers",opEquals:"est",opNotEquals:"n'est pas",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contient",opNotContains:"ne contient pas",opStartsWith:"commence par",opEndsWith:"se termine par",opIsBlank:"est vide",opIsNotBlank:"n'est pas vide",builderCombine:"Combiner les conditions avec",builderAddCondition:"Ajouter une condition",builderAddGroup:"Ajouter un groupe",builderRemoveGroup:"Supprimer le groupe",builderRemoveCondition:"Supprimer la condition",builderEmpty:"Aucune condition pour le moment.",builderValuePlaceholder:"Saisissez une valeur",showFieldList:"Afficher la liste des champs",editCalculation:"Modifier le calcul",viewsAndReports:"Vues et rapports enregistr\xE9s",views:"Vues",saveChangesOverwrite:"Enregistrer les modifications (\xC9craser)",saveAsCopy:"Enregistrer sous (Copie)",makeDefault:"D\xE9finir par d\xE9faut",deleteReport:"Supprimer le rapport",deleteReportConfirm:"\xCAtes-vous s\xFBr de vouloir supprimer le rapport '{0}' ?",customExports:"Exportations personnalis\xE9es",customPlugin:"Plugin personnalis\xE9",importCancelled:"Importation annul\xE9e.",importPreviewTitle:"Aper\xE7u de l'importation",importPreviewSubtitle:"{rows} lignes \u2022 {cols} colonnes seront import\xE9es",importPreviewFooter:"V\xE9rifiez les colonnes et les types, puis confirmez.",columns:"Colonnes",includeColumn:"Inclure cette colonne",dataPreview:"Aper\xE7u des donn\xE9es",applyImport:"Importer",type_string:"Texte",type_number:"Nombre",type_date:"Date",type_boolean:"Bool\xE9en",reading:"Lecture du fichier\u2026",parsing:"Analyse\u2026",typing:"D\xE9tection des types\u2026",finalizing:"Finalisation\u2026",measureNamePlaceholder:"ex. Marge b\xE9n\xE9ficiaire",customFormat:"Personnalis\xE9\u2026",customPrefix:"Pr\xE9fixe",customSuffix:"Suffixe",minFraction:"D\xE9c. min",maxFraction:"D\xE9c. max",calculationLevel:"Niveau de calcul",calcRowLevel:"Niveau ligne (donn\xE9es brutes)",calcSummaryLevel:"Niveau r\xE9sum\xE9 (agr\xE9g\xE9)",fields:"Champs",noFieldsFound:"Aucun champ \xE9ligible pour ce niveau.",deleteCalcField:"Supprimer le champ calcul\xE9",formula:"Formule",formulaPlaceholder:"ex. [Revenu] - [Co\xFBt]",saveAndAdd:"Enregistrer et ajouter",measureNameEmpty:"Le nom du champ est obligatoire.",formulaEmpty:"La formule est obligatoire.",formulaError:"Erreur de formule",error:"Erreur",systemError:"Une erreur inattendue est survenue",saveReport:"Enregistrer le rapport",saveReportDescription:"Enregistrer les champs et la disposition actuels comme vue nomm\xE9e.",reportName:"Nom du rapport",reportNamePlaceholder:"ex. : Analyse des ventes mensuelles",setAsDefault:"D\xE9finir par d\xE9faut",save:"Enregistrer",enterFullscreen:"Plein \xE9cran",exitFullscreen:"Quitter le plein \xE9cran",print:"Imprimer",sendToPrinter:"Envoyer \xE0 l'imprimante",copyToClipboard:"Copier dans le presse-papiers",tabSeparatedValues:"Valeurs s\xE9par\xE9es par tabulations",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Fonction Enterprise \u2014 cliquez pour mettre \xE0 niveau",dataImportUnsupported:"Ce tableau n'accepte pas les donn\xE9es import\xE9es. Seule la vue a \xE9t\xE9 mise \xE0 jour.",columnFilter:"Filtre de colonne",percentOfColumnTotal:"% du total de colonne",percentOfRowTotal:"% du total de ligne",percentDifference:"% d'\xE9cart",filterField:"Filtrer le champ",removeFromArea:"Retirer de la zone",removeField:"Retirer le champ",deletePermanently:"Supprimer d\xE9finitivement",exportCsv:"Exporter en CSV",pagerPage:"Page",pagerOf:"sur",pagerPrevious:"Page pr\xE9c\xE9dente",pagerNext:"Page suivante",drillDown:"Exploration",drillDownRecords:"Enregistrements : {count}",exportGeneratedOn:"G\xE9n\xE9r\xE9 le",calcRowLevelHint:"Calcul\xE9 pour chaque ligne source, puis agr\xE9g\xE9 comme toute autre mesure.",calcSummaryLevelHint:"Calcul\xE9 \xE0 partir des cellules agr\xE9g\xE9es, une fois le pivot totalis\xE9.",formulaValid:"Formule valide",calcFieldsHint:"Cliquez sur un champ pour l\u2019ins\xE9rer dans la formule.",formulaUses:"Utilise : {fields}",licenseMissing:"Sans licence",licenseExpired:"Licence expir\xE9e",licenseReleaseNotCovered:"Cette version n\u2019est pas couverte par la licence",licenseDomainMismatch:"Licence non valide pour ce domaine",licenseRevoked:"Licence r\xE9voqu\xE9e",licenseInvalidFormat:"Cl\xE9 de licence mal form\xE9e",licenseInvalidSignature:"Signature de licence invalide",licenseEngineUnavailable:"Le navigateur ne peut pas v\xE9rifier la licence (HTTPS requis)"},ju={ok:"Aceptar",cancel:"Cancelar",apply:"Aplicar",close:"Cerrar",search:"Buscar...",selectAll:"Seleccionar todo",clearAll:"Borrar todo",show:"Mostrar",hide:"Ocultar",filterArea:"\xC1rea de filtros",columnArea:"Columnas",rowArea:"Filas",dataArea:"Valores",footerArea:"\xC1rea de pie de p\xE1gina",allFields:"Todos los campos",dropHere:"Soltar aqu\xED",actions:"Acciones",saveNewView:"Guardar nueva vista",saveAsView:"Guardar como",saveChanges:"Guardar cambios",savedViews:"Vistas guardadas",viewOptions:"Opciones de vista",export:"Exportar",importFile:"Importar",importFromFile:"Desde archivo",pasteImport:"Importar desde el portapapeles",pasteImportHint:"Separado por tabulaciones o comas",dropToImport:"Suelte los archivos aqu\xED para importar",clipboardEmpty:"No se encontr\xF3 texto importable en el portapapeles.",clipboardDenied:"No se pudo acceder al portapapeles. Compruebe los permisos del navegador.",excelExport:"Exportaci\xF3n a Excel",pivotView:"Vista din\xE1mica",listView:"Vista de lista",preservesGridLayout:"Conserva el dise\xF1o de la cuadr\xEDcula",rawFlatData:"Datos planos sin procesar",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Dise\xF1o listo para imprimir",fullSnapshot:"Instant\xE1nea completa",saveSessionState:"Guardar estado de la sesi\xF3n",rawDataFormats:"Formatos de datos sin procesar",importSuccess:"Importado correctamente",importWarning:"Completado con advertencias",importError:"Error al importar",initializing:"Inicializando...",loading:"Cargando...",emptyData:"No se encontraron datos",noItems:"No se encontraron elementos",blanks:"(En blanco)",loadingData:"Por favor espere, preparando datos...",processing:"Procesando...",fieldSettings:"Configuraci\xF3n del campo",caption:"Subt\xEDtulo",summaryType:"Tipo de resumen",displayMode:"Modo de visualizaci\xF3n",groupInterval:"Intervalo de grupo",sum:"Suma",count:"Recuento",avg:"Promedio",min:"M\xEDnimo",max:"M\xE1ximo",grandTotal:"Total general",subTotal:"Subtotal",absoluteValue:"Valor absoluto",runningTotal:"Total acumulado",difference:"Diferencia",percentOfTotal:"% del total",none:"Ninguno",year:"A\xF1o",quarter:"Trimestre",month:"Mes",day:"D\xEDa",and:"Y",or:"O",noConditionsAdded:"No se a\xF1adieron condiciones...",calculatedMeasureDesigner:"Dise\xF1ador de medidas calculadas",createFormulasWithoutCode:"Cree f\xF3rmulas y c\xE1lculos sin escribir c\xF3digo.",measureName:"Nombre de la medida",format:"Formato",numericStandard:"Num\xE9rico (Est\xE1ndar)",numericDecimal:"Num\xE9rico (Decimal 1.486,15)",currencyTRY:"Moneda (TRY)",currencyUSD:"Moneda (USD)",percent:"Porcentaje (%)",expand:"Expandir",collapse:"Contraer",expandAll:"Expandir todo",refreshData:"Actualizar datos",filterBuilder:"Creador de filtros",chartToggle:"Alternar vista de gr\xE1fico",collapseAll:"Contraer todo",sortByThisColumn:"Ordenar por esta columna",sortFieldByThisColumn:'Ordenar "{0}" por esta columna',removeAllSorting:"Quitar toda la ordenaci\xF3n",sortAsc:"Ordenar de la A a la Z",sortDesc:"Ordenar de la Z a la A",clearSort:"Borrar ordenaci\xF3n",order:"Orden",moveToStart:"Mover al principio",moveToEnd:"Mover al final",moveToLeft:"Mover a la izquierda",moveToRight:"Mover a la derecha",fieldChipLabel:"{0}, {1}, {2} de {3}",fieldChipKeys:"Intro ordena. Ctrl+Flecha mueve el campo, Ctrl+Inicio/Fin lo lleva al principio o al final, Supr lo quita, May\xFAs+F10 abre el men\xFA.",moveToArea:"Mover a",opEquals:"es",opNotEquals:"no es",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"no contiene",opStartsWith:"empieza por",opEndsWith:"termina en",opIsBlank:"est\xE1 en blanco",opIsNotBlank:"no est\xE1 en blanco",builderCombine:"Combinar condiciones con",builderAddCondition:"A\xF1adir condici\xF3n",builderAddGroup:"A\xF1adir grupo",builderRemoveGroup:"Quitar grupo",builderRemoveCondition:"Quitar condici\xF3n",builderEmpty:"Todav\xEDa no hay condiciones.",builderValuePlaceholder:"Introduzca un valor",showFieldList:"Mostrar lista de campos",editCalculation:"Editar c\xE1lculo",viewsAndReports:"Vistas y reportes guardados",views:"Vistas",saveChangesOverwrite:"Guardar cambios (Sobrescribir)",saveAsCopy:"Guardar como (Copia)",makeDefault:"Hacer predeterminado",deleteReport:"Eliminar reporte",deleteReportConfirm:"\xBFEst\xE1 seguro de que desea eliminar el reporte '{0}'?",customExports:"Exportaciones personalizadas",customPlugin:"Plugin personalizado",importCancelled:"Importaci\xF3n cancelada.",importPreviewTitle:"Vista previa de importaci\xF3n",importPreviewSubtitle:"Se importar\xE1n {rows} filas \u2022 {cols} columnas",importPreviewFooter:"Revise las columnas y los tipos, luego confirme.",columns:"Columnas",includeColumn:"Incluir esta columna",dataPreview:"Vista previa de datos",applyImport:"Importar",type_string:"Texto",type_number:"N\xFAmero",type_date:"Fecha",type_boolean:"Booleano",reading:"Leyendo el archivo\u2026",parsing:"Analizando\u2026",typing:"Detectando tipos\u2026",finalizing:"Finalizando\u2026",measureNamePlaceholder:"p. ej. Margen de beneficio",customFormat:"Personalizado\u2026",customPrefix:"Prefijo",customSuffix:"Sufijo",minFraction:"Dec. m\xEDn.",maxFraction:"Dec. m\xE1x.",calculationLevel:"Nivel de c\xE1lculo",calcRowLevel:"Nivel de fila (datos sin procesar)",calcSummaryLevel:"Nivel de resumen (agregado)",fields:"Campos",noFieldsFound:"No hay campos elegibles para este nivel.",deleteCalcField:"Eliminar campo calculado",formula:"F\xF3rmula",formulaPlaceholder:"p. ej. [Ingresos] - [Costo]",saveAndAdd:"Guardar y agregar",measureNameEmpty:"El nombre del campo es obligatorio.",formulaEmpty:"La f\xF3rmula es obligatoria.",formulaError:"Error de f\xF3rmula",error:"Error",systemError:"Se ha producido un error inesperado",saveReport:"Guardar informe",saveReportDescription:"Guarda los campos y el dise\xF1o actuales como una vista con nombre.",reportName:"Nombre del informe",reportNamePlaceholder:"p. ej., An\xE1lisis de ventas mensual",setAsDefault:"Establecer como predeterminado",save:"Guardar",enterFullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",print:"Imprimir",sendToPrinter:"Enviar a la impresora",copyToClipboard:"Copiar al portapapeles",tabSeparatedValues:"Valores separados por tabulaciones",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Funci\xF3n Enterprise: haga clic para actualizar",dataImportUnsupported:"Esta tabla no acepta datos importados. Solo se actualiz\xF3 la vista.",columnFilter:"Filtro de columna",percentOfColumnTotal:"% del total de columna",percentOfRowTotal:"% del total de fila",percentDifference:"% de diferencia",filterField:"Filtrar campo",removeFromArea:"Quitar del \xE1rea",removeField:"Quitar campo",deletePermanently:"Eliminar permanentemente",exportCsv:"Exportar a CSV",pagerPage:"P\xE1gina",pagerOf:"de",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina siguiente",drillDown:"Detalle",drillDownRecords:"Registros: {count}",exportGeneratedOn:"Generado el",calcRowLevelHint:"Se calcula para cada fila de origen y luego se agrega como cualquier otra medida.",calcSummaryLevelHint:"Se calcula a partir de las celdas agregadas, una vez que el pivote ha sumado.",formulaValid:"La f\xF3rmula es v\xE1lida",calcFieldsHint:"Haga clic en un campo para insertarlo en la f\xF3rmula.",formulaUses:"Usa: {fields}",licenseMissing:"Sin licencia",licenseExpired:"Licencia caducada",licenseReleaseNotCovered:"Esta versi\xF3n no est\xE1 cubierta por la licencia",licenseDomainMismatch:"Licencia no v\xE1lida para este dominio",licenseRevoked:"Licencia revocada",licenseInvalidFormat:"Clave de licencia mal formada",licenseInvalidSignature:"Firma de licencia no v\xE1lida",licenseEngineUnavailable:"El navegador no puede verificar la licencia (se requiere HTTPS)"},qu={ok:"OK",cancel:"Annulla",apply:"Applica",close:"Chiudi",search:"Cerca...",selectAll:"Seleziona tutto",clearAll:"Cancella tutto",show:"Mostra",hide:"Nascondi",filterArea:"Area filtro",columnArea:"Colonne",rowArea:"Righe",dataArea:"Valori",footerArea:"Area pi\xE8 di pagina",allFields:"Tutti i campi",dropHere:"Rilascia qui",actions:"Azioni",saveNewView:"Salva nuova vista",saveAsView:"Salva con nome",saveChanges:"Salva le modifiche",savedViews:"Viste salvate",viewOptions:"Opzioni vista",export:"Esporta",importFile:"Importa",importFromFile:"Da file",pasteImport:"Importa dagli appunti",pasteImportHint:"Separato da tabulazioni o virgole",dropToImport:"Trascina qui i file per importarli",clipboardEmpty:"Nessun testo importabile trovato negli appunti.",clipboardDenied:"Impossibile accedere agli appunti. Controlla le autorizzazioni del browser.",excelExport:"Esportazione Excel",pivotView:"Vista Pivot",listView:"Vista elenco",preservesGridLayout:"Mantiene il layout della griglia",rawFlatData:"Dati grezzi",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Layout pronto per la stampa",fullSnapshot:"Istantanea completa",saveSessionState:"Salva lo stato della sessione",rawDataFormats:"Formati di dati grezzi",importSuccess:"Importato con successo",importWarning:"Completato con avvisi",importError:"Importazione non riuscita",initializing:"Inizializzazione...",loading:"Caricamento...",emptyData:"Nessun dato trovato",noItems:"Nessun elemento trovato",blanks:"(Vuoti)",loadingData:"Attendi, preparazione dei dati in corso...",processing:"Elaborazione...",fieldSettings:"Impostazioni campo",caption:"Didascalia",summaryType:"Tipo di riepilogo",displayMode:"Modalit\xE0 di visualizzazione",groupInterval:"Intervallo di gruppo",sum:"Somma",count:"Conteggio",avg:"Media",min:"Min",max:"Max",grandTotal:"Totale complessivo",subTotal:"Totale parziale",absoluteValue:"Valore assoluto",runningTotal:"Totale parziale",difference:"Differenza",percentOfTotal:"% del totale",none:"Nessuno",year:"Anno",quarter:"Trimestre",month:"Mese",day:"Giorno",and:"E",or:"O",noConditionsAdded:"Nessuna condizione aggiunta...",calculatedMeasureDesigner:"Progettazione misure calcolate",createFormulasWithoutCode:"Crea formule e calcoli senza scrivere codice.",measureName:"Nome misura",format:"Formato",numericStandard:"Numerico (Standard)",numericDecimal:"Numerico (Decimale 1.486,15)",currencyTRY:"Valuta (TRY)",currencyUSD:"Valuta (USD)",percent:"Percentuale (%)",expand:"Espandi",collapse:"Comprimi",expandAll:"Espandi tutto",refreshData:"Aggiorna dati",filterBuilder:"Generatore di filtri",chartToggle:"Attiva/disattiva vista grafico",collapseAll:"Comprimi tutto",sortByThisColumn:"Ordina per questa colonna",sortFieldByThisColumn:'Ordina "{0}" per questa colonna',removeAllSorting:"Rimuovi tutti gli ordinamenti",sortAsc:"Ordina dalla A alla Z",sortDesc:"Ordina dalla Z alla A",clearSort:"Cancella ordinamento",order:"Ordine",moveToStart:"Sposta all'inizio",moveToEnd:"Sposta alla fine",moveToLeft:"Sposta a sinistra",moveToRight:"Sposta a destra",fieldChipLabel:"{0}, {1}, {2} di {3}",fieldChipKeys:"Invio ordina. Ctrl+Freccia sposta il campo, Ctrl+Home/Fine lo porta all'inizio o alla fine, Canc lo rimuove, Maiusc+F10 apre il menu.",moveToArea:"Sposta in",opEquals:"\xE8",opNotEquals:"non \xE8",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"non contiene",opStartsWith:"inizia con",opEndsWith:"finisce con",opIsBlank:"\xE8 vuoto",opIsNotBlank:"non \xE8 vuoto",builderCombine:"Combina le condizioni con",builderAddCondition:"Aggiungi condizione",builderAddGroup:"Aggiungi gruppo",builderRemoveGroup:"Rimuovi gruppo",builderRemoveCondition:"Rimuovi condizione",builderEmpty:"Ancora nessuna condizione.",builderValuePlaceholder:"Inserisci un valore",showFieldList:"Mostra elenco campi",editCalculation:"Modifica calcolo",viewsAndReports:"Viste e rapporti salvati",views:"Viste",saveChangesOverwrite:"Salva modifiche (Sovrascrivi)",saveAsCopy:"Salva con nome (Copia)",makeDefault:"Rendi predefinito",deleteReport:"Elimina rapporto",deleteReportConfirm:"Sei sicuro di voler eliminare il rapporto '{0}'?",customExports:"Esportazioni personalizzate",customPlugin:"Plugin personalizzato",importCancelled:"Importazione annullata.",importPreviewTitle:"Anteprima importazione",importPreviewSubtitle:"Verranno importate {rows} righe \u2022 {cols} colonne",importPreviewFooter:"Controlla colonne e tipi, poi conferma.",columns:"Colonne",includeColumn:"Includi questa colonna",dataPreview:"Anteprima dati",applyImport:"Importa",type_string:"Testo",type_number:"Numero",type_date:"Data",type_boolean:"Booleano",reading:"Lettura del file\u2026",parsing:"Analisi\u2026",typing:"Rilevamento tipi\u2026",finalizing:"Completamento\u2026",measureNamePlaceholder:"es. Margine di profitto",customFormat:"Personalizzato\u2026",customPrefix:"Prefisso",customSuffix:"Suffisso",minFraction:"Dec. min",maxFraction:"Dec. max",calculationLevel:"Livello di calcolo",calcRowLevel:"Livello riga (dati grezzi)",calcSummaryLevel:"Livello riepilogo (aggregato)",fields:"Campi",noFieldsFound:"Nessun campo idoneo per questo livello.",deleteCalcField:"Elimina campo calcolato",formula:"Formula",formulaPlaceholder:"es. [Ricavi] - [Costi]",saveAndAdd:"Salva e aggiungi",measureNameEmpty:"Il nome del campo \xE8 obbligatorio.",formulaEmpty:"La formula \xE8 obbligatoria.",formulaError:"Errore di formula",error:"Errore",systemError:"Si \xE8 verificato un errore imprevisto",saveReport:"Salva report",saveReportDescription:"Salva i campi e il layout correnti come vista denominata.",reportName:"Nome report",reportNamePlaceholder:"es.: Analisi vendite mensile",setAsDefault:"Imposta come predefinito",save:"Salva",enterFullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",print:"Stampa",sendToPrinter:"Invia alla stampante",copyToClipboard:"Copia negli appunti",tabSeparatedValues:"Valori separati da tabulazioni",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Funzione Enterprise \u2014 fai clic per l'upgrade",dataImportUnsupported:"Questa griglia non accetta dati importati. \xC8 stata aggiornata solo la vista.",columnFilter:"Filtro colonna",percentOfColumnTotal:"% del totale colonna",percentOfRowTotal:"% del totale riga",percentDifference:"% differenza",filterField:"Filtra campo",removeFromArea:"Rimuovi dall'area",removeField:"Rimuovi campo",deletePermanently:"Elimina definitivamente",exportCsv:"Esporta in CSV",pagerPage:"Pagina",pagerOf:"di",pagerPrevious:"Pagina precedente",pagerNext:"Pagina successiva",drillDown:"Dettaglio",drillDownRecords:"Record: {count}",exportGeneratedOn:"Generato il",calcRowLevelHint:"Calcolato per ogni riga sorgente, poi aggregato come qualsiasi altra misura.",calcSummaryLevelHint:"Calcolato dalle celle aggregate, dopo che il pivot ha sommato.",formulaValid:"La formula \xE8 valida",calcFieldsHint:"Fai clic su un campo per inserirlo nella formula.",formulaUses:"Usa: {fields}",licenseMissing:"Senza licenza",licenseExpired:"Licenza scaduta",licenseReleaseNotCovered:"Questa versione non \xE8 coperta dalla licenza",licenseDomainMismatch:"Licenza non valida per questo dominio",licenseRevoked:"Licenza revocata",licenseInvalidFormat:"Chiave di licenza malformata",licenseInvalidSignature:"Firma della licenza non valida",licenseEngineUnavailable:"Il browser non pu\xF2 verificare la licenza (HTTPS richiesto)"},Yu={ok:"OK",cancel:"Cancelar",apply:"Aplicar",close:"Fechar",search:"Pesquisar...",selectAll:"Selecionar tudo",clearAll:"Limpar tudo",show:"Mostrar",hide:"Ocultar",filterArea:"\xC1rea de filtro",columnArea:"Colunas",rowArea:"Linhas",dataArea:"Valores",footerArea:"\xC1rea do rodap\xE9",allFields:"Todos os campos",dropHere:"Soltar aqui",actions:"A\xE7\xF5es",saveNewView:"Salvar nova exibi\xE7\xE3o",saveAsView:"Salvar como",saveChanges:"Salvar altera\xE7\xF5es",savedViews:"Exibi\xE7\xF5es salvas",viewOptions:"Op\xE7\xF5es de exibi\xE7\xE3o",export:"Exportar",importFile:"Importar",importFromFile:"De arquivo",pasteImport:"Importar da \xE1rea de transfer\xEAncia",pasteImportHint:"Separado por tabula\xE7\xE3o ou v\xEDrgula",dropToImport:"Solte os arquivos aqui para importar",clipboardEmpty:"Nenhum texto import\xE1vel encontrado na \xE1rea de transfer\xEAncia.",clipboardDenied:"N\xE3o foi poss\xEDvel acessar a \xE1rea de transfer\xEAncia. Verifique as permiss\xF5es do navegador.",excelExport:"Exporta\xE7\xE3o para Excel",pivotView:"Exibi\xE7\xE3o din\xE2mica",listView:"Exibi\xE7\xE3o de lista",preservesGridLayout:"Preserva o layout da grade",rawFlatData:"Dados brutos planos",document:"Documento",pdfDocument:"Documento PDF",printReadyLayout:"Layout pronto para impress\xE3o",fullSnapshot:"Instant\xE2neo completo",saveSessionState:"Salvar o estado da sess\xE3o",rawDataFormats:"Formatos de dados brutos",importSuccess:"Importado com sucesso",importWarning:"Conclu\xEDdo com avisos",importError:"Falha na importa\xE7\xE3o",initializing:"Inicializando...",loading:"Carregando...",emptyData:"Nenhum dado encontrado",noItems:"Nenhum item encontrado",blanks:"(Em branco)",loadingData:"Por favor, aguarde, preparando dados...",processing:"Processando...",fieldSettings:"Configura\xE7\xF5es do campo",caption:"Legenda",summaryType:"Tipo de resumo",displayMode:"Modo de exibi\xE7\xE3o",groupInterval:"Intervalo de grupo",sum:"Soma",count:"Contagem",avg:"M\xE9dia",min:"M\xEDn",max:"M\xE1x",grandTotal:"Total geral",subTotal:"Subtotal",absoluteValue:"Valor absoluto",runningTotal:"Total acumulado",difference:"Diferen\xE7a",percentOfTotal:"% do total",none:"Nenhum",year:"Ano",quarter:"Trimestre",month:"M\xEAs",day:"Dia",and:"E",or:"Ou",noConditionsAdded:"Nenhuma condi\xE7\xE3o adicionada...",calculatedMeasureDesigner:"Designer de medidas calculadas",createFormulasWithoutCode:"Crie f\xF3rmulas e c\xE1lculos sem escrever c\xF3digo.",measureName:"Nome da medida",format:"Formato",numericStandard:"Num\xE9rico (Padr\xE3o)",numericDecimal:"Num\xE9rico (Decimal 1.486,15)",currencyTRY:"Moeda (TRY)",currencyUSD:"Moeda (USD)",percent:"Porcentagem (%)",expand:"Expandir",collapse:"Recolher",expandAll:"Expandir tudo",refreshData:"Atualizar dados",filterBuilder:"Construtor de filtros",chartToggle:"Alternar visualiza\xE7\xE3o de gr\xE1fico",collapseAll:"Recolher tudo",sortByThisColumn:"Classificar por esta coluna",sortFieldByThisColumn:'Classificar "{0}" por esta coluna',removeAllSorting:"Remover todas as classifica\xE7\xF5es",sortAsc:"Classificar de A a Z",sortDesc:"Classificar de Z a A",clearSort:"Limpar classifica\xE7\xE3o",order:"Ordem",moveToStart:"Mover para o in\xEDcio",moveToEnd:"Mover para o fim",moveToLeft:"Mover para a esquerda",moveToRight:"Mover para a direita",fieldChipLabel:"{0}, {1}, {2} de {3}",fieldChipKeys:"Enter ordena. Ctrl+Seta move o campo, Ctrl+Home/End move para o in\xEDcio ou o fim, Delete remove, Shift+F10 abre o menu.",moveToArea:"Mover para",opEquals:"\xE9",opNotEquals:"n\xE3o \xE9",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"cont\xE9m",opNotContains:"n\xE3o cont\xE9m",opStartsWith:"come\xE7a por",opEndsWith:"termina em",opIsBlank:"est\xE1 em branco",opIsNotBlank:"n\xE3o est\xE1 em branco",builderCombine:"Combinar condi\xE7\xF5es com",builderAddCondition:"Adicionar condi\xE7\xE3o",builderAddGroup:"Adicionar grupo",builderRemoveGroup:"Remover grupo",builderRemoveCondition:"Remover condi\xE7\xE3o",builderEmpty:"Ainda n\xE3o h\xE1 condi\xE7\xF5es.",builderValuePlaceholder:"Introduza um valor",showFieldList:"Mostrar lista de campos",editCalculation:"Editar c\xE1lculo",viewsAndReports:"Exibi\xE7\xF5es e relat\xF3rios salvos",views:"Exibi\xE7\xF5es",saveChangesOverwrite:"Salvar altera\xE7\xF5es (Substituir)",saveAsCopy:"Salvar como (C\xF3pia)",makeDefault:"Tornar padr\xE3o",deleteReport:"Excluir relat\xF3rio",deleteReportConfirm:"Tem certeza de que deseja excluir o relat\xF3rio '{0}'?",customExports:"Exporta\xE7\xF5es personalizadas",customPlugin:"Plugin personalizado",importCancelled:"Importa\xE7\xE3o cancelada.",importPreviewTitle:"Pr\xE9-visualiza\xE7\xE3o da importa\xE7\xE3o",importPreviewSubtitle:"{rows} linhas \u2022 {cols} colunas ser\xE3o importadas",importPreviewFooter:"Revise as colunas e os tipos e confirme.",columns:"Colunas",includeColumn:"Incluir esta coluna",dataPreview:"Pr\xE9-visualiza\xE7\xE3o dos dados",applyImport:"Importar",type_string:"Texto",type_number:"N\xFAmero",type_date:"Data",type_boolean:"Booleano",reading:"Lendo o arquivo\u2026",parsing:"Analisando\u2026",typing:"Detectando tipos\u2026",finalizing:"Finalizando\u2026",measureNamePlaceholder:"ex.: Margem de lucro",customFormat:"Personalizado\u2026",customPrefix:"Prefixo",customSuffix:"Sufixo",minFraction:"Dec. m\xEDn.",maxFraction:"Dec. m\xE1x.",calculationLevel:"N\xEDvel de c\xE1lculo",calcRowLevel:"N\xEDvel de linha (dados brutos)",calcSummaryLevel:"N\xEDvel de resumo (agregado)",fields:"Campos",noFieldsFound:"Nenhum campo eleg\xEDvel para este n\xEDvel.",deleteCalcField:"Excluir campo calculado",formula:"F\xF3rmula",formulaPlaceholder:"ex.: [Receita] - [Custo]",saveAndAdd:"Salvar e adicionar",measureNameEmpty:"O nome do campo \xE9 obrigat\xF3rio.",formulaEmpty:"A f\xF3rmula \xE9 obrigat\xF3ria.",formulaError:"Erro de f\xF3rmula",error:"Erro",systemError:"Ocorreu um erro inesperado",saveReport:"Salvar relat\xF3rio",saveReportDescription:"Salve os campos e o layout atuais como uma exibi\xE7\xE3o nomeada.",reportName:"Nome do relat\xF3rio",reportNamePlaceholder:"ex.: An\xE1lise de vendas mensal",setAsDefault:"Definir como padr\xE3o",save:"Salvar",enterFullscreen:"Tela cheia",exitFullscreen:"Sair da tela cheia",print:"Imprimir",sendToPrinter:"Enviar para a impressora",copyToClipboard:"Copiar para a \xE1rea de transfer\xEAncia",tabSeparatedValues:"Valores separados por tabula\xE7\xE3o",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Recurso Enterprise \u2014 clique para fazer upgrade",dataImportUnsupported:"Esta grade n\xE3o aceita dados importados. Apenas a exibi\xE7\xE3o foi atualizada.",columnFilter:"Filtro de coluna",percentOfColumnTotal:"% do total da coluna",percentOfRowTotal:"% do total da linha",percentDifference:"% de diferen\xE7a",filterField:"Filtrar campo",removeFromArea:"Remover da \xE1rea",removeField:"Remover campo",deletePermanently:"Excluir permanentemente",exportCsv:"Exportar para CSV",pagerPage:"P\xE1gina",pagerOf:"de",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina seguinte",drillDown:"Detalhe",drillDownRecords:"Registros: {count}",exportGeneratedOn:"Gerado em",calcRowLevelHint:"Calculado para cada linha de origem e depois agregado como qualquer outra medida.",calcSummaryLevelHint:"Calculado a partir das c\xE9lulas agregadas, depois que o piv\xF4 somou.",formulaValid:"A f\xF3rmula \xE9 v\xE1lida",calcFieldsHint:"Clique em um campo para inseri-lo na f\xF3rmula.",formulaUses:"Usa: {fields}",licenseMissing:"Sem licen\xE7a",licenseExpired:"Licen\xE7a expirada",licenseReleaseNotCovered:"Esta vers\xE3o n\xE3o \xE9 coberta pela licen\xE7a",licenseDomainMismatch:"Licen\xE7a n\xE3o v\xE1lida para este dom\xEDnio",licenseRevoked:"Licen\xE7a revogada",licenseInvalidFormat:"Chave de licen\xE7a malformada",licenseInvalidSignature:"Assinatura da licen\xE7a inv\xE1lida",licenseEngineUnavailable:"O navegador n\xE3o consegue verificar a licen\xE7a (HTTPS necess\xE1rio)"},Xu={ok:"\u041E\u041A",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",search:"\u041F\u043E\u0438\u0441\u043A...",selectAll:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",clearAll:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435",show:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",hide:"\u0421\u043A\u0440\u044B\u0442\u044C",filterArea:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u0430",columnArea:"\u041A\u043E\u043B\u043E\u043D\u043A\u0438",rowArea:"\u0421\u0442\u0440\u043E\u043A\u0438",dataArea:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F",footerArea:"\u041D\u0438\u0436\u043D\u0438\u0439 \u043A\u043E\u043B\u043E\u043D\u0442\u0438\u0442\u0443\u043B",allFields:"\u0412\u0441\u0435 \u043F\u043E\u043B\u044F",dropHere:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430",actions:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F",saveNewView:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0432\u0438\u0434",saveAsView:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A",saveChanges:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",savedViews:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u0432\u0438\u0434\u044B",viewOptions:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430",export:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442",importFile:"\u0418\u043C\u043F\u043E\u0440\u0442",importFromFile:"\u0418\u0437 \u0444\u0430\u0439\u043B\u0430",pasteImport:"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430",pasteImportHint:"\u0421 \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435\u043C \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0435\u0439 \u0438\u043B\u0438 \u0437\u0430\u043F\u044F\u0442\u043E\u0439",dropToImport:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430",clipboardEmpty:"\u0412 \u0431\u0443\u0444\u0435\u0440\u0435 \u043E\u0431\u043C\u0435\u043D\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430.",clipboardDenied:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0431\u0443\u0444\u0435\u0440\u0443 \u043E\u0431\u043C\u0435\u043D\u0430. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.",excelExport:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 Excel",pivotView:"\u0421\u0432\u043E\u0434\u043D\u044B\u0439 \u0432\u0438\u0434",listView:"\u0412\u0438\u0434 \u0441\u043F\u0438\u0441\u043A\u0430",preservesGridLayout:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442 \u043C\u0430\u043A\u0435\u0442 \u0441\u0435\u0442\u043A\u0438",rawFlatData:"\u0421\u044B\u0440\u044B\u0435 \u043F\u043B\u043E\u0441\u043A\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435",document:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442",pdfDocument:"PDF-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442",printReadyLayout:"\u041C\u0430\u043A\u0435\u0442 \u0434\u043B\u044F \u043F\u0435\u0447\u0430\u0442\u0438",fullSnapshot:"\u041F\u043E\u043B\u043D\u044B\u0439 \u0441\u043D\u0438\u043C\u043E\u043A",saveSessionState:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0435\u0430\u043D\u0441\u0430",rawDataFormats:"\u0424\u043E\u0440\u043C\u0430\u0442\u044B \u0441\u044B\u0440\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445",importSuccess:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E",importWarning:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E \u0441 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u044F\u043C\u0438",importError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430",initializing:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F...",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",emptyData:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noItems:"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",blanks:"(\u041F\u0443\u0441\u0442\u043E)",loadingData:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435, \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0434\u0433\u043E\u0442\u0430\u0432\u043B\u0438\u0432\u0430\u044E\u0442\u0441\u044F...",processing:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430...",fieldSettings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E\u043B\u044F",caption:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",summaryType:"\u0422\u0438\u043F \u0438\u0442\u043E\u0433\u0430",displayMode:"\u0420\u0435\u0436\u0438\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",groupInterval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",sum:"\u0421\u0443\u043C\u043C\u0430",count:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E",avg:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435",min:"\u041C\u0438\u043D",max:"\u041C\u0430\u043A\u0441",grandTotal:"\u041E\u0431\u0449\u0438\u0439 \u0438\u0442\u043E\u0433",subTotal:"\u041F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u0447\u043D\u044B\u0439 \u0438\u0442\u043E\u0433",absoluteValue:"\u0410\u0431\u0441\u043E\u043B\u044E\u0442\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",runningTotal:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0443\u043C\u043C\u0430",difference:"\u0420\u0430\u0437\u043D\u0438\u0446\u0430",percentOfTotal:"% \u043E\u0442 \u043E\u0431\u0449\u0435\u0433\u043E \u0438\u0442\u043E\u0433\u0430",none:"\u041D\u0435\u0442",year:"\u0413\u043E\u0434",quarter:"\u041A\u0432\u0430\u0440\u0442\u0430\u043B",month:"\u041C\u0435\u0441\u044F\u0446",day:"\u0414\u0435\u043D\u044C",and:"\u0418",or:"\u0418\u043B\u0438",noConditionsAdded:"\u0423\u0441\u043B\u043E\u0432\u0438\u044F \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B...",calculatedMeasureDesigner:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0445 \u043C\u0435\u0440",createFormulasWithoutCode:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0438 \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F \u0431\u0435\u0437 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043A\u043E\u0434\u0430.",measureName:"\u0418\u043C\u044F \u043C\u0435\u0440\u044B",format:"\u0424\u043E\u0440\u043C\u0430\u0442",numericStandard:"\u0427\u0438\u0441\u043B\u043E\u0432\u043E\u0439 (\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439)",numericDecimal:"\u0427\u0438\u0441\u043B\u043E\u0432\u043E\u0439 (\u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0439 1.486,15)",currencyTRY:"\u0412\u0430\u043B\u044E\u0442\u0430 (TRY)",currencyUSD:"\u0412\u0430\u043B\u044E\u0442\u0430 (USD)",percent:"\u041F\u0440\u043E\u0446\u0435\u043D\u0442 (%)",expand:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C",collapse:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C",expandAll:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",refreshData:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",filterBuilder:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",chartToggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B",collapseAll:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",sortByThisColumn:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443",sortFieldByThisColumn:'\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C "{0}" \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443',removeAllSorting:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438",sortAsc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u0410 \u0434\u043E \u042F",sortDesc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u042F \u0434\u043E \u0410",clearSort:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443",order:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A",moveToStart:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u043D\u0430\u0447\u0430\u043B\u043E",moveToEnd:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u043A\u043E\u043D\u0435\u0446",moveToLeft:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043B\u0435\u0432\u043E",moveToRight:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E",fieldChipLabel:"{0}, {1}, {2} \u0438\u0437 {3}",fieldChipKeys:"Enter \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442. Ctrl+\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0435\u0442 \u043F\u043E\u043B\u0435, Ctrl+Home/End \u2014 \u0432 \u043D\u0430\u0447\u0430\u043B\u043E \u0438\u043B\u0438 \u043A\u043E\u043D\u0435\u0446, Delete \u0443\u0434\u0430\u043B\u044F\u0435\u0442, Shift+F10 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043C\u0435\u043D\u044E.",moveToArea:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432",opEquals:"\u0440\u0430\u0432\u043D\u043E",opNotEquals:"\u043D\u0435 \u0440\u0430\u0432\u043D\u043E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opNotContains:"\u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opStartsWith:"\u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0441",opEndsWith:"\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043D\u0430",opIsBlank:"\u043F\u0443\u0441\u0442\u043E",opIsNotBlank:"\u043D\u0435 \u043F\u0443\u0441\u0442\u043E",builderCombine:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u043E\u043C",builderAddCondition:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderAddGroup:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveGroup:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveCondition:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderEmpty:"\u0423\u0441\u043B\u043E\u0432\u0438\u0439 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442.",builderValuePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",showFieldList:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u0435\u0439",editCalculation:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0435",viewsAndReports:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u0432\u0438\u0434\u044B \u0438 \u043E\u0442\u0447\u0435\u0442\u044B",views:"\u0412\u0438\u0434\u044B",saveChangesOverwrite:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F (\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C)",saveAsCopy:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A (\u041A\u043E\u043F\u0438\u044F)",makeDefault:"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",deleteReport:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0442\u0447\u0435\u0442",deleteReportConfirm:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0442\u0447\u0435\u0442 '{0}'?",customExports:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442",customPlugin:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u043F\u043B\u0430\u0433\u0438\u043D",importCancelled:"\u0418\u043C\u043F\u043E\u0440\u0442 \u043E\u0442\u043C\u0435\u043D\u0451\u043D.",importPreviewTitle:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u043C\u043F\u043E\u0440\u0442\u0430",importPreviewSubtitle:"\u0411\u0443\u0434\u0435\u0442 \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0441\u0442\u0440\u043E\u043A: {rows} \u2022 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432: {cols}",importPreviewFooter:"\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B \u0438 \u0442\u0438\u043F\u044B, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435.",columns:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B",includeColumn:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",dataPreview:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0434\u0430\u043D\u043D\u044B\u0445",applyImport:"\u0418\u043C\u043F\u043E\u0440\u0442",type_string:"\u0422\u0435\u043A\u0441\u0442",type_number:"\u0427\u0438\u0441\u043B\u043E",type_date:"\u0414\u0430\u0442\u0430",type_boolean:"\u041B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u0439",reading:"\u0427\u0442\u0435\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u0430\u2026",parsing:"\u0420\u0430\u0437\u0431\u043E\u0440\u2026",typing:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0438\u043F\u043E\u0432\u2026",finalizing:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435\u2026",measureNamePlaceholder:"\u043D\u0430\u043F\u0440. \u041C\u0430\u0440\u0436\u0430 \u043F\u0440\u0438\u0431\u044B\u043B\u0438",customFormat:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439\u2026",customPrefix:"\u041F\u0440\u0435\u0444\u0438\u043A\u0441",customSuffix:"\u0421\u0443\u0444\u0444\u0438\u043A\u0441",minFraction:"\u041C\u0438\u043D. \u0434\u0440\u043E\u0431.",maxFraction:"\u041C\u0430\u043A\u0441. \u0434\u0440\u043E\u0431.",calculationLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F",calcRowLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0441\u0442\u0440\u043E\u043A\u0438 (\u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435)",calcSummaryLevel:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0441\u0432\u043E\u0434\u043A\u0438 (\u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435)",fields:"\u041F\u043E\u043B\u044F",noFieldsFound:"\u041D\u0435\u0442 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0445 \u043F\u043E\u043B\u0435\u0439 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F.",deleteCalcField:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u043E\u0435 \u043F\u043E\u043B\u0435",formula:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430",formulaPlaceholder:"\u043D\u0430\u043F\u0440. [\u0412\u044B\u0440\u0443\u0447\u043A\u0430] - [\u0417\u0430\u0442\u0440\u0430\u0442\u044B]",saveAndAdd:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C",measureNameEmpty:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0438\u043C\u044F \u043F\u043E\u043B\u044F.",formulaEmpty:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u0430.",formulaError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0444\u043E\u0440\u043C\u0443\u043B\u044B",error:"\u041E\u0448\u0438\u0431\u043A\u0430",systemError:"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",saveReport:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043E\u0442\u0447\u0451\u0442",saveReportDescription:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u043F\u043E\u043B\u044F \u0438 \u043C\u0430\u043A\u0435\u0442 \u043A\u0430\u043A \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435.",reportName:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0442\u0447\u0451\u0442\u0430",reportNamePlaceholder:"\u043D\u0430\u043F\u0440.: \u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u0434\u0430\u0436",setAsDefault:"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",enterFullscreen:"\u0412\u043E \u0432\u0435\u0441\u044C \u044D\u043A\u0440\u0430\u043D",exitFullscreen:"\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430",print:"\u041F\u0435\u0447\u0430\u0442\u044C",sendToPrinter:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043D\u0430 \u043F\u0440\u0438\u043D\u0442\u0435\u0440",copyToClipboard:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",tabSeparatedValues:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F, \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0435 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0435\u0439",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"\u0424\u0443\u043D\u043A\u0446\u0438\u044F Enterprise \u2014 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",dataImportUnsupported:"\u042D\u0442\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430 \u043D\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435. \u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435.",columnFilter:"\u0424\u0438\u043B\u044C\u0442\u0440 \u0441\u0442\u043E\u043B\u0431\u0446\u0430",percentOfColumnTotal:"% \u043E\u0442 \u0438\u0442\u043E\u0433\u0430 \u0441\u0442\u043E\u043B\u0431\u0446\u0430",percentOfRowTotal:"% \u043E\u0442 \u0438\u0442\u043E\u0433\u0430 \u0441\u0442\u0440\u043E\u043A\u0438",percentDifference:"% \u0440\u0430\u0437\u043D\u0438\u0446\u044B",filterField:"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043B\u0435",removeFromArea:"\u0423\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u043E\u0431\u043B\u0430\u0441\u0442\u0438",removeField:"\u0423\u0431\u0440\u0430\u0442\u044C \u043F\u043E\u043B\u0435",deletePermanently:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430",exportCsv:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV",pagerPage:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerOf:"\u0438\u0437",pagerPrevious:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerNext:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",drillDown:"\u0414\u0435\u0442\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F",drillDownRecords:"\u0417\u0430\u043F\u0438\u0441\u0435\u0439: {count}",exportGeneratedOn:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E",calcRowLevelHint:"\u0412\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438, \u0437\u0430\u0442\u0435\u043C \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043B\u044E\u0431\u0430\u044F \u0434\u0440\u0443\u0433\u0430\u044F \u043C\u0435\u0440\u0430.",calcSummaryLevelHint:"\u0412\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u043C \u044F\u0447\u0435\u0439\u043A\u0430\u043C, \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E \u043A\u0430\u043A \u0441\u0432\u043E\u0434\u043D\u0430\u044F \u0442\u0430\u0431\u043B\u0438\u0446\u0430 \u043F\u0440\u043E\u0441\u0443\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043B\u0430.",formulaValid:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0430",calcFieldsHint:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043D\u0430 \u043F\u043E\u043B\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0435\u0433\u043E \u0432 \u0444\u043E\u0440\u043C\u0443\u043B\u0443.",formulaUses:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442: {fields}",licenseMissing:"\u0411\u0435\u0437 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseExpired:"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0451\u043A",licenseReleaseNotCovered:"\u042D\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044F \u043D\u0435 \u043F\u043E\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439",licenseDomainMismatch:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0434\u043E\u043C\u0435\u043D\u0430",licenseRevoked:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043E\u0442\u043E\u0437\u0432\u0430\u043D\u0430",licenseInvalidFormat:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430",licenseInvalidSignature:"\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseEngineUnavailable:"\u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F HTTPS)"},Zu={ok:"\u0645\u0648\u0627\u0641\u0642",cancel:"\u0625\u0644\u063A\u0627\u0621",apply:"\u062A\u0637\u0628\u064A\u0642",close:"\u0625\u063A\u0644\u0627\u0642",search:"\u0628\u062D\u062B...",selectAll:"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644",clearAll:"\u0645\u0633\u062D \u0627\u0644\u0643\u0644",show:"\u0639\u0631\u0636",hide:"\u0625\u062E\u0641\u0627\u0621",filterArea:"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",columnArea:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",rowArea:"\u0627\u0644\u0635\u0641\u0648\u0641",dataArea:"\u0627\u0644\u0642\u064A\u0645",footerArea:"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u062A\u0630\u064A\u064A\u0644",allFields:"\u062C\u0645\u064A\u0639 \u0627\u0644\u062D\u0642\u0648\u0644",dropHere:"\u0623\u0641\u0644\u062A \u0647\u0646\u0627",actions:"\u0627\u0644\u0625\u062C\u0631\u0627\u0621\u0627\u062A",saveNewView:"\u062D\u0641\u0638 \u0639\u0631\u0636 \u062C\u062F\u064A\u062F",saveAsView:"\u062D\u0641\u0638 \u0628\u0627\u0633\u0645",saveChanges:"\u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A",savedViews:"\u0627\u0644\u0639\u0631\u0648\u0636 \u0627\u0644\u0645\u062D\u0641\u0648\u0638\u0629",viewOptions:"\u062E\u064A\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0636",export:"\u062A\u0635\u062F\u064A\u0631",importFile:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F",importFromFile:"\u0645\u0646 \u0645\u0644\u0641",pasteImport:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0645\u0646 \u0627\u0644\u062D\u0627\u0641\u0638\u0629",pasteImportHint:"\u0645\u0641\u0635\u0648\u0644 \u0628\u0639\u0644\u0627\u0645\u0629 \u062C\u062F\u0648\u0644\u0629 \u0623\u0648 \u0641\u0627\u0635\u0644\u0629",dropToImport:"\u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",clipboardEmpty:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0646\u0635 \u0642\u0627\u0628\u0644 \u0644\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0641\u064A \u0627\u0644\u062D\u0627\u0641\u0638\u0629.",clipboardDenied:"\u062A\u0639\u0630\u0631 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629. \u064A\u0631\u062C\u0649 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0623\u0630\u0648\u0646\u0627\u062A \u0627\u0644\u0645\u062A\u0635\u0641\u062D.",excelExport:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 Excel",pivotView:"\u0639\u0631\u0636 \u0645\u062D\u0648\u0631\u064A",listView:"\u0639\u0631\u0636 \u0627\u0644\u0642\u0627\u0626\u0645\u0629",preservesGridLayout:"\u064A\u062D\u0627\u0641\u0638 \u0639\u0644\u0649 \u062A\u062E\u0637\u064A\u0637 \u0627\u0644\u0634\u0628\u0643\u0629",rawFlatData:"\u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062E\u0627\u0645",document:"\u0645\u0633\u062A\u0646\u062F",pdfDocument:"\u0645\u0633\u062A\u0646\u062F PDF",printReadyLayout:"\u062A\u062E\u0637\u064A\u0637 \u062C\u0627\u0647\u0632 \u0644\u0644\u0637\u0628\u0627\u0639\u0629",fullSnapshot:"\u0644\u0642\u0637\u0629 \u0643\u0627\u0645\u0644\u0629",saveSessionState:"\u062D\u0641\u0638 \u062D\u0627\u0644\u0629 \u0627\u0644\u062C\u0644\u0633\u0629",rawDataFormats:"\u062A\u0646\u0633\u064A\u0642\u0627\u062A \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062E\u0627\u0645",importSuccess:"\u062A\u0645 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0628\u0646\u062C\u0627\u062D",importWarning:"\u0627\u0643\u062A\u0645\u0644 \u0645\u0639 \u062A\u062D\u0630\u064A\u0631\u0627\u062A",importError:"\u0641\u0634\u0644 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",initializing:"\u062C\u0627\u0631\u064A \u0627\u0644\u062A\u0647\u064A\u0626\u0629...",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644...",emptyData:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A",noItems:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0639\u0646\u0627\u0635\u0631",blanks:"(\u0641\u0627\u0631\u063A)",loadingData:"\u064A\u0631\u062C\u0649 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631\u060C \u062C\u0627\u0631\u064A \u062A\u062D\u0636\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A...",processing:"\u062C\u0627\u0631\u064A \u0627\u0644\u0645\u0639\u0627\u0644\u062C\u0629...",fieldSettings:"\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u062D\u0642\u0644",caption:"\u0627\u0644\u062A\u0633\u0645\u064A\u0629 \u0627\u0644\u062A\u0648\u0636\u064A\u062D\u064A\u0629",summaryType:"\u0646\u0648\u0639 \u0627\u0644\u0645\u0644\u062E\u0635",displayMode:"\u0648\u0636\u0639 \u0627\u0644\u0639\u0631\u0636",groupInterval:"\u0627\u0644\u0641\u0627\u0635\u0644 \u0627\u0644\u0632\u0645\u0646\u064A \u0644\u0644\u0645\u062C\u0645\u0648\u0639\u0629",sum:"\u0645\u062C\u0645\u0648\u0639",count:"\u0627\u0644\u0639\u062F\u062F",avg:"\u0645\u062A\u0648\u0633\u0637",min:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649",max:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649",grandTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",subTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0641\u0631\u0639\u064A",absoluteValue:"\u0642\u064A\u0645\u0629 \u0645\u0637\u0644\u0642\u0629",runningTotal:"\u0627\u0644\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u062A\u0631\u0627\u0643\u0645\u064A",difference:"\u0627\u0644\u0641\u0631\u0642",percentOfTotal:"\u066A \u0645\u0646 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",none:"\u0628\u0644\u0627",year:"\u0633\u0646\u0629",quarter:"\u0631\u0628\u0639",month:"\u0634\u0647\u0631",day:"\u064A\u0648\u0645",and:"\u0648",or:"\u0623\u0648",noConditionsAdded:"\u0644\u0645 \u064A\u062A\u0645 \u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0648\u0637...",calculatedMeasureDesigner:"\u0645\u0635\u0645\u0645 \u0627\u0644\u0645\u0642\u0627\u064A\u064A\u0633 \u0627\u0644\u0645\u062D\u0633\u0648\u0628\u0629",createFormulasWithoutCode:"\u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0635\u064A\u063A \u0648\u0627\u0644\u062D\u0633\u0627\u0628\u0627\u062A \u0628\u062F\u0648\u0646 \u0643\u062A\u0627\u0628\u0629 \u0643\u0648\u062F.",measureName:"\u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u064A\u0627\u0633",format:"\u0627\u0644\u062A\u0646\u0633\u064A\u0642",numericStandard:"\u0631\u0642\u0645\u064A (\u0642\u064A\u0627\u0633\u064A)",numericDecimal:"\u0631\u0642\u0645\u064A (\u0639\u0634\u0631\u064A 1,486.15)",currencyTRY:"\u0627\u0644\u0639\u0645\u0644\u0629 (\u0644\u064A\u0631\u0629 \u062A\u0631\u0643\u064A\u0629)",currencyUSD:"\u0627\u0644\u0639\u0645\u0644\u0629 (\u062F\u0648\u0644\u0627\u0631 \u0623\u0645\u0631\u064A\u0643\u064A)",percent:"\u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064A\u0629 (%)",expand:"\u062A\u0648\u0633\u064A\u0639",collapse:"\u0637\u064A",expandAll:"\u062A\u0648\u0633\u064A\u0639 \u0627\u0644\u0643\u0644",refreshData:"\u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",filterBuilder:"\u0645\u0646\u0634\u0626 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",chartToggle:"\u062A\u0628\u062F\u064A\u0644 \u0639\u0631\u0636 \u0627\u0644\u0645\u062E\u0637\u0637",collapseAll:"\u0637\u064A \u0627\u0644\u0643\u0644",sortByThisColumn:"\u0627\u0644\u0641\u0631\u0632 \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",sortFieldByThisColumn:'\u0641\u0631\u0632 "{0}" \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F',removeAllSorting:"\u0625\u0632\u0627\u0644\u0629 \u0643\u0644 \u0627\u0644\u0641\u0631\u0632",sortAsc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u0623 \u0625\u0644\u0649 \u064A",sortDesc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u064A \u0625\u0644\u0649 \u0623",clearSort:"\u0645\u0633\u062D \u0627\u0644\u0641\u0631\u0632",order:"\u0627\u0644\u062A\u0631\u062A\u064A\u0628",moveToStart:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0628\u062F\u0627\u064A\u0629",moveToEnd:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0646\u0647\u0627\u064A\u0629",moveToLeft:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0633\u0627\u0631",moveToRight:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0645\u064A\u0646",fieldChipLabel:"{0}\u060C {1}\u060C {2} \u0645\u0646 {3}",fieldChipKeys:"Enter \u0644\u0644\u0641\u0631\u0632. Ctrl+\u0633\u0647\u0645 \u0644\u0646\u0642\u0644 \u0627\u0644\u062D\u0642\u0644\u060C Ctrl+Home/End \u0644\u0644\u0646\u0642\u0644 \u0625\u0644\u0649 \u0627\u0644\u0628\u062F\u0627\u064A\u0629 \u0623\u0648 \u0627\u0644\u0646\u0647\u0627\u064A\u0629\u060C Delete \u0644\u0644\u0625\u0632\u0627\u0644\u0629\u060C Shift+F10 \u0644\u0641\u062A\u062D \u0627\u0644\u0642\u0627\u0626\u0645\u0629.",moveToArea:"\u0646\u0642\u0644 \u0625\u0644\u0649",opEquals:"\u064A\u0633\u0627\u0648\u064A",opNotEquals:"\u0644\u0627 \u064A\u0633\u0627\u0648\u064A",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opNotContains:"\u0644\u0627 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opStartsWith:"\u064A\u0628\u062F\u0623 \u0628\u0640",opEndsWith:"\u064A\u0646\u062A\u0647\u064A \u0628\u0640",opIsBlank:"\u0641\u0627\u0631\u063A",opIsNotBlank:"\u063A\u064A\u0631 \u0641\u0627\u0631\u063A",builderCombine:"\u062F\u0645\u062C \u0627\u0644\u0634\u0631\u0648\u0637 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645",builderAddCondition:"\u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0637",builderAddGroup:"\u0625\u0636\u0627\u0641\u0629 \u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveGroup:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveCondition:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0634\u0631\u0637",builderEmpty:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0634\u0631\u0648\u0637 \u0628\u0639\u062F.",builderValuePlaceholder:"\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629",showFieldList:"\u0625\u0638\u0647\u0627\u0631 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062D\u0642\u0648\u0644",editCalculation:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0639\u0645\u0644\u064A\u0629 \u0627\u0644\u062D\u0633\u0627\u0628\u064A\u0629",viewsAndReports:"\u0627\u0644\u0639\u0631\u0648\u0636 \u0648\u0627\u0644\u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0645\u062D\u0641\u0648\u0638\u0629",views:"\u0627\u0644\u0639\u0631\u0648\u0636",saveChangesOverwrite:"\u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A (\u0627\u0633\u062A\u0628\u062F\u0627\u0644)",saveAsCopy:"\u062D\u0641\u0638 \u0628\u0627\u0633\u0645 (\u0646\u0633\u062E\u0629)",makeDefault:"\u062A\u0639\u064A\u064A\u0646 \u0643\u0627\u0641\u062A\u0631\u0627\u0636\u064A",deleteReport:"\u062D\u0630\u0641 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",deleteReportConfirm:"\u0647\u0644 \u0623\u0646\u062A \u0645\u062A\u0623\u0643\u062F \u0623\u0646\u0643 \u062A\u0631\u064A\u062F \u062D\u0630\u0641 \u0627\u0644\u062A\u0642\u0631\u064A\u0631 '{0}'\u061F",customExports:"\u062A\u0635\u062F\u064A\u0631\u0627\u062A \u0645\u062E\u0635\u0635\u0629",customPlugin:"\u0645\u0643\u0648\u0646 \u0625\u0636\u0627\u0641\u064A \u0645\u062E\u0635\u0635",importCancelled:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F.",importPreviewTitle:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",importPreviewSubtitle:"\u0633\u064A\u062A\u0645 \u0627\u0633\u062A\u064A\u0631\u0627\u062F {rows} \u0635\u0641\u0648\u0641 \u2022 {cols} \u0623\u0639\u0645\u062F\u0629",importPreviewFooter:"\u0631\u0627\u062C\u0639 \u0627\u0644\u0623\u0639\u0645\u062F\u0629 \u0648\u0627\u0644\u0623\u0646\u0648\u0627\u0639 \u062B\u0645 \u0623\u0643\u0651\u062F.",columns:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",includeColumn:"\u062A\u0636\u0645\u064A\u0646 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",dataPreview:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",applyImport:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F",type_string:"\u0646\u0635",type_number:"\u0631\u0642\u0645",type_date:"\u062A\u0627\u0631\u064A\u062E",type_boolean:"\u0645\u0646\u0637\u0642\u064A",reading:"\u062C\u0627\u0631\u064D \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641\u2026",parsing:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0644\u064A\u0644\u2026",typing:"\u062C\u0627\u0631\u064D \u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0623\u0646\u0648\u0627\u0639\u2026",finalizing:"\u062C\u0627\u0631\u064D \u0627\u0644\u0625\u0646\u0647\u0627\u0621\u2026",measureNamePlaceholder:"\u0645\u062B\u0627\u0644: \u0647\u0627\u0645\u0634 \u0627\u0644\u0631\u0628\u062D",customFormat:"\u0645\u062E\u0635\u0635\u2026",customPrefix:"\u0628\u0627\u062F\u0626\u0629",customSuffix:"\u0644\u0627\u062D\u0642\u0629",minFraction:"\u0623\u062F\u0646\u0649 \u0643\u0633\u0648\u0631",maxFraction:"\u0623\u0642\u0635\u0649 \u0643\u0633\u0648\u0631",calculationLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u062D\u0633\u0627\u0628",calcRowLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u0635\u0641 (\u0628\u064A\u0627\u0646\u0627\u062A \u062E\u0627\u0645)",calcSummaryLevel:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u0645\u0644\u062E\u0635 (\u0645\u062C\u0645\u064E\u0651\u0639)",fields:"\u0627\u0644\u062D\u0642\u0648\u0644",noFieldsFound:"\u0644\u0627 \u062A\u0648\u062C\u062F \u062D\u0642\u0648\u0644 \u0645\u0646\u0627\u0633\u0628\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062A\u0648\u0649.",deleteCalcField:"\u062D\u0630\u0641 \u0627\u0644\u062D\u0642\u0644 \u0627\u0644\u0645\u062D\u0633\u0648\u0628",formula:"\u0635\u064A\u063A\u0629",formulaPlaceholder:"\u0645\u062B\u0627\u0644: [\u0627\u0644\u0625\u064A\u0631\u0627\u062F\u0627\u062A] - [\u0627\u0644\u062A\u0643\u0644\u0641\u0629]",saveAndAdd:"\u062D\u0641\u0638 \u0648\u0625\u0636\u0627\u0641\u0629",measureNameEmpty:"\u0627\u0633\u0645 \u0627\u0644\u062D\u0642\u0644 \u0645\u0637\u0644\u0648\u0628.",formulaEmpty:"\u0627\u0644\u0635\u064A\u063A\u0629 \u0645\u0637\u0644\u0648\u0628\u0629.",formulaError:"\u062E\u0637\u0623 \u0641\u064A \u0627\u0644\u0635\u064A\u063A\u0629",error:"\u062E\u0637\u0623",systemError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639",saveReport:"\u062D\u0641\u0638 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",saveReportDescription:"\u0627\u062D\u0641\u0638 \u0627\u0644\u062D\u0642\u0648\u0644 \u0648\u0627\u0644\u062A\u062E\u0637\u064A\u0637 \u0627\u0644\u062D\u0627\u0644\u064A\u064A\u0646 \u0643\u0639\u0631\u0636 \u0645\u0633\u0645\u0651\u0649.",reportName:"\u0627\u0633\u0645 \u0627\u0644\u062A\u0642\u0631\u064A\u0631",reportNamePlaceholder:"\u0645\u062B\u0627\u0644: \u062A\u062D\u0644\u064A\u0644 \u0627\u0644\u0645\u0628\u064A\u0639\u0627\u062A \u0627\u0644\u0634\u0647\u0631\u064A",setAsDefault:"\u062A\u0639\u064A\u064A\u0646 \u0643\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",enterFullscreen:"\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",exitFullscreen:"\u0627\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",print:"\u0637\u0628\u0627\u0639\u0629",sendToPrinter:"\u0625\u0631\u0633\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0637\u0627\u0628\u0639\u0629",copyToClipboard:"\u0646\u0633\u062E \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629",tabSeparatedValues:"\u0642\u064A\u0645 \u0645\u0641\u0635\u0648\u0644\u0629 \u0628\u0639\u0644\u0627\u0645\u0627\u062A \u062C\u062F\u0648\u0644\u0629",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"\u0645\u064A\u0632\u0629 Enterprise \u2014 \u0627\u0646\u0642\u0631 \u0644\u0644\u062A\u0631\u0642\u064A\u0629",dataImportUnsupported:"\u0644\u0627 \u064A\u0642\u0628\u0644 \u0647\u0630\u0627 \u0627\u0644\u062C\u062F\u0648\u0644 \u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A. \u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0639\u0631\u0636 \u0641\u0642\u0637.",columnFilter:"\u0645\u0631\u0634\u062D \u0627\u0644\u0639\u0645\u0648\u062F",percentOfColumnTotal:"\u066A \u0645\u0646 \u0625\u062C\u0645\u0627\u0644\u064A \u0627\u0644\u0639\u0645\u0648\u062F",percentOfRowTotal:"\u066A \u0645\u0646 \u0625\u062C\u0645\u0627\u0644\u064A \u0627\u0644\u0635\u0641",percentDifference:"\u066A \u0627\u0644\u0641\u0631\u0642",filterField:"\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062D\u0642\u0644",removeFromArea:"\u0625\u0632\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u0646\u0637\u0642\u0629",removeField:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062D\u0642\u0644",deletePermanently:"\u062D\u0630\u0641 \u0646\u0647\u0627\u0626\u064A",exportCsv:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 CSV",pagerPage:"\u0635\u0641\u062D\u0629",pagerOf:"\u0645\u0646",pagerPrevious:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",pagerNext:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",drillDown:"\u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644",drillDownRecords:"\u0627\u0644\u0633\u062C\u0644\u0627\u062A: {count}",exportGeneratedOn:"\u062A\u0645 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0641\u064A",calcRowLevelHint:"\u064A\u064F\u062D\u0633\u0628 \u0644\u0643\u0644 \u0635\u0641 \u0645\u0635\u062F\u0631\u060C \u062B\u0645 \u064A\u064F\u062C\u0645\u064E\u0651\u0639 \u0643\u0623\u064A \u0645\u0642\u064A\u0627\u0633 \u0622\u062E\u0631.",calcSummaryLevelHint:"\u064A\u064F\u062D\u0633\u0628 \u0645\u0646 \u0627\u0644\u062E\u0644\u0627\u064A\u0627 \u0627\u0644\u0645\u062C\u0645\u064E\u0651\u0639\u0629 \u0628\u0639\u062F \u0623\u0646 \u064A\u062C\u0645\u0639 \u0627\u0644\u062C\u062F\u0648\u0644 \u0627\u0644\u0645\u062D\u0648\u0631\u064A.",formulaValid:"\u0627\u0644\u0635\u064A\u063A\u0629 \u0635\u0627\u0644\u062D\u0629",calcFieldsHint:"\u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u062D\u0642\u0644 \u0644\u0625\u062F\u0631\u0627\u062C\u0647 \u0641\u064A \u0627\u0644\u0635\u064A\u063A\u0629.",formulaUses:"\u064A\u0633\u062A\u062E\u062F\u0645: {fields}",licenseMissing:"\u063A\u064A\u0631 \u0645\u0631\u062E\u0651\u0635",licenseExpired:"\u0627\u0646\u062A\u0647\u062A \u0635\u0644\u0627\u062D\u064A\u0629 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseReleaseNotCovered:"\u0647\u0630\u0627 \u0627\u0644\u0625\u0635\u062F\u0627\u0631 \u063A\u064A\u0631 \u0645\u0634\u0645\u0648\u0644 \u0628\u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseDomainMismatch:"\u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642",licenseRevoked:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseInvalidFormat:"\u0635\u064A\u063A\u0629 \u0645\u0641\u062A\u0627\u062D \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629",licenseInvalidSignature:"\u062A\u0648\u0642\u064A\u0639 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",licenseEngineUnavailable:"\u0644\u0627 \u064A\u0633\u062A\u0637\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 (\u064A\u0644\u0632\u0645 HTTPS)"},Ju={ok:"\u786E\u5B9A",cancel:"\u53D6\u6D88",apply:"\u5E94\u7528",close:"\u5173\u95ED",search:"\u641C\u7D22...",selectAll:"\u5168\u9009",clearAll:"\u5168\u90E8\u6E05\u9664",show:"\u663E\u793A",hide:"\u9690\u85CF",filterArea:"\u8FC7\u6EE4\u533A\u57DF",columnArea:"\u5217",rowArea:"\u884C",dataArea:"\u503C",footerArea:"\u9875\u811A\u533A\u57DF",allFields:"\u6240\u6709\u5B57\u6BB5",dropHere:"\u62D6\u653E\u5230\u8FD9\u91CC",actions:"\u64CD\u4F5C",saveNewView:"\u4FDD\u5B58\u65B0\u89C6\u56FE",saveAsView:"\u53E6\u5B58\u4E3A",saveChanges:"\u4FDD\u5B58\u66F4\u6539",savedViews:"\u5DF2\u4FDD\u5B58\u7684\u89C6\u56FE",viewOptions:"\u89C6\u56FE\u9009\u9879",export:"\u5BFC\u51FA",importFile:"\u5BFC\u5165",importFromFile:"\u4ECE\u6587\u4EF6",pasteImport:"\u4ECE\u526A\u8D34\u677F\u5BFC\u5165",pasteImportHint:"\u5236\u8868\u7B26\u6216\u9017\u53F7\u5206\u9694",dropToImport:"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4EE5\u5BFC\u5165",clipboardEmpty:"\u526A\u8D34\u677F\u4E2D\u672A\u627E\u5230\u53EF\u5BFC\u5165\u7684\u6587\u672C\u3002",clipboardDenied:"\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u6743\u9650\u3002",excelExport:"Excel \u5BFC\u51FA",pivotView:"\u6570\u636E\u900F\u89C6\u89C6\u56FE",listView:"\u5217\u8868\u89C6\u56FE",preservesGridLayout:"\u4FDD\u7559\u7F51\u683C\u5E03\u5C40",rawFlatData:"\u539F\u59CB\u5E73\u9762\u6570\u636E",document:"\u6587\u6863",pdfDocument:"PDF \u6587\u6863",printReadyLayout:"\u6253\u5370\u5C31\u7EEA\u5E03\u5C40",fullSnapshot:"\u5B8C\u6574\u5FEB\u7167",saveSessionState:"\u4FDD\u5B58\u4F1A\u8BDD\u72B6\u6001",rawDataFormats:"\u539F\u59CB\u6570\u636E\u683C\u5F0F",importSuccess:"\u5BFC\u5165\u6210\u529F",importWarning:"\u5DF2\u5B8C\u6210\u5E76\u5E26\u6709\u8B66\u544A",importError:"\u5BFC\u5165\u5931\u8D25",initializing:"\u521D\u59CB\u5316\u4E2D...",loading:"\u52A0\u8F7D\u4E2D...",emptyData:"\u672A\u627E\u5230\u6570\u636E",noItems:"\u672A\u627E\u5230\u9879\u76EE",blanks:"(\u7A7A\u767D)",loadingData:"\u8BF7\u7A0D\u5019\uFF0C\u6B63\u5728\u51C6\u5907\u6570\u636E...",processing:"\u5904\u7406\u4E2D...",fieldSettings:"\u5B57\u6BB5\u8BBE\u7F6E",caption:"\u6807\u9898",summaryType:"\u6C47\u603B\u7C7B\u578B",displayMode:"\u663E\u793A\u6A21\u5F0F",groupInterval:"\u5206\u7EC4\u95F4\u9694",sum:"\u6C42\u548C",count:"\u8BA1\u6570",avg:"\u5E73\u5747\u503C",min:"\u6700\u5C0F\u503C",max:"\u6700\u5927\u503C",grandTotal:"\u603B\u8BA1",subTotal:"\u5C0F\u8BA1",absoluteValue:"\u7EDD\u5BF9\u503C",runningTotal:"\u8FD0\u884C\u603B\u8BA1",difference:"\u5DEE\u5F02",percentOfTotal:"\u5360\u603B\u8BA1\u7684\u767E\u5206\u6BD4",none:"\u65E0",year:"\u5E74",quarter:"\u5B63\u5EA6",month:"\u6708",day:"\u65E5",and:"\u4E0E",or:"\u6216",noConditionsAdded:"\u672A\u6DFB\u52A0\u6761\u4EF6...",calculatedMeasureDesigner:"\u8BA1\u7B97\u5EA6\u91CF\u8BBE\u8BA1\u5668",createFormulasWithoutCode:"\u65E0\u9700\u7F16\u5199\u4EE3\u7801\u5373\u53EF\u521B\u5EFA\u516C\u5F0F\u548C\u8BA1\u7B97\u3002",measureName:"\u5EA6\u91CF\u540D\u79F0",format:"\u683C\u5F0F",numericStandard:"\u6570\u5B57\uFF08\u6807\u51C6\uFF09",numericDecimal:"\u6570\u5B57\uFF08\u5341\u8FDB\u5236 1,486.15\uFF09",currencyTRY:"\u8D27\u5E01\uFF08TRY\uFF09",currencyUSD:"\u8D27\u5E01\uFF08USD\uFF09",percent:"\u767E\u5206\u6BD4\uFF08%\uFF09",expand:"\u5C55\u5F00",collapse:"\u6298\u53E0",expandAll:"\u5168\u90E8\u5C55\u5F00",refreshData:"\u5237\u65B0\u6570\u636E",filterBuilder:"\u7B5B\u9009\u5668\u751F\u6210\u5668",chartToggle:"\u5207\u6362\u56FE\u8868\u89C6\u56FE",collapseAll:"\u5168\u90E8\u6298\u53E0",sortByThisColumn:"\u6309\u6B64\u5217\u6392\u5E8F",sortFieldByThisColumn:'\u6309\u6B64\u5217\u6392\u5E8F "{0}"',removeAllSorting:"\u79FB\u9664\u6240\u6709\u6392\u5E8F",sortAsc:"\u6309 A \u5230 Z \u6392\u5E8F",sortDesc:"\u6309 Z \u5230 A \u6392\u5E8F",clearSort:"\u6E05\u9664\u6392\u5E8F",order:"\u987A\u5E8F",moveToStart:"\u79FB\u5230\u5F00\u5934",moveToEnd:"\u79FB\u5230\u7ED3\u5C3E",moveToLeft:"\u5DE6\u79FB",moveToRight:"\u53F3\u79FB",fieldChipLabel:"{0}\uFF0C{1}\uFF0C\u7B2C {2} \u4E2A\uFF0C\u5171 {3} \u4E2A",fieldChipKeys:"Enter \u6392\u5E8F\u3002Ctrl+\u65B9\u5411\u952E\u79FB\u52A8\u5B57\u6BB5\uFF0CCtrl+Home/End \u79FB\u5230\u5F00\u5934\u6216\u672B\u5C3E\uFF0CDelete \u79FB\u9664\uFF0CShift+F10 \u6253\u5F00\u83DC\u5355\u3002",moveToArea:"\u79FB\u52A8\u5230",opEquals:"\u7B49\u4E8E",opNotEquals:"\u4E0D\u7B49\u4E8E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u5305\u542B",opNotContains:"\u4E0D\u5305\u542B",opStartsWith:"\u5F00\u5934\u4E3A",opEndsWith:"\u7ED3\u5C3E\u4E3A",opIsBlank:"\u4E3A\u7A7A",opIsNotBlank:"\u4E0D\u4E3A\u7A7A",builderCombine:"\u6761\u4EF6\u7684\u7EC4\u5408\u65B9\u5F0F",builderAddCondition:"\u6DFB\u52A0\u6761\u4EF6",builderAddGroup:"\u6DFB\u52A0\u5206\u7EC4",builderRemoveGroup:"\u79FB\u9664\u5206\u7EC4",builderRemoveCondition:"\u79FB\u9664\u6761\u4EF6",builderEmpty:"\u5C1A\u65E0\u6761\u4EF6\u3002",builderValuePlaceholder:"\u8BF7\u8F93\u5165\u503C",showFieldList:"\u663E\u793A\u5B57\u6BB5\u5217\u8868",editCalculation:"\u7F16\u8F91\u8BA1\u7B97",viewsAndReports:"\u5DF2\u4FDD\u5B58\u7684\u89C6\u56FE\u548C\u62A5\u544A",views:"\u89C6\u56FE",saveChangesOverwrite:"\u4FDD\u5B58\u66F4\u6539\uFF08\u8986\u76D6\uFF09",saveAsCopy:"\u53E6\u5B58\u4E3A\uFF08\u590D\u5236\uFF09",makeDefault:"\u8BBE\u4E3A\u9ED8\u8BA4",deleteReport:"\u5220\u9664\u62A5\u544A",deleteReportConfirm:"\u786E\u5B9A\u8981\u5220\u9664\u62A5\u544A '{0}' \u5417\uFF1F",customExports:"\u81EA\u5B9A\u4E49\u5BFC\u51FA",customPlugin:"\u81EA\u5B9A\u4E49\u63D2\u4EF6",importCancelled:"\u5BFC\u5165\u5DF2\u53D6\u6D88\u3002",importPreviewTitle:"\u5BFC\u5165\u9884\u89C8",importPreviewSubtitle:"\u5C06\u5BFC\u5165 {rows} \u884C \u2022 {cols} \u5217",importPreviewFooter:"\u8BF7\u68C0\u67E5\u5217\u548C\u7C7B\u578B\uFF0C\u7136\u540E\u786E\u8BA4\u3002",columns:"\u5217",includeColumn:"\u5305\u542B\u6B64\u5217",dataPreview:"\u6570\u636E\u9884\u89C8",applyImport:"\u5BFC\u5165",type_string:"\u6587\u672C",type_number:"\u6570\u5B57",type_date:"\u65E5\u671F",type_boolean:"\u5E03\u5C14\u503C",reading:"\u6B63\u5728\u8BFB\u53D6\u6587\u4EF6\u2026",parsing:"\u6B63\u5728\u89E3\u6790\u2026",typing:"\u6B63\u5728\u68C0\u6D4B\u7C7B\u578B\u2026",finalizing:"\u6B63\u5728\u5B8C\u6210\u2026",measureNamePlaceholder:"\u4F8B\u5982\uFF1A\u5229\u6DA6\u7387",customFormat:"\u81EA\u5B9A\u4E49\u2026",customPrefix:"\u524D\u7F00",customSuffix:"\u540E\u7F00",minFraction:"\u6700\u5C0F\u5C0F\u6570\u4F4D",maxFraction:"\u6700\u5927\u5C0F\u6570\u4F4D",calculationLevel:"\u8BA1\u7B97\u7EA7\u522B",calcRowLevel:"\u884C\u7EA7\u522B\uFF08\u539F\u59CB\u6570\u636E\uFF09",calcSummaryLevel:"\u6C47\u603B\u7EA7\u522B\uFF08\u5DF2\u805A\u5408\uFF09",fields:"\u5B57\u6BB5",noFieldsFound:"\u6B64\u7EA7\u522B\u6CA1\u6709\u53EF\u7528\u5B57\u6BB5\u3002",deleteCalcField:"\u5220\u9664\u8BA1\u7B97\u5B57\u6BB5",formula:"\u516C\u5F0F",formulaPlaceholder:"\u4F8B\u5982\uFF1A[\u6536\u5165] - [\u6210\u672C]",saveAndAdd:"\u4FDD\u5B58\u5E76\u6DFB\u52A0",measureNameEmpty:"\u8BF7\u8F93\u5165\u5B57\u6BB5\u540D\u79F0\u3002",formulaEmpty:"\u8BF7\u8F93\u5165\u516C\u5F0F\u3002",formulaError:"\u516C\u5F0F\u9519\u8BEF",error:"\u9519\u8BEF",systemError:"\u53D1\u751F\u610F\u5916\u9519\u8BEF",saveReport:"\u4FDD\u5B58\u62A5\u8868",saveReportDescription:"\u5C06\u5F53\u524D\u5B57\u6BB5\u548C\u5E03\u5C40\u4FDD\u5B58\u4E3A\u547D\u540D\u89C6\u56FE\u3002",reportName:"\u62A5\u8868\u540D\u79F0",reportNamePlaceholder:"\u4F8B\u5982\uFF1A\u6708\u5EA6\u9500\u552E\u5206\u6790",setAsDefault:"\u8BBE\u4E3A\u9ED8\u8BA4",save:"\u4FDD\u5B58",enterFullscreen:"\u5168\u5C4F",exitFullscreen:"\u9000\u51FA\u5168\u5C4F",print:"\u6253\u5370",sendToPrinter:"\u53D1\u9001\u5230\u6253\u5370\u673A",copyToClipboard:"\u590D\u5236\u5230\u526A\u8D34\u677F",tabSeparatedValues:"\u5236\u8868\u7B26\u5206\u9694\u7684\u503C",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \u529F\u80FD\u2014\u2014\u70B9\u51FB\u5347\u7EA7",dataImportUnsupported:"\u6B64\u8868\u683C\u4E0D\u63A5\u53D7\u5BFC\u5165\u7684\u6570\u636E\u3002\u4EC5\u66F4\u65B0\u4E86\u89C6\u56FE\u3002",columnFilter:"\u5217\u7B5B\u9009",percentOfColumnTotal:"\u5360\u5217\u603B\u8BA1\u767E\u5206\u6BD4",percentOfRowTotal:"\u5360\u884C\u603B\u8BA1\u767E\u5206\u6BD4",percentDifference:"\u5DEE\u5F02\u767E\u5206\u6BD4",filterField:"\u7B5B\u9009\u5B57\u6BB5",removeFromArea:"\u4ECE\u533A\u57DF\u79FB\u9664",removeField:"\u79FB\u9664\u5B57\u6BB5",deletePermanently:"\u6C38\u4E45\u5220\u9664",exportCsv:"\u5BFC\u51FA\u4E3A CSV",pagerPage:"\u7B2C",pagerOf:"/",pagerPrevious:"\u4E0A\u4E00\u9875",pagerNext:"\u4E0B\u4E00\u9875",drillDown:"\u94BB\u53D6",drillDownRecords:"\u8BB0\u5F55\u6570: {count}",exportGeneratedOn:"\u751F\u6210\u65F6\u95F4",calcRowLevelHint:"\u4E3A\u6BCF\u4E2A\u6E90\u884C\u8BA1\u7B97\uFF0C\u7136\u540E\u50CF\u5176\u4ED6\u5EA6\u91CF\u4E00\u6837\u805A\u5408\u3002",calcSummaryLevelHint:"\u5728\u6570\u636E\u900F\u89C6\u6C47\u603B\u4E4B\u540E\uFF0C\u57FA\u4E8E\u805A\u5408\u540E\u7684\u5355\u5143\u683C\u8BA1\u7B97\u3002",formulaValid:"\u516C\u5F0F\u6709\u6548",calcFieldsHint:"\u70B9\u51FB\u5B57\u6BB5\u5373\u53EF\u63D2\u5165\u5230\u516C\u5F0F\u4E2D\u3002",formulaUses:"\u4F7F\u7528: {fields}",licenseMissing:"\u672A\u6388\u6743",licenseExpired:"\u8BB8\u53EF\u8BC1\u5DF2\u8FC7\u671F",licenseReleaseNotCovered:"\u6B64\u7248\u672C\u4E0D\u5728\u8BB8\u53EF\u8BC1\u8986\u76D6\u8303\u56F4\u5185",licenseDomainMismatch:"\u8BB8\u53EF\u8BC1\u5BF9\u6B64\u57DF\u540D\u65E0\u6548",licenseRevoked:"\u8BB8\u53EF\u8BC1\u5DF2\u88AB\u540A\u9500",licenseInvalidFormat:"\u8BB8\u53EF\u8BC1\u5BC6\u94A5\u683C\u5F0F\u9519\u8BEF",licenseInvalidSignature:"\u8BB8\u53EF\u8BC1\u7B7E\u540D\u65E0\u6548",licenseEngineUnavailable:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u9A8C\u8BC1\u8BB8\u53EF\u8BC1\uFF08\u9700\u8981 HTTPS\uFF09"},Qu={ok:"OK",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",apply:"\u9069\u7528",close:"\u9589\u3058\u308B",search:"\u691C\u7D22...",selectAll:"\u3059\u3079\u3066\u9078\u629E",clearAll:"\u3059\u3079\u3066\u30AF\u30EA\u30A2",show:"\u8868\u793A",hide:"\u975E\u8868\u793A",filterArea:"\u30D5\u30A3\u30EB\u30BF\u30FC\u9818\u57DF",columnArea:"\u5217",rowArea:"\u884C",dataArea:"\u5024",footerArea:"\u30D5\u30C3\u30BF\u30FC\u9818\u57DF",allFields:"\u3059\u3079\u3066\u306E\u30D5\u30A3\u30FC\u30EB\u30C9",dropHere:"\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7",actions:"\u30A2\u30AF\u30B7\u30E7\u30F3",saveNewView:"\u65B0\u3057\u3044\u30D3\u30E5\u30FC\u3092\u4FDD\u5B58",saveAsView:"\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58",saveChanges:"\u5909\u66F4\u3092\u4FDD\u5B58",savedViews:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC",viewOptions:"\u30D3\u30E5\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3",export:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",importFile:"\u30A4\u30F3\u30DD\u30FC\u30C8",importFromFile:"\u30D5\u30A1\u30A4\u30EB\u304B\u3089",pasteImport:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089\u30A4\u30F3\u30DD\u30FC\u30C8",pasteImportHint:"\u30BF\u30D6\u307E\u305F\u306F\u30AB\u30F3\u30DE\u533A\u5207\u308A",dropToImport:"\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7",clipboardEmpty:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30A4\u30F3\u30DD\u30FC\u30C8\u53EF\u80FD\u306A\u30C6\u30AD\u30B9\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",clipboardDenied:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30D6\u30E9\u30A6\u30B6\u306E\u6A29\u9650\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",excelExport:"Excel \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",pivotView:"\u30D4\u30DC\u30C3\u30C8\u30D3\u30E5\u30FC",listView:"\u30EA\u30B9\u30C8\u30D3\u30E5\u30FC",preservesGridLayout:"\u30B0\u30EA\u30C3\u30C9\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u4FDD\u6301",rawFlatData:"\u30D5\u30E9\u30C3\u30C8\u306A\u751F\u30C7\u30FC\u30BF",document:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",pdfDocument:"PDF \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",printReadyLayout:"\u5370\u5237\u7528\u30EC\u30A4\u30A2\u30A6\u30C8",fullSnapshot:"\u5B8C\u5168\u306A\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8",saveSessionState:"\u30BB\u30C3\u30B7\u30E7\u30F3\u72B6\u614B\u3092\u4FDD\u5B58",rawDataFormats:"\u751F\u30C7\u30FC\u30BF\u5F62\u5F0F",importSuccess:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F",importWarning:"\u8B66\u544A\u4ED8\u304D\u3067\u5B8C\u4E86\u3057\u307E\u3057\u305F",importError:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F",initializing:"\u521D\u671F\u5316\u4E2D...",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",emptyData:"\u30C7\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",noItems:"\u30A2\u30A4\u30C6\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",blanks:"(\u7A7A\u767D)",loadingData:"\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002\u30C7\u30FC\u30BF\u3092\u6E96\u5099\u3057\u3066\u3044\u307E\u3059...",processing:"\u51E6\u7406\u4E2D...",fieldSettings:"\u30D5\u30A3\u30FC\u30EB\u30C9\u8A2D\u5B9A",caption:"\u30AD\u30E3\u30D7\u30B7\u30E7\u30F3",summaryType:"\u96C6\u8A08\u30BF\u30A4\u30D7",displayMode:"\u8868\u793A\u30E2\u30FC\u30C9",groupInterval:"\u30B0\u30EB\u30FC\u30D7\u9593\u9694",sum:"\u5408\u8A08",count:"\u30AB\u30A6\u30F3\u30C8",avg:"\u5E73\u5747",min:"\u6700\u5C0F",max:"\u6700\u5927",grandTotal:"\u7DCF\u8A08",subTotal:"\u5C0F\u8A08",absoluteValue:"\u7D76\u5BFE\u5024",runningTotal:"\u7D2F\u8A08",difference:"\u5DEE\u5206",percentOfTotal:"\u7DCF\u8A08\u306E\u5272\u5408",none:"\u306A\u3057",year:"\u5E74",quarter:"\u56DB\u534A\u671F",month:"\u6708",day:"\u65E5",and:"\u304B\u3064 (And)",or:"\u307E\u305F\u306F (Or)",noConditionsAdded:"\u6761\u4EF6\u304C\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093...",calculatedMeasureDesigner:"\u8A08\u7B97\u30E1\u30B8\u30E3\u30FC\u30C7\u30B6\u30A4\u30CA\u30FC",createFormulasWithoutCode:"\u30B3\u30FC\u30C9\u3092\u8A18\u8FF0\u305B\u305A\u306B\u6570\u5F0F\u3068\u8A08\u7B97\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",measureName:"\u30E1\u30B8\u30E3\u30FC\u540D",format:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8",numericStandard:"\u6570\u5024\uFF08\u6A19\u6E96\uFF09",numericDecimal:"\u6570\u5024\uFF08\u5C0F\u6570 1,486.15\uFF09",currencyTRY:"\u901A\u8CA8\uFF08TRY\uFF09",currencyUSD:"\u901A\u8CA8\uFF08USD\uFF09",percent:"\u30D1\u30FC\u30BB\u30F3\u30C8\uFF08%\uFF09",expand:"\u5C55\u958B",collapse:"\u6298\u308A\u305F\u305F\u3080",expandAll:"\u3059\u3079\u3066\u5C55\u958B",refreshData:"\u30C7\u30FC\u30BF\u3092\u66F4\u65B0",filterBuilder:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30D3\u30EB\u30C0\u30FC",chartToggle:"\u30B0\u30E9\u30D5\u8868\u793A\u306E\u5207\u308A\u66FF\u3048",collapseAll:"\u3059\u3079\u3066\u6298\u308A\u305F\u305F\u3080",sortByThisColumn:"\u3053\u306E\u5217\u3067\u4E26\u3079\u66FF\u3048",sortFieldByThisColumn:'\u3053\u306E\u5217\u3067 "{0}" \u3092\u4E26\u3079\u66FF\u3048',removeAllSorting:"\u3059\u3079\u3066\u306E\u4E26\u3079\u66FF\u3048\u3092\u524A\u9664",sortAsc:"\u6607\u9806\u3067\u4E26\u3079\u66FF\u3048",sortDesc:"\u964D\u9806\u3067\u4E26\u3079\u66FF\u3048",clearSort:"\u4E26\u3079\u66FF\u3048\u3092\u30AF\u30EA\u30A2",order:"\u9806\u5E8F",moveToStart:"\u5148\u982D\u306B\u79FB\u52D5",moveToEnd:"\u672B\u5C3E\u306B\u79FB\u52D5",moveToLeft:"\u5DE6\u306B\u79FB\u52D5",moveToRight:"\u53F3\u306B\u79FB\u52D5",fieldChipLabel:"{0}\u3001{1}\u3001{3}\u4EF6\u4E2D{2}\u4EF6\u76EE",fieldChipKeys:"Enter\u3067\u4E26\u3079\u66FF\u3048\u3002Ctrl+\u77E2\u5370\u3067\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u79FB\u52D5\u3001Ctrl+Home/End\u3067\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u3078\u3001Delete\u3067\u524A\u9664\u3001Shift+F10\u3067\u30E1\u30CB\u30E5\u30FC\u3092\u958B\u304D\u307E\u3059\u3002",moveToArea:"\u79FB\u52D5\u5148",opEquals:"\u304C\u6B21\u3068\u7B49\u3057\u3044",opNotEquals:"\u304C\u6B21\u3068\u7B49\u3057\u304F\u306A\u3044",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u3092\u542B\u3080",opNotContains:"\u3092\u542B\u307E\u306A\u3044",opStartsWith:"\u3067\u59CB\u307E\u308B",opEndsWith:"\u3067\u7D42\u308F\u308B",opIsBlank:"\u304C\u7A7A\u767D",opIsNotBlank:"\u304C\u7A7A\u767D\u3067\u306A\u3044",builderCombine:"\u6761\u4EF6\u306E\u7D50\u5408\u65B9\u6CD5",builderAddCondition:"\u6761\u4EF6\u3092\u8FFD\u52A0",builderAddGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0",builderRemoveGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664",builderRemoveCondition:"\u6761\u4EF6\u3092\u524A\u9664",builderEmpty:"\u307E\u3060\u6761\u4EF6\u304C\u3042\u308A\u307E\u305B\u3093\u3002",builderValuePlaceholder:"\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",showFieldList:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30EA\u30B9\u30C8\u3092\u8868\u793A",editCalculation:"\u8A08\u7B97\u306E\u7DE8\u96C6",viewsAndReports:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC\u3068\u30EC\u30DD\u30FC\u30C8",views:"\u30D3\u30E5\u30FC",saveChangesOverwrite:"\u5909\u66F4\u3092\u4FDD\u5B58\uFF08\u4E0A\u66F8\u304D\uFF09",saveAsCopy:"\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58\uFF08\u30B3\u30D4\u30FC\uFF09",makeDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u8A2D\u5B9A",deleteReport:"\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664",deleteReportConfirm:"\u30EC\u30DD\u30FC\u30C8 '{0}' \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",customExports:"\u30AB\u30B9\u30BF\u30E0\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",customPlugin:"\u30AB\u30B9\u30BF\u30E0\u30D7\u30E9\u30B0\u30A4\u30F3",importCancelled:"\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002",importPreviewTitle:"\u30A4\u30F3\u30DD\u30FC\u30C8\u306E\u30D7\u30EC\u30D3\u30E5\u30FC",importPreviewSubtitle:"{rows} \u884C \u2022 {cols} \u5217\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059",importPreviewFooter:"\u5217\u3068\u578B\u3092\u78BA\u8A8D\u3057\u3066\u304B\u3089\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",columns:"\u5217",includeColumn:"\u3053\u306E\u5217\u3092\u542B\u3081\u308B",dataPreview:"\u30C7\u30FC\u30BF\u306E\u30D7\u30EC\u30D3\u30E5\u30FC",applyImport:"\u30A4\u30F3\u30DD\u30FC\u30C8",type_string:"\u30C6\u30AD\u30B9\u30C8",type_number:"\u6570\u5024",type_date:"\u65E5\u4ED8",type_boolean:"\u30D6\u30FC\u30EB\u5024",reading:"\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",parsing:"\u89E3\u6790\u4E2D\u2026",typing:"\u578B\u3092\u5224\u5B9A\u4E2D\u2026",finalizing:"\u5B8C\u4E86\u51E6\u7406\u4E2D\u2026",measureNamePlaceholder:"\u4F8B: \u5229\u76CA\u7387",customFormat:"\u30AB\u30B9\u30BF\u30E0\u2026",customPrefix:"\u63A5\u982D\u8F9E",customSuffix:"\u63A5\u5C3E\u8F9E",minFraction:"\u6700\u5C0F\u5C0F\u6570\u6841",maxFraction:"\u6700\u5927\u5C0F\u6570\u6841",calculationLevel:"\u8A08\u7B97\u30EC\u30D9\u30EB",calcRowLevel:"\u884C\u30EC\u30D9\u30EB (\u5143\u30C7\u30FC\u30BF)",calcSummaryLevel:"\u96C6\u8A08\u30EC\u30D9\u30EB (\u96C6\u7D04\u6E08\u307F)",fields:"\u30D5\u30A3\u30FC\u30EB\u30C9",noFieldsFound:"\u3053\u306E\u30EC\u30D9\u30EB\u3067\u4F7F\u7528\u3067\u304D\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3042\u308A\u307E\u305B\u3093\u3002",deleteCalcField:"\u8A08\u7B97\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u524A\u9664",formula:"\u6570\u5F0F",formulaPlaceholder:"\u4F8B: [\u58F2\u4E0A] - [\u539F\u4FA1]",saveAndAdd:"\u4FDD\u5B58\u3057\u3066\u8FFD\u52A0",measureNameEmpty:"\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u306F\u5FC5\u9808\u3067\u3059\u3002",formulaEmpty:"\u6570\u5F0F\u306F\u5FC5\u9808\u3067\u3059\u3002",formulaError:"\u6570\u5F0F\u30A8\u30E9\u30FC",error:"\u30A8\u30E9\u30FC",systemError:"\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F",saveReport:"\u30EC\u30DD\u30FC\u30C8\u3092\u4FDD\u5B58",saveReportDescription:"\u73FE\u5728\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u540D\u524D\u4ED8\u304D\u30D3\u30E5\u30FC\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002",reportName:"\u30EC\u30DD\u30FC\u30C8\u540D",reportNamePlaceholder:"\u4F8B\uFF1A\u6708\u6B21\u58F2\u4E0A\u5206\u6790",setAsDefault:"\u65E2\u5B9A\u306B\u8A2D\u5B9A",save:"\u4FDD\u5B58",enterFullscreen:"\u5168\u753B\u9762\u8868\u793A",exitFullscreen:"\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86",print:"\u5370\u5237",sendToPrinter:"\u30D7\u30EA\u30F3\u30BF\u30FC\u306B\u9001\u4FE1",copyToClipboard:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC",tabSeparatedValues:"\u30BF\u30D6\u533A\u5207\u308A\u306E\u5024",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \u6A5F\u80FD \u2014 \u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9",dataImportUnsupported:"\u3053\u306E\u30B0\u30EA\u30C3\u30C9\u306F\u30C7\u30FC\u30BF\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002\u8868\u793A\u306E\u307F\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002",columnFilter:"\u5217\u30D5\u30A3\u30EB\u30BF\u30FC",percentOfColumnTotal:"\u5217\u5408\u8A08\u306B\u5BFE\u3059\u308B\uFF05",percentOfRowTotal:"\u884C\u5408\u8A08\u306B\u5BFE\u3059\u308B\uFF05",percentDifference:"\u5DEE\u7570\uFF05",filterField:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30D5\u30A3\u30EB\u30BF\u30FC",removeFromArea:"\u30A8\u30EA\u30A2\u304B\u3089\u524A\u9664",removeField:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u524A\u9664",deletePermanently:"\u5B8C\u5168\u306B\u524A\u9664",exportCsv:"CSV \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",pagerPage:"\u30DA\u30FC\u30B8",pagerOf:"/",pagerPrevious:"\u524D\u306E\u30DA\u30FC\u30B8",pagerNext:"\u6B21\u306E\u30DA\u30FC\u30B8",drillDown:"\u30C9\u30EA\u30EB\u30C0\u30A6\u30F3",drillDownRecords:"\u30EC\u30B3\u30FC\u30C9\u6570: {count}",exportGeneratedOn:"\u4F5C\u6210\u65E5\u6642",calcRowLevelHint:"\u5404\u30BD\u30FC\u30B9\u884C\u3054\u3068\u306B\u8A08\u7B97\u3055\u308C\u3001\u4ED6\u306E\u30E1\u30B8\u30E3\u30FC\u3068\u540C\u69D8\u306B\u96C6\u8A08\u3055\u308C\u307E\u3059\u3002",calcSummaryLevelHint:"\u30D4\u30DC\u30C3\u30C8\u304C\u96C6\u8A08\u3057\u305F\u5F8C\u3001\u96C6\u8A08\u6E08\u307F\u30BB\u30EB\u304B\u3089\u8A08\u7B97\u3055\u308C\u307E\u3059\u3002",formulaValid:"\u6570\u5F0F\u306F\u6709\u52B9\u3067\u3059",calcFieldsHint:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u6570\u5F0F\u306B\u633F\u5165\u3057\u307E\u3059\u3002",formulaUses:"\u4F7F\u7528: {fields}",licenseMissing:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306A\u3057",licenseExpired:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059",licenseReleaseNotCovered:"\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5BFE\u8C61\u5916\u3067\u3059",licenseDomainMismatch:"\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u3067\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u304C\u7121\u52B9\u3067\u3059",licenseRevoked:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u53D6\u308A\u6D88\u3055\u308C\u307E\u3057\u305F",licenseInvalidFormat:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306E\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",licenseInvalidSignature:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7F72\u540D\u304C\u7121\u52B9\u3067\u3059",licenseEngineUnavailable:"\u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\uFF08HTTPS \u304C\u5FC5\u8981\u3067\u3059\uFF09"},er={ok:"\uD655\uC778",cancel:"\uCDE8\uC18C",apply:"\uC801\uC6A9",close:"\uB2EB\uAE30",search:"\uAC80\uC0C9...",selectAll:"\uBAA8\uB450 \uC120\uD0DD",clearAll:"\uBAA8\uB450 \uC9C0\uC6B0\uAE30",show:"\uD45C\uC2DC",hide:"\uC228\uAE30\uAE30",filterArea:"\uD544\uD130 \uC601\uC5ED",columnArea:"\uC5F4",rowArea:"\uD589",dataArea:"\uAC12",footerArea:"\uBC14\uB2E5\uAE00 \uC601\uC5ED",allFields:"\uBAA8\uB4E0 \uD544\uB4DC",dropHere:"\uC5EC\uAE30\uC5D0 \uB193\uAE30",actions:"\uC791\uC5C5",saveNewView:"\uC0C8 \uBDF0 \uC800\uC7A5",saveAsView:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",saveChanges:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5",savedViews:"\uC800\uC7A5\uB41C \uBDF0",viewOptions:"\uBDF0 \uC635\uC158",export:"\uB0B4\uBCF4\uB0B4\uAE30",importFile:"\uAC00\uC838\uC624\uAE30",importFromFile:"\uD30C\uC77C\uC5D0\uC11C",pasteImport:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uAC00\uC838\uC624\uAE30",pasteImportHint:"\uD0ED \uB610\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84",dropToImport:"\uAC00\uC838\uC62C \uD30C\uC77C\uC744 \uC5EC\uAE30\uC5D0 \uB193\uC73C\uC138\uC694",clipboardEmpty:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uAC00\uC838\uC62C \uC218 \uC788\uB294 \uD14D\uC2A4\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",clipboardDenied:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uC811\uADFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uAD8C\uD55C\uC744 \uD655\uC778\uD558\uC138\uC694.",excelExport:"Excel \uB0B4\uBCF4\uB0B4\uAE30",pivotView:"\uD53C\uBC97 \uBDF0",listView:"\uBAA9\uB85D \uBDF0",preservesGridLayout:"\uADF8\uB9AC\uB4DC \uB808\uC774\uC544\uC6C3 \uC720\uC9C0",rawFlatData:"\uC6D0\uC2DC \uD50C\uB7AB \uB370\uC774\uD130",document:"\uBB38\uC11C",pdfDocument:"PDF \uBB38\uC11C",printReadyLayout:"\uC778\uC1C4 \uC900\uBE44 \uB808\uC774\uC544\uC6C3",fullSnapshot:"\uC804\uCCB4 \uC2A4\uB0C5\uC0F7",saveSessionState:"\uC138\uC158 \uC0C1\uD0DC \uC800\uC7A5",rawDataFormats:"\uC6D0\uC2DC \uB370\uC774\uD130 \uD615\uC2DD",importSuccess:"\uAC00\uC838\uC624\uAE30 \uC131\uACF5",importWarning:"\uACBD\uACE0\uC640 \uD568\uAED8 \uC644\uB8CC",importError:"\uAC00\uC838\uC624\uAE30 \uC2E4\uD328",initializing:"\uCD08\uAE30\uD654 \uC911...",loading:"\uB85C\uB529 \uC911...",emptyData:"\uB370\uC774\uD130\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",noItems:"\uD56D\uBAA9\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",blanks:"(\uBE44\uC5B4 \uC788\uC74C)",loadingData:"\uC7A0\uC2DC \uAE30\uB2E4\uB824 \uC8FC\uC2ED\uC2DC\uC624. \uB370\uC774\uD130\uB97C \uC900\uBE44\uD558\uB294 \uC911\uC785\uB2C8\uB2E4...",processing:"\uCC98\uB9AC \uC911...",fieldSettings:"\uD544\uB4DC \uC124\uC815",caption:"\uCEA1\uC158",summaryType:"\uC694\uC57D \uC720\uD615",displayMode:"\uD45C\uC2DC \uBAA8\uB4DC",groupInterval:"\uADF8\uB8F9 \uAC04\uACA9",sum:"\uD569\uACC4",count:"\uAC1C\uC218",avg:"\uD3C9\uADE0",min:"\uCD5C\uC18C",max:"\uCD5C\uB300",grandTotal:"\uCD1D\uACC4",subTotal:"\uC18C\uACC4",absoluteValue:"\uC808\uB300\uAC12",runningTotal:"\uB204\uACC4",difference:"\uCC28\uC774",percentOfTotal:"\uCD1D\uACC4\uC758 \uBE44\uC728",none:"\uC5C6\uC74C",year:"\uC5F0\uB3C4",quarter:"\uBD84\uAE30",month:"\uC6D4",day:"\uC77C",and:"\uADF8\uB9AC\uACE0 (And)",or:"\uB610\uB294 (Or)",noConditionsAdded:"\uCD94\uAC00\uB41C \uC870\uAC74\uC774 \uC5C6\uC2B5\uB2C8\uB2E4...",calculatedMeasureDesigner:"\uACC4\uC0B0\uB41C \uCE21\uC815\uAC12 \uB514\uC790\uC774\uB108",createFormulasWithoutCode:"\uCF54\uB4DC \uC791\uC131 \uC5C6\uC774 \uC218\uC2DD \uBC0F \uACC4\uC0B0\uC744 \uB9CC\uB4ED\uB2C8\uB2E4.",measureName:"\uCE21\uC815\uAC12 \uC774\uB984",format:"\uD615\uC2DD",numericStandard:"\uC22B\uC790(\uD45C\uC900)",numericDecimal:"\uC22B\uC790(\uC18C\uC218\uC810 1,486.15)",currencyTRY:"\uD1B5\uD654(TRY)",currencyUSD:"\uD1B5\uD654(USD)",percent:"\uBC31\uBD84\uC728(%)",expand:"\uD655\uC7A5",collapse:"\uCD95\uC18C",expandAll:"\uBAA8\uB450 \uD655\uC7A5",refreshData:"\uB370\uC774\uD130 \uC0C8\uB85C \uACE0\uCE68",filterBuilder:"\uD544\uD130 \uC791\uC131\uAE30",chartToggle:"\uCC28\uD2B8 \uBCF4\uAE30 \uC804\uD658",collapseAll:"\uBAA8\uB450 \uCD95\uC18C",sortByThisColumn:"\uC774 \uC5F4\uC744 \uAE30\uC900\uC73C\uB85C \uC815\uB82C",sortFieldByThisColumn:'\uC774 \uC5F4\uC744 \uAE30\uC900\uC73C\uB85C "{0}" \uC815\uB82C',removeAllSorting:"\uBAA8\uB4E0 \uC815\uB82C \uC81C\uAC70",sortAsc:"\uC624\uB984\uCC28\uC21C \uC815\uB82C",sortDesc:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C",clearSort:"\uC815\uB82C \uC9C0\uC6B0\uAE30",order:"\uC21C\uC11C",moveToStart:"\uC2DC\uC791\uC73C\uB85C \uC774\uB3D9",moveToEnd:"\uB05D\uC73C\uB85C \uC774\uB3D9",moveToLeft:"\uC67C\uCABD\uC73C\uB85C \uC774\uB3D9",moveToRight:"\uC624\uB978\uCABD\uC73C\uB85C \uC774\uB3D9",fieldChipLabel:"{0}, {1}, {3}\uAC1C \uC911 {2}\uBC88\uC9F8",fieldChipKeys:"Enter\uB294 \uC815\uB82C\uD569\uB2C8\uB2E4. Ctrl+\uD654\uC0B4\uD45C\uB294 \uD544\uB4DC\uB97C \uC774\uB3D9\uD558\uACE0, Ctrl+Home/End\uB294 \uCC98\uC74C \uB610\uB294 \uB05D\uC73C\uB85C \uC774\uB3D9\uD558\uBA70, Delete\uB294 \uC81C\uAC70\uD558\uACE0, Shift+F10\uC740 \uBA54\uB274\uB97C \uC5FD\uB2C8\uB2E4.",moveToArea:"\uC774\uB3D9 \uC704\uCE58",opEquals:"\uAC19\uC74C",opNotEquals:"\uAC19\uC9C0 \uC54A\uC74C",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\uD3EC\uD568",opNotContains:"\uD3EC\uD568\uD558\uC9C0 \uC54A\uC74C",opStartsWith:"(\uC73C)\uB85C \uC2DC\uC791",opEndsWith:"(\uC73C)\uB85C \uB05D\uB0A8",opIsBlank:"\uBE44\uC5B4 \uC788\uC74C",opIsNotBlank:"\uBE44\uC5B4 \uC788\uC9C0 \uC54A\uC74C",builderCombine:"\uC870\uAC74 \uACB0\uD569 \uBC29\uC2DD",builderAddCondition:"\uC870\uAC74 \uCD94\uAC00",builderAddGroup:"\uADF8\uB8F9 \uCD94\uAC00",builderRemoveGroup:"\uADF8\uB8F9 \uC81C\uAC70",builderRemoveCondition:"\uC870\uAC74 \uC81C\uAC70",builderEmpty:"\uC544\uC9C1 \uC870\uAC74\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",builderValuePlaceholder:"\uAC12\uC744 \uC785\uB825\uD558\uC138\uC694",showFieldList:"\uD544\uB4DC \uBAA9\uB85D \uD45C\uC2DC",editCalculation:"\uACC4\uC0B0 \uD3B8\uC9D1",viewsAndReports:"\uC800\uC7A5\uB41C \uBDF0 \uBC0F \uBCF4\uACE0\uC11C",views:"\uBDF0",saveChangesOverwrite:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5(\uB36E\uC5B4\uC4F0\uAE30)",saveAsCopy:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5(\uBCF5\uC0AC)",makeDefault:"\uAE30\uBCF8\uAC12\uC73C\uB85C \uC124\uC815",deleteReport:"\uBCF4\uACE0\uC11C \uC0AD\uC81C",deleteReportConfirm:"'{0}' \uBCF4\uACE0\uC11C\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",customExports:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uB0B4\uBCF4\uB0B4\uAE30",customPlugin:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD50C\uB7EC\uADF8\uC778",importCancelled:"\uAC00\uC838\uC624\uAE30\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",importPreviewTitle:"\uAC00\uC838\uC624\uAE30 \uBBF8\uB9AC \uBCF4\uAE30",importPreviewSubtitle:"{rows}\uAC1C \uD589 \u2022 {cols}\uAC1C \uC5F4\uC744 \uAC00\uC838\uC635\uB2C8\uB2E4",importPreviewFooter:"\uC5F4\uACFC \uC720\uD615\uC744 \uD655\uC778\uD55C \uD6C4 \uC9C4\uD589\uD558\uC138\uC694.",columns:"\uC5F4",includeColumn:"\uC774 \uC5F4 \uD3EC\uD568",dataPreview:"\uB370\uC774\uD130 \uBBF8\uB9AC \uBCF4\uAE30",applyImport:"\uAC00\uC838\uC624\uAE30",type_string:"\uD14D\uC2A4\uD2B8",type_number:"\uC22B\uC790",type_date:"\uB0A0\uC9DC",type_boolean:"\uBD80\uC6B8",reading:"\uD30C\uC77C \uC77D\uB294 \uC911\u2026",parsing:"\uAD6C\uBB38 \uBD84\uC11D \uC911\u2026",typing:"\uC720\uD615 \uAC10\uC9C0 \uC911\u2026",finalizing:"\uB9C8\uBB34\uB9AC \uC911\u2026",measureNamePlaceholder:"\uC608: \uC774\uC775\uB960",customFormat:"\uC0AC\uC6A9\uC790 \uC9C0\uC815\u2026",customPrefix:"\uC811\uB450\uC0AC",customSuffix:"\uC811\uBBF8\uC0AC",minFraction:"\uCD5C\uC18C \uC18C\uC218 \uC790\uB9BF\uC218",maxFraction:"\uCD5C\uB300 \uC18C\uC218 \uC790\uB9BF\uC218",calculationLevel:"\uACC4\uC0B0 \uC218\uC900",calcRowLevel:"\uD589 \uC218\uC900 (\uC6D0\uBCF8 \uB370\uC774\uD130)",calcSummaryLevel:"\uC694\uC57D \uC218\uC900 (\uC9D1\uACC4\uB428)",fields:"\uD544\uB4DC",noFieldsFound:"\uC774 \uC218\uC900\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uD544\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",deleteCalcField:"\uACC4\uC0B0 \uD544\uB4DC \uC0AD\uC81C",formula:"\uC218\uC2DD",formulaPlaceholder:"\uC608: [\uB9E4\uCD9C] - [\uC6D0\uAC00]",saveAndAdd:"\uC800\uC7A5 \uD6C4 \uCD94\uAC00",measureNameEmpty:"\uD544\uB4DC \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",formulaEmpty:"\uC218\uC2DD\uC744 \uC785\uB825\uD558\uC138\uC694.",formulaError:"\uC218\uC2DD \uC624\uB958",error:"\uC624\uB958",systemError:"\uC608\uAE30\uCE58 \uC54A\uC740 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",saveReport:"\uBCF4\uACE0\uC11C \uC800\uC7A5",saveReportDescription:"\uD604\uC7AC \uD544\uB4DC\uC640 \uB808\uC774\uC544\uC6C3\uC744 \uC774\uB984 \uC788\uB294 \uBCF4\uAE30\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4.",reportName:"\uBCF4\uACE0\uC11C \uC774\uB984",reportNamePlaceholder:"\uC608: \uC6D4\uAC04 \uD310\uB9E4 \uBD84\uC11D",setAsDefault:"\uAE30\uBCF8\uAC12\uC73C\uB85C \uC124\uC815",save:"\uC800\uC7A5",enterFullscreen:"\uC804\uCCB4 \uD654\uBA74",exitFullscreen:"\uC804\uCCB4 \uD654\uBA74 \uC885\uB8CC",print:"\uC778\uC1C4",sendToPrinter:"\uD504\uB9B0\uD130\uB85C \uBCF4\uB0B4\uAE30",copyToClipboard:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC",tabSeparatedValues:"\uD0ED\uC73C\uB85C \uAD6C\uBD84\uB41C \uAC12",enterpriseBadge:"Enterprise",enterpriseUpgradeHint:"Enterprise \uAE30\uB2A5 \u2014 \uD074\uB9AD\uD558\uC5EC \uC5C5\uADF8\uB808\uC774\uB4DC",dataImportUnsupported:"\uC774 \uADF8\uB9AC\uB4DC\uB294 \uB370\uC774\uD130 \uAC00\uC838\uC624\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uAE30\uB9CC \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",columnFilter:"\uC5F4 \uD544\uD130",percentOfColumnTotal:"\uC5F4 \uD569\uACC4 \uB300\uBE44 %",percentOfRowTotal:"\uD589 \uD569\uACC4 \uB300\uBE44 %",percentDifference:"\uCC28\uC774 %",filterField:"\uD544\uB4DC \uD544\uD130",removeFromArea:"\uC601\uC5ED\uC5D0\uC11C \uC81C\uAC70",removeField:"\uD544\uB4DC \uC81C\uAC70",deletePermanently:"\uC601\uAD6C \uC0AD\uC81C",exportCsv:"CSV\uB85C \uB0B4\uBCF4\uB0B4\uAE30",pagerPage:"\uD398\uC774\uC9C0",pagerOf:"/",pagerPrevious:"\uC774\uC804 \uD398\uC774\uC9C0",pagerNext:"\uB2E4\uC74C \uD398\uC774\uC9C0",drillDown:"\uB4DC\uB9B4\uB2E4\uC6B4",drillDownRecords:"\uB808\uCF54\uB4DC: {count}",exportGeneratedOn:"\uC0DD\uC131 \uC77C\uC2DC",calcRowLevelHint:"\uAC01 \uC6D0\uBCF8 \uD589\uB9C8\uB2E4 \uACC4\uC0B0\uB41C \uB4A4 \uB2E4\uB978 \uCE21\uC815\uAC12\uCC98\uB7FC \uC9D1\uACC4\uB429\uB2C8\uB2E4.",calcSummaryLevelHint:"\uD53C\uBC97\uC774 \uD569\uC0B0\uD55C \uB4A4 \uC9D1\uACC4\uB41C \uC140\uC5D0\uC11C \uACC4\uC0B0\uB429\uB2C8\uB2E4.",formulaValid:"\uC218\uC2DD\uC774 \uC720\uD6A8\uD569\uB2C8\uB2E4",calcFieldsHint:"\uD544\uB4DC\uB97C \uD074\uB9AD\uD558\uC5EC \uC218\uC2DD\uC5D0 \uC0BD\uC785\uD569\uB2C8\uB2E4.",formulaUses:"\uC0AC\uC6A9: {fields}",licenseMissing:"\uB77C\uC774\uC120\uC2A4 \uC5C6\uC74C",licenseExpired:"\uB77C\uC774\uC120\uC2A4\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseReleaseNotCovered:"\uC774 \uBC84\uC804\uC740 \uB77C\uC774\uC120\uC2A4 \uC801\uC6A9 \uB300\uC0C1\uC774 \uC544\uB2D9\uB2C8\uB2E4",licenseDomainMismatch:"\uC774 \uB3C4\uBA54\uC778\uC5D0\uC11C\uB294 \uB77C\uC774\uC120\uC2A4\uAC00 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseRevoked:"\uB77C\uC774\uC120\uC2A4\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidFormat:"\uB77C\uC774\uC120\uC2A4 \uD0A4 \uD615\uC2DD\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidSignature:"\uB77C\uC774\uC120\uC2A4 \uC11C\uBA85\uC774 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseEngineUnavailable:"\uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uB77C\uC774\uC120\uC2A4\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4(HTTPS \uD544\uC694)"};var Lo=["grouped","stacked","normalized"];function Vo(r){if(typeof r!="object"||r===null||Array.isArray(r))return null;let e=r;return e.version!==1?null:{version:1,open:e.open===true,type:typeof e.type=="string"&&e.type!==""?e.type:"column",stacking:Lo.includes(e.stacking)?e.stacking:"grouped",format:Ne(e.format),hiddenSeries:Array.isArray(e.hiddenSeries)?[...new Set(e.hiddenSeries.filter(t=>typeof t=="string"))].sort():[]}}var tr=(r,e)=>JSON.stringify(r)===JSON.stringify(e);function Ft(r,e){let t=[];return r.type!==e.type&&t.push("type"),r.stacking!==e.stacking&&t.push("stacking"),tr(Ne(r.format),Ne(e.format))||t.push("format"),tr([...r.hiddenSeries].sort(),[...e.hiddenSeries].sort())||t.push("hiddenSeries"),t}function et(r){let e=new Set;return {report(t){for(let u of t){if(e.has(u))continue;e.add(u);let o=new Error(`[pivotgrid] ${u}`),i=r();i?i(o):console.error(o);}}}}function Et(r){let e={...r},t=[];if(r.showGrandTotals!==void 0){let u=r.showGrandTotals;r.showRowGrandTotals===void 0&&(e.showRowGrandTotals=u==="rows"||u==="both"),r.showColumnGrandTotals===void 0&&(e.showColumnGrandTotals=u==="columns"||u==="both");}if(r.totalsDisplayMode!==void 0&&r.totalsPosition===void 0&&(e.totalsPosition=r.totalsDisplayMode),r.showSubTotals!==void 0){let u=r.showSubTotals;r.showRowTotals===void 0&&(e.showRowTotals=u==="rows"||u==="both"),r.showColumnTotals===void 0&&(e.showColumnTotals=u==="columns"||u==="both");}return {updates:e,unsupported:t}}var zo=new Set(["expression","colorScale","dataBar","iconSet"]),Go=new Set(["dataBar","iconSet"]);function xt(r){let e=[];for(let t of r){for(let u of t.conditionalFormatting??[]){if(!zo.has(u.type)){e.push(`field "${t.id}": conditionalFormatting type "${u.type}" is not a known rule type and the rule is skipped.`);continue}Go.has(u.type)&&e.push(`field "${t.id}": conditionalFormatting type "${u.type}" renders on screen but is not carried into exports \u2014 exported cells keep their value and any colour, without the bar or icon. Use "colorScale" or "expression" for a rule that must survive export.`);}(t.groupInterval==="numeric"||t.groupInterval==="custom")&&e.push(`field "${t.id}": groupInterval "${t.groupInterval}" has no effect and the field is not grouped. For numeric bins pass the bin width as a number (e.g. groupInterval: 100).`),t.summaryType==="custom"&&t.calculateCustomSummary===void 0&&e.push(`field "${t.id}": summaryType "custom" has no calculateCustomSummary, so its cells show the sum. Give it a function (start \u2192 calculate \u2192 finalize) or the id of a registered aggregator.`),t.topNOthersCaption!==void 0&&t.topN!==void 0&&!t.topNShowOthers&&e.push(`field "${t.id}": topNOthersCaption labels the "Others" row, which only appears when topNShowOthers is set. Rows beyond topN are dropped as things stand.`);}return e}var ur=new Map;function Oe(r,e=false){let t=`${r??""}\0${e?"numeric":""}`,u=ur.get(t);return u||(u=new Intl.Collator(r,e?{numeric:true}:void 0),ur.set(t,u)),u}function ut(r,e,t){return {field:t,kind:e,dataField:r.dataField,dataType:r.dataType,groupInterval:r.groupInterval,isCalculated:r.isCalculated,formulaString:r.formulaString,calcExpr:r.calculateExpression}}function _o(r,e){return r?r.kind===e.kind&&r.dataField===e.dataField&&r.dataType===e.dataType&&r.groupInterval===e.groupInterval&&!!r.isCalculated==!!e.isCalculated&&r.formulaString===e.formulaString&&r.calcExpr===e.calcExpr:false}var le=new Map,de="default";function bt(r,e){let t=le.get(r);if(t&&t.pendingTermination&&(clearTimeout(t.pendingTermination),t.pendingTermination=null),!t){let u=e?new Worker(e,{type:"module"}):Fe("pivot",()=>{let n=()=>"./pivot.worker.js";return new URL(n(),import.meta.url)}),o=new Map,i={worker:u,resolvers:o,messageIdCounter:0,stringToInt:new Map,dictionary:[""],fieldDistinctValues:new Map,encodedColumns:new Map,encodedRowCount:-1,sourceData:null,initInFlight:null,pendingTermination:null,lastRowIndexMap:null,lastColumnIndexMap:null,lastCardinalityMap:null};u.onmessage=n=>{let{id:s,error:a,isInitComplete:l,isFilterComplete:d,isReconfigureComplete:p,isTransactionComplete:c,rowCount:m,rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:v,columnIndexMap:F,cardinalityMap:E,indexMapsOmitted:x}=n.data,A=o.get(s);A&&(a?A.reject(new Error(`Worker Error: ${a}`)):l?A.resolve({isInitComplete:true}):d?A.resolve({isFilterComplete:true}):p?A.resolve({isReconfigureComplete:true}):c?A.resolve(m):x?A.resolve({rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:i.lastRowIndexMap||{},columnIndexMap:i.lastColumnIndexMap||{},cardinalityMap:i.lastCardinalityMap||{}}):(i.lastRowIndexMap=v,i.lastColumnIndexMap=F,i.lastCardinalityMap=E,A.resolve({rowTree:f,colTree:h,cellMatrix:g,customSummary:C,rowIndexMap:v,columnIndexMap:F,cardinalityMap:E})),o.delete(s));},u.onerror=n=>{let s=n.message||"Worker failed to load or crashed";for(let a of o.values())a.reject(new Error(s));o.clear();},t=i,le.set(r,t);}return t}function ce(r){de=r;}var Ho=5e3;function St(r){let e=le.get(r);e&&(e.pendingTermination&&clearTimeout(e.pendingTermination),e.pendingTermination=setTimeout(()=>{e.worker.terminate(),e.resolvers.clear(),le.delete(r);},Ho));}var rr=5e4,or=[],tt=null;function nr(){return typeof MessageChannel>"u"?new Promise(r=>setTimeout(r,0)):(tt||(tt=new MessageChannel,tt.port1.onmessage=()=>{or.shift()?.();}),new Promise(r=>{or.push(r),tt.port2.postMessage(null);}))}var $o=(r,e)=>Oe().compare(r,e);function Wo(r,e){return e.dataType==="number"?r.sort((t,u)=>Number(t.rawVal)-Number(u.rawVal)):r.sort((t,u)=>$o(t.rawStr,u.rawStr))}function ar(r){return e=>{let t=r.stringToInt.get(e);return t===void 0&&(t=r.dictionary.length,r.stringToInt.set(e,t),r.dictionary.push(e)),t}}function At(r,e){return r.isCalculated&&typeof r.calculateExpression=="string"&&e?{...r,calculateExpression:e.resolveSafe(r.calculateExpression,"expression")}:r}function Pt(r,e,t){let u=r.map(a=>({field:a,fastPath:!a.isCalculated&&!a.groupInterval&&!!a.dataField,dataField:a.dataField,valCache:new Map,distinctMap:new Map})),o=e.map(a=>({field:a,fastPath:!a.isCalculated&&!a.groupInterval&&!!a.dataField,dataField:a.dataField})),i=u.length,n=o.length,s=(a,l,d,p,c,m)=>{for(let f=l;f<d;f++){let h=a[f],g=f-p;for(let C=0;C<i;C++){let v=u[C],F;if(v.fastPath){let E=h[v.dataField];F=E??"(Blank)";}else F=U(a[f],v.field);if(typeof F=="object"){let E=String(F);c[C][g]=t(E),v.distinctMap.has(E)||v.distinctMap.set(E,F);}else {let E=v.valCache.get(F);if(E===void 0){let x=String(F);E=t(x),v.valCache.set(F,E),v.distinctMap.has(x)||v.distinctMap.set(x,F);}c[C][g]=E;}}for(let C=0;C<n;C++){let v=o[C];if(v.fastPath){let F=h[v.dataField];m[C][g]=F==null?0:Number(F)||0;}else {let F=U(a[f],v.field);v.field.isCalculated&&typeof v.field.calculateExpression=="function"&&(F=v.field.calculateExpression(a[f])),m[C][g]=Number(F)||0;}}}};return {async encodeRange(a,l,d){let p=d-l,c=u.map(()=>new Int32Array(p)),m=o.map(()=>new Float64Array(p));for(let f=l;f<d;f+=rr){let h=Math.min(f+rr,d);s(a,f,h,l,c,m),h<d&&await nr();}return {groupArrays:c,measureArrays:m}},encodeRows(a){let l=u.map(()=>new Int32Array(a.length)),d=o.map(()=>new Float64Array(a.length));return s(a,0,a.length,0,l,d),{groupArrays:l,measureArrays:d}},finalizeDistincts(){let a=new Map;for(let l of u)a.set(l.field.id,Wo(Array.from(l.distinctMap,([d,p])=>({rawStr:d,rawVal:p})),l.field));return a}}}var Ae=r=>r.map(e=>({...e,dataField:e.id,calculateExpression:void 0,calculateSummaryExpression:void 0,calculateCustomSummary:void 0,calculateCustomSort:void 0,format:void 0,conditionalFormatting:void 0,cellTemplate:void 0})),ir=25e4;function Uo(r){let e=[];for(let t of r){if(!t.filterValues||t.filterValues.size===0)continue;let u=new Set,o=[];for(let i of t.filterValues)for(let n of lr(i))u.has(n)||(u.add(n),o.push(n));e.push({fieldId:t.id,filterType:t.filterType||"include",valueStrings:o});}return e.length>0?e:void 0}async function Dt(r,e,t,u,o,i,n){let s=le.get(de);if(s&&(s.pendingTermination&&(clearTimeout(s.pendingTermination),s.pendingTermination=null),!n?.forceReencode&&(s.initInFlight&&s.initInFlight.data===r&&await s.initInFlight.promise.catch(()=>{}),s.sourceData===r&&s.encodedRowCount===r.length&&await rt(r,e,t,u,o,n?.filterState))))return {filtersApplied:false};let a=bt(de,i),l=Ko(a,r,e,t,u,o,n?.filterState);a.initInFlight={data:r,promise:l};try{return await l}finally{a.initInFlight&&a.initInFlight.promise===l&&(a.initInFlight=null);}}async function Ko(r,e,t,u,o,i,n){let s=sr(n?.fields??[],n?.prefilter,[...t,...u,...o].map(y=>y.id)),a=[...t,...u,...s.group],l=[...o,...s.measure],d=e.length,p=new Map,c=[""],m=y=>{let b=p.get(y);return b===void 0&&(b=c.length,p.set(y,b),c.push(y)),b},f=a.map(y=>At(y,i)),h=l.map(y=>At(y,i)),g=Pt(f,h,m),C=n?Uo(n.fields):void 0,v=n?.prefilter&&n.prefilter.conditions.length>0?Tt(n.prefilter):void 0,F={};for(let y of a)F[y.id]="int32";for(let y of l)F[y.id]="float64";let E=`init_${r.messageIdCounter++}`,x=new Promise((y,b)=>{r.resolvers.set(E,{resolve:y,reject:b});});r.worker.postMessage({action:"initStart",id:E,rowCountTotal:d,columnTypes:F,dictionary:[""],rowFields:Ae(t),colFields:Ae(u),dataFields:Ae(o),filters:C,prefilter:v,workerBootstrap:i?i.getWorkerBootstrapPayload():[]});let A=1;for(let y=0;y<d;y+=ir){let b=Math.min(y+ir,d),{groupArrays:B,measureArrays:R}=await g.encodeRange(e,y,b),S={},P=[];a.forEach((N,L)=>{S[N.id]=B[L].buffer,P.push(B[L].buffer);}),l.forEach((N,L)=>{S[N.id]=R[L].buffer,P.push(R[L].buffer);});let I=A<c.length?c.slice(A):void 0;A=c.length,r.worker.postMessage({action:"initChunk",id:E,start:y,end:b,columns:S,dictionaryAppend:I},P),b<d&&await nr();}let w=new Map;return a.forEach((y,b)=>w.set(y.id,ut(y,"int32",f[b]))),l.forEach((y,b)=>w.set(y.id,ut(y,"float64",h[b]))),r.stringToInt=p,r.dictionary=c,r.fieldDistinctValues=g.finalizeDistincts(),r.encodedColumns=w,r.encodedRowCount=d,r.sourceData=e,r.worker.postMessage({action:"initEnd",id:E}),await x,{filtersApplied:!!n}}function Bt(r){let e=new Set,t=u=>{for(let o of u.conditions)"logicalOperator"in o?t(o):e.add(o.fieldId);};return r&&t(r),e}function sr(r,e,t){let u=Bt(e),o=new Set(t),i=[],n=[],s=(a,l)=>{o.has(a.id)||(o.add(a.id),(l==="measure"?n:i).push(a));};for(let a of u){let l=r.find(d=>d.id===a);l&&s(l,l.dataType==="number"?"measure":"group");}for(let a of r)a.filterValues&&a.filterValues.size>0&&s(a,"group");return {group:i,measure:n}}async function rt(r,e,t,u,o,i){let n=le.get(de),s=n?.sourceData??r;if(!n||n.encodedRowCount!==s.length||n.encodedRowCount<0)return false;n.pendingTermination&&(clearTimeout(n.pendingTermination),n.pendingTermination=null);let a=[];for(let f of [...e,...t])a.push({field:f,kind:"int32"});for(let f of u)a.push({field:f,kind:"float64"});let l=sr(i?.fields??[],i?.prefilter,a.map(f=>f.field.id));for(let f of l.group)a.push({field:f,kind:"int32"});for(let f of l.measure)a.push({field:f,kind:"float64"});let d=a.filter(f=>!_o(n.encodedColumns.get(f.field.id),ut(f.field,f.kind))),p,c,m=[];if(d.length>0){p={};let f=n.dictionary.length,h=[],g=[];for(let{field:x,kind:A}of d){let w=At(x,o);(A==="int32"?h:g).push(w),n.encodedColumns.set(x.id,ut(x,A,w));}let C=Pt(h,g,ar(n)),{groupArrays:v,measureArrays:F}=await C.encodeRange(s,0,s.length),E=C.finalizeDistincts();[...v,...F].forEach((x,A)=>{let w=A<h.length?h[A]:g[A-h.length];p[w.id]={type:A<h.length?"int32":"float64",buffer:x.buffer},m.push(x.buffer);});for(let[x,A]of E)n.fieldDistinctValues.set(x,A);n.dictionary.length>f&&(c=n.dictionary.slice(f));}return new Promise((f,h)=>{let g=`reconfigure_${n.messageIdCounter++}`;n.resolvers.set(g,{resolve:()=>f(true),reject:h}),n.worker.postMessage({action:"reconfigure",id:g,rowFields:Ae(e),colFields:Ae(t),dataFields:Ae(u),newColumns:p,dictionaryAppend:c},m);})}async function Le(r,e){let t=bt(de);return new Promise((u,o)=>{let i=[];for(let a of r){if(!a.filterValues||a.filterValues.size===0)continue;let l=[],d=new Set,p=[];for(let c of a.filterValues){let m=lr(c);for(let f of m){let h=t.stringToInt.get(f);h===void 0?p.push(f):d.has(h)||(d.add(h),l.push(h));}}i.push({fieldId:a.id,filterType:a.filterType||"include",dictIds:l,valueStrings:p});}let n;e&&e.conditions.length>0&&(n=Tt(e));let s=`filter_${t.messageIdCounter++}`;t.resolvers.set(s,{resolve:u,reject:o}),t.worker.postMessage({action:"filter",id:s,filters:i,prefilter:n});})}function lr(r){if(r==null||r==="(Blank)"||r==="(Blanks)")return ["(Blank)","(Blanks)","null","undefined"];if(r instanceof Date){let e=[String(r)];return Number.isNaN(r.getTime())||e.push(r.toISOString()),e}return [String(r)]}function Tt(r){return {logicalOperator:r.logicalOperator||"and",conditions:(r.conditions||[]).map(e=>{if("logicalOperator"in e)return Tt(e);let t=e;return {fieldId:t.fieldId,operator:t.operator,value:t.value}})}}function dr(r){let e=le.get(de),t=r.data.length-r.addRows.length+r.removeIndex.length;if(!e||e.encodedRowCount<0||e.encodedRowCount!==t)return Promise.resolve(false);let u=[],o=[];for(let f of e.encodedColumns.values()){if(!f.field)return Promise.resolve(false);(f.kind==="int32"?u:o).push(f.field);}let i=e.dictionary.length,{groupArrays:n,measureArrays:s}=Pt(u,o,ar(e)).encodeRows(r.updateRows.concat(r.addRows)),a={},l=Int32Array.from(r.updateIndex),d=Int32Array.from(r.removeIndex),p=[l.buffer,d.buffer];[...n,...s].forEach((f,h)=>{a[(h<u.length?u[h]:o[h-u.length]).id]=f.buffer,p.push(f.buffer);}),e.sourceData=r.data,e.encodedRowCount=r.data.length,e.fieldDistinctValues=new Map;let c=`transaction_${e.messageIdCounter++}`,m=new Promise((f,h)=>e.resolvers.set(c,{resolve:f,reject:h}));return e.worker.postMessage({action:"transaction",id:c,update:l,remove:d,addCount:r.addRows.length,columns:a,dictionaryAppend:e.dictionary.length>i?e.dictionary.slice(i):void 0},p),m.then(f=>f===r.data.length)}async function ot(r,e){let t=bt(de);return new Promise((u,o)=>{let i=`compute_${t.messageIdCounter++}`;t.resolvers.set(i,{resolve:u,reject:o}),t.worker.postMessage({action:"compute",id:i,expandedPaths:r,expandedColPaths:e});}).then(u=>u)}function jo(r,e){let t=e??de,u=wt.get(t)?.get(r);if(u)return u;let o=le.get(t);return o?o.fieldDistinctValues.get(r)??null:null}var wt=new Map;function cr(r,e,t){let u=wt.get(r);u||wt.set(r,u=new Map),t===null?u.delete(e):u.set(e,t.map(o=>({rawStr:String(o),rawVal:o})));}function It(r,e,t){let{cellMatrix:u}=r,o=e.filter(s=>s.isCalculated&&s.calculateSummaryExpression);if(o.length===0||!u?.keys)return;let i=u.keys.length,n=e.length;for(let s=0;s<i;s++){let a={};for(let l=0;l<n;l++)a[e[l].id]=u.sums[s*n+l];for(let l of o)if(l.calculateSummaryExpression)try{let d=l.calculateSummaryExpression;if(typeof d=="string"&&t&&(d=t.resolveSafe(d,"summary")),typeof d=="function"){let p=d(a),c=e.findIndex(m=>m.id===l.id);c>=0&&(u.sums[s*n+c]=p);}}catch{}}}function kt(r,e){let{cellMatrix:t,rowIndexMap:u,columnIndexMap:o,rowTree:i}=r;if(!t?.keys||t.keys.length===0||e.filter(d=>d.summaryDisplayMode&&d.summaryDisplayMode!=="absolute").length===0)return;let s=t.keys.length,a=e.length;t.displaySums=new Float64Array(t.sums);let l=new Map;for(let d=0;d<s;d++)l.set(t.keys[d],d);for(let d=0;d<a;d++){let c=e[d].summaryDisplayMode;if(!(!c||c==="absolute"))switch(c){case "percentOfTotal":qo(t,l,s,a,d);break;case "percentOfColumnTotal":Yo(t,l,s,a,d);break;case "percentOfRowTotal":Xo(t,l,s,a,d);break;case "runningTotal":Rt(t,l,a,d,i,u,o,"runningTotal");break;case "difference":Rt(t,l,a,d,i,u,o,"difference");break;case "percentDifference":Rt(t,l,a,d,i,u,o,"percentDifference");break}}}function qo(r,e,t,u,o){let i=e.get(0),n=i!==void 0?r.sums[i*u+o]:0;for(let s=0;s<t;s++){let a=r.sums[s*u+o];r.displaySums[s*u+o]=n!==0?a/n*100:0;}}function Yo(r,e,t,u,o){for(let i=0;i<t;i++){let s=r.keys[i]%67108864,a=e.get(s),l=a!==void 0?r.sums[a*u+o]:0,d=r.sums[i*u+o];r.displaySums[i*u+o]=l!==0?d/l*100:0;}}function Xo(r,e,t,u,o){for(let i=0;i<t;i++){let n=r.keys[i],a=Math.floor(n/67108864)*67108864,l=e.get(a),d=l!==void 0?r.sums[l*u+o]:0,p=r.sums[i*u+o];r.displaySums[i*u+o]=d!==0?p/d*100:0;}}function Rt(r,e,t,u,o,i,n,s){let a=Zo(o),l=Object.keys(n);for(let d of l){let p=n[d],c=0,m=null;for(let f of a){let h=i[f];if(h===void 0)continue;let g=h*67108864+p,C=e.get(g);if(C===void 0)continue;let v=r.sums[C*t+u];switch(s){case "runningTotal":c+=v,r.displaySums[C*t+u]=c;break;case "difference":r.displaySums[C*t+u]=m!==null?v-m:v;break;case "percentDifference":r.displaySums[C*t+u]=m!==null&&m!==0?(v-m)/Math.abs(m)*100:0;break}m=v;}}}function Zo(r){let e=[],t=u=>{for(let o of u)e.push(o.key),o.children&&o.children.length>0&&t(o.children);};return t(r),e}function pr(r,e,t){let u=r.customSummary;if(delete r.customSummary,!u)return;let{rowGroupOf:o,groupCellOffsets:i,groupCells:n}=u,s=r.cellMatrix.sums,a=e.length,l=r.cellMatrix.keys.length,d=o.length;for(let p=0;p<a;p++){let c=e[p];if(c.summaryType!=="custom")continue;let m=u.values[c.id];if(!m)continue;let f=c.calculateCustomSummary;if(typeof f=="function"){let h=new Array(l);for(let g=0;g<l;g++){let C={summaryProcess:"start",value:null,totalValue:0};f(C),h[g]=C;}for(let g=0;g<d;g++){let C=o[g];if(C<0)continue;let v=m[g];for(let F=i[C];F<i[C+1];F++){let E=h[n[F]];E.summaryProcess="calculate",E.value=v,f(E);}}for(let g=0;g<l;g++){let C=h[g];C.summaryProcess="finalize",C.value=null,f(C),s[g*a+p]=Number(C.totalValue??0);}}else if(typeof f=="string"){let g=t?.get(f)?.aggregate;if(!g)throw new Error(`field "${c.id}": calculateCustomSummary names the aggregator "${f}", which is not registered \u2014 call registry.registerAggregator("${f}", fn) and pass that registry to the grid.`);let C=new Array(l);for(let v=0;v<l;v++)C[v]=[];for(let v=0;v<d;v++){let F=o[v];if(F<0)continue;let E=m[v];for(let x=i[F];x<i[F+1];x++)C[n[x]].push(E);}for(let v=0;v<l;v++)s[v*a+p]=Number(g(C[v]));}}}var mr=new Set(["sum","count","min","max"]);function fr(r){return r.filter(e=>!mr.has(e.summaryType||"sum")).map(e=>e.id)}var Jo="__others__";function Qo(r,e,t,u){switch(r){case "min":return u?t:Math.min(e,t);case "max":return u?t:Math.max(e,t);default:return u?t:e+t}}function hr(r,e,t,u,o,i){if(r.length===0||!u?.cellMatrix)return null;let n=i?u.rowIndexMap:u.columnIndexMap;if((i?Object.keys(u.columnIndexMap).length:Object.keys(u.rowIndexMap).length)===0)return null;let a=o.length,l=o.map(x=>x.summaryType||"sum"),d=u.cellMatrix.keys,p=u.cellMatrix.sums,c=new Set;for(let x of r){let A=n[x.key];A!==void 0&&c.add(A);}if(c.size===0)return null;let m=new Map;for(let x=0;x<d.length;x++){let A=d[x],w=A%67108864,y=(A-w)/67108864,b=i?y:w;if(!c.has(b))continue;let B=i?w:y,R=m.get(B);R||(R={values:new Float64Array(a),seen:new Uint8Array(a)},m.set(B,R));for(let S=0;S<a;S++){if(!mr.has(l[S]))continue;let P=p[x*a+S];Number.isFinite(P)&&(R.values[S]=Qo(l[S],R.values[S],P,R.seen[S]===0),R.seen[S]=1);}}if(m.size===0)return null;let f=0;for(let x of Object.values(n))x>=f&&(f=x+1);let h=`${Jo}${e}`;n[h]=f;let g=m.size,C=new Float64Array(d.length+g),v=new Float64Array(p.length+g*a);C.set(d),v.set(p);let F=d.length;for(let[x,A]of m){C[F]=i?f*67108864+x:x*67108864+f;for(let w=0;w<a;w++)v[F*a+w]=A.seen[w]===1?A.values[w]:Number.NaN;F++;}u.cellMatrix.keys=C,u.cellMatrix.sums=v;let E=r[0].depth;return {key:h,value:t,fieldId:r[0].fieldId,children:[],isExpanded:false,isTotal:false,depth:E,hasChildren:false}}function we(r,e,t,u,o,i,n,s){if(!r||r.length===0)return;let a=e[r[0].depth];if(!a){for(let c of r)we(c.children,e,t,u,o,i,n,s);return}let l=a.sortOrder||"asc",d=a.sortBySummaryField,p=Oe(i,true).compare;if(d&&!n&&t?.cellMatrix){n=new Map;let c=t.cellMatrix.keys;for(let m=0;m<c.length;m++)n.set(c[m],m);}r.sort((c,m)=>{let f=0;if(d&&n&&t){let h=c.key,g=m.key,C=a.sortBySummaryPath||"",v=o?h:C,F=o?C:h,E=o?g:C,x=o?C:g,A=t.rowIndexMap[v]??0,w=t.columnIndexMap[F]??0,y=t.rowIndexMap[E]??0,b=t.columnIndexMap[x]??0,B=A*67108864+w,R=y*67108864+b,S=n.get(B),P=n.get(R),I=u.findIndex(Y=>Y.id===d),N=u.length,L=S!==void 0&&I>=0?t.cellMatrix.sums[S*N+I]:0,M=P!==void 0&&I>=0?t.cellMatrix.sums[P*N+I]:0;f=L>M?1:L<M?-1:0;}else if(a.calculateCustomSort)f=a.calculateCustomSort(c.value,m.value);else {let h=c.value,g=m.value;if(typeof h=="number"&&typeof g=="number")f=h-g;else {let C=String(h),v=String(g);f=p(C,v);}}return l==="asc"?f:-f}),ei(r,a,s,t,u,o);for(let c of r)we(c.children,e,t,u,o,i,n,s);}function ei(r,e,t,u,o,i){let n=e.topN;if(n==null)return;if(!Number.isInteger(n)||n<=0){t?.unsupported.push(`field "${e.id}": topN must be a positive integer, got ${JSON.stringify(n)}`);return}if(r.length<=n)return;if(!e.topNShowOthers){r.length=n;return}let s=r.slice(n);r.length=n;let a=fr(o);a.length>0&&t?.unsupported.push(`field "${e.id}": the "Others" row cannot total ${a.join(", ")} \u2014 an average needs the row counts behind each cell and a distinct count needs the underlying values, neither of which survives aggregation. Those measures are left empty; the rest are exact.`);let l=hr(s,`${e.id}:${s[0]?.key??""}`,e.topNOthersCaption??"Others",u,o,i);l&&r.push(l);}var Ve=class{config;initTimeout=null;computeTimeout=null;progressTimer=null;progressCompletionTimer=null;progressStartedAt=0;progressStartValue=0;progressCap=99;progressEstimateMs=1500;initVersion=0;computeVersion=0;disposed=false;isInitComplete=false;forceNextReencode=false;engineLock=Promise.resolve();busy=0;pendingChanges=[];drainQueued=false;computing=0;recomputeAfter=false;hashes={dataRef:null,structuralFieldsHash:"",filterHash:"",prefilterRef:null,expandedPathsHash:"",expandedColPathsHash:"",fieldsHash:""};constructor(e){this.config=e;}refresh(){if(this.disposed)return;if(this.config.getOptions().serverSource){this.scheduleServerCompute(false);return}let e=this.config.getState(),t=this.config.getOptions(),u=this.createStructuralFieldsHash(e.fields)+"|pf:"+[...Bt(e.layout.prefilter)].sort().join(",")+"|ff:"+this.unplacedFilteredFieldIds(e.fields).join(","),o=this.createFilterHash(e.fields),i=this.createFieldsHash(e.fields),n=this.createSetHash(e.expandedPaths),s=this.createSetHash(e.expandedColPaths),a=this.hashes.fieldsHash,l=this.hashes.dataRef!==t.data,d=this.hashes.structuralFieldsHash!==u,p=this.hashes.filterHash!==o||this.hashes.prefilterRef!==e.layout.prefilter;if(l||d){this.hashes.dataRef=t.data,this.hashes.structuralFieldsHash=u,this.hashes.filterHash=o,this.hashes.prefilterRef=e.layout.prefilter,this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,l?this.scheduleInit():this.scheduleReconfigure(p);return}if(p){this.hashes.filterHash=o,this.hashes.prefilterRef=e.layout.prefilter,this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,this.scheduleFilter();return}(this.hashes.expandedPathsHash!==n||this.hashes.expandedColPathsHash!==s||a!==i)&&(this.hashes.expandedPathsHash=n,this.hashes.expandedColPathsHash=s,this.hashes.fieldsHash=i,this.scheduleComputeIfReady());}applyRowChange(e,t){if(!this.disposed&&!this.config.getOptions().serverSource){if(this.hashes.dataRef!==t){this.refresh();return}if(this.hashes.dataRef=e.data,e.data.length===0){this.scheduleInit();return}this.pendingChanges.push(e),this.isInitComplete?this.scheduleDrain():this.busy===0&&!this.initTimeout&&this.scheduleInit();}}exclusive(e){this.busy++;let t=this.engineLock.then(e).finally(()=>{this.busy--;});return this.engineLock=t.catch(()=>{}),t}scheduleDrain(){this.drainQueued||(this.drainQueued=true,this.exclusive(async()=>{this.drainQueued=false,await this.drainRowChanges()&&this.computeAfterChange();}));}computeAfterChange(){this.computeTimeout||(this.computing>0?this.recomputeAfter=true:this.scheduleComputeIfReady());}async pushRowChange(e){try{if(ce(this.config.getOptions().gridId),await dr(e))return !0}catch(t){this.handleEngineError(t);}return this.disposed||(this.forceNextReencode=true,this.scheduleInit()),false}async drainRowChanges(){for(;this.pendingChanges.length>0;)if(!await this.pushRowChange(this.pendingChanges.shift()))return false;return true}refreshData(){let e=this.config.getOptions().serverSource;if(e){e.reset?.(),this.scheduleServerCompute();return}this.forceNextReencode=true,this.hashes.dataRef=null,this.refresh();}computeIfReady(){this.scheduleComputeIfReady();}dispose(){this.disposed=true,this.serverTimeout&&clearTimeout(this.serverTimeout),this.initTimeout&&clearTimeout(this.initTimeout),this.computeTimeout&&clearTimeout(this.computeTimeout),this.stopBuildProgress(),this.progressCompletionTimer&&clearTimeout(this.progressCompletionTimer),St(this.config.getOptions().gridId);}scheduleInit(){this.initTimeout&&clearTimeout(this.initTimeout),this.initTimeout=null,this.pendingChanges=[];let e=this.config.getState(),t=this.config.getOptions();if(!t.data||t.data.length===0||!e.fields||e.fields.length===0){this.isInitComplete=false,this.stopBuildProgress(),this.config.setState({engineResult:null,isBuilding:false,buildProgress:0});return}let u=++this.initVersion;this.isInitComplete=false,this.startBuildProgress("init",true),this.config.onEngineStarted({gridId:t.gridId}),this.initTimeout=setTimeout(()=>{this.initTimeout=null,this.runInit(u);},50);}runInit(e){return this.exclusive(()=>this.initPhase(e))}async initPhase(e){if(!(this.disposed||e!==this.initVersion))try{let t=this.config.getState(),u=this.config.getOptions(),o=this.config.getAreaFields("row"),i=this.config.getAreaFields("column"),n=this.config.getAreaFields("data");ce(u.gridId);let s=this.forceNextReencode;this.forceNextReencode=!1,this.pendingChanges=[];let{filtersApplied:a}=await Dt(u.data,o,i,n,u.registry,u.workerUrl,{forceReencode:s,filterState:{fields:t.fields,prefilter:t.layout.prefilter}});if(this.disposed||e!==this.initVersion)return;if(this.advanceBuildProgress(a?82:74),!a){if(await Le(t.fields,t.layout.prefilter),this.disposed||e!==this.initVersion)return;this.advanceBuildProgress(84);}if(this.isInitComplete=!0,!await this.drainRowChanges()||this.disposed||e!==this.initVersion)return;this.scheduleComputeIfReady(!1);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleReconfigure(e){if(this.disposed)return;let t=this.config.getState(),u=this.config.getOptions();if(!u.data||u.data.length===0||!t.fields||t.fields.length===0||!this.isInitComplete){this.scheduleInit();return}this.computeTimeout&&clearTimeout(this.computeTimeout);let o=++this.computeVersion;this.startBuildProgress("reconfigure",true),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runReconfigure(o,e);},16);}async runReconfigure(e,t){try{let u=this.config.getState(),o=this.config.getOptions(),i=!1,n=!0;if(await this.exclusive(async()=>{ce(o.gridId);let s=this.config.getState();i=await rt(o.data,this.config.getAreaFields("row"),this.config.getAreaFields("column"),this.config.getAreaFields("data"),o.registry,{fields:s.fields,prefilter:s.layout.prefilter}),i&&(n=await this.drainRowChanges());}),!n||this.disposed||e!==this.computeVersion)return;if(!i){this.scheduleInit();return}if(this.advanceBuildProgress(t?68:78),t){if(await Le(u.fields,u.layout.prefilter),this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(82);}await this.runCompute(e);}catch(u){this.handleEngineError(u),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleFilter(){if(!this.isInitComplete||this.disposed)return;this.computeTimeout&&clearTimeout(this.computeTimeout);let e=++this.computeVersion;this.startBuildProgress("filter",true),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runFilter(e);},50);}async runFilter(e){try{let t=this.config.getState(),u=this.config.getOptions();if(ce(u.gridId),await Le(t.fields,t.layout.prefilter),this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(82),await this.runCompute(e);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}}scheduleComputeIfReady(e=true){if(this.config.getOptions().serverSource){this.scheduleServerCompute(false);return}if(!this.isInitComplete||this.disposed)return;this.computeTimeout&&clearTimeout(this.computeTimeout);let t=++this.computeVersion;this.startBuildProgress("compute",e),this.computeTimeout=setTimeout(()=>{this.computeTimeout=null,this.runCompute(t);},16);}async runCompute(e){this.computing++;try{let t=this.config.getState(),u=this.config.getOptions();u.onBeforePivotCalculate?.(),ce(u.gridId);let o=await ot(Array.from(t.expandedPaths),Array.from(t.expandedColPaths));if(this.disposed||e!==this.computeVersion)return;this.advanceBuildProgress(94),this.postPhases(o,!0),u.onAfterPivotCalculate?.(o),this.completeBuildProgress(o,e);}catch(t){this.handleEngineError(t),this.config.setState({isBuilding:false,buildProgress:0});}finally{this.computing--,this.recomputeAfter&&this.computing===0&&!this.disposed&&(this.recomputeAfter=false,this.computeAfterChange());}}serverTimeout=null;serverKey="";serverInput(e=false){let t=this.config.getState();return {gridId:this.config.getOptions().gridId,fields:t.fields,prefilter:t.layout.prefilter??null,expandedRows:e?new Set(["*"]):t.expandedPaths,expandedColumns:e?new Set(["*"]):t.expandedColPaths}}scheduleServerCompute(e=true){if(this.disposed)return;let t=this.config.getState(),u=this.createFieldsHash(t.fields)+this.createFilterHash(t.fields)+JSON.stringify(t.layout.prefilter??null)+this.createSetHash(t.expandedPaths)+"#"+this.createSetHash(t.expandedColPaths);if(!e&&u===this.serverKey)return;this.serverKey=u,this.serverTimeout&&clearTimeout(this.serverTimeout);let o=++this.computeVersion;this.startBuildProgress("compute",true),this.serverTimeout=setTimeout(()=>{this.serverTimeout=null,this.runServerCompute(o);},16);}postPhases(e,t){let u=this.config.getOptions(),o=this.config.getAreaFields("data");t&&pr(e,o,u.registry),It(e,o,u.registry);let i={unsupported:[]};we(e.rowTree,this.config.getAreaFields("row"),e,o,true,u.locale,void 0,i),we(e.colTree,this.config.getAreaFields("column"),e,o,false,u.locale,void 0,i),this.reportUnsupported(i),kt(e,o);}async runServerCompute(e){let t=this.config.getOptions();try{t.onBeforePivotCalculate?.();let u=await t.serverSource.compute(this.serverInput());if(this.disposed||e!==this.computeVersion)return;this.postPhases(u,!1),t.onAfterPivotCalculate?.(u),this.completeBuildProgress(u,e);}catch(u){if(this.disposed||e!==this.computeVersion)return;this.handleEngineError(u),this.config.setState({isBuilding:false,buildProgress:0});}}async computeFullyExpandedSnapshot(){let e=this.config.getOptions();ce(e.gridId);let t=e.serverSource?await e.serverSource.compute(this.serverInput(true)):await ot(["*"],["*"]);return this.postPhases(t,!e.serverSource),t}unsupportedReporter=et(()=>this.config.getOptions().onError);reportUnsupported(e){this.unsupportedReporter.report(e.unsupported);}startBuildProgress(e,t){this.progressCompletionTimer&&(clearTimeout(this.progressCompletionTimer),this.progressCompletionTimer=null);let u=this.config.getState().buildProgress??0,o=this.initialProgressFor(e);this.progressStartValue=Math.min(98,t?o:Math.max(u,o)),this.progressStartedAt=Date.now(),this.progressCap=this.progressCapFor(e),this.progressEstimateMs=this.estimateProgressDuration(e),this.config.setState({isBuilding:true,engineError:null,buildProgress:this.progressStartValue}),this.progressTimer||(this.progressTimer=setInterval(()=>this.tickBuildProgress(),120));}tickBuildProgress(){if(this.disposed)return;let e=this.config.getState().buildProgress??0;if(e>=this.progressCap)return;let t=Math.max(0,Date.now()-this.progressStartedAt),u=1-Math.exp(-t/this.progressEstimateMs),o=Math.floor(this.progressStartValue+(this.progressCap-this.progressStartValue)*u);t>this.progressEstimateMs&&o<=e&&(o=e+1),o=Math.min(this.progressCap,o),o>e&&this.config.setState({buildProgress:o});}advanceBuildProgress(e){let t=this.config.getState().buildProgress??0,u=Math.min(99,Math.max(0,Math.floor(e)));u>t&&this.config.setState({buildProgress:u});}completeBuildProgress(e,t){this.stopBuildProgress(),this.progressCompletionTimer&&clearTimeout(this.progressCompletionTimer),this.config.setState({engineResult:e,isBuilding:true,buildProgress:100,engineError:null}),this.config.onEngineCompleted(e),this.progressCompletionTimer=setTimeout(()=>{this.disposed||t!==this.computeVersion||(this.config.setState({isBuilding:false}),this.progressCompletionTimer=null);},120);}stopBuildProgress(){this.progressTimer&&(clearInterval(this.progressTimer),this.progressTimer=null);}initialProgressFor(e){switch(e){case "init":return 2;case "reconfigure":return 24;case "filter":return 35;case "compute":return 86}}progressCapFor(e){switch(e){case "init":return 92;case "reconfigure":return 95;case "filter":return 96;case "compute":return 99}}estimateProgressDuration(e){let t=this.config.getOptions().data?.length??0;return e==="init"?t>=2e6?7e3:t>=5e5?4200:t>=1e5?2400:1e3:e==="compute"?t>=2e6?2200:t>=5e5?1600:900:t>=5e5?1800:1e3}handleEngineError(e){this.stopBuildProgress(),this.progressCompletionTimer&&(clearTimeout(this.progressCompletionTimer),this.progressCompletionTimer=null);let t=e instanceof Error?e:new Error(String(e));console.error("PivotGrid Engine Error",t),this.config.getOptions().onError?.(t),this.config.setState({engineError:t}),this.config.onEngineError(t);}unplacedFilteredFieldIds(e){let t=new Set([...this.config.getAreaFields("row"),...this.config.getAreaFields("column"),...this.config.getAreaFields("data")].map(u=>u.id));return e.filter(u=>u.filterValues&&u.filterValues.size>0&&!t.has(u.id)).map(u=>u.id).sort()}createStructuralFieldsHash(e){return e.map(t=>[t.id,t.area,t.areaIndex,t.isCalculated?"1":"0",t.dataField??"",t.dataType??"",String(t.groupInterval??""),t.summaryType??"",t.formulaString??""].join(":")).join("|")}createFieldsHash(e){return e.map(t=>[t.id,t.area,t.areaIndex,t.sortOrder,t.sortBySummaryField,t.sortBySummaryPath].join(":")).join("|")}createFilterHash(e){return e.filter(t=>t.filterValues&&t.filterValues.size>0).map(t=>{let u=Array.from(t.filterValues).map(o=>this.serializeFilterValue(o)).sort().join(",");return `${t.id}:${t.filterType||"include"}:${u}`}).sort().join("|")}serializeFilterValue(e){if(e===null)return "null:";if(e===void 0)return "undefined:";if(e instanceof Date)return `date:${Number.isNaN(e.getTime())?"":e.toISOString()}`;let t=typeof e;if(t==="string"||t==="number"||t==="boolean"||t==="bigint")return `${t}:${String(e)}`;try{return `${t}:${JSON.stringify(e)}`}catch{return `${t}:${String(e)}`}}setHashCache=new WeakMap;createSetHash(e){let t=this.setHashCache.get(e);return t===void 0&&(t=Array.from(e).sort().join("|"),this.setHashCache.set(e,t)),t}};var gr=null;function ti(r){gr=r;}function Mt(){return gr}var Cr=150,vr=95,ui=20;function ri(r){let e=(t,u,o)=>typeof t=="number"&&Number.isFinite(t)&&t>0?Math.min(o,Math.max(ui,Math.round(t))):u;return {rowHeader:e(r?.rowHeader,Cr,Nt),data:e(r?.data,vr,Number.MAX_SAFE_INTEGER)}}var Ot=160,Lt=.6,Vt=56,Nt=2e3;function yr(r,e){let t=r.reduce((n,s)=>n+s,0);if(e<=0||t===0)return {widths:r,total:t};let u=Math.min(e-Ot,e*Lt);if(t<=u)return {widths:r,total:t};let o=u/t,i=r.map(n=>Math.max(Vt,Math.round(n*o)));return {widths:i,total:i.reduce((n,s)=>n+s,0)}}function oi(r,e,t,u){if(e<0||e>=r.length)return t;let i=r.reduce((d,p)=>d+p,0)-r[e],n=d=>{let p=r.slice();return p[e]=d,yr(p,u).widths[e]};if(u<=0)return t;let s=Math.min(u-Ot,u*Lt);if(t+i<=s||i===0)return t;let a=Math.min(Math.max(t,Vt),s-1),l=Math.round(a*i/(s-a));if(l>Nt)return Nt;for(let d=0;d<4&&n(l)<a;d++)l+=1;for(let d=0;d<4&&n(l)>a&&l>1;d++)l-=1;return Math.max(1,l)}function zt(r){let e=new Set,t=r.cellMatrix.keys;for(let o=0;o<t.length;o++)e.add(t[o]);let u=(o,i)=>{let n=[];for(let s of o){let a=i?r.rowIndexMap[s.key]:r.columnIndexMap[s.key];if(a===void 0){n.push(s);continue}if(i?e.has(a*67108864):e.has(a)){let d=s.children&&s.children.length>0?u(s.children,i):[];n.push({...s,children:d});}}return n};return [u(r.rowTree,true),u(r.colTree,false)]}var Gt=(r,e,t)=>!!t?.subTotals&&e&&!!r.children&&r.children.length>0;function _t(r,e,t=false,u){let o=t||e.has(r.key);return !r.children||r.children.length===0||!o?1:r.children.reduce((n,s)=>n+_t(s,e,t,u),0)+(Gt(r,o,u)?1:0)}function Ht(r,e,t=false){if(!r||r.length===0)return 0;let u=0;for(let o of r){let i=t||e.has(o.key),n=0;i&&o.children&&o.children.length>0&&(n=Ht(o.children,e,t)),n>u&&(u=n);}return u+1}function Fr(r,e,t=false,u){let o=[],i=n=>{for(let s of n){let a=t||e.has(s.key);if(!(s.children&&s.children.length>0)||!a){o.push({node:s,isSubtotal:false});continue}let d=Gt(s,a,u);d&&u?.totalsPosition==="top"&&o.push({node:s,isSubtotal:true}),i(s.children),d&&u?.totalsPosition!=="top"&&o.push({node:s,isSubtotal:true});}};return i(r),o}function $t(r,e,t=false,u){return Fr(r,e,t,u).map(o=>o.node)}function Wt(r,e,t,u,o=false,i){let n=Ht(r,u,o),s={subTotals:t.showColumnTotals!==false,totalsPosition:t.totalsPosition??"bottom"},a=i?.subTotal??"Total",l=[],p=e.length>1&&t.dataFieldPosition==="columns",c=p?e.length:1;for(let h=0;h<n;h++)l.push([]);(p||r.length===0)&&l.push([]);let m=0,f=(h,g)=>{for(let C of h){let v=o||u.has(C.key),F=C.hasChildren??(C.children&&C.children.length>0),E=!F||!v,x=_t(C,u,o,s),A=Gt(C,v,s),w=()=>{l[g+1].push({node:C,caption:`${a}: ${String(C.value||"(Blank)")}`,colSpan:c,rowSpan:n-(g+1),isTotal:true,isSubtotal:true,fieldId:C.fieldId,colPath:C.key,leafStart:m}),p&&e.forEach((b,B)=>{l[n].push({node:null,caption:b.caption,colSpan:1,rowSpan:1,isTotal:true,isSubtotal:true,fieldId:b.id,colPath:C.key,leafStart:m+B});}),m+=c;},y={node:C,caption:String(C.value||"(Blank)"),colSpan:x*c,rowSpan:E?n-g:1,isTotal:C.isTotal,fieldId:C.fieldId,colPath:C.key,hasChildren:F,isExpanded:v,leafStart:m};l[g].push(y),E&&p&&e.forEach((b,B)=>{l[n].push({node:null,caption:b.caption,colSpan:1,rowSpan:1,isTotal:false,fieldId:b.id,colPath:C.key,leafStart:m+B});}),E?m+=y.colSpan:(A&&s.totalsPosition==="top"&&w(),f(C.children,g+1),A&&s.totalsPosition!=="top"&&w());}};return r.length>0?f(r,0):p&&e.forEach((h,g)=>{l[0].push({node:null,caption:h.caption,colSpan:1,rowSpan:1,isTotal:false,fieldId:h.id,colPath:"",leafStart:g}),m=g+1;}),t.showRowGrandTotals&&r.length>0&&(l[0].push({node:null,caption:i?.grandTotal??"Grand Total",colSpan:c,rowSpan:n,isTotal:true,colPath:"",leafStart:m}),p&&e.forEach((h,g)=>{l[n].push({node:null,caption:h.caption,colSpan:1,rowSpan:1,isTotal:true,fieldId:h.id,colPath:"",leafStart:m+g});})),l.filter(h=>h.length>0)}function ii(r,e,t){let u=[],o=i=>{for(let n of i)u.push(n),(t||e.has(n.key))&&n.children.length>0&&o(n.children);};return o(r),u}function Ut(r,e,t,u,o,i){let n=[],s=(l,d,p)=>{for(let c of l){let m=t||e.has(c.key),f=c.hasChildren??(c.children&&c.children.length>0),h=[...d];if(h[p]=String(c.value),!f||!m){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:false,hasChildren:f,isExpanded:m,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}else {if(o&&i==="top"&&p<u-1){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}if(s(c.children,h,p+1),o&&i==="bottom"&&p<u-1){let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:new Array(u).fill(1),isFirstInGroup:new Array(u).fill(false)});}}}},a=new Array(u).fill(null);return s(r,a,0),ni(n,u),n}function ni(r,e){for(let t=0;t<e;t++){let u=0;for(;u<r.length;){let o=r[u].pathValues[t];if(o===null){r[u].rowSpans[t]=1,r[u].isFirstInGroup[t]=false,u++;continue}let i=u+1;for(;i<r.length&&r[i].pathValues[t]===o;){let s=true;for(let a=0;a<t;a++)if(r[i].pathValues[a]!==r[u].pathValues[a]){s=false;break}if(!s)break;i++;}let n=i-u;r[u].rowSpans[t]=n,r[u].isFirstInGroup[t]=true;for(let s=u+1;s<i;s++)r[s].rowSpans[t]=0,r[s].isFirstInGroup[t]=false;u=i;}}}function Kt(r,e,t,u,o,i){let n=[],s=(l,d,p)=>{for(let c of l){let m=t||e.has(c.key),f=c.hasChildren??(c.children&&c.children.length>0),h=[...d];h[p]=String(c.value);let g=[...h];for(let C=p+1;C<u;C++)g[C]=null;n.push({pathValues:g,depth:p,key:c.key,isSubtotal:false,hasChildren:f,isExpanded:m,node:c,rowSpans:[1],isFirstInGroup:[true]}),m&&f&&(s(c.children,h,p+1),o&&i==="bottom"&&n.push({pathValues:g,depth:p,key:c.key,isSubtotal:true,hasChildren:true,isExpanded:true,node:c,rowSpans:[1],isFirstInGroup:[true]}));}},a=new Array(u).fill(null);return s(r,a,0),n}var ai=["#f8fafc","#2563eb"],si="#3b82f6",li="#ef4444",di=["arrow-down","minus","arrow-up"],ci=new Set(["colorScale","dataBar"]);function jt(r){return !!r.conditionalFormatting?.some(e=>ci.has(e.type))}function qt(r,e){let t={},u=e.length;if(u===0||!r?.cellMatrix)return t;let o=r.cellMatrix.keys,i=r.cellMatrix.sums,n=new Float64Array(u).fill(1/0),s=new Float64Array(u).fill(-1/0);for(let a=0;a<o.length;a++){let l=o[a],d=l%67108864;if(!((l-d)/67108864===0||d===0))for(let c=0;c<u;c++){let m=i[a*u+c];Number.isFinite(m)&&(m<n[c]&&(n[c]=m),m>s[c]&&(s[c]=m));}}for(let a=0;a<u;a++)n[a]!==1/0&&(t[e[a].id]={min:n[a],max:s[a]});return t}function Er(r){if(!r)return null;let e=r.trim();if(e.startsWith("#")){let o=e.slice(1);if(o.length===3&&(o=o.split("").map(n=>n+n).join("")),o.length!==6)return null;let i=Number.parseInt(o,16);return Number.isNaN(i)?null:[i>>16&255,i>>8&255,i&255]}let t=e.match(/rgba?\(([^)]+)\)/i);if(!t)return null;let u=t[1].split(",").map(o=>Number.parseFloat(o.trim()));return u.length<3||u.some(o=>Number.isNaN(o))?null:[u[0],u[1],u[2]]}var xr=r=>r<0?0:r>1?1:r;function be(r,e){if(!e)return 0;let t=e.max-e.min;return !Number.isFinite(t)||t===0?0:xr((r-e.min)/t)}function it(r,e){let t=e.map(Er);if(t.some(g=>g===null)||t.length<2)return null;let u=t,o=xr(r),i=u.length-1,n=o*i,s=Math.min(i-1,Math.floor(n)),a=n-s,[l,d,p]=u[s],[c,m,f]=u[s+1],h=(g,C)=>Math.round(g+(C-g)*a);return `rgb(${h(l,c)}, ${h(d,m)}, ${h(p,f)})`}function pi(r,e,t,u){let o={style:{}},i=e.conditionalFormatting;if(!i||i.length===0)return o;for(let n of i){let s=n.style??{};switch(n.type){case "expression":{if(!n.formula||t===null)break;let a=false;try{a=!!n.formula(r,t);}catch{a=false;}a&&(o.style={...o.style,...n.style});break}case "colorScale":{if(typeof r!="number"||!Number.isFinite(r)||!u)break;let a=Array.isArray(s.colors)&&s.colors.length>=2?s.colors:ai,l=it(be(r,u),a);l&&(o.style={...o.style,backgroundColor:l});break}case "dataBar":{if(typeof r!="number"||!Number.isFinite(r)||!u)break;let a=r<0;o.dataBar={ratio:be(r,u),color:a?typeof s.negativeColor=="string"?s.negativeColor:li:typeof s.color=="string"?s.color:si,negative:a};break}case "iconSet":{if(typeof r!="number"||!Number.isFinite(r))break;let a=Array.isArray(s.icons)&&s.icons.length>0?s.icons:di,l=Array.isArray(s.thresholds)?s.thresholds:null;if(l&&l.length>0){let d=0;for(;d<l.length&&r>=l[d];)d++;o.icon=a[Math.min(d,a.length-1)];}else {let d=be(typeof r=="number"?r:0,u),p=Math.min(a.length-1,Math.floor(d*a.length));o.icon=a[p];}break}}}return o}var ze=class r{worker;static sharedWorker=null;static workerErrorCount=0;static MAX_WORKER_ERRORS=3;static getOrCreateWorker(){if(r.sharedWorker&&r.workerErrorCount>=r.MAX_WORKER_ERRORS){try{r.sharedWorker.terminate();}catch{}r.sharedWorker=null,r.workerErrorCount=0;}return r.sharedWorker||(r.sharedWorker=Fe("export",()=>{let e=()=>"./export.worker.js";return new URL(e(),import.meta.url)}),r.workerErrorCount=0,r.sharedWorker.onerror=()=>{r.workerErrorCount++;}),r.sharedWorker}static disposeWorker(){if(r.sharedWorker){try{r.sharedWorker.terminate();}catch{}r.sharedWorker=null,r.workerErrorCount=0;}}constructor(){this.worker=r.getOrCreateWorker();}async streamToCSV(e,t,u,o="tr-TR",i,n){let a=[];a.push(new Blob([new Uint8Array([239,187,191])]));try{for(let d=0;d<e.length;d+=5e3){if(n?.aborted)return;let p=e.slice(d,d+5e3),c=d===0,m=await this.processChunkInWorker(p,t,"csv",c,!1,o);a.push(new Blob([m],{type:"text/csv;charset=utf-8;"})),i?.(Math.min(95,Math.round((d+5e3)/e.length*95))),await new Promise(f=>setTimeout(f,0));}if(n?.aborted)return;let l=new Blob(a,{type:"text/csv;charset=utf-8;"});Ar.saveAs(l,`${u}.csv`),i?.(100);}catch(l){throw console.error("Export error",l),l}}async streamToExcelXML(e,t,u,o="tr-TR",i,n){let a=[];a.push(new Blob([new Uint8Array([239,187,191])]));try{for(let d=0;d<e.length;d+=5e3){if(n?.aborted)return;let p=e.slice(d,d+5e3),c=d===0,m=d+5e3>=e.length,f=await this.processChunkInWorker(p,t,"excel-xml",c,m,o);a.push(new Blob([f],{type:"application/vnd.ms-excel;charset=utf-8;"})),i?.(Math.min(95,Math.round((d+5e3)/e.length*95))),await new Promise(h=>setTimeout(h,0));}if(n?.aborted)return;let l=new Blob(a,{type:"application/vnd.ms-excel;charset=utf-8;"});Ar.saveAs(l,`${u}.xls`),i?.(100);}catch(l){throw console.error("Export error",l),l}}processChunkInWorker(e,t,u,o,i=false,n="tr-TR"){return new Promise((s,a)=>{let l=Math.random().toString(36).substring(7),d=setTimeout(()=>{this.worker.removeEventListener("message",p),r.workerErrorCount++,a(new Error("Export worker timed out"));},3e4),p=m=>{m.data.chunkId===l&&(clearTimeout(d),this.worker.removeEventListener("message",p),m.data.type==="error"?(r.workerErrorCount++,a(new Error(m.data.error))):s(m.data.payload));};this.worker.addEventListener("message",p);let c=t.map(m=>({id:m.id,caption:m.caption,dataField:m.dataField,format:m.format,dataType:m.dataType}));this.worker.postMessage({type:"process_chunk",chunkId:l,chunk:e,fields:c,format:u,isFirstChunk:o,isLastChunk:i,locale:n});})}};function mi(r,e){if(!r||typeof r=="function")return;let t=r;if(t.style==="currency"){let u=t.currency||"TRY",o=t.minimumFractionDigits??2,i=o>0?"."+"0".repeat(o):"",s={TRY:"\u20BA",USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5"}[u]||u;return `#,##0${i} "${s}"`}if(t.style==="percent"){let u=t.minimumFractionDigits??0;return `0${u>0?"."+"0".repeat(u):""}%`}if(t.style==="decimal"||!t.style){let u=t.minimumFractionDigits,o=t.maximumFractionDigits,i=t.useGrouping!==false;if(u!==void 0||o!==void 0){let n=u??o??2,s=n>0?"."+"0".repeat(n):"";return i?`#,##0${s}`:`0${s}`}}if(e==="date")return "dd/mm/yyyy"}function fi(r,e,t="tr-TR"){if(r==null||r==="")return "";if(typeof r=="number"&&e?.format){if(typeof e.format=="function")try{return e.format(r)}catch{return String(r)}try{return new Intl.NumberFormat(t,e.format).format(r)}catch{return String(r)}}return String(r)}var Yt=new Map;function nt(r,e,t="tr-TR"){if(r==null||r==="")return "";if(typeof r=="number"&&e?.format){if(typeof e.format=="function")try{return e.format(r)}catch{return String(r)}try{let u=`${e.id}_${t}`,o=Yt.get(u);return o||(o=new Intl.NumberFormat(t,e.format),Yt.set(u,o)),o.format(r)}catch{return String(r)}}return String(r)}function hi(r,e){if(!r.formula)return null;try{if(!r.formula(e,{rowPath:[],colPath:[],values:{},displayValues:{},isTotalCell:!1}))return null;let u=r.style||{},o={};return (u.color||u.fontWeight||u.fontSize)&&(o.font={},u.color&&(o.font.color={argb:wr(u.color)}),u.fontWeight==="bold"&&(o.font.bold=!0)),u.backgroundColor&&(o.fill={type:"pattern",pattern:"solid",fgColor:{argb:wr(u.backgroundColor)}}),o}catch{return null}}function wr(r){if(!r)return "FF000000";if(/^[0-9A-Fa-f]{8}$/.test(r))return r;if(r.startsWith("#")){let t=r.slice(1);if(t.length===6)return "FF"+t.toUpperCase();if(t.length===3)return "FF"+t.split("").map(u=>u+u).join("").toUpperCase();if(t.length===8)return t.toUpperCase()}let e=r.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let t=parseInt(e[1]).toString(16).padStart(2,"0"),u=parseInt(e[2]).toString(16).padStart(2,"0"),o=parseInt(e[3]).toString(16).padStart(2,"0");return `FF${t}${u}${o}`.toUpperCase()}return "FF000000"}function gi(){Yt.clear();}async function Zt(r,e,t,u,o,i,n,s="PivotExport",a="tr-TR",l){if(!u)return;let d=l?.fileName||s,p=l?.locale||a,c=l?.expandAll??false,m=l?.signal,f=l?.onProgress;if(m?.aborted)return;let h=t.filter(y=>y.area==="row").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),g=t.filter(y=>y.area==="column").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),C=t.filter(y=>y.area==="data").sort((y,b)=>(y.areaIndex||0)-(b.areaIndex||0)),v=e,F=l?.includeHiddenFields?t.filter(y=>y.area!=="chooser"):t.filter(y=>y.area==="row"||y.area==="column"||y.area==="data"),E=c?new Set(["*"]):i,x=c?new Set(["*"]):n,A=c,w=o.hideEmptySummaryCells?(()=>{let[y,b]=zt(u);return {...u,rowTree:y,colTree:b}})():u;switch(r){case "excel-list":case "excel-pivot":case "pdf":{let y=Mt();if(!y){console.warn(`[pivotgrid] "${r}" export is an Enterprise feature \u2014 render EnterprisePivotGrid (or import @kanunilabs/pivotgrid-react-enterprise) to enable styled Excel/PDF export.`);return}await y({format:r,listRecords:v,visibleListFields:F,engineResult:w,rowFields:h,colFields:g,dataFields:C,layout:o,expandedPaths:E,expandedColPaths:x,allExpanded:A,fileName:d,locale:p,signal:m,onProgress:f});break}case "json":br(v,d+"_List"),f?.(100);break;case "json-pivot":br(Di(w,C),d+"_Pivot"),f?.(100);break;case "json-snapshot":vi(v,t,o,i,d+"_Snapshot"),f?.(100);break;case "xml":await Ei(v,d,f,m);break;case "csv":{await new ze().streamToCSV(v,F,d,p,f,m),m?.aborted||f?.(100);break}case "print":await Si(w,h,g,C,o,E,x,A,d,p,m,f);break;case "clipboard":await Pi(w,h,g,C,o,E,x,A,p),f?.(100);break}}function br(r,e){let t=JSON.stringify(r,null,2);Pr(t,"application/json",`${e}.json`);}function vi(r,e,t,u,o){let i={version:"1.0.0",type:"FULL_SNAPSHOT",timestamp:new Date().toISOString(),data:r,fields:e,layout:t,expandedPaths:Array.from(u)},n=JSON.stringify(i,null,2);Pr(n,"application/json",`${o}.json`);}var yi=4*1024*1024,Fi=1e4;async function Ei(r,e,t,u){let o=await xi(r,t,u);!o||u?.aborted||(Ar.saveAs(new Blob(o,{type:"application/xml"}),`${e}.xml`),t?.(100));}async function xi(r,e,t){let u=[`<?xml version="1.0" encoding="UTF-8"?>
|
|
6
6
|
<Records>
|
|
7
|
-
`],o="",i=-1,n=false,s=()=>{o&&(u.push(o),o="",n=true);},a=l=>{o.length>0&&o.length+l.length>
|
|
8
|
-
`);for(let p of Object.keys(d)){let c=
|
|
7
|
+
`],o="",i=-1,n=false,s=()=>{o&&(u.push(o),o="",n=true);},a=l=>{o.length>0&&o.length+l.length>yi&&s(),o+=l;};for(let l=0;l<r.length;l++){if(t?.aborted)return null;let d=r[l]??{};a(` <Record>
|
|
8
|
+
`);for(let p of Object.keys(d)){let c=Ai(p),m=d[p],f=m==null?"":String(m);a(` <${c}>${Sr(f)}</${c}>
|
|
9
9
|
`);}if(a(` </Record>
|
|
10
|
-
`),(l+1)%
|
|
10
|
+
`),(l+1)%Fi===0||l===r.length-1){let p=r.length===0?99:Math.min(99,Math.floor((l+1)/r.length*99));p>i&&(i=p,e?.(p));}if(n&&(n=false,await new Promise(p=>setTimeout(p,0)),t?.aborted))return null}return t?.aborted?null:(s(),u.push("</Records>"),u)}function Ai(r){let e=String(r).replace(/[^a-zA-Z0-9_.-]/g,"_");return /^[a-zA-Z_]/.test(e)?e:`_${e||"field"}`}function Sr(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,"")}function Pr(r,e,t){let u=new Blob([r],{type:e}),o=URL.createObjectURL(u),i=document.createElement("a");i.href=o,i.download=t,i.click(),URL.revokeObjectURL(o);}function st(r,e,t,u,o,i,n=true){let s=r.rowIndexMap[e]??-1,a=r.columnIndexMap[t]??-1;if(s!==-1&&a!==-1){let l=s*67108864+a,d=i.get(l);if(d!==void 0){let p=u||o[0]?.id;if(p){let c=o.findIndex(m=>m.id===p);if(c!==-1){let m=r.cellMatrix,f=d*o.length+c;return n&&m.displaySums?m.displaySums[f]:m.sums[f]}}}}return ""}function wi(r,e,t){if(!e.conditionalFormatting)return null;for(let u of e.conditionalFormatting){if(u.type==="colorScale"&&t){let o=u.style??{},i=Array.isArray(o.colors)&&o.colors.length>=2?o.colors:["#f8fafc","#2563eb"],n=it(be(r,t),i);if(n)return {fillColor:n,textColor:void 0,bold:false}}if(u.type==="expression"&&u.formula){let o=false;try{o=!!u.formula(r,{rowPath:[],colPath:[],values:{},displayValues:{},isTotalCell:!1});}catch{o=false;}if(o){let i=u.style||{},n=i.fontWeight;return {fillColor:typeof i.backgroundColor=="string"?i.backgroundColor:void 0,textColor:typeof i.color=="string"?i.color:void 0,bold:n==="bold"||n===700||n==="700"||typeof n=="number"&&n>=600}}}}return null}function bi(r){if(!r)return null;if(r.startsWith("#")){let t=r.slice(1);if(t.length===3&&(t=t.split("").map(u=>u+u).join("")),t.length===6){let u=parseInt(t,16);return [u>>16&255,u>>8&255,u&255]}}let e=r.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);return e?[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]:null}function Jt(r){let e=new Map;if(r?.cellMatrix?.keys){let t=r.cellMatrix.keys;for(let u=0;u<t.length;u++)e.set(t[u],u);}return e}function Dr(r,e,t,u,o){let i=[],n=$t(r.colTree,u,o,{subTotals:t.showColumnTotals!==false,totalsPosition:t.totalsPosition??"bottom"});if(n.length===0)return e.length>0?e.forEach(s=>i.push(["Grand Total",s.id])):i.push(["Grand Total"]),i;for(let s of n)e.length>0?e.forEach(a=>i.push([...s.key.split("|"),a.id])):i.push(s.key.split("|"));return t.showRowGrandTotals&&(e.length>0?e.forEach(s=>i.push(["Grand Total",s.id])):i.push(["Grand Total"])),i}function lt(r,e,t){return e&&e.dataType==="date"&&r!==null&&r!==void 0&&r!==""?xe.format(r,"grid",t,e.groupInterval):r}function Br(r,e,t,u,o){let i=t.rowHeaderLayout==="tree",n=t.showRowTotals??true,s=t.totalsPosition??"bottom";return i?{flatRows:Kt(r.rowTree,u,o,e.length||1,n,s),treeMode:true,rowLabelCols:1}:{flatRows:Ut(r.rowTree,u,o,e.length,n,s),treeMode:false,rowLabelCols:Math.max(1,e.length)}}function Tr(r,e,t,u,o,i){let n=i?.subTotal??"Total";if(t){let a=r.depth,l=r.pathValues[a],d=l!=null?lt(l,e[a],o):"",p=" ".repeat(a);return [r.isSubtotal?`${p}${n}: ${String(d??"")}`:`${p}${String(d??"")}`]}let s=new Array(u).fill("");for(let a=0;a<u;a++)if(r.isFirstInGroup[a]){let l=r.pathValues[a];s[a]=l!=null?lt(l,e[a],o):r.isSubtotal?n:"";}return s}function Xt(r,e){let t=r,u=e.length>0?r[r.length-1]:"";return e.length>0&&(t=r.slice(0,-1)),{cHash:t[0]==="Grand Total"?"":t.join("|"),dfId:u}}var Rr=()=>new Promise(r=>setTimeout(r,0)),Ir=2e4;async function Qt(r,e,t,u,o,i,n=false,s="tr-TR",a=false,l=[],d,p,c){let m=[],f=new Map(l.map(S=>[S.id,S])),{flatRows:h,treeMode:g,rowLabelCols:C}=Br(r,e,u,o,n),v=Wt(r.colTree,t,u,i,n,c),F=v.length,E=C,x=a&&t.some(S=>S.conditionalFormatting&&S.conditionalFormatting.length>0),A=x&&t.some(jt)?qt(r,t):{},w=x?[]:null;for(let S=0;S<F;S++){let P=new Array(E).fill("");S===F-1&&(g?P[0]=e.map(I=>I.caption).join(" / "):e.forEach((I,N)=>{P[N]=I.caption;})),v[S].forEach(I=>{let N=I.fieldId?f.get(I.fieldId):void 0,L=I.isTotal?I.caption:lt(I.caption,N,s);for(let M=0;M<I.colSpan;M++)P.push(M===0?L:"");}),m.push(P),w&&w.push(new Array(P.length).fill(null));}let y=Jt(r),b=Dr(r,t,u,i,n),B=new Map(t.map(S=>[S.id,S])),R=h.length;for(let S=0;S<R;S++){let P=h[S],I=Tr(P,e,g,C,s,c),N=w?new Array(E).fill(null):null,M=(P.isSubtotal?P.pathValues.slice(0,P.depth).map(String):P.node.key.split("|")).join("|");for(let Y=0;Y<b.length;Y++){let{cHash:ne,dfId:ae}=Xt(b[Y],t),j=st(r,M,ne,ae,t,y),oe=B.get(ae);if(a&&typeof j=="number"?I.push(nt(j,oe,s)):I.push(j??""),N){let k=st(r,M,ne,ae,t,y,false);N.push(typeof k=="number"&&oe?.conditionalFormatting?wi(k,oe,A[oe.id]):null);}}if(m.push(I),w&&N&&w.push(N),(S+1)%Ir===0&&S+1<R){if(d?.aborted)return null;p?.(Math.round((S+1)/R*100)),await Rr();}}if(d?.aborted)return null;if(u.showColumnGrandTotals){let S=new Array(E).fill("");S[0]=c?.grandTotal??"Grand Total";for(let P=0;P<b.length;P++){let{cHash:I,dfId:N}=Xt(b[P],t),L=st(r,"",I,N,t,y);if(a&&typeof L=="number"){let M=B.get(N);S.push(nt(L,M,s));}else S.push(L??"");}m.push(S),w&&w.push(new Array(S.length).fill(null));}return {aoa:m,styles:w}}async function Si(r,e,t,u,o,i,n,s,a,l="tr-TR",d,p){if(d?.aborted)return;let c=await Qt(r,e,u,o,i,n,s,l,true,t,d,x=>p?.(Math.round(x*.7)));if(!c||d?.aborted)return;let{aoa:m,styles:f}=c,h=Math.max(1,t.length)+(u.length>1&&o.dataFieldPosition==="columns"?1:0),g=`<!DOCTYPE html>
|
|
11
11
|
<html>
|
|
12
12
|
<head>
|
|
13
13
|
<meta charset="utf-8">
|
|
14
|
-
<title>${
|
|
14
|
+
<title>${at(a)}</title>
|
|
15
15
|
<style>
|
|
16
16
|
@media print {
|
|
17
17
|
@page { margin: 10mm; size: landscape; }
|
|
@@ -53,11 +53,11 @@ import Er from'file-saver';var Ke={showColumnGrandTotals:true,showRowGrandTotals
|
|
|
53
53
|
</head>
|
|
54
54
|
<body>
|
|
55
55
|
<div class="print-header">
|
|
56
|
-
<h1>${
|
|
56
|
+
<h1>${at(a)}</h1>
|
|
57
57
|
<div class="meta">Generated on: ${new Date().toLocaleString()}</div>
|
|
58
58
|
</div>
|
|
59
|
-
<table>`;g+="<thead>";for(let x=0;x<Math.min(h,m.length);x++){g+="<tr>";for(let A of m[x])g+=`<th>${
|
|
60
|
-
`);try{await navigator.clipboard.writeText(d);}catch{let p=document.createElement("textarea");p.value=d,p.style.cssText="position:fixed;left:-9999px;top:-9999px;opacity:0",document.body.appendChild(p),p.select();try{document.execCommand("copy");}catch{}document.body.removeChild(p);}}function bi(r,e){let t=Zt(r),u={};if(e&&e.length>0){let o=r.rowIndexMap[""]??-1,i=r.columnIndexMap[""]??-1;if(o!==-1&&i!==-1){let n=o*67108864+i,s=t.get(n);if(s!==void 0)for(let a=0;a<e.length;a++)u[e[a].id]=r.cellMatrix.sums[s*e.length+a];}}return {rowTree:r.rowTree,colTree:r.colTree,grandTotal:u,metadata:{rowCount:Object.keys(r.rowIndexMap).length,colCount:Object.keys(r.columnIndexMap).length,cellCount:r.cellMatrix.keys.length,exportedAt:new Date().toISOString()}}}function Qt(r,e){return r?.getPluginsByType("exporter").find(t=>t.id===e||t.id===`exporter-${e}`)}var Ve=class{static async exportData({format:e,exportOptions:t,controllerOptions:u,state:o,emitExporting:i}){let n={format:e,cancel:false};if(u.onExporting?.(n),i(n),n.cancel)return;let s=o.engineResult||{rowTree:[],colTree:[],cellMatrix:{keys:new Float64Array,sums:new Float64Array,counts:new Int32Array},rowIndexMap:{},columnIndexMap:{},cardinalityMap:{}},a=t?.applyFilters?se(u.data,o.fields,o.layout.prefilter):u.data,l=Qt(u.registry,e);if(l?.exportFunction){l.exportFunction(a,{fields:o.fields,engineResult:s,layout:o.layout,expandedPaths:new Set(o.expandedPaths),expandedColPaths:new Set(o.expandedColPaths)});return}let d=t?.fileName||"PivotExport",p=t?.locale||u.locale||"tr-TR";await Xt(e,a,o.fields,s,o.layout,o.expandedPaths,o.expandedColPaths,d,p,t);}};var Rr=["row","column","data","filter","chooser"],W=class{static normalizeAreaIndexes(e){let t=[...e];return Rr.forEach(u=>{t.filter(i=>i.area===u).sort((i,n)=>(i.areaIndex||0)-(n.areaIndex||0)).forEach((i,n)=>{let s=t.findIndex(a=>a.id===i.id);s!==-1&&(t[s]={...t[s],areaIndex:n});});}),t}static sortField(e,t,u){return e.map(o=>o.id===t?{...o,sortOrder:u,sortBySummaryField:void 0,sortBySummaryPath:void 0}:o)}static sortFieldBySummary(e,t,u,o){return e.map(i=>i.id===t?{...i,sortOrder:"desc",sortBySummaryField:u,sortBySummaryPath:o}:i)}static clearAllSorting(e){return e.map(t=>({...t,sortOrder:void 0,sortBySummaryField:void 0,sortBySummaryPath:void 0}))}static updateField(e,t){return e.map(u=>u.id===t.id?t:u)}static applyFilter(e,t,u,o){return e.map(i=>i.id===t?{...i,filterValues:u,filterType:o}:i)}static clearFilter(e,t){return e.map(u=>u.id===t?{...u,filterValues:void 0,filterType:void 0}:u)}static removeField(e,t){return this.normalizeAreaIndexes(e.map(u=>u.id===t?{...u,area:"chooser",areaIndex:0}:u))}static deleteField(e,t){return this.normalizeAreaIndexes(e.filter(u=>u.id!==t))}static changeFieldArea(e,t,u){if(!e.find(n=>n.id===t))return e;let i=e.filter(n=>n.area===u).length;return this.normalizeAreaIndexes(e.map(n=>n.id===t?{...n,area:u,areaIndex:i}:n))}static placeFields(e,t,u){let o=new Map;for(let n of e)!n.area||n.area==="chooser"||o.set(n.area,(o.get(n.area)??0)+1);let i=new Map;for(let n of t){if(i.has(n))continue;let s=e.find(d=>d.id===n);if(!s)continue;let a=u(s),l=o.get(a)??0;i.set(n,{area:a,areaIndex:l}),o.set(a,l+1);}return i.size===0?e:this.normalizeAreaIndexes(e.map(n=>{let s=i.get(n.id);return s?{...n,...s}:n}))}static moveFieldByDirection(e,t,u){let o=e.find(d=>d.id===t);if(!o||o.area==="chooser")return e;let i=e.filter(d=>d.area===o.area).sort((d,p)=>(d.areaIndex||0)-(p.areaIndex||0)),n=i.findIndex(d=>d.id===t);if(n===-1)return e;let s=n;if(u==="start"&&(s=0),u==="end"&&(s=i.length-1),u==="left"&&(s=Math.max(0,n-1)),u==="right"&&(s=Math.min(i.length-1,n+1)),s===n)return e;let a=[...i];a.splice(n,1),a.splice(s,0,o);let l=[...e];return a.forEach((d,p)=>{let c=l.findIndex(m=>m.id===d.id);c!==-1&&(l[c]={...d,areaIndex:p});}),l}static async moveFieldFromDrop(e,t){let u=t.fieldId.replace("chooser-",""),o=e.findIndex(c=>c.id===u);if(o===-1||!t.overId)return e;let i=e[o],n=t.dragIntent,s=i.area;if(n.intent==="append"&&n.targetArea)s=n.targetArea.replace("chooser-","");else if(n.targetId&&(n.intent==="before"||n.intent==="after"))s=e.find(c=>c.id===n.targetId)?.area||i.area;else {let c=t.overId.replace("chooser-","");this.isArea(c)&&(s=c);}let a=this.applyDrop(e,t,o,u);if(a===e||!t.validateMove)return a;let l=a.find(c=>c.id===i.id),d=false,p={fieldId:i.id,sourceArea:i.area||"chooser",targetArea:l?.area||s||"chooser",newIndex:l?.areaIndex??0,cancel:()=>{d=true;},get isCanceled(){return d},set isCanceled(c){d=c;}};return await t.validateMove(p),d?e:a}static applyDrop(e,t,u,o){let i=e[u],n=t.dragIntent,s=[...e];if(n.intent==="append"&&n.targetArea){let a=n.targetArea.replace("chooser-",""),l=s.filter(d=>d.area===a&&d.id!==o);s[u]={...i,area:a,areaIndex:l.length};}else if(n.targetId&&(n.intent==="before"||n.intent==="after")){if(n.targetId===o)return e;let a=e.find(l=>l.id===n.targetId);if(a){let l=a.area;s.splice(u,1);let d=s.filter(c=>c.area===l).sort((c,m)=>(c.areaIndex||0)-(m.areaIndex||0)),p=d.findIndex(c=>c.id===n.targetId);if(p!==-1){let c=n.intent==="before"?p:p+1;d.splice(c,0,{...i,area:l}),d.forEach((m,f)=>{let h={...m,areaIndex:f},g=s.findIndex(C=>C.id===m.id);g!==-1?s[g]=h:s.push(h);});}}}else {let a=(t.overId??"").replace("chooser-","");if(this.isArea(a)){let l=s.filter(d=>d.area===a&&d.id!==o);s[u]={...i,area:a,areaIndex:l.length};}}return this.normalizeAreaIndexes(s)}static calculateDropIntent(e,t,u,o,i,n="horizontal"){let s=n==="horizontal"?u.width:u.height,a=n==="horizontal"?e-u.left:t-u.top,l=Math.min(40,s*.5),d=s-l;return a<=l?"before":a>=d?i?"append":"after":o==="before"||o==="after"?o:a<s/2?"before":"after"}static isArea(e){return Rr.includes(e)}};var eu=1;function Ir(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID().replace(/-/g,"").toLowerCase();let r=new Uint8Array(16);return crypto.getRandomValues(r),r[6]=r[6]&15|64,r[8]=r[8]&63|128,Array.from(r,e=>e.toString(16).padStart(2,"0")).join("")}var ze=class{storageKey;constructor(e){this.storageKey=e;}getReports(){try{let e=localStorage.getItem(this.storageKey);if(e)return JSON.parse(e).map(u=>{let o={...u};return o.schemaVersion||(o.schemaVersion=0),o.schemaVersion<1&&(o.state&&o.state.layout&&(o.state.layout.showFilterArea===void 0&&(o.state.layout.showFilterArea=!0),o.state.layout.showFooter===void 0&&(o.state.layout.showFooter=!0)),o.schemaVersion=1),o.schemaVersion=eu,o.state&&o.state.fields&&(o.state.fields=o.state.fields.map(i=>({...i,filterValues:i.filterValues?new Set(i.filterValues):void 0}))),o.state&&o.state.expandedPaths&&(o.state.expandedPaths=Array.isArray(o.state.expandedPaths)?o.state.expandedPaths:Array.from(o.state.expandedPaths||[])),o.state&&o.state.expandedColPaths&&(o.state.expandedColPaths=Array.isArray(o.state.expandedColPaths)?o.state.expandedColPaths:Array.from(o.state.expandedColPaths||[])),o})}catch(e){console.error("Failed to load pivot reports:",e);}return []}getDefaultReport(){return this.getReports().find(t=>t.isDefault)||null}saveReport(e,t,u=false){let o=this.getReports();u&&o.forEach(n=>n.isDefault=false);let i={id:Ir(),name:e,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),isDefault:u,schemaVersion:eu,state:t};return o.push(i),this.persist(o),i}updateReport(e,t){let u=this.getReports(),o=u.findIndex(i=>i.id===e);return o===-1?null:(u[o]={...u[o],updatedAt:new Date().toISOString(),state:t},this.persist(u),u[o])}saveAs(e,t){let u=this.getReports(),o=u.find(n=>n.id===e);if(!o)return null;let i={...o,id:Ir(),name:t,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),isDefault:false,schemaVersion:eu};return u.push(i),this.persist(u),i}deleteReport(e){let t=this.getReports();t=t.filter(u=>u.id!==e),this.persist(t);}setDefaultReport(e){let t=this.getReports();t.forEach(u=>{u.isDefault=u.id===e;}),this.persist(t);}persist(e){try{let t=e.map(u=>{let o={...u.state,fields:u.state.fields.map(i=>({...i,filterValues:i.filterValues?Array.from(i.filterValues):void 0})),expandedPaths:Array.isArray(u.state.expandedPaths)?u.state.expandedPaths:Array.from(u.state.expandedPaths||[]),expandedColPaths:Array.isArray(u.state.expandedColPaths)?u.state.expandedColPaths:Array.from(u.state.expandedColPaths||[]),chartState:u.state.chartState?{...u.state.chartState,processCell:void 0}:void 0};return {...u,state:o}});localStorage.setItem(this.storageKey,JSON.stringify(t));}catch(t){console.error("Failed to save pivot reports:",t);}}};var Ge=class{manager;constructor(e){this.manager=new ze(e);}getReports(){return this.manager.getReports()}getDefaultReport(){return this.manager.getDefaultReport()}saveReport(e,t,u){return this.manager.saveReport(e,t,u)}updateReport(e,t){return this.manager.updateReport(e,t)}deleteReport(e){return this.manager.deleteReport(e),this.getReports()}setDefaultReport(e){return this.manager.setDefaultReport(e),this.getReports()}};function kr(r,e,t){let u=typeof t=="function"?t:t!==void 0?c=>c[t]:c=>c,o={},i=new Map;for(let c of e.update??[])i.set(u(c),c);for(let c of e.remove??[])if(typeof c=="string"||typeof c=="number"){if(t===void 0)throw new Error("[pivotgrid] applyTransaction: removing by key needs the rowKey option");i.set(c,o);}else i.set(u(c),o);let n=new Map,s=[];if(i.size>0)for(let c=0;c<r.length;c++){let m=u(r[c]),f=i.get(m);f===o?s.push(c):f!==void 0&&n.set(m,c);}let a=[...n.values()].sort((c,m)=>c-m),l=a.map(c=>i.get(u(r[c]))),d=e.add??[],p=r;if(s.length>0){p=new Array(r.length-s.length);for(let c=0,m=0,f=0,h=0;c<r.length;c++)c===s[f]?f++:p[m++]=c===a[h]?l[h++]:r[c];}else a.length>0&&(p=r.slice(),a.forEach((c,m)=>{p[c]=l[m];}));return d.length>0&&(p=p.concat(d)),{data:p,updateIndex:a,updateRows:l,removeIndex:s,addRows:d,added:d.length,updated:a.length,removed:s.length}}function Mr(r,e){let t=[],u=0;for(;u<r.length;){if(/\s/.test(r[u])){u++;continue}let o=r.slice(u).match(/^__FIELD_(\d+)__/);if(o){let i=parseInt(o[1],10);if(i>=e.length)throw new Error(`Invalid field index: ${i}`);t.push({type:"field",key:e[i]}),u+=o[0].length;continue}if(/\d/.test(r[u])||r[u]==="."&&u+1<r.length&&/\d/.test(r[u+1])){let i="";for(;u<r.length&&/[\d.]/.test(r[u]);)i+=r[u++];t.push({type:"num",value:parseFloat(i)});continue}if("+-*/%".includes(r[u])){t.push({type:"op",value:r[u++]});continue}if(r[u]==="("){t.push({type:"paren",value:"("}),u++;continue}if(r[u]===")"){t.push({type:"paren",value:")"}),u++;continue}throw new Error(`Unexpected character: '${r[u]}'`)}return t}function Nr(r){let e=0,t=()=>r[e],u=()=>r[e++];function o(){let d=t();return d?.type==="op"?d.value:null}function i(){let d=n(),p;for(;(p=o())&&(p==="+"||p==="-");){u();let c=n(),m=d,f=c;d=p==="+"?h=>m(h)+f(h):h=>m(h)-f(h);}return d}function n(){let d=s(),p;for(;(p=o())&&"*/%".includes(p);){u();let c=s(),m=d,f=c,h=p;h==="*"?d=g=>m(g)*f(g):h==="/"?d=g=>{let C=f(g);return C!==0?m(g)/C:0}:d=g=>{let C=f(g);return C!==0?m(g)%C:0};}return d}function s(){let d=t();if(d?.type==="op"&&d.value==="-"){u();let p=s();return c=>-p(c)}return d?.type==="op"&&d.value==="+"?(u(),s()):a()}function a(){let d=t();if(!d)throw new Error("Unexpected end of expression");if(d.type==="num"){u();let p=d.value;return ()=>p}if(d.type==="field"){u();let p=d.key;return c=>Number(c[p])||0}if(d.type==="paren"&&d.value==="("){u();let p=i(),c=t();if(!c||c.type!=="paren"||c.value!==")")throw new Error("Missing closing parenthesis");return u(),p}throw new Error(`Unexpected token: ${JSON.stringify(d)}`)}let l=i();if(e<r.length)throw new Error(`Unexpected token after expression: ${JSON.stringify(r[e])}`);return l}function tu(r,e){let t=r,u=[];e.forEach((i,n)=>{let s=n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),a=new RegExp(`\\[${s}\\]`,"g"),l=`__FIELD_${u.length}__`;u.push(i),t=t.replace(a,l);});let o=t.replace(/__FIELD_\d+__/g,"0");if(!/^[\d\s+\-*/%().]+$/.test(o))return console.warn("[PivotGrid] Unsafe formula rejected:",r),null;try{let i=Mr(t,u),n=Nr(i);return n({}),n}catch(i){return console.error("[PivotGrid] Formula compilation error:",r,i),null}}function Si(r,e){let t=r,u=[];e.forEach((s,a)=>{let l=a.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),d=new RegExp(`\\[${l}\\]`,"g"),p=`__FIELD_${u.length}__`;u.push(s),t=t.replace(d,p);});let o=t.replace(/__FIELD_\d+__/g,"0");if(!/^[\d\s+\-*/%().]+$/.test(o))throw new Error("Formula contains unsafe characters");let i=Mr(t,u);Nr(i)({});}function Pi(r){return r.forEach(e=>{if(!e.isCalculated||!e.formulaString||!e.formulaType)return;let t=new Map;r.forEach(o=>{let i=o.caption||"";if(!i)return;let n=e.formulaType==="row"?String(o.dataField||o.id):String(o.id);t.set(i,n);});let u=tu(e.formulaString,t);u&&(e.formulaType==="row"?e.calculateExpression=u:e.calculateSummaryExpression=u);}),r}function Di(r,e){if(!r)return e;let t=r.map(u=>({...e.find(i=>i.id===u.id)||{},...u,filterValues:u.filterValues?new Set(u.filterValues):void 0}));return Pi(t)}function Bi(r){return r.map(e=>({id:e.id,area:e.area,areaIndex:e.areaIndex,sortOrder:e.sortOrder,sortBySummaryField:e.sortBySummaryField,sortBySummaryPath:e.sortBySummaryPath,filterValues:e.filterValues?Array.from(e.filterValues):void 0,filterType:e.filterType,summaryType:e.summaryType,isCalculated:e.isCalculated,caption:e.isCalculated?e.caption:void 0,dataType:e.isCalculated?e.dataType:void 0,formulaString:e.isCalculated?e.formulaString:void 0,formulaType:e.isCalculated?e.formulaType:void 0,format:e.isCalculated?e.format:void 0}))}function uu(r,e){let t=()=>{try{return e==="sessionStorage"?sessionStorage:localStorage}catch{return null}};return {load(){let u=t()?.getItem(r);return u?JSON.parse(u):null},save(u){t()?.setItem(r,JSON.stringify(u));}}}var Or={load:()=>null,save:()=>{}};function Lr(r,e){return e?e.enabled===false?Or:e.type==="custom"?!e.onSave&&!e.onLoad?Or:{load:()=>e.onLoad?.()??null,save:t=>e.onSave?.(t)}:uu(e.storageKey?`kanunilabs-pivot-${e.storageKey}`:`kanunilabs-pivot-${r}`,e.type==="sessionStorage"?"sessionStorage":"localStorage"):uu(`kanunilabs-pivot-${r}`,"localStorage")}var _e=class{snapshot;listeners=new Set;storageKey;persistScheduled=false;persistence;constructor(e,t,u){this.storageKey=`kanunilabs-pivot-${e}`,this.persistence=u??uu(this.storageKey,"localStorage"),this.snapshot=this.createInitialSnapshot(e,t);}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));setState(e){this.snapshot={...this.snapshot,...e},this.schedulePersist(),this.listeners.forEach(t=>t());}setFields(e){this.setState({fields:e});}setLayout(e){this.setState({layout:{...this.snapshot.layout,...e}});}setExpandedPaths(e){this.setState({expandedPaths:new Set(e)});}setExpandedColPaths(e){this.setState({expandedColPaths:new Set(e)});}setSelectionStats(e){this.setState({selectionStats:e});}setImportStatus(e){this.setState({importStatus:e});}setImportPreview(e){this.setState({importPreview:e});}createInitialSnapshot(e,t){let u=t,o={...Ke},i=new Set,n=new Set,s={};try{let a=this.persistence.load();a&&(u=Di(a.fields,t),o={...Ke,...a.layout||{}},i=a.expandedPaths?new Set(a.expandedPaths):i,n=a.expandedColPaths?new Set(a.expandedColPaths):n,s=a.columnWidths||{});}catch(a){console.error("Failed to load pivot state:",a);}return {gridId:e,fields:u,layout:o,expandedPaths:i,expandedColPaths:n,columnWidths:s,engineResult:null,isBuilding:false,buildProgress:0,engineError:null,selectionStats:null,reports:[],activeReportId:null,importStatus:{isOpen:false,status:"loading",title:"",messages:[]},importPreview:null,drag:{activeId:null,targetId:null,targetArea:null,intent:null}}}schedulePersist(){if(this.persistScheduled)return;this.persistScheduled=true;let e=()=>{this.persistScheduled=false,this.persist();};typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:1e3}):setTimeout(e,200);}persist(){try{let e=this.snapshot;this.persistence.save({fields:Bi(e.fields),layout:e.layout,columnWidths:e.columnWidths,expandedPaths:Array.from(e.expandedPaths),expandedColPaths:Array.from(e.expandedColPaths)});}catch(e){console.error("Failed to save pivot state:",e);}}};var ru=class r{store;events=new Je;reportParts=new Map;pendingReportParts={};chartReporter=Mu(yt,(e,t)=>this.events.emit(e,t));options;reportService;engineService;importManager=new ke;importAbort;pendingImportRows=null;disposed=false;externalData;constructor(e){this.options=this.normalizeOptions(e),this.externalData=this.options.data,this.store=new _e(this.options.gridId,this.options.initialFields,Lr(this.options.gridId,this.options.stateStoring)),this.applyEditionOption(),this.reportService=new Ge(this.options.gridId),this.engineService=new Oe({getOptions:()=>this.options,getState:()=>this.getState(),getAreaFields:o=>this.getAreaFields(o),setState:o=>this.setState(o),onEngineStarted:o=>this.events.emit("engineStarted",o),onEngineCompleted:o=>this.events.emit("engineCompleted",o),onEngineError:o=>this.events.emit("engineError",o)});let t=this.options.controlledFields||this.getState().fields,u=this.normalizeIncomingLayout(this.options.controlledLayout)??this.getState().layout;this.store.setState({fields:t,layout:u,reports:this.reportService.getReports()}),this.unsupportedReporter.report(Et(t)),this.loadDefaultReport(),this.engineService.refresh();}subscribe=e=>this.store.subscribe(e);getSnapshot=()=>this.store.getSnapshot();getState(){return this.store.getSnapshot()}on(e,t){return this.events.on(e,t)}reportChartState(e){this.disposed||this.chartReporter(e);}registerReportStatePart(e,t){if(this.reportParts.set(e,t),e in this.pendingReportParts){let u=this.pendingReportParts[e];delete this.pendingReportParts[e];try{t.apply(u);}catch{}}return ()=>{this.reportParts.get(e)===t&&this.reportParts.delete(e);}}collectReportParts(){let e={};for(let[t,u]of this.reportParts)try{e[t]=u.get();}catch{}return e}updateOptions(e){if(this.disposed)return;let t=this.options,u={...this.options,...e};e.data!==void 0&&(e.data===this.externalData?u.data=t.data:this.externalData=e.data),this.options=this.normalizeOptions(u);let o={};this.options.controlledFields&&this.options.controlledFields!==t.controlledFields&&(o.fields=this.options.controlledFields),this.options.controlledLayout&&this.options.controlledLayout!==t.controlledLayout&&(o.layout=this.normalizeIncomingLayout(this.options.controlledLayout)),Object.keys(o).length>0&&this.setState(o),this.engineService.refresh();}setFields(e){this.commitFields(W.normalizeAreaIndexes(e));}setData(e){this.disposed||(this.externalData=e,this.options=this.normalizeOptions({...this.options,data:e}),this.engineService.refresh());}applyTransaction(e){if(this.disposed)return {added:0,updated:0,removed:0};let t=this.options.data,u=kr(t,e,this.options.rowKey);return u.data!==t&&(this.options={...this.options,data:u.data},this.engineService.applyRowChange(u,t)),{added:u.added,updated:u.updated,removed:u.removed}}updateField(e){this.commitFields(W.updateField(this.getState().fields,e));}deleteField(e){this.commitFields(W.deleteField(this.getState().fields,e));}changeFieldArea(e,t){this.commitFields(W.changeFieldArea(this.getState().fields,e,t));}showFields(e){this.commitFields(W.placeFields(this.getState().fields,e,t=>t.dataType==="number"?"data":"row"));}removeField(e){this.commitFields(W.removeField(this.getState().fields,e));}moveField(e,t){this.commitFields(W.moveFieldByDirection(this.getState().fields,e,t));}sortField(e,t){this.commitFields(W.sortField(this.getState().fields,e,t));}sortFieldBySummary(e,t,u){this.commitFields(W.sortFieldBySummary(this.getState().fields,e,t,u));}clearAllSorting(){this.commitFields(W.clearAllSorting(this.getState().fields));}applyFilter(e,t,u){this.commitFields(W.applyFilter(this.getState().fields,e,t,u));}clearFilter(e){this.commitFields(W.clearFilter(this.getState().fields,e));}setLayout(e){let{updates:t,unsupported:u}=Ft(e);this.store.setLayout(t),this.unsupportedReporter.report(u),this.options.onLayoutChange?.(this.getState().layout),this.emitState(),this.engineService.refresh();}unsupportedReporter=Qe(()=>this.options.onError);normalizeIncomingLayout(e){if(!e)return;let{updates:t,unsupported:u}=Ft(e);return this.unsupportedReporter.report(u),{...e,...t}}toggleExpanded(e){let t=new Set(this.getState().expandedPaths);t.has(e)?t.delete(e):t.add(e),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}expandPaths(e){let t=new Set(this.getState().expandedPaths);e.forEach(u=>t.add(u)),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}collapsePaths(e){let t=new Set(this.getState().expandedPaths);e.forEach(u=>t.delete(u)),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}setExpandedPaths(e){this.store.setExpandedPaths(e),this.emitState(),this.engineService.computeIfReady();}toggleColExpanded(e){let t=new Set(this.getState().expandedColPaths);t.has(e)?t.delete(e):t.add(e),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}expandColPaths(e){let t=new Set(this.getState().expandedColPaths);e.forEach(u=>t.add(u)),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}collapseColPaths(e){let t=new Set(this.getState().expandedColPaths);e.forEach(u=>t.delete(u)),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}setExpandedColPaths(e){this.store.setExpandedColPaths(e),this.emitState(),this.engineService.computeIfReady();}expandAll(){let{engineResult:e}=this.getState();if(!e){this.store.setState({expandedPaths:new Set(["*"]),expandedColPaths:new Set(["*"])}),this.emitState(),this.engineService.computeIfReady();return}let t=[],u=[];this.collectNodePaths(e.rowTree,t),this.collectNodePaths(e.colTree,u),this.store.setState({expandedPaths:new Set(t),expandedColPaths:new Set(u)}),this.emitState(),this.engineService.computeIfReady();}collapseAll(){this.store.setState({expandedPaths:new Set,expandedColPaths:new Set}),this.emitState(),this.engineService.computeIfReady();}setColumnWidths(e){this.store.setState({columnWidths:e}),this.emitState();}setSelectionStats(e){this.store.setSelectionStats(e),this.emitState();}setDragActive(e){this.setDragState({activeId:e,targetId:null,targetArea:null,intent:null});}setDragIntent(e,t,u){let o=this.getState().drag;o.targetId===e&&o.targetArea===t&&o.intent===u||this.setDragState({...o,targetId:e,targetArea:t,intent:u});}resetDrag(){this.setDragState({activeId:null,targetId:null,targetArea:null,intent:null});}calculateDropIntent(e,t,u,o,i,n){return W.calculateDropIntent(e,t,u,o,i,n)}async commitDrag(e,t){let u=this.getState().drag,o=await W.moveFieldFromDrop(this.getState().fields,{fieldId:e,overId:t,dragIntent:u,validateMove:async i=>{this.events.emit("fieldMove",i),!i.isCanceled&&await this.options.onFieldMove?.(i);}});this.resetDrag(),o!==this.getState().fields&&this.commitFields(o);}importFile(e,t){return this.runImport(t,u=>this.importManager.processFileStreaming(e,u))}importFiles(e,t){return this.runImport(t,u=>this.importManager.processFiles(e,u))}importFromUrl(e,t,u){return this.runImport(t,o=>this.importManager.processFromUrl(e,{...o,fetchInit:u}))}importData(e,t){return this.runImport(t,u=>this.importManager.processFromData(e,u))}importText(e,t){return this.runImport(t,u=>this.importManager.processFromText(e,u))}async runImport(e,t){this.importAbort?.abort();let u=new AbortController;this.importAbort=u,this.setImportStatus({isOpen:true,status:"loading",title:e.initializing,messages:[e.processing],progress:0,phase:"reading",cancellable:true});try{let{snapshot:o,validation:i,cancelled:n}=await t({signal:u.signal,onProgress:l=>{if(this.importAbort!==u||u.signal.aborted)return;let d=this.getState().importStatus;this.setImportStatus({...d,progress:l.percent,phase:l.phase});}});if(n||u.signal.aborted){this.showImportCancelled(e);return}if(!i.isValid){this.setImportStatus({isOpen:!0,status:"error",title:e.importError,messages:i.errors,cancellable:!1});return}let s=o.type==="DATA_ONLY"&&Array.isArray(o.data);if(this.options.previewImport&&s&&this.options.onImportData){this.openImportPreview(o.data,o.fields??[],i.warnings);return}o.fields&&this.setFields(o.fields),o.layout&&this.setLayout(o.layout),o.expandedPaths&&this.setExpandedPaths(o.expandedPaths);let a=[...i.warnings];o.data&&(this.options.onImportData?this.options.onImportData(o.data):a.push(e.dataImportUnsupported)),this.setImportStatus({isOpen:!0,status:a.length>0?"warning":"success",title:a.length>0?e.importWarning:e.importSuccess,messages:a.length>0?a:[e.importSuccess],progress:100,cancellable:!1});}catch(o){if(u.signal.aborted){this.showImportCancelled(e);return}this.setImportStatus({isOpen:true,status:"error",title:e.importError,messages:[o.message],cancellable:false});}finally{this.importAbort===u&&(this.importAbort=void 0);}}cancelImport(){this.importAbort?.abort();}showImportStatus(e,t,u){this.setImportStatus({isOpen:true,status:e,title:t,messages:u,cancellable:false});}openImportPreview(e,t,u){this.pendingImportRows=e,this.setImportStatus({isOpen:false,status:"loading",title:"",messages:[]}),this.store.setImportPreview({fields:(t??[]).map(o=>({dataField:String(o.dataField),caption:o.caption??String(o.dataField),dataType:o.dataType??"string"})),sample:e.slice(0,50),rowCount:e.length,warnings:u});}commitImport(e,t){let u=this.pendingImportRows,o=this.getState().importPreview;if(!u||!o)return;let i=u,n=o.fields.map(l=>({...l}));if(e&&e.length){let l=e.filter(c=>c.include!==false),d=new Map(o.fields.map(c=>[c.dataField,c.dataType])),p=l.filter(c=>c.dataType!==d.get(c.dataField));p.length>0&&(i=u.map(c=>{let m={...c};for(let f of p)m[f.dataField]=Be(m[f.dataField],f.dataType);return m})),n=l.map(c=>({dataField:c.dataField,caption:c.caption,dataType:c.dataType}));}let s=pe.buildFieldsFromPlan(n,i);this.setFields(s),this.options.onImportData?.(i),this.pendingImportRows=null,this.store.setImportPreview(null);let a=o.warnings.length>0;this.setImportStatus({isOpen:true,status:a?"warning":"success",title:a?t.importWarning:t.importSuccess,messages:a?o.warnings:[t.importSuccess],cancellable:false});}cancelImportPreview(){this.pendingImportRows=null,this.store.setImportPreview(null);}showImportCancelled(e){this.setImportStatus({isOpen:true,status:"warning",title:e.importWarning,messages:[e.cancelled??"Import cancelled."],cancellable:false});}closeImportStatus(){this.importAbort?.abort(),this.setImportStatus({...this.getState().importStatus,isOpen:false});}saveReport(e,t){let u=this.reportService.saveReport(e,this.createReportState(),t);this.store.setState({reports:this.reportService.getReports(),activeReportId:u.id}),this.events.emit("reportChanged",{activeReportId:u.id}),this.emitState();}updateCurrentReport(){let{activeReportId:e}=this.getState();e&&(this.reportService.updateReport(e,this.createReportState()),this.store.setState({reports:this.reportService.getReports()}),this.events.emit("reportChanged",{activeReportId:e}),this.emitState());}loadReport(e){let t=this.getState().reports.find(u=>u.id===e);t&&this.applyReportState(t.state,t.id);}deleteReport(e){let t=this.reportService.deleteReport(e),u=this.getState().activeReportId===e?null:this.getState().activeReportId;this.store.setState({reports:t,activeReportId:u}),this.events.emit("reportChanged",{activeReportId:u}),this.emitState();}setDefaultReport(e){this.store.setState({reports:this.reportService.setDefaultReport(e)}),this.events.emit("reportChanged",{activeReportId:this.getState().activeReportId}),this.emitState();}refreshEngine(){this.options.onRefresh?.(),this.engineService.refreshData();}setEnterpriseEdition(e){this.enterpriseEdition=e;}isEnterpriseEdition(){return this.enterpriseEdition}enterpriseEdition=false;applyEditionOption(){this.options.enterpriseEdition!==void 0&&(this.enterpriseEdition=this.options.enterpriseEdition===true);}requireEnterprise(e){if(!this.enterpriseEdition)throw new Error(`[pivotgrid] ${e} is an Enterprise feature. Render EnterprisePivotGrid from @kanunilabs/pivotgrid-react-enterprise (CSV, JSON, XML, print and clipboard export are available in Community).`)}static ENTERPRISE_FORMATS=new Set(["excel-list","excel-pivot","pdf"]);async exportData(e,t){r.ENTERPRISE_FORMATS.has(e)&&!Qt(this.options.registry,e)?.exportFunction&&this.requireEnterprise(`${e} export`);let u=this.getState();if(t?.expandAll&&u.engineResult)try{let o=await this.engineService.computeFullyExpandedSnapshot();u={...u,engineResult:o,expandedPaths:new Set(["*"]),expandedColPaths:new Set(["*"])};}catch(o){this.options.onError?.(o instanceof Error?o:new Error(String(o)));}await Ve.exportData({format:e,exportOptions:t,controllerOptions:this.options,state:u,emitExporting:o=>this.events.emit("exporting",o)});}getRawData(){return this.options.data}getEngineResult(){return this.getState().engineResult}getCell(e,t){let u=this.getState().engineResult;if(!u)return null;let o=this.getState().fields.filter(c=>c.area==="data").sort((c,m)=>(c.areaIndex||0)-(m.areaIndex||0)),i=e.join("|"),n=t.join("|"),s=u.rowIndexMap[i]??-1,a=u.columnIndexMap[n]??-1;if(s===-1||a===-1)return null;let l=s*67108864+a,d=this.getCellIndexLookup(u).get(l)??-1;if(d===-1)return null;let p={};for(let c=0;c<o.length;c++)p[o[c].id]=u.cellMatrix.sums[d*o.length+c];return {rowPath:e,colPath:t,values:p,displayValues:{},isTotalCell:s===0||a===0}}resolveCellClick(e){let t=this.getState(),u=this.getAreaFields("row"),o=this.getAreaFields("column"),n=se(this.options.data,t.fields,t.layout.prefilter).filter(a=>{for(let l=0;l<e.rowPath.length;l++)if(String(U(a,u[l]))!==e.rowPath[l])return false;for(let l=0;l<e.colPath.length;l++)if(String(U(a,o[l]))!==e.colPath[l])return false;return true}),s={...e,records:n};return this.events.emit("cellClick",s),s}getAreaFields(e){return this.getState().fields.filter(t=>t.area===e).sort((t,u)=>(t.areaIndex||0)-(u.areaIndex||0))}cellIndexLookups=new WeakMap;getCellIndexLookup(e){let t=e.cellMatrix,u=this.cellIndexLookups.get(t);if(!u){u=new Map;let o=t.keys;for(let i=0;i<o.length;i++)u.set(o[i],i);this.cellIndexLookups.set(t,u);}return u}dispose(){this.disposed=true,this.importAbort?.abort(),this.pendingImportRows=null,this.engineService.dispose(),this.events.clear();}normalizeOptions(e){return {...e,data:e.data||[],initialFields:e.initialFields||[],locale:e.locale||"tr-TR"}}setState(e){this.store.setState(e),this.emitState();}emitState(){this.events.emit("stateChanged",this.getState());}commitFields(e){this.store.setFields(e),this.unsupportedReporter.report(Et(e)),this.options.onFieldsChange?.(e),this.emitState(),this.engineService.refresh();}setDragState(e){this.store.setState({drag:e}),this.emitState();}setImportStatus(e){this.store.setImportStatus(e),this.emitState();}loadDefaultReport(){let e=this.reportService.getDefaultReport();e&&this.applyReportState(e.state,e.id);}createReportState(){let e=this.getState();return {fields:e.fields,layout:e.layout,expandedPaths:Array.from(e.expandedPaths),expandedColPaths:Array.from(e.expandedColPaths),chartState:this.options.chartIntegrationOptions?{...this.options.chartIntegrationOptions,processCell:void 0}:void 0,...this.reportParts.size>0?{parts:this.collectReportParts()}:{}}}applyReportState(e,t){this.store.setState({fields:e.fields,layout:e.layout,expandedPaths:new Set(e.expandedPaths),expandedColPaths:new Set(e.expandedColPaths||[]),activeReportId:t}),this.options.onChartStateLoaded&&e.chartState&&this.options.onChartStateLoaded(e.chartState);for(let[u,o]of Object.entries(e.parts??{})){let i=this.reportParts.get(u);if(!i){this.pendingReportParts[u]=o;continue}try{i.apply(o);}catch{}}this.events.emit("reportChanged",{activeReportId:t}),this.emitState(),this.engineService.refresh();}collectNodePaths(e,t){e.forEach(u=>{t.push(u.key),u.children&&this.collectNodePaths(u.children,t);});}};function Ti(r,e){let t=new Map;r.forEach((i,n)=>{let s=i.seriesKey??"",a=t.get(s);a?a.push(n):t.set(s,[n]);});let u=e?3:2,o=[];for(let i of t.values()){if(i.length<u)continue;let[n,s,a]=i;o.push({label:r[s].seriesLabel||r[s].name,x:n,y:s,size:e?a??null:null});}return o}var ou=class{accumulators={};dataFields;constructor(e){this.dataFields=e,this.dataFields.forEach(t=>{switch(t.summaryType||"sum"){case "count":this.accumulators[t.id]={count:0};break;case "sum":case "avg":this.accumulators[t.id]={sum:0,count:0};break;case "min":this.accumulators[t.id]={min:Number.POSITIVE_INFINITY};break;case "max":this.accumulators[t.id]={max:Number.NEGATIVE_INFINITY};break;case "distinct":this.accumulators[t.id]=new Set;break;case "custom":if(typeof t.calculateCustomSummary=="function"){this.accumulators[t.id]={totalValue:0};let o={summaryProcess:"start",value:null,totalValue:0};t.calculateCustomSummary(o),this.accumulators[t.id].totalValue=o.totalValue;}break}});}push(e,t,u){this.dataFields.forEach(o=>{let i=o.summaryType||"sum";if(i==="count"){this.accumulators[o.id].count+=1;return}let n=t[o.id];if(!n)return;let s=n.array[e];if(n.type==="int32"&&(s=u[s]||""),s==null)return;let a=typeof s=="number"?s:Number(s);switch(i){case "sum":case "avg":isNaN(a)||(this.accumulators[o.id].sum+=a,this.accumulators[o.id].count+=1);break;case "min":!isNaN(a)&&a<this.accumulators[o.id].min&&(this.accumulators[o.id].min=a);break;case "max":!isNaN(a)&&a>this.accumulators[o.id].max&&(this.accumulators[o.id].max=a);break;case "distinct":this.accumulators[o.id].add(s);break;case "custom":if(typeof o.calculateCustomSummary=="function"){let l={summaryProcess:"calculate",value:s,totalValue:this.accumulators[o.id].totalValue};o.calculateCustomSummary(l),this.accumulators[o.id].totalValue=l.totalValue;}break}});}merge(e){this.dataFields.forEach(t=>{let u=t.summaryType||"sum",o=this.accumulators[t.id],i=e.accumulators[t.id];if(!(!o||!i))switch(u){case "count":o.count+=i.count;break;case "sum":case "avg":o.sum+=i.sum,o.count+=i.count;break;case "min":i.min<o.min&&(o.min=i.min);break;case "max":i.max>o.max&&(o.max=i.max);break;case "distinct":i.forEach(n=>o.add(n));break;case "custom":o.totalValue+=i.totalValue;break}});}finalize(){let e={};return this.dataFields.forEach(t=>{switch(t.summaryType||"sum"){case "count":e[t.id]=this.accumulators[t.id]?.count||0;break;case "sum":e[t.id]=this.accumulators[t.id]?.sum||0;break;case "avg":let o=this.accumulators[t.id];e[t.id]=o&&o.count>0?o.sum/o.count:0;break;case "min":e[t.id]=this.accumulators[t.id]?.min!==Number.POSITIVE_INFINITY?this.accumulators[t.id].min:0;break;case "max":e[t.id]=this.accumulators[t.id]?.max!==Number.NEGATIVE_INFINITY?this.accumulators[t.id].max:0;break;case "distinct":e[t.id]=this.accumulators[t.id]?.size||0;break;case "custom":if(typeof t.calculateCustomSummary=="function"){let i={summaryProcess:"finalize",value:null,totalValue:this.accumulators[t.id].totalValue};t.calculateCustomSummary(i),e[t.id]=i.totalValue??0;}else e[t.id]=0;break}}),e}};var be=class{size=1;nodeToParent;nodeToVal;nodeToDepth;nodeChildCount;childrenMap;constructor(e){this.nodeToParent=new Int32Array(e).fill(-1),this.nodeToVal=new Int32Array(e).fill(-1),this.nodeToDepth=new Int32Array(e).fill(0),this.nodeChildCount=new Int32Array(e).fill(0),this.childrenMap=new Map;}expandCapacity(){let e=this.nodeToParent.length*2,t=new Int32Array(e).fill(-1);t.set(this.nodeToParent),this.nodeToParent=t;let u=new Int32Array(e).fill(-1);u.set(this.nodeToVal),this.nodeToVal=u;let o=new Int32Array(e).fill(0);o.set(this.nodeToDepth),this.nodeToDepth=o;let i=new Int32Array(e).fill(0);i.set(this.nodeChildCount),this.nodeChildCount=i;}insert(e,t){let u=0;for(let o=0;o<t;o++){let i=e[o],n=this.childrenMap.get(u);n||(n=new Map,this.childrenMap.set(u,n));let s=n.get(i);s===void 0&&(this.size>=this.nodeToParent.length&&this.expandCapacity(),s=this.size++,this.nodeToParent[s]=u,this.nodeToVal[s]=i,this.nodeToDepth[s]=o+1,this.nodeChildCount[u]++,n.set(i,s)),u=s;}return u}};function re(r,e){if(r.length>=e)return r;let t=new r.constructor(Math.max(e,Math.ceil(r.length*1.5)));return t.set(r),t}function iu(r,e,t){let u=e[0];for(let o=0;o<e.length;o++){let i=e[o]+1,n=o+1<e.length?e[o+1]:t;r.copyWithin(u,i,n),u+=n-i;}}var nu=class{dictionary=[];rowFields=[];colFields=[];dataFields=[];storedColumns={};storedRowCount=0;lastMask=null;isBuilt=false;buildState=null;activeFilters=null;activePrefilter=null;tracking=false;groupRows=new Int32Array(0);groupMap=new Map;rowLive=null;colLive=null;rowTrie;colTrie;cardinalityMap={};rowPathStrs=[];colPathStrs=[];rowIndexMapCache={};columnIndexMapCache={};buildVersion=0;groupCount=0;leafGroupRowIds;leafGroupColIds;leafGroupMeasures;leafGroupCounts;leafGroupMins;leafGroupMaxes;leafGroupDistinctSets=new Map;rowGroupOf=null;init(e){this.dictionary=e.dictionary,this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,e.workerBootstrap&&e.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=e.rowCount,this.storedColumns={};for(let[t,u]of Object.entries(e.columnarData))u.type==="int32"&&(this.storedColumns[t]={type:"int32",array:new Int32Array(u.buffer)}),u.type==="float64"&&(this.storedColumns[t]={type:"float64",array:new Float64Array(u.buffer)});this.lastMask=null,this.activeFilters=this.activePrefilter=null,e.deferBuild?this.isBuilt=false:this.buildFromMask(null);}reconfigure(e){if(this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,this.appendDictionary(e.dictionaryAppend),e.newColumns)for(let[t,u]of Object.entries(e.newColumns))u.type==="int32"&&(this.storedColumns[t]={type:"int32",array:new Int32Array(u.buffer)}),u.type==="float64"&&(this.storedColumns[t]={type:"float64",array:new Float64Array(u.buffer)});this.buildFromMask(this.lastMask);}initStart(e){this.dictionary=e.dictionary,this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,e.workerBootstrap&&e.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=e.rowCountTotal,this.storedColumns={};for(let[t,u]of Object.entries(e.columnTypes))u==="int32"?this.storedColumns[t]={type:"int32",array:new Int32Array(e.rowCountTotal)}:this.storedColumns[t]={type:"float64",array:new Float64Array(e.rowCountTotal)};this.setFilters((e.filters||[]).map(t=>({fieldId:t.fieldId,filterType:t.filterType,ids:new Set,pending:new Set(t.valueStrings)})),e.prefilter),this.resolveIncrementalFilterStrings(0),this.isBuilt=false,this.beginBuild();}initChunk(e){this.appendDictionary(e.dictionaryAppend)&&this.ensureCardCapacity();for(let[t,u]of Object.entries(e.columns)){let o=this.storedColumns[t];o&&(o.type==="int32"?o.array.set(new Int32Array(u),e.start):o.array.set(new Float64Array(u),e.start));}this.lastMask&&this.computeMaskRange(e.start,e.end),this.processRange(e.start,e.end,this.lastMask);}initEnd(){this.finalizeBuild();}appendDictionary(e){if(!e||e.length===0)return false;let t=this.dictionary.length;for(let u of e)this.dictionary.push(u);return this.resolveIncrementalFilterStrings(t),true}setFilters(e,t){this.activeFilters=e.length>0?e:null,this.activePrefilter=t&&t.conditions.length>0?t:null,this.lastMask=this.activeFilters||this.activePrefilter?new Uint8Array(this.storedRowCount):null;}resolveIncrementalFilterStrings(e){let t=this.activeFilters;if(!t)return;let u=0;for(let o of t)u+=o.pending.size;if(u!==0)for(let o=e;o<this.dictionary.length;o++){let i=this.dictionary[o];for(let n of t)n.pending.delete(i)&&n.ids.add(o);}}computeMaskRange(e,t){let u=this.lastMask;if(u.fill(1,e,t),this.activeFilters)for(let o of this.activeFilters){let i=this.storedColumns[o.fieldId];if(!i||i.type!=="int32")continue;let n=i.array,s=o.ids;if(o.filterType==="exclude")for(let a=e;a<t;a++)u[a]&&s.has(n[a])&&(u[a]=0);else for(let a=e;a<t;a++)u[a]&&!s.has(n[a])&&(u[a]=0);}if(this.activePrefilter)for(let o=e;o<t;o++)u[o]&&!this.evaluatePrefilterGroup(this.activePrefilter,o)&&(u[o]=0);}applyFilter(e){this.setFilters(e.filters.map(t=>({fieldId:t.fieldId,filterType:t.filterType,ids:new Set(t.dictIds),pending:new Set(t.valueStrings)})),e.prefilter),this.lastMask&&this.computeMaskRange(0,this.storedRowCount),this.buildFromMask(this.lastMask);}evaluatePrefilterGroup(e,t){if(!e.conditions||e.conditions.length===0)return true;if(e.logicalOperator==="and"){for(let u of e.conditions)if("logicalOperator"in u){if(!this.evaluatePrefilterGroup(u,t))return false}else if(!this.evaluatePrefilterCondition(u,t))return false;return true}else {for(let u of e.conditions)if("logicalOperator"in u){if(this.evaluatePrefilterGroup(u,t))return true}else if(this.evaluatePrefilterCondition(u,t))return true;return false}}evaluatePrefilterCondition(e,t){let u=this.storedColumns[e.fieldId];if(!u)return true;if(u.type==="float64"){let s=u.array[t],a=Number(e.value);switch(e.operator){case "=":return s===a;case "<>":return s!==a;case ">":return s>a;case ">=":return s>=a;case "<":return s<a;case "<=":return s<=a;case "isnull":return isNaN(s)||s===0;case "isnotnull":return !isNaN(s)&&s!==0;default:return true}}let o=u.array[t],i=this.dictionary[o]||"",n=String(e.value??"");switch(e.operator){case "=":return i===n;case "<>":return i!==n;case ">":return i>n;case ">=":return i>=n;case "<":return i<n;case "<=":return i<=n;case "contains":return i.toLowerCase().includes(n.toLowerCase());case "notcontains":return !i.toLowerCase().includes(n.toLowerCase());case "startswith":return i.toLowerCase().startsWith(n.toLowerCase());case "endswith":return i.toLowerCase().endsWith(n.toLowerCase());case "isnull":return i===""||i==="(Blank)";case "isnotnull":return i!==""&&i!=="(Blank)";case "in":return Array.isArray(e.value)?e.value.map(String).includes(i):true;case "notin":return Array.isArray(e.value)?!e.value.map(String).includes(i):true;default:return true}}buildFromMask(e){this.beginBuild(),this.processRange(0,this.storedRowCount,e),this.finalizeBuild();}beginBuild(){let e=this.storedRowCount,t=this.storedColumns,u=this.rowFields.length,o=this.colFields.length,i=new Array(u);for(let E=0;E<u;E++)i[E]=t[this.rowFields[E].id].array;let n=new Array(o);for(let E=0;E<o;E++)n[E]=t[this.colFields[E].id].array;let s=this.dictionary.length,a=this.rowFields.map(E=>{let x=t[E.id];return x&&x.type==="int32"?new Uint8Array(s):null}),l=this.colFields.map(E=>{let x=t[E.id];return x&&x.type==="int32"?new Uint8Array(s):null});this.rowTrie=new be(2e5),this.colTrie=new be(2e5);let d=this.dataFields.length,p=this.dataFields.map(E=>E.summaryType||"sum"),c=p.some(E=>E==="count"||E==="avg"),m=p.some(E=>E==="min"),f=p.some(E=>E==="max"),h=p.some(E=>E==="distinct"),g=new Array(d);for(let E=0;E<d;E++)g[E]=t[this.dataFields[E].id].array;let C=Math.min(e,2e5),v=m?new Float64Array(C*d):new Float64Array(0),F=f?new Float64Array(C*d):new Float64Array(0);this.leafGroupDistinctSets=h?new Map:new Map,m&&v.fill(1/0),f&&F.fill(-1/0),this.buildState={rPath:new Int32Array(u),cPath:new Int32Array(o),rowColArrays:i,colColArrays:n,dataColArrays:g,rowCardSeen:a,colCardSeen:l,rowCardCounts:new Int32Array(u),colCardCounts:new Int32Array(o),summaryTypes:p,allSums:p.every(E=>E==="sum"),needsCounts:c,needsMins:m,needsMaxes:f,groupMap:new Map,leafRowIds:new Int32Array(C),leafColIds:new Int32Array(C),leafMeasures:new Float64Array(C*d),leafCounts:c?new Float64Array(C*d):new Float64Array(0),leafMins:v,leafMaxes:F,rowGroupOf:this.tracking||p.includes("custom")?new Int32Array(e).fill(-1):null,gCount:0};}ensureCardCapacity(){let e=this.buildState;if(!e)return;let t=this.dictionary.length,u=o=>{if(o===null||o.length>=t)return o;let i=new Uint8Array(Math.max(t,o.length*2));return i.set(o),i};for(let o=0;o<e.rowCardSeen.length;o++)e.rowCardSeen[o]=u(e.rowCardSeen[o]);for(let o=0;o<e.colCardSeen.length;o++)e.colCardSeen[o]=u(e.colCardSeen[o]);}processRange(e,t,u){let o=this.buildState,{rPath:i,cPath:n,rowColArrays:s,colColArrays:a,dataColArrays:l,rowCardSeen:d,colCardSeen:p,rowCardCounts:c,colCardCounts:m,summaryTypes:f,allSums:h,needsCounts:g,needsMins:C,needsMaxes:v,groupMap:F,rowGroupOf:E}=o,x=s.length,A=a.length,w=l.length,y=this.rowTrie,b=this.colTrie,B=o.leafRowIds,R=o.leafColIds,S=o.leafMeasures,P=o.leafCounts,I=o.leafMins,M=o.leafMaxes,L=o.gCount;for(let N=e;N<t;N++){if(u&&!u[N])continue;for(let k=0;k<x;k++){let G=s[k][N];i[k]=G;let V=d[k];V!==null&&V[G]===0&&(V[G]=1,c[k]++);}let X=y.insert(i,x);for(let k=0;k<A;k++){let G=a[k][N];n[k]=G;let V=p[k];V!==null&&V[G]===0&&(V[G]=1,m[k]++);}let ne=b.insert(n,A),ae=X*67108864+ne,j=F.get(ae);if(j===void 0){if(j=L++,F.set(ae,j),j>=B.length){let k=j*2,G=new Int32Array(k);G.set(B),B=G;let V=new Int32Array(k);V.set(R),R=V;let ie=new Float64Array(k*w);if(ie.set(S),S=ie,g){let D=new Float64Array(k*w);D.set(P),P=D;}if(C){let D=new Float64Array(k*w);D.fill(1/0),D.set(I),I=D;}if(v){let D=new Float64Array(k*w);D.fill(-1/0),D.set(M),M=D;}}B[j]=X,R[j]=ne;}E!==null&&(E[N]=j);let oe=j*w;if(h)for(let k=0;k<w;k++)S[oe+k]+=l[k][N];else for(let k=0;k<w;k++){let G=l[k][N],V=oe+k;switch(f[k]){case "sum":S[V]+=G;break;case "count":P[V]+=1;break;case "avg":S[V]+=G,P[V]+=1;break;case "min":G<I[V]&&(I[V]=G);break;case "max":G>M[V]&&(M[V]=G);break;case "distinct":{let ie=this.leafGroupDistinctSets.get(V);ie||(ie=new Set,this.leafGroupDistinctSets.set(V,ie)),ie.add(G);break}default:S[V]+=G;break}}}o.leafRowIds=B,o.leafColIds=R,o.leafMeasures=S,o.leafCounts=P,o.leafMins=I,o.leafMaxes=M,o.gCount=L;}finalizeBuild(){let e=this.buildState,{needsCounts:t,needsMins:u,needsMaxes:o,gCount:i}=e,n=e.dataColArrays.length,s=e.rowColArrays.length,a=e.colColArrays.length;this.groupCount=i,this.leafGroupRowIds=e.leafRowIds.slice(0,i),this.leafGroupColIds=e.leafColIds.slice(0,i),this.leafGroupMeasures=e.leafMeasures.slice(0,i*n),this.leafGroupCounts=t?e.leafCounts.slice(0,i*n):e.leafCounts,this.leafGroupMins=u?e.leafMins.slice(0,i*n):e.leafMins,this.leafGroupMaxes=o?e.leafMaxes.slice(0,i*n):e.leafMaxes,this.rowGroupOf=e.rowGroupOf,this.cardinalityMap={};for(let l=0;l<s;l++)e.rowCardSeen[l]!==null&&(this.cardinalityMap[this.rowFields[l].id]=e.rowCardCounts[l]);for(let l=0;l<a;l++)e.colCardSeen[l]!==null&&(this.cardinalityMap[this.colFields[l].id]=e.colCardCounts[l]);if(this.buildState=null,this.rowLive=this.colLive=null,this.tracking){this.groupMap=e.groupMap;let l=this.groupRows=new Int32Array(i),d=e.rowGroupOf;for(let p=0;p<this.storedRowCount;p++)d[p]>=0&&l[d[p]]++;}this.buildVersion++,this.isBuilt=true,this.rowPathStrs=this.buildPathStrs(this.rowTrie),this.colPathStrs=this.buildPathStrs(this.colTrie),this.rowIndexMapCache=this.buildIndexMap(this.rowPathStrs,null),this.columnIndexMapCache=this.buildIndexMap(this.colPathStrs,null);}buildPathStrs(e,t=[""]){let u=t;for(let o=t.length;o<e.size;o++){let i=e.nodeToParent[o],n=this.dictionary[e.nodeToVal[o]],s=u[i];u[o]=s?s+"|"+n:n;}return u}buildIndexMap(e,t){let u={};for(let o=0;o<e.length;o++)(!t||t[o])&&(u[e[o]]=o);return u}applyTransaction(e){this.tracking||(this.tracking=true,this.buildFromMask(this.lastMask)),this.appendDictionary(e.dictionaryAppend);let{update:t,remove:u}=e,o=t.length,i=this.storedRowCount,n=i+e.addCount,s=this.storedColumns,a=new Set,l=false,d=this.rowGroupOf,p=v=>{let F=d[v];F<0||(d[v]=-1,--this.groupRows[F]===0&&(l=true),a.add(F));};t.forEach(p),u.forEach(p);for(let v in s){let F=s[v],E=e.columns[v];if(!E)throw new Error("transaction: no values for column "+v);let x=F.type==="int32"?new Int32Array(E):new Float64Array(E),A=F.array=re(F.array,n);for(let w=0;w<o;w++)A[t[w]]=x[w];A.set(x.subarray(o),i);}d=this.rowGroupOf=re(d,n),d.fill(-1,i,n);let c=this.lastMask&&(this.lastMask=re(this.lastMask,n));c&&(t.forEach(v=>this.computeMaskRange(v,v+1)),this.computeMaskRange(i,n));let m=this.rowFields.map(v=>s[v.id].array),f=this.colFields.map(v=>s[v.id].array),h=new Int32Array(m.length),g=new Int32Array(f.length),C=v=>{if(c&&!c[v])return;m.forEach((w,y)=>{h[y]=w[v];}),f.forEach((w,y)=>{g[y]=w[v];});let F=this.rowTrie.insert(h,h.length),E=this.colTrie.insert(g,g.length),x=F*67108864+E,A=this.groupMap.get(x);A===void 0&&(this.groupMap.set(x,A=this.groupCount++),(this.leafGroupRowIds=re(this.leafGroupRowIds,A+1))[A]=F,(this.leafGroupColIds=re(this.leafGroupColIds,A+1))[A]=E,this.groupRows=re(this.groupRows,A+1)),this.groupRows[A]++===0&&(l=true),d[v]=A,a.add(A);};t.forEach(C);for(let v=i;v<n;v++)C(v);if(this.storedRowCount=n-u.length,u.length>0){for(let v in s)iu(s[v].array,u,n);iu(d,u,n),c&&iu(c,u,n);}if(this.resumGroups(a),l){let v=0;for(let F=0;F<this.groupCount;F++)this.groupRows[F]===0&&v++;v>4096&&v>this.groupCount-v?this.buildFromMask(this.lastMask):(this.cardinalityMap={},[this.rowLive,this.rowPathStrs,this.rowIndexMapCache]=this.relive(this.rowTrie,this.leafGroupRowIds,this.rowFields,this.rowPathStrs),[this.colLive,this.colPathStrs,this.columnIndexMapCache]=this.relive(this.colTrie,this.leafGroupColIds,this.colFields,this.colPathStrs),this.buildVersion++);}return this.storedRowCount}resumGroups(e){if(e.size===0)return;let t=this.dataFields.length,u=this.dataFields.map(f=>f.summaryType||"sum"),o=this.dataFields.map(f=>this.storedColumns[f.id].array),i=this.groupCount*t,n=this.leafGroupMeasures=re(this.leafGroupMeasures,i),s=u.some(f=>f==="count"||f==="avg")?this.leafGroupCounts=re(this.leafGroupCounts,i):null,a=u.includes("min")?this.leafGroupMins=re(this.leafGroupMins,i):null,l=u.includes("max")?this.leafGroupMaxes=re(this.leafGroupMaxes,i):null,d=this.leafGroupDistinctSets,p=new Uint8Array(this.groupCount),c=0;for(let f of e){p[f]=1,c+=this.groupRows[f];for(let h=f*t;h<(f+1)*t;h++)n[h]=0,s&&(s[h]=0),a&&(a[h]=1/0),l&&(l[h]=-1/0),d.delete(h);}let m=this.rowGroupOf;for(let f=0;c>0&&f<this.storedRowCount;f++){let h=m[f];if(!(h<0||!p[h])){c--;for(let g=0;g<t;g++){let C=o[g][f],v=h*t+g;switch(u[g]){case "count":s[v]++;break;case "avg":n[v]+=C,s[v]++;break;case "min":C<a[v]&&(a[v]=C);break;case "max":C>l[v]&&(l[v]=C);break;case "distinct":{let F=d.get(v);F||d.set(v,F=new Set),F.add(C);break}default:n[v]+=C;}}}}}relive(e,t,u,o){let i=new Uint8Array(e.size);i[0]=1;for(let a=0;a<this.groupCount;a++)if(this.groupRows[a]!==0)for(let l=t[a];!i[l];l=e.nodeToParent[l])i[l]=1;let n=u.map(()=>new Set);e.nodeChildCount.fill(0,0,e.size);for(let a=1;a<e.size;a++)i[a]&&(e.nodeChildCount[e.nodeToParent[a]]++,n[e.nodeToDepth[a]-1]?.add(e.nodeToVal[a]));u.forEach((a,l)=>{this.cardinalityMap[a.id]=n[l].size;});let s=this.buildPathStrs(e,o);return [i,s,this.buildIndexMap(s,i)]}compute(e){this.isBuilt||this.buildFromMask(this.lastMask);let t=this.rowPathStrs,u=this.colPathStrs,o=new Uint8Array(this.rowTrie.size),i=new Set(e.expandedPaths),n=i.has(".*")||i.has("*");for(let D=0;D<this.rowTrie.size;D++)o[D]=n||i.has(t[D])?1:0;let s=new Uint8Array(this.colTrie.size),a=new Set(e.expandedColPaths),l=a.has(".*")||a.has("*");for(let D=0;D<this.colTrie.size;D++)s[D]=l||a.has(u[D])?1:0;let d=new Uint8Array(this.rowTrie.size);d[0]=1;for(let D=1;D<this.rowTrie.size;D++){let _=this.rowTrie.nodeToParent[D];(_===0||o[_])&&(!this.rowLive||this.rowLive[D])&&(d[D]=1);}let p=new Uint8Array(this.colTrie.size);p[0]=1;for(let D=1;D<this.colTrie.size;D++){let _=this.colTrie.nodeToParent[D];(_===0||s[_])&&(!this.colLive||this.colLive[D])&&(p[D]=1);}let c=this.dataFields.length,m=this.dataFields.map(D=>D.summaryType||"sum"),f=this.leafGroupMins.length>0,h=this.leafGroupMaxes.length>0,g=this.leafGroupCounts.length>0,C=this.leafGroupDistinctSets.size>0,v=new Map,F=0,E=1e4,x=new Float64Array(E),A=new Float64Array(E*c),w=new Int32Array(E*c),y=g?new Float64Array(E*c):null,b=f?new Float64Array(E*c):null,B=h?new Float64Array(E*c):null,R=C?new Map:new Map;b&&b.fill(1/0),B&&B.fill(-1/0);let S=new Int32Array(this.rowFields.length+1),P=new Int32Array(this.colFields.length+1),I=(D,_,z,Z)=>{let fe=0,J=D;for(;J!==-1;)z[J]&&(Z[fe++]=J),J=_.nodeToParent[J];return fe},M=this.rowGroupOf!==null&&m.includes("custom"),L=M?new Int32Array(this.groupCount+1):null,N=M?new Int32Array(Math.max(16,this.groupCount*4)):null,X=0,ne=this.tracking?this.groupRows:null;for(let D=0;D<this.groupCount;D++){if(ne!==null&&ne[D]===0){L!==null&&(L[D+1]=X);continue}let _=this.leafGroupRowIds[D],z=this.leafGroupColIds[D],Z=I(_,this.rowTrie,d,S),fe=I(z,this.colTrie,p,P);for(let J=0;J<Z;J++){let We=S[J];for(let ue=0;ue<fe;ue++){let Ue=P[ue],he=We*67108864+Ue,K=v.get(he);if(K===void 0){if(K=F++,v.set(he,K),K>=x.length){let H=K*2,$=new Float64Array(H);$.set(x),x=$;let Q=new Float64Array(H*c);Q.set(A),A=Q;let ee=new Int32Array(H*c);if(ee.set(w),w=ee,y){let q=new Float64Array(H*c);q.set(y),y=q;}if(b){let q=new Float64Array(H*c);q.fill(1/0),q.set(b),b=q;}if(B){let q=new Float64Array(H*c);q.fill(-1/0),q.set(B),B=q;}}x[K]=he;}if(N!==null){if(X>=N.length){let H=new Int32Array(N.length*2);H.set(N),N=H;}N[X++]=K;}for(let H=0;H<c;H++){let $=K*c+H,Q=D*c+H;switch(m[H]){case "sum":A[$]+=this.leafGroupMeasures[Q];break;case "count":A[$]+=this.leafGroupCounts[Q];break;case "avg":A[$]+=this.leafGroupMeasures[Q],y[$]+=this.leafGroupCounts[Q];break;case "min":{let ee=this.leafGroupMins[Q];ee<b[$]&&(b[$]=ee);break}case "max":{let ee=this.leafGroupMaxes[Q];ee>B[$]&&(B[$]=ee);break}case "distinct":{let ee=this.leafGroupDistinctSets.get(Q);if(ee){let q=R.get($);q||(q=new Set,R.set($,q));for(let Ur of ee)q.add(Ur);}break}default:A[$]+=this.leafGroupMeasures[Q];break}w[$]+=1;}}}L!==null&&(L[D+1]=X);}for(let D=0;D<F;D++)for(let _=0;_<c;_++){let z=D*c+_;switch(m[_]){case "avg":A[z]=y[z]>0?A[z]/y[z]:0;break;case "min":A[z]=b[z]!==1/0?b[z]:0;break;case "max":A[z]=B[z]!==-1/0?B[z]:0;break;case "distinct":{let Z=R.get(z);A[z]=Z?Z.size:0;break}}}let ae=x.slice(0,F),j=A.slice(0,F*c),oe=w.slice(0,F*c),k=(D,_,z,Z,fe)=>{let J=[];for(let ue=0;ue<Z.length;ue++)J[ue]=Z[ue]?.id||"";let We=ue=>{let Ue=D.childrenMap.get(ue);if(!Ue)return [];let he=[];for(let K of Ue.values())if(_[K]){let H=D.nodeToDepth[K]-1,$=z[K]===1;he.push({key:fe[K],value:this.dictionary[D.nodeToVal[K]],fieldId:J[H]||"",children:$?We(K):[],isExpanded:$,isTotal:false,depth:H,hasChildren:D.nodeChildCount[K]>0});}return he};return We(0)},G;if(this.rowGroupOf!==null&&L!==null&&N!==null){let D=this.storedRowCount,_={};for(let z=0;z<c;z++){if(m[z]!=="custom")continue;let Z=this.dataFields[z].id;_[Z]=this.storedColumns[Z].array.slice(0,D);}G={rowGroupOf:this.rowGroupOf.slice(0,D),groupCellOffsets:L,groupCells:N.slice(0,X),values:_};}let V=k(this.rowTrie,d,o,this.rowFields,t),ie=k(this.colTrie,p,s,this.colFields,u);return {id:e.id,rowTree:V,colTree:ie,cellMatrix:{keys:ae,sums:j,counts:oe},customSummary:G,rowIndexMap:this.rowIndexMapCache,columnIndexMap:this.columnIndexMapCache,cardinalityMap:this.cardinalityMap,indexMapsVersion:this.buildVersion}}};function Ri(r,e,t,u){return e?.dataType&&e.dataType!=="date"?r==null?"":String(r):Ee.format(r,t,u,e?.groupInterval??void 0)}var Vr=["fields","filter","sort","totals"],Ii=["sum","count","avg","min","max","distinct"],ki=["count","distinct"],zr=["absolute","percentOfTotal","percentOfColumnTotal","percentOfRowTotal","runningTotal","difference","percentDifference"],Gr=r=>r.isCalculated===true&&(r.formulaType==="summary"||r.calculateSummaryExpression!==void 0);function Mi(r){if(Gr(r))return [r.summaryType??"sum"];let e=r.dataType==="number"?Ii:ki;return r.summaryType==="custom"?[...e,"custom"]:e}function _r(r,e,t){let u=new Map;if(!e.dataField&&!e.isCalculated)return {values:u,truncated:false};let o=r.getRawData();for(let i=0;i<o.length;i++){let n=U(o[i],e),s=String(n);if(!u.has(s)){if(u.size>=t)return {values:u,truncated:true};u.set(s,n);}}return {values:u,truncated:false}}var Hr=r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean";function au(r,e){if(!r.isEnterpriseEdition())throw new Error("[pivotgrid] The AI layout schema is an Enterprise feature. Render EnterprisePivotGrid from @kanunilabs/pivotgrid-react-enterprise, or createEnterprisePivotGrid from @kanunilabs/pivotgrid-enterprise.");let t=new Set(e.exclude??[]),u=new Set(Vr.filter(n=>!t.has(n))),o=Math.max(1,e.maxValues??100),i=[];for(let n of r.getState().fields){let s=e.fields?.[n.id];if(s?.exclude||n.visible===false)continue;let a={field:n,dimension:!Gr(n),summaries:Mi(n),...s?.description?{description:s.description}:{}};if(s?.includeValues&&a.dimension){let{values:l,truncated:d}=_r(r,n,o);a.values=[...l.values()].filter(Hr),a.valuesTruncated=d;}i.push(a);}return {features:u,fields:i,byId:new Map(i.map(n=>[n.field.id,n]))}}var Se=(r,e)=>({type:"object",...e?{description:e}:{},properties:r,required:Object.keys(r),additionalProperties:false}),Y=(r,e)=>({...e?{description:e}:{},enum:[...r]});function Ni(r){return r.map(e=>{let t=e.dimension?e.field.dataType:"calculated measure",u=`- ${e.field.id}: "${e.field.caption}" (${t})`;return e.description&&(u+=` \u2014 ${e.description}`),e.values&&e.values.length>0&&(u+=`. Values: ${e.values.map(String).join(", ")}${e.valuesTruncated?", \u2026":""}`),u}).join(`
|
|
61
|
-
`)}function
|
|
59
|
+
<table>`;g+="<thead>";for(let x=0;x<Math.min(h,m.length);x++){g+="<tr>";for(let A of m[x])g+=`<th>${at(String(A??""))}</th>`;g+="</tr>";}g+="</thead><tbody>";let C=o.rowHeaderLayout==="tree"?1:Math.max(1,e.length),v=[],F=m.length-h;for(let x=h;x<m.length;x++){let A=m[x],w=A[0]==="Grand Total",y=!w&&typeof A[0]=="string"&&A.some((P,I)=>I<C&&typeof P=="string"&&P.includes("Total")),b=f?f[x]:null,R=`<tr${w?' class="grand-total"':y?' class="subtotal"':""}>`;for(let P=0;P<A.length;P++){let I=P>=C?' class="data-cell"':"",N=b?b[P]:null,L="";if(N){let M=[];N.fillColor&&M.push(`background:${N.fillColor}`),N.textColor&&M.push(`color:${N.textColor}`),N.bold&&M.push("font-weight:700"),M.length&&(L=` style="${M.join(";")}"`);}R+=`<td${I}${L}>${at(String(A[P]??""))}</td>`;}R+="</tr>",v.push(R);let S=x-h+1;if(S%Ir===0&&x+1<m.length){if(d?.aborted)return;p?.(70+Math.round(S/Math.max(1,F)*25)),await Rr();}}if(d?.aborted)return;g+=v.join(""),g+="</tbody></table></body></html>",p?.(98);let E=window.open("","_blank","width=900,height=700");E&&(E.document.write(g),E.document.close(),E.focus(),E.onload=()=>{E.print(),E.onafterprint=()=>E.close();},setTimeout(()=>{try{E.print();}catch{}},500));}function at(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}async function Pi(r,e,t,u,o,i,n,s,a="tr-TR"){let l=await Qt(r,e,u,o,i,n,s,a,true,t);if(!l)return;let d=l.aoa.map(p=>p.map(c=>String(c??"").replace(/\t/g," ").replace(/\n/g," ")).join(" ")).join(`
|
|
60
|
+
`);try{await navigator.clipboard.writeText(d);}catch{let p=document.createElement("textarea");p.value=d,p.style.cssText="position:fixed;left:-9999px;top:-9999px;opacity:0",document.body.appendChild(p),p.select();try{document.execCommand("copy");}catch{}document.body.removeChild(p);}}function Di(r,e){let t=Jt(r),u={};if(e&&e.length>0){let o=r.rowIndexMap[""]??-1,i=r.columnIndexMap[""]??-1;if(o!==-1&&i!==-1){let n=o*67108864+i,s=t.get(n);if(s!==void 0)for(let a=0;a<e.length;a++)u[e[a].id]=r.cellMatrix.sums[s*e.length+a];}}return {rowTree:r.rowTree,colTree:r.colTree,grandTotal:u,metadata:{rowCount:Object.keys(r.rowIndexMap).length,colCount:Object.keys(r.columnIndexMap).length,cellCount:r.cellMatrix.keys.length,exportedAt:new Date().toISOString()}}}function eu(r,e){return r?.getPluginsByType("exporter").find(t=>t.id===e||t.id===`exporter-${e}`)}var Ge=class{static async exportData({format:e,exportOptions:t,controllerOptions:u,state:o,emitExporting:i}){let n={format:e,cancel:false};if(u.onExporting?.(n),i(n),n.cancel)return;let s=o.engineResult||{rowTree:[],colTree:[],cellMatrix:{keys:new Float64Array,sums:new Float64Array,counts:new Int32Array},rowIndexMap:{},columnIndexMap:{},cardinalityMap:{}},a=t?.applyFilters?se(u.data,o.fields,o.layout.prefilter):u.data,l=eu(u.registry,e);if(l?.exportFunction){l.exportFunction(a,{fields:o.fields,engineResult:s,layout:o.layout,expandedPaths:new Set(o.expandedPaths),expandedColPaths:new Set(o.expandedColPaths)});return}let d=t?.fileName||"PivotExport",p=t?.locale||u.locale||"tr-TR";await Zt(e,a,o.fields,s,o.layout,o.expandedPaths,o.expandedColPaths,d,p,t);}};var kr=["row","column","data","filter","chooser"],W=class{static normalizeAreaIndexes(e){let t=[...e];return kr.forEach(u=>{t.filter(i=>i.area===u).sort((i,n)=>(i.areaIndex||0)-(n.areaIndex||0)).forEach((i,n)=>{let s=t.findIndex(a=>a.id===i.id);s!==-1&&(t[s]={...t[s],areaIndex:n});});}),t}static sortField(e,t,u){return e.map(o=>o.id===t?{...o,sortOrder:u,sortBySummaryField:void 0,sortBySummaryPath:void 0}:o)}static sortFieldBySummary(e,t,u,o){return e.map(i=>i.id===t?{...i,sortOrder:"desc",sortBySummaryField:u,sortBySummaryPath:o}:i)}static clearAllSorting(e){return e.map(t=>({...t,sortOrder:void 0,sortBySummaryField:void 0,sortBySummaryPath:void 0}))}static updateField(e,t){return e.map(u=>u.id===t.id?t:u)}static applyFilter(e,t,u,o){return e.map(i=>i.id===t?{...i,filterValues:u,filterType:o}:i)}static clearFilter(e,t){return e.map(u=>u.id===t?{...u,filterValues:void 0,filterType:void 0}:u)}static removeField(e,t){return this.normalizeAreaIndexes(e.map(u=>u.id===t?{...u,area:"chooser",areaIndex:0}:u))}static deleteField(e,t){return this.normalizeAreaIndexes(e.filter(u=>u.id!==t))}static changeFieldArea(e,t,u){if(!e.find(n=>n.id===t))return e;let i=e.filter(n=>n.area===u).length;return this.normalizeAreaIndexes(e.map(n=>n.id===t?{...n,area:u,areaIndex:i}:n))}static placeFields(e,t,u){let o=new Map;for(let n of e)!n.area||n.area==="chooser"||o.set(n.area,(o.get(n.area)??0)+1);let i=new Map;for(let n of t){if(i.has(n))continue;let s=e.find(d=>d.id===n);if(!s)continue;let a=u(s),l=o.get(a)??0;i.set(n,{area:a,areaIndex:l}),o.set(a,l+1);}return i.size===0?e:this.normalizeAreaIndexes(e.map(n=>{let s=i.get(n.id);return s?{...n,...s}:n}))}static moveFieldByDirection(e,t,u){let o=e.find(d=>d.id===t);if(!o||o.area==="chooser")return e;let i=e.filter(d=>d.area===o.area).sort((d,p)=>(d.areaIndex||0)-(p.areaIndex||0)),n=i.findIndex(d=>d.id===t);if(n===-1)return e;let s=n;if(u==="start"&&(s=0),u==="end"&&(s=i.length-1),u==="left"&&(s=Math.max(0,n-1)),u==="right"&&(s=Math.min(i.length-1,n+1)),s===n)return e;let a=[...i];a.splice(n,1),a.splice(s,0,o);let l=[...e];return a.forEach((d,p)=>{let c=l.findIndex(m=>m.id===d.id);c!==-1&&(l[c]={...d,areaIndex:p});}),l}static async moveFieldFromDrop(e,t){let u=t.fieldId.replace("chooser-",""),o=e.findIndex(c=>c.id===u);if(o===-1||!t.overId)return e;let i=e[o],n=t.dragIntent,s=i.area;if(n.intent==="append"&&n.targetArea)s=n.targetArea.replace("chooser-","");else if(n.targetId&&(n.intent==="before"||n.intent==="after"))s=e.find(c=>c.id===n.targetId)?.area||i.area;else {let c=t.overId.replace("chooser-","");this.isArea(c)&&(s=c);}let a=this.applyDrop(e,t,o,u);if(a===e||!t.validateMove)return a;let l=a.find(c=>c.id===i.id),d=false,p={fieldId:i.id,sourceArea:i.area||"chooser",targetArea:l?.area||s||"chooser",newIndex:l?.areaIndex??0,cancel:()=>{d=true;},get isCanceled(){return d},set isCanceled(c){d=c;}};return await t.validateMove(p),d?e:a}static applyDrop(e,t,u,o){let i=e[u],n=t.dragIntent,s=[...e];if(n.intent==="append"&&n.targetArea){let a=n.targetArea.replace("chooser-",""),l=s.filter(d=>d.area===a&&d.id!==o);s[u]={...i,area:a,areaIndex:l.length};}else if(n.targetId&&(n.intent==="before"||n.intent==="after")){if(n.targetId===o)return e;let a=e.find(l=>l.id===n.targetId);if(a){let l=a.area;s.splice(u,1);let d=s.filter(c=>c.area===l).sort((c,m)=>(c.areaIndex||0)-(m.areaIndex||0)),p=d.findIndex(c=>c.id===n.targetId);if(p!==-1){let c=n.intent==="before"?p:p+1;d.splice(c,0,{...i,area:l}),d.forEach((m,f)=>{let h={...m,areaIndex:f},g=s.findIndex(C=>C.id===m.id);g!==-1?s[g]=h:s.push(h);});}}}else {let a=(t.overId??"").replace("chooser-","");if(this.isArea(a)){let l=s.filter(d=>d.area===a&&d.id!==o);s[u]={...i,area:a,areaIndex:l.length};}}return this.normalizeAreaIndexes(s)}static calculateDropIntent(e,t,u,o,i,n="horizontal"){let s=n==="horizontal"?u.width:u.height,a=n==="horizontal"?e-u.left:t-u.top,l=Math.min(40,s*.5),d=s-l;return a<=l?"before":a>=d?i?"append":"after":o==="before"||o==="after"?o:a<s/2?"before":"after"}static isArea(e){return kr.includes(e)}};var tu=1;function Mr(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID().replace(/-/g,"").toLowerCase();let r=new Uint8Array(16);return crypto.getRandomValues(r),r[6]=r[6]&15|64,r[8]=r[8]&63|128,Array.from(r,e=>e.toString(16).padStart(2,"0")).join("")}var _e=class{storageKey;constructor(e){this.storageKey=e;}getReports(){try{let e=localStorage.getItem(this.storageKey);if(e)return JSON.parse(e).map(u=>{let o={...u};return o.schemaVersion||(o.schemaVersion=0),o.schemaVersion<1&&(o.state&&o.state.layout&&(o.state.layout.showFilterArea===void 0&&(o.state.layout.showFilterArea=!0),o.state.layout.showFooter===void 0&&(o.state.layout.showFooter=!0)),o.schemaVersion=1),o.schemaVersion=tu,o.state&&o.state.fields&&(o.state.fields=o.state.fields.map(i=>({...i,filterValues:i.filterValues?new Set(i.filterValues):void 0}))),o.state&&o.state.expandedPaths&&(o.state.expandedPaths=Array.isArray(o.state.expandedPaths)?o.state.expandedPaths:Array.from(o.state.expandedPaths||[])),o.state&&o.state.expandedColPaths&&(o.state.expandedColPaths=Array.isArray(o.state.expandedColPaths)?o.state.expandedColPaths:Array.from(o.state.expandedColPaths||[])),o})}catch(e){console.error("Failed to load pivot reports:",e);}return []}getDefaultReport(){return this.getReports().find(t=>t.isDefault)||null}saveReport(e,t,u=false){let o=this.getReports();u&&o.forEach(n=>n.isDefault=false);let i={id:Mr(),name:e,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),isDefault:u,schemaVersion:tu,state:t};return o.push(i),this.persist(o),i}updateReport(e,t){let u=this.getReports(),o=u.findIndex(i=>i.id===e);return o===-1?null:(u[o]={...u[o],updatedAt:new Date().toISOString(),state:t},this.persist(u),u[o])}saveAs(e,t){let u=this.getReports(),o=u.find(n=>n.id===e);if(!o)return null;let i={...o,id:Mr(),name:t,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),isDefault:false,schemaVersion:tu};return u.push(i),this.persist(u),i}deleteReport(e){let t=this.getReports();t=t.filter(u=>u.id!==e),this.persist(t);}setDefaultReport(e){let t=this.getReports();t.forEach(u=>{u.isDefault=u.id===e;}),this.persist(t);}persist(e){try{let t=e.map(u=>{let o={...u.state,fields:u.state.fields.map(i=>({...i,filterValues:i.filterValues?Array.from(i.filterValues):void 0})),expandedPaths:Array.isArray(u.state.expandedPaths)?u.state.expandedPaths:Array.from(u.state.expandedPaths||[]),expandedColPaths:Array.isArray(u.state.expandedColPaths)?u.state.expandedColPaths:Array.from(u.state.expandedColPaths||[]),chartState:u.state.chartState?{...u.state.chartState,processCell:void 0}:void 0};return {...u,state:o}});localStorage.setItem(this.storageKey,JSON.stringify(t));}catch(t){console.error("Failed to save pivot reports:",t);}}};var He=class{manager;constructor(e){this.manager=new _e(e);}getReports(){return this.manager.getReports()}getDefaultReport(){return this.manager.getDefaultReport()}saveReport(e,t,u){return this.manager.saveReport(e,t,u)}updateReport(e,t){return this.manager.updateReport(e,t)}deleteReport(e){return this.manager.deleteReport(e),this.getReports()}setDefaultReport(e){return this.manager.setDefaultReport(e),this.getReports()}};function Nr(r,e,t){let u=typeof t=="function"?t:t!==void 0?c=>c[t]:c=>c,o={},i=new Map;for(let c of e.update??[])i.set(u(c),c);for(let c of e.remove??[])if(typeof c=="string"||typeof c=="number"){if(t===void 0)throw new Error("[pivotgrid] applyTransaction: removing by key needs the rowKey option");i.set(c,o);}else i.set(u(c),o);let n=new Map,s=[];if(i.size>0)for(let c=0;c<r.length;c++){let m=u(r[c]),f=i.get(m);f===o?s.push(c):f!==void 0&&n.set(m,c);}let a=[...n.values()].sort((c,m)=>c-m),l=a.map(c=>i.get(u(r[c]))),d=e.add??[],p=r;if(s.length>0){p=new Array(r.length-s.length);for(let c=0,m=0,f=0,h=0;c<r.length;c++)c===s[f]?f++:p[m++]=c===a[h]?l[h++]:r[c];}else a.length>0&&(p=r.slice(),a.forEach((c,m)=>{p[c]=l[m];}));return d.length>0&&(p=p.concat(d)),{data:p,updateIndex:a,updateRows:l,removeIndex:s,addRows:d,added:d.length,updated:a.length,removed:s.length}}function Or(r,e){let t=[],u=0;for(;u<r.length;){if(/\s/.test(r[u])){u++;continue}let o=r.slice(u).match(/^__FIELD_(\d+)__/);if(o){let i=parseInt(o[1],10);if(i>=e.length)throw new Error(`Invalid field index: ${i}`);t.push({type:"field",key:e[i]}),u+=o[0].length;continue}if(/\d/.test(r[u])||r[u]==="."&&u+1<r.length&&/\d/.test(r[u+1])){let i="";for(;u<r.length&&/[\d.]/.test(r[u]);)i+=r[u++];t.push({type:"num",value:parseFloat(i)});continue}if("+-*/%".includes(r[u])){t.push({type:"op",value:r[u++]});continue}if(r[u]==="("){t.push({type:"paren",value:"("}),u++;continue}if(r[u]===")"){t.push({type:"paren",value:")"}),u++;continue}throw new Error(`Unexpected character: '${r[u]}'`)}return t}function Lr(r){let e=0,t=()=>r[e],u=()=>r[e++];function o(){let d=t();return d?.type==="op"?d.value:null}function i(){let d=n(),p;for(;(p=o())&&(p==="+"||p==="-");){u();let c=n(),m=d,f=c;d=p==="+"?h=>m(h)+f(h):h=>m(h)-f(h);}return d}function n(){let d=s(),p;for(;(p=o())&&"*/%".includes(p);){u();let c=s(),m=d,f=c,h=p;h==="*"?d=g=>m(g)*f(g):h==="/"?d=g=>{let C=f(g);return C!==0?m(g)/C:0}:d=g=>{let C=f(g);return C!==0?m(g)%C:0};}return d}function s(){let d=t();if(d?.type==="op"&&d.value==="-"){u();let p=s();return c=>-p(c)}return d?.type==="op"&&d.value==="+"?(u(),s()):a()}function a(){let d=t();if(!d)throw new Error("Unexpected end of expression");if(d.type==="num"){u();let p=d.value;return ()=>p}if(d.type==="field"){u();let p=d.key;return c=>Number(c[p])||0}if(d.type==="paren"&&d.value==="("){u();let p=i(),c=t();if(!c||c.type!=="paren"||c.value!==")")throw new Error("Missing closing parenthesis");return u(),p}throw new Error(`Unexpected token: ${JSON.stringify(d)}`)}let l=i();if(e<r.length)throw new Error(`Unexpected token after expression: ${JSON.stringify(r[e])}`);return l}function uu(r,e){let t=r,u=[];e.forEach((i,n)=>{let s=n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),a=new RegExp(`\\[${s}\\]`,"g"),l=`__FIELD_${u.length}__`;u.push(i),t=t.replace(a,l);});let o=t.replace(/__FIELD_\d+__/g,"0");if(!/^[\d\s+\-*/%().]+$/.test(o))return console.warn("[PivotGrid] Unsafe formula rejected:",r),null;try{let i=Or(t,u),n=Lr(i);return n({}),n}catch(i){return console.error("[PivotGrid] Formula compilation error:",r,i),null}}function Bi(r,e){let t=r,u=[];e.forEach((s,a)=>{let l=a.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),d=new RegExp(`\\[${l}\\]`,"g"),p=`__FIELD_${u.length}__`;u.push(s),t=t.replace(d,p);});let o=t.replace(/__FIELD_\d+__/g,"0");if(!/^[\d\s+\-*/%().]+$/.test(o))throw new Error("Formula contains unsafe characters");let i=Or(t,u);Lr(i)({});}function Ti(r){return r.forEach(e=>{if(!e.isCalculated||!e.formulaString||!e.formulaType)return;let t=new Map;r.forEach(o=>{let i=o.caption||"";if(!i)return;let n=e.formulaType==="row"?String(o.dataField||o.id):String(o.id);t.set(i,n);});let u=uu(e.formulaString,t);u&&(e.formulaType==="row"?e.calculateExpression=u:e.calculateSummaryExpression=u);}),r}function Ri(r,e){if(!r)return e;let t=r.map(u=>({...e.find(i=>i.id===u.id)||{},...u,filterValues:u.filterValues?new Set(u.filterValues):void 0}));return Ti(t)}function Ii(r){return r.map(e=>({id:e.id,area:e.area,areaIndex:e.areaIndex,sortOrder:e.sortOrder,sortBySummaryField:e.sortBySummaryField,sortBySummaryPath:e.sortBySummaryPath,filterValues:e.filterValues?Array.from(e.filterValues):void 0,filterType:e.filterType,summaryType:e.summaryType,isCalculated:e.isCalculated,caption:e.isCalculated?e.caption:void 0,dataType:e.isCalculated?e.dataType:void 0,formulaString:e.isCalculated?e.formulaString:void 0,formulaType:e.isCalculated?e.formulaType:void 0,format:e.isCalculated?e.format:void 0}))}function ru(r,e){let t=()=>{try{return e==="sessionStorage"?sessionStorage:localStorage}catch{return null}};return {load(){let u=t()?.getItem(r);return u?JSON.parse(u):null},save(u){t()?.setItem(r,JSON.stringify(u));}}}var Vr={load:()=>null,save:()=>{}};function zr(r,e){return e?e.enabled===false?Vr:e.type==="custom"?!e.onSave&&!e.onLoad?Vr:{load:()=>e.onLoad?.()??null,save:t=>e.onSave?.(t)}:ru(e.storageKey?`kanunilabs-pivot-${e.storageKey}`:`kanunilabs-pivot-${r}`,e.type==="sessionStorage"?"sessionStorage":"localStorage"):ru(`kanunilabs-pivot-${r}`,"localStorage")}var $e=class{snapshot;listeners=new Set;storageKey;persistScheduled=false;persistence;constructor(e,t,u){this.storageKey=`kanunilabs-pivot-${e}`,this.persistence=u??ru(this.storageKey,"localStorage"),this.snapshot=this.createInitialSnapshot(e,t);}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));setState(e){this.snapshot={...this.snapshot,...e},this.schedulePersist(),this.listeners.forEach(t=>t());}setFields(e){this.setState({fields:e});}setLayout(e){this.setState({layout:{...this.snapshot.layout,...e}});}setExpandedPaths(e){this.setState({expandedPaths:new Set(e)});}setExpandedColPaths(e){this.setState({expandedColPaths:new Set(e)});}setSelectionStats(e){this.setState({selectionStats:e});}setImportStatus(e){this.setState({importStatus:e});}setImportPreview(e){this.setState({importPreview:e});}createInitialSnapshot(e,t){let u=t,o={...ge},i=new Set,n=new Set,s={};try{let a=this.persistence.load();a&&(u=Ri(a.fields,t),o={...ge,...a.layout||{}},i=a.expandedPaths?new Set(a.expandedPaths):i,n=a.expandedColPaths?new Set(a.expandedColPaths):n,s=a.columnWidths||{});}catch(a){console.error("Failed to load pivot state:",a);}return {gridId:e,fields:u,layout:o,expandedPaths:i,expandedColPaths:n,columnWidths:s,engineResult:null,isBuilding:false,buildProgress:0,engineError:null,selectionStats:null,reports:[],activeReportId:null,importStatus:{isOpen:false,status:"loading",title:"",messages:[]},importPreview:null,drag:{activeId:null,targetId:null,targetArea:null,intent:null}}}schedulePersist(){if(this.persistScheduled)return;this.persistScheduled=true;let e=()=>{this.persistScheduled=false,this.persist();};typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:1e3}):setTimeout(e,200);}persist(){try{let e=this.snapshot;this.persistence.save({fields:Ii(e.fields),layout:e.layout,columnWidths:e.columnWidths,expandedPaths:Array.from(e.expandedPaths),expandedColPaths:Array.from(e.expandedColPaths)});}catch(e){console.error("Failed to save pivot state:",e);}}};var ou=class r{store;events=new Qe;reportParts=new Map;pendingReportParts={};chartReporter=Nu(Ft,(e,t)=>this.events.emit(e,t));options;reportService;engineService;importManager=new Me;importAbort;pendingImportRows=null;disposed=false;externalData;constructor(e){this.options=this.normalizeOptions(e),this.externalData=this.options.data,this.store=new $e(this.options.gridId,this.options.initialFields,zr(this.options.gridId,this.options.stateStoring)),this.applyEditionOption(),this.reportService=new He(this.options.gridId),this.engineService=new Ve({getOptions:()=>this.options,getState:()=>this.getState(),getAreaFields:o=>this.getAreaFields(o),setState:o=>this.setState(o),onEngineStarted:o=>this.events.emit("engineStarted",o),onEngineCompleted:o=>this.events.emit("engineCompleted",o),onEngineError:o=>this.events.emit("engineError",o)});let t=this.options.controlledFields||this.getState().fields,u=this.normalizeIncomingLayout(this.options.controlledLayout)??this.getState().layout;this.store.setState({fields:t,layout:u,reports:this.reportService.getReports()}),this.unsupportedReporter.report(xt(t)),this.loadDefaultReport(),this.engineService.refresh();}subscribe=e=>this.store.subscribe(e);getSnapshot=()=>this.store.getSnapshot();getState(){return this.store.getSnapshot()}on(e,t){return this.events.on(e,t)}reportChartState(e){this.disposed||this.chartReporter(e);}registerReportStatePart(e,t){if(this.reportParts.set(e,t),e in this.pendingReportParts){let u=this.pendingReportParts[e];delete this.pendingReportParts[e];try{t.apply(u);}catch{}}return ()=>{this.reportParts.get(e)===t&&this.reportParts.delete(e);}}collectReportParts(){let e={};for(let[t,u]of this.reportParts)try{e[t]=u.get();}catch{}return e}updateOptions(e){if(this.disposed)return;let t=this.options,u={...this.options,...e};e.data!==void 0&&(e.data===this.externalData?u.data=t.data:this.externalData=e.data),this.options=this.normalizeOptions(u);let o={};this.options.controlledFields&&this.options.controlledFields!==t.controlledFields&&(o.fields=this.options.controlledFields),this.options.controlledLayout&&this.options.controlledLayout!==t.controlledLayout&&(o.layout=this.normalizeIncomingLayout(this.options.controlledLayout)),Object.keys(o).length>0&&this.setState(o),this.engineService.refresh();}setFields(e){this.commitFields(W.normalizeAreaIndexes(e));}setData(e){this.disposed||(this.externalData=e,this.options=this.normalizeOptions({...this.options,data:e}),this.engineService.refresh());}applyTransaction(e){if(this.disposed)return {added:0,updated:0,removed:0};let t=this.options.data,u=Nr(t,e,this.options.rowKey);return u.data!==t&&(this.options={...this.options,data:u.data},this.engineService.applyRowChange(u,t)),{added:u.added,updated:u.updated,removed:u.removed}}updateField(e){this.commitFields(W.updateField(this.getState().fields,e));}deleteField(e){this.commitFields(W.deleteField(this.getState().fields,e));}changeFieldArea(e,t){this.commitFields(W.changeFieldArea(this.getState().fields,e,t));}showFields(e){this.commitFields(W.placeFields(this.getState().fields,e,t=>t.dataType==="number"?"data":"row"));}removeField(e){this.commitFields(W.removeField(this.getState().fields,e));}moveField(e,t){this.commitFields(W.moveFieldByDirection(this.getState().fields,e,t));}sortField(e,t){this.commitFields(W.sortField(this.getState().fields,e,t));}sortFieldBySummary(e,t,u){this.commitFields(W.sortFieldBySummary(this.getState().fields,e,t,u));}clearAllSorting(){this.commitFields(W.clearAllSorting(this.getState().fields));}applyFilter(e,t,u){this.commitFields(W.applyFilter(this.getState().fields,e,t,u));}clearFilter(e){this.commitFields(W.clearFilter(this.getState().fields,e));}setLayout(e){let{updates:t,unsupported:u}=Et(e);this.store.setLayout(t),this.unsupportedReporter.report(u),this.options.onLayoutChange?.(this.getState().layout),this.emitState(),this.engineService.refresh();}unsupportedReporter=et(()=>this.options.onError);normalizeIncomingLayout(e){if(!e)return;let{updates:t,unsupported:u}=Et(e);return this.unsupportedReporter.report(u),{...ge,...e,...t}}toggleExpanded(e){let t=new Set(this.getState().expandedPaths);t.has(e)?t.delete(e):t.add(e),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}expandPaths(e){let t=new Set(this.getState().expandedPaths);e.forEach(u=>t.add(u)),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}collapsePaths(e){let t=new Set(this.getState().expandedPaths);e.forEach(u=>t.delete(u)),this.store.setExpandedPaths(t),this.emitState(),this.engineService.computeIfReady();}setExpandedPaths(e){this.store.setExpandedPaths(e),this.emitState(),this.engineService.computeIfReady();}toggleColExpanded(e){let t=new Set(this.getState().expandedColPaths);t.has(e)?t.delete(e):t.add(e),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}expandColPaths(e){let t=new Set(this.getState().expandedColPaths);e.forEach(u=>t.add(u)),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}collapseColPaths(e){let t=new Set(this.getState().expandedColPaths);e.forEach(u=>t.delete(u)),this.store.setExpandedColPaths(t),this.emitState(),this.engineService.computeIfReady();}setExpandedColPaths(e){this.store.setExpandedColPaths(e),this.emitState(),this.engineService.computeIfReady();}expandAll(){let{engineResult:e}=this.getState();if(!e){this.store.setState({expandedPaths:new Set(["*"]),expandedColPaths:new Set(["*"])}),this.emitState(),this.engineService.computeIfReady();return}let t=[],u=[];this.collectNodePaths(e.rowTree,t),this.collectNodePaths(e.colTree,u),this.store.setState({expandedPaths:new Set(t),expandedColPaths:new Set(u)}),this.emitState(),this.engineService.computeIfReady();}collapseAll(){this.store.setState({expandedPaths:new Set,expandedColPaths:new Set}),this.emitState(),this.engineService.computeIfReady();}setColumnWidths(e){this.store.setState({columnWidths:e}),this.emitState();}setSelectionStats(e){this.store.setSelectionStats(e),this.emitState();}setDragActive(e){this.setDragState({activeId:e,targetId:null,targetArea:null,intent:null});}setDragIntent(e,t,u){let o=this.getState().drag;o.targetId===e&&o.targetArea===t&&o.intent===u||this.setDragState({...o,targetId:e,targetArea:t,intent:u});}resetDrag(){this.setDragState({activeId:null,targetId:null,targetArea:null,intent:null});}calculateDropIntent(e,t,u,o,i,n){return W.calculateDropIntent(e,t,u,o,i,n)}async commitDrag(e,t){let u=this.getState().drag,o=await W.moveFieldFromDrop(this.getState().fields,{fieldId:e,overId:t,dragIntent:u,validateMove:async i=>{this.events.emit("fieldMove",i),!i.isCanceled&&await this.options.onFieldMove?.(i);}});this.resetDrag(),o!==this.getState().fields&&this.commitFields(o);}importFile(e,t){return this.runImport(t,u=>this.importManager.processFileStreaming(e,u))}importFiles(e,t){return this.runImport(t,u=>this.importManager.processFiles(e,u))}importFromUrl(e,t,u){return this.runImport(t,o=>this.importManager.processFromUrl(e,{...o,fetchInit:u}))}importData(e,t){return this.runImport(t,u=>this.importManager.processFromData(e,u))}importText(e,t){return this.runImport(t,u=>this.importManager.processFromText(e,u))}async runImport(e,t){this.importAbort?.abort();let u=new AbortController;this.importAbort=u,this.setImportStatus({isOpen:true,status:"loading",title:e.initializing,messages:[e.processing],progress:0,phase:"reading",cancellable:true});try{let{snapshot:o,validation:i,cancelled:n}=await t({signal:u.signal,onProgress:l=>{if(this.importAbort!==u||u.signal.aborted)return;let d=this.getState().importStatus;this.setImportStatus({...d,progress:l.percent,phase:l.phase});}});if(n||u.signal.aborted){this.showImportCancelled(e);return}if(!i.isValid){this.setImportStatus({isOpen:!0,status:"error",title:e.importError,messages:i.errors,cancellable:!1});return}let s=o.type==="DATA_ONLY"&&Array.isArray(o.data);if(this.options.previewImport&&s&&this.options.onImportData){this.openImportPreview(o.data,o.fields??[],i.warnings);return}o.fields&&this.setFields(o.fields),o.layout&&this.setLayout(o.layout),o.expandedPaths&&this.setExpandedPaths(o.expandedPaths);let a=[...i.warnings];o.data&&(this.options.onImportData?this.options.onImportData(o.data):a.push(e.dataImportUnsupported)),this.setImportStatus({isOpen:!0,status:a.length>0?"warning":"success",title:a.length>0?e.importWarning:e.importSuccess,messages:a.length>0?a:[e.importSuccess],progress:100,cancellable:!1});}catch(o){if(u.signal.aborted){this.showImportCancelled(e);return}this.setImportStatus({isOpen:true,status:"error",title:e.importError,messages:[o.message],cancellable:false});}finally{this.importAbort===u&&(this.importAbort=void 0);}}cancelImport(){this.importAbort?.abort();}showImportStatus(e,t,u){this.setImportStatus({isOpen:true,status:e,title:t,messages:u,cancellable:false});}openImportPreview(e,t,u){this.pendingImportRows=e,this.setImportStatus({isOpen:false,status:"loading",title:"",messages:[]}),this.store.setImportPreview({fields:(t??[]).map(o=>({dataField:String(o.dataField),caption:o.caption??String(o.dataField),dataType:o.dataType??"string"})),sample:e.slice(0,50),rowCount:e.length,warnings:u});}commitImport(e,t){let u=this.pendingImportRows,o=this.getState().importPreview;if(!u||!o)return;let i=u,n=o.fields.map(l=>({...l}));if(e&&e.length){let l=e.filter(c=>c.include!==false),d=new Map(o.fields.map(c=>[c.dataField,c.dataType])),p=l.filter(c=>c.dataType!==d.get(c.dataField));p.length>0&&(i=u.map(c=>{let m={...c};for(let f of p)m[f.dataField]=Te(m[f.dataField],f.dataType);return m})),n=l.map(c=>({dataField:c.dataField,caption:c.caption,dataType:c.dataType}));}let s=pe.buildFieldsFromPlan(n,i);this.setFields(s),this.options.onImportData?.(i),this.pendingImportRows=null,this.store.setImportPreview(null);let a=o.warnings.length>0;this.setImportStatus({isOpen:true,status:a?"warning":"success",title:a?t.importWarning:t.importSuccess,messages:a?o.warnings:[t.importSuccess],cancellable:false});}cancelImportPreview(){this.pendingImportRows=null,this.store.setImportPreview(null);}showImportCancelled(e){this.setImportStatus({isOpen:true,status:"warning",title:e.importWarning,messages:[e.cancelled??"Import cancelled."],cancellable:false});}closeImportStatus(){this.importAbort?.abort(),this.setImportStatus({...this.getState().importStatus,isOpen:false});}saveReport(e,t){let u=this.reportService.saveReport(e,this.createReportState(),t);this.store.setState({reports:this.reportService.getReports(),activeReportId:u.id}),this.events.emit("reportChanged",{activeReportId:u.id}),this.emitState();}updateCurrentReport(){let{activeReportId:e}=this.getState();e&&(this.reportService.updateReport(e,this.createReportState()),this.store.setState({reports:this.reportService.getReports()}),this.events.emit("reportChanged",{activeReportId:e}),this.emitState());}loadReport(e){let t=this.getState().reports.find(u=>u.id===e);t&&this.applyReportState(t.state,t.id);}deleteReport(e){let t=this.reportService.deleteReport(e),u=this.getState().activeReportId===e?null:this.getState().activeReportId;this.store.setState({reports:t,activeReportId:u}),this.events.emit("reportChanged",{activeReportId:u}),this.emitState();}setDefaultReport(e){this.store.setState({reports:this.reportService.setDefaultReport(e)}),this.events.emit("reportChanged",{activeReportId:this.getState().activeReportId}),this.emitState();}refreshEngine(){this.options.onRefresh?.(),this.engineService.refreshData();}setEnterpriseEdition(e){this.enterpriseEdition=e;}isEnterpriseEdition(){return this.enterpriseEdition}enterpriseEdition=false;applyEditionOption(){this.options.enterpriseEdition!==void 0&&(this.enterpriseEdition=this.options.enterpriseEdition===true);}requireEnterprise(e){if(!this.enterpriseEdition)throw new Error(`[pivotgrid] ${e} is an Enterprise feature. Render EnterprisePivotGrid from @kanunilabs/pivotgrid-react-enterprise (CSV, JSON, XML, print and clipboard export are available in Community).`)}static ENTERPRISE_FORMATS=new Set(["excel-list","excel-pivot","pdf"]);async exportData(e,t){r.ENTERPRISE_FORMATS.has(e)&&!eu(this.options.registry,e)?.exportFunction&&this.requireEnterprise(`${e} export`);let u=this.getState();if(t?.expandAll&&u.engineResult)try{let o=await this.engineService.computeFullyExpandedSnapshot();u={...u,engineResult:o,expandedPaths:new Set(["*"]),expandedColPaths:new Set(["*"])};}catch(o){this.options.onError?.(o instanceof Error?o:new Error(String(o)));}await Ge.exportData({format:e,exportOptions:t,controllerOptions:this.options,state:u,emitExporting:o=>this.events.emit("exporting",o)});}getRawData(){return this.options.data}getEngineResult(){return this.getState().engineResult}getCell(e,t){let u=this.getState().engineResult;if(!u)return null;let o=this.getState().fields.filter(c=>c.area==="data").sort((c,m)=>(c.areaIndex||0)-(m.areaIndex||0)),i=e.join("|"),n=t.join("|"),s=u.rowIndexMap[i]??-1,a=u.columnIndexMap[n]??-1;if(s===-1||a===-1)return null;let l=s*67108864+a,d=this.getCellIndexLookup(u).get(l)??-1;if(d===-1)return null;let p={};for(let c=0;c<o.length;c++)p[o[c].id]=u.cellMatrix.sums[d*o.length+c];return {rowPath:e,colPath:t,values:p,displayValues:{},isTotalCell:s===0||a===0}}resolveCellClick(e){let t=this.getState(),u=this.getAreaFields("row"),o=this.getAreaFields("column"),n=se(this.options.data,t.fields,t.layout.prefilter).filter(a=>{for(let l=0;l<e.rowPath.length;l++)if(String(U(a,u[l]))!==e.rowPath[l])return false;for(let l=0;l<e.colPath.length;l++)if(String(U(a,o[l]))!==e.colPath[l])return false;return true}),s={...e,records:n};return this.events.emit("cellClick",s),s}getAreaFields(e){return this.getState().fields.filter(t=>t.area===e).sort((t,u)=>(t.areaIndex||0)-(u.areaIndex||0))}cellIndexLookups=new WeakMap;getCellIndexLookup(e){let t=e.cellMatrix,u=this.cellIndexLookups.get(t);if(!u){u=new Map;let o=t.keys;for(let i=0;i<o.length;i++)u.set(o[i],i);this.cellIndexLookups.set(t,u);}return u}dispose(){this.disposed=true,this.importAbort?.abort(),this.pendingImportRows=null,this.engineService.dispose(),this.events.clear();}normalizeOptions(e){return {...e,data:e.data||[],initialFields:e.initialFields||[],locale:e.locale||"tr-TR"}}setState(e){this.store.setState(e),this.emitState();}emitState(){this.events.emit("stateChanged",this.getState());}commitFields(e){this.store.setFields(e),this.unsupportedReporter.report(xt(e)),this.options.onFieldsChange?.(e),this.emitState(),this.engineService.refresh();}setDragState(e){this.store.setState({drag:e}),this.emitState();}setImportStatus(e){this.store.setImportStatus(e),this.emitState();}loadDefaultReport(){let e=this.reportService.getDefaultReport();e&&this.applyReportState(e.state,e.id);}createReportState(){let e=this.getState();return {fields:e.fields,layout:e.layout,expandedPaths:Array.from(e.expandedPaths),expandedColPaths:Array.from(e.expandedColPaths),chartState:this.options.chartIntegrationOptions?{...this.options.chartIntegrationOptions,processCell:void 0}:void 0,...this.reportParts.size>0?{parts:this.collectReportParts()}:{}}}applyReportState(e,t){this.store.setState({fields:e.fields,layout:e.layout,expandedPaths:new Set(e.expandedPaths),expandedColPaths:new Set(e.expandedColPaths||[]),activeReportId:t}),this.options.onChartStateLoaded&&e.chartState&&this.options.onChartStateLoaded(e.chartState);for(let[u,o]of Object.entries(e.parts??{})){let i=this.reportParts.get(u);if(!i){this.pendingReportParts[u]=o;continue}try{i.apply(o);}catch{}}this.events.emit("reportChanged",{activeReportId:t}),this.emitState(),this.engineService.refresh();}collectNodePaths(e,t){e.forEach(u=>{t.push(u.key),u.children&&this.collectNodePaths(u.children,t);});}};function ki(r,e){let t=new Map;r.forEach((i,n)=>{let s=i.seriesKey??"",a=t.get(s);a?a.push(n):t.set(s,[n]);});let u=e?3:2,o=[];for(let i of t.values()){if(i.length<u)continue;let[n,s,a]=i;o.push({label:r[s].seriesLabel||r[s].name,x:n,y:s,size:e?a??null:null});}return o}var iu=class{accumulators={};dataFields;constructor(e){this.dataFields=e,this.dataFields.forEach(t=>{switch(t.summaryType||"sum"){case "count":this.accumulators[t.id]={count:0};break;case "sum":case "avg":this.accumulators[t.id]={sum:0,count:0};break;case "min":this.accumulators[t.id]={min:Number.POSITIVE_INFINITY};break;case "max":this.accumulators[t.id]={max:Number.NEGATIVE_INFINITY};break;case "distinct":this.accumulators[t.id]=new Set;break;case "custom":if(typeof t.calculateCustomSummary=="function"){this.accumulators[t.id]={totalValue:0};let o={summaryProcess:"start",value:null,totalValue:0};t.calculateCustomSummary(o),this.accumulators[t.id].totalValue=o.totalValue;}break}});}push(e,t,u){this.dataFields.forEach(o=>{let i=o.summaryType||"sum";if(i==="count"){this.accumulators[o.id].count+=1;return}let n=t[o.id];if(!n)return;let s=n.array[e];if(n.type==="int32"&&(s=u[s]||""),s==null)return;let a=typeof s=="number"?s:Number(s);switch(i){case "sum":case "avg":isNaN(a)||(this.accumulators[o.id].sum+=a,this.accumulators[o.id].count+=1);break;case "min":!isNaN(a)&&a<this.accumulators[o.id].min&&(this.accumulators[o.id].min=a);break;case "max":!isNaN(a)&&a>this.accumulators[o.id].max&&(this.accumulators[o.id].max=a);break;case "distinct":this.accumulators[o.id].add(s);break;case "custom":if(typeof o.calculateCustomSummary=="function"){let l={summaryProcess:"calculate",value:s,totalValue:this.accumulators[o.id].totalValue};o.calculateCustomSummary(l),this.accumulators[o.id].totalValue=l.totalValue;}break}});}merge(e){this.dataFields.forEach(t=>{let u=t.summaryType||"sum",o=this.accumulators[t.id],i=e.accumulators[t.id];if(!(!o||!i))switch(u){case "count":o.count+=i.count;break;case "sum":case "avg":o.sum+=i.sum,o.count+=i.count;break;case "min":i.min<o.min&&(o.min=i.min);break;case "max":i.max>o.max&&(o.max=i.max);break;case "distinct":i.forEach(n=>o.add(n));break;case "custom":o.totalValue+=i.totalValue;break}});}finalize(){let e={};return this.dataFields.forEach(t=>{switch(t.summaryType||"sum"){case "count":e[t.id]=this.accumulators[t.id]?.count||0;break;case "sum":e[t.id]=this.accumulators[t.id]?.sum||0;break;case "avg":let o=this.accumulators[t.id];e[t.id]=o&&o.count>0?o.sum/o.count:0;break;case "min":e[t.id]=this.accumulators[t.id]?.min!==Number.POSITIVE_INFINITY?this.accumulators[t.id].min:0;break;case "max":e[t.id]=this.accumulators[t.id]?.max!==Number.NEGATIVE_INFINITY?this.accumulators[t.id].max:0;break;case "distinct":e[t.id]=this.accumulators[t.id]?.size||0;break;case "custom":if(typeof t.calculateCustomSummary=="function"){let i={summaryProcess:"finalize",value:null,totalValue:this.accumulators[t.id].totalValue};t.calculateCustomSummary(i),e[t.id]=i.totalValue??0;}else e[t.id]=0;break}}),e}};var Se=class{size=1;nodeToParent;nodeToVal;nodeToDepth;nodeChildCount;childrenMap;constructor(e){this.nodeToParent=new Int32Array(e).fill(-1),this.nodeToVal=new Int32Array(e).fill(-1),this.nodeToDepth=new Int32Array(e).fill(0),this.nodeChildCount=new Int32Array(e).fill(0),this.childrenMap=new Map;}expandCapacity(){let e=this.nodeToParent.length*2,t=new Int32Array(e).fill(-1);t.set(this.nodeToParent),this.nodeToParent=t;let u=new Int32Array(e).fill(-1);u.set(this.nodeToVal),this.nodeToVal=u;let o=new Int32Array(e).fill(0);o.set(this.nodeToDepth),this.nodeToDepth=o;let i=new Int32Array(e).fill(0);i.set(this.nodeChildCount),this.nodeChildCount=i;}insert(e,t){let u=0;for(let o=0;o<t;o++){let i=e[o],n=this.childrenMap.get(u);n||(n=new Map,this.childrenMap.set(u,n));let s=n.get(i);s===void 0&&(this.size>=this.nodeToParent.length&&this.expandCapacity(),s=this.size++,this.nodeToParent[s]=u,this.nodeToVal[s]=i,this.nodeToDepth[s]=o+1,this.nodeChildCount[u]++,n.set(i,s)),u=s;}return u}};function re(r,e){if(r.length>=e)return r;let t=new r.constructor(Math.max(e,Math.ceil(r.length*1.5)));return t.set(r),t}function nu(r,e,t){let u=e[0];for(let o=0;o<e.length;o++){let i=e[o]+1,n=o+1<e.length?e[o+1]:t;r.copyWithin(u,i,n),u+=n-i;}}var au=class{dictionary=[];rowFields=[];colFields=[];dataFields=[];storedColumns={};storedRowCount=0;lastMask=null;isBuilt=false;buildState=null;activeFilters=null;activePrefilter=null;tracking=false;groupRows=new Int32Array(0);groupMap=new Map;rowLive=null;colLive=null;rowTrie;colTrie;cardinalityMap={};rowPathStrs=[];colPathStrs=[];rowIndexMapCache={};columnIndexMapCache={};buildVersion=0;groupCount=0;leafGroupRowIds;leafGroupColIds;leafGroupMeasures;leafGroupCounts;leafGroupMins;leafGroupMaxes;leafGroupDistinctSets=new Map;rowGroupOf=null;init(e){this.dictionary=e.dictionary,this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,e.workerBootstrap&&e.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=e.rowCount,this.storedColumns={};for(let[t,u]of Object.entries(e.columnarData))u.type==="int32"&&(this.storedColumns[t]={type:"int32",array:new Int32Array(u.buffer)}),u.type==="float64"&&(this.storedColumns[t]={type:"float64",array:new Float64Array(u.buffer)});this.lastMask=null,this.activeFilters=this.activePrefilter=null,e.deferBuild?this.isBuilt=false:this.buildFromMask(null);}reconfigure(e){if(this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,this.appendDictionary(e.dictionaryAppend),e.newColumns)for(let[t,u]of Object.entries(e.newColumns))u.type==="int32"&&(this.storedColumns[t]={type:"int32",array:new Int32Array(u.buffer)}),u.type==="float64"&&(this.storedColumns[t]={type:"float64",array:new Float64Array(u.buffer)});this.buildFromMask(this.lastMask);}initStart(e){this.dictionary=e.dictionary,this.rowFields=e.rowFields,this.colFields=e.colFields,this.dataFields=e.dataFields,e.workerBootstrap&&e.workerBootstrap.length>0&&console.warn("[PivotGrid Worker] workerBootstrap is deprecated for security reasons. All calculations are executed on the main thread."),this.storedRowCount=e.rowCountTotal,this.storedColumns={};for(let[t,u]of Object.entries(e.columnTypes))u==="int32"?this.storedColumns[t]={type:"int32",array:new Int32Array(e.rowCountTotal)}:this.storedColumns[t]={type:"float64",array:new Float64Array(e.rowCountTotal)};this.setFilters((e.filters||[]).map(t=>({fieldId:t.fieldId,filterType:t.filterType,ids:new Set,pending:new Set(t.valueStrings)})),e.prefilter),this.resolveIncrementalFilterStrings(0),this.isBuilt=false,this.beginBuild();}initChunk(e){this.appendDictionary(e.dictionaryAppend)&&this.ensureCardCapacity();for(let[t,u]of Object.entries(e.columns)){let o=this.storedColumns[t];o&&(o.type==="int32"?o.array.set(new Int32Array(u),e.start):o.array.set(new Float64Array(u),e.start));}this.lastMask&&this.computeMaskRange(e.start,e.end),this.processRange(e.start,e.end,this.lastMask);}initEnd(){this.finalizeBuild();}appendDictionary(e){if(!e||e.length===0)return false;let t=this.dictionary.length;for(let u of e)this.dictionary.push(u);return this.resolveIncrementalFilterStrings(t),true}setFilters(e,t){this.activeFilters=e.length>0?e:null,this.activePrefilter=t&&t.conditions.length>0?t:null,this.lastMask=this.activeFilters||this.activePrefilter?new Uint8Array(this.storedRowCount):null;}resolveIncrementalFilterStrings(e){let t=this.activeFilters;if(!t)return;let u=0;for(let o of t)u+=o.pending.size;if(u!==0)for(let o=e;o<this.dictionary.length;o++){let i=this.dictionary[o];for(let n of t)n.pending.delete(i)&&n.ids.add(o);}}computeMaskRange(e,t){let u=this.lastMask;if(u.fill(1,e,t),this.activeFilters)for(let o of this.activeFilters){let i=this.storedColumns[o.fieldId];if(!i||i.type!=="int32")continue;let n=i.array,s=o.ids;if(o.filterType==="exclude")for(let a=e;a<t;a++)u[a]&&s.has(n[a])&&(u[a]=0);else for(let a=e;a<t;a++)u[a]&&!s.has(n[a])&&(u[a]=0);}if(this.activePrefilter)for(let o=e;o<t;o++)u[o]&&!this.evaluatePrefilterGroup(this.activePrefilter,o)&&(u[o]=0);}applyFilter(e){this.setFilters(e.filters.map(t=>({fieldId:t.fieldId,filterType:t.filterType,ids:new Set(t.dictIds),pending:new Set(t.valueStrings)})),e.prefilter),this.lastMask&&this.computeMaskRange(0,this.storedRowCount),this.buildFromMask(this.lastMask);}evaluatePrefilterGroup(e,t){if(!e.conditions||e.conditions.length===0)return true;if(e.logicalOperator==="and"){for(let u of e.conditions)if("logicalOperator"in u){if(!this.evaluatePrefilterGroup(u,t))return false}else if(!this.evaluatePrefilterCondition(u,t))return false;return true}else {for(let u of e.conditions)if("logicalOperator"in u){if(this.evaluatePrefilterGroup(u,t))return true}else if(this.evaluatePrefilterCondition(u,t))return true;return false}}evaluatePrefilterCondition(e,t){let u=this.storedColumns[e.fieldId];if(!u)return true;if(u.type==="float64"){let s=u.array[t],a=Number(e.value);switch(e.operator){case "=":return s===a;case "<>":return s!==a;case ">":return s>a;case ">=":return s>=a;case "<":return s<a;case "<=":return s<=a;case "isnull":return isNaN(s)||s===0;case "isnotnull":return !isNaN(s)&&s!==0;default:return true}}let o=u.array[t],i=this.dictionary[o]||"",n=String(e.value??"");switch(e.operator){case "=":return i===n;case "<>":return i!==n;case ">":return i>n;case ">=":return i>=n;case "<":return i<n;case "<=":return i<=n;case "contains":return i.toLowerCase().includes(n.toLowerCase());case "notcontains":return !i.toLowerCase().includes(n.toLowerCase());case "startswith":return i.toLowerCase().startsWith(n.toLowerCase());case "endswith":return i.toLowerCase().endsWith(n.toLowerCase());case "isnull":return i===""||i==="(Blank)";case "isnotnull":return i!==""&&i!=="(Blank)";case "in":return Array.isArray(e.value)?e.value.map(String).includes(i):true;case "notin":return Array.isArray(e.value)?!e.value.map(String).includes(i):true;default:return true}}buildFromMask(e){this.beginBuild(),this.processRange(0,this.storedRowCount,e),this.finalizeBuild();}beginBuild(){let e=this.storedRowCount,t=this.storedColumns,u=this.rowFields.length,o=this.colFields.length,i=new Array(u);for(let E=0;E<u;E++)i[E]=t[this.rowFields[E].id].array;let n=new Array(o);for(let E=0;E<o;E++)n[E]=t[this.colFields[E].id].array;let s=this.dictionary.length,a=this.rowFields.map(E=>{let x=t[E.id];return x&&x.type==="int32"?new Uint8Array(s):null}),l=this.colFields.map(E=>{let x=t[E.id];return x&&x.type==="int32"?new Uint8Array(s):null});this.rowTrie=new Se(2e5),this.colTrie=new Se(2e5);let d=this.dataFields.length,p=this.dataFields.map(E=>E.summaryType||"sum"),c=p.some(E=>E==="count"||E==="avg"),m=p.some(E=>E==="min"),f=p.some(E=>E==="max"),h=p.some(E=>E==="distinct"),g=new Array(d);for(let E=0;E<d;E++)g[E]=t[this.dataFields[E].id].array;let C=Math.min(e,2e5),v=m?new Float64Array(C*d):new Float64Array(0),F=f?new Float64Array(C*d):new Float64Array(0);this.leafGroupDistinctSets=h?new Map:new Map,m&&v.fill(1/0),f&&F.fill(-1/0),this.buildState={rPath:new Int32Array(u),cPath:new Int32Array(o),rowColArrays:i,colColArrays:n,dataColArrays:g,rowCardSeen:a,colCardSeen:l,rowCardCounts:new Int32Array(u),colCardCounts:new Int32Array(o),summaryTypes:p,allSums:p.every(E=>E==="sum"),needsCounts:c,needsMins:m,needsMaxes:f,groupMap:new Map,leafRowIds:new Int32Array(C),leafColIds:new Int32Array(C),leafMeasures:new Float64Array(C*d),leafCounts:c?new Float64Array(C*d):new Float64Array(0),leafMins:v,leafMaxes:F,rowGroupOf:this.tracking||p.includes("custom")?new Int32Array(e).fill(-1):null,gCount:0};}ensureCardCapacity(){let e=this.buildState;if(!e)return;let t=this.dictionary.length,u=o=>{if(o===null||o.length>=t)return o;let i=new Uint8Array(Math.max(t,o.length*2));return i.set(o),i};for(let o=0;o<e.rowCardSeen.length;o++)e.rowCardSeen[o]=u(e.rowCardSeen[o]);for(let o=0;o<e.colCardSeen.length;o++)e.colCardSeen[o]=u(e.colCardSeen[o]);}processRange(e,t,u){let o=this.buildState,{rPath:i,cPath:n,rowColArrays:s,colColArrays:a,dataColArrays:l,rowCardSeen:d,colCardSeen:p,rowCardCounts:c,colCardCounts:m,summaryTypes:f,allSums:h,needsCounts:g,needsMins:C,needsMaxes:v,groupMap:F,rowGroupOf:E}=o,x=s.length,A=a.length,w=l.length,y=this.rowTrie,b=this.colTrie,B=o.leafRowIds,R=o.leafColIds,S=o.leafMeasures,P=o.leafCounts,I=o.leafMins,N=o.leafMaxes,L=o.gCount;for(let M=e;M<t;M++){if(u&&!u[M])continue;for(let k=0;k<x;k++){let G=s[k][M];i[k]=G;let V=d[k];V!==null&&V[G]===0&&(V[G]=1,c[k]++);}let Y=y.insert(i,x);for(let k=0;k<A;k++){let G=a[k][M];n[k]=G;let V=p[k];V!==null&&V[G]===0&&(V[G]=1,m[k]++);}let ne=b.insert(n,A),ae=Y*67108864+ne,j=F.get(ae);if(j===void 0){if(j=L++,F.set(ae,j),j>=B.length){let k=j*2,G=new Int32Array(k);G.set(B),B=G;let V=new Int32Array(k);V.set(R),R=V;let ie=new Float64Array(k*w);if(ie.set(S),S=ie,g){let D=new Float64Array(k*w);D.set(P),P=D;}if(C){let D=new Float64Array(k*w);D.fill(1/0),D.set(I),I=D;}if(v){let D=new Float64Array(k*w);D.fill(-1/0),D.set(N),N=D;}}B[j]=Y,R[j]=ne;}E!==null&&(E[M]=j);let oe=j*w;if(h)for(let k=0;k<w;k++)S[oe+k]+=l[k][M];else for(let k=0;k<w;k++){let G=l[k][M],V=oe+k;switch(f[k]){case "sum":S[V]+=G;break;case "count":P[V]+=1;break;case "avg":S[V]+=G,P[V]+=1;break;case "min":G<I[V]&&(I[V]=G);break;case "max":G>N[V]&&(N[V]=G);break;case "distinct":{let ie=this.leafGroupDistinctSets.get(V);ie||(ie=new Set,this.leafGroupDistinctSets.set(V,ie)),ie.add(G);break}default:S[V]+=G;break}}}o.leafRowIds=B,o.leafColIds=R,o.leafMeasures=S,o.leafCounts=P,o.leafMins=I,o.leafMaxes=N,o.gCount=L;}finalizeBuild(){let e=this.buildState,{needsCounts:t,needsMins:u,needsMaxes:o,gCount:i}=e,n=e.dataColArrays.length,s=e.rowColArrays.length,a=e.colColArrays.length;this.groupCount=i,this.leafGroupRowIds=e.leafRowIds.slice(0,i),this.leafGroupColIds=e.leafColIds.slice(0,i),this.leafGroupMeasures=e.leafMeasures.slice(0,i*n),this.leafGroupCounts=t?e.leafCounts.slice(0,i*n):e.leafCounts,this.leafGroupMins=u?e.leafMins.slice(0,i*n):e.leafMins,this.leafGroupMaxes=o?e.leafMaxes.slice(0,i*n):e.leafMaxes,this.rowGroupOf=e.rowGroupOf,this.cardinalityMap={};for(let l=0;l<s;l++)e.rowCardSeen[l]!==null&&(this.cardinalityMap[this.rowFields[l].id]=e.rowCardCounts[l]);for(let l=0;l<a;l++)e.colCardSeen[l]!==null&&(this.cardinalityMap[this.colFields[l].id]=e.colCardCounts[l]);if(this.buildState=null,this.rowLive=this.colLive=null,this.tracking){this.groupMap=e.groupMap;let l=this.groupRows=new Int32Array(i),d=e.rowGroupOf;for(let p=0;p<this.storedRowCount;p++)d[p]>=0&&l[d[p]]++;}this.buildVersion++,this.isBuilt=true,this.rowPathStrs=this.buildPathStrs(this.rowTrie),this.colPathStrs=this.buildPathStrs(this.colTrie),this.rowIndexMapCache=this.buildIndexMap(this.rowPathStrs,null),this.columnIndexMapCache=this.buildIndexMap(this.colPathStrs,null);}buildPathStrs(e,t=[""]){let u=t;for(let o=t.length;o<e.size;o++){let i=e.nodeToParent[o],n=this.dictionary[e.nodeToVal[o]],s=u[i];u[o]=s?s+"|"+n:n;}return u}buildIndexMap(e,t){let u={};for(let o=0;o<e.length;o++)(!t||t[o])&&(u[e[o]]=o);return u}applyTransaction(e){this.tracking||(this.tracking=true,this.buildFromMask(this.lastMask)),this.appendDictionary(e.dictionaryAppend);let{update:t,remove:u}=e,o=t.length,i=this.storedRowCount,n=i+e.addCount,s=this.storedColumns,a=new Set,l=false,d=this.rowGroupOf,p=v=>{let F=d[v];F<0||(d[v]=-1,--this.groupRows[F]===0&&(l=true),a.add(F));};t.forEach(p),u.forEach(p);for(let v in s){let F=s[v],E=e.columns[v];if(!E)throw new Error("transaction: no values for column "+v);let x=F.type==="int32"?new Int32Array(E):new Float64Array(E),A=F.array=re(F.array,n);for(let w=0;w<o;w++)A[t[w]]=x[w];A.set(x.subarray(o),i);}d=this.rowGroupOf=re(d,n),d.fill(-1,i,n);let c=this.lastMask&&(this.lastMask=re(this.lastMask,n));c&&(t.forEach(v=>this.computeMaskRange(v,v+1)),this.computeMaskRange(i,n));let m=this.rowFields.map(v=>s[v.id].array),f=this.colFields.map(v=>s[v.id].array),h=new Int32Array(m.length),g=new Int32Array(f.length),C=v=>{if(c&&!c[v])return;m.forEach((w,y)=>{h[y]=w[v];}),f.forEach((w,y)=>{g[y]=w[v];});let F=this.rowTrie.insert(h,h.length),E=this.colTrie.insert(g,g.length),x=F*67108864+E,A=this.groupMap.get(x);A===void 0&&(this.groupMap.set(x,A=this.groupCount++),(this.leafGroupRowIds=re(this.leafGroupRowIds,A+1))[A]=F,(this.leafGroupColIds=re(this.leafGroupColIds,A+1))[A]=E,this.groupRows=re(this.groupRows,A+1)),this.groupRows[A]++===0&&(l=true),d[v]=A,a.add(A);};t.forEach(C);for(let v=i;v<n;v++)C(v);if(this.storedRowCount=n-u.length,u.length>0){for(let v in s)nu(s[v].array,u,n);nu(d,u,n),c&&nu(c,u,n);}if(this.resumGroups(a),l){let v=0;for(let F=0;F<this.groupCount;F++)this.groupRows[F]===0&&v++;v>4096&&v>this.groupCount-v?this.buildFromMask(this.lastMask):(this.cardinalityMap={},[this.rowLive,this.rowPathStrs,this.rowIndexMapCache]=this.relive(this.rowTrie,this.leafGroupRowIds,this.rowFields,this.rowPathStrs),[this.colLive,this.colPathStrs,this.columnIndexMapCache]=this.relive(this.colTrie,this.leafGroupColIds,this.colFields,this.colPathStrs),this.buildVersion++);}return this.storedRowCount}resumGroups(e){if(e.size===0)return;let t=this.dataFields.length,u=this.dataFields.map(f=>f.summaryType||"sum"),o=this.dataFields.map(f=>this.storedColumns[f.id].array),i=this.groupCount*t,n=this.leafGroupMeasures=re(this.leafGroupMeasures,i),s=u.some(f=>f==="count"||f==="avg")?this.leafGroupCounts=re(this.leafGroupCounts,i):null,a=u.includes("min")?this.leafGroupMins=re(this.leafGroupMins,i):null,l=u.includes("max")?this.leafGroupMaxes=re(this.leafGroupMaxes,i):null,d=this.leafGroupDistinctSets,p=new Uint8Array(this.groupCount),c=0;for(let f of e){p[f]=1,c+=this.groupRows[f];for(let h=f*t;h<(f+1)*t;h++)n[h]=0,s&&(s[h]=0),a&&(a[h]=1/0),l&&(l[h]=-1/0),d.delete(h);}let m=this.rowGroupOf;for(let f=0;c>0&&f<this.storedRowCount;f++){let h=m[f];if(!(h<0||!p[h])){c--;for(let g=0;g<t;g++){let C=o[g][f],v=h*t+g;switch(u[g]){case "count":s[v]++;break;case "avg":n[v]+=C,s[v]++;break;case "min":C<a[v]&&(a[v]=C);break;case "max":C>l[v]&&(l[v]=C);break;case "distinct":{let F=d.get(v);F||d.set(v,F=new Set),F.add(C);break}default:n[v]+=C;}}}}}relive(e,t,u,o){let i=new Uint8Array(e.size);i[0]=1;for(let a=0;a<this.groupCount;a++)if(this.groupRows[a]!==0)for(let l=t[a];!i[l];l=e.nodeToParent[l])i[l]=1;let n=u.map(()=>new Set);e.nodeChildCount.fill(0,0,e.size);for(let a=1;a<e.size;a++)i[a]&&(e.nodeChildCount[e.nodeToParent[a]]++,n[e.nodeToDepth[a]-1]?.add(e.nodeToVal[a]));u.forEach((a,l)=>{this.cardinalityMap[a.id]=n[l].size;});let s=this.buildPathStrs(e,o);return [i,s,this.buildIndexMap(s,i)]}compute(e){this.isBuilt||this.buildFromMask(this.lastMask);let t=this.rowPathStrs,u=this.colPathStrs,o=new Uint8Array(this.rowTrie.size),i=new Set(e.expandedPaths),n=i.has(".*")||i.has("*");for(let D=0;D<this.rowTrie.size;D++)o[D]=n||i.has(t[D])?1:0;let s=new Uint8Array(this.colTrie.size),a=new Set(e.expandedColPaths),l=a.has(".*")||a.has("*");for(let D=0;D<this.colTrie.size;D++)s[D]=l||a.has(u[D])?1:0;let d=new Uint8Array(this.rowTrie.size);d[0]=1;for(let D=1;D<this.rowTrie.size;D++){let _=this.rowTrie.nodeToParent[D];(_===0||o[_])&&(!this.rowLive||this.rowLive[D])&&(d[D]=1);}let p=new Uint8Array(this.colTrie.size);p[0]=1;for(let D=1;D<this.colTrie.size;D++){let _=this.colTrie.nodeToParent[D];(_===0||s[_])&&(!this.colLive||this.colLive[D])&&(p[D]=1);}let c=this.dataFields.length,m=this.dataFields.map(D=>D.summaryType||"sum"),f=this.leafGroupMins.length>0,h=this.leafGroupMaxes.length>0,g=this.leafGroupCounts.length>0,C=this.leafGroupDistinctSets.size>0,v=new Map,F=0,E=1e4,x=new Float64Array(E),A=new Float64Array(E*c),w=new Int32Array(E*c),y=g?new Float64Array(E*c):null,b=f?new Float64Array(E*c):null,B=h?new Float64Array(E*c):null,R=C?new Map:new Map;b&&b.fill(1/0),B&&B.fill(-1/0);let S=new Int32Array(this.rowFields.length+1),P=new Int32Array(this.colFields.length+1),I=(D,_,z,Z)=>{let fe=0,J=D;for(;J!==-1;)z[J]&&(Z[fe++]=J),J=_.nodeToParent[J];return fe},N=this.rowGroupOf!==null&&m.includes("custom"),L=N?new Int32Array(this.groupCount+1):null,M=N?new Int32Array(Math.max(16,this.groupCount*4)):null,Y=0,ne=this.tracking?this.groupRows:null;for(let D=0;D<this.groupCount;D++){if(ne!==null&&ne[D]===0){L!==null&&(L[D+1]=Y);continue}let _=this.leafGroupRowIds[D],z=this.leafGroupColIds[D],Z=I(_,this.rowTrie,d,S),fe=I(z,this.colTrie,p,P);for(let J=0;J<Z;J++){let Ke=S[J];for(let ue=0;ue<fe;ue++){let je=P[ue],he=Ke*67108864+je,K=v.get(he);if(K===void 0){if(K=F++,v.set(he,K),K>=x.length){let H=K*2,$=new Float64Array(H);$.set(x),x=$;let Q=new Float64Array(H*c);Q.set(A),A=Q;let ee=new Int32Array(H*c);if(ee.set(w),w=ee,y){let q=new Float64Array(H*c);q.set(y),y=q;}if(b){let q=new Float64Array(H*c);q.fill(1/0),q.set(b),b=q;}if(B){let q=new Float64Array(H*c);q.fill(-1/0),q.set(B),B=q;}}x[K]=he;}if(M!==null){if(Y>=M.length){let H=new Int32Array(M.length*2);H.set(M),M=H;}M[Y++]=K;}for(let H=0;H<c;H++){let $=K*c+H,Q=D*c+H;switch(m[H]){case "sum":A[$]+=this.leafGroupMeasures[Q];break;case "count":A[$]+=this.leafGroupCounts[Q];break;case "avg":A[$]+=this.leafGroupMeasures[Q],y[$]+=this.leafGroupCounts[Q];break;case "min":{let ee=this.leafGroupMins[Q];ee<b[$]&&(b[$]=ee);break}case "max":{let ee=this.leafGroupMaxes[Q];ee>B[$]&&(B[$]=ee);break}case "distinct":{let ee=this.leafGroupDistinctSets.get(Q);if(ee){let q=R.get($);q||(q=new Set,R.set($,q));for(let jr of ee)q.add(jr);}break}default:A[$]+=this.leafGroupMeasures[Q];break}w[$]+=1;}}}L!==null&&(L[D+1]=Y);}for(let D=0;D<F;D++)for(let _=0;_<c;_++){let z=D*c+_;switch(m[_]){case "avg":A[z]=y[z]>0?A[z]/y[z]:0;break;case "min":A[z]=b[z]!==1/0?b[z]:0;break;case "max":A[z]=B[z]!==-1/0?B[z]:0;break;case "distinct":{let Z=R.get(z);A[z]=Z?Z.size:0;break}}}let ae=x.slice(0,F),j=A.slice(0,F*c),oe=w.slice(0,F*c),k=(D,_,z,Z,fe)=>{let J=[];for(let ue=0;ue<Z.length;ue++)J[ue]=Z[ue]?.id||"";let Ke=ue=>{let je=D.childrenMap.get(ue);if(!je)return [];let he=[];for(let K of je.values())if(_[K]){let H=D.nodeToDepth[K]-1,$=z[K]===1;he.push({key:fe[K],value:this.dictionary[D.nodeToVal[K]],fieldId:J[H]||"",children:$?Ke(K):[],isExpanded:$,isTotal:false,depth:H,hasChildren:D.nodeChildCount[K]>0});}return he};return Ke(0)},G;if(this.rowGroupOf!==null&&L!==null&&M!==null){let D=this.storedRowCount,_={};for(let z=0;z<c;z++){if(m[z]!=="custom")continue;let Z=this.dataFields[z].id;_[Z]=this.storedColumns[Z].array.slice(0,D);}G={rowGroupOf:this.rowGroupOf.slice(0,D),groupCellOffsets:L,groupCells:M.slice(0,Y),values:_};}let V=k(this.rowTrie,d,o,this.rowFields,t),ie=k(this.colTrie,p,s,this.colFields,u);return {id:e.id,rowTree:V,colTree:ie,cellMatrix:{keys:ae,sums:j,counts:oe},customSummary:G,rowIndexMap:this.rowIndexMapCache,columnIndexMap:this.columnIndexMapCache,cardinalityMap:this.cardinalityMap,indexMapsVersion:this.buildVersion}}};function Mi(r,e,t,u){return e?.dataType&&e.dataType!=="date"?r==null?"":String(r):xe.format(r,t,u,e?.groupInterval??void 0)}var Gr=["fields","filter","sort","totals"],Ni=["sum","count","avg","min","max","distinct"],Oi=["count","distinct"],_r=["absolute","percentOfTotal","percentOfColumnTotal","percentOfRowTotal","runningTotal","difference","percentDifference"],Hr=r=>r.isCalculated===true&&(r.formulaType==="summary"||r.calculateSummaryExpression!==void 0);function Li(r){if(Hr(r))return [r.summaryType??"sum"];let e=r.dataType==="number"?Ni:Oi;return r.summaryType==="custom"?[...e,"custom"]:e}function $r(r,e,t){let u=new Map;if(!e.dataField&&!e.isCalculated)return {values:u,truncated:false};let o=r.getRawData();for(let i=0;i<o.length;i++){let n=U(o[i],e),s=String(n);if(!u.has(s)){if(u.size>=t)return {values:u,truncated:true};u.set(s,n);}}return {values:u,truncated:false}}var Wr=r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean";function su(r,e){if(!r.isEnterpriseEdition())throw new Error("[pivotgrid] The AI layout schema is an Enterprise feature. Render EnterprisePivotGrid from @kanunilabs/pivotgrid-react-enterprise, or createEnterprisePivotGrid from @kanunilabs/pivotgrid-enterprise.");let t=new Set(e.exclude??[]),u=new Set(Gr.filter(n=>!t.has(n))),o=Math.max(1,e.maxValues??100),i=[];for(let n of r.getState().fields){let s=e.fields?.[n.id];if(s?.exclude||n.visible===false)continue;let a={field:n,dimension:!Hr(n),summaries:Li(n),...s?.description?{description:s.description}:{}};if(s?.includeValues&&a.dimension){let{values:l,truncated:d}=$r(r,n,o);a.values=[...l.values()].filter(Wr),a.valuesTruncated=d;}i.push(a);}return {features:u,fields:i,byId:new Map(i.map(n=>[n.field.id,n]))}}var Pe=(r,e)=>({type:"object",...e?{description:e}:{},properties:r,required:Object.keys(r),additionalProperties:false}),X=(r,e)=>({...e?{description:e}:{},enum:[...r]});function Vi(r){return r.map(e=>{let t=e.dimension?e.field.dataType:"calculated measure",u=`- ${e.field.id}: "${e.field.caption}" (${t})`;return e.description&&(u+=` \u2014 ${e.description}`),e.values&&e.values.length>0&&(u+=`. Values: ${e.values.map(String).join(", ")}${e.valuesTruncated?", \u2026":""}`),u}).join(`
|
|
61
|
+
`)}function zi(r,e={}){let{features:t,fields:u}=su(r,e),o=u.filter(n=>n.dimension).map(n=>n.field.id),i={};if(t.has("fields")){o.length>0&&(i.rows={type:"array",description:"Fields down the side, outermost first. A field can be in one place only.",items:X(o)},i.columns={type:"array",description:"Fields across the top, outermost first.",items:X(o)});let n=new Map;for(let s of u){let a=s.summaries.join(","),l=n.get(a)??{ids:[],summaries:s.summaries};l.ids.push(s.field.id),n.set(a,l);}i.values={type:"array",description:'Measures in the cells. displayMode "absolute" shows the number itself; the others show it as a share of a total, a running total or a change from the previous column.',items:{anyOf:[...n.values()].map(s=>Pe({fieldId:X(s.ids),summaryType:X(s.summaries),displayMode:X(_r)}))}};}if(t.has("filter")&&o.length>0){let n=u.filter(l=>l.dimension&&l.values&&l.values.length>0&&!l.valuesTruncated),s=o.filter(l=>!n.some(d=>d.field.id===l)),a=n.map(l=>Pe({fieldId:X([l.field.id]),type:X(["include","exclude"]),values:{type:"array",items:X(l.values),minItems:1}}));s.length>0&&a.push(Pe({fieldId:X(s),type:X(["include","exclude"]),values:{type:"array",items:{type:["string","number","boolean"]},minItems:1}})),i.filters={type:"array",description:'Every value filter: keep only (include) or drop (exclude) the listed values of a field. A grouped date field filters by its groups (2025, or "2025-Q1"). [] removes every filter.',items:{anyOf:a}};}if(t.has("sort")&&o.length>0){let n=u.map(s=>s.field.id);i.sort={type:"array",description:"How each row or column field orders its values. A field not listed keeps its data order.",items:Pe({fieldId:X(o),direction:X(["asc","desc"]),byValueField:{description:"Order by this measure (one of the values) instead of by the field itself; null otherwise.",anyOf:[X(n),{type:"null"}]},top:{type:["integer","null"],description:'Keep only the first N after sorting \u2014 needs byValueField ("top 5 by revenue"). null keeps all.'}})};}return t.has("totals")&&(i.totals=Pe({grandTotalRow:{type:"boolean",description:"The total row at the bottom."},grandTotalColumn:{type:"boolean",description:"The total column at the right."},subtotalRows:{type:"boolean",description:"A subtotal row under each outer row group."},subtotalColumns:{type:"boolean",description:"A subtotal column after each outer column group."},rowHeaderLayout:X(["tabular","tree"],"tabular: one column per row field; tree: one indented column.")},"Totals and the row header style.")),{$schema:"https://json-schema.org/draft/2020-12/schema",title:"Pivot layout",description:`The layout of a pivot table. Return every property; each one REPLACES that part of the layout, so carry over whatever the user did not ask to change.
|
|
62
62
|
Fields:
|
|
63
|
-
`+Ni(u),...Se(i)}}function Li(r,e={}){let{features:t,byId:u}=au(r,e),{fields:o,layout:i}=r.getState(),n=o.filter(l=>u.has(l.id)),s=l=>n.filter(d=>d.area===l).sort((d,p)=>(d.areaIndex??0)-(p.areaIndex??0)),a={};return t.has("fields")&&(a.rows=s("row").map(l=>l.id),a.columns=s("column").map(l=>l.id),a.values=s("data").map(l=>({fieldId:l.id,summaryType:l.summaryType??"sum",displayMode:l.summaryDisplayMode??"absolute"}))),t.has("filter")&&(a.filters=n.filter(l=>l.filterValues&&l.filterValues.size>0).map(l=>{let d=new Map;for(let p of l.filterValues){if(!Hr(p))continue;let c=String(p);(!d.has(c)||typeof d.get(c)=="string")&&d.set(c,p);}return {fieldId:l.id,type:l.filterType??"include",values:[...d.values()]}})),t.has("sort")&&(a.sort=n.filter(l=>(l.area==="row"||l.area==="column")&&(l.sortOrder||l.sortBySummaryField)).map(l=>({fieldId:l.id,direction:l.sortOrder??"asc",byValueField:l.sortBySummaryField??null,top:l.topN??null}))),t.has("totals")&&(a.totals={grandTotalRow:i.showRowGrandTotals!==false,grandTotalColumn:i.showColumnGrandTotals!==false,subtotalRows:i.showRowTotals!==false,subtotalColumns:i.showColumnTotals!==false,rowHeaderLayout:i.rowHeaderLayout??"tabular"}),a}var te=r=>typeof r=="object"&&r!==null&&!Array.isArray(r);function Vi(r,e,t={}){let u=r,{features:o,byId:i}=au(u,t),n=[],s=[],a=e;if(typeof a=="string")try{a=JSON.parse(a);}catch{return {applied:s,dropped:["the answer is not valid JSON"]}}if(!te(a))return {applied:s,dropped:["the answer is not an object"]};let l=r.getState().fields.map(m=>({...m})),d=m=>l.find(f=>f.id===m),p=false;if(o.has("fields")&&("rows"in a||"columns"in a||"values"in a)){let m=new Set,f=(y,b,B)=>{if(y===void 0)return [];if(!Array.isArray(y))return n.push(`${b}: not a list`),[];let R=[];for(let S of y){let P=typeof S=="string"?i.get(S):void 0;P?B(P)?m.has(P.field.id)?n.push(`${b} ${P.field.id}: already placed`):(m.add(P.field.id),R.push(P.field.id)):n.push(`${b} ${P.field.id}: a calculated measure cannot be a ${b.slice(0,-1)}`):n.push(`${b} ${String(S)}: no such field`);}return R},h=y=>l.filter(b=>b.area===y&&i.has(b.id)).sort((b,B)=>(b.areaIndex??0)-(B.areaIndex??0)).map(b=>b.id),g="rows"in a?f(a.rows,"rows",y=>y.dimension):null,C="columns"in a?f(a.columns,"columns",y=>y.dimension):null,v=[];if("values"in a)if(!Array.isArray(a.values))n.push("values: not a list");else for(let y of a.values){let b=te(y)&&typeof y.fieldId=="string"?i.get(y.fieldId):void 0;if(!b||!te(y)){n.push(`values ${te(y)?String(y.fieldId):"?"}: no such field`);continue}let B=y.summaryType;if(!b.summaries.includes(B)){n.push(`values ${b.field.id}: ${String(B)} does not suit a ${b.field.dataType} field`);continue}let R=zr.includes(y.displayMode)?y.displayMode:"absolute";if(y.displayMode!==void 0&&R!==y.displayMode&&n.push(`values ${b.field.id}: unknown displayMode ${String(y.displayMode)}, shown as the number itself`),m.has(b.field.id)){n.push(`values ${b.field.id}: already placed`);continue}m.add(b.field.id),v.push({fieldId:b.field.id,summaryType:B,displayMode:R});}let F=g??h("row").filter(y=>!m.has(y)),E=C??h("column").filter(y=>!m.has(y)),x="values"in a?v:null,A=x===null?h("data").filter(y=>!m.has(y)):[],w=new Map;F.forEach((y,b)=>w.set(y,["row",b])),E.forEach((y,b)=>w.set(y,["column",b])),(x??[]).forEach((y,b)=>w.set(y.fieldId,["data",b])),A.forEach((y,b)=>w.set(y,["data",b])),l=l.map(y=>{if(!i.has(y.id))return y;let b=w.get(y.id);if(b){let B=x?.find(R=>R.fieldId===y.id);return {...y,area:b[0],areaIndex:b[1],...B?{summaryType:B.summaryType,summaryDisplayMode:B.displayMode}:{}}}return y.area==="row"||y.area==="column"||y.area==="data"?{...y,area:"chooser",areaIndex:0}:y}),p=true,s.push("fields");}if(o.has("filter")&&"filters"in a)if(!Array.isArray(a.filters))n.push("filters: not a list");else {let m=new Map;for(let f of a.filters){let h=te(f)&&typeof f.fieldId=="string"?i.get(f.fieldId):void 0;if(!h||!te(f)||!h.dimension){n.push(`filter on ${te(f)?String(f.fieldId):"?"}: no such field to filter`);continue}let g=f.type==="exclude"?"exclude":"include";if(!Array.isArray(f.values)||f.values.length===0){n.push(`filter on ${h.field.id}: needs a non-empty list of values`);continue}let{values:C,truncated:v}=_r(u,h.field,1e5),F=new Set;for(let E of f.values){let x=C.get(String(E));if(x===void 0&&!C.has(String(E))){v?(F.add(String(E)),F.add(E)):n.push(`filter on ${h.field.id}: no value ${JSON.stringify(E)} in the data`);continue}F.add(String(E)),F.add(x);}F.size>0&&m.set(h.field.id,{type:g,values:F});}l=l.map(f=>{if(!i.has(f.id))return f;let h=m.get(f.id);return h?{...f,filterValues:h.values,filterType:h.type}:{...f,filterValues:void 0,filterType:void 0}}),p=true,s.push("filter");}if(o.has("sort")&&"sort"in a)if(!Array.isArray(a.sort))n.push("sort: not a list");else {let m=new Map;for(let f of a.sort){let h=te(f)&&typeof f.fieldId=="string"?i.get(f.fieldId):void 0,g=h?d(h.field.id):void 0;if(!h||!te(f)||!g||g.area!=="row"&&g.area!=="column"){n.push(`sort by ${te(f)?String(f.fieldId):"?"}: not a row or column field`);continue}if(f.direction!=="asc"&&f.direction!=="desc"){n.push(`sort by ${g.id}: direction must be asc or desc`);continue}let C=null;if(f.byValueField!==null&&f.byValueField!==void 0){let F=typeof f.byValueField=="string"?l.find(E=>E.id===f.byValueField):void 0;!F||F.area!=="data"?n.push(`sort by ${g.id}: ${String(f.byValueField)} is not one of the values, sorted by the field itself`):C=F.id;}let v=null;if(f.top!==null&&f.top!==void 0){let F=Number(f.top);!Number.isInteger(F)||F<1?n.push(`sort by ${g.id}: top must be a whole number from 1`):C?v=F:n.push(`sort by ${g.id}: top needs byValueField, kept every value`);}m.set(g.id,{fieldId:g.id,direction:f.direction,byValueField:C,top:v});}l=l.map(f=>{if(!i.has(f.id))return f;let h=m.get(f.id);return {...f,sortOrder:h?.direction,sortBySummaryField:h?.byValueField??void 0,sortBySummaryPath:h?.byValueField?"":void 0,topN:h?.top??void 0}}),p=true,s.push("sort");}let c=null;if(o.has("totals")&&"totals"in a){let m=a.totals;if(!te(m))n.push("totals: not an object");else {c={};let f=(h,g)=>{m[h]!==void 0&&(typeof m[h]=="boolean"?c[g]=m[h]:n.push(`totals.${h}: must be true or false`));};f("grandTotalRow","showRowGrandTotals"),f("grandTotalColumn","showColumnGrandTotals"),f("subtotalRows","showRowTotals"),f("subtotalColumns","showColumnTotals"),m.rowHeaderLayout==="tabular"||m.rowHeaderLayout==="tree"?c.rowHeaderLayout=m.rowHeaderLayout:m.rowHeaderLayout!==void 0&&n.push("totals.rowHeaderLayout: must be tabular or tree"),s.push("totals");}}return c&&Object.keys(c).length>0&&r.setLayout(c),p&&r.setFields(l),{applied:s,dropped:n}}function zi(r){let e=[],t=u=>{for(let o of u)o.isTotal||(o.isExpanded&&o.children.length>0?t(o.children):e.push(o.key.split("|")));};return t(r),e}function Gi(r,e,t,u){return e.map(o=>{let i=r(t,o)?.values[u];return typeof i=="number"&&Number.isFinite(i)?i:Number.NaN})}var He=r=>Math.round(r*10)/10;function _i(r,e,t,u=2){let o=r.filter(v=>!Number.isNaN(v)),i={line:"",bars:[],last:null};if(o.length===0)return i;let n=Math.min(...o),s=Math.max(...o);n===s&&(n-=1,s+=1);let a=r.length,l=Math.max(1,e-u*2),d=Math.max(1,t-u*2),p=v=>He(u+(a===1?l/2:v/(a-1)*l)),c=v=>He(u+(1-(v-n)/(s-n))*d),m=[],f=null;r.forEach((v,F)=>{Number.isNaN(v)||(m.push(`${p(F)},${c(v)}`),f={x:p(F),y:c(v)});});let h=n<=0&&s>=0?c(0):c(n),g=l/Math.max(1,a),C=[];return r.forEach((v,F)=>{if(Number.isNaN(v))return;let E=Math.min(c(v),h);C.push({x:He(u+F*g+g*.15),y:E,width:He(Math.max(1,g*.7)),height:He(Math.max(1,Math.abs(c(v)-h))),negative:v<0});}),{line:o.length>=2?m.join(" "):"",bars:C,last:f}}var $e=r=>({fieldId:r.id,...r.dataField?{dataField:r.dataField}:{},dataType:r.dataType,...r.groupInterval!==void 0?{groupInterval:r.groupInterval}:{}}),su=(r,e)=>r.filter(t=>t.area===e).sort((t,u)=>(t.areaIndex??0)-(u.areaIndex??0));function $r(r){let e=t=>t.has("*")?"all":[...t].map(u=>u.split("|"));return {rows:su(r.fields,"row").map($e),columns:su(r.fields,"column").map($e),values:su(r.fields,"data").map(t=>({...$e(t),summaryType:t.summaryType??"sum"})),filters:r.fields.filter(t=>t.filterValues&&t.filterValues.size>0).map(t=>{let u=new Map;for(let o of t.filterValues)(!u.has(String(o))||typeof u.get(String(o))=="string")&&u.set(String(o),o);return {...$e(t),type:t.filterType??"include",values:[...u.values()]}}),prefilter:r.prefilter,expandedRows:e(r.expandedRows),expandedColumns:e(r.expandedColumns)}}function Hi(r){let e=Math.max(0,r.cacheSize??16),t=new Map,u=new Set,o=i=>{let n=r.loadFieldValues;if(n)for(let s of i.fields){if(!s.area||s.area==="chooser"||s.area==="data")continue;let a=`${i.gridId}\0${s.id}`;u.has(a)||(u.add(a),n($e(s)).then(l=>lr(i.gridId,s.id,l),()=>u.delete(a)));}};return {async compute(i){let n=$r(i),s=JSON.stringify(n),a=e>0?t.get(s):void 0;if(!a&&(a=r.load(n),e>0))for(t.set(s,a),a.catch(()=>t.delete(s));t.size>e;)t.delete(t.keys().next().value);let l=Wr(n,await a);return o(i),l},reset(){t.clear(),u.clear();},clearCache:()=>t.clear()}}var me=r=>r.map(e=>e==null?"(Blank)":String(e)).join("|");function Wr(r,e){let t=r.expandedRows==="all"?null:new Set(r.expandedRows.map(m=>m.join("|"))),u=r.expandedColumns==="all"?null:new Set(r.expandedColumns.map(m=>m.join("|"))),o=(m,f,h)=>{if(m.length>h)return false;if(f===null)return true;for(let g=1;g<m.length;g++)if(!f.has(me(m.slice(0,g))))return false;return true},i=(m,f,h)=>{let g=f.length,C={"":0},v=new Map,F=[],E=x=>{if(x.length===0)return null;let A=me(x),w=v.get(A);if(w)return w;let y=x.length-1;w={key:A,value:x[y]??"(Blank)",fieldId:f[y].fieldId,children:[],isExpanded:y<g-1&&(h===null||h.has(A)),isTotal:false,depth:y,hasChildren:y<g-1},v.set(A,w),C[A]=Object.keys(C).length;let b=E(x.slice(0,-1));return (b?b.children:F).push(w),w};for(let x of e.cells){let A=m==="row"?x.row:x.col;o(A,h,g)&&E([...A]);}return {roots:F,indexMap:C}},n=i("row",r.rows,t),s=i("col",r.columns,u),a=r.values.map(m=>m.fieldId),l=[],d=[],p=[],c=new Set;for(let m of e.cells){let f=n.indexMap[me(m.row)],h=s.indexMap[me(m.col)];if(f===void 0||h===void 0)continue;let g=f*67108864+h;if(!c.has(g)){c.add(g),l.push(g);for(let C of a){let v=m.values[C],F=typeof v=="number"&&Number.isFinite(v);d.push(F?v:0),p.push(F?1:0);}}}return {rowTree:n.roots,colTree:s.roots,cellMatrix:{keys:Float64Array.from(l),sums:Float64Array.from(d),counts:Int32Array.from(p)},rowIndexMap:n.indexMap,columnIndexMap:s.indexMap,cardinalityMap:{}}}var Pe=r=>({id:r.fieldId,dataField:r.dataField,caption:r.fieldId,dataType:r.dataType,groupInterval:r.groupInterval});function $i(r,e){if(r==="count")return e.filter(u=>u!=null&&u!=="").length;if(r==="distinct")return new Set(e.filter(u=>u!=null).map(String)).size;let t=e.map(Number).filter(u=>Number.isFinite(u));if(t.length===0)return null;switch(r){case "sum":return t.reduce((u,o)=>u+o,0);case "avg":return t.reduce((u,o)=>u+o,0)/t.length;case "min":return Math.min(...t);case "max":return Math.max(...t);default:return t.reduce((u,o)=>u+o,0)}}function Wi(r,e,t=[]){let u=e.filters.map(m=>({...Pe(m),filterValues:new Set(m.values),filterType:m.type})),o=new Map(t.map(m=>[m.id,m]));for(let m of [...e.rows,...e.columns,...e.values])o.has(m.fieldId)||o.set(m.fieldId,Pe(m));for(let m of u)o.set(m.id,{...o.get(m.id)??m,filterValues:m.filterValues,filterType:m.filterType});let i=se([...r],[...o.values()],e.prefilter??void 0),n=e.rows.map(Pe),s=e.columns.map(Pe),a=e.expandedRows==="all"?null:new Set(e.expandedRows.map(m=>m.join("|"))),l=e.expandedColumns==="all"?null:new Set(e.expandedColumns.map(m=>m.join("|"))),d=(m,f,h)=>{let g=[[]],C=[];for(let v=0;v<f.length&&!(v>0&&h!==null&&!h.has(me(C)));v++){let F=U(m,f[v]);C.push(F==null||F==="(Blank)"?null:F instanceof Date?F.toISOString():F),g.push([...C]);}return g},p=new Map;for(let m of i){let f=d(m,n,a),h=d(m,s,l);for(let g of f)for(let C of h){let v=`${me(g)}\0${me(C)}`,F=p.get(v);F||p.set(v,F={row:g,col:C,members:[]}),F.members.push(m);}}let c=[];for(let m of p.values()){let f={};for(let h of e.values)f[h.fieldId]=$i(h.summaryType,m.members.map(g=>U(g,{...Pe(h),groupInterval:void 0})));c.push({row:m.row,col:m.col,values:f});}return {cells:c}}function Ui(r,e){let t=new Map;for(let u of r){let o=U(u,Pe(e));t.has(String(o))||t.set(String(o),o);}return [...t.values()]}export{ku as CHART_LEGEND_POSITIONS,Re as CsvReader,gr as DEFAULT_DATA_COLUMN_WIDTH,hr as DEFAULT_ROW_HEADER_WIDTH,pe as DataNormalizer,Ee as DateFormatter,Le as ExportStreamController,be as FastTrie,nu as FlatPivotEngine,ke as ImportManager,Fe as ImportStreamController,O as MAX_C,Vr as PIVOT_AI_FEATURES,ou as PivotCellAggregator,ru as PivotController,Ru as PivotEngineRegistry,Oe as PivotEngineService,Je as PivotEventEmitter,Ve as PivotExportService,W as PivotFieldService,ze as PivotReportManager,Ge as PivotReportService,Iu as PivotSelectionModel,_e as PivotStateStore,Ot as ROW_HEADER_MAX_PINNED_FRACTION,Lt as ROW_HEADER_MIN_COL_WIDTH,Nt as ROW_HEADER_MIN_DATA_STRIP,Mo as SHAPE_CHART_TYPES,Ie as XmlReader,Vi as applyPivotAiState,Xu as ar,Zt as buildCellLookup,Sr as buildColPathsList,$t as buildColumnHeaders,Wr as buildEngineResult,Jt as buildPivotAOA,Dr as buildRowLabelCells,Kr as cellHash,qr as cellHashCol,jr as cellHashRow,Po as chartPalette,gu as classifyValue,mi as clearFormatCache,ft as coerceRecords,Be as coerceValue,tu as compileSafeFormula,jt as computeFieldRanges,rt as computePivotMatrixAsync,Cr as computeRowHeaderWidths,pi as conditionRuleToExcelStyle,xi as cssColorToRgb,Wu as de,Fu as dedupeHeaders,Ke as defaultPivotLayout,bt as destroyEngineWorker,dt as detectDelimiter,yt as diffPivotChartState,$u as en,Ku as es,wr as escapeXmlText,Rt as executePostAggregationPhase,It as executeSummaryDisplayModesPhase,Xt as exportPivotData,U as extractGroupValue,Kt as fieldNeedsRange,Ui as fieldValuesInMemory,Vt as filterEmptySummaryTree,Ne as filterPivotEngineAsync,se as filterRecords,Jr as filterRecordsAsync,Pr as flattenExportRows,ui as flattenRowTree,Wt as flattenRowTreeTabular,Ut as flattenRowTreeTree,ci as formatCellValue,it as formatCellValueCached,Ri as formatDimensionValue,st as formatHeaderValue,Uu as fr,Bo as funnelMarks,Lu as funnelStages,kt as getAdvancedExporter,at as getCellVal,Wo as getFieldDistinctValues,Oi as getPivotAiSchema,Li as getPivotAiState,Ht as getVisibleColLeaves,vr as getVisibleColSlots,Gt as getVisibleLeafCount,_t as getVisibleMaxDepth,zu as heatColor,Gu as heatTextColor,Ro as heatmapMarks,De as inferColumnType,Pt as initPivotEngineAsync,di as intlFormatToExcelNumFmt,ti as invertRowHeaderWidth,ju as it,Ju as ja,Qu as ko,xo as logAxisTicks,Ti as pairSeriesForXY,hu as parseBoolean,yr as parseColor,Te as parseCsvToRows,pu as parseDelimited,pt as parseFlexibleDate,ct as parseLocaleNumber,Fo as percentAxisTicks,Gi as pivotRowTrend,Hi as pivotServerSource,qu as pt,Io as rangeBarMarks,we as rangeRatio,Me as readChartFormat,Oo as readPivotChartState,ut as reconfigurePivotEngineAsync,Jo as registerAdvancedExporter,Yt as resolveColPath,ei as resolveColumnWidthDefaults,li as resolveConditionalVisual,Wi as rollupInMemory,Yu as ru,Ce as safeKey,mt as sanitizeRows,ot as scaleColor,$r as serverRequestFor,ce as setActiveEngineGrid,Ae as sortPivotTree,Vu as squarify,Eo as stackSeries,qe as stripBom,ko as sunburstMarks,Si as testSafeFormula,Hu as tr,To as treemapMarks,zi as trendColumnPaths,_i as trendShape,Ou as waterfallDomain,Do as waterfallMarks,Nu as waterfallSteps,Zu as zhCN};
|
|
63
|
+
`+Vi(u),...Pe(i)}}function Gi(r,e={}){let{features:t,byId:u}=su(r,e),{fields:o,layout:i}=r.getState(),n=o.filter(l=>u.has(l.id)),s=l=>n.filter(d=>d.area===l).sort((d,p)=>(d.areaIndex??0)-(p.areaIndex??0)),a={};return t.has("fields")&&(a.rows=s("row").map(l=>l.id),a.columns=s("column").map(l=>l.id),a.values=s("data").map(l=>({fieldId:l.id,summaryType:l.summaryType??"sum",displayMode:l.summaryDisplayMode??"absolute"}))),t.has("filter")&&(a.filters=n.filter(l=>l.filterValues&&l.filterValues.size>0).map(l=>{let d=new Map;for(let p of l.filterValues){if(!Wr(p))continue;let c=String(p);(!d.has(c)||typeof d.get(c)=="string")&&d.set(c,p);}return {fieldId:l.id,type:l.filterType??"include",values:[...d.values()]}})),t.has("sort")&&(a.sort=n.filter(l=>(l.area==="row"||l.area==="column")&&(l.sortOrder||l.sortBySummaryField)).map(l=>({fieldId:l.id,direction:l.sortOrder??"asc",byValueField:l.sortBySummaryField??null,top:l.topN??null}))),t.has("totals")&&(a.totals={grandTotalRow:i.showRowGrandTotals!==false,grandTotalColumn:i.showColumnGrandTotals!==false,subtotalRows:i.showRowTotals!==false,subtotalColumns:i.showColumnTotals!==false,rowHeaderLayout:i.rowHeaderLayout??"tabular"}),a}var te=r=>typeof r=="object"&&r!==null&&!Array.isArray(r);function _i(r,e,t={}){let u=r,{features:o,byId:i}=su(u,t),n=[],s=[],a=e;if(typeof a=="string")try{a=JSON.parse(a);}catch{return {applied:s,dropped:["the answer is not valid JSON"]}}if(!te(a))return {applied:s,dropped:["the answer is not an object"]};let l=r.getState().fields.map(m=>({...m})),d=m=>l.find(f=>f.id===m),p=false;if(o.has("fields")&&("rows"in a||"columns"in a||"values"in a)){let m=new Set,f=(y,b,B)=>{if(y===void 0)return [];if(!Array.isArray(y))return n.push(`${b}: not a list`),[];let R=[];for(let S of y){let P=typeof S=="string"?i.get(S):void 0;P?B(P)?m.has(P.field.id)?n.push(`${b} ${P.field.id}: already placed`):(m.add(P.field.id),R.push(P.field.id)):n.push(`${b} ${P.field.id}: a calculated measure cannot be a ${b.slice(0,-1)}`):n.push(`${b} ${String(S)}: no such field`);}return R},h=y=>l.filter(b=>b.area===y&&i.has(b.id)).sort((b,B)=>(b.areaIndex??0)-(B.areaIndex??0)).map(b=>b.id),g="rows"in a?f(a.rows,"rows",y=>y.dimension):null,C="columns"in a?f(a.columns,"columns",y=>y.dimension):null,v=[];if("values"in a)if(!Array.isArray(a.values))n.push("values: not a list");else for(let y of a.values){let b=te(y)&&typeof y.fieldId=="string"?i.get(y.fieldId):void 0;if(!b||!te(y)){n.push(`values ${te(y)?String(y.fieldId):"?"}: no such field`);continue}let B=y.summaryType;if(!b.summaries.includes(B)){n.push(`values ${b.field.id}: ${String(B)} does not suit a ${b.field.dataType} field`);continue}let R=_r.includes(y.displayMode)?y.displayMode:"absolute";if(y.displayMode!==void 0&&R!==y.displayMode&&n.push(`values ${b.field.id}: unknown displayMode ${String(y.displayMode)}, shown as the number itself`),m.has(b.field.id)){n.push(`values ${b.field.id}: already placed`);continue}m.add(b.field.id),v.push({fieldId:b.field.id,summaryType:B,displayMode:R});}let F=g??h("row").filter(y=>!m.has(y)),E=C??h("column").filter(y=>!m.has(y)),x="values"in a?v:null,A=x===null?h("data").filter(y=>!m.has(y)):[],w=new Map;F.forEach((y,b)=>w.set(y,["row",b])),E.forEach((y,b)=>w.set(y,["column",b])),(x??[]).forEach((y,b)=>w.set(y.fieldId,["data",b])),A.forEach((y,b)=>w.set(y,["data",b])),l=l.map(y=>{if(!i.has(y.id))return y;let b=w.get(y.id);if(b){let B=x?.find(R=>R.fieldId===y.id);return {...y,area:b[0],areaIndex:b[1],...B?{summaryType:B.summaryType,summaryDisplayMode:B.displayMode}:{}}}return y.area==="row"||y.area==="column"||y.area==="data"?{...y,area:"chooser",areaIndex:0}:y}),p=true,s.push("fields");}if(o.has("filter")&&"filters"in a)if(!Array.isArray(a.filters))n.push("filters: not a list");else {let m=new Map;for(let f of a.filters){let h=te(f)&&typeof f.fieldId=="string"?i.get(f.fieldId):void 0;if(!h||!te(f)||!h.dimension){n.push(`filter on ${te(f)?String(f.fieldId):"?"}: no such field to filter`);continue}let g=f.type==="exclude"?"exclude":"include";if(!Array.isArray(f.values)||f.values.length===0){n.push(`filter on ${h.field.id}: needs a non-empty list of values`);continue}let{values:C,truncated:v}=$r(u,h.field,1e5),F=new Set;for(let E of f.values){let x=C.get(String(E));if(x===void 0&&!C.has(String(E))){v?(F.add(String(E)),F.add(E)):n.push(`filter on ${h.field.id}: no value ${JSON.stringify(E)} in the data`);continue}F.add(String(E)),F.add(x);}F.size>0&&m.set(h.field.id,{type:g,values:F});}l=l.map(f=>{if(!i.has(f.id))return f;let h=m.get(f.id);return h?{...f,filterValues:h.values,filterType:h.type}:{...f,filterValues:void 0,filterType:void 0}}),p=true,s.push("filter");}if(o.has("sort")&&"sort"in a)if(!Array.isArray(a.sort))n.push("sort: not a list");else {let m=new Map;for(let f of a.sort){let h=te(f)&&typeof f.fieldId=="string"?i.get(f.fieldId):void 0,g=h?d(h.field.id):void 0;if(!h||!te(f)||!g||g.area!=="row"&&g.area!=="column"){n.push(`sort by ${te(f)?String(f.fieldId):"?"}: not a row or column field`);continue}if(f.direction!=="asc"&&f.direction!=="desc"){n.push(`sort by ${g.id}: direction must be asc or desc`);continue}let C=null;if(f.byValueField!==null&&f.byValueField!==void 0){let F=typeof f.byValueField=="string"?l.find(E=>E.id===f.byValueField):void 0;!F||F.area!=="data"?n.push(`sort by ${g.id}: ${String(f.byValueField)} is not one of the values, sorted by the field itself`):C=F.id;}let v=null;if(f.top!==null&&f.top!==void 0){let F=Number(f.top);!Number.isInteger(F)||F<1?n.push(`sort by ${g.id}: top must be a whole number from 1`):C?v=F:n.push(`sort by ${g.id}: top needs byValueField, kept every value`);}m.set(g.id,{fieldId:g.id,direction:f.direction,byValueField:C,top:v});}l=l.map(f=>{if(!i.has(f.id))return f;let h=m.get(f.id);return {...f,sortOrder:h?.direction,sortBySummaryField:h?.byValueField??void 0,sortBySummaryPath:h?.byValueField?"":void 0,topN:h?.top??void 0}}),p=true,s.push("sort");}let c=null;if(o.has("totals")&&"totals"in a){let m=a.totals;if(!te(m))n.push("totals: not an object");else {c={};let f=(h,g)=>{m[h]!==void 0&&(typeof m[h]=="boolean"?c[g]=m[h]:n.push(`totals.${h}: must be true or false`));};f("grandTotalRow","showRowGrandTotals"),f("grandTotalColumn","showColumnGrandTotals"),f("subtotalRows","showRowTotals"),f("subtotalColumns","showColumnTotals"),m.rowHeaderLayout==="tabular"||m.rowHeaderLayout==="tree"?c.rowHeaderLayout=m.rowHeaderLayout:m.rowHeaderLayout!==void 0&&n.push("totals.rowHeaderLayout: must be tabular or tree"),s.push("totals");}}return c&&Object.keys(c).length>0&&r.setLayout(c),p&&r.setFields(l),{applied:s,dropped:n}}function Hi(r){let e=[],t=u=>{for(let o of u)o.isTotal||(o.isExpanded&&o.children.length>0?t(o.children):e.push(o.key.split("|")));};return t(r),e}function $i(r,e,t,u){return e.map(o=>{let i=r(t,o)?.values[u];return typeof i=="number"&&Number.isFinite(i)?i:Number.NaN})}var We=r=>Math.round(r*10)/10;function Wi(r,e,t,u=2){let o=r.filter(v=>!Number.isNaN(v)),i={line:"",bars:[],last:null};if(o.length===0)return i;let n=Math.min(...o),s=Math.max(...o);n===s&&(n-=1,s+=1);let a=r.length,l=Math.max(1,e-u*2),d=Math.max(1,t-u*2),p=v=>We(u+(a===1?l/2:v/(a-1)*l)),c=v=>We(u+(1-(v-n)/(s-n))*d),m=[],f=null;r.forEach((v,F)=>{Number.isNaN(v)||(m.push(`${p(F)},${c(v)}`),f={x:p(F),y:c(v)});});let h=n<=0&&s>=0?c(0):c(n),g=l/Math.max(1,a),C=[];return r.forEach((v,F)=>{if(Number.isNaN(v))return;let E=Math.min(c(v),h);C.push({x:We(u+F*g+g*.15),y:E,width:We(Math.max(1,g*.7)),height:We(Math.max(1,Math.abs(c(v)-h))),negative:v<0});}),{line:o.length>=2?m.join(" "):"",bars:C,last:f}}var Ue=r=>({fieldId:r.id,...r.dataField?{dataField:r.dataField}:{},dataType:r.dataType,...r.groupInterval!==void 0?{groupInterval:r.groupInterval}:{}}),lu=(r,e)=>r.filter(t=>t.area===e).sort((t,u)=>(t.areaIndex??0)-(u.areaIndex??0));function Ur(r){let e=t=>t.has("*")?"all":[...t].map(u=>u.split("|"));return {rows:lu(r.fields,"row").map(Ue),columns:lu(r.fields,"column").map(Ue),values:lu(r.fields,"data").map(t=>({...Ue(t),summaryType:t.summaryType??"sum"})),filters:r.fields.filter(t=>t.filterValues&&t.filterValues.size>0).map(t=>{let u=new Map;for(let o of t.filterValues)(!u.has(String(o))||typeof u.get(String(o))=="string")&&u.set(String(o),o);return {...Ue(t),type:t.filterType??"include",values:[...u.values()]}}),prefilter:r.prefilter,expandedRows:e(r.expandedRows),expandedColumns:e(r.expandedColumns)}}function Ui(r){let e=Math.max(0,r.cacheSize??16),t=new Map,u=new Set,o=i=>{let n=r.loadFieldValues;if(n)for(let s of i.fields){if(!s.area||s.area==="chooser"||s.area==="data")continue;let a=`${i.gridId}\0${s.id}`;u.has(a)||(u.add(a),n(Ue(s)).then(l=>cr(i.gridId,s.id,l),()=>u.delete(a)));}};return {async compute(i){let n=Ur(i),s=JSON.stringify(n),a=e>0?t.get(s):void 0;if(!a&&(a=r.load(n),e>0))for(t.set(s,a),a.catch(()=>t.delete(s));t.size>e;)t.delete(t.keys().next().value);let l=Kr(n,await a);return o(i),l},reset(){t.clear(),u.clear();},clearCache:()=>t.clear()}}var me=r=>r.map(e=>e==null?"(Blank)":String(e)).join("|");function Kr(r,e){let t=r.expandedRows==="all"?null:new Set(r.expandedRows.map(m=>m.join("|"))),u=r.expandedColumns==="all"?null:new Set(r.expandedColumns.map(m=>m.join("|"))),o=(m,f,h)=>{if(m.length>h)return false;if(f===null)return true;for(let g=1;g<m.length;g++)if(!f.has(me(m.slice(0,g))))return false;return true},i=(m,f,h)=>{let g=f.length,C={"":0},v=new Map,F=[],E=x=>{if(x.length===0)return null;let A=me(x),w=v.get(A);if(w)return w;let y=x.length-1;w={key:A,value:x[y]??"(Blank)",fieldId:f[y].fieldId,children:[],isExpanded:y<g-1&&(h===null||h.has(A)),isTotal:false,depth:y,hasChildren:y<g-1},v.set(A,w),C[A]=Object.keys(C).length;let b=E(x.slice(0,-1));return (b?b.children:F).push(w),w};for(let x of e.cells){let A=m==="row"?x.row:x.col;o(A,h,g)&&E([...A]);}return {roots:F,indexMap:C}},n=i("row",r.rows,t),s=i("col",r.columns,u),a=r.values.map(m=>m.fieldId),l=[],d=[],p=[],c=new Set;for(let m of e.cells){let f=n.indexMap[me(m.row)],h=s.indexMap[me(m.col)];if(f===void 0||h===void 0)continue;let g=f*67108864+h;if(!c.has(g)){c.add(g),l.push(g);for(let C of a){let v=m.values[C],F=typeof v=="number"&&Number.isFinite(v);d.push(F?v:0),p.push(F?1:0);}}}return {rowTree:n.roots,colTree:s.roots,cellMatrix:{keys:Float64Array.from(l),sums:Float64Array.from(d),counts:Int32Array.from(p)},rowIndexMap:n.indexMap,columnIndexMap:s.indexMap,cardinalityMap:{}}}var De=r=>({id:r.fieldId,dataField:r.dataField,caption:r.fieldId,dataType:r.dataType,groupInterval:r.groupInterval});function Ki(r,e){if(r==="count")return e.filter(u=>u!=null&&u!=="").length;if(r==="distinct")return new Set(e.filter(u=>u!=null).map(String)).size;let t=e.map(Number).filter(u=>Number.isFinite(u));if(t.length===0)return null;switch(r){case "sum":return t.reduce((u,o)=>u+o,0);case "avg":return t.reduce((u,o)=>u+o,0)/t.length;case "min":return Math.min(...t);case "max":return Math.max(...t);default:return t.reduce((u,o)=>u+o,0)}}function ji(r,e,t=[]){let u=e.filters.map(m=>({...De(m),filterValues:new Set(m.values),filterType:m.type})),o=new Map(t.map(m=>[m.id,m]));for(let m of [...e.rows,...e.columns,...e.values])o.has(m.fieldId)||o.set(m.fieldId,De(m));for(let m of u)o.set(m.id,{...o.get(m.id)??m,filterValues:m.filterValues,filterType:m.filterType});let i=se([...r],[...o.values()],e.prefilter??void 0),n=e.rows.map(De),s=e.columns.map(De),a=e.expandedRows==="all"?null:new Set(e.expandedRows.map(m=>m.join("|"))),l=e.expandedColumns==="all"?null:new Set(e.expandedColumns.map(m=>m.join("|"))),d=(m,f,h)=>{let g=[[]],C=[];for(let v=0;v<f.length&&!(v>0&&h!==null&&!h.has(me(C)));v++){let F=U(m,f[v]);C.push(F==null||F==="(Blank)"?null:F instanceof Date?F.toISOString():F),g.push([...C]);}return g},p=new Map;for(let m of i){let f=d(m,n,a),h=d(m,s,l);for(let g of f)for(let C of h){let v=`${me(g)}\0${me(C)}`,F=p.get(v);F||p.set(v,F={row:g,col:C,members:[]}),F.members.push(m);}}let c=[];for(let m of p.values()){let f={};for(let h of e.values)f[h.fieldId]=Ki(h.summaryType,m.members.map(g=>U(g,{...De(h),groupInterval:void 0})));c.push({row:m.row,col:m.col,values:f});}return {cells:c}}function qi(r,e){let t=new Map;for(let u of r){let o=U(u,De(e));t.has(String(o))||t.set(String(o),o);}return [...t.values()]}export{Mu as CHART_LEGEND_POSITIONS,Ie as CsvReader,vr as DEFAULT_DATA_COLUMN_WIDTH,Cr as DEFAULT_ROW_HEADER_WIDTH,pe as DataNormalizer,xe as DateFormatter,ze as ExportStreamController,Se as FastTrie,au as FlatPivotEngine,Me as ImportManager,Ee as ImportStreamController,O as MAX_C,Gr as PIVOT_AI_FEATURES,iu as PivotCellAggregator,ou as PivotController,Iu as PivotEngineRegistry,Ve as PivotEngineService,Qe as PivotEventEmitter,Ge as PivotExportService,W as PivotFieldService,_e as PivotReportManager,He as PivotReportService,ku as PivotSelectionModel,$e as PivotStateStore,Lt as ROW_HEADER_MAX_PINNED_FRACTION,Vt as ROW_HEADER_MIN_COL_WIDTH,Ot as ROW_HEADER_MIN_DATA_STRIP,Oo as SHAPE_CHART_TYPES,ke as XmlReader,_i as applyPivotAiState,Zu as ar,Jt as buildCellLookup,Dr as buildColPathsList,Wt as buildColumnHeaders,Kr as buildEngineResult,Qt as buildPivotAOA,Tr as buildRowLabelCells,qr as cellHash,Xr as cellHashCol,Yr as cellHashRow,Bo as chartPalette,Cu as classifyValue,gi as clearFormatCache,ht as coerceRecords,Te as coerceValue,Oe as collatorFor,uu as compileSafeFormula,qt as computeFieldRanges,ot as computePivotMatrixAsync,yr as computeRowHeaderWidths,hi as conditionRuleToExcelStyle,bi as cssColorToRgb,Uu as de,Eu as dedupeHeaders,ge as defaultPivotLayout,St as destroyEngineWorker,ct as detectDelimiter,Ft as diffPivotChartState,Wu as en,ju as es,Sr as escapeXmlText,It as executePostAggregationPhase,kt as executeSummaryDisplayModesPhase,Zt as exportPivotData,U as extractGroupValue,jt as fieldNeedsRange,qi as fieldValuesInMemory,zt as filterEmptySummaryTree,Le as filterPivotEngineAsync,se as filterRecords,eo as filterRecordsAsync,Br as flattenExportRows,ii as flattenRowTree,Ut as flattenRowTreeTabular,Kt as flattenRowTreeTree,fi as formatCellValue,nt as formatCellValueCached,Mi as formatDimensionValue,lt as formatHeaderValue,Ku as fr,Ro as funnelMarks,Vu as funnelStages,Mt as getAdvancedExporter,st as getCellVal,jo as getFieldDistinctValues,zi as getPivotAiSchema,Gi as getPivotAiState,$t as getVisibleColLeaves,Fr as getVisibleColSlots,_t as getVisibleLeafCount,Ht as getVisibleMaxDepth,Gu as heatColor,_u as heatTextColor,ko as heatmapMarks,Be as inferColumnType,Dt as initPivotEngineAsync,mi as intlFormatToExcelNumFmt,oi as invertRowHeaderWidth,qu as it,Qu as ja,er as ko,wo as logAxisTicks,ki as pairSeriesForXY,gu as parseBoolean,Er as parseColor,Re as parseCsvToRows,mu as parseDelimited,mt as parseFlexibleDate,pt as parseLocaleNumber,xo as percentAxisTicks,$i as pivotRowTrend,Ui as pivotServerSource,Yu as pt,Mo as rangeBarMarks,be as rangeRatio,Ne as readChartFormat,Vo as readPivotChartState,rt as reconfigurePivotEngineAsync,ti as registerAdvancedExporter,Xt as resolveColPath,ri as resolveColumnWidthDefaults,pi as resolveConditionalVisual,ji as rollupInMemory,Xu as ru,ve as safeKey,ft as sanitizeRows,it as scaleColor,Ur as serverRequestFor,ce as setActiveEngineGrid,we as sortPivotTree,zu as squarify,Ao as stackSeries,Ye as stripBom,No as sunburstMarks,Bi as testSafeFormula,$u as tr,Io as treemapMarks,Hi as trendColumnPaths,Wi as trendShape,Lu as waterfallDomain,To as waterfallMarks,Ou as waterfallSteps,Ju as zhCN};
|