@spectrum-charts/vega-spec-builder 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@spectrum-charts/constants"),require("@spectrum-charts/themes"),require("@spectrum-charts/utils")):"function"==typeof define&&define.amd?define(["@spectrum-charts/constants","@spectrum-charts/themes","@spectrum-charts/utils"],t):"object"==typeof exports?exports.spectrumChartsVegaSpecBuilder=t(require("@spectrum-charts/constants"),require("@spectrum-charts/themes"),require("@spectrum-charts/utils")):e.spectrumChartsVegaSpecBuilder=t(e["@spectrum-charts/constants"],e["@spectrum-charts/themes"],e["@spectrum-charts/utils"])}(this,((e,t,a)=>(()=>{var n={743:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===a}(e)}(e)},a="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s((a=e,Array.isArray(a)?[]:{}),e,t):e;var a}function r(e,t,a){return e.concat(t).map((function(e){return n(e,a)}))}function i(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function o(e,t){try{return t in e}catch(e){return!1}}function s(e,a,l){(l=l||{}).arrayMerge=l.arrayMerge||r,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(a);return c===Array.isArray(e)?c?l.arrayMerge(e,a,l):function(e,t,a){var r={};return a.isMergeableObject(e)&&i(e).forEach((function(t){r[t]=n(e[t],a)})),i(t).forEach((function(i){(function(e,t){return o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(o(e,i)&&a.isMergeableObject(t[i])?r[i]=function(e,t){if(!t.customMerge)return s;var a=t.customMerge(e);return"function"==typeof a?a:s}(i,a)(e[i],t[i],a):r[i]=n(t[i],a))})),r}(e,a,l):n(a,l)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,a){return s(e,a,t)}),{})};var l=s;e.exports=l},561:function(e,t){!function(e){"use strict";function t(e){for(var t=new Array(e),a=0;a<e;++a)t[a]=0;return t}function a(e,t){for(var a=0,n=0;n<e.length;++n)a+=e[n]*t[n];return a}function n(e){return Math.sqrt(a(e,e))}function r(e,t,a){for(var n=0;n<t.length;++n)e[n]=t[n]*a}function i(e,t,a,n,r){for(var i=0;i<e.length;++i)e[i]=t*a[i]+n*r[i]}function o(e,t,n,r,o,s,l){var c=n.fx,u=a(n.fxprime,t),d=c,m=c,p=u,h=0;function g(m,h,g){for(var f=0;f<16;++f)if(o=(m+h)/2,i(r.x,1,n.x,o,t),d=r.fx=e(r.x,r.fxprime),p=a(r.fxprime,t),d>c+s*o*u||d>=g)h=o;else{if(Math.abs(p)<=-l*u)return o;p*(h-m)>=0&&(h=m),m=o,g=d}return 0}o=o||1,s=s||1e-6,l=l||.1;for(var f=0;f<10;++f){if(i(r.x,1,n.x,o,t),d=r.fx=e(r.x,r.fxprime),p=a(r.fxprime,t),d>c+s*o*u||f&&d>=m)return g(h,o,m);if(Math.abs(p)<=-l*u)return o;if(p>=0)return g(o,h,d);m=d,h=o,o*=2}return o}e.bisect=function(e,t,a,n){var r=(n=n||{}).maxIterations||100,i=n.tolerance||1e-10,o=e(t),s=e(a),l=a-t;if(o*s>0)throw"Initial bisect points must have opposite signs";if(0===o)return t;if(0===s)return a;for(var c=0;c<r;++c){var u=t+(l/=2),d=e(u);if(d*o>=0&&(t=u),Math.abs(l)<i||0===d)return u}return t+l},e.nelderMead=function(e,t,a){var n,r=(a=a||{}).maxIterations||200*t.length,o=a.nonZeroDelta||1.05,s=a.zeroDelta||.001,l=a.minErrorDelta||1e-6,c=a.minErrorDelta||1e-5,u=void 0!==a.rho?a.rho:1,d=void 0!==a.chi?a.chi:2,m=void 0!==a.psi?a.psi:-.5,p=void 0!==a.sigma?a.sigma:.5,h=t.length,g=new Array(h+1);g[0]=t,g[0].fx=e(t),g[0].id=0;for(var f=0;f<h;++f){var y=t.slice();y[f]=y[f]?y[f]*o:s,g[f+1]=y,g[f+1].fx=e(y),g[f+1].id=f+1}function E(e){for(var t=0;t<e.length;t++)g[h][t]=e[t];g[h].fx=e.fx}for(var v=function(e,t){return e.fx-t.fx},b=t.slice(),_=t.slice(),S=t.slice(),O=t.slice(),T=0;T<r;++T){if(g.sort(v),a.history){var $=g.map((function(e){var t=e.slice();return t.fx=e.fx,t.id=e.id,t}));$.sort((function(e,t){return e.id-t.id})),a.history.push({x:g[0].slice(),fx:g[0].fx,simplex:$})}for(n=0,f=0;f<h;++f)n=Math.max(n,Math.abs(g[0][f]-g[1][f]));if(Math.abs(g[0].fx-g[h].fx)<l&&n<c)break;for(f=0;f<h;++f){b[f]=0;for(var x=0;x<h;++x)b[f]+=g[x][f];b[f]/=h}var L=g[h];if(i(_,1+u,b,-u,L),_.fx=e(_),_.fx<g[0].fx)i(O,1+d,b,-d,L),O.fx=e(O),O.fx<_.fx?E(O):E(_);else if(_.fx>=g[h-1].fx){var A=!1;if(_.fx>L.fx?(i(S,1+m,b,-m,L),S.fx=e(S),S.fx<L.fx?E(S):A=!0):(i(S,1-m*u,b,m*u,L),S.fx=e(S),S.fx<_.fx?E(S):A=!0),A){if(p>=1)break;for(f=1;f<g.length;++f)i(g[f],1-p,g[0],p,g[f]),g[f].fx=e(g[f])}}else E(_)}return g.sort(v),{fx:g[0].fx,x:g[0]}},e.conjugateGradient=function(e,t,s){var l,c,u,d={x:t.slice(),fx:0,fxprime:t.slice()},m={x:t.slice(),fx:0,fxprime:t.slice()},p=t.slice(),h=1;u=(s=s||{}).maxIterations||20*t.length,d.fx=e(d.x,d.fxprime),r(l=d.fxprime.slice(),d.fxprime,-1);for(var g=0;g<u;++g){if(h=o(e,l,d,m,h),s.history&&s.history.push({x:d.x.slice(),fx:d.fx,fxprime:d.fxprime.slice(),alpha:h}),h){i(p,1,m.fxprime,-1,d.fxprime);var f=a(d.fxprime,d.fxprime);i(l,Math.max(0,a(p,m.fxprime)/f),l,-1,m.fxprime),c=d,d=m,m=c}else r(l,d.fxprime,-1);if(n(d.fxprime)<=1e-5)break}return s.history&&s.history.push({x:d.x.slice(),fx:d.fx,fxprime:d.fxprime.slice(),alpha:h}),d},e.gradientDescent=function(e,t,a){for(var r=(a=a||{}).maxIterations||100*t.length,o=a.learnRate||.001,s={x:t.slice(),fx:0,fxprime:t.slice()},l=0;l<r&&(s.fx=e(s.x,s.fxprime),a.history&&a.history.push({x:s.x.slice(),fx:s.fx,fxprime:s.fxprime.slice()}),i(s.x,1,s.x,-o,s.fxprime),!(n(s.fxprime)<=1e-5));++l);return s},e.gradientDescentLineSearch=function(e,t,a){a=a||{};var i,s={x:t.slice(),fx:0,fxprime:t.slice()},l={x:t.slice(),fx:0,fxprime:t.slice()},c=a.maxIterations||100*t.length,u=a.learnRate||1,d=t.slice(),m=a.c1||.001,p=a.c2||.1,h=[];if(a.history){var g=e;e=function(e,t){return h.push(e.slice()),g(e,t)}}s.fx=e(s.x,s.fxprime);for(var f=0;f<c&&(r(d,s.fxprime,-1),u=o(e,d,s,l,u,m,p),a.history&&(a.history.push({x:s.x.slice(),fx:s.fx,fxprime:s.fxprime.slice(),functionCalls:h,learnRate:u,alpha:u}),h=[]),i=s,s=l,l=i,!(0===u||n(s.fxprime)<1e-5));++f);return s},e.zeros=t,e.zerosM=function(e,a){return t(e).map((function(){return t(a)}))},e.norm2=n,e.weightedSum=i,e.scale=r}(t)},542:function(e){e.exports=(()=>{"use strict";var e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{getLocale:()=>r,numberLocales:()=>a,timeLocales:()=>n});const a={"ar-AE":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.إ."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-BH":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ب."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-DJ":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏Fdj ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-DZ":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ج. ",""]}'),"ar-EG":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ج.م."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-IL":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["₪ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-IQ":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ع."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-JO":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.أ."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-KM":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ف.ج.ق."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-KW":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ك."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-LB":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ل.ل."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-LY":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ل. ",""]}'),"ar-MA":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.م. ",""]}'),"ar-OM":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ع."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-PS":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["₪ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-QA":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ق."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SA":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SD":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ج.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SO":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏S ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SS":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["£ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SY":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ل.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-TD":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏FCFA ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-TN":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ت. ",""]}'),"ar-YE":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ى."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ca-ES":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"cs-CZ":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," Kč"]}'),"da-DK":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," kr"]}'),"de-CH":JSON.parse('{"decimal":",","thousands":"\'","grouping":[3],"currency":[""," CHF"]}'),"de-DE":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"en-CA":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"en-GB":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["£",""]}'),"en-IE":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["€",""]}'),"en-IN":JSON.parse('{"decimal":".","thousands":",","grouping":[3,2,2,2,2,2,2,2,2,2],"currency":["₹",""]}'),"en-US":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"es-BO":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["Bs ",""],"percent":" %"}'),"es-ES":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"es-MX":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"fi-FI":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"]}'),"fr-CA":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":["","$"]}'),"fr-FR":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"],"percent":" %"}'),"he-IL":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["₪",""]}'),"hu-HU":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," Ft"]}'),"it-IT":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["€",""]}'),"ja-JP":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["","円"]}'),"ko-KR":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["₩",""]}'),"mk-MK":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," ден."]}'),"nl-NL":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["€ ",""]}'),"pl-PL":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["","zł"]}'),"pt-BR":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["R$",""]}'),"pt-PT":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"]}'),"ru-RU":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," ₽"]}'),"sl-SI":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"sv-SE":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," kr"]}'),"uk-UA":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," ₴."]}'),"zh-CN":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["¥",""]}')},n={"ar-EG":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["ص","م"],"days":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"shortDays":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"months":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"shortMonths":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"]}'),"ar-SY":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["ص","م"],"days":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"shortDays":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"months":["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],"shortMonths":["ك٢","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","ت١","ت٢","ك١"]}'),"ca-ES":JSON.parse('{"dateTime":"%A, %e de %B de %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],"shortDays":["dg.","dl.","dt.","dc.","dj.","dv.","ds."],"months":["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],"shortMonths":["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}'),"cs-CZ":JSON.parse('{"dateTime":"%A,%e.%B %Y, %X","date":"%-d.%-m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["neděle","pondělí","úterý","středa","čvrtek","pátek","sobota"],"shortDays":["ne.","po.","út.","st.","čt.","pá.","so."],"months":["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],"shortMonths":["led","úno","břez","dub","kvě","čer","červ","srp","zář","říj","list","pros"]}'),"da-DK":JSON.parse('{"dateTime":"%A den %d %B %Y %X","date":"%d-%m-%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"shortDays":["søn","man","tir","ons","tor","fre","lør"],"months":["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],"shortMonths":["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"]}'),"de-CH":JSON.parse('{"dateTime":"%A, der %e. %B %Y, %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"shortDays":["So","Mo","Di","Mi","Do","Fr","Sa"],"months":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"shortMonths":["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}'),"de-DE":JSON.parse('{"dateTime":"%A, der %e. %B %Y, %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"shortDays":["So","Mo","Di","Mi","Do","Fr","Sa"],"months":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"shortMonths":["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}'),"en-CA":JSON.parse('{"dateTime":"%a %b %e %X %Y","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"en-GB":JSON.parse('{"dateTime":"%a %e %b %X %Y","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"en-US":JSON.parse('{"dateTime":"%x, %X","date":"%-m/%-d/%Y","time":"%-I:%M:%S %p","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"es-ES":JSON.parse('{"dateTime":"%A, %e de %B de %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"shortDays":["dom","lun","mar","mié","jue","vie","sáb"],"months":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"shortMonths":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}'),"es-MX":JSON.parse('{"dateTime":"%x, %X","date":"%d/%m/%Y","time":"%-I:%M:%S %p","periods":["AM","PM"],"days":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"shortDays":["dom","lun","mar","mié","jue","vie","sáb"],"months":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"shortMonths":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}'),"fa-IR":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["صبح","عصر"],"days":["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"shortDays":["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"months":["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],"shortMonths":["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"]}'),"fi-FI":JSON.parse('{"dateTime":"%A, %-d. %Bta %Y klo %X","date":"%-d.%-m.%Y","time":"%H:%M:%S","periods":["a.m.","p.m."],"days":["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],"shortDays":["Su","Ma","Ti","Ke","To","Pe","La"],"months":["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],"shortMonths":["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}'),"fr-CA":JSON.parse('{"dateTime":"%a %e %b %Y %X","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["",""],"days":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"shortDays":["dim","lun","mar","mer","jeu","ven","sam"],"months":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"shortMonths":["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}'),"fr-FR":JSON.parse('{"dateTime":"%A %e %B %Y à %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"shortDays":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"months":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"shortMonths":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}'),"he-IL":JSON.parse('{"dateTime":"%A, %e ב%B %Y %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],"shortDays":["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],"months":["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],"shortMonths":["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}'),"hr-HR":JSON.parse('{"dateTime":"%A, %e. %B %Y., %X","date":"%d. %m. %Y.","time":"%H:%M:%S","periods":["AM","PM"],"days":["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvtrak","Petak","Subota"],"shortDays":["Ne","Po","Ut","Sr","Če","Pe","Su"],"months":["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],"shortMonths":["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"]}'),"hu-HU":JSON.parse('{"dateTime":"%Y. %B %-e., %A %X","date":"%Y. %m. %d.","time":"%H:%M:%S","periods":["de.","du."],"days":["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],"shortDays":["V","H","K","Sze","Cs","P","Szo"],"months":["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],"shortMonths":["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}'),"it-IT":JSON.parse('{"dateTime":"%A %e %B %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],"shortDays":["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],"months":["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],"shortMonths":["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}'),"ja-JP":JSON.parse('{"dateTime":"%x %a %X","date":"%Y/%m/%d","time":"%H:%M:%S","periods":["AM","PM"],"days":["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],"shortDays":["日","月","火","水","木","金","土"],"months":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"shortMonths":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}'),"ko-KR":JSON.parse('{"dateTime":"%Y/%m/%d %a %X","date":"%Y/%m/%d","time":"%H:%M:%S","periods":["오전","오후"],"days":["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],"shortDays":["일","월","화","수","목","금","토"],"months":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"shortMonths":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}'),"mk-MK":JSON.parse('{"dateTime":"%A, %e %B %Y г. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["недела","понеделник","вторник","среда","четврток","петок","сабота"],"shortDays":["нед","пон","вто","сре","чет","пет","саб"],"months":["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],"shortMonths":["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}'),"nb-NO":JSON.parse('{"dateTime":"%A den %d. %B %Y %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"shortDays":["søn","man","tir","ons","tor","fre","lør"],"months":["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],"shortMonths":["jan","feb","mars","apr","mai","juni","juli","aug","sep","okt","nov","des"]}'),"nl-BE":JSON.parse('{"dateTime":"%a %e %B %Y %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"shortDays":["zo","ma","di","wo","do","vr","za"],"months":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"shortMonths":["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}'),"nl-NL":JSON.parse('{"dateTime":"%a %e %B %Y %X","date":"%d-%m-%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"shortDays":["zo","ma","di","wo","do","vr","za"],"months":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"shortMonths":["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}'),"pl-PL":JSON.parse('{"dateTime":"%A, %e %B %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],"shortDays":["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],"months":["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],"shortMonths":["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}'),"pt-BR":JSON.parse('{"dateTime":"%A, %e de %B de %Y. %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],"shortDays":["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],"months":["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],"shortMonths":["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}'),"ru-RU":JSON.parse('{"dateTime":"%A, %e %B %Y г. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],"shortDays":["вс","пн","вт","ср","чт","пт","сб"],"months":["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],"shortMonths":["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}'),"sv-SE":JSON.parse('{"dateTime":"%A den %d %B %Y %X","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["fm","em"],"days":["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],"shortDays":["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],"months":["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}'),"tr-TR":JSON.parse('{"dateTime":"%a %e %b %X %Y","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],"shortDays":["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],"months":["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],"shortMonths":["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"]}'),"uk-UA":JSON.parse('{"dateTime":"%A, %e %B %Y р. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["дп","пп"],"days":["неділя","понеділок","вівторок","середа","четвер","п\'ятниця","субота"],"shortDays":["нд","пн","вт","ср","чт","пт","сб"],"months":["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],"shortMonths":["січ.","лют.","бер.","квіт.","трав.","черв.","лип.","серп.","вер.","жовт.","лист.","груд."]}'),"zh-CN":JSON.parse('{"dateTime":"%x %A %X","date":"%Y年%-m月%-d日","time":"%H:%M:%S","periods":["上午","下午"],"days":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"shortDays":["周日","周一","周二","周三","周四","周五","周六"],"months":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],"shortMonths":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}'),"zh-TW":JSON.parse('{"dateTime":"%x %A %X","date":"%Y年%-m月%-d日","time":"%H:%M:%S","periods":["上午","下午"],"days":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"shortDays":["日","一","二","三","四","五","六"],"months":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],"shortMonths":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}')},r=(e="en-US")=>{var t,r;return"string"==typeof e?{number:null!==(t=a[e])&&void 0!==t?t:a["en-US"],time:null!==(r=n[e])&&void 0!==r?r:n["en-US"]}:{number:i(e.number),time:o(e.time)}},i=e=>{var t;return"string"==typeof e?null!==(t=a[e])&&void 0!==t?t:a["en-US"]:e},o=e=>{var t;return"string"==typeof e?null!==(t=n[e])&&void 0!==t?t:n["en-US"]:e};return t})()},633:t=>{"use strict";t.exports=e},274:e=>{"use strict";e.exports=t},365:e=>{"use strict";e.exports=a}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e].call(a.exports,a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";i.r(o),i.d(o,{addData:()=>Ms,addUserMetaInteractiveMark:()=>ge,baseData:()=>ce,buildSpec:()=>hs,expressionFunctions:()=>sl,formatHorizontalTimeAxisLabels:()=>tl,formatLocaleCurrency:()=>el,formatShortNumber:()=>Qs,formatTimeDurationLabels:()=>nl,formatVerticalAxisTimeLabels:()=>al,getChartConfig:()=>he,getColorScale:()=>Ss,getD3FormatSpecifierFromNumberFormat:()=>pe,getDefaultSignals:()=>ys,getDimensionField:()=>me,getExpressionFunctions:()=>Zs,getFacetsFromOptions:()=>te,getFacetsFromScales:()=>ae,getLineTypeScale:()=>Ts,getLineWidthPixelsFromLineWidth:()=>re,getLineWidthScale:()=>As,getLinearColorScale:()=>Os,getOpacityScale:()=>Is,getPathFromIcon:()=>oe,getPathFromSymbolShape:()=>ie,getStrokeDashFromLineType:()=>ne,getSymbolPathWidthScale:()=>Ls,getSymbolShapeScale:()=>$s,getSymbolSizeScale:()=>xs,getSymbolWidthFromRscSymbolSize:()=>le,getTwoDimensionalColorScheme:()=>Es,getTwoDimensionalLineTypes:()=>vs,getTwoDimensionalOpacities:()=>bs,getVegaEmbedOptions:()=>ll,getVegaSymbolSizeFromRscSymbolSize:()=>se,initializeSpec:()=>ue,isColorScale:()=>Cs,isColors:()=>Ns,isLineTypeArray:()=>js,isNumberArray:()=>Fs,isStrokeDashArray:()=>ks,isSymbolShapeArray:()=>Ps,mergeValuesIntoData:()=>de,removeUnusedScales:()=>gs});var e=Symbol.for("immer-nothing"),t=Symbol.for("immer-draftable"),a=Symbol.for("immer-state");function n(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var r=Object.getPrototypeOf;function s(e){return!!e&&!!e[a]}function l(e){return!!e&&(u(e)||Array.isArray(e)||!!e[t]||!!e.constructor?.[t]||g(e)||f(e))}var c=Object.prototype.constructor.toString();function u(e){if(!e||"object"!=typeof e)return!1;const t=r(e);if(null===t)return!0;const a=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return a===Object||"function"==typeof a&&Function.toString.call(a)===c}function d(e,t){0===m(e)?Reflect.ownKeys(e).forEach((a=>{t(a,e[a],e)})):e.forEach(((a,n)=>t(n,a,e)))}function m(e){const t=e[a];return t?t.type_:Array.isArray(e)?1:g(e)?2:f(e)?3:0}function p(e,t){return 2===m(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function h(e,t,a){const n=m(e);2===n?e.set(t,a):3===n?e.add(a):e[t]=a}function g(e){return e instanceof Map}function f(e){return e instanceof Set}function y(e){return e.copy_||e.base_}function E(e,t){if(g(e))return new Map(e);if(f(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=u(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[a];let n=Reflect.ownKeys(t);for(let a=0;a<n.length;a++){const r=n[a],i=t[r];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[r]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[r]})}return Object.create(r(e),t)}{const t=r(e);if(null!==t&&n)return{...e};const a=Object.create(t);return Object.assign(a,e)}}function v(e,t=!1){return _(e)||s(e)||!l(e)||(m(e)>1&&(e.set=e.add=e.clear=e.delete=b),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>v(t,!0)))),e}function b(){n(2)}function _(e){return Object.isFrozen(e)}var S,O={};function T(e){const t=O[e];return t||n(0),t}function $(){return S}function x(e,t){t&&(T("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function L(e){A(e),e.drafts_.forEach(D),e.drafts_=null}function A(e){e===S&&(S=e.parent_)}function I(e){return S={drafts_:[],parent_:S,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function D(e){const t=e[a];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function R(t,r){r.unfinalizedDrafts_=r.drafts_.length;const i=r.drafts_[0];return void 0!==t&&t!==i?(i[a].modified_&&(L(r),n(4)),l(t)&&(t=M(r,t),r.parent_||N(r,t)),r.patches_&&T("Patches").generateReplacementPatches_(i[a].base_,t,r.patches_,r.inversePatches_)):t=M(r,i,[]),L(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),t!==e?t:void 0}function M(e,t,n){if(_(t))return t;const r=t[a];if(!r)return d(t,((a,i)=>C(e,r,t,a,i,n))),t;if(r.scope_!==e)return t;if(!r.modified_)return N(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const t=r.copy_;let a=t,i=!1;3===r.type_&&(a=new Set(t),t.clear(),i=!0),d(a,((a,o)=>C(e,r,t,a,o,n,i))),N(e,t,!1),n&&e.patches_&&T("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function C(e,t,a,n,r,i,o){if(s(r)){const o=M(e,r,i&&t&&3!==t.type_&&!p(t.assigned_,n)?i.concat(n):void 0);if(h(a,n,o),!s(o))return;e.canAutoFreeze_=!1}else o&&a.add(r);if(l(r)&&!_(r)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;M(e,r),t&&t.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(a,n)||N(e,r)}}function N(e,t,a=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&v(t,a)}var j={get(e,t){if(t===a)return e;const n=y(e);if(!p(n,t))return function(e,t,a){const n=P(t,a);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}(e,n,t);const r=n[t];return e.finalized_||!l(r)?r:r===F(e.base_,t)?(w(e),e.copy_[t]=z(r,e)):r},has:(e,t)=>t in y(e),ownKeys:e=>Reflect.ownKeys(y(e)),set(e,t,n){const r=P(y(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=F(y(e),t),s=r?.[a];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||p(e.base_,t)))return!0;w(e),H(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==F(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,w(e),H(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const a=y(e),n=Reflect.getOwnPropertyDescriptor(a,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:a[t]}:n},defineProperty(){n(11)},getPrototypeOf:e=>r(e.base_),setPrototypeOf(){n(12)}},k={};function F(e,t){const n=e[a];return(n?y(n):e)[t]}function P(e,t){if(!(t in e))return;let a=r(e);for(;a;){const e=Object.getOwnPropertyDescriptor(a,t);if(e)return e;a=r(a)}}function H(e){e.modified_||(e.modified_=!0,e.parent_&&H(e.parent_))}function w(e){e.copy_||(e.copy_=E(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function z(e,t){const a=g(e)?T("MapSet").proxyMap_(e,t):f(e)?T("MapSet").proxySet_(e,t):function(e,t){const a=Array.isArray(e),n={type_:a?1:0,scope_:t?t.scope_:$(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let r=n,i=j;a&&(r=[n],i=k);const{revoke:o,proxy:s}=Proxy.revocable(r,i);return n.draft_=s,n.revoke_=o,s}(e,t);return(t?t.scope_:$()).drafts_.push(a),a}function B(e){if(!l(e)||_(e))return e;const t=e[a];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=E(e,t.scope_.immer_.useStrictShallowCopy_)}else n=E(e,!0);return d(n,((e,t)=>{h(n,e,B(t))})),t&&(t.finalized_=!1),n}d(j,((e,t)=>{k[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),k.deleteProperty=function(e,t){return k.set.call(this,e,t,void 0)},k.set=function(e,t,a){return j.set.call(this,e[0],t,a,e[0])};var G=new class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,a,r)=>{if("function"==typeof t&&"function"!=typeof a){const e=a;a=t;const n=this;return function(t=e,...r){return n.produce(t,(e=>a.call(this,e,...r)))}}let i;if("function"!=typeof a&&n(6),void 0!==r&&"function"!=typeof r&&n(7),l(t)){const e=I(this),n=z(t,void 0);let o=!0;try{i=a(n),o=!1}finally{o?L(e):A(e)}return x(e,r),R(i,e)}if(!t||"object"!=typeof t){if(i=a(t),void 0===i&&(i=t),i===e&&(i=void 0),this.autoFreeze_&&v(i,!0),r){const e=[],a=[];T("Patches").generateReplacementPatches_(t,i,e,a),r(e,a)}return i}n(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...a)=>this.produceWithPatches(t,(t=>e(t,...a)));let a,n;return[this.produce(e,t,((e,t)=>{a=e,n=t})),a,n]},"boolean"==typeof t?.autoFreeze&&this.setAutoFreeze(t.autoFreeze),"boolean"==typeof t?.useStrictShallowCopy&&this.setUseStrictShallowCopy(t.useStrictShallowCopy)}createDraft(e){var t;l(e)||n(8),s(e)&&(s(t=e)||n(10),e=B(t));const r=I(this),i=z(e,void 0);return i[a].isManual_=!0,A(r),i}finishDraft(e,t){const r=e&&e[a];r&&r.isManual_||n(9);const{scope_:i}=r;return x(i,t),R(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let a;for(a=t.length-1;a>=0;a--){const n=t[a];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}a>-1&&(t=t.slice(a+1));const n=T("Patches").applyPatches_;return s(e)?n(e,t):this.produce(e,(e=>n(e,t)))}},U=G.produce;G.produceWithPatches.bind(G),G.setAutoFreeze.bind(G),G.setUseStrictShallowCopy.bind(G),G.applyPatches.bind(G),G.createDraft.bind(G),G.finishDraft.bind(G);var V=i(633),W=i(274),J=i(365);const Y=U(((e,t)=>{-1===e.findIndex((e=>"timeunit"===e.type))&&e.push({type:"formula",expr:`toDate(datum["${t}"])`,as:t},{type:"timeunit",field:t,units:["year","month","date","hours","minutes","seconds"],as:[V.DEFAULT_TRANSFORMED_TIME_DIMENSION,`${V.DEFAULT_TIME_DIMENSION}1`]})})),K=e=>{if(e)return{field:e}},X=e=>e.find((e=>e.name===V.TABLE)),q=e=>e.find((e=>e.name===V.FILTERED_TABLE)),Z=e=>{if(0===e.length)return[];const t=e.map((e=>`datum.${e}`)).join(' + " | " + ');return[{type:"formula",as:V.SERIES_ID,expr:t}]},Q=e=>{var t;const a=null===(t=e[0])||void 0===t?void 0:t.excludeDataKeys,n=null==a?void 0:a.map((e=>({type:"filter",expr:`!datum.${e}`})));return{name:`${V.FILTERED_TABLE}ForTooltip`,source:V.FILTERED_TABLE,transform:n}},ee=require("vega"),te=({color:e,lineType:t,opacity:a,size:n})=>{let r=[e,t,a,n].map((e=>Array.isArray(e)?e[0]:e)).filter((e=>"string"==typeof e));r=[...new Set(r)];let i=[e,t,a].map((e=>Array.isArray(e)?e[1]:void 0)).filter((e=>"string"==typeof e));return i=[...new Set(i)],{facets:r,secondaryFacets:i}},ae=(e=[])=>{const t=[V.COLOR_SCALE,V.LINE_TYPE_SCALE,V.OPACITY_SCALE,"secondaryColor","secondaryLineType","secondaryOpacity"].reduce(((t,a)=>{const n=e.find((e=>e.name===a));return(null==n?void 0:n.domain)&&"fields"in n.domain&&n.domain.fields.length?[...t,n.domain.fields[0].toString()]:t}),[]);return[...new Set(t)]},ne=e=>{if(Array.isArray(e))return e;switch(e){case"dashed":return[7,4];case"dotted":return[2,3];case"dotDash":return[2,3,7,4];case"shortDash":return[3,4];case"longDash":return[11,4];case"twoDash":return[5,2,11,2];default:return[]}},re=e=>{if("number"==typeof e)return e;switch(e){case"XS":return 1;case"S":return 1.5;case"L":return 3;case"XL":return 4;default:return 2}},ie=e=>"rounded-square"===e?V.ROUNDED_SQUARE_PATH:e,oe=e=>({date:V.DATE_PATH,sentimentNegative:V.SENTIMENT_NEGATIVE_PATH,sentimentNeutral:V.SENTIMENT_NEUTRAL_PATH,sentimentPositive:V.SENTIMENT_POSITIVE_PATH}[e]||e),se=e=>Math.pow(le(e),2),le=e=>{if("number"==typeof e)return e;switch(e){case"XS":return 6;case"S":return 8;case"L":return 12;case"XL":return 16;default:return 10}},ce=[{name:V.TABLE,values:[],transform:[{type:"identifier",as:V.MARK_ID}]},{name:V.FILTERED_TABLE,source:V.TABLE}],ue=(e={},t={})=>{const{backgroundColor:a,colorScheme:n="light",description:r,title:i}=t,o={usermeta:{},title:i||void 0,description:r,data:ce,background:a?(0,W.getColorValue)(a,n):void 0};return Object.assign(Object.assign({},o),e||{})},de=(e,t)=>e.map((e=>{const a=t[e.name];return a&&(e.values=a),e})),me=(e,t)=>"time"===t?V.DEFAULT_TRANSFORMED_TIME_DIMENSION:e,pe=e=>{switch(e){case"currency":return"$,.2f";case"standardNumber":return",";default:return e}};function he(e,t){const a=(0,W.getSpectrumVegaConfig)(t);return e?(0,ee.mergeConfig)(a,e):a}const ge=U(((e,t)=>{var a;e.interactiveMarks=[...null!==(a=e.interactiveMarks)&&void 0!==a?a:[],...t?[t]:[]]})),fe=(e,t,a,n,r)=>{const i=n||(0,J.toCamelCase)(`${a} ${t}`);let o=e.findIndex((e=>e.name===i));return-1===o&&(o=e.length,e.push(Oe(t,a,Object.assign({name:i},r?{domain:{data:r,fields:[]}}:{})))),o},ye=(e,t,a)=>{let n=e.findIndex((e=>e.name===t));return-1===n&&(n=e.length,e.push({name:t,type:a})),n},Ee=U(((e,t)=>(t.forEach((t=>{Ie(e.domain)?e.domain.fields.includes(t)||e.domain.fields.push(t):e.domain={data:V.TABLE,fields:[t]}})),e))),ve=(e,{scaleType:t,dimension:a,padding:n})=>{const r=fe(e,t,"x"),i=[me(a,t)];e[r]=Ee(e[r],i),void 0!==n&&(e[r]=be(e[r],n))},be=U(((e,t)=>{"padding"in e&&(e.padding=t),"paddingOuter"in e&&(e.paddingOuter=t)})),_e=(e,t,a="y",n,r)=>{const i=fe(e,"linear",a,n,r);e[i]=Ee(e[i],t)},Se=(e,t,a)=>{if("string"==typeof a||Array.isArray(a)&&a.length){const n=ye(e,t),r=Array.isArray(a)?a[0]:a;e[n]=Ee(e[n],[r])}},Oe=(e,t,a)=>Object.assign(Object.assign({},Te(e,t)),a),Te=(e,t,a="vertical")=>{const n=t==={vertical:"x",horizontal:"y"}[a],r=Object.assign({name:(0,J.toCamelCase)(`${t} ${e}`),type:e,range:"x"===t?"width":"height",domain:{data:V.FILTERED_TABLE,fields:[]}},n?$e(e):{});if("ordinal"===r.type){const{name:e,type:t,domain:a}=r;return{name:e,type:t,domain:a}}return"linear"!==r.type||n?r:Object.assign(Object.assign({},r),{nice:!0,zero:!0})},$e=e=>{switch(e){case"band":{const{paddingInner:e,paddingOuter:t}=xe(V.PADDING_RATIO);return{paddingInner:e,paddingOuter:t}}case"linear":case"time":return{padding:V.LINEAR_PADDING};case"point":return{paddingOuter:V.DISCRETE_PADDING};default:return{}}},xe=(e,t)=>{const a=e;return{paddingInner:a,paddingOuter:void 0===t?V.DISCRETE_PADDING-(1-a)/2:t}},Le=(e,t)=>(0,J.toCamelCase)(`${e} ${t}`),Ae=(e,t)=>({name:e,type:"ordinal",range:t,domain:{data:V.TABLE,fields:[]}}),Ie=e=>Boolean(e&&!Array.isArray(e)&&"data"in e&&"fields"in e),De=(e,t)=>{if(t||e.length)return{value:"pointer"}};function Re(e,t,a,n){if(e.length){const r={signal:`merge(${a?"datum.datum":"datum"}, {'${V.COMPONENT_NAME}': '${t}'}${n?`, ${JSON.stringify(n)}`:""})`},i=e[0].excludeDataKeys;return(null==i?void 0:i.length)?[...i.map((e=>({test:`datum.${e}`,signal:"false"}))),r]:r}}const Me=(e,t=!1)=>e?{stroke:{signal:V.BACKGROUND_COLOR},strokeWidth:{value:t?1.5:1},strokeJoin:{value:"round"}}:{},Ce=e=>{const t="hasOnClick"in e&&e.hasOnClick,a="metricRanges"in e&&e.metricRanges||[],n="trendlines"in e&&e.trendlines||[];return t||Ne(e)||je(e)||n.some((e=>e.displayOnHover))||a.some((e=>e.displayOnHover))},Ne=e=>{var t;return Boolean("chartPopovers"in e&&(null===(t=e.chartPopovers)||void 0===t?void 0:t.length))},je=e=>{var t;return Boolean("chartTooltips"in e&&(null===(t=e.chartTooltips)||void 0===t?void 0:t.length))},ke=(e,t,a="ordinal")=>{const n="linear"===a?V.LINEAR_COLOR_SCALE:V.COLOR_SCALE;return Array.isArray(e)?{signal:`scale('colors', datum.${e[0]})[indexof(domain('secondaryColor'), datum.${e[1]})% length(scale('colors', datum.${e[0]}))]`}:"string"==typeof e?{scale:n,field:e}:{value:(0,W.getColorValue)(e.value,t)}},Fe=e=>{if(e)return Array.isArray(e)?{signal:`scale('lineWidths', datum.${e[0]})[indexof(domain('secondaryLineWidth'), datum.${e[1]})% length(scale('lineWidths', datum.${e[0]}))]`}:"string"==typeof e?{scale:V.LINE_WIDTH_SCALE,field:e}:{value:re(e.value)}},Pe=e=>Array.isArray(e)?{signal:`scale('opacities', datum.${e[0]})[indexof(domain('secondaryOpacity'), datum.${e[1]})% length(scale('opacities', datum.${e[0]}))]`}:"string"==typeof e?{signal:`scale('${V.OPACITY_SCALE}', datum.${e})`}:{value:e.value},He=e=>"string"==typeof e?{scale:V.SYMBOL_SIZE_SCALE,field:e}:{value:se(e.value)},we=e=>Array.isArray(e)?{signal:`scale('lineTypes', datum.${e[0]})[indexof(domain('secondaryLineType'), datum.${e[1]})% length(scale('lineTypes', datum.${e[0]}))]`}:"string"==typeof e?{scale:V.LINE_TYPE_SCALE,field:e}:{value:ne(e.value)},ze=(e,t)=>{const a=Le("x",e);return"time"===e?{scale:a,field:V.DEFAULT_TRANSFORMED_TIME_DIMENSION}:{scale:a,field:t}},Be=(e,t)=>({scale:e||"yLinear",field:t}),Ge=(e,t,a,n,r,i)=>({name:`${n}_pointsForVoronoi`,description:`${n}_pointsForVoronoi`,type:"symbol",from:{data:e},interactive:!1,encode:{enter:{y:Be(i,a),fill:{value:"transparent"},stroke:{value:"transparent"}},update:{x:ze(r,t)}}}),Ue=(e,t)=>{const{chartPopovers:a,chartTooltips:n,name:r}=e,i="hasOnClick"in e&&e.hasOnClick;return{name:`${r}_voronoi`,description:`${r}_voronoi`,type:"path",from:{data:t},encode:{enter:{fill:{value:"transparent"},stroke:{value:"transparent"},isVoronoi:{value:!0},tooltip:Re(null!=n?n:[],r,!0)},update:{cursor:De(null!=a?a:[],i)}},transform:[{type:"voronoi",x:"datum.x",y:"datum.y",size:[{signal:"max(width, 1)"},{signal:"max(height, 1)"}]}]}},Ve=(e,t,a,n,r,i,o)=>({name:`${r}_hoverGroup`,type:"group",marks:Je().map(((s,l)=>({name:We(r,l),type:"symbol",from:{data:t},encode:{enter:{shape:{value:V.HOVER_SHAPE},y:Be(o,n),fill:{value:"transparent"},stroke:{value:"transparent"},tooltip:Re(e,r,!1),size:Ke(s)},update:{x:ze(i,a)}}})))}),We=(e,t)=>`${e}_hover${t}`,Je=()=>new Array(V.HOVER_SHAPE_COUNT).fill(0).map(((e,t)=>V.HOVER_SIZE/2**t)),Ye=e=>new Array(V.HOVER_SHAPE_COUNT).fill(0).map(((t,a)=>We(e,a))),Ke=e=>({signal:`${e} * max(width, 1) / 1000`}),Xe=e=>{const{highlightedItem:t,idKey:a,name:n}=e,r=[V.DEFAULT_OPACITY_RULE];return Ce(e)||void 0!==t?(ot(r,e),Ne(e)?[{test:`isValid(${V.SELECTED_ITEM})`,signal:`${V.SELECTED_ITEM} === datum.${a} ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.SELECTED_GROUP})`,signal:`${V.SELECTED_GROUP} === datum.${n}_selectedGroupId ? 1 : ${V.FADE_FACTOR}`},...r]:r):r},qe=(e,t)=>{var a;return Ce(e)||void 0!==e.highlightedItem?t:"trendlines"in e&&(null===(a=e.trendlines)||void 0===a?void 0:a.some((e=>Ce(e))))?`${t}Trendline`:void 0};const Ze=e=>e.chartTooltips.map((t=>Qe(t,e.name))),Qe=(e,t)=>{var{highlightBy:a="item",targets:n=["item"]}=e,r=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["highlightBy","targets"]);return Object.assign({highlightBy:a,markName:t,targets:n},r)},et=(e,t,a=!0)=>{const n=Ze(t);for(const{highlightBy:r,markName:i}of n){if("item"===r)return;const n=q(e);n.transform||(n.transform=[]),"dimension"===r&&"donut"!==t.markType&&"venn"!==t.markType?n.transform.push(tt([t.dimension],i)):"series"===r?n.transform.push(tt([V.SERIES_ID],i)):Array.isArray(r)&&n.transform.push(tt(r,i)),a&&e.push(at(i))}},tt=(e,t)=>({type:"formula",as:`${t}_${V.GROUP_ID}`,expr:e.map((e=>`datum.${e}`)).join(' + " | " + ')}),at=e=>({name:`${e}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.HIGHLIGHTED_GROUP} === datum.${e}_${V.GROUP_ID}`}]}),nt=e=>Ze(e).some((({highlightBy:e})=>e&&"item"!==e)),rt=(e,t)=>{if(nt(t)){const a=e.find((e=>e.name===V.HIGHLIGHTED_GROUP));let n=t.name,r=`datum.${n}_${V.GROUP_ID}`;if("interactionMode"in t&&t.interactionMode===V.INTERACTION_MODE.ITEM)for(const e of Ye(n))it(a,e,r);["scatter","line"].includes(t.markType)&&(r=`datum.${r}`,n+="_voronoi"),it(a,n,r)}},it=(e,t,a)=>{void 0===e.on&&(e.on=[]),e.on.push({events:`@${t}:mouseover`,update:a},{events:`@${t}:mouseout`,update:"null"})},ot=(e,t)=>{var a;const{name:n}=t,r=e.findIndex((e=>{var t;return null===(t=e.test)||void 0===t?void 0:t.includes(V.HOVERED_ITEM)}))+1,i=`${n}_${V.HOVERED_ITEM}`;let o=t.idKey;nt(t)&&(o=`${n}_${V.GROUP_ID}`);const s=[{test:`isValid(${i})`,signal:`${i}.${o} === datum.${o} ? 1 : ${V.FADE_FACTOR}`},{test:`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && length(${V.CONTROLLED_HIGHLIGHTED_ITEM}) > 0 && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t.idKey}) === -1`,value:V.FADE_FACTOR}];if(st(s,t),"comboSiblingNames"in t&&(null===(a=t.comboSiblingNames)||void 0===a?void 0:a.length)){const e=t.comboSiblingNames.map((e=>`isValid(${e}_${V.HOVERED_ITEM})`)).join(" || ");console.log("test",e),s.push({test:e,value:V.FADE_FACTOR})}e.splice(r,0,...s)},st=(e,t)=>{if(!lt(t.chartTooltips)||!("dimension"in t))return;const{name:a,dimension:n}=t,r=`${a}_${V.DIMENSION_HOVER_AREA}_${V.HOVERED_ITEM}`;e.push({test:`isValid(${r})`,signal:`${r}.${n} === datum.${n} ? 1 : ${V.FADE_FACTOR}`})},lt=e=>e.some((({targets:e})=>null==e?void 0:e.includes("dimensionArea"))),ct=(e,t,a)=>{const n=`domain("${e}Entries")[datum.index]`;return t?(null==a?void 0:a.length)?`indexof(pluck(data("${V.FILTERED_TABLE}"),"${e}_${V.GROUP_ID}"), ${n}) !== -1 ? ${n} : null`:`indexof(hiddenSeries, ${n}) === -1 ? ${n} : null`:n},ut=(e,t=null)=>({name:e,value:t}),dt=(e,t,a,n=1,r)=>{a=a||t;const i=`${t}_${V.HOVERED_ITEM}`;let o=e.find((e=>e.name===i));o||(o={description:`Tracks the hovered item for ${t}`,name:i,value:null,on:[]},e.push(o)),void 0===o.on&&(o.on=[]);const s=new Array(n).fill("datum").join("."),l=null==r?void 0:r.map((e=>`${s}.${e}`)).join(" || "),c=l?`(${l}) ? null : ${s}`:s;o.on.push({events:`@${a}:mouseover`,update:c},{events:`@${a}:mouseout`,update:"null"})},mt=(e,t=`${e.name}_facet`)=>{const{name:a,chartPopovers:n,chartTooltips:r,color:i,colorScheme:o,metricStart:s,metricEnd:l,isStacked:c,scaleType:u,dimension:d,opacity:m}=e;return{name:a,description:a,type:"area",from:{data:t},interactive:Ce(e),encode:{enter:Object.assign({y:{scale:"yLinear",field:s},y2:{scale:"yLinear",field:l},fill:ke(i,o),tooltip:Re(null!=r?r:[],a)},Me(c,!0)),update:{x:ht(u,d),cursor:De(null!=n?n:[]),fillOpacity:{value:m},opacity:pt(e)}}}};function pt(e){const{chartPopovers:t,displayOnHover:a,interactiveMarkName:n,isHighlightedByGroup:r,isMetricRange:i,highlightedItem:o,name:s}=e;if(i&&a){const e=[{test:`isValid(${n}_${V.HOVERED_ITEM})`,signal:`${n}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{value:1}];return n&&e.unshift({test:`isValid(${n}_${V.HOVERED_ITEM})`,signal:`${n}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),e}if(!Ce(e)&&!o)return[V.DEFAULT_OPACITY_RULE];const l=[];return r&&l.push({test:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1`,value:1}),!i&&(null==t?void 0:t.length)?[...l,{test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${s}_highlightedData'))`,signal:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},V.DEFAULT_OPACITY_RULE]:[...l,{test:`isValid(${s}_${V.HOVERED_ITEM})`,signal:`${s}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${s}_highlightedData'))`,signal:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},V.DEFAULT_OPACITY_RULE]}const ht=(e,t)=>"time"===e?{scale:"xTime",field:V.DEFAULT_TRANSFORMED_TIME_DIMENSION}:"linear"===e?{scale:"xLinear",field:t}:{scale:"xPoint",field:t};const gt=U(((e,t)=>{var a,n,r,i,o,{chartPopovers:s=[],chartTooltips:l=[],color:c=V.DEFAULT_COLOR,colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_TIME_DIMENSION,index:m=0,metric:p=V.DEFAULT_METRIC,metricStart:h,metricEnd:g,name:f,opacity:y=.8,scaleType:E="time"}=t,v=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","dimension","index","metric","metricStart","metricEnd","name","opacity","scaleType"]);const b=(0,J.toCamelCase)(f||`area${m}`),_=Object.assign({chartPopovers:s,chartTooltips:l,color:c,colorScheme:u,dimension:d,index:m,interactiveMarkName:qe({chartPopovers:s,chartTooltips:l,highlightedItem:v.highlightedItem},b),metric:p,name:b,scaleType:E,opacity:y,metricStart:h,metricEnd:g},v);return!h&&!g||h&&g||(console.error(`${g?"metricEnd":"metricStart"} is defined but ${g?"metricStart":"metricEnd"} is not. Both must be defined in order to use the "start and end" method. Defaulting back to 'metric = ${p}'`),_.metricEnd=void 0,_.metricStart=void 0),e.usermeta=ge(null!==(a=e.usermeta)&&void 0!==a?a:[],_.interactiveMarkName),e.data=ft(null!==(n=e.data)&&void 0!==n?n:[],_),e.signals=Et(null!==(r=e.signals)&&void 0!==r?r:[],_),e.scales=bt(null!==(i=e.scales)&&void 0!==i?i:[],_),e.marks=_t(null!==(o=e.marks)&&void 0!==o?o:[],_),e})),ft=U(((e,t)=>{var a,n;const{color:r,dimension:i,highlightedItem:o,metric:s,metricEnd:l,metricStart:c,name:u,order:d,scaleType:m}=t;if("time"===m){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],i)}if(!l||!c){const t=q(e);t.transform=[...null!==(n=t.transform)&&void 0!==n?n:[],{type:"stack",groupby:[i],field:s,sort:K(d),as:[`${s}0`,`${s}1`]}]}if(Ce(t)||void 0!==o){const a=Ne(t),n=je(t);e.push(yt(u,t.idKey,n,a,nt(t))),a&&e.push({name:`${u}_selectedDataSeries`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`isValid(${V.SELECTED_SERIES}) && ${V.SELECTED_SERIES} === datum.${r}`}]})}et(e,t,!1)})),yt=(e,t,a,n,r)=>{let i="";return r?i+=`${e}_controlledHoveredGroup === datum.${e}_${V.GROUP_ID}`:(i+=`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t}) > -1 || ${V.CONTROLLED_HIGHLIGHTED_ITEM} === datum.${t}`,a&&(i=`${e}_controlledHoveredId === datum.${t} || ${i}`)),n&&(i=`isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t} || !isValid(${V.SELECTED_ITEM}) && ${i}`),{name:`${e}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:i}]}},Et=U(((e,t)=>{var a;const{chartTooltips:n,name:r}=t;Ce(t)&&(dt(e,r,void 0,1,null===(a=n[0])||void 0===a?void 0:a.excludeDataKeys),t.highlightedItem&&vt(e,r),nt(t)?e.push((e=>({name:`${e}_controlledHoveredGroup`,value:null,on:[{events:`@${e}:mouseout`,update:"null"}]}))(r)):e.push((e=>({name:`${e}_controlledHoveredId`,value:null,on:[{events:`@${e}:mouseout`,update:"null"}]}))(r)),rt(e,t))})),vt=(e,t)=>{const a=e.find((e=>e.name===V.CONTROLLED_HIGHLIGHTED_ITEM));a&&(void 0===a.on&&(a.on=[]),a.on.push({events:`@${t}:mouseover`,update:"null"}))},bt=U(((e,{metric:t,metricEnd:a,metricStart:n,dimension:r,color:i,scaleType:o,padding:s})=>(ve(e,{scaleType:o,dimension:r,padding:s}),Se(e,V.COLOR_SCALE,i),a&&n||(n=`${t}0`,a=`${t}1`),_e(e,[n,a]),e))),_t=U(((e,t)=>{const{chartPopovers:a,chartTooltips:n,color:r,colorScheme:i,dimension:o,highlightedItem:s,metric:l,name:c,opacity:u,scaleType:d}=t;let{metricStart:m,metricEnd:p}=t,h=!1;return p&&m||(h=!0,m=`${l}0`,p=`${l}1`),e.push({name:`${c}_group`,type:"group",from:{facet:{name:`${c}_facet`,data:V.FILTERED_TABLE,groupby:r}},marks:[mt({chartPopovers:a,chartTooltips:n,color:r,colorScheme:i,dimension:o,isHighlightedByGroup:nt(t),isStacked:h,highlightedItem:s,metricStart:m,metricEnd:p,name:c,opacity:u,scaleType:d}),...St(t)]},...Tt({chartPopovers:a,name:c,scaleType:d,color:r,dimension:o,metricEnd:p,metricStart:m}),...Ot(t)),e})),St=e=>{const{name:t,dimension:a,metric:n,scaleType:r}=e;return Ce(e)?[{name:`${t}_anchorPoint`,type:"symbol",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:`${n}1`},stroke:{value:"transparent"},fill:{value:"transparent"}},update:{x:ht(r,a)}}}]:[]},Ot=e=>{const{name:t,dimension:a,highlightedItem:n,metric:r,scaleType:i,color:o}=e;if(!Ce(e)&&void 0===n)return[];const s=[{name:`${t}_point`,type:"symbol",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:`${r}1`},stroke:{scale:V.COLOR_SCALE,field:o},fill:{signal:V.BACKGROUND_COLOR}},update:{x:ht(i,a)}}}];return(Ze(e).some((({highlightBy:e})=>"string"==typeof e&&["dimension","item"].includes(e)))||n)&&s.unshift({name:`${t}_rule`,type:"rule",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{value:0},y2:{signal:"height"},strokeWidth:{value:1}},update:{x:ht(i,a)}}}),s},Tt=({chartPopovers:e,name:t,scaleType:a,color:n,dimension:r,metricEnd:i,metricStart:o})=>e.length?[{name:`${t}_selectBorder`,type:"area",from:{data:`${t}_selectedDataSeries`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:o},y2:{scale:"yLinear",field:i},fill:{scale:V.COLOR_SCALE,field:n},stroke:{value:W.spectrumColors.light["static-blue"]},strokeWidth:{value:2},strokeJoin:{value:"round"}},update:{x:ht(a,r)}}}]:[];var $t=i(743),xt=i.n($t);const Lt=(e,{name:t,dataKey:a,color:n,colorScheme:r,options:i,format:o})=>{e.push(At(t,i,r)),"summary"===o?e.push(Dt(t,a,n,r)):e.push(It(t,a,n,r),Rt(t))},At=(e,t,a)=>({name:`${e}_details`,values:t.map((e=>Object.assign(Object.assign({},e),{color:(0,W.getColorValue)(e.color,a)})))}),It=(e,t,a,n)=>({name:`${e}_aggregate`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${t}`},{type:"flatten",fields:[t],as:[`${e}_id`]},{type:"aggregate",groupby:[`${e}_id`],fields:["datetime","datetime"],ops:["min","max"]},{type:"formula",expr:"datum.max_datetime - datum.min_datetime",as:"width"},{type:"formula",expr:"datum.width / 2 + datum.min_datetime",as:"center"},{type:"aggregate",groupby:["center"],fields:["min_datetime","max_datetime","width",t,t],ops:["min","max","max","count","values"],as:["lower","upper","width","number","annotations"]},{type:"formula",expr:`datum.annotations[0].${e}_id`,as:"id"},{type:"lookup",from:`${e}_details`,key:"id",values:["color"],fields:["id"]},{type:"formula",expr:`datum.number > 1 || datum.color == null ? '${(0,W.getColorValue)(a,n)}' : datum.color`,as:"color"}]}),Dt=(e,t,a,n)=>({name:`${e}_summary`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${t}`},{type:"flatten",fields:[t],as:[`${e}_id`]},{type:"aggregate",groupby:[`${e}_id`]},{type:"aggregate",groupby:["center"],fields:[t,t],ops:["count","values"],as:["number","annotations"]},{type:"formula",expr:`datum.annotations[0].${e}_id`,as:"id"},{type:"lookup",from:`${e}_details`,key:"id",values:["color"],fields:["id"]},{type:"formula",expr:`datum.number > 1 || datum.color == null ? '${(0,W.getColorValue)(a,n)}' : datum.color`,as:"color"}]}),Rt=e=>({name:`${e}_range`,source:`${e}_aggregate`,transform:[{type:"filter",expr:`${e}_highlighted && datum.center == ${e}_highlighted.center && ${e}_highlighted.width > 0`}]}),Mt=(e,{name:t,format:a})=>{"span"===a&&e.push(Ct(t),Nt(t),jt(t))},Ct=e=>({name:`${e}_highlighted`,value:null,on:[{events:`@${e}_icon:mouseover`,update:"datum"},{events:`@${e}_icon:mouseout`,update:`${e}_clicked`}]}),Nt=e=>({name:`${e}_clicked`,value:{},on:[{events:{markname:`${e}_icon`,type:"mousedown",between:[{type:"mousedown"},{type:"mouseup"}]},update:"datum"},{events:"window:mouseup",update:"{}"}]}),jt=e=>({name:`${e}_selected`,update:`${e}_clicked.center`}),kt=(e,t,a)=>{const{format:n}=t;"summary"===n?e.push(Ft(t)):e.push(Pt(t,a))},Ft=({chartPopovers:e,name:t,offset:a})=>({name:`${t}_group`,type:"group",from:{data:`${t}_summary`},marks:[{name:`${t}_icon`,type:"path",from:{data:`${t}_summary`},zindex:2,encode:{enter:{stroke:{value:"transparent"},strokeWidth:{value:2},cursor:De(e)},update:{path:{signal:`'${V.ANNOTATION_SINGLE_ICON_SVG}'`},fill:{field:"color"},xc:{signal:"width - 12"},yc:{signal:`height + ${a}`}}}}]}),Pt=({chartPopovers:e,name:t,offset:a},n)=>({name:`${t}_group`,type:"group",marks:[{name:`${t}_range`,type:"group",marks:[{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"lower",band:.5},y:{signal:`height + ${a}`},width:{value:2},height:{value:-4},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}},{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"lower",band:.5},y:{signal:`height + ${a}`},x2:{scale:n,field:"upper",band:.5},height:{value:2},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}},{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"upper",band:.5},y:{signal:`height + ${a} + 2`},width:{value:2},height:{value:-6},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}}]},{name:`${t}_icon`,type:"path",from:{data:`${t}_aggregate`},encode:{enter:{stroke:{value:"transparent"},strokeWidth:{value:2},cursor:De(e)},update:{path:{signal:`datum.width > 0 ? '${V.ANNOTATION_RANGED_ICON_SVG}' : '${V.ANNOTATION_SINGLE_ICON_SVG}'`},fill:{field:"color"},xc:{scale:n,field:"center",band:.5},yc:{signal:`height + ${a}`},fillOpacity:{signal:`(${t}_selected && ${t}_selected != datum.center) ? 0.0 : 1.0`}}}}]}),Ht=(e,{offset:t},a)=>{e.push({scale:a,orient:"bottom",values:[],offset:t})},wt=({axisAnnotations:e,colorScheme:t,name:a,position:n,scaleType:r})=>"bottom"!==n?[]:e.map(((e,n)=>zt(e,n,a,t,r))),zt=({chartPopovers:e=[],chartTooltips:t=[],name:a,format:n,offset:r=V.DEFAULT_AXIS_ANNOTATION_OFFSET,color:i=V.DEFAULT_AXIS_ANNOTATION_COLOR,dataKey:o="annotations",options:s=[]},l,c,u,d)=>({chartPopovers:e,chartTooltips:t,color:i,colorScheme:u,dataKey:o,name:null!=a?a:`${c}Annotation${l}`,offset:r,options:s,axisName:c,format:null!=n?n:"time"===d?"span":"summary"});function Bt(e){const t=`${e}Primary`,a=`${e}Secondary`;return{primaryScale:t,secondaryScale:a,primaryDomain:`${t}Domain`,secondaryDomain:`${a}Domain`}}const Gt=(e,t="value",a,n)=>{const r=`isNumber(datum['${t}'])`;return"shortNumber"===e?[{test:r,signal:`formatShortNumber(datum['${t}'])`}]:"shortCurrency"===e?[{test:`${r} && abs(datum['${t}']) >= 1000`,signal:`upper(replace(format(datum['${t}'], '$.3~s'), /(\\d+)G/, '$1B'))`},{test:r,signal:`format(datum['${t}'], '$')`}]:n&&a?[{test:r,signal:`formatLocaleCurrency(datum, "${a}", "${n}", "${e}")`}]:[{test:r,signal:`format(datum['${t}'], '${pe(e)}')`}]},Ut=(e,t)=>{const{grid:a,hideDefaultLabels:n,labelAlign:r,labelFontWeight:i,labelLimit:o,labelOrientation:s,tickCountLimit:l,position:c,scaleType:u,ticks:d,tickMinStep:m,title:p,vegaLabelAlign:h,vegaLabelBaseline:g,vegaLabelOffset:f,vegaLabelPadding:y,hasTooltip:E}=e;return Object.assign(Object.assign(Object.assign(Object.assign({scale:t,orient:c,grid:a,ticks:d,tickCount:ea(c,l,a),tickMinStep:"linear"!==u?void 0:m,title:p,labelAngle:sa(s),labelFontWeight:i},void 0!==o&&{labelLimit:o}),{labelOffset:la(r,t,f),labelPadding:y,labels:!n}),ra(c,s,r,h,g)),{encode:{labels:{interactive:Boolean(E),update:Object.assign({text:ca(e,t)},E?{tooltip:{signal:"datum.value"}}:{})}}})},Vt=(e,{granularity:t,grid:a,labelAlign:n,labelOrientation:r,position:i,ticks:o,title:s,vegaLabelAlign:l,vegaLabelBaseline:c})=>{const{tickCount:u}=aa(t);return Object.assign(Object.assign({scale:e,orient:i,grid:a,ticks:o,tickCount:e.includes("Time")?u:void 0,title:s,formatType:"time",labelAngle:sa(r),labelSeparation:12},Wt(t,i)),ra(i,r,n,l,c))},Wt=(e,t)=>{const{secondaryLabelFormat:a,primaryLabelFormat:n}=aa(e);return["left","right"].includes(t)?{format:`${n} ${a}`,encode:{labels:{interactive:!1,update:{text:{signal:"formatVerticalAxisTimeLabels(datum)"}}}}}:{format:a}},Jt=(e,{granularity:t,labelAlign:a,labelOrientation:n,labelFontWeight:r,position:i,ticks:o,vegaLabelAlign:s,vegaLabelBaseline:l})=>{if(["left","right"].includes(i))return[];const{primaryLabelFormat:c,tickCount:u}=aa(t);return[Object.assign(Object.assign({scale:e,orient:i,format:c,tickCount:e.includes("Time")?u:void 0,formatType:"time",labelOverlap:"greedy",labelFontWeight:r,labelAngle:sa(n)},ra(i,n,a,s,l)),{encode:{labels:{interactive:!1,enter:{dy:{value:(o?28:20)*("top"===i?-1:1)}},update:{text:{signal:"formatHorizontalTimeAxisLabels(datum)"}}}}})]},Yt=(e,t)=>{var a;const n=e.filter((e=>"range"in e&&e.range===Kt(t)));let r;return r=n.length>1&&null!==(a=e.find((e=>e.name.includes("Trellis"))))&&void 0!==a?a:n[0],r||(r={name:Zt(t),type:"linear",range:Kt(t)},e.push(r),r)},Kt=e=>"left"===e||"right"===e?"height":"width",Xt=e=>"left"===e||"right"===e?"width":"height",qt=e=>["left","right"].includes(e),Zt=e=>qt(e)?"yLinear":"xLinear",Qt=e=>qt(e)?"xLinear":"yLinear",ea=(e,t,a)=>{const n=["top","bottom"].includes(e)?"width":"height";return void 0!==t?{signal:`clamp(ceil(${n}/100), 2, ${t})`}:a?{signal:`clamp(ceil(${n}/100), 2, 10)`}:void 0},ta=({subLabels:e,labelOrientation:t})=>Boolean(e.length&&"horizontal"===t),aa=e=>{switch(e){case"second":return{secondaryLabelFormat:":%S",primaryLabelFormat:"%-I:%M %p",tickCount:"second"};case"minute":return{secondaryLabelFormat:"%-I:%M %p",primaryLabelFormat:"%b %-d",tickCount:"minute"};case"hour":return{secondaryLabelFormat:"%-I %p",primaryLabelFormat:"%b %-d",tickCount:"hour"};case"day":default:return{secondaryLabelFormat:"%-d",primaryLabelFormat:"%b",tickCount:"day"};case"week":return{secondaryLabelFormat:"%-d",primaryLabelFormat:"%b",tickCount:"week"};case"month":return{secondaryLabelFormat:"%b",primaryLabelFormat:"%Y",tickCount:"month"};case"quarter":return{secondaryLabelFormat:"Q%q",primaryLabelFormat:"%Y",tickCount:{interval:"month",step:3}};case"year":return{secondaryLabelFormat:"%Y",primaryLabelFormat:"",tickCount:"year"}}},na=(e,t,a)=>a?ia(e,t,a):{align:void 0,baseline:void 0},ra=(e,t,a,n,r)=>{const{align:i,baseline:o}=ia(e,t,a);return{labelAlign:null!=n?n:i,labelBaseline:null!=r?r:o}},ia=(e,t,a)=>{let n,r;return oa(e,t)?(n={start:"left",center:"center",end:"right"}[a],r=["top","left"].includes(e)?"bottom":"top"):(r={start:"top",center:"middle",end:"bottom"}[a],n=["bottom","left"].includes(e)?"right":"left"),{align:n,baseline:r}},oa=(e,t)=>(["top","bottom"].includes(e)?"horizontal":"vertical")===t,sa=e=>"horizontal"===e?0:270,la=(e,t,a)=>{if(void 0!==a)return a;switch(e){case"start":return{signal:`bandwidth('${t}') / -2`};case"end":return{signal:`bandwidth('${t}') / 2`};default:return}},ca=({labelFormat:e,labelOrientation:t,numberFormat:a,position:n,truncateLabels:r,currencyLocale:i,currencyCode:o},s)=>"percentage"===e?[{test:"isNumber(datum.value)",signal:"format(datum.value, '~%')"},{signal:"datum.value"}]:"duration"===e?{signal:"formatTimeDurationLabels(datum)"}:[...Gt(a,void 0,i,o),...r&&s.includes("Band")&&oa(n,t)?[{signal:'truncateText(datum.value, bandwidth("xBand")/(1- paddingInner), "normal", 14)'}]:[{signal:"datum.value"}]],ua=(e,t,a,n,r,i)=>({update:Object.assign({text:[{test:`indexof(pluck(${i}, 'value'), datum.value) !== -1 && ${i}[indexof(pluck(${i}, 'value'), datum.value)].${a}`,signal:`${i}[indexof(pluck(${i}, 'value'), datum.value)].${a}`},{signal:"datum.value"}],fontWeight:[{test:`indexof(pluck(${i}, 'value'), datum.value) !== -1 && ${i}[indexof(pluck(${i}, 'value'), datum.value)].fontWeight`,signal:`${i}[indexof(pluck(${i}, 'value'), datum.value)].fontWeight`},{value:t}]},da(r,i,n,e))}),da=(e,t,a,n)=>{const r=`indexof(pluck(${t}, 'value'), datum.value) !== -1 && ${t}[indexof(pluck(${t}, 'value'), datum.value)]`,i=`${t}[indexof(pluck(${t}, 'value'), datum.value)]`,{align:o,baseline:s}=ia(e,a,n);return{align:[{test:`${r}.align`,signal:`${i}.align`},{value:o}],baseline:[{test:`${r}.baseline`,signal:`${i}.baseline`},{value:s}]}},ma=e=>e.referenceLines.map(((t,a)=>pa(t,e,a))),pa=(e,t,a)=>{var n,r,i;return Object.assign(Object.assign({},e),{color:e.color||"gray-800",colorScheme:t.colorScheme,iconColor:e.iconColor||V.DEFAULT_FONT_COLOR,labelColor:e.labelColor||V.DEFAULT_FONT_COLOR,labelFontWeight:null!==(n=e.labelFontWeight)&&void 0!==n?n:V.DEFAULT_LABEL_FONT_WEIGHT,layer:null!==(r=e.layer)&&void 0!==r?r:"front",name:`${t.name}ReferenceLine${a}`,lineType:null!==(i=e.lineType)&&void 0!==i?i:"solid"})},ha=e=>Boolean(e&&["band","linear","point","time","utc"].includes(e)),ga=({scaleType:e},{value:t,position:a},n)=>{const r="string"==typeof t?`'${t}'`:t,i=`paddingInner * bandwidth('${n}') / (2 * (1 - paddingInner))`;return"band"===e?"before"===a?{signal:`scale('${n}', ${r}) - ${i}`}:"after"===a?{signal:`scale('${n}', ${r}) + bandwidth('${n}') + ${i}`}:{signal:`scale('${n}', ${r}) + bandwidth('${n}') / 2`}:{scale:n,value:t}},fa=({position:e,ticks:t},{color:a,colorScheme:n,name:r,lineType:i},o)=>{const s=t?9:0,l={top:{x:o,y:{value:-s},y2:{signal:"height"}},bottom:{x:o,y:{value:0},y2:{signal:`height + ${s}`}},left:{x:{value:-s},x2:{signal:"width"},y:o},right:{x:{value:0},x2:{signal:`width + ${s}`},y:o}};return{name:r,type:"rule",interactive:!1,encode:{enter:{stroke:{value:(0,W.getColorValue)(a,n)},strokeDash:{value:ne(null!=i?i:"solid")}},update:Object.assign({},l[e])}}},ya=(e,t,a)=>({top:{x:t,y:{value:-e}},bottom:{x:t,y:{signal:`height + ${e}`}},left:{x:{value:-e},y:Object.assign(Object.assign({},t),{offset:a})},right:{x:{signal:`width + ${e}`},y:Object.assign(Object.assign({},t),{offset:a})}}),Ea=({colorScheme:e,position:t},{icon:a,iconColor:n,name:r},i)=>{if(!a)return[];const o=ya(24,i);return[{name:`${r}_symbol`,type:"symbol",encode:{enter:{shape:{value:oe(a)},size:{value:324},fill:{value:(0,W.getColorValue)(n,e)}},update:Object.assign({},o[t])}}]},va=(e,t,a)=>{const{label:n,name:r}=t;return n?[{name:`${r}_label`,type:"text",encode:Object.assign({},ba(e,Object.assign(Object.assign({},t),{label:n}),a))}]:[]},ba=({position:e},{colorScheme:t,icon:a,label:n,labelColor:r,labelFontWeight:i},o)=>{const{verticalOffset:s,horizontalOffset:l}=((e,t)=>{const a=qt(e);let n=a?40:28,r=a?4:5;return t&&(n+=a?25:20,a||(r+=25,n+=2)),{verticalOffset:n,horizontalOffset:r}})(e,a),c=ya(s,o,l);return{update:Object.assign(Object.assign({text:[{value:n}],fontWeight:[{value:i}],fill:{value:(0,W.getColorValue)(r,t)}},_a(e)),c[e])}},_a=e=>{switch(e){case"top":case"bottom":return{align:{value:"center"}};case"left":case"right":return{baseline:{value:"center"}}}},Sa=e=>e.axisThumbnails.map(((t,a)=>Oa(t,e,a))),Oa=(e,t,a)=>{var n;return Object.assign(Object.assign({},e),{name:`${t.name}AxisThumbnail${a}`,urlKey:null!==(n=e.urlKey)&&void 0!==n?n:"thumbnail"})},Ta=e=>Boolean(e&&["band"].includes(e)),$a=(e,t,a)=>{e.push({name:`${t}ThumbnailSize`,update:`min(bandwidth('${a}'), ${V.MAX_THUMBNAIL_SIZE})`})},xa=(e,t,a,n)=>{const r={signal:`scale('${e}', datum.${t}) + bandwidth('${e}') / 2`};switch(a){case"left":return{x:{signal:`-${V.THUMBNAIL_OFFSET} - ${n}ThumbnailSize`},yc:r};case"right":return{x:{signal:`width + ${V.THUMBNAIL_OFFSET}`},yc:r};case"top":return{xc:r,y:{signal:`-${V.THUMBNAIL_OFFSET} - ${n}ThumbnailSize`}};default:return{xc:r,y:{signal:`height + ${V.THUMBNAIL_OFFSET}`}}}},La=(e,t)=>{const a={test:`${e}ThumbnailSize < ${V.MIN_THUMBNAIL_SIZE}`,value:0};switch(t){case"left":return{dx:[a,{signal:`-${e}ThumbnailSize`}]};case"right":return{dx:[a,{signal:`${e}ThumbnailSize`}]};case"top":return{dy:[a,{signal:`-${e}ThumbnailSize`}]};default:return{dy:[a,{signal:`${e}ThumbnailSize`}]}}},Aa=e=>/[xy]TrellisGroup/g.test(JSON.stringify(e));var Ia=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};const Da=U(((e,t)=>{var a,n,r,i,o,s,l,{name:c,axisAnnotations:u=[],axisThumbnails:d=[],baseline:m=!1,baselineOffset:p=0,colorScheme:h=V.DEFAULT_COLOR_SCHEME,granularity:g=V.DEFAULT_GRANULARITY,grid:f=!1,hideDefaultLabels:y=!1,index:E=0,labelAlign:v=V.DEFAULT_LABEL_ALIGN,labelFontWeight:b=V.DEFAULT_LABEL_FONT_WEIGHT,labelLimit:_,labelOrientation:S=V.DEFAULT_LABEL_ORIENTATION,labels:O=[],numberFormat:T="shortNumber",position:$,range:x,referenceLines:L=[],subLabels:A=[],ticks:I=!1}=t,D=Ia(t,["name","axisAnnotations","axisThumbnails","baseline","baselineOffset","colorScheme","granularity","grid","hideDefaultLabels","index","labelAlign","labelFontWeight","labelLimit","labelOrientation","labels","numberFormat","position","range","referenceLines","subLabels","ticks"]);const R=Yt(null!==(a=e.scales)&&void 0!==a?a:[],$),M=c||R.name,C=R.type,N=(e=>{var t;if(e.domain){if("field"in e.domain)return e.domain.field.toString();if("fields"in e.domain)return null===(t=e.domain.fields[0])||void 0===t?void 0:t.toString()}})(R),j=((e,t)=>{let a=e.find((e=>"range"in e&&e.range===Xt(t)));return a||(a={name:Qt(t),type:"linear",range:Xt(t)},e.push(a)),a.type})(null!==(n=e.scales)&&void 0!==n?n:[],$),k=Object.assign({axisAnnotations:u,axisThumbnails:d,baseline:m,baselineOffset:p,colorScheme:h,granularity:g,grid:f,hideDefaultLabels:y,index:E,labelAlign:v,labelFontWeight:b,labelLimit:_,labelOrientation:S,labels:O,name:`axis${E}`,numberFormat:T,position:$,range:x,referenceLines:L,subLabels:A,ticks:I,scaleType:null!=C?C:"linear"},D),F=null===(r=e.signals)||void 0===r?void 0:r.some((e=>"firstRscSeriesId"===e.name));e.data=Ra(null!==(i=e.data)&&void 0!==i?i:[],Object.assign(Object.assign({},k),{scaleType:null!=C?C:"linear"})),e.signals=Ma(null!==(o=e.signals)&&void 0!==o?o:[],k,M),!x||"linear"!==C&&"time"!==C||(R.domain=x);const P=e.usermeta;return e.axes=Na(null!==(s=e.axes)&&void 0!==s?s:[],Object.assign(Object.assign({},k),{scaleName:M,opposingScaleType:j,usermeta:P,grid:k.grid&&!Aa(e),dualMetricAxis:F})),e.marks=ka(null!==(l=e.marks)&&void 0!==l?l:[],Object.assign(Object.assign({},k),{usermeta:P,scaleName:M,scaleField:N,opposingScaleType:j,dualMetricAxis:F})),e})),Ra=U(((e,t)=>{const a=wt(t);for(const t of a)Lt(e,t)})),Ma=U(((e,t,a)=>{const{name:n,labels:r,position:i,subLabels:o,labelOrientation:s}=t;(null==r?void 0:r.length)&&e.push(ut(`${n}_labels`,Ca(r,i,s))),ta(t)&&e.push(ut(`${n}_subLabels`,o.map((e=>Object.assign(Object.assign({},e),na(i,s,e.align))))));for(const a of wt(t))Mt(e,a);for(const n of Sa(t))$a(e,n.name,a)})),Ca=(e,t,a)=>e.map((e=>{if("object"==typeof e)return Object.assign(Object.assign({},e),na(t,a,e.align))})).filter(Boolean);const Na=U(((e,t)=>{var a,n,r,{scaleName:i,opposingScaleType:o,dualMetricAxis:s}=t,l=Ia(t,["scaleName","opposingScaleType","dualMetricAxis"]);const c=[];l=Object.assign(Object.assign({},l),(e=>{let t={};if(e.includes("TrellisBand")){const a=`bandwidth('${e}') / -2`,n=e.startsWith("x")?"x":"y";t={position:"x"===n?"top":"left",labelFontWeight:"bold",labelAlign:void 0,title:void 0,vegaLabelAlign:"left",vegaLabelBaseline:"bottom",vegaLabelOffset:"x"===n?{signal:a}:{signal:`${a} - 8`},vegaLabelPadding:"x"===n?8:0}}return t})(i));const{baseline:u,colorScheme:d,usermeta:m,labelAlign:p,labelFontWeight:h,labelFormat:g,labelOrientation:f,name:y,position:E,hasTooltip:v}=l;if("time"===g)c.push(...((e,t)=>[Vt(e,t),...Jt(e,t)])(i,l));else{const e=Ut(l,i);if(l.labels.length){const t=l.labels,a=`${y}_labels`;e.values=t.map((e=>(e=>"object"==typeof e?e.value:e)(e)));const n=ua(p,h,"label",f,E,a),r=v?Object.assign(Object.assign({},n),{update:Object.assign(Object.assign({},n.update),{tooltip:{signal:"datum.value"}})}):n;e.encode={labels:Object.assign({interactive:v},r)}}if(ta(l)){e.titlePadding=24;const t=((e,t)=>{const{labelAlign:a,labelFontWeight:n,labelOrientation:r,name:i,position:o,ticks:s}=e,l=`${i}_subLabels`,c=e.subLabels.map((e=>e.value));let u=Ut(e,t);return u=Object.assign(Object.assign({},u),{domain:!1,domainWidth:void 0,grid:!1,labelPadding:s?32:24,ticks:!1,title:void 0,values:c.length?c:void 0,encode:{labels:Object.assign({interactive:!1},ua(a,n,"subLabel",r,o,l))}}),u})(l,i);ja({dualMetricAxis:s,axis:t,usermeta:m,scaleName:i,colorScheme:d,position:E,incrementMetricAxisCount:!1}),c.push(t)}ja({dualMetricAxis:s,axis:e,usermeta:m,scaleName:i,colorScheme:d,position:E,incrementMetricAxisCount:!0}),c.unshift(e)}if("linear"!==o&&(c[0]=function(e,t=!1){return Object.assign(Object.assign({},e),{domain:t,domainWidth:2})}(c[0],u)),ha(l.scaleType))for(const e of ma(l)){const{label:t,icon:o,value:s,position:l}=e,u=null===(r=null===(n=null===(a=c[0].encode)||void 0===a?void 0:a.labels)||void 0===n?void 0:n.update)||void 0===r?void 0:r.text;!o&&!t||!u||!Array.isArray(u)||l&&"center"!==l||u.unshift({test:`abs(scale('${i}', ${s}) - scale('${i}', datum.value)) < 30`,value:""})}if(Ta(l.scaleType))for(const e of Sa(l)){const t={labels:{update:Object.assign({},La(e.name,E))}};for(const e of c)e.encode?e.encode=xt()(e.encode,t):e.encode=t}const b=wt(l);for(const e of b)Ht(c,e,i);e.push(...c)})),ja=({dualMetricAxis:e,axis:t,usermeta:a,scaleName:n,colorScheme:r,position:i,incrementMetricAxisCount:o})=>{var s,l;const c=null!==(s=null==a?void 0:a.chartOrientation)&&void 0!==s?s:"vertical";e&&function(e,t){return"vertical"===t?qt(e):!qt(e)}(i,c)&&(a.metricAxisCount||(a.metricAxisCount=0),function(e,t,a,n,r=V.DEFAULT_COLOR_SCHEME){const i=Bt(a),{primaryScale:o,secondaryScale:s}=i;t?(e.scale=o,function(e,t,a=V.DEFAULT_COLOR_SCHEME){const n=W.spectrumColors[a][V.DEFAULT_FONT_COLOR],r=[{test:`length(domain('${V.COLOR_SCALE}')) -1 === 1`,signal:`scale('${V.COLOR_SCALE}', ${V.FIRST_RSC_SERIES_ID})`},{value:n}],i=t.map((e=>({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} !== ${V.LAST_RSC_SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}))),o={labels:{update:{fill:r,fillOpacity:i}},title:{update:{fill:r,fillOpacity:i}}};e.encode?e.encode=xt()(e.encode,o):e.encode=o}(e,n,r)):(e.scale=s,function(e,t){const a=[{signal:`scale('${V.COLOR_SCALE}', ${V.LAST_RSC_SERIES_ID})`}],n=t.map((e=>({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}))),r={labels:{enter:{fill:a},update:{fillOpacity:n}},title:{enter:{fill:a},update:{fillOpacity:n}}};e.encode?e.encode=xt()(e.encode,r):e.encode=r}(e,n))}(t,0===a.metricAxisCount,n,null!==(l=a.interactiveMarks)&&void 0!==l?l:[],r),o&&a.metricAxisCount++)},ka=U(((e,t)=>{const{baseline:a,baselineOffset:n,opposingScaleType:r,position:i,scaleField:o,scaleName:s,scaleType:l,usermeta:c}=t;if(ha(l)){const{back:a,front:n}=((e,t)=>{const a={back:[],front:[]},n=ma(e);for(const r of n){const{layer:n}=r,i=ga(e,r,t);a[n].push(fa(e,r,i),...Ea(e,r,i),...va(e,r,i))}return a})(t,s);e.unshift(...a),e.push(...n)}const u=e.find((e=>{var t;return null===(t=e.name)||void 0===t?void 0:t.includes("Trellis")})),d=Boolean(u);a&&"linear"===r&&function(e,t,a,n){var r,i;const o=((e,t)=>{const a=qt(t)?"y":"x",n={x:{x:{value:0},x2:{signal:"width"},y:{scale:"yLinear",value:e}},y:{x:{scale:"xLinear",value:e},y:{value:0},y2:{signal:"height"}}};return{name:`${a}Baseline`,description:`${a}Baseline`,type:"rule",interactive:!1,encode:{update:Object.assign({},n[a])}}})(t,a);n&&"marks"in n?0===t?null===(r=n.marks)||void 0===r||r.push(o):null===(i=n.marks)||void 0===i||i.unshift(o):0===t?e.push(o):e.unshift(o)}(e,n,i,u),d&&function(e,t,a,n){var r,i,o,s;const l=(null===(r=t.name)||void 0===r?void 0:r.startsWith("x"))?"horizontal":"vertical",c="bottom"===e.position||"top"===e.position?"horizontal":"vertical",u=e.hideDefaultLabels||l!==c;let d=e.scaleType;if(l===c){const n=Yt(null!==(i=t.scales)&&void 0!==i?i:[],e.position);a=n.name,d=null!==(o=n.type)&&void 0!==o?o:"linear"}else e.title=void 0;let m=Na([],Object.assign(Object.assign({},e),{hideDefaultLabels:u,scaleName:a,scaleType:d,dualMetricAxis:!1,usermeta:n}));m=((e,t)=>{const{facetName:a,facetGroupBy:n,trellisScaleName:r}=(e=>{var t;const a=`${(null!==(t=e.name)&&void 0!==t?t:"x")[0]}TrellisBand`,n=e.from;return{facetGroupBy:n.facet.groupby,facetName:n.facet.name,trellisScaleName:a}})(t);return e.map((e=>e.title?Object.assign(Object.assign({},e),{encode:Object.assign(Object.assign({},e.encode),{title:{update:{opacity:[{test:`info(domain('${r}')[0] === data('${a}')[0].${n})`,value:1},{value:0}]}}})}):e))})(m,t),t.axes=[...null!==(s=t.axes)&&void 0!==s?s:[],...m]}(t,u,s,c);for(const a of wt(t))kt(e,a,s);if(Ta(l)&&o){const a=((e,t,a)=>{const{position:n}=e,r=[],i=Sa(e);for(const{name:e,urlKey:o}of i)r.push({type:"image",name:e,from:{data:V.FILTERED_TABLE},encode:{enter:{url:{field:o}},update:Object.assign(Object.assign({},xa(t,a,n,e)),{width:{signal:`${e}ThumbnailSize`},height:{signal:`${e}ThumbnailSize`},opacity:[{test:`${e}ThumbnailSize < ${V.MIN_THUMBNAIL_SIZE}`,value:0},{value:1}]})}});return r})(t,s,o);e.push(...a)}}));const Fa=(e,t)=>e.map((e=>Pa(e,t))),Pa=(e,t)=>{var{UNSAFE_highlightBy:a="item"}=e,n=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["UNSAFE_highlightBy"]);return Object.assign({UNSAFE_highlightBy:a,markName:t},n)},Ha=(e,t,a=!0)=>{const n=Fa(t.chartPopovers,t.name);for(const{UNSAFE_highlightBy:r,markName:i}of n){const n=q(e);n.transform||(n.transform=[]),"dimension"===r&&"donut"!==t.markType?n.transform.push(wa([t.dimension],i)):"series"===r?n.transform.push(wa([V.SERIES_ID],i)):Array.isArray(r)?n.transform.push(wa(r,i)):n.transform.push(wa([t.idKey],i)),a&&e.push(za(i))}},wa=(e,t)=>({type:"formula",as:`${t}_selectedGroupId`,expr:e.map((e=>`datum.${e}`)).join(' + " | " + ')}),za=e=>({name:`${e}_selectedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.SELECTED_GROUP} === datum.${e}_selectedGroupId`}]});const Ba=e=>e.trendlines.map(((t,a)=>Ga(e,t,a))),Ga=(e,t,a)=>{var{chartTooltips:n=[],color:r,dimensionExtent:i,dimensionRange:o=[null,null],displayOnHover:s=!1,highlightRawPoint:l=!1,lineType:c="dashed",lineWidth:u="M",method:d="linear",opacity:m=1,orientation:p="horizontal",trendlineAnnotations:h=[]}=t,g=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartTooltips","color","dimensionExtent","dimensionRange","displayOnHover","highlightRawPoint","lineType","lineWidth","method","opacity","orientation","trendlineAnnotations"]);const f=en(e,p),y="time"===f&&Ka(d)&&"horizontal"===p,{trendlineDimension:E,trendlineMetric:v}=Wa(e.dimension,e.metric,p,y),b=r?{value:r}:Ua(e.color);return Object.assign({chartTooltips:n,colorScheme:e.colorScheme,displayOnHover:s,dimensionExtent:null!=i?i:o,dimensionRange:o,dimensionScaleType:f,highlightRawPoint:l,isDimensionNormalized:y,lineType:c,lineWidth:u,method:d,metric:V.TRENDLINE_VALUE,name:`${e.name}Trendline${a}`,opacity:m,orientation:p,trendlineAnnotations:h,trendlineColor:b,trendlineDimension:E,trendlineMetric:v},g)},Ua=e=>Array.isArray(e)?e[0]:e,Va=e=>Array.isArray(e)?e[0]:e,Wa=(e,t,a,n)=>"horizontal"===a?{trendlineDimension:Ja(e,n),trendlineMetric:t}:{trendlineDimension:t,trendlineMetric:e},Ja=(e,t)=>t?`${e}Normalized`:e,Ya=e=>["average","median"].includes(e),Ka=e=>qa(e)||["exponential","logarithmic","power"].includes(e),Xa=e=>e.startsWith("movingAverage-"),qa=e=>e.startsWith("polynomial-")||["linear","quadratic"].includes(e),Za=e=>{switch(e){case"linear":return 1;case"quadratic":return 2}const t=parseInt(e.split("-")[1]);if(t<1)throw new Error(`Invalid polynomial order: ${t}, order must be an interger greater than 0`);return t},Qa=(e,t,a)=>{const n=`${t}_extent`;return{signal:`[${e.map(((e,t)=>{switch(e){case null:return`${n}[${t}]`;case"domain":return`${n}[${t}] ${0===t?"-":"+"} (${n}[1] - ${n}[0]) * 0.3`;default:return a?`(${e} - data('${V.FILTERED_TABLE}')[0].datetimeMin + ${V.MS_PER_DAY}) / ${V.MS_PER_DAY}`:e}})).join(", ")}]`}},en=(e,t)=>"vertical"===t?"linear":"scaleType"in e?e.scaleType:e.dimensionScaleType,tn=(e,{method:t,trendlineDimension:a,trendlineMetric:n},r)=>{const{color:i,lineType:o}=e,{facets:s}=te({color:i,lineType:o}),l={average:"mean",median:"median"};return r?{type:"aggregate",groupby:s,ops:[l[t],"min","max"],fields:[n,a,a],as:[V.TRENDLINE_VALUE,`${a}Min`,`${a}Max`]}:{type:"joinaggregate",groupby:s,ops:[l[t]],fields:[n],as:[V.TRENDLINE_VALUE]}},an=(e,t,a)=>{const{color:n,lineType:r}=e,{dimensionExtent:i,isDimensionNormalized:o,method:s,name:l,trendlineDimension:c,trendlineMetric:u}=t,{facets:d}=te({color:n,lineType:r});let m,p;switch(s){case"exponential":m="exp";break;case"logarithmic":m="log";break;case"power":m="pow";break;default:p=Za(s),m="poly"}return{type:"regression",method:m,order:p,groupby:d,x:c,y:u,as:a?[c,V.TRENDLINE_VALUE]:void 0,params:!a,extent:a?Qa(i,l,o):void 0}},nn=(e,{method:t,trendlineMetric:a})=>{const n=Number.parseInt(t.split("-")[1]),{color:r,lineType:i}=e,{facets:o}=te({color:r,lineType:i});if(Number.isNaN(n)||n<1)throw new Error(`Invalid moving average frame width: ${n}, frame width must be an integer greater than 0`);return{type:"window",ops:["mean"],groupby:o,fields:[a],as:[V.TRENDLINE_VALUE],frame:[n-1,0]}},rn=e=>[{type:"joinaggregate",fields:[e],as:[`${e}Min`],ops:["min"]},{type:"formula",expr:`(datum.${e} - datum.${e}Min + ${V.MS_PER_DAY}) / ${V.MS_PER_DAY}`,as:`${e}Normalized`}],on=(e,t)=>({type:"extent",field:e,signal:`${t}_extent`}),sn=(e,t)=>{const a=[];return null!==t[0]&&a.push(`datum.${e} >= ${t[0]}`),null!==t[1]&&a.push(`datum.${e} <= ${t[1]}`),a.length?[{type:"filter",expr:a.join(" && ")}]:[]},ln=(e,t)=>{let a="";if(qa(t)){const n=Za(t);a=["datum.coef[0]",...new Array(n).fill(0).map(((t,a)=>`datum.coef[${a+1}] * pow(datum.${e}, ${a+1})`))].join(" + ")}else"exponential"===t?a=`datum.coef[0] + exp(datum.coef[1] * datum.${e})`:"logarithmic"===t?a=`datum.coef[0] + datum.coef[1] * log(datum.${e})`:"power"===t&&(a=`datum.coef[0] * pow(datum.${e}, datum.coef[1])`);return a?[{type:"formula",expr:a,as:V.TRENDLINE_VALUE}]:[]},cn=({color:e,lineType:t},{name:a})=>{const{facets:n}=te({color:e,lineType:t});return{type:"lookup",from:`${a}_params`,key:"keys",fields:n,values:["coef"]}},un=(e,t)=>{var a;e.push(...dn(t));const n=X(e);n.transform=yn(null!==(a=n.transform)&&void 0!==a?a:[],t)},dn=e=>{const t=[],{color:a,idKey:n,lineType:r,name:i,interactiveMarkName:o}=e,s=Ba(e),l={name:`${i}_allTrendlineData`,source:[]};for(const n of s){const{displayOnHover:i,method:s,name:c}=n,{facets:u}=te({color:a,lineType:r});Ka(s)?t.push(...pn(e,n,u)):Ya(s)?t.push(...mn(e,n,u)):Xa(s)&&t.push(hn(e,n)),i&&t.push(En(c,s,o)),Ce(n)&&l.source.push(`${c}_data`)}return s.some((e=>Ce(e)))&&t.push(l,gn(i,n)),t},mn=(e,t,a)=>{const n=[],{dimensionRange:r,name:i,trendlineDimension:o}=t,s=sn(o,r);return n.push({name:`${i}_highResolutionData`,source:V.FILTERED_TABLE,transform:[...vn(t.excludeDataKeys),...s,...fn(e,t,!0),...Z(a)]}),Ce(t)&&n.push({name:`${i}_data`,source:V.FILTERED_TABLE,transform:[...s,...fn(e,t,!1)]}),n},pn=(e,t,a)=>{const n=[],{dimension:r,metric:i}=e,{dimensionRange:o,method:s,name:l,orientation:c,trendlineDimension:u}=t,{trendlineDimension:d}=Wa(r,i,c,!1),m=sn(d,o);return n.push({name:`${l}_highResolutionData`,source:V.FILTERED_TABLE,transform:[...vn(t.excludeDataKeys),...m,...fn(e,t,!0),...Z(a)]}),Ce(t)&&n.push({name:`${l}_params`,source:V.FILTERED_TABLE,transform:[...m,...fn(e,t,!1)]},{name:`${l}_data`,source:V.FILTERED_TABLE,transform:[...m,cn(e,t),...ln(u,s)]}),n},hn=(e,t)=>({name:`${t.name}_data`,source:V.FILTERED_TABLE,transform:[...vn(t.excludeDataKeys),...fn(e,t,!1),...sn(e.dimension,t.dimensionRange)]}),gn=(e,t)=>({name:`${e}Trendline_highlightedData`,source:`${e}_allTrendlineData`,transform:[{type:"filter",expr:`${V.SELECTED_ITEM} === datum.${t} || !isValid(${V.SELECTED_ITEM}) && (isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t}) || isValid(${e}Trendline_${V.HOVERED_ITEM}) && ${e}Trendline_${V.HOVERED_ITEM}.${t} === datum.${t})`}]}),fn=(e,t,a)=>{const{method:n,trendlineDimension:r}=t;return Ya(n)?[tn(e,t,a)]:Ka(n)?[an(e,t,a)]:Xa(n)?[(i=r,{type:"collect",sort:{field:i}}),nn(e,t)]:[];var i},yn=U(((e,t)=>{const{dimension:a,metric:n}=t,r=Ba(t);for(const{isDimensionNormalized:t,method:i,name:o,orientation:s,trendlineDimension:l}of r)if(Ka(i)){const{trendlineDimension:r}=Wa(a,n,s,!1);t&&(e.some((e=>"as"in e&&e.as===`${r}Normalized`))||e.push(...rn(r))),e.push(on(l,o))}})),En=(e,t,a)=>{const n=Xa(t)?`${e}_data`:`${e}_highResolutionData`,r=`${null!=a?a:e}_${V.HOVERED_ITEM}`;return{name:`${e}_highlightedData`,source:n,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} === ${V.CONTROLLED_HIGHLIGHTED_SERIES} || datum.${V.SERIES_ID} === ${V.SELECTED_SERIES} || isValid(${r}) && ${r}.${V.SERIES_ID} === datum.${V.SERIES_ID}`}]}},vn=e=>{var t;return null!==(t=null==e?void 0:e.map((e=>({type:"filter",expr:`!datum.${e}`}))))&&void 0!==t?t:[]},bn=e=>`datum.${e} && datum.${e} === true`,_n=(e,t)=>`(${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${t}) || (${V.SELECTED_GROUP} && ${V.SELECTED_GROUP} === datum.${e}_selectedGroupId)`,Sn=e=>{const{dimension:t,metric:a,metricAxis:n,name:r,scaleType:i}=e;return{name:`${r}_pointBackground`,description:`${r}_pointBackground`,type:"symbol",from:{data:`${r}_highlightedData`},interactive:!1,encode:{enter:{y:Be(n,a),fill:{signal:V.BACKGROUND_COLOR},stroke:{signal:V.BACKGROUND_COLOR}},update:{size:Dn(e),strokeWidth:Rn(e),x:ze(i,t)}}}},On=(e,t=!0)=>{const{color:a,colorScheme:n,dimension:r,metric:i,metricAxis:o,name:s,scaleType:l}=e;return{name:`${s}_point_${t?"highlight":"select"}`,description:`${s}_point_${t?"highlight":"select"}`,type:"symbol",from:{data:`${s}${t?"_highlightedData":"_selectedData"}`},interactive:!1,encode:{enter:{y:Be(o,i),stroke:ke(a,n)},update:{fill:Ln(e),size:Dn(e),stroke:An(e),strokeOpacity:In(e),strokeWidth:Rn(e),x:ze(l,r)}}}},Tn=e=>On(e,!0),$n=e=>On(e,!1),xn=(e,t)=>{const{color:a,colorScheme:n,dimension:r,metricAxis:i,name:o,scaleType:s}=e;return{name:`${o}_secondaryPoint`,description:`${o}_secondaryPoint`,type:"symbol",from:{data:`${o}_highlightedData`},interactive:!1,encode:{enter:{y:Be(i,t),fill:{signal:V.BACKGROUND_COLOR},stroke:ke(a,n)},update:{x:ze(s,r)}}}},Ln=e=>{const{color:t,colorScheme:a,idKey:n,name:r,staticPoint:i}=e,o=[],s=_n(r,n);return i&&o.push(Object.assign({test:bn(i)},ke(t,a))),Ne(e)&&o.push(Object.assign({test:s},ke(t,a))),[...o,{signal:V.BACKGROUND_COLOR}]},An=e=>{const{color:t,colorScheme:a,idKey:n,name:r,staticPoint:i}=e,o=[],s=_n(r,n);return i&&o.push(Object.assign({test:bn(i)},ke(t,a))),Ne(e)&&o.push({test:s,signal:V.BACKGROUND_COLOR}),[...o,ke(t,a)]},In=({opacity:e,staticPoint:t})=>{const a=Pe(e),n=[];return t&&n.push(Object.assign({test:bn(t)},((e=V.DEFAULT_OPACITY_RULE)=>"signal"in e?{signal:`${e.signal} * ${V.FADE_FACTOR}`}:{value:e.value*V.FADE_FACTOR})(a))),[...n,a]},Dn=({staticPoint:e})=>{const t=[];return e&&t.push({test:bn(e),value:64}),[...t,{value:V.DEFAULT_SYMBOL_SIZE}]},Rn=({staticPoint:e})=>{const t=[];return e&&t.push({test:bn(e),value:6}),[...t,{value:V.DEFAULT_SYMBOL_STROKE_WIDTH}]},Mn=e=>{const{colorScheme:t,dimension:a,idKey:n,metric:r,metricAxis:i,name:o,scaleType:s}=e,l=_n(o,n);return{name:`${o}_pointSelectRing`,type:"symbol",from:{data:`${o}_selectedData`},interactive:!1,encode:{enter:{y:Be(i,r),fill:{signal:V.BACKGROUND_COLOR},stroke:{value:(0,W.getColorValue)("static-blue",t)}},update:{size:[{test:l,value:196},{value:0}],strokeWidth:[{test:l,value:V.DEFAULT_SYMBOL_STROKE_WIDTH},{value:0}],x:ze(s,a)}}}},Cn=(e,t)=>{const{chartPopovers:a,color:n,colorScheme:r,dimension:i,lineType:o,lineWidth:s,metric:l,metricAxis:c,name:u,opacity:d,scaleType:m}=e,p=Fa(null!=a?a:[],u).some((({UNSAFE_highlightBy:e})=>"dimension"===e));return{name:u,description:u,type:"line",from:{data:t},interactive:!1,encode:{enter:{y:Be(c,l),stroke:ke(n,r),strokeDash:we(o),strokeOpacity:Pe(d),strokeWidth:Fe(s)},update:Object.assign({x:ze(m,i)},p?{}:{opacity:Nn(e)})}}},Nn=({displayOnHover:e,comboSiblingNames:t,interactiveMarkName:a,popoverMarkName:n,isHighlightedByGroup:r,highlightedItem:i})=>{if((!a||e)&&void 0===i)return[V.DEFAULT_OPACITY_RULE];const o=[];if(a&&(r?o.push({test:`length(data('${a}_highlightedData'))`,signal:`indexof(pluck(data('${a}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`}):o.push({test:`isValid(${a}_${V.HOVERED_ITEM})`,signal:`${a}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`})),o.push({test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),n&&o.push({test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),null==t?void 0:t.length){const e=t.map((e=>`isValid(${e}_${V.HOVERED_ITEM})`)).join(" || ");o.push({test:e,value:V.FADE_FACTOR})}return o.push(V.DEFAULT_OPACITY_RULE),o},jn=(e,t,a)=>{const{dimension:n,name:r,scaleType:i}=e;return[kn(n,r,i),Sn(e),...Ne(e)?[Mn(e),$n(e)]:[],Tn(e),...a?[xn(e,a)]:[],...Fn(t,e)]},kn=(e,t,a)=>({name:`${t}_hoverRule`,description:`${t}_hoverRule`,type:"rule",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{value:0},y2:{signal:"height"},strokeWidth:{value:1}},update:{x:ze(a,e),opacity:{signal:`length(data('${t}_selectedData')) > 0 ? 0 : 1`}}}}),Fn=(e,t)=>{const{interactionMode:a=V.DEFAULT_INTERACTION_MODE}=t;return{nearest:Pn,item:Hn}[a](t,e)},Pn=(e,t)=>{const{dimension:a,metric:n,metricAxis:r,name:i,scaleType:o}=e;return[Ge(t,a,n,i,o,r),Ue(e,`${i}_pointsForVoronoi`)]},Hn=(e,t)=>{const{chartTooltips:a=[],dimension:n,metric:r,metricAxis:i,name:o,scaleType:s}=e;return[Ve(a,t,n,r,o,s,i)]},wn=(e,t)=>{const a=[],n=((e,t)=>e.trendlineAnnotations.map(((a,n)=>(({badge:e=!1,dimensionValue:t="end",numberFormat:a="",prefix:n=""},r,{colorScheme:i,dimensionExtent:o,dimensionScaleType:s,displayOnHover:l,lineWidth:c,orientation:u,trendlineColor:d,trendlineDimension:m,name:p},h)=>({badge:e,colorScheme:i,dimensionValue:t,displayOnHover:l,markName:h,name:`${p}Annotation${r}`,numberFormat:a,prefix:n,trendlineColor:d,trendlineDimension:m,trendlineDimensionExtent:o,trendlineDimensionScaleType:s,trendlineName:p,trendlineOrientation:u,trendlineWidth:re(c)}))(a,n,e,t))))(e,t);for(const e of n)a.push({name:`${e.name}_group`,type:"group",interactive:!1,marks:[zn(e),Un(e),...Wn(e)]});return a},zn=e=>{const{name:t,trendlineName:a,trendlineWidth:n,displayOnHover:r}=e;return{name:`${t}_points`,type:"symbol",from:{data:r?`${a}_highlightedData`:`${a}_highResolutionData`},interactive:!1,encode:{enter:{opacity:{value:0},size:{value:Math.pow(n,2)},x:Bn(e),y:Gn(e)}}}},Bn=({dimensionValue:e,trendlineDimension:t,trendlineDimensionExtent:a,trendlineDimensionScaleType:n,trendlineOrientation:r})=>{const i=Le("x",n);if("vertical"===r)return{scale:i,field:V.TRENDLINE_VALUE};switch(e){case"start":return Qn(a[0],t,i,"x");case"end":return er(a[1],t,i,"x");default:return{scale:i,value:e}}},Gn=({dimensionValue:e,trendlineDimension:t,trendlineDimensionExtent:a,trendlineOrientation:n})=>{const r="yLinear";if("horizontal"===n)return{scale:r,field:V.TRENDLINE_VALUE};switch(e){case"start":return Qn(a[0],t,r,"y");case"end":return er(a[1],t,r,"y");default:return{scale:r,value:e}}},Un=e=>{const{name:t,numberFormat:a,prefix:n,trendlineName:r,markName:i}=e,o=n?`'${n} ' + `:"",s=Vn(Object.assign({},e));return{name:t,type:"text",from:{data:`${t}_points`},zindex:1,interactive:!1,encode:{enter:{text:{signal:`${o}format(datum.datum.${V.TRENDLINE_VALUE}, '${a}')`},fill:s}},transform:[{type:"label",size:{signal:"[width, height]"},avoidMarks:[r,`${i}_group`],offset:[6,6,6,6,8.49,8.49,8.49,8.49],anchor:["top","bottom","right","left","top-right","top-left","bottom-right","bottom-left"]}]}},Vn=({badge:e,colorScheme:t,trendlineColor:a})=>{if(!e)return;const n=((e,t,a="ordinal")=>{const n=ke(e,t,a);return"signal"in n?n.signal:"scale"in n&&"field"in n?`scale('${n.scale}', datum.${n.field})`:"value"in n&&n.value?`'${n.value}'`:""})(Jn(a),t),r=[(0,W.getColorValue)("gray-50",t),(0,W.getColorValue)("gray-900",t)];return[{test:`contrast(${n}, '${r[0]}') >= 4.5`,value:r[0]},{value:r[1]}]},Wn=({badge:e,colorScheme:t,name:a,trendlineColor:n})=>{if(!e)return[];const r=Jn(n,2);return[{name:`${a}_badge`,description:`${a}_badge`,type:"rect",from:{data:`${a}`},interactive:!1,encode:{enter:{cornerRadius:{value:2},fill:ke(r,t),opacity:{field:"opacity"},x:{signal:"datum.bounds.x1 - 3"},x2:{signal:"datum.bounds.x2 + 3"},y:{signal:"datum.bounds.y1 - 3"},y2:{signal:"datum.bounds.y2 + 3"}}}}]},Jn=(e,t=1)=>"string"==typeof e?`${new Array(t).fill("datum.").join("")}${e}`:e,Yn=e=>{const{color:t,lineType:a}=e,{facets:n}=te({color:t,lineType:a}),r=[],i=Ba(e);for(const t of i){const{displayOnHover:a,method:i,name:o}=t;if(Ya(i))r.push(Xn(e,t));else{const s=Kn(o,i,a);r.push({name:`${o}_group`,type:"group",clip:!0,from:{facet:{name:`${o}_facet`,data:s,groupby:n}},marks:[tr(e,t)]})}r.push(...wn(t,e.name))}return i.some((e=>je(e)))&&r.push(rr(e,i.some((e=>e.highlightRawPoint)))),r},Kn=(e,t,a)=>a?`${e}_highlightedData`:Ka(t)?`${e}_highResolutionData`:`${e}_data`,Xn=(e,t)=>{const{colorScheme:a}=e,{dimensionExtent:n,dimensionScaleType:r,displayOnHover:i,lineType:o,lineWidth:s,name:l,orientation:c,trendlineColor:u,trendlineDimension:d}=t;return{name:l,type:"rule",clip:!0,from:{data:i?`${l}_highlightedData`:`${l}_highResolutionData`},interactive:!1,encode:{enter:Object.assign(Object.assign({},qn(n,d,c)),{stroke:ke(u,a),strokeDash:we({value:o}),strokeOpacity:Pe({value:t.opacity}),strokeWidth:Fe({value:s})}),update:Object.assign(Object.assign({},Zn(n,d,r,c)),{opacity:Nn(ir(e,t))})}}},qn=(e,t,a)=>"horizontal"===a?{y:{scale:"yLinear",field:V.TRENDLINE_VALUE}}:{y:Qn(e[0],t,"yLinear","y"),y2:er(e[1],t,"yLinear","y")},Zn=(e,t,a,n)=>{const r=Le("x",a);return"vertical"===n?{x:{scale:r,field:V.TRENDLINE_VALUE}}:{x:Qn(e[0],t,r,"x"),x2:er(e[1],t,r,"x")}},Qn=(e,t,a,n)=>{switch(e){case null:return{scale:a,field:`${t}Min`};case"domain":return"x"===n?{value:0}:{signal:"height"};default:return{scale:a,value:e}}},er=(e,t,a,n)=>{switch(e){case null:return{scale:a,field:`${t}Max`};case"domain":return"x"===n?{signal:"width"}:{value:0};default:return{scale:a,value:e}}},tr=(e,t)=>{const{colorScheme:a}=e,{dimensionScaleType:n,isDimensionNormalized:r,lineType:i,lineWidth:o,name:s,orientation:l,trendlineColor:c,trendlineDimension:u}=t;return{name:s,type:"line",from:{data:`${s}_facet`},interactive:!1,encode:{enter:{y:ar(u,l),stroke:ke(c,a),strokeDash:we({value:i}),strokeOpacity:Pe({value:t.opacity}),strokeWidth:Fe({value:o})},update:{x:nr(u,n,l,r),opacity:Nn(ir(e,t))}}}},ar=(e,t)=>{const a="yLinear";return"horizontal"===t?{scale:a,field:V.TRENDLINE_VALUE}:{scale:a,field:e}},nr=(e,t,a,n)=>{const r=Le("x",t);return"vertical"===a?{scale:r,field:V.TRENDLINE_VALUE}:n?{scale:"xTrendline",field:e}:{scale:r,field:e}},rr=(e,t)=>{const{metric:a,name:n}=e,r=Ba(e),i=ir(e,r[0],{name:`${n}Trendline`,chartTooltips:r.flatMap((e=>e.chartTooltips)),metric:V.TRENDLINE_VALUE});return{name:`${n}Trendline_hoverGroup`,type:"group",clip:!0,marks:jn(i,`${n}_allTrendlineData`,t?a:void 0)}},ir=(e,{dimensionScaleType:t,displayOnHover:a,lineWidth:n,metric:r,name:i,opacity:o},s)=>{const{color:l,lineType:c}=e,u="popoverMarkName"in e?e.popoverMarkName:void 0,d="staticPoint"in e?e.staticPoint:void 0;return Object.assign(Object.assign(Object.assign({},e),{color:Ua(l),displayOnHover:a,lineType:Va(c),lineWidth:{value:n},metric:r,name:i,opacity:{value:o},popoverMarkName:u,scaleType:t,staticPoint:d}),s)},or=e=>{const{dimension:t}=e;return Ba(e).some((({dimensionScaleType:e,method:t})=>Ka(t)&&"time"===e))?[{name:"xTrendline",type:"linear",range:"width",domain:{data:V.FILTERED_TABLE,fields:[`${t}Normalized`]},padding:V.LINEAR_PADDING,zero:!1,nice:!1}]:[]},sr=(e,t)=>{const{name:a}=t;Ba(t).some((e=>je(e)))&&dt(e,`${a}Trendline`,`${a}Trendline_voronoi`,2)},lr=({trellisOrientation:e,name:t,trellisPadding:a})=>{const n="horizontal"===e?"x":"y";return{facetName:`${t}_trellis`,scaleName:`${n}TrellisBand`,markName:`${n}TrellisGroup`,dimensionSizeSignal:"x"===n?"width":"height",axis:n,paddingInner:a}},cr=e=>Boolean(e.trellis),ur=({color:e,lineType:t,opacity:a})=>[e,t,a].some((e=>Array.isArray(e)&&2===e.length)),dr=e=>{const{dualMetricAxis:t,type:a}=e;return Boolean(t&&!cr(e)&&"dodged"===a&&!ur(e))},mr=e=>{const{dimension:t,groupedPadding:a,orientation:n,name:r,paddingRatio:i}=e,{dimensionScaleKey:o,dimensionAxis:s,dimensionSizeSignal:l}=Sr(n);return{name:`${r}_group`,type:"group",from:{facet:{data:cr(e)?lr(e).facetName:V.FILTERED_TABLE,name:`${r}_facet`,groupby:t}},encode:{enter:{[s]:{scale:o,field:t}}},signals:[{name:l,update:`bandwidth("${o}")`}],scales:[{name:`${r}_position`,type:"band",range:l,domain:{data:V.FILTERED_TABLE,field:`${r}_dodgeGroup`},paddingInner:null!=a?a:i}]}},pr=e=>{const{dimensionAxis:t,dimensionSizeSignal:a}=Sr(e.orientation),n=`${e.name}_position`;return{[t]:{scale:n,field:`${e.name}_dodgeGroup`},[a]:{scale:n,band:1}}},hr=e=>Object.assign(Object.assign({},(e=>{const{metric:t,type:a}=e,{metricAxis:n,metricScaleKey:r}=Sr(e.orientation,e.metricAxis),i=`${n}2`;return"stacked"===a||ur(e)?(e=>{const{metric:t,orientation:a}=e,{metricAxis:n,metricScaleKey:r}=Sr(e.orientation,e.metricAxis),i=`${n}2`,o=`datum.${t}0`,s=`datum.${t}1`;return"vertical"===a?{[n]:[{test:`${o} === 0`,signal:`scale('${r}', ${o})`},{test:`${s} > 0`,signal:`max(scale('${r}', ${o}) - 1.5, scale('${r}', ${s}))`},{signal:`min(scale('${r}', ${o}) + 1.5, scale('${r}', ${s}))`}],[i]:{scale:r,field:`${t}1`}}:{[n]:[{test:`${o} === 0`,signal:`scale('${r}', ${o})`},{test:`${s} > 0`,signal:`min(scale('${r}', ${o}) + 1.5, scale('${r}', ${s}))`},{signal:`max(scale('${r}', ${o}) - 1.5, scale('${r}', ${s}))`}],[i]:{scale:r,field:`${t}1`}}})(e):dr(e)?{[n]:[{test:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`,scale:`${r}Secondary`,value:0},{scale:`${r}Primary`,value:0}],[i]:[{test:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`,scale:`${r}Secondary`,field:t},{scale:`${r}Primary`,field:t}]}:{[n]:{scale:r,value:0},[i]:{scale:r,field:t}}})(e)),(e=>{const{type:t,lineWidth:a,metric:n,hasSquareCorners:r}=e,i=r?0:Math.max(1,V.CORNER_RADIUS-re(a)/2);let o;return o="dodged"!==t||ur(e)?(({name:e,metric:t,lineWidth:a,hasSquareCorners:n})=>{const r=`datum.${t}1 > 0 && data('${e}_stacks')[indexof(pluck(data('${e}_stacks'), '${V.STACK_ID}'), datum.${V.STACK_ID})].max_${t}1 === datum.${t}1`,i=`datum.${t}1 < 0 && data('${e}_stacks')[indexof(pluck(data('${e}_stacks'), '${V.STACK_ID}'), datum.${V.STACK_ID})].min_${t}1 === datum.${t}1`,o=n?0:Math.max(1,V.CORNER_RADIUS-re(a)/2);return{cornerRadiusTopLeft:[{test:r,value:o},{value:0}],cornerRadiusTopRight:[{test:r,value:o},{value:0}],cornerRadiusBottomLeft:[{test:i,value:o},{value:0}],cornerRadiusBottomRight:[{test:i,value:o},{value:0}]}})(e):{cornerRadiusTopLeft:[{test:`datum.${n} > 0`,value:i},{value:0}],cornerRadiusTopRight:[{test:`datum.${n} > 0`,value:i},{value:0}],cornerRadiusBottomLeft:[{test:`datum.${n} < 0`,value:i},{value:0}],cornerRadiusBottomRight:[{test:`datum.${n} < 0`,value:i},{value:0}]},((e,{orientation:t})=>"vertical"===t?e:{cornerRadiusTopLeft:e.cornerRadiusBottomLeft,cornerRadiusTopRight:e.cornerRadiusTopLeft,cornerRadiusBottomLeft:e.cornerRadiusBottomRight,cornerRadiusBottomRight:e.cornerRadiusTopRight})(o,e)})(e)),gr=({chartTooltips:e,color:t,colorScheme:a,name:n,opacity:r})=>({fill:ke(t,a),fillOpacity:Pe(r),tooltip:Re(e,n)}),fr=e=>({cursor:De(e.chartPopovers,e.hasOnClick),opacity:Xe(e),stroke:yr(e),strokeDash:Er(e),strokeWidth:vr(e)}),yr=({name:e,chartPopovers:t,color:a,colorScheme:n,idKey:r})=>{const i=ke(a,n);return Ne({chartPopovers:t})?[{test:`(${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${r}) || (${V.SELECTED_GROUP} && ${V.SELECTED_GROUP} === datum.${e}_selectedGroupId)`,value:(0,W.getColorValue)("static-blue",n)},i]:[i]},Er=({chartPopovers:e,idKey:t,lineType:a})=>{const n=we(a);return Ne({chartPopovers:e})?[{test:`isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t}`,value:[]},n]:[n]},vr=({chartPopovers:e,idKey:t,lineWidth:a,name:n})=>{const r=re(a),i={value:r},o=Fa(e,n),s=o.some((({UNSAFE_highlightBy:e})=>"dimension"===e));return 0===o.length||s?[i]:[{test:`(isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t}) || (isValid(${V.SELECTED_GROUP}) && ${V.SELECTED_GROUP} === datum.${n}_selectedGroupId)`,value:Math.max(r,2)},i]},br=(e,t)=>xe(e,t),_r=e=>"stacked"===e.type||ur(e)?[`${e.metric}1`]:[e.metric],Sr=(e,t)=>"vertical"===e?{metricAxis:"y",dimensionAxis:"x",metricScaleKey:t||"yLinear",dimensionScaleKey:"xBand",dimensionSizeSignal:"width",metricSizeSignal:"height"}:{metricAxis:"x",dimensionAxis:"y",metricScaleKey:t||"xLinear",dimensionScaleKey:"yBand",dimensionSizeSignal:"height",metricSizeSignal:"width"},Or=e=>{const{metricAxis:t,orientation:a}=e,{metricScaleKey:n}=Sr(a);return t||n},Tr=(e,t)=>{var a;const{dimension:n,name:r}=e;return{name:`${r}_${V.DIMENSION_HOVER_AREA}`,description:`hover area for ${r} dimensions`,type:"rect",from:{data:`${r}_${"stacked"===t?"stacks":"groups"}`},interactive:!0,clip:!0,encode:{enter:{fill:{value:"transparent"},tooltip:Re(null!==(a=e.chartTooltips)&&void 0!==a?a:[],`${r}_${V.DIMENSION_HOVER_AREA}`,!1,{dimension:n})},update:Object.assign({},$r(e))}}},$r=e=>{const{dimension:t,orientation:a}=e,{dimensionScaleKey:n,metricAxis:r,dimensionAxis:i,dimensionSizeSignal:o,metricSizeSignal:s}=Sr(a);return{[r]:{value:0},[`${r}2`]:{signal:`${s}`},[i]:{signal:`scale('${n}', datum.${t}) - bandwidth('${n}') * paddingInner / 2 / (1 - paddingInner)`},[o]:{signal:`bandwidth('${n}') * ( 1 + paddingInner / (1 - paddingInner))`}}};const xr=(e,t,a,n,r)=>{var{textKey:i,padding:o}=e,s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["textKey","padding"]);return Object.assign({barOptions:t,textKey:i||t.metric,padding:null!=o?o:V.ANNOTATION_PADDING,dataName:a,dimensionScaleName:n,dimensionField:r},s)},Lr=(e,t,a,n)=>{const r=((e,t,a,n)=>{const r=e.barAnnotations[0];if(r)return xr(r,e,t,a,n)})(e,t,a,n);return r?[{type:"group",name:`${e.name}_annotationGroup`,marks:[Ar(r),Ir(r)]}]:[]},Ar=({padding:e,barOptions:t,dataName:a,dimensionField:n,dimensionScaleName:r,textKey:i,style:o})=>{const{metricAxis:s,dimensionAxis:l}=Sr(t.orientation),c=Mr(i,e,o),u=Cr(t,c,e);return{name:`${t.name}_annotationText`,type:"text",from:{data:a},interactive:!1,zindex:1,encode:{enter:{[l]:{scale:r,field:n,band:.5},[s]:u,text:[{test:`bandwidth('${r}') > ${Dr(t.orientation,e)}`,field:i}],fontSize:{value:V.ANNOTATION_FONT_SIZE},fontWeight:{value:V.ANNOTATION_FONT_WEIGHT},baseline:{value:"middle"},align:{value:"center"}}}}},Ir=({barOptions:e,dimensionScaleName:t,padding:a,textKey:n,style:r})=>({name:`${e.name}_annotationBackground`,description:`${e.name}_annotationBackground`,type:"rect",from:{data:`${e.name}_annotationText`},interactive:!1,encode:{enter:Object.assign(Object.assign({},Rr(a,null==r?void 0:r.width)),{y:{signal:`datum.bounds.y1 - ${a}`},y2:{signal:`datum.bounds.y2 + ${a}`},cornerRadius:{value:4},fill:[{test:`datum.datum.${n} && bandwidth('${t}') > ${Dr(e.orientation,a)}`,signal:V.BACKGROUND_COLOR}]})}}),Dr=(e,t)=>"vertical"===e?48:V.ANNOTATION_FONT_SIZE+2*t,Rr=(e,t)=>t?{xc:{signal:"(datum.bounds.x1 + datum.bounds.x2) / 2"},width:{value:t}}:{x:{signal:`datum.bounds.x1 - ${e}`},x2:{signal:`datum.bounds.x2 + ${e}`}},Mr=(e,t,a)=>(null==a?void 0:a.width)?{value:a.width}:{signal:`getLabelWidth(datum.${e}, '${V.ANNOTATION_FONT_WEIGHT}', ${V.ANNOTATION_FONT_SIZE}) + ${2*t}`},Cr=(e,t,a)=>{const{type:n,metric:r,orientation:i}=e,o="stacked"===n||ur(e)?`${r}1`:r,{metricScaleKey:s}=Sr(i),l=(({orientation:e},t,a)=>"vertical"===e?""+((2*a+V.ANNOTATION_FONT_SIZE)/2+2.5):"value"in t?""+(t.value/2+2.5):`((${t.signal}) / 2 + 2.5)`)(e,t,a);return"vertical"===i?[{test:`datum.${o} < 0`,signal:`max(scale('${s}', datum.${o}), scale('${s}', 0) + ${l})`},{signal:`min(scale('${s}', datum.${o}), scale('${s}', 0) - ${l})`}]:[{test:`datum.${o} < 0`,signal:`min(scale('${s}', datum.${o}), scale('${s}', 0) - ${l})`},{signal:`max(scale('${s}', datum.${o}), scale('${s}', 0) + ${l})`}]},Nr=e=>{const{name:t}=e;return{name:`${t}_background`,description:`${t}_background`,type:"rect",from:{data:ur(e)?`${t}_facet`:Fr(e)},interactive:!1,encode:{enter:Object.assign(Object.assign({},hr(e)),{fill:{signal:V.BACKGROUND_COLOR}}),update:Object.assign({},kr(e))}}},jr=e=>{const{name:t}=e;return{name:t,description:t,type:"rect",from:{data:ur(e)?`${t}_facet`:Fr(e)},interactive:Ce(e),encode:{enter:Object.assign(Object.assign({},hr(e)),gr(e)),update:Object.assign(Object.assign({},kr(e)),fr(e))}}},kr=e=>{const{dimension:t,orientation:a}=e;if(ur(e))return pr(e);const{dimensionAxis:n,dimensionSizeSignal:r,dimensionScaleKey:i}=Sr(a);return{[n]:{scale:i,field:t},[r]:{scale:i,band:1}}},Fr=e=>cr(e)?lr(e).facetName:V.FILTERED_TABLE;const Pr=U(((e,t)=>{var a,n,r,i,{barAnnotations:o=[],chartPopovers:s=[],chartTooltips:l=[],color:c={value:"categorical-100"},colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_CATEGORICAL_DIMENSION,dualMetricAxis:m=!1,hasOnClick:p=!1,hasSquareCorners:h=!1,index:g=0,lineType:f={value:"solid"},lineWidth:y=0,metric:E=V.DEFAULT_METRIC,metricAxis:v,name:b,opacity:_={value:1},orientation:S="vertical",paddingRatio:O=V.PADDING_RATIO,trellisOrientation:T="horizontal",trellisPadding:$=V.TRELLIS_PADDING,type:x="stacked",trendlines:L=[]}=t,A=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["barAnnotations","chartPopovers","chartTooltips","color","colorScheme","dimension","dualMetricAxis","hasOnClick","hasSquareCorners","index","lineType","lineWidth","metric","metricAxis","name","opacity","orientation","paddingRatio","trellisOrientation","trellisPadding","type","trendlines"]);const I=(0,J.toCamelCase)(b||`bar${g}`),D=Object.assign({barAnnotations:o,chartPopovers:s,chartTooltips:l,dimensionScaleType:"band",dualMetricAxis:m,orientation:S,color:c,colorScheme:u,dimension:d,hasOnClick:p,hasSquareCorners:h,index:g,interactiveMarkName:qe({chartPopovers:s,chartTooltips:l,hasOnClick:p,highlightedItem:A.highlightedItem,trendlines:L},I),lineType:f,lineWidth:y,metric:E,metricAxis:v,name:I,opacity:_,paddingRatio:O,trellisOrientation:T,trellisPadding:$,trendlines:L,type:x},A);e.usermeta=Object.assign(Object.assign({},e.usermeta),{chartOrientation:D.orientation}),e.usermeta=ge(e.usermeta,D.interactiveMarkName),e.data=wr(null!==(a=e.data)&&void 0!==a?a:[],D),e.signals=Hr(null!==(n=e.signals)&&void 0!==n?n:[],D),e.scales=Jr(null!==(r=e.scales)&&void 0!==r?r:[],D),e.marks=Xr(null!==(i=e.marks)&&void 0!==i?i:[],D)})),Hr=U(((e,t)=>{var a;const{barAnnotations:n,chartTooltips:r,chartPopovers:i,hasOnClick:o,name:s,paddingRatio:l,paddingOuter:c,trendlines:u}=t,{paddingInner:d}=br(l,c);e.push(ut("paddingInner",d)),dr(t)&&e.push({name:`${V.FIRST_RSC_SERIES_ID}`,value:null,update:`length(domain("${V.COLOR_SCALE}")) > 0 ? domain("${V.COLOR_SCALE}")[0] : null`},{name:`${V.LAST_RSC_SERIES_ID}`,value:null,update:`length(domain("${V.COLOR_SCALE}")) > 0 ? peek(domain("${V.COLOR_SCALE}")) : null`}),(n.length||i.length||r.length||u.length||o)&&(dt(e,s,void 0,1,null===(a=r[0])||void 0===a?void 0:a.excludeDataKeys),lt(r)&&dt(e,`${s}_${V.DIMENSION_HOVER_AREA}`),rt(e,t),sr(e,t))})),wr=U(((e,t)=>{var a,n,r,i,o;const{dimension:s,dimensionDataType:l,metric:c,order:u,type:d}=t;if(l===V.TIME){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],s)}const m=e.findIndex((e=>e.name===V.FILTERED_TABLE));e[m].transform=null!==(n=e[m].transform)&&void 0!==n?n:[],("stacked"===d||ur(t))&&(null===(r=e[m].transform)||void 0===r||r.push({type:"stack",groupby:Gr(t),field:c,sort:K(u),as:[`${c}0`,`${c}1`]}),null===(i=e[m].transform)||void 0===i||i.push(Br(t)),e.push(zr(t))),("dodged"===d||ur(t))&&(e.push(Ur(t)),null===(o=e[m].transform)||void 0===o||o.push(Vr(t))),Wr(e,t),un(e,t),et(e,t),Ha(e,t)})),zr=e=>{const{metric:t,name:a}=e;return{name:`${a}_stacks`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",groupby:Gr(e),fields:[`${t}1`,`${t}1`],ops:["min","max"]},Br(e)]}},Br=e=>({type:"formula",as:V.STACK_ID,expr:Gr(e).map((e=>`datum.${e}`)).join(' + "," + ')}),Gr=({trellis:e,color:t,dimension:a,lineType:n,opacity:r,type:i})=>{const{facets:o,secondaryFacets:s}=te({color:t,lineType:n,opacity:r});return[...e?[e]:[],a,..."dodged"===i?o:[],..."stacked"===i?s:[]]},Ur=e=>{const{dimension:t,name:a}=e;return{name:`${a}_groups`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",groupby:[t]}]}},Vr=({color:e,lineType:t,name:a,opacity:n,type:r})=>{const{facets:i,secondaryFacets:o}=te({color:e,lineType:t,opacity:n});return{type:"formula",as:`${a}_dodgeGroup`,expr:("dodged"===r?i:o).map((e=>`datum.${e}`)).join(' + "," + ')}},Wr=(e,t)=>{if(dr(t)){const a=Bt(Or(t));a.primaryDomain&&a.secondaryDomain&&e.push({name:a.primaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} !== ${V.LAST_RSC_SERIES_ID}`}]},{name:a.secondaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`}]})}},Jr=U(((e,t)=>{const{color:a,lineType:n,opacity:r,metricAxis:i}=t,{metricAxis:o}=Sr(t.orientation);if(_e(e,_r(t),o),i&&_e(e,_r(t),o,i),dr(t)){const a=Bt(Or(t));_e(e,_r(t),o,a.primaryScale,a.primaryDomain),_e(e,_r(t),o,a.secondaryScale,a.secondaryDomain)}Yr(e,t),((e,t)=>{if(!t.trellis)return;const{scaleName:a,dimensionSizeSignal:n,paddingInner:r}=lr(t),i=ye(e,a,"band");e[i]=Ee(e[i],[t.trellis]),e[i]=Object.assign(Object.assign({},e[i]),{range:n,paddingInner:r})})(e,t),Se(e,V.COLOR_SCALE,a),Se(e,V.LINE_TYPE_SCALE,n),Se(e,V.OPACITY_SCALE,r),Kr(e,t)})),Yr=(e,{dimension:t,paddingRatio:a,paddingOuter:n,orientation:r})=>{const{dimensionAxis:i}=Sr(r),o=fe(e,"band",i);e[o]=Ee(e[o],[t]);const{paddingInner:s,paddingOuter:l}=br(a,n);e[o]=Object.assign(Object.assign({},e[o]),{paddingInner:s,paddingOuter:l})},Kr=(e,t)=>{const{color:a,lineType:n,opacity:r}=t;ur(t)&&[{value:a,scaleName:"colors",secondaryScaleName:"secondaryColor"},{value:n,scaleName:"lineTypes",secondaryScaleName:"secondaryLineType"},{value:r,scaleName:"opacities",secondaryScaleName:"secondaryOpacity"}].forEach((({value:t,scaleName:a,secondaryScaleName:n})=>{if(Array.isArray(t)&&2===t.length){const r=ye(e,n,"ordinal");e[r]=Ee(e[r],[t[1]]);const i=ye(e,a,"ordinal"),o=e[i];o.range={signal:a},e[i]=Ee(o,[t[0]])}}))},Xr=U(((e,t)=>{const{chartPopovers:a,name:n,type:r}=t,i=[];if(ur(t)?i.push((e=>{const t=[];return t.push(Nr(e),jr(e),...Lr(e,`${e.name}_facet`,`${e.name}_position`,`${e.name}_dodgeGroup`)),Object.assign(Object.assign({},mr(e)),{marks:t})})(t)):"stacked"===r?i.push(...(e=>{const t=[];return lt(e.chartTooltips)&&t.push(Tr(e,"stacked")),t.push(Nr(e),jr(e),...Lr(e,Fr(e),Sr(e.orientation).dimensionScaleKey,e.dimension)),t})(t)):i.push(...(e=>{const{name:t}=e,a=[Object.assign(Object.assign({},mr(e)),{marks:[{name:`${t}_background`,from:{data:`${t}_facet`},type:"rect",interactive:!1,encode:{enter:Object.assign(Object.assign({},hr(e)),{fill:{signal:V.BACKGROUND_COLOR}}),update:Object.assign({},pr(e))}},{name:t,from:{data:`${t}_facet`},type:"rect",interactive:Ce(e),encode:{enter:Object.assign(Object.assign({},hr(e)),gr(e)),update:Object.assign(Object.assign({},pr(e)),fr(e))}},...Lr(e,`${t}_facet`,`${t}_position`,`${t}_dodgeGroup`)]})];return lt(e.chartTooltips)&&a.unshift(Tr(e,"dodged")),a})(t)),Fa(a,n).some((e=>"dimension"===e.UNSAFE_highlightBy))&&i.push((e=>{const{name:t,colorScheme:a,paddingRatio:n,orientation:r}=e,i="vertical"===r?{y:{value:0},y2:{signal:"height"},xc:{signal:`scale('xBand', datum.${t}_selectedGroupId) + bandwidth('xBand')/2`},width:{signal:`bandwidth('xBand')/(1 - ${n} / 2)`}}:{x:{value:0},x2:{signal:"width"},yc:{signal:`scale('yBand', datum.${t}_selectedGroupId) + bandwidth('yBand')/2`},height:{signal:`bandwidth('yBand')/(1 - ${n} / 2)`}};return{name:`${t}_selectionRing`,type:"rect",from:{data:`${t}_selectedData`},interactive:!1,encode:{enter:{fill:{value:"transparent"},strokeWidth:{value:2},stroke:{value:(0,W.getColorValue)("static-blue",a)},cornerRadius:{value:6}},update:i}}})(t)),cr(t)){const a=qr(t);e.push(((e,t,a)=>{const{trellisOrientation:n}=e,r=e.trellis,{markName:i,facetName:o,scaleName:s,axis:l,dimensionSizeSignal:c}=lr(e);return{name:i,type:"group",from:{facet:{data:V.FILTERED_TABLE,name:o,groupby:r}},signals:[{name:c,update:`bandwidth('${s}')`}],encode:{enter:{[l]:{scale:s,field:r},height:{signal:"vertical"===n?`bandwidth('${s}')`:"height"},width:{signal:"horizontal"===n?`bandwidth('${s}')`:"width"}}},scales:[a],marks:t}})(t,i,a))}else e.push(...i);e.push(...Yn(t))})),qr=e=>{const{orientation:t,trellisOrientation:a}=e;if(t===a){const{metricAxis:a}=Sr(t);return((e,t,a)=>{let n=Te("linear",t,a);return n=Ee(n,e),n})(_r(e),a,t)}return Zr(e)},Zr=({dimension:e,orientation:t,paddingRatio:a,paddingOuter:n})=>{const{dimensionAxis:r}=Sr(t);let i=Te("band",r,t);i=Ee(i,[e]);const{paddingInner:o,paddingOuter:s}=br(a,n);return Object.assign(Object.assign({},i),{paddingInner:o,paddingOuter:s})};function Qr(e,t,a){var n;if(!e||0===e.length)return`'${a}'`;const r=e.slice().sort(((e,t)=>(void 0===e.thresholdMin?-1e12:e.thresholdMin)-(void 0===t.thresholdMin?-1e12:t.thresholdMin))),i=[];i.push(`(datum.${t} < ${void 0===r[0].thresholdMin?-1e12:r[0].thresholdMin}) ? '${a}' : `);for(let e=0;e<r.length-1;e++){const a=void 0===r[e+1].thresholdMin?-1e12:r[e+1].thresholdMin;i.push(`(datum.${t} < ${a}) ? '${r[e].fill}' : `)}return i.push(`'${null===(n=r.at(-1))||void 0===n?void 0:n.fill}'`),i.join("")}const ei=U(((e,t)=>{var a,n,r,i,o,s,l;const c="column"===t.direction?"y":"x",u="column"===t.direction?"width":"bulletGroupWidth",d={name:"bulletGroup",type:"group",from:{facet:{data:"table",name:"bulletGroups",groupby:`${t.dimension}`}},encode:{update:{[c]:{scale:"groupScale",field:`${t.dimension}`},height:{signal:"bulletGroupHeight"},width:{signal:u}}},marks:[]},m=t.thresholds;Array.isArray(m)&&m.length>0?(d.data=[{name:"thresholds",values:m,transform:[{type:"identifier",as:"id"}]}],null===(a=d.marks)||void 0===a||a.push(function(e){const t="bulletGroupHeight - 3 - bulletThresholdHeight",a=e.showTarget&&e.showTargetValue?`${t} - targetValueLabelHeight`:t;return{name:`${e.name}Threshold`,description:`${e.name}Threshold`,type:"rect",from:{data:"thresholds"},clip:!0,encode:{enter:{cornerRadiusTopLeft:[{test:"!isDefined(datum.thresholdMin) && domain('xscale')[0] !== 0",value:3}],cornerRadiusBottomLeft:[{test:"!isDefined(datum.thresholdMin) && domain('xscale')[0] !== 0",value:3}],cornerRadiusTopRight:[{test:"!isDefined(datum.thresholdMax) && domain('xscale')[1] !== 0",value:3}],cornerRadiusBottomRight:[{test:"!isDefined(datum.thresholdMax) && domain('xscale')[1] !== 0",value:3}],fill:{field:"fill"},fillOpacity:{value:.2}},update:{x:{signal:"isDefined(datum.thresholdMin) ? scale('xscale', datum.thresholdMin) : 0"},x2:{signal:"isDefined(datum.thresholdMax) ? scale('xscale', datum.thresholdMax) : width"},height:{signal:"bulletThresholdHeight"},y:{signal:a}}}}}(t))):t.track&&(null===(n=d.marks)||void 0===n||n.push(function(e){const t=(0,W.getColorValue)("gray-200",e.colorScheme),a="column"===e.direction?"width":"bulletGroupWidth",n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - 3 - 2 * bulletHeight - 20":"bulletGroupHeight - 3 - 2 * bulletHeight";return{name:`${e.name}Track`,description:`${e.name}Track`,type:"rect",from:{data:"bulletGroups"},encode:{enter:{fill:{value:t},cornerRadiusTopRight:[{test:"domain('xscale')[1] !== 0",value:3}],cornerRadiusBottomRight:[{test:"domain('xscale')[1] !== 0",value:3}],cornerRadiusTopLeft:[{test:"domain('xscale')[0] !== 0",value:3}],cornerRadiusBottomLeft:[{test:"domain('xscale')[0] !== 0",value:3}]},update:{x:{value:0},width:{signal:a},height:{signal:"bulletHeight"},y:{signal:n}}}}}(t))),null===(r=d.marks)||void 0===r||r.push(function(e){var t,a;const n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight - 3 - 2 * bulletHeight":"bulletGroupHeight - 3 - 2 * bulletHeight",r=e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0?[{field:"barColor"}]:[{value:e.color}];return{name:`${e.name}Rect`,description:`${e.name}Rect`,type:"rect",from:{data:"bulletGroups"},encode:{enter:{cornerRadiusTopLeft:[{test:`datum.${e.metric} < 0`,value:3}],cornerRadiusBottomLeft:[{test:`datum.${e.metric} < 0`,value:3}],cornerRadiusTopRight:[{test:`datum.${e.metric} > 0`,value:3}],cornerRadiusBottomRight:[{test:`datum.${e.metric} > 0`,value:3}],fill:r},update:{x:{scale:"xscale",value:0},x2:{scale:"xscale",field:`${e.metric}`},height:{signal:"bulletHeight"},y:{signal:n}}}}}(t)),t.target&&!1!==t.showTarget&&(null===(i=d.marks)||void 0===i||i.push(function(e){const t=(0,W.getColorValue)("gray-900",e.colorScheme),a=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight - targetHeight":"bulletGroupHeight - targetHeight",n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight":"bulletGroupHeight";return{name:`${e.name}Target`,description:`${e.name}Target`,type:"rule",from:{data:"bulletGroups"},encode:{enter:{stroke:{value:`${t}`},strokeWidth:{value:2}},update:{x:{scale:"xscale",field:`${e.target}`},y:{signal:a},y2:{signal:n}}}}}(t)),t.showTargetValue&&(null===(o=d.marks)||void 0===o||o.push(function(e){const t=(0,W.getColorValue)("gray-900",e.colorScheme);return{name:`${e.name}TargetValueLabel`,description:`${e.name}TargetValueLabel`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.target} != null ? 'Target: ' + format(datum.${e.target}, '$,.2f') : 'No Target'`},align:{value:"center"},baseline:{value:"top"},fill:{value:`${t}`}},update:{x:{scale:"xscale",field:`${e.target}`},y:{signal:"bulletGroupHeight - targetValueLabelHeight + 6"}}}}}(t)))),"top"!==t.labelPosition&&"row"!==t.direction||(null===(s=d.marks)||void 0===s||s.push(function(e){const t=(0,W.getColorValue)("gray-600",e.colorScheme);return{name:`${e.name}Label`,description:`${e.name}Label`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.dimension}`},align:{value:"left"},baseline:{value:"top"},fill:{value:`${t}`}},update:{x:{value:0},y:{value:0}}}}}(t)),null===(l=d.marks)||void 0===l||l.push(function(e){var t,a;const n=(0,W.getColorValue)(e.color,e.colorScheme),r=(0,W.getColorValue)("gray-900",e.colorScheme),i="column"===e.direction?"width":"bulletGroupWidth",o=e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0?`datum.barColor === '${n}' ? '${r}' : datum.barColor`:`'${r}'`;return{name:`${e.name}ValueLabel`,description:`${e.name}ValueLabel`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.metric} != null ? format(datum.${e.metric}, '${e.numberFormat||""}') : ''`},align:{value:"right"},baseline:{value:"top"},fill:{signal:o}},update:{x:{signal:i},y:{value:0}}}}}(t))),e.push(d)})),ti=U(((e,t)=>{if(t.metricAxis&&"column"===t.direction&&!t.showTargetValue&&e.push({labelOffset:2,scale:"xscale",orient:"bottom",ticks:!1,labelColor:"gray",domain:!1,tickCount:5,offset:{signal:"axisOffset"}}),"side"===t.labelPosition&&"column"===t.direction){const a=t.showTargetValue&&t.showTarget?-8:2;e.push(function(e){return{scale:"groupScale",orient:"left",tickSize:0,labelOffset:e,labelPadding:10,labelColor:"#797979",domain:!1}}(a),function(e,t){return{scale:"groupScale",orient:"right",tickSize:0,labelOffset:t,labelPadding:10,domain:!1,encode:{labels:{update:{text:{signal:`info(data('table')[datum.index * (length(data('table')) - 1)].${e.metric}) != null ? format(info(data('table')[datum.index * (length(data('table')) - 1)].${e.metric}), '${e.numberFormat||""}') : ''`}}}}}}(t,a))}}));const ai=W.spectrumColors.light["static-blue"],ni=U(((e,t)=>{var a,n,r,i,o,{colorScheme:s=V.DEFAULT_COLOR_SCHEME,index:l=0,name:c,metric:u,dimension:d,target:m,color:p=ai,direction:h=V.DEFAULT_BULLET_DIRECTION,numberFormat:g,showTarget:f=!0,showTargetValue:y=!1,labelPosition:E=V.DEFAULT_LABEL_POSITION,scaleType:v=V.DEFAULT_SCALE_TYPE,maxScaleValue:b=V.DEFAULT_SCALE_VALUE,thresholds:_=[],track:S=!1,thresholdBarColor:O=!1,metricAxis:T=!1}=t,$=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["colorScheme","index","name","metric","dimension","target","color","direction","numberFormat","showTarget","showTargetValue","labelPosition","scaleType","maxScaleValue","thresholds","track","thresholdBarColor","metricAxis"]);const x=Object.assign({colorScheme:s,index:l,color:(0,W.getColorValue)(p,s),metric:null!=u?u:"currentAmount",dimension:null!=d?d:"graphLabel",target:null!=m?m:"target",name:(0,J.toCamelCase)(null!=c?c:`bullet${l}`),direction:h,numberFormat:null!=g?g:"",showTarget:f,showTargetValue:y,labelPosition:E,scaleType:v,maxScaleValue:b,track:S,thresholds:_,thresholdBarColor:O,metricAxis:T},$);e.data=si(null!==(a=e.data)&&void 0!==a?a:[],x),e.marks=ei(null!==(n=e.marks)&&void 0!==n?n:[],x),e.scales=ri(null!==(r=e.scales)&&void 0!==r?r:[],x),e.signals=ii(null!==(i=e.signals)&&void 0!==i?i:[],x),e.axes=ti(null!==(o=e.axes)&&void 0!==o?o:[],x)})),ri=U(((e,t)=>{const a="column"===t.direction?"bulletChartHeight":"width",n="column"===t.direction?"width":[0,{signal:"bulletGroupWidth"}];let r;r="flexible"===t.scaleType&&t.maxScaleValue>0?{data:"table",fields:["xPaddingForTarget",t.metric,"flexibleScaleValue"]}:"fixed"===t.scaleType&&t.maxScaleValue>0?[0,`${t.maxScaleValue}`]:{data:"table",fields:["xPaddingForTarget",t.metric]},e.push({name:"groupScale",type:"band",domain:{data:"table",field:t.dimension},range:[0,{signal:a}],paddingInner:{signal:"paddingRatio"}},{name:"xscale",type:"linear",domain:r,range:n,round:!0,clamp:!0,zero:!0})})),ii=U(((e,t)=>{e.push({name:"gap",value:12},{name:"bulletHeight",value:8},{name:"bulletThresholdHeight",update:"bulletHeight * 3"},{name:"targetHeight",update:"bulletThresholdHeight + 6"}),t.showTargetValue&&t.showTarget&&e.push({name:"targetValueLabelHeight",update:"20"}),e.push({name:"bulletGroupHeight",update:oi(t)}),"column"===t.direction?(e.push({name:"paddingRatio",update:"gap / (gap + bulletGroupHeight)"}),t.metricAxis&&!t.showTargetValue?e.push({name:"bulletChartHeight",update:"length(data('table')) * bulletGroupHeight + (length(data('table')) - 1) * gap + 10"},{name:"axisOffset",update:"bulletChartHeight - height - 10"}):e.push({name:"bulletChartHeight",update:"length(data('table')) * bulletGroupHeight + (length(data('table')) - 1) * gap"})):e.push({name:"bulletGroupWidth",update:"(width / length(data('table'))) - gap"},{name:"paddingRatio",update:"gap / (gap + bulletGroupWidth)"},{name:"bulletChartHeight",update:"bulletGroupHeight"})}));function oi(e){return e.showTargetValue&&e.showTarget?"side"===e.labelPosition&&"column"===e.direction?"bulletThresholdHeight + targetValueLabelHeight + 10":"bulletThresholdHeight + targetValueLabelHeight + 24":"side"===e.labelPosition&&"column"===e.direction?"bulletThresholdHeight + 10":"bulletThresholdHeight + 24"}const si=U(((e,t)=>{const a=(e=>{let t=X(e);return t||(t={name:V.TABLE,values:[],transform:[]},e.push(t)),t})(e);a.transform=(e=>{var t,a,n;const r=[{type:"formula",expr:`isValid(datum.${e.target}) ? round(datum.${e.target} * 1.05) : 0`,as:"xPaddingForTarget"}];return"flexible"===e.scaleType&&r.push({type:"formula",expr:`${e.maxScaleValue}`,as:"flexibleScaleValue"}),e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0&&r.push({type:"formula",expr:Qr(null!==(n=e.thresholds)&&void 0!==n?n:[],e.metric,e.color),as:"barColor"}),r})(t)}));const li=e=>e.metricRanges.map(((t,a)=>ci(t,e.name,a))),ci=(e,t,a)=>{var{chartTooltips:n=[],lineType:r="dashed",lineWidth:i="S",rangeOpacity:o=.2,metric:s=V.DEFAULT_METRIC,displayOnHover:l=!1}=e,c=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["chartTooltips","lineType","lineWidth","rangeOpacity","metric","displayOnHover"]);return Object.assign({chartTooltips:n,lineType:r,lineWidth:i,name:`${t}MetricRange${a}`,rangeOpacity:o,metric:s,displayOnHover:l},c)},ui=(e,t)=>{const a={name:`${t.name}_area`,color:e.color,colorScheme:e.colorScheme,opacity:t.rangeOpacity,metricStart:t.metricStart,metricEnd:t.metricEnd,isStacked:!1,scaleType:"time",dimension:e.dimension,isMetricRange:!0,parentName:e.name,displayOnHover:t.displayOnHover,interactiveMarkName:e.interactiveMarkName},n=Object.assign(Object.assign({},e),{name:`${t.name}_line`,color:t.color?{value:t.color}:e.color,metric:t.metric,lineType:{value:t.lineType},lineWidth:{value:t.lineWidth},displayOnHover:t.displayOnHover}),r=`${t.name}_facet`;return[Cn(n,r),mt(a,r)]},di=(e,t)=>{if(e.length)return t};const mi=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l={value:"categorical-100"},colorScheme:c=V.DEFAULT_COLOR_SCHEME,dimension:u=V.DEFAULT_TIME_DIMENSION,hasOnClick:d=!1,index:m=0,lineType:p={value:"solid"},metric:h=V.DEFAULT_METRIC,metricAxis:g,metricRanges:f=[],name:y,opacity:E={value:1},scaleType:v="time",trendlines:b=[]}=t,_=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","dimension","hasOnClick","index","lineType","metric","metricAxis","metricRanges","name","opacity","scaleType","trendlines"]);const S=(0,J.toCamelCase)(y||`line${m}`),O=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScheme:c,dimension:u,hasOnClick:d,index:m,interactiveMarkName:qe({chartPopovers:o,chartTooltips:s,hasOnClick:d,highlightedItem:_.highlightedItem,metricRanges:f,trendlines:b},S),lineType:p,metric:h,metricAxis:g,metricRanges:f,name:S,opacity:E,popoverMarkName:di(o,S),scaleType:v,trendlines:b},_);return O.isHighlightedByGroup=nt(O),e.usermeta=ge(e.usermeta,O.interactiveMarkName),e.data=pi(null!==(a=e.data)&&void 0!==a?a:[],O),e.signals=hi(null!==(n=e.signals)&&void 0!==n?n:[],O),e.scales=gi(null!==(r=e.scales)&&void 0!==r?r:[],O),e.marks=fi(null!==(i=e.marks)&&void 0!==i?i:[],O),e})),pi=U(((e,t)=>{var a;const{chartTooltips:n,dimension:r,highlightedItem:i,isSparkline:o,isMethodLast:s,name:l,scaleType:c,staticPoint:u}=t;if("time"===c){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],r)}(Ce(t)||void 0!==i)&&e.push((e=>{const{name:t,idKey:a}=e;let n=`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${a}) > -1`;if(Ce(e)){const r=`${t}_${V.HOVERED_ITEM}`,i=`${t}_${V.GROUP_ID}`;nt(e)?n+=` || isValid(${r}) && ${r}.${i} === datum.${i}`:n+=` || isValid(${r}) && ${r}.${a} === datum.${a}`,Ne(e)&&(n=`${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${a} || !${V.SELECTED_ITEM} && ${n}`)}return{name:`${t}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:n}]}})(t),Q(n)),(u||o)&&e.push(((e,t,a,n,r)=>({name:`${e}_staticPointData`,source:a,transform:[{type:"filter",expr:n&&r?"datum === data('table')[data('table').length - 1]":`datum.${t} === true`}]}))(l,u,V.FILTERED_TABLE,o,s)),un(e,t),et(e,t,!1),Ha(e,t),e.push(...(e=>{const t=[],a=li(e);for(const n of a){const{displayOnHover:a,name:r}=n;if(a){const a=`isValid(${e.interactiveMarkName}_${V.HOVERED_ITEM}) && ${e.interactiveMarkName}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID}`,n=`isValid(${V.SELECTED_SERIES}) && ${V.SELECTED_SERIES} === datum.${V.SERIES_ID}`,i=`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'),'${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1`,o=`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES}) && ${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID}`;t.push({name:`${r}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:[a,n,i,o].join(" || ")}]})}}return t})(t))})),hi=U(((e,t)=>{const{name:a}=t;sr(e,t),Ce(t)&&(dt(e,a,`${a}_voronoi`,2),Ei(e,t),rt(e,t))})),gi=U(((e,t)=>{const{metricAxis:a,dimension:n,color:r,lineType:i,opacity:o,padding:s,scaleType:l}=t;return ve(e,{scaleType:l,dimension:n,padding:s}),Se(e,V.COLOR_SCALE,r),Se(e,V.LINE_TYPE_SCALE,i),Se(e,V.OPACITY_SCALE,o),_e(e,yi(t)),a&&_e(e,yi(t),"y",a),e.push(...or(t)),e})),fi=U(((e,t)=>{const{color:a,highlightedItem:n,isSparkline:r,lineType:i,name:o,opacity:s,staticPoint:l}=t,{facets:c}=te({color:a,lineType:i,opacity:s});e.push({name:`${o}_group`,type:"group",from:{facet:{name:`${o}_facet`,data:V.FILTERED_TABLE,groupby:c}},marks:[Cn(t,`${o}_facet`)]}),(l||r)&&e.push((({name:e,metric:t,metricAxis:a,color:n,colorScheme:r,scaleType:i,dimension:o,isSparkline:s,pointSize:l=125})=>({name:`${e}_staticPoints`,description:`${e}_staticPoints`,type:"symbol",from:{data:`${e}_staticPointData`},interactive:!1,encode:{enter:{size:{value:l},fill:s?{signal:V.BACKGROUND_COLOR}:ke(n,r),stroke:s?ke(n,r):{signal:V.BACKGROUND_COLOR},y:Be(a,t)},update:{x:ze(i,o)}}}))(t)),e.push(...(e=>{const{color:t,lineType:a}=e,{facets:n}=te({color:t,lineType:a}),r=[],i=li(e);for(const t of i){const{displayOnHover:a,name:i}=t,o=a?`${i}_highlightedData`:V.FILTERED_TABLE;r.push({name:`${i}_group`,type:"group",clip:!0,from:{facet:{name:`${i}_facet`,data:o,groupby:n}},marks:ui(e,t)})}return r})(t)),(Ce(t)||void 0!==n)&&e.push(...jn(t,`${V.FILTERED_TABLE}ForTooltip`)),e.push(...Yn(t))})),yi=e=>{const t=[e.metric];return li(e).forEach((e=>{e.scaleAxisToFit&&t.push(e.metricStart,e.metricEnd)})),t},Ei=(e,t)=>{const{interactionMode:a,name:n}=t;if(a===V.INTERACTION_MODE.ITEM)for(const t of Ye(n))dt(e,n,t)},vi=U(((e,{colorScheme:t=V.DEFAULT_COLOR_SCHEME,highlightedItem:a,idKey:n,index:r=0,name:i,marks:o=[],dimension:s=V.DEFAULT_TIME_DIMENSION})=>{let{barCount:l,lineCount:c}=bi();const u=(0,J.toCamelCase)(i||`combo${r}`),d=o.map((e=>{switch(e.markType){case"bar":return l++,_i(e,u,l);case"line":return c++,_i(e,u,c);default:return""}}));return l=-1,c=-1,e=[...o].reduce(((e,r,i)=>{let o;const u=d.filter(((e,t)=>t!==i));return"bar"===r.markType?(l++,o=d[i],Pr(e,Object.assign(Object.assign({},r),{colorScheme:t,comboSiblingNames:u,highlightedItem:a,idKey:n,index:l,name:o,dimension:Oi(r,s)}))):(c++,o=d[i],mi(e,Object.assign(Object.assign({},r),{colorScheme:t,comboSiblingNames:u,highlightedItem:a,idKey:n,index:c,name:o,dimension:Oi(r,s)})))}),e),e})),bi=()=>({barCount:-1,lineCount:-1}),_i=(e,t,a)=>{if(e.name)return e.name;const n=Si(e.markType);return(0,J.combineNames)(t,`${n}${a}`)},Si=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"",Oi=(e,t)=>{var a;return null!==(a=e.dimension)&&void 0!==a?a:t};const Ti=e=>{if(e.donutSummaries.length)return $i(e.donutSummaries[0],e)},$i=(e,t)=>{var{numberFormat:a="shortNumber"}=e,n=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["numberFormat"]);return Object.assign({donutOptions:t,numberFormat:a},n)},xi=e=>{const{donutOptions:t,label:a}=e;return{update:{x:{signal:"width / 2"},y:{signal:"height / 2"},text:Li(e),fontSize:[{test:`${V.DONUT_RADIUS} * ${t.holeRatio} < ${V.DONUT_SUMMARY_MIN_RADIUS}`,value:0},{signal:`${t.name}_summaryFontSize`}],align:{value:"center"},baseline:Ai(a),limit:Ii(e)}}},Li=({donutOptions:e,numberFormat:t})=>e.isBoolean?{signal:`format(datum['${e.metric}'], '.0%')`}:[...Gt(t,"sum"),{field:"sum"}],Ai=e=>e?{value:"alphabetic"}:{value:"middle"},Ii=({donutOptions:e,label:t})=>{const{holeRatio:a,name:n}=e,r=t?`${n}_summaryFontSize`:`${n}_summaryFontSize * 0.5`;return{signal:`2 * sqrt(pow(${V.DONUT_RADIUS} * ${a}, 2) - pow(${r}, 2))`}},Di=({donutOptions:e,label:t})=>({update:{x:{signal:"width / 2"},y:{signal:"height / 2"},dy:{signal:`ceil(${e.name}_summaryFontSize * 0.25)`},text:{value:t},fontSize:[{test:`${V.DONUT_RADIUS} * ${e.holeRatio} < ${V.DONUT_SUMMARY_MIN_RADIUS}`,value:0},{signal:`ceil(${e.name}_summaryFontSize * 0.5)`}],align:{value:"center"},baseline:{value:"top"},limit:{signal:`2 * sqrt(pow(${V.DONUT_RADIUS} * ${e.holeRatio}, 2) - pow(${e.name}_summaryFontSize * 0.75, 2))`}}});const Ri=(e,t)=>{var{percent:a=!1,value:n=!1,valueFormat:r="standardNumber"}=e,i=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["percent","value","valueFormat"]);return Object.assign({donutOptions:t,percent:a,value:n,valueFormat:r},i)},Mi=({labelKey:e,value:t,percent:a,donutOptions:n})=>{const{name:r,color:i}=n;return{type:"text",name:`${r}_segmentLabel`,from:{data:V.FILTERED_TABLE},encode:{enter:Object.assign(Object.assign({},Ni(r)),{text:{field:null!=e?e:i},fontWeight:{value:"bold"},dy:t||a?{signal:`datum['${r}_arcTheta'] <= 0.5 * PI || datum['${r}_arcTheta'] >= 1.5 * PI ? -16 : 0`}:void 0}),update:ji}}},Ci=e=>{if(!e.value&&!e.percent)return[];const{donutOptions:t}=e;return[{type:"text",name:`${t.name}_segmentLabelValue`,from:{data:V.FILTERED_TABLE},encode:{enter:Object.assign(Object.assign({},Ni(t.name)),{text:ki(e),dy:{signal:`datum['${t.name}_arcTheta'] <= 0.5 * PI || datum['${t.name}_arcTheta'] >= 1.5 * PI ? 0 : 16`}}),update:ji}}]},Ni=e=>({radius:{signal:`${V.DONUT_RADIUS} + 6`},theta:{field:`${e}_arcTheta`},fontSize:Fi(e),align:{signal:`datum['${e}_arcTheta'] <= PI ? 'left' : 'right'`},baseline:{signal:`datum['${e}_arcTheta'] <= 0.5 * PI || datum['${e}_arcTheta'] >= 1.5 * PI ? 'bottom' : 'top'`}}),ji={x:{signal:"width / 2"},y:{signal:"height / 2"}},ki=({donutOptions:e,percent:t,value:a,valueFormat:n})=>{const r=`format(datum['${e.name}_arcPercent'], '.0%')`;if(a){const a=Gt(n,e.metric);return t?a.map((e=>Object.assign(Object.assign({},e),{signal:`${r} + "\\u00a0\\u00a0" + ${e.signal}`}))):a}if(t)return{signal:r}},Fi=e=>[{test:`datum['${e}_arcLength'] < ${V.DONUT_SEGMENT_LABEL_MIN_ANGLE}`,value:0},{value:14}];const Pi=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l=V.DEFAULT_COLOR,colorScheme:c=V.DEFAULT_COLOR_SCHEME,donutSummaries:u=[],index:d=0,metric:m=V.DEFAULT_METRIC,name:p,startAngle:h=0,holeRatio:g=.85,isBoolean:f=!1,segmentLabels:y=[]}=t,E=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","donutSummaries","index","metric","name","startAngle","holeRatio","isBoolean","segmentLabels"]);const v=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScheme:c,donutSummaries:u,holeRatio:g,index:d,isBoolean:f,metric:m,name:(0,J.toCamelCase)(null!=p?p:`donut${d}`),segmentLabels:y,startAngle:h},E);Ce(v)&&(e.usermeta=ge(e.usermeta,v.name)),e.data=Hi(null!==(a=e.data)&&void 0!==a?a:[],v),e.scales=zi(null!==(n=e.scales)&&void 0!==n?n:[],v),e.marks=Bi(null!==(r=e.marks)&&void 0!==r?r:[],v),e.signals=Gi(null!==(i=e.signals)&&void 0!==i?i:[],v)})),Hi=U(((e,t)=>{var a,n;const{name:r,isBoolean:i}=t,o=e.findIndex((e=>e.name===V.FILTERED_TABLE));var s;e[o].transform=null!==(a=e[o].transform)&&void 0!==a?a:[],null===(n=e[o].transform)||void 0===n||n.push(...wi(t)),i&&e.push({name:`${r}_booleanData`,source:V.FILTERED_TABLE,transform:[{type:"window",ops:["row_number"],as:[`${r}_rscRowIndex`]},{type:"filter",expr:`datum.${r}_rscRowIndex === 1`}]}),e.push(...(s=t,!Ti(s)||s.isBoolean?[]:[{name:`${s.name}_summaryData`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",fields:[s.metric],ops:["sum"],as:["sum"]}]}]))})),wi=({startAngle:e,metric:t,name:a})=>[{type:"pie",field:t,startAngle:e,endAngle:{signal:`${e} + 2 * PI`},as:[`${a}_startAngle`,`${a}_endAngle`]},{type:"formula",as:`${a}_arcTheta`,expr:`(datum['${a}_startAngle'] + datum['${a}_endAngle']) / 2`},{type:"formula",as:`${a}_arcLength`,expr:`datum['${a}_endAngle'] - datum['${a}_startAngle']`},{type:"formula",as:`${a}_arcPercent`,expr:`datum['${a}_arcLength'] / (2 * PI)`}],zi=U(((e,t)=>{const{color:a}=t;var n;Se(e,V.COLOR_SCALE,a),e.push(...(n=t,Ti(n)?[{name:`${n.name}_summaryFontSizeScale`,type:"threshold",domain:[32,36,40,45,50,60],range:[28,32,36,40,45,50,60]}]:[]))})),Bi=U(((e,t)=>{e.push((e=>{const{chartPopovers:t,chartTooltips:a,color:n,colorScheme:r,holeRatio:i,idKey:o,name:s}=e;return{type:"arc",name:s,description:s,from:{data:V.FILTERED_TABLE},encode:{enter:{fill:ke(n,r),x:{signal:"width / 2"},y:{signal:"height / 2"},tooltip:Re(a,s),stroke:{value:(0,W.getColorValue)("static-blue",r)}},update:{startAngle:{field:`${s}_startAngle`},endAngle:{field:`${s}_endAngle`},padAngle:{value:.01},innerRadius:{signal:`${i} * ${V.DONUT_RADIUS}`},outerRadius:{signal:V.DONUT_RADIUS},opacity:Xe(e),cursor:De(t),strokeWidth:[{test:`${V.SELECTED_ITEM} === datum.${o}`,value:2},{value:0}]}}}})(t),...(e=>{const t=Ti(e);if(!t)return[];const a=[];return e.isBoolean?a.push((e=>{var t;const{donutOptions:a,label:n}=e,r={type:"group",name:`${a.name}_percentText`,marks:[{type:"text",name:`${a.name}_booleanSummaryValue`,from:{data:`${a.name}_booleanData`},encode:xi(e)}]};return n&&(null===(t=r.marks)||void 0===t||t.push({type:"text",name:`${a.name}_booleanSummaryLabel`,from:{data:`${a.name}_booleanData`},encode:Di(Object.assign(Object.assign({},e),{label:n}))})),r})(t)):a.push((e=>{var t;const{donutOptions:a,label:n}=e,r={type:"group",name:`${a.name}_summaryGroup`,marks:[{type:"text",name:`${a.name}_summaryValue`,from:{data:`${a.name}_summaryData`},encode:xi(e)}]};return n&&(null===(t=r.marks)||void 0===t||t.push({type:"text",name:`${a.name}_summaryLabel`,from:{data:`${a.name}_summaryData`},encode:Di(Object.assign(Object.assign({},e),{label:n}))})),r})(t)),a})(t),...(e=>{const{isBoolean:t,name:a}=e;if(t)return[];const n=(e=>{if(e.segmentLabels.length)return Ri(e.segmentLabels[0],e)})(e);return n?[{name:`${a}_segmentLabelGroup`,type:"group",marks:[Mi(n),...Ci(n)]}]:[]})(t))})),Gi=U(((e,t)=>{var a;const{chartTooltips:n,name:r}=t;e.push(...(e=>{if(!Ti(e))return[];const{name:t,holeRatio:a}=e;return[{name:`${t}_summaryFontSize`,update:`scale('${t}_summaryFontSizeScale', ${V.DONUT_RADIUS} * ${a} * ${V.DONUT_SUMMARY_FONT_SIZE_RATIO})`}]})(t)),Ce(t)&&dt(e,r,void 0,1,null===(a=n[0])||void 0===a?void 0:a.excludeDataKeys)})),Ui=(e,t,a,n=!1)=>{t.length&&Yi(t).filter(Wi).forEach((t=>{t.encode||(t.encode={update:{}}),t.encode.update||(t.encode.update={});const{update:r}=t.encode,{opacity:i}=r;if(void 0!==i){const t=Vi(e,n,a);Array.isArray(r.opacity)||(r.opacity=[]);const i=Math.max(r.opacity.length-1,0);r.opacity.splice(i,0,t)}}))},Vi=(e,t,a)=>t?{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}:(null==a?void 0:a.length)?{test:`isValid(${V.HIGHLIGHTED_GROUP})`,signal:`${V.HIGHLIGHTED_GROUP} === datum.${e}_${V.GROUP_ID} ? 1 : ${V.FADE_FACTOR}`}:{test:`isValid(${e}_${V.HOVERED_SERIES})`,signal:`${e}_${V.HOVERED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},Wi=e=>{var t;const a=null===(t=e.encode)||void 0===t?void 0:t.enter;if(!a)return!1;const{fill:n,fillOpacity:r,stroke:i,strokeDash:o,strokeOpacity:s}=a,l=[n,r,i,o,s];for(const e of l)if(Ji(e))return!0;return!1},Ji=e=>!!(e&&"object"==typeof e&&("scale"in e||"signal"in e&&"string"==typeof e.signal&&e.signal.includes("scale("))),Yi=e=>{let t=e;for(const a of e)Ki(a)&&a.marks&&(t=[...t,...Yi(a.marks)]);return t},Ki=e=>"group"===e.type,Xi=new Set([V.COLOR_SCALE,V.LINE_TYPE_SCALE,V.LINEAR_COLOR_SCALE,V.OPACITY_SCALE,"secondaryColor","secondaryLineType","secondaryOpacity","secondarySymbolShape",V.SYMBOL_SHAPE_SCALE,V.SYMBOL_SIZE_SCALE]),qi=(e,t)=>e.domain.fields.some((e=>t.includes(e.toString()))),Zi=e=>Boolean("domain"in e&&e.domain&&"fields"in e.domain),Qi=(e,t)=>{if(!["left","right"].includes(e))return void 0!==t&&t>0?{signal:`max(1, floor(width / ${t+(V.DEFAULT_LEGEND_SYMBOL_WIDTH+V.DEFAULT_LEGEND_COLUMN_PADDING)}))`}:{signal:"floor(width / 220)"}},eo=(e,t)=>e.length?[{type:"filter",expr:`indexof(${JSON.stringify(e)}, datum.${t}Entries) === -1`}]:[],to=(e,t,a)=>{const n=oo(e,t),r=no(t,a),i=ao(t.name,t.legendLabels),o=co(t),s=uo(t);return mo([n,i,r,o,s])},ao=(e,t)=>t?{labels:{update:{text:[{test:`indexof(pluck(${e}_labels, 'seriesName'), datum.value) > -1`,signal:`${e}_labels[indexof(pluck(${e}_labels, 'seriesName'), datum.value)].label`},{signal:"datum.value"}]}}}:{},no=(e,t)=>{var a;const{highlight:n,highlightedSeries:r,name:i,hasMouseInteraction:o,descriptions:s,chartPopovers:l}=e;return n||r||s||(null==l?void 0:l.length)||(null===(a=t.interactiveMarks)||void 0===a?void 0:a.length)?{entries:{name:`${i}_legendEntry`,interactive:!0,enter:{tooltip:ro(s,i)},update:{fill:{value:"transparent"}}},labels:{update:{opacity:io(e,t)}},symbols:{update:{opacity:io(e,t)}}}:o?{entries:{name:`${i}_legendEntry`,interactive:!0,enter:{fill:{value:"transparent"}}}}:{}},ro=(e,t)=>{if(null==e?void 0:e.length)return{signal:`merge(datum, {'${V.COMPONENT_NAME}': '${t}'})`}},io=({highlight:e,highlightedItem:t,highlightedSeries:a,keys:n,chartPopovers:r,name:i},o)=>{const s=(null==n?void 0:n.length)?V.HIGHLIGHTED_GROUP:V.CONTROLLED_HIGHLIGHTED_SERIES,l=(null==n?void 0:n.length)?V.SELECTED_GROUP:V.SELECTED_SERIES,c=[];(null==r?void 0:r.length)&&c.push({test:`isValid(${l})`,signal:`${l} === datum.value ? 1 : ${V.FADE_FACTOR}`}),e&&c.push({test:`isValid(${i}_${V.HOVERED_SERIES})`,signal:`${i}_${V.HOVERED_SERIES} === datum.value ? 1 : ${V.FADE_FACTOR}`}),t&&c.push({test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`}),a&&c.push({test:`isValid(${s})`,signal:`${s} === datum.value ? 1 : ${V.FADE_FACTOR}`});for(const e of o.interactiveMarks||[])c.push({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.value ? 1 : ${V.FADE_FACTOR}`});if(c.length)return[...c,V.DEFAULT_OPACITY_RULE]},oo=(e,t)=>{var a,n;const{color:r,lineType:i,lineWidth:o,name:s,opacity:l,symbolShape:c,colorScheme:u}=t,d={fillOpacity:so({facets:e,facetType:V.OPACITY_SCALE,customValue:l,name:s}),shape:so({facets:e,facetType:V.SYMBOL_SHAPE_SCALE,customValue:c,name:s}),size:so({facets:e,facetType:V.SYMBOL_SIZE_SCALE,name:s}),strokeDash:so({facets:e,facetType:V.LINE_TYPE_SCALE,customValue:i,name:s}),strokeWidth:so({facets:e,facetType:V.LINE_WIDTH_SCALE,customValue:o,name:s})},m={fill:[...lo(t,"gray-300"),null!==(a=so({facets:e,facetType:V.COLOR_SCALE,customValue:r,name:s}))&&void 0!==a?a:{value:W.spectrumColors[u]["categorical-100"]}],stroke:[...lo(t,"gray-300"),null!==(n=so({facets:e,facetType:V.COLOR_SCALE,customValue:r,name:s}))&&void 0!==n?n:{value:W.spectrumColors[u]["categorical-100"]}]};return{entries:{name:`${s}_legendEntry`},symbols:JSON.parse(JSON.stringify({enter:d,update:m}))}},so=({customValue:e,facets:t,facetType:a,name:n})=>{if(e)return"string"==typeof e?{signal:`scale('${a}', data('${n}Aggregate')[datum.index].${e})`}:{value:e.value};if(!t)return;const r={color:{scale:"secondaryColor",signal:"colors"},linearColor:{scale:"secondaryColor",signal:"colors"},lineType:{scale:"secondaryLineType",signal:"lineTypes"},lineWidth:{scale:"secondaryLineWidth",signal:"lineWidths"},opacity:{scale:"secondaryOpacity",signal:"opacities"},symbolShape:{scale:"secondarySymbolShape",signal:"symbolShapes"},symbolSize:{scale:"secondarySymbolSize",signal:"symbolSizes"},symbolPathWidth:{scale:"secondarySymbolPathWidth",signal:"symbolPathWidths"}},i=t.find((e=>e.facetType===a));if(!i)return;const o=t.find((e=>e.facetType===r[a].scale));if(o){const{scale:e,signal:t}=r[a];return{signal:`scale('${t}', data('${n}Aggregate')[datum.index].${i.field})[indexof(domain('${e}'), data('${n}Aggregate')[datum.index].${o.field})% length(scale('${t}', data('${n}Aggregate')[datum.index].${i.field}))]`}}return{signal:`scale('${a}', data('${n}Aggregate')[datum.index].${i.field})`}},lo=({colorScheme:e,hiddenSeries:t,isToggleable:a,keys:n,name:r},i)=>a||t.length?(null==n?void 0:n.length)?[{test:`indexof(pluck(data('${V.FILTERED_TABLE}'), '${r}_${V.GROUP_ID}'), datum.value) === -1`,value:(0,W.getColorValue)(i,e)}]:[{test:"indexof(hiddenSeries, datum.value) !== -1",value:(0,W.getColorValue)(i,e)}]:[],co=e=>{const{colorScheme:t}=e;return{labels:{update:{fill:[...lo(e,"gray-500"),{value:(0,W.getColorValue)("gray-700",t)}]}}}},uo=e=>{const{isToggleable:t,keys:a,name:n,hasOnClick:r,chartPopovers:i}=e;let o={};return(t&&!a||r||(null==i?void 0:i.length))&&(o={entries:{name:`${n}_legendEntry`,interactive:!0,enter:{fill:{value:"transparent"},cursor:{value:"pointer"}}}}),o},mo=e=>{let t={};for(const a of e)t=xt()(t,a);return t},po=e=>e&&"object"==typeof e&&"value"in e?ie(e.value):"circle";const ho=U(((e,t)=>{var a,n,r,i,o,s,{color:l,hasMouseInteraction:c=!1,hasOnClick:u=!1,hiddenEntries:d=[],hiddenSeries:m=[],highlight:p=!1,index:h=0,isToggleable:g=!1,lineType:f,lineWidth:y,position:E="bottom",symbolShape:v,colorScheme:b=V.DEFAULT_COLOR_SCHEME}=t,_=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["color","hasMouseInteraction","hasOnClick","hiddenEntries","hiddenSeries","highlight","index","isToggleable","lineType","lineWidth","position","symbolShape","colorScheme"]);const{formattedColor:S,formattedLineType:O,formattedLineWidth:T,formattedSymbolShape:$}=go(l,f,y,v,b),x=`legend${h}`,L=Object.assign({color:S,hasMouseInteraction:c,hasOnClick:u,hiddenEntries:d,hiddenSeries:m,highlight:p,index:h,isToggleable:g,lineType:O,lineWidth:T,name:x,position:E,symbolShape:$,colorScheme:b},_);e.scales=vo(null!==(a=e.scales)&&void 0!==a?a:[],L);const{ordinalFacets:A,continuousFacets:I}=_.keys?((e,t)=>{var a,n;const r=[],i=[];for(const o of t)Zi(o)&&qi(o,e)&&("ordinal"===o.type||"point"===o.type?r.push({facetType:o.name,field:null===(a=o.domain.fields.find((t=>e.includes(t.toString()))))||void 0===a?void 0:a.toString()}):i.push({facetType:o.name,field:null===(n=o.domain.fields.find((t=>e.includes(t.toString()))))||void 0===n?void 0:n.toString()}));return{ordinalFacets:r,continuousFacets:i}})(_.keys,null!==(n=e.scales)&&void 0!==n?n:[]):(e=>{const t=[],a=[];for(const n of e)Xi.has(n.name)&&Zi(n)&&n.domain.fields.length&&("ordinal"===n.type||"point"===n.type?t.push({facetType:n.name,field:n.domain.fields[0].toString()}):a.push({facetType:n.name,field:n.domain.fields[0].toString()}));return{ordinalFacets:t,continuousFacets:a}})(null!==(r=e.scales)&&void 0!==r?r:[]),D=[];if(A.length){e.scales.push({name:`${x}Entries`,type:"ordinal",domain:{data:`${x}Aggregate`,field:`${x}Entries`}});const t=[...new Set(A.map((e=>e.field)))];e.data=_o(null!==(i=e.data)&&void 0!==i?i:[],Object.assign(Object.assign({},L),{facets:t})),e.signals=So(null!==(o=e.signals)&&void 0!==o?o:[],L),e.marks=bo(null!==(s=e.marks)&&void 0!==s?s:[],L),D.push(fo(A,L,e.usermeta))}for(const e of I)D.push(yo(e,L));void 0===e.legends&&(e.legends=[]),e.legends.push(...D)})),go=(e,t,a,n,r)=>{let i,o,s,l;return i=e&&"object"==typeof e?{value:(0,W.getColorValue)(e.value,r)}:e,o=t&&"object"==typeof t?{value:ne(t.value)}:t,s=a&&"object"==typeof a?{value:re(a.value)}:a,l=n&&"object"==typeof n?{value:ie(n.value)}:n,{formattedColor:i,formattedLineType:o,formattedLineWidth:s,formattedSymbolShape:l}},fo=(e,t,a)=>{const{name:n,position:r,title:i,labelLimit:o,titleLimit:s}=t,l={fill:`${n}Entries`,direction:["top","bottom"].includes(r)?"horizontal":"vertical",orient:r,title:i,encode:to(e,t,a),columns:Qi(r,o),labelLimit:o};return void 0!==s&&(l.titleLimit=s),l},yo=(e,t)=>{const{symbolShape:a}=t;return e.facetType===V.SYMBOL_SIZE_SCALE?Object.assign(Object.assign({size:V.SYMBOL_SIZE_SCALE},Eo(t)),{symbolType:po(a)}):Object.assign({fill:V.LINEAR_COLOR_SCALE,gradientThickness:10},Eo(t))},Eo=({position:e,title:t,titleLimit:a})=>{const n={direction:["top","bottom"].includes(e)?"horizontal":"vertical",orient:e,title:t};return void 0!==a&&(n.titleLimit=a),n},vo=U(((e,{color:t,lineType:a,opacity:n,symbolShape:r})=>{Se(e,V.COLOR_SCALE,t),Se(e,V.LINE_TYPE_SCALE,a),Se(e,V.OPACITY_SCALE,n),Se(e,V.SYMBOL_SHAPE_SCALE,r)})),bo=U(((e,{highlight:t,keys:a,name:n})=>{t&&Ui(n,e,a)})),_o=U(((e,{facets:t,hiddenEntries:a,keys:n,name:r})=>{var i;const o=t.map((e=>`datum.${e}`)).join(' + " | " + ');if(e.push({name:`${r}Aggregate`,source:"table",transform:[{type:"aggregate",groupby:t},{type:"formula",as:`${r}Entries`,expr:o},...eo(a,r)]}),null==n?void 0:n.length){const t=X(e);t.transform||(t.transform=[]),t.transform.push({type:"formula",as:`${r}_${V.GROUP_ID}`,expr:n.map((e=>`datum.${e}`)).join(' + " | " + ')})}const s=e.filter((e=>/.*(Trendline|MetricRange).*highlightedData$/.test(e.name)));for(const e of s)(null===(i=e.transform)||void 0===i?void 0:i[0])&&"expr"in e.transform[0]&&(e.transform[0].expr+=` || datum.${V.SERIES_ID} === ${r}_${V.HOVERED_SERIES}`)})),So=U(((e,{hiddenSeries:t,highlight:a,isToggleable:n,keys:r,legendLabels:i,name:o})=>{a&&((e,t,a,n)=>{e.push({name:`${t}_${V.HOVERED_SERIES}`,value:null,on:[{events:`@${t}_legendEntry:mouseover`,update:ct(t,a,n)},{events:`@${t}_legendEntry:mouseout`,update:"null"}]})})(e,o,Boolean(n||t),r),i&&e.push(ut(`${o}_labels`,i))}));const Oo=e=>e.scatterPaths.map(((t,a)=>((e,t,a)=>{var{color:n="gray-500",groupBy:r,pathWidth:i={value:"M"},opacity:o=.5}=e,s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["color","groupBy","pathWidth","opacity"]),l=a.color,c=a.colorScheme,u=a.dimension,d=a.dimensionScaleType,m=a.lineType,p=a.metric,h=a.name,g=a.opacity,f=a.size;const{facets:y}=te({color:l,lineType:m,size:f,opacity:g});return Object.assign({color:n,colorScheme:c,dimension:u,dimensionScaleType:d,groupBy:null!=r?r:y,metric:p,index:t,pathWidth:i,name:`${h}Path${t}`,opacity:o},s)})(t,a,e))),To=({color:e,colorScheme:t,dimension:a,dimensionScaleType:n,pathWidth:r,metric:i,name:o,opacity:s})=>({name:o,type:"trail",from:{data:`${o}_facet`},encode:{enter:{fill:{value:(0,W.getColorValue)(e,t)},fillOpacity:{value:s},size:xo(r)},update:{opacity:$o(),x:ze(n,a),y:{scale:"yLinear",field:i}}}}),$o=()=>[{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES}) || isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) || isValid(${V.SELECTED_SERIES}) || isValid(${V.SELECTED_ITEM})`,value:V.FADE_FACTOR},V.DEFAULT_OPACITY_RULE],xo=e=>"string"==typeof e?{scale:V.SYMBOL_PATH_WIDTH_SCALE,field:e}:{value:re(e.value)},Lo=U(((e,t)=>{const{name:a}=t,n={name:`${a}_group`,type:"group",marks:[Ao(t),...Do(t),...Ro(t)]};e.push(...(e=>{const t=[],a=Oo(e);for(const e of a){const{groupBy:a,name:n}=e;t.push({name:`${n}_group`,type:"group",from:{facet:{name:`${n}_facet`,data:V.FILTERED_TABLE,groupby:a}},marks:[To(e)]})}return t})(t),n,...Yn(t))})),Ao=e=>{const{color:t,colorScaleType:a,colorScheme:n,dimension:r,dimensionScaleType:i,lineType:o,lineWidth:s,metric:l,name:c,opacity:u,size:d}=e;return{name:c,description:c,type:"symbol",from:{data:V.FILTERED_TABLE},encode:{enter:{blend:{value:"light"===n?"multiply":"screen"},fill:ke(t,n,a),fillOpacity:Pe(u),shape:{value:"circle"},size:He(d),strokeDash:we(o),strokeWidth:Fe(s),stroke:ke(t,n,a)},update:{opacity:Io(e),x:ze(i,r),y:{scale:"yLinear",field:l}}}}},Io=e=>{const{highlightedItem:t,idKey:a}=e;if(!Ce(e)&&void 0===t)return[V.DEFAULT_OPACITY_RULE];const n=[];return ot(n,e),Ne(e)&&n.push({test:`isValid(${V.SELECTED_ITEM})`,signal:`${V.SELECTED_ITEM} === datum.${a} ? 1 : ${V.FADE_FACTOR}`}),[...n,V.DEFAULT_OPACITY_RULE]},Do=e=>{const{dimension:t,dimensionScaleType:a,highlightedItem:n,metric:r,name:i}=e;return Ce(e)||void 0!==n?[Ge(`${V.FILTERED_TABLE}ForTooltip`,t,r,i,a),Ue(e,`${i}_pointsForVoronoi`)]:[]},Ro=e=>{const{dimension:t,dimensionScaleType:a,metric:n,name:r,size:i}=e;return Ne(e)?[{name:`${r}_selectRing`,type:"symbol",from:{data:`${r}_selectedData`},encode:{enter:{fill:{value:"transparent"},shape:{value:"circle"},size:Mo(i),strokeWidth:{value:2},stroke:{value:W.spectrumColors.light["static-blue"]}},update:{x:ze(a,t),y:{scale:"yLinear",field:n}}}}]:[]},Mo=e=>{const t=He(e);return"value"in t&&"number"==typeof t.value?{value:Math.pow(Math.sqrt(t.value)+4,2)}:"scale"in t&&"field"in t?{signal:`pow(sqrt(scale('${t.scale}', datum.${t.field})) + 4, 2)`}:t};const Co=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l={value:"categorical-100"},colorScaleType:c="ordinal",colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_LINEAR_DIMENSION,dimensionScaleType:m=V.DEFAULT_DIMENSION_SCALE_TYPE,index:p=0,lineType:h={value:"solid"},lineWidth:g={value:0},metric:f=V.DEFAULT_METRIC,name:y,opacity:E={value:1},scatterPaths:v=[],size:b={value:"M"},trendlines:_=[]}=t,S=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScaleType","colorScheme","dimension","dimensionScaleType","index","lineType","lineWidth","metric","name","opacity","scatterPaths","size","trendlines"]);const O=(0,J.toCamelCase)(y||`scatter${p}`),T=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScaleType:c,colorScheme:u,dimension:d,dimensionScaleType:m,index:p,interactiveMarkName:qe({chartPopovers:o,chartTooltips:s,highlightedItem:S.highlightedItem,trendlines:_},O),lineType:h,lineWidth:g,metric:f,name:O,opacity:E,scatterPaths:v,size:b,trendlines:_},S);e.usermeta=ge(e.usermeta,T.interactiveMarkName),e.data=No(null!==(a=e.data)&&void 0!==a?a:[],T),e.signals=jo(null!==(n=e.signals)&&void 0!==n?n:[],T),e.scales=ko(null!==(r=e.scales)&&void 0!==r?r:[],T),e.marks=Lo(null!==(i=e.marks)&&void 0!==i?i:[],T)})),No=U(((e,t)=>{var a;const{chartTooltips:n,dimension:r,dimensionScaleType:i,highlightedItem:o,idKey:s,name:l}=t;if("time"===i){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],r)}(Ce(t)||void 0!==o)&&e.push(Q(n)),Ne(t)&&e.push({name:`${l}_selectedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.SELECTED_ITEM} === datum.${s}`}]}),et(e,t),un(e,t)})),jo=U(((e,t)=>{const{name:a}=t;sr(e,t),Ce(t)&&(dt(e,a,`${a}_voronoi`,2),rt(e,t))})),ko=U(((e,t)=>{const{color:a,colorScaleType:n,dimension:r,dimensionScaleType:i,lineType:o,lineWidth:s,metric:l,opacity:c,size:u}=t;ve(e,{scaleType:i,dimension:r}),_e(e,[l]),Se(e,"linear"===n?V.LINEAR_COLOR_SCALE:V.COLOR_SCALE,a),Se(e,V.LINE_TYPE_SCALE,o),Se(e,V.LINE_WIDTH_SCALE,s),Se(e,V.OPACITY_SCALE,c),Se(e,V.SYMBOL_SIZE_SCALE,u),((e,t)=>{const a=Oo(t);for(const t of a)Se(e,V.SYMBOL_PATH_WIDTH_SCALE,t.pathWidth)})(e,t),e.push(...or(t))})),Fo=U(((e,{text:t,fontWeight:a=V.DEFAULT_TITLE_FONT_WEIGHT,position:n="middle",orient:r="top"})=>(e.title={text:t,fontWeight:a,anchor:n,frame:"group",orient:r},e)));var Po=i(561);function Ho(e){var t,a=function(e){for(var t=[],a=0;a<e.length;++a)for(var n=a+1;n<e.length;++n){let o=e[a],s=e[n];if(o&&s)for(var r=Go(o,s),i=0;i<r.length;++i){let e=r[i];e&&t.push({...e,parentIndex:[a,n]})}}return t}(e),n=a.filter((function(t){return function(e,t){for(var a=0;a<t.length;++a){let n=t[a];if(void 0!==n&&zo(e,n)>n.radius+1e-10)return!1}return!0}(t,e)})),r=0,i=0,o=[];if(n.length>1){var s=Uo(n),l=(n=n.map((e=>({...e,angle:Math.atan2(e.x-s.x,e.y-s.y)}))).sort(((e,t)=>t.angle-e.angle)))[n.length-1];for(t=0;t<n.length;++t){var c=n[t];i+=(l.x+c.x)*(c.y-l.y);for(var u={x:(c.x+l.x)/2,y:(c.y+l.y)/2},d=null,m=0;m<c.parentIndex.length;++m)if(l.parentIndex.indexOf(c.parentIndex[m])>-1){var p=e[c.parentIndex[m]],h=Math.atan2(c.x-p.x,c.y-p.y),g=Math.atan2(l.x-p.x,l.y-p.y),f=g-h;f<0&&(f+=2*Math.PI);var y=g-f/2,E=zo(u,{x:p.x+p.radius*Math.sin(y),y:p.y+p.radius*Math.cos(y)});E>2*p.radius&&(E=2*p.radius),(null===d||d.width>E)&&(d={circle:p,width:E,p1:c,p2:l})}null!==d&&(o.push(d),r+=wo(d.circle.radius,d.width),l=c)}}else{var v=e[0];for(t=1;t<e.length;++t){let a=e[t];(null==v||a.radius<v.radius)&&(v=a)}var b=!1;for(t=0;t<e.length;++t){let a=e[t];if(void 0!==a&&zo(a,v)>Math.abs(v.radius-a.radius)){b=!0;break}}b?r=i=0:(r=v.radius*v.radius*Math.PI,o.push({circle:v,p1:{x:v.x,y:v.y+v.radius},p2:{x:v.x-1e-10,y:v.y+v.radius},width:2*v.radius}))}return{overlap:r+(i/=2),stats:{area:r+i,arcArea:r,polygonArea:i,arcs:o,innerPoints:n,intersectionPoints:a}}}function wo(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function zo(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function Bo(e,t,a){if(a>=e+t)return 0;if(a<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);var n=t-(a*a-e*e+t*t)/(2*a);return wo(e,e-(a*a-t*t+e*e)/(2*a))+wo(t,n)}function Go(e,t){var a=zo(e,t),n=e.radius,r=t.radius;if(a>=n+r||a<=Math.abs(n-r))return[];var i=(n*n-r*r+a*a)/(2*a),o=Math.sqrt(n*n-i*i),s=e.x+i*(t.x-e.x)/a,l=e.y+i*(t.y-e.y)/a,c=-(t.y-e.y)*(o/a),u=-(t.x-e.x)*(o/a);return[{x:s+c,y:l-u},{x:s-c,y:l+u}]}function Uo(e){let t=e.reduce(((e,t)=>({x:e.x+t.x,y:e.y+t.y})),{x:0,y:0});return t.x/=e.length,t.y/=e.length,t}var Vo=new Map([["greedy",Xo],["MDS",Ko],["best",function(e,t){var a=Xo(e),n=qo;if(e.length>=8){var r=Ko(e,t);n(r,e)+1e-8<n(a,e)&&(a=r)}return a}]]),Wo=1e-10;function Jo(e,t,a){return Math.min(e,t)*Math.min(e,t)*Math.PI<=a+Wo?Math.abs(e-t):(0,Po.bisect)((function(n){return Bo(e,t,n)-a}),0,e+t)}function Yo(e,t,a,n){var r,i=0;for(r=0;r<t.length;++r)t[r]=0;for(r=0;r<a.length;++r)for(var o=e[2*r],s=e[2*r+1],l=r+1;l<a.length;++l){var c=e[2*l],u=e[2*l+1],d=a[r][l],m=n[r][l],p=(c-o)*(c-o)+(u-s)*(u-s),h=Math.sqrt(p),g=p-d*d;m>0&&h<=d||m<0&&h>=d||(i+=2*g*g,t[2*r]+=4*g*(o-c),t[2*r+1]+=4*g*(s-u),t[2*l]+=4*g*(c-o),t[2*l+1]+=4*g*(u-s))}return i}function Ko(e,t){var a,n=t.restarts||10,r=[],i={};for(a=0;a<e.length;++a){var o=e[a];1===o?.sets.length&&(o.sets[0]&&(i[o.sets[0]]=r.length),r.push(o))}var s=function(e,t,a){var n=(0,Po.zerosM)(t.length,t.length),r=(0,Po.zerosM)(t.length,t.length);return e.filter((function(e){return 2===e.sets.length})).map((function(e){var i=a[e.sets[0]],o=a[e.sets[1]];if(void 0===i||void 0===o)return e;var s=Jo(Math.sqrt(t[i].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);n[i][o]=n[o][i]=s;var l=0;e.size+1e-10>=Math.min(t[i].size,t[o].size)?l=1:e.size<=1e-10&&(l=-1),r[i][o]=r[o][i]=l})),{distances:n,constraints:r}}(e,r,i),l=s.distances,c=s.constraints,u=(0,Po.norm2)(l.map(Po.norm2))/l.length;l=l.map((function(e){return e.map((function(e){return e/u}))}));let d=function(e=1){return()=>{e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}((t.seed??Math.random())*2**32>>>0);var m,p;for(a=0;a<n;++a){var h=(0,Po.zeros)(2*l.length).map((()=>d()));p=(0,Po.conjugateGradient)(((e,t)=>Yo(e,t,l,c)),h,t),(!m||p.fx<m.fx)&&(m=p)}var g=m?.x,f={};for(a=0;a<r.length;++a){var y=r[a];let e=y?.sets[0];void 0===y||void 0===e||(f[e]={x:g[2*a]*u,y:g[2*a+1]*u,radius:Math.sqrt(y.size/Math.PI),setid:e,size:y.size,rowid:Object.keys(f).length})}if(t.history)for(let e of t.history)(0,Po.scale)(e.x,u);return f}function Xo(e,t){for(var a,n=qo,r={},i={},o=0;o<e.length;++o){var s=e[o];1==s.sets.length&&(a=s.sets[0],r[a]={x:1e10,y:1e10,rowid:Object.keys(r).length,size:s.size,setid:a,radius:Math.sqrt(s.size/Math.PI)},i[a]=[])}for(e=e.filter((function(e){return 2==e.sets.length})),o=0;o<e.length;++o){var l=e[o],c=l.weight?l.weight:1,u=l.sets[0],d=l.sets[1];if(void 0===u||void 0===d)continue;let t=r[u],a=r[d];!t.size||!a.size||(l.size+Wo>=Math.min(t.size,a.size)&&(c=0),i[u]?.push({set:d,size:l.size,weight:c}),i[d]?.push({set:u,size:l.size,weight:c}))}var m=[];for(a in i){let e=i[a];if(e){var p=0;for(o=0;o<e.length;++o){let t=e[o];t&&(p+=t.size*t.weight)}m.push({set:a,size:p})}}m.sort(((e,t)=>t.size-e.size));var h={};function g(e){return e.set in h}function f(e,t){let a=r[t];a&&(a.x=e.x,a.y=e.y),h[t]=!0}for(f({x:0,y:0},m[0]?.set??""),o=1;o<m.length;++o){var y=m[o]?.set,E=y?i[y]?.filter(g):null;let t=y?r[y]:null;if(E?.sort(((e,t)=>t.size-e.size)),0===E?.length||!E)throw"ERROR: missing pairwise overlap information";for(var v=[],b=0;b<E.length;++b){let e=E[b];if(!e)continue;var _=r[E[b].set];if(!_)continue;let a=Jo(t.radius,_.radius,e.size);v.push({x:_.x+a,y:_.y}),v.push({x:_.x-a,y:_.y}),v.push({y:_.y+a,x:_.x}),v.push({y:_.y-a,x:_.x});for(var S=b+1;S<E.length;++S)for(var O=r[E[S].set],T=Jo(t.radius,O.radius,E[S].size),$=Go({x:_.x,y:_.y,radius:a},{x:O.x,y:O.y,radius:T}),x=0;x<$.length;++x)v.push($[x])}var L=1e50,A=v[0];for(b=0;b<v.length;++b){r[y].x=v[b].x,r[y].y=v[b].y;var I=n(r,e);I<L&&(L=I,A=v[b])}f(A,y)}return r}function qo(e,t){for(var a,n=0,r=0;r<t.length;++r){var i,o=t[r];if(o&&1!==o.sets.length){if(2===o.sets.length){var s=e[o.sets[0]],l=e[o.sets[1]];if(void 0===s||void 0===l)continue;i=Bo(s.radius,l.radius,zo(s,l))}else i=Ho((a=o.sets,a.map((function(t){return e[t]})))).overlap;n+=(o.weight?o.weight:1)*(i-o.size)*(i-o.size)}}return n}function Zo(e,t,a){var n;if(null===a?e.sort((function(e,t){return t.radius-e.radius})):e.sort(a),e.length>0){var r=e[0].x,i=e[0].y;for(n=0;n<e.length;++n)e[n].x-=r,e[n].y-=i}if(2==e.length){let t=e[0],a=e[1];t&&a&&zo(t,a)<Math.abs(a.radius-t.radius)&&(a.x=t.x+t.radius-a.radius-1e-10,a.y=a.y)}if(e.length>1){var o,s,l=Math.atan2(e[1].x,e[1].y)-(t??0),c=Math.cos(l),u=Math.sin(l);for(n=0;n<e.length;++n){let t=e[n];t&&(o=t.x,s=t.y,t.x=c*o-u*s,t.y=u*o+c*s)}}if(e.length>2){for(var d=Math.atan2(e[2].x,e[2].y)-(t??0);d<0;)d+=2*Math.PI;for(;d>2*Math.PI;)d-=2*Math.PI;if(d>Math.PI){var m=e[1].y/(1e-10+e[1].x);for(n=0;n<e.length;++n){let t=e[n];if(t){var p=(t.x+m*t.y)/(1+m*m);t.x=2*p-t.x,t.y=2*p*m-t.y}}}}}function Qo(e){var t=function(t){return{max:Math.max.apply(null,e.map((function(e){return e[t]+e.radius}))),min:Math.min.apply(null,e.map((function(e){return e[t]-e.radius})))}};return{xRange:t("x"),yRange:t("y")}}function es(e,{layout:t,height:a,width:n,padding:r,seed:i,orientation:o,set_id_delimiter:s,orientationOrder:l}){let c=e.filter((e=>0!==e.size&&e.sets.length>0));if(0===c.length)return{circles:[],intersections:[]};let u=function(e,t){(t=t??{}).maxIterations=t.maxIterations||500,t.seed=t.seed??Math.random();let a=Vo.get(t.layout??"best");var n=qo;e=function(e){e=e.slice();var t,a,n,r,i=[],o={};for(let t of e)1==t.sets.length?i.push(t.sets[0]):2==t.sets.length&&(o[`${n=t.sets[0]},${r=t.sets[1]}`]=!0,o[`${r},${n}`]=!0);for(i.sort(((e,t)=>e.toString().localeCompare(t.toString()))),t=0;t<i.length;++t)for(n=i[t],a=t+1;a<i.length;++a)`${n},${r=i[a]}`in o||e.push({sets:[n,r],size:0});return e}(e);var r=a(e,t),i=[],o=[];for(let e of Object.keys(r)){let t=r[e];t&&(i.push(t.x),i.push(t.y),o.push(e))}for(var s=(0,Po.nelderMead)((function(t){for(var a={},i=0;i<o.length;++i){var s=o[i];let e=r[s];a[s]={x:t[2*i],y:t[2*i+1],radius:e.radius,setid:s,size:e.size,rowid:e.rowid}}return n(a,e)}),i,t).x,l=0;l<o.length;++l){let e=o[l],t=r[e];t.x=s[2*l],t.y=s[2*l+1]}return r}(c,{layout:t,seed:i});o!==Math.PI/2&&(u=function(e,t,a){null===t&&(t=Math.PI/2);var n,r,i=[];for(r in e){var o=e[r];o&&i.push({...o,setid:r})}var s=function(e){function t(e){if(e)return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function a(e,a){var n=t(e),r=t(a);n&&(n.parent=r)}e.map((function(e){e.parent=e}));for(var n=0;n<e.length;++n)for(var r=n+1;r<e.length;++r){let t=e[n],o=e[r];if(t&&o){var i=t.radius+o.radius;zo(t,o)+1e-10<i&&a(o,t)}}var o,s={};for(n=0;n<e.length;++n){let a=e[n];if(!a)continue;let r=t(e[n])?.parent?.setid;r&&(r in s||(s[r]=[]),s[r]&&s[r].push(a))}e.map((function(e){delete e.parent}));var l=[];for(o in s){let e=s[o];e&&l.push(e)}return l}(i);for(n=0;n<s.length;++n){let e=s[n];if(e){Zo(e,t,a);var l=Qo(e);e.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),e.bounds=l}}s.sort((function(e,t){return e.size&&t.size?t.size-e.size:0}));var c=s[0].bounds,u=(c.xRange.max-c.xRange.min)/50;function d(e,t,a){if(e&&e.size&&e.bounds){var n,r,o,s=e.bounds;t?n=c.xRange.max-s.xRange.min+u:(n=c.xRange.max-s.xRange.max,(o=(s.xRange.max-s.xRange.min)/2-(c.xRange.max-c.xRange.min)/2)<0&&(n+=o)),a?r=c.yRange.max-s.yRange.min+u:(r=c.yRange.max-s.yRange.max,(o=(s.yRange.max-s.yRange.min)/2-(c.yRange.max-c.yRange.min)/2)<0&&(r+=o));for(var l=0;l<e.length;++l){let t=e[l];t&&(t.x+=n,t.y+=r,i.push(t))}}}for(var m=1;m<s.length;)d(s[m],!0,!1),d(s[m+1],!1,!0),d(s[m+2],!0,!0),m+=3,c=Qo(i);var p={};for(let e of i)p[e.setid]=e;return p}(u,o,l)),u=function(e,t,a,n){var r=[],i=[];for(var o in e){let t=e[o];t&&(i.push(o),r.push(t))}t-=2*n,a-=2*n;var s=Qo(r),l=s.xRange,c=s.yRange;if(l.max==l.min||c.max==c.min)return e;for(var u=t/(l.max-l.min),d=a/(c.max-c.min),m=Math.min(d,u),p=(t-(l.max-l.min)*m)/2,h=(a-(c.max-c.min)*m)/2,g={},f=0;f<r.length;++f){var y=r[f];let e=i[f];!y||!e||(g[e]={...y,radius:m*y.radius,x:n+p+(y.x-l.min)*m,y:n+h+(y.y-c.min)*m})}return g}(u,n,a,r);let d=function(e,t,a=","){for(var n={},r=function(e){var t={},a=Object.keys(e);a.forEach((e=>t[e]=[]));for(var n=0;n<a.length;n++)for(var r=e[a[n]],i=n+1;i<a.length;++i){var o=e[a[i]],s=zo(r,o);s+o.radius<=r.radius+1e-10?t[a[i]].push(a[n]):s+r.radius<=o.radius+1e-10&&t[a[n]].push(a[i])}return t}(e),i=0;i<t.length;++i){for(var o=t[i].sets,s={},l={},c=0;c<o.length;++c){s[o[c]]=!0;var u=r[o[c]];if(u)for(var d=0;d<u.length;++d)l[u[d]]=!0}var m=[],p=[];for(var h in e)h in s?m.push(e[h]):h in l||p.push(e[h]);var g=as(m,p);n[o.join(a)]=g,g.disjoint&&t[i].size>0&&console.log("WARNING: area "+o+" not represented on screen")}return n}(u,c),m=c.map((e=>{let t=e.sets.join(","),{x:a,y:n,disjoint:r}=d[t];return{set_id:e.sets.join(s),sets:e.sets,path:ts(e.sets.map((e=>u[e]))),textX:r?void 0:a,textY:r?void 0:n,size:e.size}})).filter((e=>e.sets.length>1));return{circles:Object.entries(u).map((([e,t])=>({set_id:e,x:t.x,y:t.y,size:Math.pow(2*t.radius,2),textX:d[e].x,textY:d[e].y}))),intersections:m}}function ts(e){let{stats:t}=Ho(e);var a=t.arcs;if(0===a.length)return"M 0 0";if(1===a.length){var n=a[0].circle;return function(e,t,a){var n=[];return n.push("\nM",e.toString(),t.toString()),n.push("\nm",-a,0),n.push("\na",a,a,0,1,0,2*a,0),n.push("\na",a,a,0,1,0,2*-a,0),n.join(" ")}(n.x,n.y,n.radius)}var r=["\nM",a[0].p2.x,a[0].p2.y];for(let e of a){let t=e.circle.radius,a=e.width>t;r.push("\nA",t,t,0,a?1:0,1,e.p1.x,e.p1.y)}return r.join(" ")}function as(e,t){var a,n=[];for(a=0;a<e.length;++a){var r=e[a];r&&(n.push({x:r.x,y:r.y}),n.push({x:r.x+r.radius/2,y:r.y}),n.push({x:r.x-r.radius/2,y:r.y}),n.push({x:r.x,y:r.y+r.radius/2}),n.push({x:r.x,y:r.y-r.radius/2}))}var i=n[0],o=ns(n[0],e,t);for(a=1;a<n.length;++a){var s=ns(n[a],e,t);s>=o&&(i=n[a],o=s)}var l=(0,Po.nelderMead)((function(a){return-1*ns({x:a[0],y:a[1]},e,t)}),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,c={x:l[0],y:l[1]},u=!0;for(a=0;a<e.length;++a)if(zo(c,e[a])>e[a].radius){u=!1;break}for(a=0;a<t.length;++a)if(zo(c,t[a])<t[a].radius){u=!1;break}if(!u)if(1==e.length)c={x:e[0].x,y:e[0].y};else{let{stats:a}=Ho(e);c=0===a.arcs.length?{x:0,y:-1e3,disjoint:!0}:1===a.arcs.length?{x:a.arcs[0].circle.x,y:a.arcs[0].circle.y}:t.length?as(e,[]):Uo(a.arcs.map((function(e){return e.p1})))}return c}function ns(e,t,a){var n,r,i=t[0].radius-zo(t[0],e);for(n=1;n<t.length;++n)(r=t[n].radius-zo(t[n],e))<=i&&(i=r);for(n=0;n<a.length;++n)(r=zo(a[n],e)-a[n].radius)<=i&&(i=r);return i}const rs=(e,t)=>{const{label:a}=e;return{type:"text",from:{data:t},interactive:!1,encode:{enter:{x:{field:"textX"},y:{field:"textY"},text:{field:`table_data.${a}`},align:{value:"center"},baseline:{value:"middle"}},update:{opacity:Xe(e)}}}},is=new Map([["0deg",Math.PI/2],["90deg",0],["180deg",-3*Math.PI/2],["270deg",-Math.PI]]);const os=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l=V.DEFAULT_VENN_COLOR,colorScheme:c=V.DEFAULT_COLOR_SCHEME,index:u=0,label:d=V.DEFAULT_VENN_LABEL,metric:m=V.DEFAULT_VENN_METRIC,name:p,orientation:h="0deg",chartHeight:g=100,chartWidth:f=100,data:y=[]}=t,E=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","index","label","metric","name","orientation","chartHeight","chartWidth","data"]);const v=Object.assign({chartPopovers:o,chartTooltips:s,chartWidth:f,chartHeight:g,data:y,index:u,colorScheme:c,color:l,label:d,orientation:h,metric:m,name:(0,J.toCamelCase)(null!=p?p:`venn${u}`)},E);e.data=ss(null!==(a=e.data)&&void 0!==a?a:[],v),e.signals=ps(null!==(n=e.signals)&&void 0!==n?n:[],v),e.scales=cs(null!==(r=e.scales)&&void 0!==r?r:[]),e.marks=ls(null!==(i=e.marks)&&void 0!==i?i:[],v)})),ss=U(((e,t)=>{var a,n;const{circles:r,intersections:i}=(e=>{const{orientation:t,chartWidth:a,chartHeight:n}=e;return es((e=>{const{data:t,metric:a,color:n}=e;return t.map((e=>{const t=Object.assign({},e);if(void 0===t[a])throw new Error("set the metric prop to the default 'size' or set your own");if(a!==V.DEFAULT_VENN_METRIC&&"number"==typeof t[a]&&(t.size=e[a]),void 0===t[n])throw new Error("set the color prop to the default 'sets' or set your own");return n!==V.DEFAULT_VENN_COLOR&&Array.isArray(t[n])&&(t.sets=structuredClone(e[n])),{size:t.size,sets:t.sets}})).filter((e=>e.sets.length>0))})(e),{orientation:is.get(t),layout:"greedy",width:a,height:n,set_id_delimiter:"∩",padding:0})})(t);e.push({name:"circles",values:r,transform:[...ds(),{type:"formula",as:"strokeSize",expr:"datum.size * 1"},{type:"filter",expr:"indexof(hiddenSeries, datum.table_data.rscSeriesId) === -1"}]},{name:"intersections",values:i,transform:[...ds(),...ms()]});const o=e.findIndex((e=>e.name===V.TABLE));e[o].transform=null!==(a=e[o].transform)&&void 0!==a?a:[],null===(n=e[o].transform)||void 0===n||n.push(...us(t))})),ls=U(((e,t)=>{e.push((e=>{const{colorScheme:t,idKey:a}=e;return{type:"symbol",name:`${e.name}_circle_strokes`,from:{data:"circles"},interactive:!1,encode:{enter:{x:{field:"x"},y:{field:"y"},size:{field:"size"},shape:{value:"circle"},stroke:{value:(0,W.getColorValue)("static-blue",t)},strokeWidth:{value:6}},update:{strokeOpacity:[{test:`${V.SELECTED_ITEM} === datum.${a}`,value:1},{value:0}]}}}})(t),(e=>{const{name:t,colorScheme:a,chartTooltips:n,chartPopovers:r}=e;return{type:"symbol",name:t,from:{data:"circles"},encode:{enter:{x:{field:"x"},y:{field:"y"},tooltip:Re(n,t),size:{field:"size"},shape:{value:"circle"},fill:ke("set_id",a),stroke:{signal:"chartBackgroundColor"},strokeWidth:{value:2}},update:{opacity:Xe(e),cursor:De(r)}}}})(t),(e=>{const{name:t,idKey:a,colorScheme:n}=e;return{type:"path",from:{data:"intersections"},name:`${t}_intersections_strokes`,interactive:!1,encode:{enter:{path:{field:"path"},strokeWidth:{value:6},strokeCap:{value:"round"},stroke:{value:(0,W.getColorValue)("static-blue",n)}},update:{strokeOpacity:[{test:`${V.SELECTED_ITEM} === datum.${a}`,value:1},{value:0}]}}}})(t),(e=>{const{name:t,chartTooltips:a,colorScheme:n,chartPopovers:r}=e;return{type:"path",from:{data:"intersections"},name:`${t}_intersections`,encode:{enter:{path:{field:"path"},fill:ke("set_id",n),strokeWidth:{value:2},stroke:{signal:"chartBackgroundColor"},strokeCap:{value:"square"},tooltip:Re(a,`${t}`)},update:{opacity:Xe(e),cursor:De(r)}}}})(t),rs(t,"circles"),rs(t,"intersections"))})),cs=U((e=>{Se(e,V.COLOR_SCALE,"set_legend"),Se(e,V.COLOR_SCALE,"set_id")})),us=e=>[{type:"formula",as:"set_id",expr:`join(datum.${e.color}, '∩')`},{type:"formula",as:"set_legend",expr:`length(datum.${e.color}) > 1 ? datum.${e.color}[0]: join(datum.${e.color}, '∩')`}],ds=()=>[{type:"lookup",key:"set_id",fields:["set_id"],from:V.TABLE,as:["table_data"]},{type:"formula",as:"rscSeriesId",expr:"datum.table_data.set_id"},{type:"formula",expr:"datum.table_data.rscMarkId",as:"rscMarkId"}],ms=()=>[{type:"formula",as:"hidden",expr:"hiddenSeries"},{type:"flatten",fields:["sets"],as:["intersect_set"]},{type:"formula",as:"hide_intersection",expr:"indexof(datum.hidden, datum.intersect_set) === -1 ? 0 : 1"},{type:"joinaggregate",groupby:["set_id"],fields:["hide_intersection"],ops:["sum"]},{type:"filter",expr:"datum.sum_hide_intersection === 0"},{type:"window",groupby:["set_id"],ops:["row_number"],as:["row_num"]},{type:"filter",expr:"datum.row_num === 1"}],ps=U(((e,t)=>{var a,n;const{chartTooltips:r,name:i}=t;Ce(t)&&(dt(e,i,void 0,1,null===(a=r[0])||void 0===a?void 0:a.excludeDataKeys),dt(e,i,`${i}_intersections`,1,null===(n=r[0])||void 0===n?void 0:n.excludeDataKeys))}));function hs({axes:e=[],backgroundColor:t=V.DEFAULT_BACKGROUND_COLOR,chartHeight:a,chartWidth:n,colors:r="categorical12",colorScheme:i=V.DEFAULT_COLOR_SCHEME,data:o,description:s,hiddenSeries:l=[],highlightedItem:c,highlightedSeries:u,idKey:d=V.MARK_ID,legends:m=[],lineTypes:p=V.DEFAULT_LINE_TYPES,lineWidths:h=["M"],marks:g=[],opacities:f,symbolShapes:y=["rounded-square"],symbolSizes:E=["XS","XL"],title:v,titles:b=[]}){var _,S;const O={axes:e,backgroundColor:t,chartHeight:a,chartWidth:n,colors:r,colorScheme:i,data:o,description:s,hiddenSeries:l,highlightedItem:c,highlightedSeries:u,idKey:d,legends:m,lineTypes:p,lineWidths:h,marks:g,opacities:f,symbolShapes:y,symbolSizes:E,title:v,titles:b};let T=ue(null,{backgroundColor:t,colorScheme:i,description:s,title:v});T.signals=ys(O),T.scales=_s(r,i,p,h,f,y,E);let{areaCount:$,barCount:x,bulletCount:L,comboCount:A,donutCount:I,lineCount:D,scatterCount:R,vennCount:M}=fs();const C={colorScheme:i,idKey:d,highlightedItem:c};return T=[...g].reduce(((e,t)=>{switch(t.markType){case"area":return $++,gt(e,Object.assign(Object.assign(Object.assign({},t),C),{index:$}));case"bar":return x++,Pr(e,Object.assign(Object.assign(Object.assign({},t),C),{index:x}));case"bullet":return L++,ni(e,Object.assign(Object.assign(Object.assign({},t),C),{index:L}));case"combo":return A++,vi(e,Object.assign(Object.assign(Object.assign({},t),C),{index:A}));case"donut":return I++,Pi(e,Object.assign(Object.assign(Object.assign({},t),C),{index:I}));case"line":return D++,mi(e,Object.assign(Object.assign(Object.assign({},t),C),{index:D}));case"scatter":return R++,Co(e,Object.assign(Object.assign(Object.assign({},t),C),{index:R}));case"venn":return M++,os(e,Object.assign(Object.assign(Object.assign({},t),C),{index:M,data:o,chartWidth:n,chartHeight:a}));case"bigNumber":return e;default:return console.error(`Invalid component type: ${t} is not a supported chart mark option child`),e}}),T),T=[...m].reduce(((e,t,a)=>ho(e,Object.assign(Object.assign(Object.assign({},t),C),{index:a,hiddenSeries:l,highlightedItem:c,highlightedSeries:u}))),T),T=[...e].reduce(((e,t,a)=>Da(e,Object.assign(Object.assign(Object.assign({},t),C),{index:a}))),T),b.length&&(T=Fo(T,b[0])),T=JSON.parse(JSON.stringify(T)),T.data=Ms(null!==(_=T.data)&&void 0!==_?_:[],{facets:ae(T.scales)}),u&&Ui("",null!==(S=T.marks)&&void 0!==S?S:[],void 0,!0),T=gs(T),Hs(T)}const gs=U((e=>{var t;e.scales=null===(t=e.scales)||void 0===t?void 0:t.filter((e=>!("domain"in e&&e.domain&&"fields"in e.domain&&0===e.domain.fields.length)))})),fs=()=>({areaCount:-1,barCount:-1,comboCount:-1,donutCount:-1,bulletCount:-1,lineCount:-1,scatterCount:-1,vennCount:-1}),ys=({backgroundColor:e,colors:t,colorScheme:a,lineTypes:n,opacities:r,hiddenSeries:i,highlightedItem:o,highlightedSeries:s})=>{const l="transparent"===e?"gray-50":e,c=void 0===o||Array.isArray(o)?o:[o];return[ut(V.BACKGROUND_COLOR,(0,W.getColorValue)(l,a)),ut("colors",Es(t,a)),ut("lineTypes",vs(n)),ut("opacities",bs(r)),ut("hiddenSeries",null!=i?i:[]),ut(V.CONTROLLED_HIGHLIGHTED_ITEM,c),ut(V.HIGHLIGHTED_GROUP),ut(V.CONTROLLED_HIGHLIGHTED_SERIES,s),ut(V.SELECTED_ITEM),ut(V.SELECTED_SERIES),ut(V.SELECTED_GROUP)]},Es=(e,t)=>Ns(e)?Ds(e,t).map((e=>[e])):e.map((e=>Ds(e,t))),vs=e=>js(e)?Rs(e).map((e=>[e])):e.map((e=>Rs(e))),bs=e=>e?Fs(e)?e.map((e=>[e])):e:[[1]],_s=(e,t,a,n,r,i,o)=>[Ss(e,t),Os(e,t),Ts(a),As(n),Is(r),$s(i),xs(o),Ls(o)],Ss=(e,t)=>{const a=Ns(e)?Ds(e,t):e.map((e=>Ds(e,t)[0]));return Ae("color",a)},Os=(e,t)=>{const a=Ns(e)?Ds(e,t):e.map((e=>Ds(e,t)[0]));return{name:V.LINEAR_COLOR_SCALE,type:"linear",range:a,domain:{data:V.TABLE,fields:[]}}},Ts=e=>{const t=js(e)?Rs(e):e.map((e=>ne(e[0])));return Ae(V.LINE_TYPE_SCALE,t)},$s=e=>{const t=Ps(e)?function(e){return e.map((e=>ie(e)))}(e):e.map((e=>ie(e[0])));return Ae(V.SYMBOL_SHAPE_SCALE,t)},xs=e=>({name:V.SYMBOL_SIZE_SCALE,type:"linear",zero:!1,range:e.map((e=>se(e))),domain:{data:V.TABLE,fields:[]}}),Ls=e=>({name:V.SYMBOL_PATH_WIDTH_SCALE,type:"linear",zero:!1,range:e.map((e=>le(e))),domain:{data:V.TABLE,fields:[]}}),As=e=>{const t=e.map((e=>re(e)));return Ae(V.LINE_WIDTH_SCALE,t)},Is=e=>{if(null==e?void 0:e.length){const t=Fs(e)?e:e.map((e=>e[0]));return Ae(V.OPACITY_SCALE,t)}return{name:V.OPACITY_SCALE,type:"point",range:[1,0],padding:1,align:1,domain:{data:V.TABLE,fields:[]}}};function Ds(e,t){return Array.isArray(e)?e.map((e=>(0,W.getColorValue)(e,t))):W.colorSchemes[e]}function Rs(e){return e.map((e=>ne(e)))}const Ms=U(((e,{facets:t})=>{var a,n,r;if(e.splice(2,0,{name:V.CONTROLLED_HIGHLIGHTED_TABLE,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${V.MARK_ID}) > -1`}]}),0===t.length)return;null===(n=null===(a=e[0])||void 0===a?void 0:a.transform)||void 0===n||n.push(...Z(t));const i=e.findIndex((e=>e.name===V.FILTERED_TABLE));-1!==i&&(e[i].transform=[{type:"filter",expr:`indexof(hiddenSeries, datum.${V.SERIES_ID}) === -1`},...null!==(r=e[i].transform)&&void 0!==r?r:[]])})),Cs=e=>Boolean(!Array.isArray(e)&&e in W.colorSchemes),Ns=e=>Cs(e)||e.some((e=>!Cs(e)&&"string"==typeof e)),js=e=>e.some((e=>"string"==typeof e||ks(e))),ks=e=>Array.isArray(e)&&!e.some((e=>"number"!=typeof e)),Fs=e=>!e.some((e=>Array.isArray(e))),Ps=e=>!e.some((e=>Array.isArray(e))),Hs=e=>"function"==typeof structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e));function ws(e,t){if((a=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var a,n=e.slice(0,a);return[n.length>1?n[0]+n.slice(2):n,+e.slice(a+1)]}V.MARK_ID,V.SERIES_ID,V.TRENDLINE_VALUE,V.GROUP_DATA;var zs,Bs=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Gs(e){if(!(t=Bs.exec(e)))throw new Error("invalid format: "+e);var t;return new Us({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Us(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function Vs(e,t){var a=ws(e,t);if(!a)return e+"";var n=a[0],r=a[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")}Gs.prototype=Us.prototype,Us.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Ws={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Vs(100*e,t),r:Vs,s:function(e,t){var a=ws(e,t);if(!a)return e+"";var n=a[0],r=a[1],i=r-(zs=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+ws(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Js(e){return e}var Ys=Array.prototype.map,Ks=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Xs(e){var t,a,n=void 0===e.grouping||void 0===e.thousands?Js:(t=Ys.call(e.grouping,Number),a=e.thousands+"",function(e,n){for(var r=e.length,i=[],o=0,s=t[0],l=0;r>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),i.push(e.substring(r-=s,r+s)),!((l+=s+1)>n));)s=t[o=(o+1)%t.length];return i.reverse().join(a)}),r=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?Js:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(Ys.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"−":e.minus+"",u=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=Gs(e)).fill,a=e.align,d=e.sign,m=e.symbol,p=e.zero,h=e.width,g=e.comma,f=e.precision,y=e.trim,E=e.type;"n"===E?(g=!0,E="g"):Ws[E]||(void 0===f&&(f=12),y=!0,E="g"),(p||"0"===t&&"="===a)&&(p=!0,t="0",a="=");var v="$"===m?r:"#"===m&&/[boxX]/.test(E)?"0"+E.toLowerCase():"",b="$"===m?i:/[%p]/.test(E)?l:"",_=Ws[E],S=/[defgprs%]/.test(E);function O(e){var r,i,l,m=v,O=b;if("c"===E)O=_(e)+O,e="";else{var T=(e=+e)<0||1/e<0;if(e=isNaN(e)?u:_(Math.abs(e),f),y&&(e=function(e){e:for(var t,a=e.length,n=1,r=-1;n<a;++n)switch(e[n]){case".":r=t=n;break;case"0":0===r&&(r=n),t=n;break;default:if(!+e[n])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),T&&0==+e&&"+"!==d&&(T=!1),m=(T?"("===d?d:c:"-"===d||"("===d?"":d)+m,O=("s"===E?Ks[8+zs/3]:"")+O+(T&&"("===d?")":""),S)for(r=-1,i=e.length;++r<i;)if(48>(l=e.charCodeAt(r))||l>57){O=(46===l?o+e.slice(r+1):e.slice(r))+O,e=e.slice(0,r);break}}g&&!p&&(e=n(e,1/0));var $=m.length+e.length+O.length,x=$<h?new Array(h-$+1).join(t):"";switch(g&&p&&(e=n(x+e,x.length?h-O.length:1/0),x=""),a){case"<":e=m+e+O+x;break;case"=":e=m+x+e+O;break;case"^":e=x.slice(0,$=x.length>>1)+m+e+O+x.slice($);break;default:e=x+m+e+O}return s(e)}return f=void 0===f?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),O.toString=function(){return e+""},O}return{format:d,formatPrefix:function(e,t){var a,n=d(((e=Gs(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor((a=t,((a=ws(Math.abs(a)))?a[1]:NaN)/3)))),i=Math.pow(10,-r),o=Ks[8+r/3];return function(e){return n(i*e)+o}}}}var qs=i(542);const Zs=(e="en-US")=>{const{number:t}=(0,qs.getLocale)(e),a="string"==typeof e?e:null==e?void 0:e.number;return{formatTimeDurationLabels:nl(t),formatLocaleCurrency:el(t),formatShortNumber:Qs(a),consoleLog:rl,formatHorizontalTimeAxisLabels:tl(),formatVerticalAxisTimeLabels:al(),getLabelWidth:il,truncateText:ol}},Qs=e=>{const t="string"==typeof e?e:navigator.language,a="object"==typeof e?e.decimal:void 0;return e=>{const n=new Intl.NumberFormat(t,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).replaceAll(/\d/g,""),r=Intl.NumberFormat(t,{notation:"compact"}).format(e);return a?r.replace(n,a):r}},el=(e=qs.numberLocales["en-US"])=>({value:t},a,n,r)=>{if("string"==typeof t)return t;try{const i={style:"currency",currency:n,maximumFractionDigits:0},o=new Intl.NumberFormat(a,i).format(0);let s=2;"currency"!==r&&(s=Number.parseInt(r.split(".")[1].replace("f","")));const l=Xs(e);return o.replace("0",l.format(`,.${s}f`)(t))}catch(a){return console.error("Error formatting currency: ",a),Xs(e).format("$,.2f")(t)}},tl=()=>{let e;return t=>{const a=0===t.index||e!==t.label;return e=t.label,a?t.label:""}},al=()=>{let e;return t=>{const a=t.label.split(" "),n=a[0],r=0===t.index||e!==n;return e=n,r?t.label:a[1]}},nl=(e=qs.numberLocales["en-US"])=>{const t=Xs(e),a=t.format("02,d"),n=t.format(",d");return({value:e})=>{if("string"==typeof e)return e;const t=e<0?"-":"",r=Math.abs(e),i=a(Math.floor(r%60));return r<3600?`${t}${n(Math.floor(r/60))}:${i}`:`${t}${n(Math.floor(r/60/60))}:${a(Math.floor(r/60%60))}:${i}`}},rl=e=>(console.log(e),e),il=(e,t="bold",a=12)=>{const n=document.createElement("canvas").getContext("2d");return null===n?0:(n.font=`${t} ${a}px ${W.ADOBE_CLEAN_FONT}`,n.measureText(e).width)},ol=(e,t,a="normal",n=12)=>{t-=4;const r=il(e,a,n),i=il("…",a,n);if(r<=t)return e;let o=e.slice(0,-1).trim();for(let e=o.length;e>0&&(o=o.slice(0,-1).trim(),!(il(o,a,n)+i<=t));e--);return 0===o.length?e:o+"…"},sl={consoleLog:rl,formatHorizontalTimeAxisLabels:tl(),formatVerticalAxisTimeLabels:al(),getLabelWidth:il,truncateText:ol},ll=({locale:e="en-US",height:t=400,width:a=600,padding:n=0,renderer:r="svg",config:i,colorScheme:o=V.DEFAULT_COLOR_SCHEME})=>{const s=Zs(e),{number:l,time:c}=(0,qs.getLocale)(e);return{actions:!1,ast:!0,expressionFunctions:s,formatLocale:l,height:t,width:a,padding:n,renderer:r,timeFormatLocale:c,config:null!=i?i:he(void 0,o)}}})(),o})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@spectrum-charts/constants"),require("@spectrum-charts/themes"),require("@spectrum-charts/utils")):"function"==typeof define&&define.amd?define(["@spectrum-charts/constants","@spectrum-charts/themes","@spectrum-charts/utils"],t):"object"==typeof exports?exports.spectrumChartsVegaSpecBuilder=t(require("@spectrum-charts/constants"),require("@spectrum-charts/themes"),require("@spectrum-charts/utils")):e.spectrumChartsVegaSpecBuilder=t(e["@spectrum-charts/constants"],e["@spectrum-charts/themes"],e["@spectrum-charts/utils"])}(this,((e,t,a)=>(()=>{var n={743:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===a}(e)}(e)},a="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s((a=e,Array.isArray(a)?[]:{}),e,t):e;var a}function r(e,t,a){return e.concat(t).map((function(e){return n(e,a)}))}function i(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function o(e,t){try{return t in e}catch(e){return!1}}function s(e,a,l){(l=l||{}).arrayMerge=l.arrayMerge||r,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(a);return c===Array.isArray(e)?c?l.arrayMerge(e,a,l):function(e,t,a){var r={};return a.isMergeableObject(e)&&i(e).forEach((function(t){r[t]=n(e[t],a)})),i(t).forEach((function(i){(function(e,t){return o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(o(e,i)&&a.isMergeableObject(t[i])?r[i]=function(e,t){if(!t.customMerge)return s;var a=t.customMerge(e);return"function"==typeof a?a:s}(i,a)(e[i],t[i],a):r[i]=n(t[i],a))})),r}(e,a,l):n(a,l)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,a){return s(e,a,t)}),{})};var l=s;e.exports=l},561:function(e,t){!function(e){"use strict";function t(e){for(var t=new Array(e),a=0;a<e;++a)t[a]=0;return t}function a(e,t){for(var a=0,n=0;n<e.length;++n)a+=e[n]*t[n];return a}function n(e){return Math.sqrt(a(e,e))}function r(e,t,a){for(var n=0;n<t.length;++n)e[n]=t[n]*a}function i(e,t,a,n,r){for(var i=0;i<e.length;++i)e[i]=t*a[i]+n*r[i]}function o(e,t,n,r,o,s,l){var c=n.fx,u=a(n.fxprime,t),d=c,m=c,p=u,h=0;function g(m,h,g){for(var f=0;f<16;++f)if(o=(m+h)/2,i(r.x,1,n.x,o,t),d=r.fx=e(r.x,r.fxprime),p=a(r.fxprime,t),d>c+s*o*u||d>=g)h=o;else{if(Math.abs(p)<=-l*u)return o;p*(h-m)>=0&&(h=m),m=o,g=d}return 0}o=o||1,s=s||1e-6,l=l||.1;for(var f=0;f<10;++f){if(i(r.x,1,n.x,o,t),d=r.fx=e(r.x,r.fxprime),p=a(r.fxprime,t),d>c+s*o*u||f&&d>=m)return g(h,o,m);if(Math.abs(p)<=-l*u)return o;if(p>=0)return g(o,h,d);m=d,h=o,o*=2}return o}e.bisect=function(e,t,a,n){var r=(n=n||{}).maxIterations||100,i=n.tolerance||1e-10,o=e(t),s=e(a),l=a-t;if(o*s>0)throw"Initial bisect points must have opposite signs";if(0===o)return t;if(0===s)return a;for(var c=0;c<r;++c){var u=t+(l/=2),d=e(u);if(d*o>=0&&(t=u),Math.abs(l)<i||0===d)return u}return t+l},e.nelderMead=function(e,t,a){var n,r=(a=a||{}).maxIterations||200*t.length,o=a.nonZeroDelta||1.05,s=a.zeroDelta||.001,l=a.minErrorDelta||1e-6,c=a.minErrorDelta||1e-5,u=void 0!==a.rho?a.rho:1,d=void 0!==a.chi?a.chi:2,m=void 0!==a.psi?a.psi:-.5,p=void 0!==a.sigma?a.sigma:.5,h=t.length,g=new Array(h+1);g[0]=t,g[0].fx=e(t),g[0].id=0;for(var f=0;f<h;++f){var y=t.slice();y[f]=y[f]?y[f]*o:s,g[f+1]=y,g[f+1].fx=e(y),g[f+1].id=f+1}function E(e){for(var t=0;t<e.length;t++)g[h][t]=e[t];g[h].fx=e.fx}for(var v=function(e,t){return e.fx-t.fx},b=t.slice(),_=t.slice(),S=t.slice(),O=t.slice(),T=0;T<r;++T){if(g.sort(v),a.history){var $=g.map((function(e){var t=e.slice();return t.fx=e.fx,t.id=e.id,t}));$.sort((function(e,t){return e.id-t.id})),a.history.push({x:g[0].slice(),fx:g[0].fx,simplex:$})}for(n=0,f=0;f<h;++f)n=Math.max(n,Math.abs(g[0][f]-g[1][f]));if(Math.abs(g[0].fx-g[h].fx)<l&&n<c)break;for(f=0;f<h;++f){b[f]=0;for(var x=0;x<h;++x)b[f]+=g[x][f];b[f]/=h}var L=g[h];if(i(_,1+u,b,-u,L),_.fx=e(_),_.fx<g[0].fx)i(O,1+d,b,-d,L),O.fx=e(O),O.fx<_.fx?E(O):E(_);else if(_.fx>=g[h-1].fx){var A=!1;if(_.fx>L.fx?(i(S,1+m,b,-m,L),S.fx=e(S),S.fx<L.fx?E(S):A=!0):(i(S,1-m*u,b,m*u,L),S.fx=e(S),S.fx<_.fx?E(S):A=!0),A){if(p>=1)break;for(f=1;f<g.length;++f)i(g[f],1-p,g[0],p,g[f]),g[f].fx=e(g[f])}}else E(_)}return g.sort(v),{fx:g[0].fx,x:g[0]}},e.conjugateGradient=function(e,t,s){var l,c,u,d={x:t.slice(),fx:0,fxprime:t.slice()},m={x:t.slice(),fx:0,fxprime:t.slice()},p=t.slice(),h=1;u=(s=s||{}).maxIterations||20*t.length,d.fx=e(d.x,d.fxprime),r(l=d.fxprime.slice(),d.fxprime,-1);for(var g=0;g<u;++g){if(h=o(e,l,d,m,h),s.history&&s.history.push({x:d.x.slice(),fx:d.fx,fxprime:d.fxprime.slice(),alpha:h}),h){i(p,1,m.fxprime,-1,d.fxprime);var f=a(d.fxprime,d.fxprime);i(l,Math.max(0,a(p,m.fxprime)/f),l,-1,m.fxprime),c=d,d=m,m=c}else r(l,d.fxprime,-1);if(n(d.fxprime)<=1e-5)break}return s.history&&s.history.push({x:d.x.slice(),fx:d.fx,fxprime:d.fxprime.slice(),alpha:h}),d},e.gradientDescent=function(e,t,a){for(var r=(a=a||{}).maxIterations||100*t.length,o=a.learnRate||.001,s={x:t.slice(),fx:0,fxprime:t.slice()},l=0;l<r&&(s.fx=e(s.x,s.fxprime),a.history&&a.history.push({x:s.x.slice(),fx:s.fx,fxprime:s.fxprime.slice()}),i(s.x,1,s.x,-o,s.fxprime),!(n(s.fxprime)<=1e-5));++l);return s},e.gradientDescentLineSearch=function(e,t,a){a=a||{};var i,s={x:t.slice(),fx:0,fxprime:t.slice()},l={x:t.slice(),fx:0,fxprime:t.slice()},c=a.maxIterations||100*t.length,u=a.learnRate||1,d=t.slice(),m=a.c1||.001,p=a.c2||.1,h=[];if(a.history){var g=e;e=function(e,t){return h.push(e.slice()),g(e,t)}}s.fx=e(s.x,s.fxprime);for(var f=0;f<c&&(r(d,s.fxprime,-1),u=o(e,d,s,l,u,m,p),a.history&&(a.history.push({x:s.x.slice(),fx:s.fx,fxprime:s.fxprime.slice(),functionCalls:h,learnRate:u,alpha:u}),h=[]),i=s,s=l,l=i,!(0===u||n(s.fxprime)<1e-5));++f);return s},e.zeros=t,e.zerosM=function(e,a){return t(e).map((function(){return t(a)}))},e.norm2=n,e.weightedSum=i,e.scale=r}(t)},542:function(e){e.exports=(()=>{"use strict";var e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{getLocale:()=>r,numberLocales:()=>a,timeLocales:()=>n});const a={"ar-AE":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.إ."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-BH":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ب."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-DJ":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏Fdj ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-DZ":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ج. ",""]}'),"ar-EG":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ج.م."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-IL":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["₪ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-IQ":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ع."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-JO":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.أ."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-KM":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ف.ج.ق."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-KW":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," د.ك."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-LB":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ل.ل."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-LY":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ل. ",""]}'),"ar-MA":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.م. ",""]}'),"ar-OM":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ع."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-PS":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["₪ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-QA":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ق."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SA":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SD":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ج.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SO":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏S ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SS":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["£ ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-SY":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ل.س."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-TD":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":["‏FCFA ",""],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ar-TN":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["د.ت. ",""]}'),"ar-YE":JSON.parse('{"decimal":"٫","thousands":"٬","grouping":[3],"currency":[""," ر.ى."],"numerals":["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"]}'),"ca-ES":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"cs-CZ":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," Kč"]}'),"da-DK":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," kr"]}'),"de-CH":JSON.parse('{"decimal":",","thousands":"\'","grouping":[3],"currency":[""," CHF"]}'),"de-DE":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"en-CA":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"en-GB":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["£",""]}'),"en-IE":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["€",""]}'),"en-IN":JSON.parse('{"decimal":".","thousands":",","grouping":[3,2,2,2,2,2,2,2,2,2],"currency":["₹",""]}'),"en-US":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"es-BO":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["Bs ",""],"percent":" %"}'),"es-ES":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"es-MX":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["$",""]}'),"fi-FI":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"]}'),"fr-CA":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":["","$"]}'),"fr-FR":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"],"percent":" %"}'),"he-IL":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["₪",""]}'),"hu-HU":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," Ft"]}'),"it-IT":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["€",""]}'),"ja-JP":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["","円"]}'),"ko-KR":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["₩",""]}'),"mk-MK":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," ден."]}'),"nl-NL":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["€ ",""]}'),"pl-PL":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["","zł"]}'),"pt-BR":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":["R$",""]}'),"pt-PT":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," €"]}'),"ru-RU":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," ₽"]}'),"sl-SI":JSON.parse('{"decimal":",","thousands":".","grouping":[3],"currency":[""," €"]}'),"sv-SE":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," kr"]}'),"uk-UA":JSON.parse('{"decimal":",","thousands":" ","grouping":[3],"currency":[""," ₴."]}'),"zh-CN":JSON.parse('{"decimal":".","thousands":",","grouping":[3],"currency":["¥",""]}')},n={"ar-EG":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["ص","م"],"days":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"shortDays":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"months":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"shortMonths":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"]}'),"ar-SY":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["ص","م"],"days":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"shortDays":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"months":["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],"shortMonths":["ك٢","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","ت١","ت٢","ك١"]}'),"ca-ES":JSON.parse('{"dateTime":"%A, %e de %B de %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],"shortDays":["dg.","dl.","dt.","dc.","dj.","dv.","ds."],"months":["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],"shortMonths":["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}'),"cs-CZ":JSON.parse('{"dateTime":"%A,%e.%B %Y, %X","date":"%-d.%-m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["neděle","pondělí","úterý","středa","čvrtek","pátek","sobota"],"shortDays":["ne.","po.","út.","st.","čt.","pá.","so."],"months":["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],"shortMonths":["led","úno","břez","dub","kvě","čer","červ","srp","zář","říj","list","pros"]}'),"da-DK":JSON.parse('{"dateTime":"%A den %d %B %Y %X","date":"%d-%m-%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"shortDays":["søn","man","tir","ons","tor","fre","lør"],"months":["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],"shortMonths":["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"]}'),"de-CH":JSON.parse('{"dateTime":"%A, der %e. %B %Y, %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"shortDays":["So","Mo","Di","Mi","Do","Fr","Sa"],"months":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"shortMonths":["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}'),"de-DE":JSON.parse('{"dateTime":"%A, der %e. %B %Y, %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"shortDays":["So","Mo","Di","Mi","Do","Fr","Sa"],"months":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"shortMonths":["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}'),"en-CA":JSON.parse('{"dateTime":"%a %b %e %X %Y","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"en-GB":JSON.parse('{"dateTime":"%a %e %b %X %Y","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"en-US":JSON.parse('{"dateTime":"%x, %X","date":"%-m/%-d/%Y","time":"%-I:%M:%S %p","periods":["AM","PM"],"days":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shortDays":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}'),"es-ES":JSON.parse('{"dateTime":"%A, %e de %B de %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"shortDays":["dom","lun","mar","mié","jue","vie","sáb"],"months":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"shortMonths":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}'),"es-MX":JSON.parse('{"dateTime":"%x, %X","date":"%d/%m/%Y","time":"%-I:%M:%S %p","periods":["AM","PM"],"days":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"shortDays":["dom","lun","mar","mié","jue","vie","sáb"],"months":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"shortMonths":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}'),"fa-IR":JSON.parse('{"dateTime":"%x, %X","date":"%-d/%-m/%Y","time":"%-I:%M:%S %p","periods":["صبح","عصر"],"days":["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"shortDays":["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"months":["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],"shortMonths":["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"]}'),"fi-FI":JSON.parse('{"dateTime":"%A, %-d. %Bta %Y klo %X","date":"%-d.%-m.%Y","time":"%H:%M:%S","periods":["a.m.","p.m."],"days":["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],"shortDays":["Su","Ma","Ti","Ke","To","Pe","La"],"months":["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],"shortMonths":["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}'),"fr-CA":JSON.parse('{"dateTime":"%a %e %b %Y %X","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["",""],"days":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"shortDays":["dim","lun","mar","mer","jeu","ven","sam"],"months":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"shortMonths":["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}'),"fr-FR":JSON.parse('{"dateTime":"%A %e %B %Y à %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"shortDays":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"months":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"shortMonths":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}'),"he-IL":JSON.parse('{"dateTime":"%A, %e ב%B %Y %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],"shortDays":["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],"months":["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],"shortMonths":["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}'),"hr-HR":JSON.parse('{"dateTime":"%A, %e. %B %Y., %X","date":"%d. %m. %Y.","time":"%H:%M:%S","periods":["AM","PM"],"days":["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvtrak","Petak","Subota"],"shortDays":["Ne","Po","Ut","Sr","Če","Pe","Su"],"months":["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],"shortMonths":["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"]}'),"hu-HU":JSON.parse('{"dateTime":"%Y. %B %-e., %A %X","date":"%Y. %m. %d.","time":"%H:%M:%S","periods":["de.","du."],"days":["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],"shortDays":["V","H","K","Sze","Cs","P","Szo"],"months":["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],"shortMonths":["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}'),"it-IT":JSON.parse('{"dateTime":"%A %e %B %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],"shortDays":["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],"months":["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],"shortMonths":["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}'),"ja-JP":JSON.parse('{"dateTime":"%x %a %X","date":"%Y/%m/%d","time":"%H:%M:%S","periods":["AM","PM"],"days":["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],"shortDays":["日","月","火","水","木","金","土"],"months":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"shortMonths":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}'),"ko-KR":JSON.parse('{"dateTime":"%Y/%m/%d %a %X","date":"%Y/%m/%d","time":"%H:%M:%S","periods":["오전","오후"],"days":["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],"shortDays":["일","월","화","수","목","금","토"],"months":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"shortMonths":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}'),"mk-MK":JSON.parse('{"dateTime":"%A, %e %B %Y г. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["недела","понеделник","вторник","среда","четврток","петок","сабота"],"shortDays":["нед","пон","вто","сре","чет","пет","саб"],"months":["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],"shortMonths":["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}'),"nb-NO":JSON.parse('{"dateTime":"%A den %d. %B %Y %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"shortDays":["søn","man","tir","ons","tor","fre","lør"],"months":["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],"shortMonths":["jan","feb","mars","apr","mai","juni","juli","aug","sep","okt","nov","des"]}'),"nl-BE":JSON.parse('{"dateTime":"%a %e %B %Y %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"shortDays":["zo","ma","di","wo","do","vr","za"],"months":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"shortMonths":["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}'),"nl-NL":JSON.parse('{"dateTime":"%a %e %B %Y %X","date":"%d-%m-%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"shortDays":["zo","ma","di","wo","do","vr","za"],"months":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"shortMonths":["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}'),"pl-PL":JSON.parse('{"dateTime":"%A, %e %B %Y, %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],"shortDays":["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],"months":["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],"shortMonths":["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}'),"pt-BR":JSON.parse('{"dateTime":"%A, %e de %B de %Y. %X","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],"shortDays":["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],"months":["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],"shortMonths":["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}'),"ru-RU":JSON.parse('{"dateTime":"%A, %e %B %Y г. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],"shortDays":["вс","пн","вт","ср","чт","пт","сб"],"months":["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],"shortMonths":["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}'),"sv-SE":JSON.parse('{"dateTime":"%A den %d %B %Y %X","date":"%Y-%m-%d","time":"%H:%M:%S","periods":["fm","em"],"days":["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],"shortDays":["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],"months":["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],"shortMonths":["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}'),"tr-TR":JSON.parse('{"dateTime":"%a %e %b %X %Y","date":"%d/%m/%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],"shortDays":["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],"months":["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],"shortMonths":["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"]}'),"uk-UA":JSON.parse('{"dateTime":"%A, %e %B %Y р. %X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["дп","пп"],"days":["неділя","понеділок","вівторок","середа","четвер","п\'ятниця","субота"],"shortDays":["нд","пн","вт","ср","чт","пт","сб"],"months":["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],"shortMonths":["січ.","лют.","бер.","квіт.","трав.","черв.","лип.","серп.","вер.","жовт.","лист.","груд."]}'),"zh-CN":JSON.parse('{"dateTime":"%x %A %X","date":"%Y年%-m月%-d日","time":"%H:%M:%S","periods":["上午","下午"],"days":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"shortDays":["周日","周一","周二","周三","周四","周五","周六"],"months":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],"shortMonths":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}'),"zh-TW":JSON.parse('{"dateTime":"%x %A %X","date":"%Y年%-m月%-d日","time":"%H:%M:%S","periods":["上午","下午"],"days":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"shortDays":["日","一","二","三","四","五","六"],"months":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],"shortMonths":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}')},r=(e="en-US")=>{var t,r;return"string"==typeof e?{number:null!==(t=a[e])&&void 0!==t?t:a["en-US"],time:null!==(r=n[e])&&void 0!==r?r:n["en-US"]}:{number:i(e.number),time:o(e.time)}},i=e=>{var t;return"string"==typeof e?null!==(t=a[e])&&void 0!==t?t:a["en-US"]:e},o=e=>{var t;return"string"==typeof e?null!==(t=n[e])&&void 0!==t?t:n["en-US"]:e};return t})()},633:t=>{"use strict";t.exports=e},274:e=>{"use strict";e.exports=t},365:e=>{"use strict";e.exports=a}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e].call(a.exports,a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";i.r(o),i.d(o,{addData:()=>Ps,addUserMetaInteractiveMark:()=>ge,baseData:()=>ce,buildSpec:()=>bs,expressionFunctions:()=>pl,formatHorizontalTimeAxisLabels:()=>sl,formatLocaleCurrency:()=>ol,formatShortNumber:()=>il,formatTimeDurationLabels:()=>cl,formatVerticalAxisTimeLabels:()=>ll,getChartConfig:()=>he,getColorScale:()=>As,getD3FormatSpecifierFromNumberFormat:()=>pe,getDefaultSignals:()=>Os,getDimensionField:()=>me,getExpressionFunctions:()=>rl,getFacetsFromOptions:()=>te,getFacetsFromScales:()=>ae,getLineTypeScale:()=>Ds,getLineWidthPixelsFromLineWidth:()=>re,getLineWidthScale:()=>Ns,getLinearColorScale:()=>Is,getOpacityScale:()=>js,getPathFromIcon:()=>oe,getPathFromSymbolShape:()=>ie,getStrokeDashFromLineType:()=>ne,getSymbolPathWidthScale:()=>Cs,getSymbolShapeScale:()=>Rs,getSymbolSizeScale:()=>Ms,getSymbolWidthFromRscSymbolSize:()=>le,getTwoDimensionalColorScheme:()=>Ts,getTwoDimensionalLineTypes:()=>$s,getTwoDimensionalOpacities:()=>xs,getVegaEmbedOptions:()=>hl,getVegaSymbolSizeFromRscSymbolSize:()=>se,initializeSpec:()=>ue,isColorScale:()=>Hs,isColors:()=>ws,isLineTypeArray:()=>zs,isNumberArray:()=>Gs,isStrokeDashArray:()=>Bs,isSymbolShapeArray:()=>Us,mergeValuesIntoData:()=>de,removeUnusedScales:()=>_s});var e=Symbol.for("immer-nothing"),t=Symbol.for("immer-draftable"),a=Symbol.for("immer-state");function n(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var r=Object.getPrototypeOf;function s(e){return!!e&&!!e[a]}function l(e){return!!e&&(u(e)||Array.isArray(e)||!!e[t]||!!e.constructor?.[t]||g(e)||f(e))}var c=Object.prototype.constructor.toString();function u(e){if(!e||"object"!=typeof e)return!1;const t=r(e);if(null===t)return!0;const a=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return a===Object||"function"==typeof a&&Function.toString.call(a)===c}function d(e,t){0===m(e)?Reflect.ownKeys(e).forEach((a=>{t(a,e[a],e)})):e.forEach(((a,n)=>t(n,a,e)))}function m(e){const t=e[a];return t?t.type_:Array.isArray(e)?1:g(e)?2:f(e)?3:0}function p(e,t){return 2===m(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function h(e,t,a){const n=m(e);2===n?e.set(t,a):3===n?e.add(a):e[t]=a}function g(e){return e instanceof Map}function f(e){return e instanceof Set}function y(e){return e.copy_||e.base_}function E(e,t){if(g(e))return new Map(e);if(f(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=u(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[a];let n=Reflect.ownKeys(t);for(let a=0;a<n.length;a++){const r=n[a],i=t[r];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[r]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[r]})}return Object.create(r(e),t)}{const t=r(e);if(null!==t&&n)return{...e};const a=Object.create(t);return Object.assign(a,e)}}function v(e,t=!1){return _(e)||s(e)||!l(e)||(m(e)>1&&(e.set=e.add=e.clear=e.delete=b),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>v(t,!0)))),e}function b(){n(2)}function _(e){return Object.isFrozen(e)}var S,O={};function T(e){const t=O[e];return t||n(0),t}function $(){return S}function x(e,t){t&&(T("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function L(e){A(e),e.drafts_.forEach(D),e.drafts_=null}function A(e){e===S&&(S=e.parent_)}function I(e){return S={drafts_:[],parent_:S,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function D(e){const t=e[a];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function R(t,r){r.unfinalizedDrafts_=r.drafts_.length;const i=r.drafts_[0];return void 0!==t&&t!==i?(i[a].modified_&&(L(r),n(4)),l(t)&&(t=M(r,t),r.parent_||N(r,t)),r.patches_&&T("Patches").generateReplacementPatches_(i[a].base_,t,r.patches_,r.inversePatches_)):t=M(r,i,[]),L(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),t!==e?t:void 0}function M(e,t,n){if(_(t))return t;const r=t[a];if(!r)return d(t,((a,i)=>C(e,r,t,a,i,n))),t;if(r.scope_!==e)return t;if(!r.modified_)return N(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const t=r.copy_;let a=t,i=!1;3===r.type_&&(a=new Set(t),t.clear(),i=!0),d(a,((a,o)=>C(e,r,t,a,o,n,i))),N(e,t,!1),n&&e.patches_&&T("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function C(e,t,a,n,r,i,o){if(s(r)){const o=M(e,r,i&&t&&3!==t.type_&&!p(t.assigned_,n)?i.concat(n):void 0);if(h(a,n,o),!s(o))return;e.canAutoFreeze_=!1}else o&&a.add(r);if(l(r)&&!_(r)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;M(e,r),t&&t.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(a,n)||N(e,r)}}function N(e,t,a=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&v(t,a)}var j={get(e,t){if(t===a)return e;const n=y(e);if(!p(n,t))return function(e,t,a){const n=P(t,a);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}(e,n,t);const r=n[t];return e.finalized_||!l(r)?r:r===F(e.base_,t)?(w(e),e.copy_[t]=z(r,e)):r},has:(e,t)=>t in y(e),ownKeys:e=>Reflect.ownKeys(y(e)),set(e,t,n){const r=P(y(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=F(y(e),t),s=r?.[a];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||p(e.base_,t)))return!0;w(e),H(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==F(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,w(e),H(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const a=y(e),n=Reflect.getOwnPropertyDescriptor(a,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:a[t]}:n},defineProperty(){n(11)},getPrototypeOf:e=>r(e.base_),setPrototypeOf(){n(12)}},k={};function F(e,t){const n=e[a];return(n?y(n):e)[t]}function P(e,t){if(!(t in e))return;let a=r(e);for(;a;){const e=Object.getOwnPropertyDescriptor(a,t);if(e)return e;a=r(a)}}function H(e){e.modified_||(e.modified_=!0,e.parent_&&H(e.parent_))}function w(e){e.copy_||(e.copy_=E(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function z(e,t){const a=g(e)?T("MapSet").proxyMap_(e,t):f(e)?T("MapSet").proxySet_(e,t):function(e,t){const a=Array.isArray(e),n={type_:a?1:0,scope_:t?t.scope_:$(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let r=n,i=j;a&&(r=[n],i=k);const{revoke:o,proxy:s}=Proxy.revocable(r,i);return n.draft_=s,n.revoke_=o,s}(e,t);return(t?t.scope_:$()).drafts_.push(a),a}function B(e){if(!l(e)||_(e))return e;const t=e[a];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=E(e,t.scope_.immer_.useStrictShallowCopy_)}else n=E(e,!0);return d(n,((e,t)=>{h(n,e,B(t))})),t&&(t.finalized_=!1),n}d(j,((e,t)=>{k[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),k.deleteProperty=function(e,t){return k.set.call(this,e,t,void 0)},k.set=function(e,t,a){return j.set.call(this,e[0],t,a,e[0])};var G=new class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,a,r)=>{if("function"==typeof t&&"function"!=typeof a){const e=a;a=t;const n=this;return function(t=e,...r){return n.produce(t,(e=>a.call(this,e,...r)))}}let i;if("function"!=typeof a&&n(6),void 0!==r&&"function"!=typeof r&&n(7),l(t)){const e=I(this),n=z(t,void 0);let o=!0;try{i=a(n),o=!1}finally{o?L(e):A(e)}return x(e,r),R(i,e)}if(!t||"object"!=typeof t){if(i=a(t),void 0===i&&(i=t),i===e&&(i=void 0),this.autoFreeze_&&v(i,!0),r){const e=[],a=[];T("Patches").generateReplacementPatches_(t,i,e,a),r(e,a)}return i}n(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...a)=>this.produceWithPatches(t,(t=>e(t,...a)));let a,n;return[this.produce(e,t,((e,t)=>{a=e,n=t})),a,n]},"boolean"==typeof t?.autoFreeze&&this.setAutoFreeze(t.autoFreeze),"boolean"==typeof t?.useStrictShallowCopy&&this.setUseStrictShallowCopy(t.useStrictShallowCopy)}createDraft(e){var t;l(e)||n(8),s(e)&&(s(t=e)||n(10),e=B(t));const r=I(this),i=z(e,void 0);return i[a].isManual_=!0,A(r),i}finishDraft(e,t){const r=e&&e[a];r&&r.isManual_||n(9);const{scope_:i}=r;return x(i,t),R(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let a;for(a=t.length-1;a>=0;a--){const n=t[a];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}a>-1&&(t=t.slice(a+1));const n=T("Patches").applyPatches_;return s(e)?n(e,t):this.produce(e,(e=>n(e,t)))}},U=G.produce;G.produceWithPatches.bind(G),G.setAutoFreeze.bind(G),G.setUseStrictShallowCopy.bind(G),G.applyPatches.bind(G),G.createDraft.bind(G),G.finishDraft.bind(G);var V=i(633),W=i(274),J=i(365);const Y=U(((e,t)=>{-1===e.findIndex((e=>"timeunit"===e.type))&&e.push({type:"formula",expr:`toDate(datum["${t}"])`,as:t},{type:"timeunit",field:t,units:["year","month","date","hours","minutes","seconds"],as:[V.DEFAULT_TRANSFORMED_TIME_DIMENSION,`${V.DEFAULT_TIME_DIMENSION}1`]})})),K=e=>{if(e)return{field:e}},X=e=>e.find((e=>e.name===V.TABLE)),q=e=>e.find((e=>e.name===V.FILTERED_TABLE)),Z=e=>{if(0===e.length)return[];const t=e.map((e=>`datum.${e}`)).join(' + " | " + ');return[{type:"formula",as:V.SERIES_ID,expr:t}]},Q=e=>{var t;const a=null===(t=e[0])||void 0===t?void 0:t.excludeDataKeys,n=null==a?void 0:a.map((e=>({type:"filter",expr:`!datum.${e}`})));return{name:`${V.FILTERED_TABLE}ForTooltip`,source:V.FILTERED_TABLE,transform:n}},ee=require("vega"),te=({color:e,lineType:t,opacity:a,size:n})=>{let r=[e,t,a,n].map((e=>Array.isArray(e)?e[0]:e)).filter((e=>"string"==typeof e));r=[...new Set(r)];let i=[e,t,a].map((e=>Array.isArray(e)?e[1]:void 0)).filter((e=>"string"==typeof e));return i=[...new Set(i)],{facets:r,secondaryFacets:i}},ae=(e=[])=>{const t=[V.COLOR_SCALE,V.LINE_TYPE_SCALE,V.OPACITY_SCALE,"secondaryColor","secondaryLineType","secondaryOpacity"].reduce(((t,a)=>{const n=e.find((e=>e.name===a));return(null==n?void 0:n.domain)&&"fields"in n.domain&&n.domain.fields.length?[...t,n.domain.fields[0].toString()]:t}),[]);return[...new Set(t)]},ne=e=>{if(Array.isArray(e))return e;switch(e){case"dashed":return[7,4];case"dotted":return[2,3];case"dotDash":return[2,3,7,4];case"shortDash":return[3,4];case"longDash":return[11,4];case"twoDash":return[5,2,11,2];default:return[]}},re=e=>{if("number"==typeof e)return e;switch(e){case"XS":return 1;case"S":return 1.5;case"L":return 3;case"XL":return 4;default:return 2}},ie=e=>"rounded-square"===e?V.ROUNDED_SQUARE_PATH:e,oe=e=>({date:V.DATE_PATH,sentimentNegative:V.SENTIMENT_NEGATIVE_PATH,sentimentNeutral:V.SENTIMENT_NEUTRAL_PATH,sentimentPositive:V.SENTIMENT_POSITIVE_PATH}[e]||e),se=e=>Math.pow(le(e),2),le=e=>{if("number"==typeof e)return e;switch(e){case"XS":return 6;case"S":return 8;case"L":return 12;case"XL":return 16;default:return 10}},ce=[{name:V.TABLE,values:[],transform:[{type:"identifier",as:V.MARK_ID}]},{name:V.FILTERED_TABLE,source:V.TABLE}],ue=(e={},t={})=>{const{backgroundColor:a,colorScheme:n="light",description:r,title:i}=t,o={usermeta:{},title:i||void 0,description:r,data:ce,background:a?(0,W.getColorValue)(a,n):void 0};return Object.assign(Object.assign({},o),e||{})},de=(e,t)=>e.map((e=>{const a=t[e.name];return a&&(e.values=a),e})),me=(e,t)=>"time"===t?V.DEFAULT_TRANSFORMED_TIME_DIMENSION:e,pe=e=>{switch(e){case"currency":return"$,.2f";case"standardNumber":return",";default:return e}};function he(e,t){const a=(0,W.getSpectrumVegaConfig)(t);return e?(0,ee.mergeConfig)(a,e):a}const ge=U(((e,t)=>{var a;e.interactiveMarks=[...null!==(a=e.interactiveMarks)&&void 0!==a?a:[],...t?[t]:[]]})),fe=(e,t,a,n,r)=>{const i=n||(0,J.toCamelCase)(`${a} ${t}`);let o=e.findIndex((e=>e.name===i));return-1===o&&(o=e.length,e.push(Oe(t,a,Object.assign({name:i},r?{domain:{data:r,fields:[]}}:{})))),o},ye=(e,t,a)=>{let n=e.findIndex((e=>e.name===t));return-1===n&&(n=e.length,e.push({name:t,type:a})),n},Ee=U(((e,t)=>(t.forEach((t=>{Ie(e.domain)?e.domain.fields.includes(t)||e.domain.fields.push(t):e.domain={data:V.TABLE,fields:[t]}})),e))),ve=(e,{scaleType:t,dimension:a,padding:n})=>{const r=fe(e,t,"x"),i=[me(a,t)];e[r]=Ee(e[r],i),void 0!==n&&(e[r]=be(e[r],n))},be=U(((e,t)=>{"padding"in e&&(e.padding=t),"paddingOuter"in e&&(e.paddingOuter=t)})),_e=(e,t,a="y",n,r)=>{const i=fe(e,"linear",a,n,r);e[i]=Ee(e[i],t)},Se=(e,t,a)=>{if("string"==typeof a||Array.isArray(a)&&a.length){const n=ye(e,t),r=Array.isArray(a)?a[0]:a;e[n]=Ee(e[n],[r])}},Oe=(e,t,a)=>Object.assign(Object.assign({},Te(e,t)),a),Te=(e,t,a="vertical")=>{const n=t==={vertical:"x",horizontal:"y"}[a],r=Object.assign({name:(0,J.toCamelCase)(`${t} ${e}`),type:e,range:"x"===t?"width":"height",domain:{data:V.FILTERED_TABLE,fields:[]}},n?$e(e):{});if("ordinal"===r.type){const{name:e,type:t,domain:a}=r;return{name:e,type:t,domain:a}}return"linear"!==r.type||n?r:Object.assign(Object.assign({},r),{nice:!0,zero:!0})},$e=e=>{switch(e){case"band":{const{paddingInner:e,paddingOuter:t}=xe(V.PADDING_RATIO);return{paddingInner:e,paddingOuter:t}}case"linear":case"time":return{padding:V.LINEAR_PADDING};case"point":return{paddingOuter:V.DISCRETE_PADDING};default:return{}}},xe=(e,t)=>{const a=e;return{paddingInner:a,paddingOuter:void 0===t?V.DISCRETE_PADDING-(1-a)/2:t}},Le=(e,t)=>(0,J.toCamelCase)(`${e} ${t}`),Ae=(e,t)=>({name:e,type:"ordinal",range:t,domain:{data:V.TABLE,fields:[]}}),Ie=e=>Boolean(e&&!Array.isArray(e)&&"data"in e&&"fields"in e),De=(e,t)=>{if(t||e.length)return{value:"pointer"}};function Re(e,t,a,n){if(e.length){const r={signal:`merge(${a?"datum.datum":"datum"}, {'${V.COMPONENT_NAME}': '${t}'}${n?`, ${JSON.stringify(n)}`:""})`},i=e[0].excludeDataKeys;return(null==i?void 0:i.length)?[...i.map((e=>({test:`datum.${e}`,signal:"false"}))),r]:r}}const Me=(e,t=!1)=>e?{stroke:{signal:V.BACKGROUND_COLOR},strokeWidth:{value:t?1.5:1},strokeJoin:{value:"round"}}:{},Ce=e=>{const t="hasOnClick"in e&&e.hasOnClick,a="metricRanges"in e&&e.metricRanges||[],n="trendlines"in e&&e.trendlines||[];return t||Ne(e)||je(e)||n.some((e=>e.displayOnHover))||a.some((e=>e.displayOnHover))},Ne=e=>{var t;return Boolean("chartPopovers"in e&&(null===(t=e.chartPopovers)||void 0===t?void 0:t.length))},je=e=>{var t;return Boolean("chartTooltips"in e&&(null===(t=e.chartTooltips)||void 0===t?void 0:t.length))},ke=(e,t,a="ordinal")=>{const n="linear"===a?V.LINEAR_COLOR_SCALE:V.COLOR_SCALE;return Array.isArray(e)?{signal:`scale('colors', datum.${e[0]})[indexof(domain('secondaryColor'), datum.${e[1]})% length(scale('colors', datum.${e[0]}))]`}:"string"==typeof e?{scale:n,field:e}:{value:(0,W.getColorValue)(e.value,t)}},Fe=e=>{if(e)return Array.isArray(e)?{signal:`scale('lineWidths', datum.${e[0]})[indexof(domain('secondaryLineWidth'), datum.${e[1]})% length(scale('lineWidths', datum.${e[0]}))]`}:"string"==typeof e?{scale:V.LINE_WIDTH_SCALE,field:e}:{value:re(e.value)}},Pe=e=>Array.isArray(e)?{signal:`scale('opacities', datum.${e[0]})[indexof(domain('secondaryOpacity'), datum.${e[1]})% length(scale('opacities', datum.${e[0]}))]`}:"string"==typeof e?{signal:`scale('${V.OPACITY_SCALE}', datum.${e})`}:{value:e.value},He=e=>"string"==typeof e?{scale:V.SYMBOL_SIZE_SCALE,field:e}:{value:se(e.value)},we=e=>Array.isArray(e)?{signal:`scale('lineTypes', datum.${e[0]})[indexof(domain('secondaryLineType'), datum.${e[1]})% length(scale('lineTypes', datum.${e[0]}))]`}:"string"==typeof e?{scale:V.LINE_TYPE_SCALE,field:e}:{value:ne(e.value)},ze=(e,t)=>{const a=Le("x",e);return"time"===e?{scale:a,field:V.DEFAULT_TRANSFORMED_TIME_DIMENSION}:{scale:a,field:t}},Be=(e,t)=>({scale:e||"yLinear",field:t}),Ge=(e,t,a,n,r,i)=>({name:`${n}_pointsForVoronoi`,description:`${n}_pointsForVoronoi`,type:"symbol",from:{data:e},interactive:!1,encode:{enter:{y:Be(i,a),fill:{value:"transparent"},stroke:{value:"transparent"}},update:{x:ze(r,t)}}}),Ue=(e,t)=>{const{chartPopovers:a,chartTooltips:n,name:r}=e,i="hasOnClick"in e&&e.hasOnClick;return{name:`${r}_voronoi`,description:`${r}_voronoi`,type:"path",from:{data:t},encode:{enter:{fill:{value:"transparent"},stroke:{value:"transparent"},isVoronoi:{value:!0},tooltip:Re(null!=n?n:[],r,!0)},update:{cursor:De(null!=a?a:[],i)}},transform:[{type:"voronoi",x:"datum.x",y:"datum.y",size:[{signal:"max(width, 1)"},{signal:"max(height, 1)"}]}]}},Ve=(e,t,a,n,r,i,o)=>({name:`${r}_hoverGroup`,type:"group",marks:Je().map(((n,s)=>({name:We(r,s),type:"symbol",from:{data:t},encode:{enter:{shape:{value:V.HOVER_SHAPE},y:o,fill:{value:"transparent"},stroke:{value:"transparent"},tooltip:Re(e,r,!1),size:Ke(n)},update:{x:ze(i,a)}}})))}),We=(e,t)=>`${e}_hover${t}`,Je=()=>new Array(V.HOVER_SHAPE_COUNT).fill(0).map(((e,t)=>V.HOVER_SIZE/2**t)),Ye=e=>new Array(V.HOVER_SHAPE_COUNT).fill(0).map(((t,a)=>We(e,a))),Ke=e=>({signal:`${e} * max(width, 1) / 1000`}),Xe=e=>{const{highlightedItem:t,idKey:a,name:n}=e,r=[V.DEFAULT_OPACITY_RULE];return Ce(e)||void 0!==t?(ot(r,e),Ne(e)?[{test:`isValid(${V.SELECTED_ITEM})`,signal:`${V.SELECTED_ITEM} === datum.${a} ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.SELECTED_GROUP})`,signal:`${V.SELECTED_GROUP} === datum.${n}_selectedGroupId ? 1 : ${V.FADE_FACTOR}`},...r]:r):r},qe=(e,t)=>{var a;return Ce(e)||void 0!==e.highlightedItem?t:"trendlines"in e&&(null===(a=e.trendlines)||void 0===a?void 0:a.some((e=>Ce(e))))?`${t}Trendline`:void 0};const Ze=e=>e.chartTooltips.map((t=>Qe(t,e.name))),Qe=(e,t)=>{var{highlightBy:a="item",targets:n=["item"]}=e,r=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["highlightBy","targets"]);return Object.assign({highlightBy:a,markName:t,targets:n},r)},et=(e,t,a=!0)=>{const n=Ze(t);for(const{highlightBy:r,markName:i}of n){if("item"===r)return;const n=q(e);n.transform||(n.transform=[]),"dimension"===r&&"donut"!==t.markType&&"venn"!==t.markType?n.transform.push(tt([t.dimension],i)):"series"===r?n.transform.push(tt([V.SERIES_ID],i)):Array.isArray(r)&&n.transform.push(tt(r,i)),a&&e.push(at(i))}},tt=(e,t)=>({type:"formula",as:`${t}_${V.GROUP_ID}`,expr:e.map((e=>`datum.${e}`)).join(' + " | " + ')}),at=e=>({name:`${e}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.HIGHLIGHTED_GROUP} === datum.${e}_${V.GROUP_ID}`}]}),nt=e=>Ze(e).some((({highlightBy:e})=>e&&"item"!==e)),rt=(e,t)=>{if(nt(t)){const a=e.find((e=>e.name===V.HIGHLIGHTED_GROUP));let n=t.name,r=`datum.${n}_${V.GROUP_ID}`;if("interactionMode"in t&&t.interactionMode===V.INTERACTION_MODE.ITEM)for(const e of Ye(n))it(a,e,r);["scatter","line"].includes(t.markType)&&(r=`datum.${r}`,n+="_voronoi"),it(a,n,r)}},it=(e,t,a)=>{void 0===e.on&&(e.on=[]),e.on.push({events:`@${t}:mouseover`,update:a},{events:`@${t}:mouseout`,update:"null"})},ot=(e,t)=>{var a;const{name:n}=t,r=e.findIndex((e=>{var t;return null===(t=e.test)||void 0===t?void 0:t.includes(V.HOVERED_ITEM)}))+1,i=`${n}_${V.HOVERED_ITEM}`;let o=t.idKey;nt(t)&&(o=`${n}_${V.GROUP_ID}`);const s=[{test:`isValid(${i})`,signal:`${i}.${o} === datum.${o} ? 1 : ${V.FADE_FACTOR}`},{test:`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && length(${V.CONTROLLED_HIGHLIGHTED_ITEM}) > 0 && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t.idKey}) === -1`,value:V.FADE_FACTOR}];if(st(s,t),"comboSiblingNames"in t&&(null===(a=t.comboSiblingNames)||void 0===a?void 0:a.length)){const e=t.comboSiblingNames.map((e=>`isValid(${e}_${V.HOVERED_ITEM})`)).join(" || ");console.log("test",e),s.push({test:e,value:V.FADE_FACTOR})}e.splice(r,0,...s)},st=(e,t)=>{if(!lt(t.chartTooltips)||!("dimension"in t))return;const{name:a,dimension:n}=t,r=`${a}_${V.DIMENSION_HOVER_AREA}_${V.HOVERED_ITEM}`;e.push({test:`isValid(${r})`,signal:`${r}.${n} === datum.${n} ? 1 : ${V.FADE_FACTOR}`})},lt=e=>e.some((({targets:e})=>null==e?void 0:e.includes("dimensionArea"))),ct=(e,t,a)=>{const n=`domain("${e}Entries")[datum.index]`;return t?(null==a?void 0:a.length)?`indexof(pluck(data("${V.FILTERED_TABLE}"),"${e}_${V.GROUP_ID}"), ${n}) !== -1 ? ${n} : null`:`indexof(hiddenSeries, ${n}) === -1 ? ${n} : null`:n},ut=(e,t=null)=>({name:e,value:t}),dt=()=>({name:`${V.FIRST_RSC_SERIES_ID}`,value:null,update:`length(domain("${V.COLOR_SCALE}")) > 0 ? domain("${V.COLOR_SCALE}")[0] : null`}),mt=()=>({name:`${V.LAST_RSC_SERIES_ID}`,value:null,update:`length(domain("${V.COLOR_SCALE}")) > 0 ? peek(domain("${V.COLOR_SCALE}")) : null`}),pt=(e,t,a,n=1,r)=>{a=a||t;const i=`${t}_${V.HOVERED_ITEM}`;let o=e.find((e=>e.name===i));o||(o={description:`Tracks the hovered item for ${t}`,name:i,value:null,on:[]},e.push(o)),void 0===o.on&&(o.on=[]);const s=new Array(n).fill("datum").join("."),l=null==r?void 0:r.map((e=>`${s}.${e}`)).join(" || "),c=l?`(${l}) ? null : ${s}`:s;o.on.push({events:`@${a}:mouseover`,update:c},{events:`@${a}:mouseout`,update:"null"})},ht=(e,t=`${e.name}_facet`)=>{const{name:a,chartPopovers:n,chartTooltips:r,color:i,colorScheme:o,metricStart:s,metricEnd:l,isStacked:c,scaleType:u,dimension:d,opacity:m}=e;return{name:a,description:a,type:"area",from:{data:t},interactive:Ce(e),encode:{enter:Object.assign({y:{scale:"yLinear",field:s},y2:{scale:"yLinear",field:l},fill:ke(i,o),tooltip:Re(null!=r?r:[],a)},Me(c,!0)),update:{x:ft(u,d),cursor:De(null!=n?n:[]),fillOpacity:{value:m},opacity:gt(e)}}}};function gt(e){const{chartPopovers:t,displayOnHover:a,interactiveMarkName:n,isHighlightedByGroup:r,isMetricRange:i,highlightedItem:o,name:s}=e;if(i&&a){const e=[{test:`isValid(${n}_${V.HOVERED_ITEM})`,signal:`${n}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{value:1}];return n&&e.unshift({test:`isValid(${n}_${V.HOVERED_ITEM})`,signal:`${n}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),e}if(!Ce(e)&&!o)return[V.DEFAULT_OPACITY_RULE];const l=[];return r&&l.push({test:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1`,value:1}),!i&&(null==t?void 0:t.length)?[...l,{test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${s}_highlightedData'))`,signal:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},V.DEFAULT_OPACITY_RULE]:[...l,{test:`isValid(${s}_${V.HOVERED_ITEM})`,signal:`${s}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},{test:`length(data('${s}_highlightedData'))`,signal:`indexof(pluck(data('${s}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},V.DEFAULT_OPACITY_RULE]}const ft=(e,t)=>"time"===e?{scale:"xTime",field:V.DEFAULT_TRANSFORMED_TIME_DIMENSION}:"linear"===e?{scale:"xLinear",field:t}:{scale:"xPoint",field:t};const yt=U(((e,t)=>{var a,n,r,i,o,{chartPopovers:s=[],chartTooltips:l=[],color:c=V.DEFAULT_COLOR,colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_TIME_DIMENSION,index:m=0,metric:p=V.DEFAULT_METRIC,metricStart:h,metricEnd:g,name:f,opacity:y=.8,scaleType:E="time"}=t,v=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","dimension","index","metric","metricStart","metricEnd","name","opacity","scaleType"]);const b=(0,J.toCamelCase)(f||`area${m}`),_=Object.assign({chartPopovers:s,chartTooltips:l,color:c,colorScheme:u,dimension:d,index:m,interactiveMarkName:qe({chartPopovers:s,chartTooltips:l,highlightedItem:v.highlightedItem},b),metric:p,name:b,scaleType:E,opacity:y,metricStart:h,metricEnd:g},v);return!h&&!g||h&&g||(console.error(`${g?"metricEnd":"metricStart"} is defined but ${g?"metricStart":"metricEnd"} is not. Both must be defined in order to use the "start and end" method. Defaulting back to 'metric = ${p}'`),_.metricEnd=void 0,_.metricStart=void 0),e.usermeta=ge(null!==(a=e.usermeta)&&void 0!==a?a:[],_.interactiveMarkName),e.data=Et(null!==(n=e.data)&&void 0!==n?n:[],_),e.signals=bt(null!==(r=e.signals)&&void 0!==r?r:[],_),e.scales=St(null!==(i=e.scales)&&void 0!==i?i:[],_),e.marks=Ot(null!==(o=e.marks)&&void 0!==o?o:[],_),e})),Et=U(((e,t)=>{var a,n;const{color:r,dimension:i,highlightedItem:o,metric:s,metricEnd:l,metricStart:c,name:u,order:d,scaleType:m}=t;if("time"===m){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],i)}if(!l||!c){const t=q(e);t.transform=[...null!==(n=t.transform)&&void 0!==n?n:[],{type:"stack",groupby:[i],field:s,sort:K(d),as:[`${s}0`,`${s}1`]}]}if(Ce(t)||void 0!==o){const a=Ne(t),n=je(t);e.push(vt(u,t.idKey,n,a,nt(t))),a&&e.push({name:`${u}_selectedDataSeries`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`isValid(${V.SELECTED_SERIES}) && ${V.SELECTED_SERIES} === datum.${r}`}]})}et(e,t,!1)})),vt=(e,t,a,n,r)=>{let i="";return r?i+=`${e}_controlledHoveredGroup === datum.${e}_${V.GROUP_ID}`:(i+=`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t}) > -1 || ${V.CONTROLLED_HIGHLIGHTED_ITEM} === datum.${t}`,a&&(i=`${e}_controlledHoveredId === datum.${t} || ${i}`)),n&&(i=`isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t} || !isValid(${V.SELECTED_ITEM}) && ${i}`),{name:`${e}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:i}]}},bt=U(((e,t)=>{var a;const{chartTooltips:n,name:r}=t;Ce(t)&&(pt(e,r,void 0,1,null===(a=n[0])||void 0===a?void 0:a.excludeDataKeys),t.highlightedItem&&_t(e,r),nt(t)?e.push((e=>({name:`${e}_controlledHoveredGroup`,value:null,on:[{events:`@${e}:mouseout`,update:"null"}]}))(r)):e.push((e=>({name:`${e}_controlledHoveredId`,value:null,on:[{events:`@${e}:mouseout`,update:"null"}]}))(r)),rt(e,t))})),_t=(e,t)=>{const a=e.find((e=>e.name===V.CONTROLLED_HIGHLIGHTED_ITEM));a&&(void 0===a.on&&(a.on=[]),a.on.push({events:`@${t}:mouseover`,update:"null"}))},St=U(((e,{metric:t,metricEnd:a,metricStart:n,dimension:r,color:i,scaleType:o,padding:s})=>(ve(e,{scaleType:o,dimension:r,padding:s}),Se(e,V.COLOR_SCALE,i),a&&n||(n=`${t}0`,a=`${t}1`),_e(e,[n,a]),e))),Ot=U(((e,t)=>{const{chartPopovers:a,chartTooltips:n,color:r,colorScheme:i,dimension:o,highlightedItem:s,metric:l,name:c,opacity:u,scaleType:d}=t;let{metricStart:m,metricEnd:p}=t,h=!1;return p&&m||(h=!0,m=`${l}0`,p=`${l}1`),e.push({name:`${c}_group`,type:"group",from:{facet:{name:`${c}_facet`,data:V.FILTERED_TABLE,groupby:r}},marks:[ht({chartPopovers:a,chartTooltips:n,color:r,colorScheme:i,dimension:o,isHighlightedByGroup:nt(t),isStacked:h,highlightedItem:s,metricStart:m,metricEnd:p,name:c,opacity:u,scaleType:d}),...Tt(t)]},...xt({chartPopovers:a,name:c,scaleType:d,color:r,dimension:o,metricEnd:p,metricStart:m}),...$t(t)),e})),Tt=e=>{const{name:t,dimension:a,metric:n,scaleType:r}=e;return Ce(e)?[{name:`${t}_anchorPoint`,type:"symbol",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:`${n}1`},stroke:{value:"transparent"},fill:{value:"transparent"}},update:{x:ft(r,a)}}}]:[]},$t=e=>{const{name:t,dimension:a,highlightedItem:n,metric:r,scaleType:i,color:o}=e;if(!Ce(e)&&void 0===n)return[];const s=[{name:`${t}_point`,type:"symbol",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:`${r}1`},stroke:{scale:V.COLOR_SCALE,field:o},fill:{signal:V.BACKGROUND_COLOR}},update:{x:ft(i,a)}}}];return(Ze(e).some((({highlightBy:e})=>"string"==typeof e&&["dimension","item"].includes(e)))||n)&&s.unshift({name:`${t}_rule`,type:"rule",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{value:0},y2:{signal:"height"},strokeWidth:{value:1}},update:{x:ft(i,a)}}}),s},xt=({chartPopovers:e,name:t,scaleType:a,color:n,dimension:r,metricEnd:i,metricStart:o})=>e.length?[{name:`${t}_selectBorder`,type:"area",from:{data:`${t}_selectedDataSeries`},interactive:!1,encode:{enter:{y:{scale:"yLinear",field:o},y2:{scale:"yLinear",field:i},fill:{scale:V.COLOR_SCALE,field:n},stroke:{value:W.spectrumColors.light["static-blue"]},strokeWidth:{value:2},strokeJoin:{value:"round"}},update:{x:ft(a,r)}}}]:[];var Lt=i(743),At=i.n(Lt);const It=(e,{name:t,dataKey:a,color:n,colorScheme:r,options:i,format:o})=>{e.push(Dt(t,i,r)),"summary"===o?e.push(Mt(t,a,n,r)):e.push(Rt(t,a,n,r),Ct(t))},Dt=(e,t,a)=>({name:`${e}_details`,values:t.map((e=>Object.assign(Object.assign({},e),{color:(0,W.getColorValue)(e.color,a)})))}),Rt=(e,t,a,n)=>({name:`${e}_aggregate`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${t}`},{type:"flatten",fields:[t],as:[`${e}_id`]},{type:"aggregate",groupby:[`${e}_id`],fields:["datetime","datetime"],ops:["min","max"]},{type:"formula",expr:"datum.max_datetime - datum.min_datetime",as:"width"},{type:"formula",expr:"datum.width / 2 + datum.min_datetime",as:"center"},{type:"aggregate",groupby:["center"],fields:["min_datetime","max_datetime","width",t,t],ops:["min","max","max","count","values"],as:["lower","upper","width","number","annotations"]},{type:"formula",expr:`datum.annotations[0].${e}_id`,as:"id"},{type:"lookup",from:`${e}_details`,key:"id",values:["color"],fields:["id"]},{type:"formula",expr:`datum.number > 1 || datum.color == null ? '${(0,W.getColorValue)(a,n)}' : datum.color`,as:"color"}]}),Mt=(e,t,a,n)=>({name:`${e}_summary`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${t}`},{type:"flatten",fields:[t],as:[`${e}_id`]},{type:"aggregate",groupby:[`${e}_id`]},{type:"aggregate",groupby:["center"],fields:[t,t],ops:["count","values"],as:["number","annotations"]},{type:"formula",expr:`datum.annotations[0].${e}_id`,as:"id"},{type:"lookup",from:`${e}_details`,key:"id",values:["color"],fields:["id"]},{type:"formula",expr:`datum.number > 1 || datum.color == null ? '${(0,W.getColorValue)(a,n)}' : datum.color`,as:"color"}]}),Ct=e=>({name:`${e}_range`,source:`${e}_aggregate`,transform:[{type:"filter",expr:`${e}_highlighted && datum.center == ${e}_highlighted.center && ${e}_highlighted.width > 0`}]}),Nt=(e,{name:t,format:a})=>{"span"===a&&e.push(jt(t),kt(t),Ft(t))},jt=e=>({name:`${e}_highlighted`,value:null,on:[{events:`@${e}_icon:mouseover`,update:"datum"},{events:`@${e}_icon:mouseout`,update:`${e}_clicked`}]}),kt=e=>({name:`${e}_clicked`,value:{},on:[{events:{markname:`${e}_icon`,type:"mousedown",between:[{type:"mousedown"},{type:"mouseup"}]},update:"datum"},{events:"window:mouseup",update:"{}"}]}),Ft=e=>({name:`${e}_selected`,update:`${e}_clicked.center`}),Pt=(e,t,a)=>{const{format:n}=t;"summary"===n?e.push(Ht(t)):e.push(wt(t,a))},Ht=({chartPopovers:e,name:t,offset:a})=>({name:`${t}_group`,type:"group",from:{data:`${t}_summary`},marks:[{name:`${t}_icon`,type:"path",from:{data:`${t}_summary`},zindex:2,encode:{enter:{stroke:{value:"transparent"},strokeWidth:{value:2},cursor:De(e)},update:{path:{signal:`'${V.ANNOTATION_SINGLE_ICON_SVG}'`},fill:{field:"color"},xc:{signal:"width - 12"},yc:{signal:`height + ${a}`}}}}]}),wt=({chartPopovers:e,name:t,offset:a},n)=>({name:`${t}_group`,type:"group",marks:[{name:`${t}_range`,type:"group",marks:[{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"lower",band:.5},y:{signal:`height + ${a}`},width:{value:2},height:{value:-4},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}},{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"lower",band:.5},y:{signal:`height + ${a}`},x2:{scale:n,field:"upper",band:.5},height:{value:2},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}},{type:"rect",from:{data:`${t}_range`},encode:{update:{x:{scale:n,field:"upper",band:.5},y:{signal:`height + ${a} + 2`},width:{value:2},height:{value:-6},fill:{field:"color"},fillOpacity:{signal:`${t}_selected ? 1.0 : 0.2`}}}}]},{name:`${t}_icon`,type:"path",from:{data:`${t}_aggregate`},encode:{enter:{stroke:{value:"transparent"},strokeWidth:{value:2},cursor:De(e)},update:{path:{signal:`datum.width > 0 ? '${V.ANNOTATION_RANGED_ICON_SVG}' : '${V.ANNOTATION_SINGLE_ICON_SVG}'`},fill:{field:"color"},xc:{scale:n,field:"center",band:.5},yc:{signal:`height + ${a}`},fillOpacity:{signal:`(${t}_selected && ${t}_selected != datum.center) ? 0.0 : 1.0`}}}}]}),zt=(e,{offset:t},a)=>{e.push({scale:a,orient:"bottom",values:[],offset:t})},Bt=({axisAnnotations:e,colorScheme:t,name:a,position:n,scaleType:r})=>"bottom"!==n?[]:e.map(((e,n)=>Gt(e,n,a,t,r))),Gt=({chartPopovers:e=[],chartTooltips:t=[],name:a,format:n,offset:r=V.DEFAULT_AXIS_ANNOTATION_OFFSET,color:i=V.DEFAULT_AXIS_ANNOTATION_COLOR,dataKey:o="annotations",options:s=[]},l,c,u,d)=>({chartPopovers:e,chartTooltips:t,color:i,colorScheme:u,dataKey:o,name:null!=a?a:`${c}Annotation${l}`,offset:r,options:s,axisName:c,format:null!=n?n:"time"===d?"span":"summary"});function Ut(e){const t=`${e}Primary`,a=`${e}Secondary`;return{primaryScale:t,secondaryScale:a,primaryDomain:`${t}Domain`,secondaryDomain:`${a}Domain`}}const Vt=(e,t="value",a,n)=>{const r=`isNumber(datum['${t}'])`;return"shortNumber"===e?[{test:r,signal:`formatShortNumber(datum['${t}'])`}]:"shortCurrency"===e?[{test:`${r} && abs(datum['${t}']) >= 1000`,signal:`upper(replace(format(datum['${t}'], '$.3~s'), /(\\d+)G/, '$1B'))`},{test:r,signal:`format(datum['${t}'], '$')`}]:n&&a?[{test:r,signal:`formatLocaleCurrency(datum, "${a}", "${n}", "${e}")`}]:[{test:r,signal:`format(datum['${t}'], '${pe(e)}')`}]},Wt=(e,t)=>{const{grid:a,hideDefaultLabels:n,labelAlign:r,labelFontWeight:i,labelLimit:o,labelOrientation:s,tickCountLimit:l,position:c,scaleType:u,ticks:d,tickMinStep:m,title:p,vegaLabelAlign:h,vegaLabelBaseline:g,vegaLabelOffset:f,vegaLabelPadding:y,hasTooltip:E}=e;return Object.assign(Object.assign(Object.assign(Object.assign({scale:t,orient:c,grid:a,ticks:d,tickCount:aa(c,l,a),tickMinStep:"linear"!==u?void 0:m,title:p,labelAngle:ca(s),labelFontWeight:i},void 0!==o&&{labelLimit:o}),{labelOffset:ua(r,t,f),labelPadding:y,labels:!n}),oa(c,s,r,h,g)),{encode:{labels:{interactive:Boolean(E),update:Object.assign({text:da(e,t)},E?{tooltip:{signal:"datum.value"}}:{})}}})},Jt=(e,{granularity:t,grid:a,labelAlign:n,labelOrientation:r,position:i,ticks:o,title:s,vegaLabelAlign:l,vegaLabelBaseline:c})=>{const{tickCount:u}=ra(t);return Object.assign(Object.assign({scale:e,orient:i,grid:a,ticks:o,tickCount:e.includes("Time")?u:void 0,title:s,formatType:"time",labelAngle:ca(r),labelSeparation:12},Yt(t,i)),oa(i,r,n,l,c))},Yt=(e,t)=>{const{secondaryLabelFormat:a,primaryLabelFormat:n}=ra(e);return["left","right"].includes(t)?{format:`${n} ${a}`,encode:{labels:{interactive:!1,update:{text:{signal:"formatVerticalAxisTimeLabels(datum)"}}}}}:{format:a}},Kt=(e,{granularity:t,labelAlign:a,labelOrientation:n,labelFontWeight:r,position:i,ticks:o,vegaLabelAlign:s,vegaLabelBaseline:l})=>{if(["left","right"].includes(i))return[];const{primaryLabelFormat:c,tickCount:u}=ra(t);return[Object.assign(Object.assign({scale:e,orient:i,format:c,tickCount:e.includes("Time")?u:void 0,formatType:"time",labelOverlap:"greedy",labelFontWeight:r,labelAngle:ca(n)},oa(i,n,a,s,l)),{encode:{labels:{interactive:!1,enter:{dy:{value:(o?28:20)*("top"===i?-1:1)}},update:{text:{signal:"formatHorizontalTimeAxisLabels(datum)"}}}}})]},Xt=(e,t)=>{var a;const n=e.filter((e=>"range"in e&&e.range===qt(t)));let r;return r=n.length>1&&null!==(a=e.find((e=>e.name.includes("Trellis"))))&&void 0!==a?a:n[0],r||(r={name:ea(t),type:"linear",range:qt(t)},e.push(r),r)},qt=e=>"left"===e||"right"===e?"height":"width",Zt=e=>"left"===e||"right"===e?"width":"height",Qt=e=>["left","right"].includes(e),ea=e=>Qt(e)?"yLinear":"xLinear",ta=e=>Qt(e)?"xLinear":"yLinear",aa=(e,t,a)=>{const n=["top","bottom"].includes(e)?"width":"height";return void 0!==t?{signal:`clamp(ceil(${n}/100), 2, ${t})`}:a?{signal:`clamp(ceil(${n}/100), 2, 10)`}:void 0},na=({subLabels:e,labelOrientation:t})=>Boolean(e.length&&"horizontal"===t),ra=e=>{switch(e){case"second":return{secondaryLabelFormat:":%S",primaryLabelFormat:"%-I:%M %p",tickCount:"second"};case"minute":return{secondaryLabelFormat:"%-I:%M %p",primaryLabelFormat:"%b %-d",tickCount:"minute"};case"hour":return{secondaryLabelFormat:"%-I %p",primaryLabelFormat:"%b %-d",tickCount:"hour"};case"day":default:return{secondaryLabelFormat:"%-d",primaryLabelFormat:"%b",tickCount:"day"};case"week":return{secondaryLabelFormat:"%-d",primaryLabelFormat:"%b",tickCount:"week"};case"month":return{secondaryLabelFormat:"%b",primaryLabelFormat:"%Y",tickCount:"month"};case"quarter":return{secondaryLabelFormat:"Q%q",primaryLabelFormat:"%Y",tickCount:{interval:"month",step:3}};case"year":return{secondaryLabelFormat:"%Y",primaryLabelFormat:"",tickCount:"year"}}},ia=(e,t,a)=>a?sa(e,t,a):{align:void 0,baseline:void 0},oa=(e,t,a,n,r)=>{const{align:i,baseline:o}=sa(e,t,a);return{labelAlign:null!=n?n:i,labelBaseline:null!=r?r:o}},sa=(e,t,a)=>{let n,r;return la(e,t)?(n={start:"left",center:"center",end:"right"}[a],r=["top","left"].includes(e)?"bottom":"top"):(r={start:"top",center:"middle",end:"bottom"}[a],n=["bottom","left"].includes(e)?"right":"left"),{align:n,baseline:r}},la=(e,t)=>(["top","bottom"].includes(e)?"horizontal":"vertical")===t,ca=e=>"horizontal"===e?0:270,ua=(e,t,a)=>{if(void 0!==a)return a;switch(e){case"start":return{signal:`bandwidth('${t}') / -2`};case"end":return{signal:`bandwidth('${t}') / 2`};default:return}},da=({labelFormat:e,labelOrientation:t,numberFormat:a,position:n,truncateLabels:r,currencyLocale:i,currencyCode:o},s)=>"percentage"===e?[{test:"isNumber(datum.value)",signal:"format(datum.value, '~%')"},{signal:"datum.value"}]:"duration"===e?{signal:"formatTimeDurationLabels(datum)"}:[...Vt(a,void 0,i,o),...r&&s.includes("Band")&&la(n,t)?[{signal:'truncateText(datum.value, bandwidth("xBand")/(1- paddingInner), "normal", 14)'}]:[{signal:"datum.value"}]],ma=(e,t,a,n,r,i)=>({update:Object.assign({text:[{test:`indexof(pluck(${i}, 'value'), datum.value) !== -1 && ${i}[indexof(pluck(${i}, 'value'), datum.value)].${a}`,signal:`${i}[indexof(pluck(${i}, 'value'), datum.value)].${a}`},{signal:"datum.value"}],fontWeight:[{test:`indexof(pluck(${i}, 'value'), datum.value) !== -1 && ${i}[indexof(pluck(${i}, 'value'), datum.value)].fontWeight`,signal:`${i}[indexof(pluck(${i}, 'value'), datum.value)].fontWeight`},{value:t}]},pa(r,i,n,e))}),pa=(e,t,a,n)=>{const r=`indexof(pluck(${t}, 'value'), datum.value) !== -1 && ${t}[indexof(pluck(${t}, 'value'), datum.value)]`,i=`${t}[indexof(pluck(${t}, 'value'), datum.value)]`,{align:o,baseline:s}=sa(e,a,n);return{align:[{test:`${r}.align`,signal:`${i}.align`},{value:o}],baseline:[{test:`${r}.baseline`,signal:`${i}.baseline`},{value:s}]}},ha=e=>e.referenceLines.map(((t,a)=>ga(t,e,a))),ga=(e,t,a)=>{var n,r,i;return Object.assign(Object.assign({},e),{color:e.color||"gray-800",colorScheme:t.colorScheme,iconColor:e.iconColor||V.DEFAULT_FONT_COLOR,labelColor:e.labelColor||V.DEFAULT_FONT_COLOR,labelFontWeight:null!==(n=e.labelFontWeight)&&void 0!==n?n:V.DEFAULT_LABEL_FONT_WEIGHT,layer:null!==(r=e.layer)&&void 0!==r?r:"front",name:`${t.name}ReferenceLine${a}`,lineType:null!==(i=e.lineType)&&void 0!==i?i:"solid"})},fa=e=>Boolean(e&&["band","linear","point","time","utc"].includes(e)),ya=({scaleType:e},{value:t,position:a},n)=>{const r="string"==typeof t?`'${t}'`:t,i=`paddingInner * bandwidth('${n}') / (2 * (1 - paddingInner))`;return"band"===e?"before"===a?{signal:`scale('${n}', ${r}) - ${i}`}:"after"===a?{signal:`scale('${n}', ${r}) + bandwidth('${n}') + ${i}`}:{signal:`scale('${n}', ${r}) + bandwidth('${n}') / 2`}:{scale:n,value:t}},Ea=({position:e,ticks:t},{color:a,colorScheme:n,name:r,lineType:i},o)=>{const s=t?9:0,l={top:{x:o,y:{value:-s},y2:{signal:"height"}},bottom:{x:o,y:{value:0},y2:{signal:`height + ${s}`}},left:{x:{value:-s},x2:{signal:"width"},y:o},right:{x:{value:0},x2:{signal:`width + ${s}`},y:o}};return{name:r,type:"rule",interactive:!1,encode:{enter:{stroke:{value:(0,W.getColorValue)(a,n)},strokeDash:{value:ne(null!=i?i:"solid")}},update:Object.assign({},l[e])}}},va=(e,t,a)=>({top:{x:t,y:{value:-e}},bottom:{x:t,y:{signal:`height + ${e}`}},left:{x:{value:-e},y:Object.assign(Object.assign({},t),{offset:a})},right:{x:{signal:`width + ${e}`},y:Object.assign(Object.assign({},t),{offset:a})}}),ba=({colorScheme:e,position:t},{icon:a,iconColor:n,name:r},i)=>{if(!a)return[];const o=va(24,i);return[{name:`${r}_symbol`,type:"symbol",encode:{enter:{shape:{value:oe(a)},size:{value:324},fill:{value:(0,W.getColorValue)(n,e)}},update:Object.assign({},o[t])}}]},_a=(e,t,a)=>{const{label:n,name:r}=t;return n?[{name:`${r}_label`,type:"text",encode:Object.assign({},Sa(e,Object.assign(Object.assign({},t),{label:n}),a))}]:[]},Sa=({position:e},{colorScheme:t,icon:a,label:n,labelColor:r,labelFontWeight:i},o)=>{const{verticalOffset:s,horizontalOffset:l}=((e,t)=>{const a=Qt(e);let n=a?40:28,r=a?4:5;return t&&(n+=a?25:20,a||(r+=25,n+=2)),{verticalOffset:n,horizontalOffset:r}})(e,a),c=va(s,o,l);return{update:Object.assign(Object.assign({text:[{value:n}],fontWeight:[{value:i}],fill:{value:(0,W.getColorValue)(r,t)}},Oa(e)),c[e])}},Oa=e=>{switch(e){case"top":case"bottom":return{align:{value:"center"}};case"left":case"right":return{baseline:{value:"center"}}}},Ta=e=>e.axisThumbnails.map(((t,a)=>$a(t,e,a))),$a=(e,t,a)=>{var n;return Object.assign(Object.assign({},e),{name:`${t.name}AxisThumbnail${a}`,urlKey:null!==(n=e.urlKey)&&void 0!==n?n:"thumbnail"})},xa=e=>Boolean(e&&["band"].includes(e)),La=(e,t,a)=>{e.push({name:`${t}ThumbnailSize`,update:`min(bandwidth('${a}'), ${V.MAX_THUMBNAIL_SIZE})`})},Aa=(e,t,a,n)=>{const r={signal:`scale('${e}', datum.${t}) + bandwidth('${e}') / 2`};switch(a){case"left":return{x:{signal:`-${V.THUMBNAIL_OFFSET} - ${n}ThumbnailSize`},yc:r};case"right":return{x:{signal:`width + ${V.THUMBNAIL_OFFSET}`},yc:r};case"top":return{xc:r,y:{signal:`-${V.THUMBNAIL_OFFSET} - ${n}ThumbnailSize`}};default:return{xc:r,y:{signal:`height + ${V.THUMBNAIL_OFFSET}`}}}},Ia=(e,t)=>{const a={test:`${e}ThumbnailSize < ${V.MIN_THUMBNAIL_SIZE}`,value:0};switch(t){case"left":return{dx:[a,{signal:`-${e}ThumbnailSize`}]};case"right":return{dx:[a,{signal:`${e}ThumbnailSize`}]};case"top":return{dy:[a,{signal:`-${e}ThumbnailSize`}]};default:return{dy:[a,{signal:`${e}ThumbnailSize`}]}}},Da=e=>/[xy]TrellisGroup/g.test(JSON.stringify(e));var Ra=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};const Ma=U(((e,t)=>{var a,n,r,i,o,s,l,{name:c,axisAnnotations:u=[],axisThumbnails:d=[],baseline:m=!1,baselineOffset:p=0,colorScheme:h=V.DEFAULT_COLOR_SCHEME,granularity:g=V.DEFAULT_GRANULARITY,grid:f=!1,hideDefaultLabels:y=!1,index:E=0,labelAlign:v=V.DEFAULT_LABEL_ALIGN,labelFontWeight:b=V.DEFAULT_LABEL_FONT_WEIGHT,labelLimit:_,labelOrientation:S=V.DEFAULT_LABEL_ORIENTATION,labels:O=[],numberFormat:T="shortNumber",position:$,range:x,referenceLines:L=[],subLabels:A=[],ticks:I=!1}=t,D=Ra(t,["name","axisAnnotations","axisThumbnails","baseline","baselineOffset","colorScheme","granularity","grid","hideDefaultLabels","index","labelAlign","labelFontWeight","labelLimit","labelOrientation","labels","numberFormat","position","range","referenceLines","subLabels","ticks"]);const R=Xt(null!==(a=e.scales)&&void 0!==a?a:[],$),M=c||R.name,C=R.type,N=(e=>{var t;if(e.domain){if("field"in e.domain)return e.domain.field.toString();if("fields"in e.domain)return null===(t=e.domain.fields[0])||void 0===t?void 0:t.toString()}})(R),j=((e,t)=>{let a=e.find((e=>"range"in e&&e.range===Zt(t)));return a||(a={name:ta(t),type:"linear",range:Zt(t)},e.push(a)),a.type})(null!==(n=e.scales)&&void 0!==n?n:[],$),k=Object.assign({axisAnnotations:u,axisThumbnails:d,baseline:m,baselineOffset:p,colorScheme:h,granularity:g,grid:f,hideDefaultLabels:y,index:E,labelAlign:v,labelFontWeight:b,labelLimit:_,labelOrientation:S,labels:O,name:`axis${E}`,numberFormat:T,position:$,range:x,referenceLines:L,subLabels:A,ticks:I,scaleType:null!=C?C:"linear"},D),F=null===(r=e.signals)||void 0===r?void 0:r.some((e=>"firstRscSeriesId"===e.name));e.data=Ca(null!==(i=e.data)&&void 0!==i?i:[],Object.assign(Object.assign({},k),{scaleType:null!=C?C:"linear"})),e.signals=Na(null!==(o=e.signals)&&void 0!==o?o:[],k,M),!x||"linear"!==C&&"time"!==C||(R.domain=x);const P=e.usermeta;return e.axes=ka(null!==(s=e.axes)&&void 0!==s?s:[],Object.assign(Object.assign({},k),{scaleName:M,opposingScaleType:j,usermeta:P,grid:k.grid&&!Da(e),dualMetricAxis:F})),e.marks=Pa(null!==(l=e.marks)&&void 0!==l?l:[],Object.assign(Object.assign({},k),{usermeta:P,scaleName:M,scaleField:N,opposingScaleType:j,dualMetricAxis:F})),e})),Ca=U(((e,t)=>{const a=Bt(t);for(const t of a)It(e,t)})),Na=U(((e,t,a)=>{const{name:n,labels:r,position:i,subLabels:o,labelOrientation:s}=t;(null==r?void 0:r.length)&&e.push(ut(`${n}_labels`,ja(r,i,s))),na(t)&&e.push(ut(`${n}_subLabels`,o.map((e=>Object.assign(Object.assign({},e),ia(i,s,e.align))))));for(const a of Bt(t))Nt(e,a);for(const n of Ta(t))La(e,n.name,a)})),ja=(e,t,a)=>e.map((e=>{if("object"==typeof e)return Object.assign(Object.assign({},e),ia(t,a,e.align))})).filter(Boolean);const ka=U(((e,t)=>{var a,n,r,{scaleName:i,opposingScaleType:o,dualMetricAxis:s}=t,l=Ra(t,["scaleName","opposingScaleType","dualMetricAxis"]);const c=[];l=Object.assign(Object.assign({},l),(e=>{let t={};if(e.includes("TrellisBand")){const a=`bandwidth('${e}') / -2`,n=e.startsWith("x")?"x":"y";t={position:"x"===n?"top":"left",labelFontWeight:"bold",labelAlign:void 0,title:void 0,vegaLabelAlign:"left",vegaLabelBaseline:"bottom",vegaLabelOffset:"x"===n?{signal:a}:{signal:`${a} - 8`},vegaLabelPadding:"x"===n?8:0}}return t})(i));const{baseline:u,colorScheme:d,usermeta:m,labelAlign:p,labelFontWeight:h,labelFormat:g,labelOrientation:f,name:y,position:E,hasTooltip:v}=l;if("time"===g)c.push(...((e,t)=>[Jt(e,t),...Kt(e,t)])(i,l));else{const e=Wt(l,i);if(l.labels.length){const t=l.labels,a=`${y}_labels`;e.values=t.map((e=>(e=>"object"==typeof e?e.value:e)(e)));const n=ma(p,h,"label",f,E,a),r=v?Object.assign(Object.assign({},n),{update:Object.assign(Object.assign({},n.update),{tooltip:{signal:"datum.value"}})}):n;e.encode={labels:Object.assign({interactive:v},r)}}if(na(l)){e.titlePadding=24;const t=((e,t)=>{const{labelAlign:a,labelFontWeight:n,labelOrientation:r,name:i,position:o,ticks:s}=e,l=`${i}_subLabels`,c=e.subLabels.map((e=>e.value));let u=Wt(e,t);return u=Object.assign(Object.assign({},u),{domain:!1,domainWidth:void 0,grid:!1,labelPadding:s?32:24,ticks:!1,title:void 0,values:c.length?c:void 0,encode:{labels:Object.assign({interactive:!1},ma(a,n,"subLabel",r,o,l))}}),u})(l,i);Fa({dualMetricAxis:s,axis:t,usermeta:m,scaleName:i,colorScheme:d,position:E,incrementMetricAxisCount:!1}),c.push(t)}Fa({dualMetricAxis:s,axis:e,usermeta:m,scaleName:i,colorScheme:d,position:E,incrementMetricAxisCount:!0}),c.unshift(e)}if("linear"!==o&&(c[0]=function(e,t=!1){return Object.assign(Object.assign({},e),{domain:t,domainWidth:2})}(c[0],u)),fa(l.scaleType))for(const e of ha(l)){const{label:t,icon:o,value:s,position:l}=e,u=null===(r=null===(n=null===(a=c[0].encode)||void 0===a?void 0:a.labels)||void 0===n?void 0:n.update)||void 0===r?void 0:r.text;!o&&!t||!u||!Array.isArray(u)||l&&"center"!==l||u.unshift({test:`abs(scale('${i}', ${s}) - scale('${i}', datum.value)) < 30`,value:""})}if(xa(l.scaleType))for(const e of Ta(l)){const t={labels:{update:Object.assign({},Ia(e.name,E))}};for(const e of c)e.encode?e.encode=At()(e.encode,t):e.encode=t}const b=Bt(l);for(const e of b)zt(c,e,i);e.push(...c)})),Fa=({dualMetricAxis:e,axis:t,usermeta:a,scaleName:n,colorScheme:r,position:i,incrementMetricAxisCount:o})=>{var s,l;const c=null!==(s=null==a?void 0:a.chartOrientation)&&void 0!==s?s:"vertical";e&&function(e,t){return"vertical"===t?Qt(e):!Qt(e)}(i,c)&&(a.metricAxisCount||(a.metricAxisCount=0),function(e,t,a,n,r=V.DEFAULT_COLOR_SCHEME){const i=Ut(a),{primaryScale:o,secondaryScale:s}=i;t?(e.scale=o,function(e,t,a=V.DEFAULT_COLOR_SCHEME){const n=W.spectrumColors[a][V.DEFAULT_FONT_COLOR],r=[{test:`length(domain('${V.COLOR_SCALE}')) -1 === 1`,signal:`scale('${V.COLOR_SCALE}', ${V.FIRST_RSC_SERIES_ID})`},{value:n}],i=t.map((e=>({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} !== ${V.LAST_RSC_SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}))),o={labels:{update:{fill:r,fillOpacity:i}},title:{update:{fill:r,fillOpacity:i}}};e.encode?e.encode=At()(e.encode,o):e.encode=o}(e,n,r)):(e.scale=s,function(e,t){const a=[{signal:`scale('${V.COLOR_SCALE}', ${V.LAST_RSC_SERIES_ID})`}],n=t.map((e=>({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}))),r={labels:{enter:{fill:a},update:{fillOpacity:n}},title:{enter:{fill:a},update:{fillOpacity:n}}};e.encode?e.encode=At()(e.encode,r):e.encode=r}(e,n))}(t,0===a.metricAxisCount,n,null!==(l=a.interactiveMarks)&&void 0!==l?l:[],r),o&&a.metricAxisCount++)},Pa=U(((e,t)=>{const{baseline:a,baselineOffset:n,opposingScaleType:r,position:i,scaleField:o,scaleName:s,scaleType:l,usermeta:c}=t;if(fa(l)){const{back:a,front:n}=((e,t)=>{const a={back:[],front:[]},n=ha(e);for(const r of n){const{layer:n}=r,i=ya(e,r,t);a[n].push(Ea(e,r,i),...ba(e,r,i),..._a(e,r,i))}return a})(t,s);e.unshift(...a),e.push(...n)}const u=e.find((e=>{var t;return null===(t=e.name)||void 0===t?void 0:t.includes("Trellis")})),d=Boolean(u);a&&"linear"===r&&function(e,t,a,n){var r,i;const o=((e,t)=>{const a=Qt(t)?"y":"x",n={x:{x:{value:0},x2:{signal:"width"},y:{scale:"yLinear",value:e}},y:{x:{scale:"xLinear",value:e},y:{value:0},y2:{signal:"height"}}};return{name:`${a}Baseline`,description:`${a}Baseline`,type:"rule",interactive:!1,encode:{update:Object.assign({},n[a])}}})(t,a);n&&"marks"in n?0===t?null===(r=n.marks)||void 0===r||r.push(o):null===(i=n.marks)||void 0===i||i.unshift(o):0===t?e.push(o):e.unshift(o)}(e,n,i,u),d&&function(e,t,a,n){var r,i,o,s;const l=(null===(r=t.name)||void 0===r?void 0:r.startsWith("x"))?"horizontal":"vertical",c="bottom"===e.position||"top"===e.position?"horizontal":"vertical",u=e.hideDefaultLabels||l!==c;let d=e.scaleType;if(l===c){const n=Xt(null!==(i=t.scales)&&void 0!==i?i:[],e.position);a=n.name,d=null!==(o=n.type)&&void 0!==o?o:"linear"}else e.title=void 0;let m=ka([],Object.assign(Object.assign({},e),{hideDefaultLabels:u,scaleName:a,scaleType:d,dualMetricAxis:!1,usermeta:n}));m=((e,t)=>{const{facetName:a,facetGroupBy:n,trellisScaleName:r}=(e=>{var t;const a=`${(null!==(t=e.name)&&void 0!==t?t:"x")[0]}TrellisBand`,n=e.from;return{facetGroupBy:n.facet.groupby,facetName:n.facet.name,trellisScaleName:a}})(t);return e.map((e=>e.title?Object.assign(Object.assign({},e),{encode:Object.assign(Object.assign({},e.encode),{title:{update:{opacity:[{test:`info(domain('${r}')[0] === data('${a}')[0].${n})`,value:1},{value:0}]}}})}):e))})(m,t),t.axes=[...null!==(s=t.axes)&&void 0!==s?s:[],...m]}(t,u,s,c);for(const a of Bt(t))Pt(e,a,s);if(xa(l)&&o){const a=((e,t,a)=>{const{position:n}=e,r=[],i=Ta(e);for(const{name:e,urlKey:o}of i)r.push({type:"image",name:e,from:{data:V.FILTERED_TABLE},encode:{enter:{url:{field:o}},update:Object.assign(Object.assign({},Aa(t,a,n,e)),{width:{signal:`${e}ThumbnailSize`},height:{signal:`${e}ThumbnailSize`},opacity:[{test:`${e}ThumbnailSize < ${V.MIN_THUMBNAIL_SIZE}`,value:0},{value:1}]})}});return r})(t,s,o);e.push(...a)}}));const Ha=(e,t)=>e.map((e=>wa(e,t))),wa=(e,t)=>{var{UNSAFE_highlightBy:a="item"}=e,n=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["UNSAFE_highlightBy"]);return Object.assign({UNSAFE_highlightBy:a,markName:t},n)},za=(e,t,a=!0)=>{const n=Ha(t.chartPopovers,t.name);for(const{UNSAFE_highlightBy:r,markName:i}of n){const n=q(e);n.transform||(n.transform=[]),"dimension"===r&&"donut"!==t.markType?n.transform.push(Ba([t.dimension],i)):"series"===r?n.transform.push(Ba([V.SERIES_ID],i)):Array.isArray(r)?n.transform.push(Ba(r,i)):n.transform.push(Ba([t.idKey],i)),a&&e.push(Ga(i))}},Ba=(e,t)=>({type:"formula",as:`${t}_selectedGroupId`,expr:e.map((e=>`datum.${e}`)).join(' + " | " + ')}),Ga=e=>({name:`${e}_selectedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.SELECTED_GROUP} === datum.${e}_selectedGroupId`}]});const Ua=e=>e.trendlines.map(((t,a)=>Va(e,t,a))),Va=(e,t,a)=>{var{chartTooltips:n=[],color:r,dimensionExtent:i,dimensionRange:o=[null,null],displayOnHover:s=!1,highlightRawPoint:l=!1,lineType:c="dashed",lineWidth:u="M",method:d="linear",opacity:m=1,orientation:p="horizontal",trendlineAnnotations:h=[]}=t,g=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartTooltips","color","dimensionExtent","dimensionRange","displayOnHover","highlightRawPoint","lineType","lineWidth","method","opacity","orientation","trendlineAnnotations"]);const f=an(e,p),y="time"===f&&qa(d)&&"horizontal"===p,{trendlineDimension:E,trendlineMetric:v}=Ya(e.dimension,e.metric,p,y),b=r?{value:r}:Wa(e.color);return Object.assign({chartTooltips:n,colorScheme:e.colorScheme,displayOnHover:s,dimensionExtent:null!=i?i:o,dimensionRange:o,dimensionScaleType:f,highlightRawPoint:l,isDimensionNormalized:y,lineType:c,lineWidth:u,method:d,metric:V.TRENDLINE_VALUE,name:`${e.name}Trendline${a}`,opacity:m,orientation:p,trendlineAnnotations:h,trendlineColor:b,trendlineDimension:E,trendlineMetric:v},g)},Wa=e=>Array.isArray(e)?e[0]:e,Ja=e=>Array.isArray(e)?e[0]:e,Ya=(e,t,a,n)=>"horizontal"===a?{trendlineDimension:Ka(e,n),trendlineMetric:t}:{trendlineDimension:t,trendlineMetric:e},Ka=(e,t)=>t?`${e}Normalized`:e,Xa=e=>["average","median"].includes(e),qa=e=>Qa(e)||["exponential","logarithmic","power"].includes(e),Za=e=>e.startsWith("movingAverage-"),Qa=e=>e.startsWith("polynomial-")||["linear","quadratic"].includes(e),en=e=>{switch(e){case"linear":return 1;case"quadratic":return 2}const t=parseInt(e.split("-")[1]);if(t<1)throw new Error(`Invalid polynomial order: ${t}, order must be an interger greater than 0`);return t},tn=(e,t,a)=>{const n=`${t}_extent`;return{signal:`[${e.map(((e,t)=>{switch(e){case null:return`${n}[${t}]`;case"domain":return`${n}[${t}] ${0===t?"-":"+"} (${n}[1] - ${n}[0]) * 0.3`;default:return a?`(${e} - data('${V.FILTERED_TABLE}')[0].datetimeMin + ${V.MS_PER_DAY}) / ${V.MS_PER_DAY}`:e}})).join(", ")}]`}},an=(e,t)=>"vertical"===t?"linear":"scaleType"in e?e.scaleType:e.dimensionScaleType,nn=(e,{method:t,trendlineDimension:a,trendlineMetric:n},r)=>{const{color:i,lineType:o}=e,{facets:s}=te({color:i,lineType:o}),l={average:"mean",median:"median"};return r?{type:"aggregate",groupby:s,ops:[l[t],"min","max"],fields:[n,a,a],as:[V.TRENDLINE_VALUE,`${a}Min`,`${a}Max`]}:{type:"joinaggregate",groupby:s,ops:[l[t]],fields:[n],as:[V.TRENDLINE_VALUE]}},rn=(e,t,a)=>{const{color:n,lineType:r}=e,{dimensionExtent:i,isDimensionNormalized:o,method:s,name:l,trendlineDimension:c,trendlineMetric:u}=t,{facets:d}=te({color:n,lineType:r});let m,p;switch(s){case"exponential":m="exp";break;case"logarithmic":m="log";break;case"power":m="pow";break;default:p=en(s),m="poly"}return{type:"regression",method:m,order:p,groupby:d,x:c,y:u,as:a?[c,V.TRENDLINE_VALUE]:void 0,params:!a,extent:a?tn(i,l,o):void 0}},on=(e,{method:t,trendlineMetric:a})=>{const n=Number.parseInt(t.split("-")[1]),{color:r,lineType:i}=e,{facets:o}=te({color:r,lineType:i});if(Number.isNaN(n)||n<1)throw new Error(`Invalid moving average frame width: ${n}, frame width must be an integer greater than 0`);return{type:"window",ops:["mean"],groupby:o,fields:[a],as:[V.TRENDLINE_VALUE],frame:[n-1,0]}},sn=e=>[{type:"joinaggregate",fields:[e],as:[`${e}Min`],ops:["min"]},{type:"formula",expr:`(datum.${e} - datum.${e}Min + ${V.MS_PER_DAY}) / ${V.MS_PER_DAY}`,as:`${e}Normalized`}],ln=(e,t)=>({type:"extent",field:e,signal:`${t}_extent`}),cn=(e,t)=>{const a=[];return null!==t[0]&&a.push(`datum.${e} >= ${t[0]}`),null!==t[1]&&a.push(`datum.${e} <= ${t[1]}`),a.length?[{type:"filter",expr:a.join(" && ")}]:[]},un=(e,t)=>{let a="";if(Qa(t)){const n=en(t);a=["datum.coef[0]",...new Array(n).fill(0).map(((t,a)=>`datum.coef[${a+1}] * pow(datum.${e}, ${a+1})`))].join(" + ")}else"exponential"===t?a=`datum.coef[0] + exp(datum.coef[1] * datum.${e})`:"logarithmic"===t?a=`datum.coef[0] + datum.coef[1] * log(datum.${e})`:"power"===t&&(a=`datum.coef[0] * pow(datum.${e}, datum.coef[1])`);return a?[{type:"formula",expr:a,as:V.TRENDLINE_VALUE}]:[]},dn=({color:e,lineType:t},{name:a})=>{const{facets:n}=te({color:e,lineType:t});return{type:"lookup",from:`${a}_params`,key:"keys",fields:n,values:["coef"]}},mn=(e,t)=>{var a;e.push(...pn(t));const n=X(e);n.transform=vn(null!==(a=n.transform)&&void 0!==a?a:[],t)},pn=e=>{const t=[],{color:a,idKey:n,lineType:r,name:i,interactiveMarkName:o}=e,s=Ua(e),l={name:`${i}_allTrendlineData`,source:[]};for(const n of s){const{displayOnHover:i,method:s,name:c}=n,{facets:u}=te({color:a,lineType:r});qa(s)?t.push(...gn(e,n,u)):Xa(s)?t.push(...hn(e,n,u)):Za(s)&&t.push(fn(e,n)),i&&t.push(bn(c,s,o)),Ce(n)&&l.source.push(`${c}_data`)}return s.some((e=>Ce(e)))&&t.push(l,yn(i,n)),t},hn=(e,t,a)=>{const n=[],{dimensionRange:r,name:i,trendlineDimension:o}=t,s=cn(o,r);return n.push({name:`${i}_highResolutionData`,source:V.FILTERED_TABLE,transform:[..._n(t.excludeDataKeys),...s,...En(e,t,!0),...Z(a)]}),Ce(t)&&n.push({name:`${i}_data`,source:V.FILTERED_TABLE,transform:[...s,...En(e,t,!1)]}),n},gn=(e,t,a)=>{const n=[],{dimension:r,metric:i}=e,{dimensionRange:o,method:s,name:l,orientation:c,trendlineDimension:u}=t,{trendlineDimension:d}=Ya(r,i,c,!1),m=cn(d,o);return n.push({name:`${l}_highResolutionData`,source:V.FILTERED_TABLE,transform:[..._n(t.excludeDataKeys),...m,...En(e,t,!0),...Z(a)]}),Ce(t)&&n.push({name:`${l}_params`,source:V.FILTERED_TABLE,transform:[...m,...En(e,t,!1)]},{name:`${l}_data`,source:V.FILTERED_TABLE,transform:[...m,dn(e,t),...un(u,s)]}),n},fn=(e,t)=>({name:`${t.name}_data`,source:V.FILTERED_TABLE,transform:[..._n(t.excludeDataKeys),...En(e,t,!1),...cn(e.dimension,t.dimensionRange)]}),yn=(e,t)=>({name:`${e}Trendline_highlightedData`,source:`${e}_allTrendlineData`,transform:[{type:"filter",expr:`${V.SELECTED_ITEM} === datum.${t} || !isValid(${V.SELECTED_ITEM}) && (isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${t}) || isValid(${e}Trendline_${V.HOVERED_ITEM}) && ${e}Trendline_${V.HOVERED_ITEM}.${t} === datum.${t})`}]}),En=(e,t,a)=>{const{method:n,trendlineDimension:r}=t;return Xa(n)?[nn(e,t,a)]:qa(n)?[rn(e,t,a)]:Za(n)?[(i=r,{type:"collect",sort:{field:i}}),on(e,t)]:[];var i},vn=U(((e,t)=>{const{dimension:a,metric:n}=t,r=Ua(t);for(const{isDimensionNormalized:t,method:i,name:o,orientation:s,trendlineDimension:l}of r)if(qa(i)){const{trendlineDimension:r}=Ya(a,n,s,!1);t&&(e.some((e=>"as"in e&&e.as===`${r}Normalized`))||e.push(...sn(r))),e.push(ln(l,o))}})),bn=(e,t,a)=>{const n=Za(t)?`${e}_data`:`${e}_highResolutionData`,r=`${null!=a?a:e}_${V.HOVERED_ITEM}`;return{name:`${e}_highlightedData`,source:n,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} === ${V.CONTROLLED_HIGHLIGHTED_SERIES} || datum.${V.SERIES_ID} === ${V.SELECTED_SERIES} || isValid(${r}) && ${r}.${V.SERIES_ID} === datum.${V.SERIES_ID}`}]}},_n=e=>{var t;return null!==(t=null==e?void 0:e.map((e=>({type:"filter",expr:`!datum.${e}`}))))&&void 0!==t?t:[]},Sn=e=>`datum.${e} && datum.${e} === true`,On=(e,t)=>`(${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${t}) || (${V.SELECTED_GROUP} && ${V.SELECTED_GROUP} === datum.${e}_selectedGroupId)`,Tn=e=>{const{dimension:t,metric:a,name:n,scaleType:r}=e;return{name:`${n}_pointBackground`,description:`${n}_pointBackground`,type:"symbol",from:{data:`${n}_highlightedData`},interactive:!1,encode:{enter:{y:Fn(e,a),fill:{signal:V.BACKGROUND_COLOR},stroke:{signal:V.BACKGROUND_COLOR}},update:{size:Mn(e),strokeWidth:Cn(e),x:ze(r,t)}}}},$n=(e,t=!0)=>{const{color:a,colorScheme:n,dimension:r,metric:i,name:o,scaleType:s}=e;return{name:`${o}_point_${t?"highlight":"select"}`,description:`${o}_point_${t?"highlight":"select"}`,type:"symbol",from:{data:`${o}${t?"_highlightedData":"_selectedData"}`},interactive:!1,encode:{enter:{y:Fn(e,i),stroke:ke(a,n)},update:{fill:In(e),size:Mn(e),stroke:Dn(e),strokeOpacity:Rn(e),strokeWidth:Cn(e),x:ze(s,r)}}}},xn=e=>$n(e,!0),Ln=e=>$n(e,!1),An=(e,t)=>{const{color:a,colorScheme:n,dimension:r,name:i,scaleType:o}=e;return{name:`${i}_secondaryPoint`,description:`${i}_secondaryPoint`,type:"symbol",from:{data:`${i}_highlightedData`},interactive:!1,encode:{enter:{y:Fn(e,t),fill:{signal:V.BACKGROUND_COLOR},stroke:ke(a,n)},update:{x:ze(o,r)}}}},In=e=>{const{color:t,colorScheme:a,idKey:n,name:r,staticPoint:i}=e,o=[],s=On(r,n);return i&&o.push(Object.assign({test:Sn(i)},ke(t,a))),Ne(e)&&o.push(Object.assign({test:s},ke(t,a))),[...o,{signal:V.BACKGROUND_COLOR}]},Dn=e=>{const{color:t,colorScheme:a,idKey:n,name:r,staticPoint:i}=e,o=[],s=On(r,n);return i&&o.push(Object.assign({test:Sn(i)},ke(t,a))),Ne(e)&&o.push({test:s,signal:V.BACKGROUND_COLOR}),[...o,ke(t,a)]},Rn=({opacity:e,staticPoint:t})=>{const a=Pe(e),n=[];return t&&n.push(Object.assign({test:Sn(t)},((e=V.DEFAULT_OPACITY_RULE)=>"signal"in e?{signal:`${e.signal} * ${V.FADE_FACTOR}`}:{value:e.value*V.FADE_FACTOR})(a))),[...n,a]},Mn=({staticPoint:e})=>{const t=[];return e&&t.push({test:Sn(e),value:64}),[...t,{value:V.DEFAULT_SYMBOL_SIZE}]},Cn=({staticPoint:e})=>{const t=[];return e&&t.push({test:Sn(e),value:6}),[...t,{value:V.DEFAULT_SYMBOL_STROKE_WIDTH}]},Nn=e=>{const{colorScheme:t,dimension:a,idKey:n,metric:r,name:i,scaleType:o}=e,s=On(i,n);return{name:`${i}_pointSelectRing`,type:"symbol",from:{data:`${i}_selectedData`},interactive:!1,encode:{enter:{y:Fn(e,r),fill:{signal:V.BACKGROUND_COLOR},stroke:{value:(0,W.getColorValue)("static-blue",t)}},update:{size:[{test:s,value:196},{value:0}],strokeWidth:[{test:s,value:V.DEFAULT_SYMBOL_STROKE_WIDTH},{value:0}],x:ze(o,a)}}}},jn=(e,t)=>{if(e.length)return t},kn=e=>Boolean(e.dualMetricAxis),Fn=(e,t)=>{const{metricAxis:a}=e;if(kn(e)){const e=Ut(a||"yLinear");return[{test:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`,scale:e.secondaryScale,field:t},{scale:e.primaryScale,field:t}]}return[{scale:a||"yLinear",field:t}]},Pn=(e,t)=>{const{chartPopovers:a,color:n,colorScheme:r,dimension:i,lineType:o,lineWidth:s,metric:l,name:c,opacity:u,scaleType:d}=e,m=Ha(null!=a?a:[],c).some((({UNSAFE_highlightBy:e})=>"dimension"===e));return{name:c,description:c,type:"line",from:{data:t},interactive:!1,encode:{enter:{y:Fn(e,l),stroke:ke(n,r),strokeDash:we(o),strokeOpacity:Pe(u),strokeWidth:Fe(s)},update:Object.assign({x:ze(d,i)},m?{}:{opacity:Hn(e)})}}},Hn=({displayOnHover:e,comboSiblingNames:t,interactiveMarkName:a,popoverMarkName:n,isHighlightedByGroup:r,highlightedItem:i})=>{if((!a||e)&&void 0===i)return[V.DEFAULT_OPACITY_RULE];const o=[];if(a&&(r?o.push({test:`length(data('${a}_highlightedData'))`,signal:`indexof(pluck(data('${a}_highlightedData'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) !== -1 ? 1 : ${V.FADE_FACTOR}`}):o.push({test:`isValid(${a}_${V.HOVERED_ITEM})`,signal:`${a}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`})),o.push({test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`},{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),n&&o.push({test:`isValid(${V.SELECTED_SERIES})`,signal:`${V.SELECTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}),null==t?void 0:t.length){const e=t.map((e=>`isValid(${e}_${V.HOVERED_ITEM})`)).join(" || ");o.push({test:e,value:V.FADE_FACTOR})}return o.push(V.DEFAULT_OPACITY_RULE),o},wn=(e,t,a)=>{const{dimension:n,name:r,scaleType:i}=e;return[zn(n,r,i),Tn(e),...Ne(e)?[Nn(e),Ln(e)]:[],xn(e),...a?[An(e,a)]:[],...Bn(t,e)]},zn=(e,t,a)=>({name:`${t}_hoverRule`,description:`${t}_hoverRule`,type:"rule",from:{data:`${t}_highlightedData`},interactive:!1,encode:{enter:{y:{value:0},y2:{signal:"height"},strokeWidth:{value:1}},update:{x:ze(a,e),opacity:{signal:`length(data('${t}_selectedData')) > 0 ? 0 : 1`}}}}),Bn=(e,t)=>{const{interactionMode:a=V.DEFAULT_INTERACTION_MODE}=t;return{nearest:Gn,item:Vn}[a](t,e)},Gn=(e,t)=>{const{name:a}=e;return[Un(e,t),Ue(e,`${a}_pointsForVoronoi`)]},Un=(e,t)=>{const{dimension:a,metric:n,name:r,scaleType:i}=e;return{name:`${r}_pointsForVoronoi`,description:`${r}_pointsForVoronoi`,type:"symbol",from:{data:t},interactive:!1,encode:{enter:{y:Fn(e,n),fill:{value:"transparent"},stroke:{value:"transparent"}},update:{x:ze(i,a)}}}},Vn=(e,t)=>{const{chartTooltips:a=[],dimension:n,metric:r,name:i,scaleType:o}=e;return[Ve(a,t,n,0,i,o,Fn(e,r))]},Wn=(e,t)=>{const a=[],n=((e,t)=>e.trendlineAnnotations.map(((a,n)=>(({badge:e=!1,dimensionValue:t="end",numberFormat:a="",prefix:n=""},r,{colorScheme:i,dimensionExtent:o,dimensionScaleType:s,displayOnHover:l,lineWidth:c,orientation:u,trendlineColor:d,trendlineDimension:m,name:p},h)=>({badge:e,colorScheme:i,dimensionValue:t,displayOnHover:l,markName:h,name:`${p}Annotation${r}`,numberFormat:a,prefix:n,trendlineColor:d,trendlineDimension:m,trendlineDimensionExtent:o,trendlineDimensionScaleType:s,trendlineName:p,trendlineOrientation:u,trendlineWidth:re(c)}))(a,n,e,t))))(e,t);for(const e of n)a.push({name:`${e.name}_group`,type:"group",interactive:!1,marks:[Jn(e),Xn(e),...Zn(e)]});return a},Jn=e=>{const{name:t,trendlineName:a,trendlineWidth:n,displayOnHover:r}=e;return{name:`${t}_points`,type:"symbol",from:{data:r?`${a}_highlightedData`:`${a}_highResolutionData`},interactive:!1,encode:{enter:{opacity:{value:0},size:{value:Math.pow(n,2)},x:Yn(e),y:Kn(e)}}}},Yn=({dimensionValue:e,trendlineDimension:t,trendlineDimensionExtent:a,trendlineDimensionScaleType:n,trendlineOrientation:r})=>{const i=Le("x",n);if("vertical"===r)return{scale:i,field:V.TRENDLINE_VALUE};switch(e){case"start":return ir(a[0],t,i,"x");case"end":return or(a[1],t,i,"x");default:return{scale:i,value:e}}},Kn=({dimensionValue:e,trendlineDimension:t,trendlineDimensionExtent:a,trendlineOrientation:n})=>{const r="yLinear";if("horizontal"===n)return{scale:r,field:V.TRENDLINE_VALUE};switch(e){case"start":return ir(a[0],t,r,"y");case"end":return or(a[1],t,r,"y");default:return{scale:r,value:e}}},Xn=e=>{const{name:t,numberFormat:a,prefix:n,trendlineName:r,markName:i}=e,o=n?`'${n} ' + `:"",s=qn(Object.assign({},e));return{name:t,type:"text",from:{data:`${t}_points`},zindex:1,interactive:!1,encode:{enter:{text:{signal:`${o}format(datum.datum.${V.TRENDLINE_VALUE}, '${a}')`},fill:s}},transform:[{type:"label",size:{signal:"[width, height]"},avoidMarks:[r,`${i}_group`],offset:[6,6,6,6,8.49,8.49,8.49,8.49],anchor:["top","bottom","right","left","top-right","top-left","bottom-right","bottom-left"]}]}},qn=({badge:e,colorScheme:t,trendlineColor:a})=>{if(!e)return;const n=((e,t,a="ordinal")=>{const n=ke(e,t,a);return"signal"in n?n.signal:"scale"in n&&"field"in n?`scale('${n.scale}', datum.${n.field})`:"value"in n&&n.value?`'${n.value}'`:""})(Qn(a),t),r=[(0,W.getColorValue)("gray-50",t),(0,W.getColorValue)("gray-900",t)];return[{test:`contrast(${n}, '${r[0]}') >= 4.5`,value:r[0]},{value:r[1]}]},Zn=({badge:e,colorScheme:t,name:a,trendlineColor:n})=>{if(!e)return[];const r=Qn(n,2);return[{name:`${a}_badge`,description:`${a}_badge`,type:"rect",from:{data:`${a}`},interactive:!1,encode:{enter:{cornerRadius:{value:2},fill:ke(r,t),opacity:{field:"opacity"},x:{signal:"datum.bounds.x1 - 3"},x2:{signal:"datum.bounds.x2 + 3"},y:{signal:"datum.bounds.y1 - 3"},y2:{signal:"datum.bounds.y2 + 3"}}}}]},Qn=(e,t=1)=>"string"==typeof e?`${new Array(t).fill("datum.").join("")}${e}`:e,er=e=>{const{color:t,lineType:a}=e,{facets:n}=te({color:t,lineType:a}),r=[],i=Ua(e);for(const t of i){const{displayOnHover:a,method:i,name:o}=t;if(Xa(i))r.push(ar(e,t));else{const s=tr(o,i,a);r.push({name:`${o}_group`,type:"group",clip:!0,from:{facet:{name:`${o}_facet`,data:s,groupby:n}},marks:[sr(e,t)]})}r.push(...Wn(t,e.name))}return i.some((e=>je(e)))&&r.push(ur(e,i.some((e=>e.highlightRawPoint)))),r},tr=(e,t,a)=>a?`${e}_highlightedData`:qa(t)?`${e}_highResolutionData`:`${e}_data`,ar=(e,t)=>{const{colorScheme:a}=e,{dimensionExtent:n,dimensionScaleType:r,displayOnHover:i,lineType:o,lineWidth:s,name:l,orientation:c,trendlineColor:u,trendlineDimension:d}=t;return{name:l,type:"rule",clip:!0,from:{data:i?`${l}_highlightedData`:`${l}_highResolutionData`},interactive:!1,encode:{enter:Object.assign(Object.assign({},nr(n,d,c)),{stroke:ke(u,a),strokeDash:we({value:o}),strokeOpacity:Pe({value:t.opacity}),strokeWidth:Fe({value:s})}),update:Object.assign(Object.assign({},rr(n,d,r,c)),{opacity:Hn(dr(e,t))})}}},nr=(e,t,a)=>"horizontal"===a?{y:{scale:"yLinear",field:V.TRENDLINE_VALUE}}:{y:ir(e[0],t,"yLinear","y"),y2:or(e[1],t,"yLinear","y")},rr=(e,t,a,n)=>{const r=Le("x",a);return"vertical"===n?{x:{scale:r,field:V.TRENDLINE_VALUE}}:{x:ir(e[0],t,r,"x"),x2:or(e[1],t,r,"x")}},ir=(e,t,a,n)=>{switch(e){case null:return{scale:a,field:`${t}Min`};case"domain":return"x"===n?{value:0}:{signal:"height"};default:return{scale:a,value:e}}},or=(e,t,a,n)=>{switch(e){case null:return{scale:a,field:`${t}Max`};case"domain":return"x"===n?{signal:"width"}:{value:0};default:return{scale:a,value:e}}},sr=(e,t)=>{const{colorScheme:a}=e,{dimensionScaleType:n,isDimensionNormalized:r,lineType:i,lineWidth:o,name:s,orientation:l,trendlineColor:c,trendlineDimension:u}=t;return{name:s,type:"line",from:{data:`${s}_facet`},interactive:!1,encode:{enter:{y:lr(u,l),stroke:ke(c,a),strokeDash:we({value:i}),strokeOpacity:Pe({value:t.opacity}),strokeWidth:Fe({value:o})},update:{x:cr(u,n,l,r),opacity:Hn(dr(e,t))}}}},lr=(e,t)=>{const a="yLinear";return"horizontal"===t?{scale:a,field:V.TRENDLINE_VALUE}:{scale:a,field:e}},cr=(e,t,a,n)=>{const r=Le("x",t);return"vertical"===a?{scale:r,field:V.TRENDLINE_VALUE}:n?{scale:"xTrendline",field:e}:{scale:r,field:e}},ur=(e,t)=>{const{metric:a,name:n}=e,r=Ua(e),i=dr(e,r[0],{name:`${n}Trendline`,chartTooltips:r.flatMap((e=>e.chartTooltips)),metric:V.TRENDLINE_VALUE});return{name:`${n}Trendline_hoverGroup`,type:"group",clip:!0,marks:wn(i,`${n}_allTrendlineData`,t?a:void 0)}},dr=(e,{dimensionScaleType:t,displayOnHover:a,lineWidth:n,metric:r,name:i,opacity:o},s)=>{const{color:l,lineType:c}=e,u="popoverMarkName"in e?e.popoverMarkName:void 0,d="staticPoint"in e?e.staticPoint:void 0;return Object.assign(Object.assign(Object.assign({},e),{color:Wa(l),displayOnHover:a,lineType:Ja(c),lineWidth:{value:n},metric:r,name:i,opacity:{value:o},popoverMarkName:u,scaleType:t,staticPoint:d}),s)},mr=e=>{const{dimension:t}=e;return Ua(e).some((({dimensionScaleType:e,method:t})=>qa(t)&&"time"===e))?[{name:"xTrendline",type:"linear",range:"width",domain:{data:V.FILTERED_TABLE,fields:[`${t}Normalized`]},padding:V.LINEAR_PADDING,zero:!1,nice:!1}]:[]},pr=(e,t)=>{const{name:a}=t;Ua(t).some((e=>je(e)))&&pt(e,`${a}Trendline`,`${a}Trendline_voronoi`,2)},hr=({trellisOrientation:e,name:t,trellisPadding:a})=>{const n="horizontal"===e?"x":"y";return{facetName:`${t}_trellis`,scaleName:`${n}TrellisBand`,markName:`${n}TrellisGroup`,dimensionSizeSignal:"x"===n?"width":"height",axis:n,paddingInner:a}},gr=e=>Boolean(e.trellis),fr=({color:e,lineType:t,opacity:a})=>[e,t,a].some((e=>Array.isArray(e)&&2===e.length)),yr=e=>{const{dualMetricAxis:t,type:a}=e;return Boolean(t&&!gr(e)&&"dodged"===a&&!fr(e))},Er=e=>{const{dimension:t,groupedPadding:a,orientation:n,name:r,paddingRatio:i}=e,{dimensionScaleKey:o,dimensionAxis:s,dimensionSizeSignal:l}=Ar(n);return{name:`${r}_group`,type:"group",from:{facet:{data:gr(e)?hr(e).facetName:V.FILTERED_TABLE,name:`${r}_facet`,groupby:t}},encode:{enter:{[s]:{scale:o,field:t}}},signals:[{name:l,update:`bandwidth("${o}")`}],scales:[{name:`${r}_position`,type:"band",range:l,domain:{data:V.FILTERED_TABLE,field:`${r}_dodgeGroup`},paddingInner:null!=a?a:i}]}},vr=e=>{const{dimensionAxis:t,dimensionSizeSignal:a}=Ar(e.orientation),n=`${e.name}_position`;return{[t]:{scale:n,field:`${e.name}_dodgeGroup`},[a]:{scale:n,band:1}}},br=e=>Object.assign(Object.assign({},(e=>{const{metric:t,type:a}=e,{metricAxis:n,metricScaleKey:r}=Ar(e.orientation,e.metricAxis),i=`${n}2`;return"stacked"===a||fr(e)?(e=>{const{metric:t,orientation:a}=e,{metricAxis:n,metricScaleKey:r}=Ar(e.orientation,e.metricAxis),i=`${n}2`,o=`datum.${t}0`,s=`datum.${t}1`;return"vertical"===a?{[n]:[{test:`${o} === 0`,signal:`scale('${r}', ${o})`},{test:`${s} > 0`,signal:`max(scale('${r}', ${o}) - 1.5, scale('${r}', ${s}))`},{signal:`min(scale('${r}', ${o}) + 1.5, scale('${r}', ${s}))`}],[i]:{scale:r,field:`${t}1`}}:{[n]:[{test:`${o} === 0`,signal:`scale('${r}', ${o})`},{test:`${s} > 0`,signal:`min(scale('${r}', ${o}) + 1.5, scale('${r}', ${s}))`},{signal:`max(scale('${r}', ${o}) - 1.5, scale('${r}', ${s}))`}],[i]:{scale:r,field:`${t}1`}}})(e):yr(e)?{[n]:[{test:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`,scale:`${r}Secondary`,value:0},{scale:`${r}Primary`,value:0}],[i]:[{test:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`,scale:`${r}Secondary`,field:t},{scale:`${r}Primary`,field:t}]}:{[n]:{scale:r,value:0},[i]:{scale:r,field:t}}})(e)),(e=>{const{type:t,lineWidth:a,metric:n,hasSquareCorners:r}=e,i=r?0:Math.max(1,V.CORNER_RADIUS-re(a)/2);let o;return o="dodged"!==t||fr(e)?(({name:e,metric:t,lineWidth:a,hasSquareCorners:n})=>{const r=`datum.${t}1 > 0 && data('${e}_stacks')[indexof(pluck(data('${e}_stacks'), '${V.STACK_ID}'), datum.${V.STACK_ID})].max_${t}1 === datum.${t}1`,i=`datum.${t}1 < 0 && data('${e}_stacks')[indexof(pluck(data('${e}_stacks'), '${V.STACK_ID}'), datum.${V.STACK_ID})].min_${t}1 === datum.${t}1`,o=n?0:Math.max(1,V.CORNER_RADIUS-re(a)/2);return{cornerRadiusTopLeft:[{test:r,value:o},{value:0}],cornerRadiusTopRight:[{test:r,value:o},{value:0}],cornerRadiusBottomLeft:[{test:i,value:o},{value:0}],cornerRadiusBottomRight:[{test:i,value:o},{value:0}]}})(e):{cornerRadiusTopLeft:[{test:`datum.${n} > 0`,value:i},{value:0}],cornerRadiusTopRight:[{test:`datum.${n} > 0`,value:i},{value:0}],cornerRadiusBottomLeft:[{test:`datum.${n} < 0`,value:i},{value:0}],cornerRadiusBottomRight:[{test:`datum.${n} < 0`,value:i},{value:0}]},((e,{orientation:t})=>"vertical"===t?e:{cornerRadiusTopLeft:e.cornerRadiusBottomLeft,cornerRadiusTopRight:e.cornerRadiusTopLeft,cornerRadiusBottomLeft:e.cornerRadiusBottomRight,cornerRadiusBottomRight:e.cornerRadiusTopRight})(o,e)})(e)),_r=({chartTooltips:e,color:t,colorScheme:a,name:n,opacity:r})=>({fill:ke(t,a),fillOpacity:Pe(r),tooltip:Re(e,n)}),Sr=e=>({cursor:De(e.chartPopovers,e.hasOnClick),opacity:Xe(e),stroke:Or(e),strokeDash:Tr(e),strokeWidth:$r(e)}),Or=({name:e,chartPopovers:t,color:a,colorScheme:n,idKey:r})=>{const i=ke(a,n);return Ne({chartPopovers:t})?[{test:`(${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${r}) || (${V.SELECTED_GROUP} && ${V.SELECTED_GROUP} === datum.${e}_selectedGroupId)`,value:(0,W.getColorValue)("static-blue",n)},i]:[i]},Tr=({chartPopovers:e,idKey:t,lineType:a})=>{const n=we(a);return Ne({chartPopovers:e})?[{test:`isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t}`,value:[]},n]:[n]},$r=({chartPopovers:e,idKey:t,lineWidth:a,name:n})=>{const r=re(a),i={value:r},o=Ha(e,n),s=o.some((({UNSAFE_highlightBy:e})=>"dimension"===e));return 0===o.length||s?[i]:[{test:`(isValid(${V.SELECTED_ITEM}) && ${V.SELECTED_ITEM} === datum.${t}) || (isValid(${V.SELECTED_GROUP}) && ${V.SELECTED_GROUP} === datum.${n}_selectedGroupId)`,value:Math.max(r,2)},i]},xr=(e,t)=>xe(e,t),Lr=e=>"stacked"===e.type||fr(e)?[`${e.metric}1`]:[e.metric],Ar=(e,t)=>"vertical"===e?{metricAxis:"y",dimensionAxis:"x",metricScaleKey:t||"yLinear",dimensionScaleKey:"xBand",dimensionSizeSignal:"width",metricSizeSignal:"height"}:{metricAxis:"x",dimensionAxis:"y",metricScaleKey:t||"xLinear",dimensionScaleKey:"yBand",dimensionSizeSignal:"height",metricSizeSignal:"width"},Ir=e=>{const{metricAxis:t,orientation:a}=e,{metricScaleKey:n}=Ar(a);return t||n},Dr=(e,t)=>{var a;const{dimension:n,name:r}=e;return{name:`${r}_${V.DIMENSION_HOVER_AREA}`,description:`hover area for ${r} dimensions`,type:"rect",from:{data:`${r}_${"stacked"===t?"stacks":"groups"}`},interactive:!0,clip:!0,encode:{enter:{fill:{value:"transparent"},tooltip:Re(null!==(a=e.chartTooltips)&&void 0!==a?a:[],`${r}_${V.DIMENSION_HOVER_AREA}`,!1,{dimension:n})},update:Object.assign({},Rr(e))}}},Rr=e=>{const{dimension:t,orientation:a}=e,{dimensionScaleKey:n,metricAxis:r,dimensionAxis:i,dimensionSizeSignal:o,metricSizeSignal:s}=Ar(a);return{[r]:{value:0},[`${r}2`]:{signal:`${s}`},[i]:{signal:`scale('${n}', datum.${t}) - bandwidth('${n}') * paddingInner / 2 / (1 - paddingInner)`},[o]:{signal:`bandwidth('${n}') * ( 1 + paddingInner / (1 - paddingInner))`}}};const Mr=(e,t,a,n,r)=>{var{textKey:i,padding:o}=e,s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["textKey","padding"]);return Object.assign({barOptions:t,textKey:i||t.metric,padding:null!=o?o:V.ANNOTATION_PADDING,dataName:a,dimensionScaleName:n,dimensionField:r},s)},Cr=(e,t,a,n)=>{const r=((e,t,a,n)=>{const r=e.barAnnotations[0];if(r)return Mr(r,e,t,a,n)})(e,t,a,n);return r?[{type:"group",name:`${e.name}_annotationGroup`,marks:[Nr(r),jr(r)]}]:[]},Nr=({padding:e,barOptions:t,dataName:a,dimensionField:n,dimensionScaleName:r,textKey:i,style:o})=>{const{metricAxis:s,dimensionAxis:l}=Ar(t.orientation),c=Pr(i,e,o),u=Hr(t,c,e);return{name:`${t.name}_annotationText`,type:"text",from:{data:a},interactive:!1,zindex:1,encode:{enter:{[l]:{scale:r,field:n,band:.5},[s]:u,text:[{test:`bandwidth('${r}') > ${kr(t.orientation,e)}`,field:i}],fontSize:{value:V.ANNOTATION_FONT_SIZE},fontWeight:{value:V.ANNOTATION_FONT_WEIGHT},baseline:{value:"middle"},align:{value:"center"}}}}},jr=({barOptions:e,dimensionScaleName:t,padding:a,textKey:n,style:r})=>({name:`${e.name}_annotationBackground`,description:`${e.name}_annotationBackground`,type:"rect",from:{data:`${e.name}_annotationText`},interactive:!1,encode:{enter:Object.assign(Object.assign({},Fr(a,null==r?void 0:r.width)),{y:{signal:`datum.bounds.y1 - ${a}`},y2:{signal:`datum.bounds.y2 + ${a}`},cornerRadius:{value:4},fill:[{test:`datum.datum.${n} && bandwidth('${t}') > ${kr(e.orientation,a)}`,signal:V.BACKGROUND_COLOR}]})}}),kr=(e,t)=>"vertical"===e?48:V.ANNOTATION_FONT_SIZE+2*t,Fr=(e,t)=>t?{xc:{signal:"(datum.bounds.x1 + datum.bounds.x2) / 2"},width:{value:t}}:{x:{signal:`datum.bounds.x1 - ${e}`},x2:{signal:`datum.bounds.x2 + ${e}`}},Pr=(e,t,a)=>(null==a?void 0:a.width)?{value:a.width}:{signal:`getLabelWidth(datum.${e}, '${V.ANNOTATION_FONT_WEIGHT}', ${V.ANNOTATION_FONT_SIZE}) + ${2*t}`},Hr=(e,t,a)=>{const{type:n,metric:r,orientation:i}=e,o="stacked"===n||fr(e)?`${r}1`:r,{metricScaleKey:s}=Ar(i),l=(({orientation:e},t,a)=>"vertical"===e?""+((2*a+V.ANNOTATION_FONT_SIZE)/2+2.5):"value"in t?""+(t.value/2+2.5):`((${t.signal}) / 2 + 2.5)`)(e,t,a);return"vertical"===i?[{test:`datum.${o} < 0`,signal:`max(scale('${s}', datum.${o}), scale('${s}', 0) + ${l})`},{signal:`min(scale('${s}', datum.${o}), scale('${s}', 0) - ${l})`}]:[{test:`datum.${o} < 0`,signal:`min(scale('${s}', datum.${o}), scale('${s}', 0) - ${l})`},{signal:`max(scale('${s}', datum.${o}), scale('${s}', 0) + ${l})`}]},wr=e=>{const{name:t}=e;return{name:`${t}_background`,description:`${t}_background`,type:"rect",from:{data:fr(e)?`${t}_facet`:Gr(e)},interactive:!1,encode:{enter:Object.assign(Object.assign({},br(e)),{fill:{signal:V.BACKGROUND_COLOR}}),update:Object.assign({},Br(e))}}},zr=e=>{const{name:t}=e;return{name:t,description:t,type:"rect",from:{data:fr(e)?`${t}_facet`:Gr(e)},interactive:Ce(e),encode:{enter:Object.assign(Object.assign({},br(e)),_r(e)),update:Object.assign(Object.assign({},Br(e)),Sr(e))}}},Br=e=>{const{dimension:t,orientation:a}=e;if(fr(e))return vr(e);const{dimensionAxis:n,dimensionSizeSignal:r,dimensionScaleKey:i}=Ar(a);return{[n]:{scale:i,field:t},[r]:{scale:i,band:1}}},Gr=e=>gr(e)?hr(e).facetName:V.FILTERED_TABLE;const Ur=U(((e,t)=>{var a,n,r,i,{barAnnotations:o=[],chartPopovers:s=[],chartTooltips:l=[],color:c={value:"categorical-100"},colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_CATEGORICAL_DIMENSION,dualMetricAxis:m=!1,hasOnClick:p=!1,hasSquareCorners:h=!1,index:g=0,lineType:f={value:"solid"},lineWidth:y=0,metric:E=V.DEFAULT_METRIC,metricAxis:v,name:b,opacity:_={value:1},orientation:S="vertical",paddingRatio:O=V.PADDING_RATIO,trellisOrientation:T="horizontal",trellisPadding:$=V.TRELLIS_PADDING,type:x="stacked",trendlines:L=[]}=t,A=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["barAnnotations","chartPopovers","chartTooltips","color","colorScheme","dimension","dualMetricAxis","hasOnClick","hasSquareCorners","index","lineType","lineWidth","metric","metricAxis","name","opacity","orientation","paddingRatio","trellisOrientation","trellisPadding","type","trendlines"]);const I=(0,J.toCamelCase)(b||`bar${g}`),D=Object.assign({barAnnotations:o,chartPopovers:s,chartTooltips:l,dimensionScaleType:"band",dualMetricAxis:m,orientation:S,color:c,colorScheme:u,dimension:d,hasOnClick:p,hasSquareCorners:h,index:g,interactiveMarkName:qe({chartPopovers:s,chartTooltips:l,hasOnClick:p,highlightedItem:A.highlightedItem,trendlines:L},I),lineType:f,lineWidth:y,metric:E,metricAxis:v,name:I,opacity:_,paddingRatio:O,trellisOrientation:T,trellisPadding:$,trendlines:L,type:x},A);e.usermeta=Object.assign(Object.assign({},e.usermeta),{chartOrientation:D.orientation}),e.usermeta=ge(e.usermeta,D.interactiveMarkName),e.data=Wr(null!==(a=e.data)&&void 0!==a?a:[],D),e.signals=Vr(null!==(n=e.signals)&&void 0!==n?n:[],D),e.scales=Qr(null!==(r=e.scales)&&void 0!==r?r:[],D),e.marks=ai(null!==(i=e.marks)&&void 0!==i?i:[],D)})),Vr=U(((e,t)=>{var a;const{barAnnotations:n,chartTooltips:r,chartPopovers:i,hasOnClick:o,name:s,paddingRatio:l,paddingOuter:c,trendlines:u}=t,{paddingInner:d}=xr(l,c);e.push(ut("paddingInner",d)),yr(t)&&e.push(dt(),mt()),(n.length||i.length||r.length||u.length||o)&&(pt(e,s,void 0,1,null===(a=r[0])||void 0===a?void 0:a.excludeDataKeys),lt(r)&&pt(e,`${s}_${V.DIMENSION_HOVER_AREA}`),rt(e,t),pr(e,t))})),Wr=U(((e,t)=>{var a,n,r,i,o;const{dimension:s,dimensionDataType:l,metric:c,order:u,type:d}=t;if(l===V.TIME){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],s)}const m=e.findIndex((e=>e.name===V.FILTERED_TABLE));e[m].transform=null!==(n=e[m].transform)&&void 0!==n?n:[],("stacked"===d||fr(t))&&(null===(r=e[m].transform)||void 0===r||r.push({type:"stack",groupby:Kr(t),field:c,sort:K(u),as:[`${c}0`,`${c}1`]}),null===(i=e[m].transform)||void 0===i||i.push(Yr(t)),e.push(Jr(t))),("dodged"===d||fr(t))&&(e.push(Xr(t)),null===(o=e[m].transform)||void 0===o||o.push(qr(t))),Zr(e,t),mn(e,t),et(e,t),za(e,t)})),Jr=e=>{const{metric:t,name:a}=e;return{name:`${a}_stacks`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",groupby:Kr(e),fields:[`${t}1`,`${t}1`],ops:["min","max"]},Yr(e)]}},Yr=e=>({type:"formula",as:V.STACK_ID,expr:Kr(e).map((e=>`datum.${e}`)).join(' + "," + ')}),Kr=({trellis:e,color:t,dimension:a,lineType:n,opacity:r,type:i})=>{const{facets:o,secondaryFacets:s}=te({color:t,lineType:n,opacity:r});return[...e?[e]:[],a,..."dodged"===i?o:[],..."stacked"===i?s:[]]},Xr=e=>{const{dimension:t,name:a}=e;return{name:`${a}_groups`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",groupby:[t]}]}},qr=({color:e,lineType:t,name:a,opacity:n,type:r})=>{const{facets:i,secondaryFacets:o}=te({color:e,lineType:t,opacity:n});return{type:"formula",as:`${a}_dodgeGroup`,expr:("dodged"===r?i:o).map((e=>`datum.${e}`)).join(' + "," + ')}},Zr=(e,t)=>{if(yr(t)){const a=Ut(Ir(t));a.primaryDomain&&a.secondaryDomain&&e.push({name:a.primaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} !== ${V.LAST_RSC_SERIES_ID}`}]},{name:a.secondaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`}]})}},Qr=U(((e,t)=>{const{color:a,lineType:n,opacity:r,metricAxis:i}=t,{metricAxis:o}=Ar(t.orientation);if(_e(e,Lr(t),o),i&&_e(e,Lr(t),o,i),yr(t)){const a=Ut(Ir(t));_e(e,Lr(t),o,a.primaryScale,a.primaryDomain),_e(e,Lr(t),o,a.secondaryScale,a.secondaryDomain)}ei(e,t),((e,t)=>{if(!t.trellis)return;const{scaleName:a,dimensionSizeSignal:n,paddingInner:r}=hr(t),i=ye(e,a,"band");e[i]=Ee(e[i],[t.trellis]),e[i]=Object.assign(Object.assign({},e[i]),{range:n,paddingInner:r})})(e,t),Se(e,V.COLOR_SCALE,a),Se(e,V.LINE_TYPE_SCALE,n),Se(e,V.OPACITY_SCALE,r),ti(e,t)})),ei=(e,{dimension:t,paddingRatio:a,paddingOuter:n,orientation:r})=>{const{dimensionAxis:i}=Ar(r),o=fe(e,"band",i);e[o]=Ee(e[o],[t]);const{paddingInner:s,paddingOuter:l}=xr(a,n);e[o]=Object.assign(Object.assign({},e[o]),{paddingInner:s,paddingOuter:l})},ti=(e,t)=>{const{color:a,lineType:n,opacity:r}=t;fr(t)&&[{value:a,scaleName:"colors",secondaryScaleName:"secondaryColor"},{value:n,scaleName:"lineTypes",secondaryScaleName:"secondaryLineType"},{value:r,scaleName:"opacities",secondaryScaleName:"secondaryOpacity"}].forEach((({value:t,scaleName:a,secondaryScaleName:n})=>{if(Array.isArray(t)&&2===t.length){const r=ye(e,n,"ordinal");e[r]=Ee(e[r],[t[1]]);const i=ye(e,a,"ordinal"),o=e[i];o.range={signal:a},e[i]=Ee(o,[t[0]])}}))},ai=U(((e,t)=>{const{chartPopovers:a,name:n,type:r}=t,i=[];if(fr(t)?i.push((e=>{const t=[];return t.push(wr(e),zr(e),...Cr(e,`${e.name}_facet`,`${e.name}_position`,`${e.name}_dodgeGroup`)),Object.assign(Object.assign({},Er(e)),{marks:t})})(t)):"stacked"===r?i.push(...(e=>{const t=[];return lt(e.chartTooltips)&&t.push(Dr(e,"stacked")),t.push(wr(e),zr(e),...Cr(e,Gr(e),Ar(e.orientation).dimensionScaleKey,e.dimension)),t})(t)):i.push(...(e=>{const{name:t}=e,a=[Object.assign(Object.assign({},Er(e)),{marks:[{name:`${t}_background`,from:{data:`${t}_facet`},type:"rect",interactive:!1,encode:{enter:Object.assign(Object.assign({},br(e)),{fill:{signal:V.BACKGROUND_COLOR}}),update:Object.assign({},vr(e))}},{name:t,from:{data:`${t}_facet`},type:"rect",interactive:Ce(e),encode:{enter:Object.assign(Object.assign({},br(e)),_r(e)),update:Object.assign(Object.assign({},vr(e)),Sr(e))}},...Cr(e,`${t}_facet`,`${t}_position`,`${t}_dodgeGroup`)]})];return lt(e.chartTooltips)&&a.unshift(Dr(e,"dodged")),a})(t)),Ha(a,n).some((e=>"dimension"===e.UNSAFE_highlightBy))&&i.push((e=>{const{name:t,colorScheme:a,paddingRatio:n,orientation:r}=e,i="vertical"===r?{y:{value:0},y2:{signal:"height"},xc:{signal:`scale('xBand', datum.${t}_selectedGroupId) + bandwidth('xBand')/2`},width:{signal:`bandwidth('xBand')/(1 - ${n} / 2)`}}:{x:{value:0},x2:{signal:"width"},yc:{signal:`scale('yBand', datum.${t}_selectedGroupId) + bandwidth('yBand')/2`},height:{signal:`bandwidth('yBand')/(1 - ${n} / 2)`}};return{name:`${t}_selectionRing`,type:"rect",from:{data:`${t}_selectedData`},interactive:!1,encode:{enter:{fill:{value:"transparent"},strokeWidth:{value:2},stroke:{value:(0,W.getColorValue)("static-blue",a)},cornerRadius:{value:6}},update:i}}})(t)),gr(t)){const a=ni(t);e.push(((e,t,a)=>{const{trellisOrientation:n}=e,r=e.trellis,{markName:i,facetName:o,scaleName:s,axis:l,dimensionSizeSignal:c}=hr(e);return{name:i,type:"group",from:{facet:{data:V.FILTERED_TABLE,name:o,groupby:r}},signals:[{name:c,update:`bandwidth('${s}')`}],encode:{enter:{[l]:{scale:s,field:r},height:{signal:"vertical"===n?`bandwidth('${s}')`:"height"},width:{signal:"horizontal"===n?`bandwidth('${s}')`:"width"}}},scales:[a],marks:t}})(t,i,a))}else e.push(...i);e.push(...er(t))})),ni=e=>{const{orientation:t,trellisOrientation:a}=e;if(t===a){const{metricAxis:a}=Ar(t);return((e,t,a)=>{let n=Te("linear",t,a);return n=Ee(n,e),n})(Lr(e),a,t)}return ri(e)},ri=({dimension:e,orientation:t,paddingRatio:a,paddingOuter:n})=>{const{dimensionAxis:r}=Ar(t);let i=Te("band",r,t);i=Ee(i,[e]);const{paddingInner:o,paddingOuter:s}=xr(a,n);return Object.assign(Object.assign({},i),{paddingInner:o,paddingOuter:s})};function ii(e,t,a){var n;if(!e||0===e.length)return`'${a}'`;const r=e.slice().sort(((e,t)=>(void 0===e.thresholdMin?-1e12:e.thresholdMin)-(void 0===t.thresholdMin?-1e12:t.thresholdMin))),i=[];i.push(`(datum.${t} < ${void 0===r[0].thresholdMin?-1e12:r[0].thresholdMin}) ? '${a}' : `);for(let e=0;e<r.length-1;e++){const a=void 0===r[e+1].thresholdMin?-1e12:r[e+1].thresholdMin;i.push(`(datum.${t} < ${a}) ? '${r[e].fill}' : `)}return i.push(`'${null===(n=r.at(-1))||void 0===n?void 0:n.fill}'`),i.join("")}const oi=U(((e,t)=>{var a,n,r,i,o,s,l;const c="column"===t.direction?"y":"x",u="column"===t.direction?"width":"bulletGroupWidth",d={name:"bulletGroup",type:"group",from:{facet:{data:"table",name:"bulletGroups",groupby:`${t.dimension}`}},encode:{update:{[c]:{scale:"groupScale",field:`${t.dimension}`},height:{signal:"bulletGroupHeight"},width:{signal:u}}},marks:[]},m=t.thresholds;Array.isArray(m)&&m.length>0?(d.data=[{name:"thresholds",values:m,transform:[{type:"identifier",as:"id"}]}],null===(a=d.marks)||void 0===a||a.push(function(e){const t="bulletGroupHeight - 3 - bulletThresholdHeight",a=e.showTarget&&e.showTargetValue?`${t} - targetValueLabelHeight`:t;return{name:`${e.name}Threshold`,description:`${e.name}Threshold`,type:"rect",from:{data:"thresholds"},clip:!0,encode:{enter:{cornerRadiusTopLeft:[{test:"!isDefined(datum.thresholdMin) && domain('xscale')[0] !== 0",value:3}],cornerRadiusBottomLeft:[{test:"!isDefined(datum.thresholdMin) && domain('xscale')[0] !== 0",value:3}],cornerRadiusTopRight:[{test:"!isDefined(datum.thresholdMax) && domain('xscale')[1] !== 0",value:3}],cornerRadiusBottomRight:[{test:"!isDefined(datum.thresholdMax) && domain('xscale')[1] !== 0",value:3}],fill:{field:"fill"},fillOpacity:{value:.2}},update:{x:{signal:"isDefined(datum.thresholdMin) ? scale('xscale', datum.thresholdMin) : 0"},x2:{signal:"isDefined(datum.thresholdMax) ? scale('xscale', datum.thresholdMax) : width"},height:{signal:"bulletThresholdHeight"},y:{signal:a}}}}}(t))):t.track&&(null===(n=d.marks)||void 0===n||n.push(function(e){const t=(0,W.getColorValue)("gray-200",e.colorScheme),a="column"===e.direction?"width":"bulletGroupWidth",n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - 3 - 2 * bulletHeight - 20":"bulletGroupHeight - 3 - 2 * bulletHeight";return{name:`${e.name}Track`,description:`${e.name}Track`,type:"rect",from:{data:"bulletGroups"},encode:{enter:{fill:{value:t},cornerRadiusTopRight:[{test:"domain('xscale')[1] !== 0",value:3}],cornerRadiusBottomRight:[{test:"domain('xscale')[1] !== 0",value:3}],cornerRadiusTopLeft:[{test:"domain('xscale')[0] !== 0",value:3}],cornerRadiusBottomLeft:[{test:"domain('xscale')[0] !== 0",value:3}]},update:{x:{value:0},width:{signal:a},height:{signal:"bulletHeight"},y:{signal:n}}}}}(t))),null===(r=d.marks)||void 0===r||r.push(function(e){var t,a;const n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight - 3 - 2 * bulletHeight":"bulletGroupHeight - 3 - 2 * bulletHeight",r=e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0?[{field:"barColor"}]:[{value:e.color}];return{name:`${e.name}Rect`,description:`${e.name}Rect`,type:"rect",from:{data:"bulletGroups"},encode:{enter:{cornerRadiusTopLeft:[{test:`datum.${e.metric} < 0`,value:3}],cornerRadiusBottomLeft:[{test:`datum.${e.metric} < 0`,value:3}],cornerRadiusTopRight:[{test:`datum.${e.metric} > 0`,value:3}],cornerRadiusBottomRight:[{test:`datum.${e.metric} > 0`,value:3}],fill:r},update:{x:{scale:"xscale",value:0},x2:{scale:"xscale",field:`${e.metric}`},height:{signal:"bulletHeight"},y:{signal:n}}}}}(t)),t.target&&!1!==t.showTarget&&(null===(i=d.marks)||void 0===i||i.push(function(e){const t=(0,W.getColorValue)("gray-900",e.colorScheme),a=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight - targetHeight":"bulletGroupHeight - targetHeight",n=e.showTarget&&e.showTargetValue?"bulletGroupHeight - targetValueLabelHeight":"bulletGroupHeight";return{name:`${e.name}Target`,description:`${e.name}Target`,type:"rule",from:{data:"bulletGroups"},encode:{enter:{stroke:{value:`${t}`},strokeWidth:{value:2}},update:{x:{scale:"xscale",field:`${e.target}`},y:{signal:a},y2:{signal:n}}}}}(t)),t.showTargetValue&&(null===(o=d.marks)||void 0===o||o.push(function(e){const t=(0,W.getColorValue)("gray-900",e.colorScheme);return{name:`${e.name}TargetValueLabel`,description:`${e.name}TargetValueLabel`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.target} != null ? 'Target: ' + format(datum.${e.target}, '$,.2f') : 'No Target'`},align:{value:"center"},baseline:{value:"top"},fill:{value:`${t}`}},update:{x:{scale:"xscale",field:`${e.target}`},y:{signal:"bulletGroupHeight - targetValueLabelHeight + 6"}}}}}(t)))),"top"!==t.labelPosition&&"row"!==t.direction||(null===(s=d.marks)||void 0===s||s.push(function(e){const t=(0,W.getColorValue)("gray-600",e.colorScheme);return{name:`${e.name}Label`,description:`${e.name}Label`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.dimension}`},align:{value:"left"},baseline:{value:"top"},fill:{value:`${t}`}},update:{x:{value:0},y:{value:0}}}}}(t)),null===(l=d.marks)||void 0===l||l.push(function(e){var t,a;const n=(0,W.getColorValue)(e.color,e.colorScheme),r=(0,W.getColorValue)("gray-900",e.colorScheme),i="column"===e.direction?"width":"bulletGroupWidth",o=e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0?`datum.barColor === '${n}' ? '${r}' : datum.barColor`:`'${r}'`;return{name:`${e.name}ValueLabel`,description:`${e.name}ValueLabel`,type:"text",from:{data:"bulletGroups"},encode:{enter:{text:{signal:`datum.${e.metric} != null ? format(datum.${e.metric}, '${e.numberFormat||""}') : ''`},align:{value:"right"},baseline:{value:"top"},fill:{signal:o}},update:{x:{signal:i},y:{value:0}}}}}(t))),e.push(d)})),si=U(((e,t)=>{if(t.metricAxis&&"column"===t.direction&&!t.showTargetValue&&e.push({labelOffset:2,scale:"xscale",orient:"bottom",ticks:!1,labelColor:"gray",domain:!1,tickCount:5,offset:{signal:"axisOffset"}}),"side"===t.labelPosition&&"column"===t.direction){const a=t.showTargetValue&&t.showTarget?-8:2;e.push(function(e){return{scale:"groupScale",orient:"left",tickSize:0,labelOffset:e,labelPadding:10,labelColor:"#797979",domain:!1}}(a),function(e,t){return{scale:"groupScale",orient:"right",tickSize:0,labelOffset:t,labelPadding:10,domain:!1,encode:{labels:{update:{text:{signal:`info(data('table')[datum.index * (length(data('table')) - 1)].${e.metric}) != null ? format(info(data('table')[datum.index * (length(data('table')) - 1)].${e.metric}), '${e.numberFormat||""}') : ''`}}}}}}(t,a))}}));const li=W.spectrumColors.light["static-blue"],ci=U(((e,t)=>{var a,n,r,i,o,{colorScheme:s=V.DEFAULT_COLOR_SCHEME,index:l=0,name:c,metric:u,dimension:d,target:m,color:p=li,direction:h=V.DEFAULT_BULLET_DIRECTION,numberFormat:g,showTarget:f=!0,showTargetValue:y=!1,labelPosition:E=V.DEFAULT_LABEL_POSITION,scaleType:v=V.DEFAULT_SCALE_TYPE,maxScaleValue:b=V.DEFAULT_SCALE_VALUE,thresholds:_=[],track:S=!1,thresholdBarColor:O=!1,metricAxis:T=!1}=t,$=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["colorScheme","index","name","metric","dimension","target","color","direction","numberFormat","showTarget","showTargetValue","labelPosition","scaleType","maxScaleValue","thresholds","track","thresholdBarColor","metricAxis"]);const x=Object.assign({colorScheme:s,index:l,color:(0,W.getColorValue)(p,s),metric:null!=u?u:"currentAmount",dimension:null!=d?d:"graphLabel",target:null!=m?m:"target",name:(0,J.toCamelCase)(null!=c?c:`bullet${l}`),direction:h,numberFormat:null!=g?g:"",showTarget:f,showTargetValue:y,labelPosition:E,scaleType:v,maxScaleValue:b,track:S,thresholds:_,thresholdBarColor:O,metricAxis:T},$);e.data=pi(null!==(a=e.data)&&void 0!==a?a:[],x),e.marks=oi(null!==(n=e.marks)&&void 0!==n?n:[],x),e.scales=ui(null!==(r=e.scales)&&void 0!==r?r:[],x),e.signals=di(null!==(i=e.signals)&&void 0!==i?i:[],x),e.axes=si(null!==(o=e.axes)&&void 0!==o?o:[],x)})),ui=U(((e,t)=>{const a="column"===t.direction?"bulletChartHeight":"width",n="column"===t.direction?"width":[0,{signal:"bulletGroupWidth"}];let r;r="flexible"===t.scaleType&&t.maxScaleValue>0?{data:"table",fields:["xPaddingForTarget",t.metric,"flexibleScaleValue"]}:"fixed"===t.scaleType&&t.maxScaleValue>0?[0,`${t.maxScaleValue}`]:{data:"table",fields:["xPaddingForTarget",t.metric]},e.push({name:"groupScale",type:"band",domain:{data:"table",field:t.dimension},range:[0,{signal:a}],paddingInner:{signal:"paddingRatio"}},{name:"xscale",type:"linear",domain:r,range:n,round:!0,clamp:!0,zero:!0})})),di=U(((e,t)=>{e.push({name:"gap",value:12},{name:"bulletHeight",value:8},{name:"bulletThresholdHeight",update:"bulletHeight * 3"},{name:"targetHeight",update:"bulletThresholdHeight + 6"}),t.showTargetValue&&t.showTarget&&e.push({name:"targetValueLabelHeight",update:"20"}),e.push({name:"bulletGroupHeight",update:mi(t)}),"column"===t.direction?(e.push({name:"paddingRatio",update:"gap / (gap + bulletGroupHeight)"}),t.metricAxis&&!t.showTargetValue?e.push({name:"bulletChartHeight",update:"length(data('table')) * bulletGroupHeight + (length(data('table')) - 1) * gap + 10"},{name:"axisOffset",update:"bulletChartHeight - height - 10"}):e.push({name:"bulletChartHeight",update:"length(data('table')) * bulletGroupHeight + (length(data('table')) - 1) * gap"})):e.push({name:"bulletGroupWidth",update:"(width / length(data('table'))) - gap"},{name:"paddingRatio",update:"gap / (gap + bulletGroupWidth)"},{name:"bulletChartHeight",update:"bulletGroupHeight"})}));function mi(e){return e.showTargetValue&&e.showTarget?"side"===e.labelPosition&&"column"===e.direction?"bulletThresholdHeight + targetValueLabelHeight + 10":"bulletThresholdHeight + targetValueLabelHeight + 24":"side"===e.labelPosition&&"column"===e.direction?"bulletThresholdHeight + 10":"bulletThresholdHeight + 24"}const pi=U(((e,t)=>{const a=(e=>{let t=X(e);return t||(t={name:V.TABLE,values:[],transform:[]},e.push(t)),t})(e);a.transform=(e=>{var t,a,n;const r=[{type:"formula",expr:`isValid(datum.${e.target}) ? round(datum.${e.target} * 1.05) : 0`,as:"xPaddingForTarget"}];return"flexible"===e.scaleType&&r.push({type:"formula",expr:`${e.maxScaleValue}`,as:"flexibleScaleValue"}),e.thresholdBarColor&&(null!==(a=null===(t=e.thresholds)||void 0===t?void 0:t.length)&&void 0!==a?a:0)>0&&r.push({type:"formula",expr:ii(null!==(n=e.thresholds)&&void 0!==n?n:[],e.metric,e.color),as:"barColor"}),r})(t)}));const hi=e=>e.metricRanges.map(((t,a)=>gi(t,e.name,a))),gi=(e,t,a)=>{var{chartTooltips:n=[],lineType:r="dashed",lineWidth:i="S",rangeOpacity:o=.2,metric:s=V.DEFAULT_METRIC,displayOnHover:l=!1}=e,c=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["chartTooltips","lineType","lineWidth","rangeOpacity","metric","displayOnHover"]);return Object.assign({chartTooltips:n,lineType:r,lineWidth:i,name:`${t}MetricRange${a}`,rangeOpacity:o,metric:s,displayOnHover:l},c)},fi=(e,t)=>{const a={name:`${t.name}_area`,color:e.color,colorScheme:e.colorScheme,opacity:t.rangeOpacity,metricStart:t.metricStart,metricEnd:t.metricEnd,isStacked:!1,scaleType:"time",dimension:e.dimension,isMetricRange:!0,parentName:e.name,displayOnHover:t.displayOnHover,interactiveMarkName:e.interactiveMarkName},n=Object.assign(Object.assign({},e),{name:`${t.name}_line`,color:t.color?{value:t.color}:e.color,metric:t.metric,lineType:{value:t.lineType},lineWidth:{value:t.lineWidth},displayOnHover:t.displayOnHover}),r=`${t.name}_facet`;return[Pn(n,r),ht(a,r)]};const yi=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l={value:"categorical-100"},colorScheme:c=V.DEFAULT_COLOR_SCHEME,dimension:u=V.DEFAULT_TIME_DIMENSION,dualMetricAxis:d=!1,hasOnClick:m=!1,index:p=0,lineType:h={value:"solid"},metric:g=V.DEFAULT_METRIC,metricAxis:f,metricRanges:y=[],name:E,opacity:v={value:1},scaleType:b="time",trendlines:_=[]}=t,S=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","dimension","dualMetricAxis","hasOnClick","index","lineType","metric","metricAxis","metricRanges","name","opacity","scaleType","trendlines"]);const O=(0,J.toCamelCase)(E||`line${p}`),T=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScheme:c,dimension:u,dualMetricAxis:d,hasOnClick:m,index:p,interactiveMarkName:qe({chartPopovers:o,chartTooltips:s,hasOnClick:m,highlightedItem:S.highlightedItem,metricRanges:y,trendlines:_},O),lineType:h,metric:g,metricAxis:f,metricRanges:y,name:O,opacity:v,popoverMarkName:jn(o,O),scaleType:b,trendlines:_},S);return T.isHighlightedByGroup=nt(T),e.usermeta=ge(e.usermeta,T.interactiveMarkName),e.data=Ei(null!==(a=e.data)&&void 0!==a?a:[],T),e.signals=bi(null!==(n=e.signals)&&void 0!==n?n:[],T),e.scales=_i(null!==(r=e.scales)&&void 0!==r?r:[],T),e.marks=Si(null!==(i=e.marks)&&void 0!==i?i:[],T),e})),Ei=U(((e,t)=>{var a;const{chartTooltips:n,dimension:r,highlightedItem:i,isSparkline:o,isMethodLast:s,name:l,scaleType:c,staticPoint:u}=t;if("time"===c){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],r)}(Ce(t)||void 0!==i)&&e.push((e=>{const{name:t,idKey:a}=e;let n=`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${a}) > -1`;if(Ce(e)){const r=`${t}_${V.HOVERED_ITEM}`,i=`${t}_${V.GROUP_ID}`;nt(e)?n+=` || isValid(${r}) && ${r}.${i} === datum.${i}`:n+=` || isValid(${r}) && ${r}.${a} === datum.${a}`,Ne(e)&&(n=`${V.SELECTED_ITEM} && ${V.SELECTED_ITEM} === datum.${a} || !${V.SELECTED_ITEM} && ${n}`)}return{name:`${t}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:n}]}})(t),Q(n)),(u||o)&&e.push(((e,t,a,n,r)=>({name:`${e}_staticPointData`,source:a,transform:[{type:"filter",expr:n&&r?"datum === data('table')[data('table').length - 1]":`datum.${t} === true`}]}))(l,u,V.FILTERED_TABLE,o,s)),vi(e,t),mn(e,t),et(e,t,!1),za(e,t),e.push(...(e=>{const t=[],a=hi(e);for(const n of a){const{displayOnHover:a,name:r}=n;if(a){const a=`isValid(${e.interactiveMarkName}_${V.HOVERED_ITEM}) && ${e.interactiveMarkName}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.${V.SERIES_ID}`,n=`isValid(${V.SELECTED_SERIES}) && ${V.SELECTED_SERIES} === datum.${V.SERIES_ID}`,i=`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'),'${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1`,o=`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES}) && ${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID}`;t.push({name:`${r}_highlightedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:[a,n,i,o].join(" || ")}]})}}return t})(t))})),vi=(e,t)=>{if(kn(t)){const{metricAxis:a}=t,n=Ut(a||"yLinear");n.primaryDomain&&n.secondaryDomain&&e.push({name:n.primaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} !== ${V.LAST_RSC_SERIES_ID}`}]},{name:n.secondaryDomain,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`datum.${V.SERIES_ID} === ${V.LAST_RSC_SERIES_ID}`}]})}},bi=U(((e,t)=>{const{name:a}=t;pr(e,t),kn(t)&&e.push(dt(),mt()),Ce(t)&&(pt(e,a,`${a}_voronoi`,2),Ti(e,t),rt(e,t))})),_i=U(((e,t)=>{const{metricAxis:a,dimension:n,color:r,lineType:i,opacity:o,padding:s,scaleType:l}=t;if(ve(e,{scaleType:l,dimension:n,padding:s}),Se(e,V.COLOR_SCALE,r),Se(e,V.LINE_TYPE_SCALE,i),Se(e,V.OPACITY_SCALE,o),_e(e,Oi(t)),a&&_e(e,Oi(t),"y",a),kn(t)){const n=Ut(a||"yLinear");_e(e,Oi(t),"y",n.primaryScale,n.primaryDomain),_e(e,Oi(t),"y",n.secondaryScale,n.secondaryDomain)}return e.push(...mr(t)),e})),Si=U(((e,t)=>{const{color:a,highlightedItem:n,isSparkline:r,lineType:i,name:o,opacity:s,staticPoint:l}=t,{facets:c}=te({color:a,lineType:i,opacity:s});e.push({name:`${o}_group`,type:"group",from:{facet:{name:`${o}_facet`,data:V.FILTERED_TABLE,groupby:c}},marks:[Pn(t,`${o}_facet`)]}),(l||r)&&e.push((e=>{const{name:t,metric:a,color:n,colorScheme:r,scaleType:i,dimension:o,isSparkline:s,pointSize:l=125}=e;return{name:`${t}_staticPoints`,description:`${t}_staticPoints`,type:"symbol",from:{data:`${t}_staticPointData`},interactive:!1,encode:{enter:{size:{value:l},fill:s?{signal:V.BACKGROUND_COLOR}:ke(n,r),stroke:s?ke(n,r):{signal:V.BACKGROUND_COLOR},y:Fn(e,a)},update:{x:ze(i,o)}}}})(t)),e.push(...(e=>{const{color:t,lineType:a}=e,{facets:n}=te({color:t,lineType:a}),r=[],i=hi(e);for(const t of i){const{displayOnHover:a,name:i}=t,o=a?`${i}_highlightedData`:V.FILTERED_TABLE;r.push({name:`${i}_group`,type:"group",clip:!0,from:{facet:{name:`${i}_facet`,data:o,groupby:n}},marks:fi(e,t)})}return r})(t)),(Ce(t)||void 0!==n)&&e.push(...wn(t,`${V.FILTERED_TABLE}ForTooltip`)),e.push(...er(t))})),Oi=e=>{const t=[e.metric];return hi(e).forEach((e=>{e.scaleAxisToFit&&t.push(e.metricStart,e.metricEnd)})),t},Ti=(e,t)=>{const{interactionMode:a,name:n}=t;if(a===V.INTERACTION_MODE.ITEM)for(const t of Ye(n))pt(e,n,t)},$i=U(((e,{colorScheme:t=V.DEFAULT_COLOR_SCHEME,highlightedItem:a,idKey:n,index:r=0,name:i,marks:o=[],dimension:s=V.DEFAULT_TIME_DIMENSION})=>{let{barCount:l,lineCount:c}=xi();const u=(0,J.toCamelCase)(i||`combo${r}`),d=o.map((e=>{switch(e.markType){case"bar":return l++,Li(e,u,l);case"line":return c++,Li(e,u,c);default:return""}}));return l=-1,c=-1,e=[...o].reduce(((e,r,i)=>{let o;const u=d.filter(((e,t)=>t!==i));return"bar"===r.markType?(l++,o=d[i],Ur(e,Object.assign(Object.assign({},r),{colorScheme:t,comboSiblingNames:u,highlightedItem:a,idKey:n,index:l,name:o,dimension:Ii(r,s)}))):(c++,o=d[i],yi(e,Object.assign(Object.assign({},r),{colorScheme:t,comboSiblingNames:u,highlightedItem:a,idKey:n,index:c,name:o,dimension:Ii(r,s)})))}),e),e})),xi=()=>({barCount:-1,lineCount:-1}),Li=(e,t,a)=>{if(e.name)return e.name;const n=Ai(e.markType);return(0,J.combineNames)(t,`${n}${a}`)},Ai=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"",Ii=(e,t)=>{var a;return null!==(a=e.dimension)&&void 0!==a?a:t};const Di=e=>{if(e.donutSummaries.length)return Ri(e.donutSummaries[0],e)},Ri=(e,t)=>{var{numberFormat:a="shortNumber"}=e,n=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["numberFormat"]);return Object.assign({donutOptions:t,numberFormat:a},n)},Mi=e=>{const{donutOptions:t,label:a}=e;return{update:{x:{signal:"width / 2"},y:{signal:"height / 2"},text:Ci(e),fontSize:[{test:`${V.DONUT_RADIUS} * ${t.holeRatio} < ${V.DONUT_SUMMARY_MIN_RADIUS}`,value:0},{signal:`${t.name}_summaryFontSize`}],align:{value:"center"},baseline:Ni(a),limit:ji(e)}}},Ci=({donutOptions:e,numberFormat:t})=>e.isBoolean?{signal:`format(datum['${e.metric}'], '.0%')`}:[...Vt(t,"sum"),{field:"sum"}],Ni=e=>e?{value:"alphabetic"}:{value:"middle"},ji=({donutOptions:e,label:t})=>{const{holeRatio:a,name:n}=e,r=t?`${n}_summaryFontSize`:`${n}_summaryFontSize * 0.5`;return{signal:`2 * sqrt(pow(${V.DONUT_RADIUS} * ${a}, 2) - pow(${r}, 2))`}},ki=({donutOptions:e,label:t})=>({update:{x:{signal:"width / 2"},y:{signal:"height / 2"},dy:{signal:`ceil(${e.name}_summaryFontSize * 0.25)`},text:{value:t},fontSize:[{test:`${V.DONUT_RADIUS} * ${e.holeRatio} < ${V.DONUT_SUMMARY_MIN_RADIUS}`,value:0},{signal:`ceil(${e.name}_summaryFontSize * 0.5)`}],align:{value:"center"},baseline:{value:"top"},limit:{signal:`2 * sqrt(pow(${V.DONUT_RADIUS} * ${e.holeRatio}, 2) - pow(${e.name}_summaryFontSize * 0.75, 2))`}}});const Fi=(e,t)=>{var{percent:a=!1,value:n=!1,valueFormat:r="standardNumber"}=e,i=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["percent","value","valueFormat"]);return Object.assign({donutOptions:t,percent:a,value:n,valueFormat:r},i)},Pi=({labelKey:e,value:t,percent:a,donutOptions:n})=>{const{name:r,color:i}=n;return{type:"text",name:`${r}_segmentLabel`,from:{data:V.FILTERED_TABLE},encode:{enter:Object.assign(Object.assign({},wi(r)),{text:{field:null!=e?e:i},fontWeight:{value:"bold"},dy:t||a?{signal:`datum['${r}_arcTheta'] <= 0.5 * PI || datum['${r}_arcTheta'] >= 1.5 * PI ? -16 : 0`}:void 0}),update:zi}}},Hi=e=>{if(!e.value&&!e.percent)return[];const{donutOptions:t}=e;return[{type:"text",name:`${t.name}_segmentLabelValue`,from:{data:V.FILTERED_TABLE},encode:{enter:Object.assign(Object.assign({},wi(t.name)),{text:Bi(e),dy:{signal:`datum['${t.name}_arcTheta'] <= 0.5 * PI || datum['${t.name}_arcTheta'] >= 1.5 * PI ? 0 : 16`}}),update:zi}}]},wi=e=>({radius:{signal:`${V.DONUT_RADIUS} + 6`},theta:{field:`${e}_arcTheta`},fontSize:Gi(e),align:{signal:`datum['${e}_arcTheta'] <= PI ? 'left' : 'right'`},baseline:{signal:`datum['${e}_arcTheta'] <= 0.5 * PI || datum['${e}_arcTheta'] >= 1.5 * PI ? 'bottom' : 'top'`}}),zi={x:{signal:"width / 2"},y:{signal:"height / 2"}},Bi=({donutOptions:e,percent:t,value:a,valueFormat:n})=>{const r=`format(datum['${e.name}_arcPercent'], '.0%')`;if(a){const a=Vt(n,e.metric);return t?a.map((e=>Object.assign(Object.assign({},e),{signal:`${r} + "\\u00a0\\u00a0" + ${e.signal}`}))):a}if(t)return{signal:r}},Gi=e=>[{test:`datum['${e}_arcLength'] < ${V.DONUT_SEGMENT_LABEL_MIN_ANGLE}`,value:0},{value:14}];const Ui=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l=V.DEFAULT_COLOR,colorScheme:c=V.DEFAULT_COLOR_SCHEME,donutSummaries:u=[],index:d=0,metric:m=V.DEFAULT_METRIC,name:p,startAngle:h=0,holeRatio:g=.85,isBoolean:f=!1,segmentLabels:y=[]}=t,E=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","donutSummaries","index","metric","name","startAngle","holeRatio","isBoolean","segmentLabels"]);const v=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScheme:c,donutSummaries:u,holeRatio:g,index:d,isBoolean:f,metric:m,name:(0,J.toCamelCase)(null!=p?p:`donut${d}`),segmentLabels:y,startAngle:h},E);Ce(v)&&(e.usermeta=ge(e.usermeta,v.name)),e.data=Vi(null!==(a=e.data)&&void 0!==a?a:[],v),e.scales=Ji(null!==(n=e.scales)&&void 0!==n?n:[],v),e.marks=Yi(null!==(r=e.marks)&&void 0!==r?r:[],v),e.signals=Ki(null!==(i=e.signals)&&void 0!==i?i:[],v)})),Vi=U(((e,t)=>{var a,n;const{name:r,isBoolean:i}=t,o=e.findIndex((e=>e.name===V.FILTERED_TABLE));var s;e[o].transform=null!==(a=e[o].transform)&&void 0!==a?a:[],null===(n=e[o].transform)||void 0===n||n.push(...Wi(t)),i&&e.push({name:`${r}_booleanData`,source:V.FILTERED_TABLE,transform:[{type:"window",ops:["row_number"],as:[`${r}_rscRowIndex`]},{type:"filter",expr:`datum.${r}_rscRowIndex === 1`}]}),e.push(...(s=t,!Di(s)||s.isBoolean?[]:[{name:`${s.name}_summaryData`,source:V.FILTERED_TABLE,transform:[{type:"aggregate",fields:[s.metric],ops:["sum"],as:["sum"]}]}]))})),Wi=({startAngle:e,metric:t,name:a})=>[{type:"pie",field:t,startAngle:e,endAngle:{signal:`${e} + 2 * PI`},as:[`${a}_startAngle`,`${a}_endAngle`]},{type:"formula",as:`${a}_arcTheta`,expr:`(datum['${a}_startAngle'] + datum['${a}_endAngle']) / 2`},{type:"formula",as:`${a}_arcLength`,expr:`datum['${a}_endAngle'] - datum['${a}_startAngle']`},{type:"formula",as:`${a}_arcPercent`,expr:`datum['${a}_arcLength'] / (2 * PI)`}],Ji=U(((e,t)=>{const{color:a}=t;var n;Se(e,V.COLOR_SCALE,a),e.push(...(n=t,Di(n)?[{name:`${n.name}_summaryFontSizeScale`,type:"threshold",domain:[32,36,40,45,50,60],range:[28,32,36,40,45,50,60]}]:[]))})),Yi=U(((e,t)=>{e.push((e=>{const{chartPopovers:t,chartTooltips:a,color:n,colorScheme:r,holeRatio:i,idKey:o,name:s}=e;return{type:"arc",name:s,description:s,from:{data:V.FILTERED_TABLE},encode:{enter:{fill:ke(n,r),x:{signal:"width / 2"},y:{signal:"height / 2"},tooltip:Re(a,s),stroke:{value:(0,W.getColorValue)("static-blue",r)}},update:{startAngle:{field:`${s}_startAngle`},endAngle:{field:`${s}_endAngle`},padAngle:{value:.01},innerRadius:{signal:`${i} * ${V.DONUT_RADIUS}`},outerRadius:{signal:V.DONUT_RADIUS},opacity:Xe(e),cursor:De(t),strokeWidth:[{test:`${V.SELECTED_ITEM} === datum.${o}`,value:2},{value:0}]}}}})(t),...(e=>{const t=Di(e);if(!t)return[];const a=[];return e.isBoolean?a.push((e=>{var t;const{donutOptions:a,label:n}=e,r={type:"group",name:`${a.name}_percentText`,marks:[{type:"text",name:`${a.name}_booleanSummaryValue`,from:{data:`${a.name}_booleanData`},encode:Mi(e)}]};return n&&(null===(t=r.marks)||void 0===t||t.push({type:"text",name:`${a.name}_booleanSummaryLabel`,from:{data:`${a.name}_booleanData`},encode:ki(Object.assign(Object.assign({},e),{label:n}))})),r})(t)):a.push((e=>{var t;const{donutOptions:a,label:n}=e,r={type:"group",name:`${a.name}_summaryGroup`,marks:[{type:"text",name:`${a.name}_summaryValue`,from:{data:`${a.name}_summaryData`},encode:Mi(e)}]};return n&&(null===(t=r.marks)||void 0===t||t.push({type:"text",name:`${a.name}_summaryLabel`,from:{data:`${a.name}_summaryData`},encode:ki(Object.assign(Object.assign({},e),{label:n}))})),r})(t)),a})(t),...(e=>{const{isBoolean:t,name:a}=e;if(t)return[];const n=(e=>{if(e.segmentLabels.length)return Fi(e.segmentLabels[0],e)})(e);return n?[{name:`${a}_segmentLabelGroup`,type:"group",marks:[Pi(n),...Hi(n)]}]:[]})(t))})),Ki=U(((e,t)=>{var a;const{chartTooltips:n,name:r}=t;e.push(...(e=>{if(!Di(e))return[];const{name:t,holeRatio:a}=e;return[{name:`${t}_summaryFontSize`,update:`scale('${t}_summaryFontSizeScale', ${V.DONUT_RADIUS} * ${a} * ${V.DONUT_SUMMARY_FONT_SIZE_RATIO})`}]})(t)),Ce(t)&&pt(e,r,void 0,1,null===(a=n[0])||void 0===a?void 0:a.excludeDataKeys)})),Xi=(e,t,a,n=!1)=>{t.length&&eo(t).filter(Zi).forEach((t=>{t.encode||(t.encode={update:{}}),t.encode.update||(t.encode.update={});const{update:r}=t.encode,{opacity:i}=r;if(void 0!==i){const t=qi(e,n,a);Array.isArray(r.opacity)||(r.opacity=[]);const i=Math.max(r.opacity.length-1,0);r.opacity.splice(i,0,t)}}))},qi=(e,t,a)=>t?{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES})`,signal:`${V.CONTROLLED_HIGHLIGHTED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`}:(null==a?void 0:a.length)?{test:`isValid(${V.HIGHLIGHTED_GROUP})`,signal:`${V.HIGHLIGHTED_GROUP} === datum.${e}_${V.GROUP_ID} ? 1 : ${V.FADE_FACTOR}`}:{test:`isValid(${e}_${V.HOVERED_SERIES})`,signal:`${e}_${V.HOVERED_SERIES} === datum.${V.SERIES_ID} ? 1 : ${V.FADE_FACTOR}`},Zi=e=>{var t;const a=null===(t=e.encode)||void 0===t?void 0:t.enter;if(!a)return!1;const{fill:n,fillOpacity:r,stroke:i,strokeDash:o,strokeOpacity:s}=a,l=[n,r,i,o,s];for(const e of l)if(Qi(e))return!0;return!1},Qi=e=>!!(e&&"object"==typeof e&&("scale"in e||"signal"in e&&"string"==typeof e.signal&&e.signal.includes("scale("))),eo=e=>{let t=e;for(const a of e)to(a)&&a.marks&&(t=[...t,...eo(a.marks)]);return t},to=e=>"group"===e.type,ao=new Set([V.COLOR_SCALE,V.LINE_TYPE_SCALE,V.LINEAR_COLOR_SCALE,V.OPACITY_SCALE,"secondaryColor","secondaryLineType","secondaryOpacity","secondarySymbolShape",V.SYMBOL_SHAPE_SCALE,V.SYMBOL_SIZE_SCALE]),no=(e,t)=>e.domain.fields.some((e=>t.includes(e.toString()))),ro=e=>Boolean("domain"in e&&e.domain&&"fields"in e.domain),io=(e,t)=>{if(!["left","right"].includes(e))return void 0!==t&&t>0?{signal:`max(1, floor(width / ${t+(V.DEFAULT_LEGEND_SYMBOL_WIDTH+V.DEFAULT_LEGEND_COLUMN_PADDING)}))`}:{signal:"floor(width / 220)"}},oo=(e,t)=>e.length?[{type:"filter",expr:`indexof(${JSON.stringify(e)}, datum.${t}Entries) === -1`}]:[],so=(e,t,a)=>{const n=po(e,t),r=co(t,a),i=lo(t.name,t.legendLabels),o=fo(t),s=yo(t);return Eo([n,i,r,o,s])},lo=(e,t)=>t?{labels:{update:{text:[{test:`indexof(pluck(${e}_labels, 'seriesName'), datum.value) > -1`,signal:`${e}_labels[indexof(pluck(${e}_labels, 'seriesName'), datum.value)].label`},{signal:"datum.value"}]}}}:{},co=(e,t)=>{var a;const{highlight:n,highlightedSeries:r,name:i,hasMouseInteraction:o,descriptions:s,chartPopovers:l}=e;return n||r||s||(null==l?void 0:l.length)||(null===(a=t.interactiveMarks)||void 0===a?void 0:a.length)?{entries:{name:`${i}_legendEntry`,interactive:!0,enter:{tooltip:uo(s,i)},update:{fill:{value:"transparent"}}},labels:{update:{opacity:mo(e,t)}},symbols:{update:{opacity:mo(e,t)}}}:o?{entries:{name:`${i}_legendEntry`,interactive:!0,enter:{fill:{value:"transparent"}}}}:{}},uo=(e,t)=>{if(null==e?void 0:e.length)return{signal:`merge(datum, {'${V.COMPONENT_NAME}': '${t}'})`}},mo=({highlight:e,highlightedItem:t,highlightedSeries:a,keys:n,chartPopovers:r,name:i},o)=>{const s=(null==n?void 0:n.length)?V.HIGHLIGHTED_GROUP:V.CONTROLLED_HIGHLIGHTED_SERIES,l=(null==n?void 0:n.length)?V.SELECTED_GROUP:V.SELECTED_SERIES,c=[];(null==r?void 0:r.length)&&c.push({test:`isValid(${l})`,signal:`${l} === datum.value ? 1 : ${V.FADE_FACTOR}`}),e&&c.push({test:`isValid(${i}_${V.HOVERED_SERIES})`,signal:`${i}_${V.HOVERED_SERIES} === datum.value ? 1 : ${V.FADE_FACTOR}`}),t&&c.push({test:`length(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}))`,signal:`indexof(pluck(data('${V.CONTROLLED_HIGHLIGHTED_TABLE}'), '${V.SERIES_ID}'), datum.${V.SERIES_ID}) > -1 ? 1 : ${V.FADE_FACTOR}`}),a&&c.push({test:`isValid(${s})`,signal:`${s} === datum.value ? 1 : ${V.FADE_FACTOR}`});for(const e of o.interactiveMarks||[])c.push({test:`isValid(${e}_${V.HOVERED_ITEM})`,signal:`${e}_${V.HOVERED_ITEM}.${V.SERIES_ID} === datum.value ? 1 : ${V.FADE_FACTOR}`});if(c.length)return[...c,V.DEFAULT_OPACITY_RULE]},po=(e,t)=>{var a,n;const{color:r,lineType:i,lineWidth:o,name:s,opacity:l,symbolShape:c,colorScheme:u}=t,d={fillOpacity:ho({facets:e,facetType:V.OPACITY_SCALE,customValue:l,name:s}),shape:ho({facets:e,facetType:V.SYMBOL_SHAPE_SCALE,customValue:c,name:s}),size:ho({facets:e,facetType:V.SYMBOL_SIZE_SCALE,name:s}),strokeDash:ho({facets:e,facetType:V.LINE_TYPE_SCALE,customValue:i,name:s}),strokeWidth:ho({facets:e,facetType:V.LINE_WIDTH_SCALE,customValue:o,name:s})},m={fill:[...go(t,"gray-300"),null!==(a=ho({facets:e,facetType:V.COLOR_SCALE,customValue:r,name:s}))&&void 0!==a?a:{value:W.spectrumColors[u]["categorical-100"]}],stroke:[...go(t,"gray-300"),null!==(n=ho({facets:e,facetType:V.COLOR_SCALE,customValue:r,name:s}))&&void 0!==n?n:{value:W.spectrumColors[u]["categorical-100"]}]};return{entries:{name:`${s}_legendEntry`},symbols:JSON.parse(JSON.stringify({enter:d,update:m}))}},ho=({customValue:e,facets:t,facetType:a,name:n})=>{if(e)return"string"==typeof e?{signal:`scale('${a}', data('${n}Aggregate')[datum.index].${e})`}:{value:e.value};if(!t)return;const r={color:{scale:"secondaryColor",signal:"colors"},linearColor:{scale:"secondaryColor",signal:"colors"},lineType:{scale:"secondaryLineType",signal:"lineTypes"},lineWidth:{scale:"secondaryLineWidth",signal:"lineWidths"},opacity:{scale:"secondaryOpacity",signal:"opacities"},symbolShape:{scale:"secondarySymbolShape",signal:"symbolShapes"},symbolSize:{scale:"secondarySymbolSize",signal:"symbolSizes"},symbolPathWidth:{scale:"secondarySymbolPathWidth",signal:"symbolPathWidths"}},i=t.find((e=>e.facetType===a));if(!i)return;const o=t.find((e=>e.facetType===r[a].scale));if(o){const{scale:e,signal:t}=r[a];return{signal:`scale('${t}', data('${n}Aggregate')[datum.index].${i.field})[indexof(domain('${e}'), data('${n}Aggregate')[datum.index].${o.field})% length(scale('${t}', data('${n}Aggregate')[datum.index].${i.field}))]`}}return{signal:`scale('${a}', data('${n}Aggregate')[datum.index].${i.field})`}},go=({colorScheme:e,hiddenSeries:t,isToggleable:a,keys:n,name:r},i)=>a||t.length?(null==n?void 0:n.length)?[{test:`indexof(pluck(data('${V.FILTERED_TABLE}'), '${r}_${V.GROUP_ID}'), datum.value) === -1`,value:(0,W.getColorValue)(i,e)}]:[{test:"indexof(hiddenSeries, datum.value) !== -1",value:(0,W.getColorValue)(i,e)}]:[],fo=e=>{const{colorScheme:t}=e;return{labels:{update:{fill:[...go(e,"gray-500"),{value:(0,W.getColorValue)("gray-700",t)}]}}}},yo=e=>{const{isToggleable:t,keys:a,name:n,hasOnClick:r,chartPopovers:i}=e;let o={};return(t&&!a||r||(null==i?void 0:i.length))&&(o={entries:{name:`${n}_legendEntry`,interactive:!0,enter:{fill:{value:"transparent"},cursor:{value:"pointer"}}}}),o},Eo=e=>{let t={};for(const a of e)t=At()(t,a);return t},vo=e=>e&&"object"==typeof e&&"value"in e?ie(e.value):"circle";const bo=U(((e,t)=>{var a,n,r,i,o,s,{color:l,hasMouseInteraction:c=!1,hasOnClick:u=!1,hiddenEntries:d=[],hiddenSeries:m=[],highlight:p=!1,index:h=0,isToggleable:g=!1,lineType:f,lineWidth:y,position:E="bottom",symbolShape:v,colorScheme:b=V.DEFAULT_COLOR_SCHEME}=t,_=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["color","hasMouseInteraction","hasOnClick","hiddenEntries","hiddenSeries","highlight","index","isToggleable","lineType","lineWidth","position","symbolShape","colorScheme"]);const{formattedColor:S,formattedLineType:O,formattedLineWidth:T,formattedSymbolShape:$}=_o(l,f,y,v,b),x=`legend${h}`,L=Object.assign({color:S,hasMouseInteraction:c,hasOnClick:u,hiddenEntries:d,hiddenSeries:m,highlight:p,index:h,isToggleable:g,lineType:O,lineWidth:T,name:x,position:E,symbolShape:$,colorScheme:b},_);e.scales=$o(null!==(a=e.scales)&&void 0!==a?a:[],L);const{ordinalFacets:A,continuousFacets:I}=_.keys?((e,t)=>{var a,n;const r=[],i=[];for(const o of t)ro(o)&&no(o,e)&&("ordinal"===o.type||"point"===o.type?r.push({facetType:o.name,field:null===(a=o.domain.fields.find((t=>e.includes(t.toString()))))||void 0===a?void 0:a.toString()}):i.push({facetType:o.name,field:null===(n=o.domain.fields.find((t=>e.includes(t.toString()))))||void 0===n?void 0:n.toString()}));return{ordinalFacets:r,continuousFacets:i}})(_.keys,null!==(n=e.scales)&&void 0!==n?n:[]):(e=>{const t=[],a=[];for(const n of e)ao.has(n.name)&&ro(n)&&n.domain.fields.length&&("ordinal"===n.type||"point"===n.type?t.push({facetType:n.name,field:n.domain.fields[0].toString()}):a.push({facetType:n.name,field:n.domain.fields[0].toString()}));return{ordinalFacets:t,continuousFacets:a}})(null!==(r=e.scales)&&void 0!==r?r:[]),D=[];if(A.length){e.scales.push({name:`${x}Entries`,type:"ordinal",domain:{data:`${x}Aggregate`,field:`${x}Entries`}});const t=[...new Set(A.map((e=>e.field)))];e.data=Lo(null!==(i=e.data)&&void 0!==i?i:[],Object.assign(Object.assign({},L),{facets:t})),e.signals=Ao(null!==(o=e.signals)&&void 0!==o?o:[],L),e.marks=xo(null!==(s=e.marks)&&void 0!==s?s:[],L),D.push(So(A,L,e.usermeta))}for(const e of I)D.push(Oo(e,L));void 0===e.legends&&(e.legends=[]),e.legends.push(...D)})),_o=(e,t,a,n,r)=>{let i,o,s,l;return i=e&&"object"==typeof e?{value:(0,W.getColorValue)(e.value,r)}:e,o=t&&"object"==typeof t?{value:ne(t.value)}:t,s=a&&"object"==typeof a?{value:re(a.value)}:a,l=n&&"object"==typeof n?{value:ie(n.value)}:n,{formattedColor:i,formattedLineType:o,formattedLineWidth:s,formattedSymbolShape:l}},So=(e,t,a)=>{const{name:n,position:r,title:i,labelLimit:o,titleLimit:s}=t,l={fill:`${n}Entries`,direction:["top","bottom"].includes(r)?"horizontal":"vertical",orient:r,title:i,encode:so(e,t,a),columns:io(r,o),labelLimit:o};return void 0!==s&&(l.titleLimit=s),l},Oo=(e,t)=>{const{symbolShape:a}=t;return e.facetType===V.SYMBOL_SIZE_SCALE?Object.assign(Object.assign({size:V.SYMBOL_SIZE_SCALE},To(t)),{symbolType:vo(a)}):Object.assign({fill:V.LINEAR_COLOR_SCALE,gradientThickness:10},To(t))},To=({position:e,title:t,titleLimit:a})=>{const n={direction:["top","bottom"].includes(e)?"horizontal":"vertical",orient:e,title:t};return void 0!==a&&(n.titleLimit=a),n},$o=U(((e,{color:t,lineType:a,opacity:n,symbolShape:r})=>{Se(e,V.COLOR_SCALE,t),Se(e,V.LINE_TYPE_SCALE,a),Se(e,V.OPACITY_SCALE,n),Se(e,V.SYMBOL_SHAPE_SCALE,r)})),xo=U(((e,{highlight:t,keys:a,name:n})=>{t&&Xi(n,e,a)})),Lo=U(((e,{facets:t,hiddenEntries:a,keys:n,name:r})=>{var i;const o=t.map((e=>`datum.${e}`)).join(' + " | " + ');if(e.push({name:`${r}Aggregate`,source:"table",transform:[{type:"aggregate",groupby:t},{type:"formula",as:`${r}Entries`,expr:o},...oo(a,r)]}),null==n?void 0:n.length){const t=X(e);t.transform||(t.transform=[]),t.transform.push({type:"formula",as:`${r}_${V.GROUP_ID}`,expr:n.map((e=>`datum.${e}`)).join(' + " | " + ')})}const s=e.filter((e=>/.*(Trendline|MetricRange).*highlightedData$/.test(e.name)));for(const e of s)(null===(i=e.transform)||void 0===i?void 0:i[0])&&"expr"in e.transform[0]&&(e.transform[0].expr+=` || datum.${V.SERIES_ID} === ${r}_${V.HOVERED_SERIES}`)})),Ao=U(((e,{hiddenSeries:t,highlight:a,isToggleable:n,keys:r,legendLabels:i,name:o})=>{a&&((e,t,a,n)=>{e.push({name:`${t}_${V.HOVERED_SERIES}`,value:null,on:[{events:`@${t}_legendEntry:mouseover`,update:ct(t,a,n)},{events:`@${t}_legendEntry:mouseout`,update:"null"}]})})(e,o,Boolean(n||t),r),i&&e.push(ut(`${o}_labels`,i))}));const Io=e=>e.scatterPaths.map(((t,a)=>((e,t,a)=>{var{color:n="gray-500",groupBy:r,pathWidth:i={value:"M"},opacity:o=.5}=e,s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(e,["color","groupBy","pathWidth","opacity"]),l=a.color,c=a.colorScheme,u=a.dimension,d=a.dimensionScaleType,m=a.lineType,p=a.metric,h=a.name,g=a.opacity,f=a.size;const{facets:y}=te({color:l,lineType:m,size:f,opacity:g});return Object.assign({color:n,colorScheme:c,dimension:u,dimensionScaleType:d,groupBy:null!=r?r:y,metric:p,index:t,pathWidth:i,name:`${h}Path${t}`,opacity:o},s)})(t,a,e))),Do=({color:e,colorScheme:t,dimension:a,dimensionScaleType:n,pathWidth:r,metric:i,name:o,opacity:s})=>({name:o,type:"trail",from:{data:`${o}_facet`},encode:{enter:{fill:{value:(0,W.getColorValue)(e,t)},fillOpacity:{value:s},size:Mo(r)},update:{opacity:Ro(),x:ze(n,a),y:{scale:"yLinear",field:i}}}}),Ro=()=>[{test:`isValid(${V.CONTROLLED_HIGHLIGHTED_SERIES}) || isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) || isValid(${V.SELECTED_SERIES}) || isValid(${V.SELECTED_ITEM})`,value:V.FADE_FACTOR},V.DEFAULT_OPACITY_RULE],Mo=e=>"string"==typeof e?{scale:V.SYMBOL_PATH_WIDTH_SCALE,field:e}:{value:re(e.value)},Co=U(((e,t)=>{const{name:a}=t,n={name:`${a}_group`,type:"group",marks:[No(t),...ko(t),...Fo(t)]};e.push(...(e=>{const t=[],a=Io(e);for(const e of a){const{groupBy:a,name:n}=e;t.push({name:`${n}_group`,type:"group",from:{facet:{name:`${n}_facet`,data:V.FILTERED_TABLE,groupby:a}},marks:[Do(e)]})}return t})(t),n,...er(t))})),No=e=>{const{color:t,colorScaleType:a,colorScheme:n,dimension:r,dimensionScaleType:i,lineType:o,lineWidth:s,metric:l,name:c,opacity:u,size:d}=e;return{name:c,description:c,type:"symbol",from:{data:V.FILTERED_TABLE},encode:{enter:{blend:{value:"light"===n?"multiply":"screen"},fill:ke(t,n,a),fillOpacity:Pe(u),shape:{value:"circle"},size:He(d),strokeDash:we(o),strokeWidth:Fe(s),stroke:ke(t,n,a)},update:{opacity:jo(e),x:ze(i,r),y:{scale:"yLinear",field:l}}}}},jo=e=>{const{highlightedItem:t,idKey:a}=e;if(!Ce(e)&&void 0===t)return[V.DEFAULT_OPACITY_RULE];const n=[];return ot(n,e),Ne(e)&&n.push({test:`isValid(${V.SELECTED_ITEM})`,signal:`${V.SELECTED_ITEM} === datum.${a} ? 1 : ${V.FADE_FACTOR}`}),[...n,V.DEFAULT_OPACITY_RULE]},ko=e=>{const{dimension:t,dimensionScaleType:a,highlightedItem:n,metric:r,name:i}=e;return Ce(e)||void 0!==n?[Ge(`${V.FILTERED_TABLE}ForTooltip`,t,r,i,a),Ue(e,`${i}_pointsForVoronoi`)]:[]},Fo=e=>{const{dimension:t,dimensionScaleType:a,metric:n,name:r,size:i}=e;return Ne(e)?[{name:`${r}_selectRing`,type:"symbol",from:{data:`${r}_selectedData`},encode:{enter:{fill:{value:"transparent"},shape:{value:"circle"},size:Po(i),strokeWidth:{value:2},stroke:{value:W.spectrumColors.light["static-blue"]}},update:{x:ze(a,t),y:{scale:"yLinear",field:n}}}}]:[]},Po=e=>{const t=He(e);return"value"in t&&"number"==typeof t.value?{value:Math.pow(Math.sqrt(t.value)+4,2)}:"scale"in t&&"field"in t?{signal:`pow(sqrt(scale('${t.scale}', datum.${t.field})) + 4, 2)`}:t};const Ho=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l={value:"categorical-100"},colorScaleType:c="ordinal",colorScheme:u=V.DEFAULT_COLOR_SCHEME,dimension:d=V.DEFAULT_LINEAR_DIMENSION,dimensionScaleType:m=V.DEFAULT_DIMENSION_SCALE_TYPE,index:p=0,lineType:h={value:"solid"},lineWidth:g={value:0},metric:f=V.DEFAULT_METRIC,name:y,opacity:E={value:1},scatterPaths:v=[],size:b={value:"M"},trendlines:_=[]}=t,S=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScaleType","colorScheme","dimension","dimensionScaleType","index","lineType","lineWidth","metric","name","opacity","scatterPaths","size","trendlines"]);const O=(0,J.toCamelCase)(y||`scatter${p}`),T=Object.assign({chartPopovers:o,chartTooltips:s,color:l,colorScaleType:c,colorScheme:u,dimension:d,dimensionScaleType:m,index:p,interactiveMarkName:qe({chartPopovers:o,chartTooltips:s,highlightedItem:S.highlightedItem,trendlines:_},O),lineType:h,lineWidth:g,metric:f,name:O,opacity:E,scatterPaths:v,size:b,trendlines:_},S);e.usermeta=ge(e.usermeta,T.interactiveMarkName),e.data=wo(null!==(a=e.data)&&void 0!==a?a:[],T),e.signals=zo(null!==(n=e.signals)&&void 0!==n?n:[],T),e.scales=Bo(null!==(r=e.scales)&&void 0!==r?r:[],T),e.marks=Co(null!==(i=e.marks)&&void 0!==i?i:[],T)})),wo=U(((e,t)=>{var a;const{chartTooltips:n,dimension:r,dimensionScaleType:i,highlightedItem:o,idKey:s,name:l}=t;if("time"===i){const t=X(e);t.transform=Y(null!==(a=t.transform)&&void 0!==a?a:[],r)}(Ce(t)||void 0!==o)&&e.push(Q(n)),Ne(t)&&e.push({name:`${l}_selectedData`,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`${V.SELECTED_ITEM} === datum.${s}`}]}),et(e,t),mn(e,t)})),zo=U(((e,t)=>{const{name:a}=t;pr(e,t),Ce(t)&&(pt(e,a,`${a}_voronoi`,2),rt(e,t))})),Bo=U(((e,t)=>{const{color:a,colorScaleType:n,dimension:r,dimensionScaleType:i,lineType:o,lineWidth:s,metric:l,opacity:c,size:u}=t;ve(e,{scaleType:i,dimension:r}),_e(e,[l]),Se(e,"linear"===n?V.LINEAR_COLOR_SCALE:V.COLOR_SCALE,a),Se(e,V.LINE_TYPE_SCALE,o),Se(e,V.LINE_WIDTH_SCALE,s),Se(e,V.OPACITY_SCALE,c),Se(e,V.SYMBOL_SIZE_SCALE,u),((e,t)=>{const a=Io(t);for(const t of a)Se(e,V.SYMBOL_PATH_WIDTH_SCALE,t.pathWidth)})(e,t),e.push(...mr(t))})),Go=U(((e,{text:t,fontWeight:a=V.DEFAULT_TITLE_FONT_WEIGHT,position:n="middle",orient:r="top"})=>(e.title={text:t,fontWeight:a,anchor:n,frame:"group",orient:r},e)));var Uo=i(561);function Vo(e){var t,a=function(e){for(var t=[],a=0;a<e.length;++a)for(var n=a+1;n<e.length;++n){let o=e[a],s=e[n];if(o&&s)for(var r=Ko(o,s),i=0;i<r.length;++i){let e=r[i];e&&t.push({...e,parentIndex:[a,n]})}}return t}(e),n=a.filter((function(t){return function(e,t){for(var a=0;a<t.length;++a){let n=t[a];if(void 0!==n&&Jo(e,n)>n.radius+1e-10)return!1}return!0}(t,e)})),r=0,i=0,o=[];if(n.length>1){var s=Xo(n),l=(n=n.map((e=>({...e,angle:Math.atan2(e.x-s.x,e.y-s.y)}))).sort(((e,t)=>t.angle-e.angle)))[n.length-1];for(t=0;t<n.length;++t){var c=n[t];i+=(l.x+c.x)*(c.y-l.y);for(var u={x:(c.x+l.x)/2,y:(c.y+l.y)/2},d=null,m=0;m<c.parentIndex.length;++m)if(l.parentIndex.indexOf(c.parentIndex[m])>-1){var p=e[c.parentIndex[m]],h=Math.atan2(c.x-p.x,c.y-p.y),g=Math.atan2(l.x-p.x,l.y-p.y),f=g-h;f<0&&(f+=2*Math.PI);var y=g-f/2,E=Jo(u,{x:p.x+p.radius*Math.sin(y),y:p.y+p.radius*Math.cos(y)});E>2*p.radius&&(E=2*p.radius),(null===d||d.width>E)&&(d={circle:p,width:E,p1:c,p2:l})}null!==d&&(o.push(d),r+=Wo(d.circle.radius,d.width),l=c)}}else{var v=e[0];for(t=1;t<e.length;++t){let a=e[t];(null==v||a.radius<v.radius)&&(v=a)}var b=!1;for(t=0;t<e.length;++t){let a=e[t];if(void 0!==a&&Jo(a,v)>Math.abs(v.radius-a.radius)){b=!0;break}}b?r=i=0:(r=v.radius*v.radius*Math.PI,o.push({circle:v,p1:{x:v.x,y:v.y+v.radius},p2:{x:v.x-1e-10,y:v.y+v.radius},width:2*v.radius}))}return{overlap:r+(i/=2),stats:{area:r+i,arcArea:r,polygonArea:i,arcs:o,innerPoints:n,intersectionPoints:a}}}function Wo(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function Jo(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function Yo(e,t,a){if(a>=e+t)return 0;if(a<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);var n=t-(a*a-e*e+t*t)/(2*a);return Wo(e,e-(a*a-t*t+e*e)/(2*a))+Wo(t,n)}function Ko(e,t){var a=Jo(e,t),n=e.radius,r=t.radius;if(a>=n+r||a<=Math.abs(n-r))return[];var i=(n*n-r*r+a*a)/(2*a),o=Math.sqrt(n*n-i*i),s=e.x+i*(t.x-e.x)/a,l=e.y+i*(t.y-e.y)/a,c=-(t.y-e.y)*(o/a),u=-(t.x-e.x)*(o/a);return[{x:s+c,y:l-u},{x:s-c,y:l+u}]}function Xo(e){let t=e.reduce(((e,t)=>({x:e.x+t.x,y:e.y+t.y})),{x:0,y:0});return t.x/=e.length,t.y/=e.length,t}var qo=new Map([["greedy",as],["MDS",ts],["best",function(e,t){var a=as(e),n=ns;if(e.length>=8){var r=ts(e,t);n(r,e)+1e-8<n(a,e)&&(a=r)}return a}]]),Zo=1e-10;function Qo(e,t,a){return Math.min(e,t)*Math.min(e,t)*Math.PI<=a+Zo?Math.abs(e-t):(0,Uo.bisect)((function(n){return Yo(e,t,n)-a}),0,e+t)}function es(e,t,a,n){var r,i=0;for(r=0;r<t.length;++r)t[r]=0;for(r=0;r<a.length;++r)for(var o=e[2*r],s=e[2*r+1],l=r+1;l<a.length;++l){var c=e[2*l],u=e[2*l+1],d=a[r][l],m=n[r][l],p=(c-o)*(c-o)+(u-s)*(u-s),h=Math.sqrt(p),g=p-d*d;m>0&&h<=d||m<0&&h>=d||(i+=2*g*g,t[2*r]+=4*g*(o-c),t[2*r+1]+=4*g*(s-u),t[2*l]+=4*g*(c-o),t[2*l+1]+=4*g*(u-s))}return i}function ts(e,t){var a,n=t.restarts||10,r=[],i={};for(a=0;a<e.length;++a){var o=e[a];1===o?.sets.length&&(o.sets[0]&&(i[o.sets[0]]=r.length),r.push(o))}var s=function(e,t,a){var n=(0,Uo.zerosM)(t.length,t.length),r=(0,Uo.zerosM)(t.length,t.length);return e.filter((function(e){return 2===e.sets.length})).map((function(e){var i=a[e.sets[0]],o=a[e.sets[1]];if(void 0===i||void 0===o)return e;var s=Qo(Math.sqrt(t[i].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);n[i][o]=n[o][i]=s;var l=0;e.size+1e-10>=Math.min(t[i].size,t[o].size)?l=1:e.size<=1e-10&&(l=-1),r[i][o]=r[o][i]=l})),{distances:n,constraints:r}}(e,r,i),l=s.distances,c=s.constraints,u=(0,Uo.norm2)(l.map(Uo.norm2))/l.length;l=l.map((function(e){return e.map((function(e){return e/u}))}));let d=function(e=1){return()=>{e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}((t.seed??Math.random())*2**32>>>0);var m,p;for(a=0;a<n;++a){var h=(0,Uo.zeros)(2*l.length).map((()=>d()));p=(0,Uo.conjugateGradient)(((e,t)=>es(e,t,l,c)),h,t),(!m||p.fx<m.fx)&&(m=p)}var g=m?.x,f={};for(a=0;a<r.length;++a){var y=r[a];let e=y?.sets[0];void 0===y||void 0===e||(f[e]={x:g[2*a]*u,y:g[2*a+1]*u,radius:Math.sqrt(y.size/Math.PI),setid:e,size:y.size,rowid:Object.keys(f).length})}if(t.history)for(let e of t.history)(0,Uo.scale)(e.x,u);return f}function as(e,t){for(var a,n=ns,r={},i={},o=0;o<e.length;++o){var s=e[o];1==s.sets.length&&(a=s.sets[0],r[a]={x:1e10,y:1e10,rowid:Object.keys(r).length,size:s.size,setid:a,radius:Math.sqrt(s.size/Math.PI)},i[a]=[])}for(e=e.filter((function(e){return 2==e.sets.length})),o=0;o<e.length;++o){var l=e[o],c=l.weight?l.weight:1,u=l.sets[0],d=l.sets[1];if(void 0===u||void 0===d)continue;let t=r[u],a=r[d];!t.size||!a.size||(l.size+Zo>=Math.min(t.size,a.size)&&(c=0),i[u]?.push({set:d,size:l.size,weight:c}),i[d]?.push({set:u,size:l.size,weight:c}))}var m=[];for(a in i){let e=i[a];if(e){var p=0;for(o=0;o<e.length;++o){let t=e[o];t&&(p+=t.size*t.weight)}m.push({set:a,size:p})}}m.sort(((e,t)=>t.size-e.size));var h={};function g(e){return e.set in h}function f(e,t){let a=r[t];a&&(a.x=e.x,a.y=e.y),h[t]=!0}for(f({x:0,y:0},m[0]?.set??""),o=1;o<m.length;++o){var y=m[o]?.set,E=y?i[y]?.filter(g):null;let t=y?r[y]:null;if(E?.sort(((e,t)=>t.size-e.size)),0===E?.length||!E)throw"ERROR: missing pairwise overlap information";for(var v=[],b=0;b<E.length;++b){let e=E[b];if(!e)continue;var _=r[E[b].set];if(!_)continue;let a=Qo(t.radius,_.radius,e.size);v.push({x:_.x+a,y:_.y}),v.push({x:_.x-a,y:_.y}),v.push({y:_.y+a,x:_.x}),v.push({y:_.y-a,x:_.x});for(var S=b+1;S<E.length;++S)for(var O=r[E[S].set],T=Qo(t.radius,O.radius,E[S].size),$=Ko({x:_.x,y:_.y,radius:a},{x:O.x,y:O.y,radius:T}),x=0;x<$.length;++x)v.push($[x])}var L=1e50,A=v[0];for(b=0;b<v.length;++b){r[y].x=v[b].x,r[y].y=v[b].y;var I=n(r,e);I<L&&(L=I,A=v[b])}f(A,y)}return r}function ns(e,t){for(var a,n=0,r=0;r<t.length;++r){var i,o=t[r];if(o&&1!==o.sets.length){if(2===o.sets.length){var s=e[o.sets[0]],l=e[o.sets[1]];if(void 0===s||void 0===l)continue;i=Yo(s.radius,l.radius,Jo(s,l))}else i=Vo((a=o.sets,a.map((function(t){return e[t]})))).overlap;n+=(o.weight?o.weight:1)*(i-o.size)*(i-o.size)}}return n}function rs(e,t,a){var n;if(null===a?e.sort((function(e,t){return t.radius-e.radius})):e.sort(a),e.length>0){var r=e[0].x,i=e[0].y;for(n=0;n<e.length;++n)e[n].x-=r,e[n].y-=i}if(2==e.length){let t=e[0],a=e[1];t&&a&&Jo(t,a)<Math.abs(a.radius-t.radius)&&(a.x=t.x+t.radius-a.radius-1e-10,a.y=a.y)}if(e.length>1){var o,s,l=Math.atan2(e[1].x,e[1].y)-(t??0),c=Math.cos(l),u=Math.sin(l);for(n=0;n<e.length;++n){let t=e[n];t&&(o=t.x,s=t.y,t.x=c*o-u*s,t.y=u*o+c*s)}}if(e.length>2){for(var d=Math.atan2(e[2].x,e[2].y)-(t??0);d<0;)d+=2*Math.PI;for(;d>2*Math.PI;)d-=2*Math.PI;if(d>Math.PI){var m=e[1].y/(1e-10+e[1].x);for(n=0;n<e.length;++n){let t=e[n];if(t){var p=(t.x+m*t.y)/(1+m*m);t.x=2*p-t.x,t.y=2*p*m-t.y}}}}}function is(e){var t=function(t){return{max:Math.max.apply(null,e.map((function(e){return e[t]+e.radius}))),min:Math.min.apply(null,e.map((function(e){return e[t]-e.radius})))}};return{xRange:t("x"),yRange:t("y")}}function os(e,{layout:t,height:a,width:n,padding:r,seed:i,orientation:o,set_id_delimiter:s,orientationOrder:l}){let c=e.filter((e=>0!==e.size&&e.sets.length>0));if(0===c.length)return{circles:[],intersections:[]};let u=function(e,t){(t=t??{}).maxIterations=t.maxIterations||500,t.seed=t.seed??Math.random();let a=qo.get(t.layout??"best");var n=ns;e=function(e){e=e.slice();var t,a,n,r,i=[],o={};for(let t of e)1==t.sets.length?i.push(t.sets[0]):2==t.sets.length&&(o[`${n=t.sets[0]},${r=t.sets[1]}`]=!0,o[`${r},${n}`]=!0);for(i.sort(((e,t)=>e.toString().localeCompare(t.toString()))),t=0;t<i.length;++t)for(n=i[t],a=t+1;a<i.length;++a)`${n},${r=i[a]}`in o||e.push({sets:[n,r],size:0});return e}(e);var r=a(e,t),i=[],o=[];for(let e of Object.keys(r)){let t=r[e];t&&(i.push(t.x),i.push(t.y),o.push(e))}for(var s=(0,Uo.nelderMead)((function(t){for(var a={},i=0;i<o.length;++i){var s=o[i];let e=r[s];a[s]={x:t[2*i],y:t[2*i+1],radius:e.radius,setid:s,size:e.size,rowid:e.rowid}}return n(a,e)}),i,t).x,l=0;l<o.length;++l){let e=o[l],t=r[e];t.x=s[2*l],t.y=s[2*l+1]}return r}(c,{layout:t,seed:i});o!==Math.PI/2&&(u=function(e,t,a){null===t&&(t=Math.PI/2);var n,r,i=[];for(r in e){var o=e[r];o&&i.push({...o,setid:r})}var s=function(e){function t(e){if(e)return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function a(e,a){var n=t(e),r=t(a);n&&(n.parent=r)}e.map((function(e){e.parent=e}));for(var n=0;n<e.length;++n)for(var r=n+1;r<e.length;++r){let t=e[n],o=e[r];if(t&&o){var i=t.radius+o.radius;Jo(t,o)+1e-10<i&&a(o,t)}}var o,s={};for(n=0;n<e.length;++n){let a=e[n];if(!a)continue;let r=t(e[n])?.parent?.setid;r&&(r in s||(s[r]=[]),s[r]&&s[r].push(a))}e.map((function(e){delete e.parent}));var l=[];for(o in s){let e=s[o];e&&l.push(e)}return l}(i);for(n=0;n<s.length;++n){let e=s[n];if(e){rs(e,t,a);var l=is(e);e.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),e.bounds=l}}s.sort((function(e,t){return e.size&&t.size?t.size-e.size:0}));var c=s[0].bounds,u=(c.xRange.max-c.xRange.min)/50;function d(e,t,a){if(e&&e.size&&e.bounds){var n,r,o,s=e.bounds;t?n=c.xRange.max-s.xRange.min+u:(n=c.xRange.max-s.xRange.max,(o=(s.xRange.max-s.xRange.min)/2-(c.xRange.max-c.xRange.min)/2)<0&&(n+=o)),a?r=c.yRange.max-s.yRange.min+u:(r=c.yRange.max-s.yRange.max,(o=(s.yRange.max-s.yRange.min)/2-(c.yRange.max-c.yRange.min)/2)<0&&(r+=o));for(var l=0;l<e.length;++l){let t=e[l];t&&(t.x+=n,t.y+=r,i.push(t))}}}for(var m=1;m<s.length;)d(s[m],!0,!1),d(s[m+1],!1,!0),d(s[m+2],!0,!0),m+=3,c=is(i);var p={};for(let e of i)p[e.setid]=e;return p}(u,o,l)),u=function(e,t,a,n){var r=[],i=[];for(var o in e){let t=e[o];t&&(i.push(o),r.push(t))}t-=2*n,a-=2*n;var s=is(r),l=s.xRange,c=s.yRange;if(l.max==l.min||c.max==c.min)return e;for(var u=t/(l.max-l.min),d=a/(c.max-c.min),m=Math.min(d,u),p=(t-(l.max-l.min)*m)/2,h=(a-(c.max-c.min)*m)/2,g={},f=0;f<r.length;++f){var y=r[f];let e=i[f];!y||!e||(g[e]={...y,radius:m*y.radius,x:n+p+(y.x-l.min)*m,y:n+h+(y.y-c.min)*m})}return g}(u,n,a,r);let d=function(e,t,a=","){for(var n={},r=function(e){var t={},a=Object.keys(e);a.forEach((e=>t[e]=[]));for(var n=0;n<a.length;n++)for(var r=e[a[n]],i=n+1;i<a.length;++i){var o=e[a[i]],s=Jo(r,o);s+o.radius<=r.radius+1e-10?t[a[i]].push(a[n]):s+r.radius<=o.radius+1e-10&&t[a[n]].push(a[i])}return t}(e),i=0;i<t.length;++i){for(var o=t[i].sets,s={},l={},c=0;c<o.length;++c){s[o[c]]=!0;var u=r[o[c]];if(u)for(var d=0;d<u.length;++d)l[u[d]]=!0}var m=[],p=[];for(var h in e)h in s?m.push(e[h]):h in l||p.push(e[h]);var g=ls(m,p);n[o.join(a)]=g,g.disjoint&&t[i].size>0&&console.log("WARNING: area "+o+" not represented on screen")}return n}(u,c),m=c.map((e=>{let t=e.sets.join(","),{x:a,y:n,disjoint:r}=d[t];return{set_id:e.sets.join(s),sets:e.sets,path:ss(e.sets.map((e=>u[e]))),textX:r?void 0:a,textY:r?void 0:n,size:e.size}})).filter((e=>e.sets.length>1));return{circles:Object.entries(u).map((([e,t])=>({set_id:e,x:t.x,y:t.y,size:Math.pow(2*t.radius,2),textX:d[e].x,textY:d[e].y}))),intersections:m}}function ss(e){let{stats:t}=Vo(e);var a=t.arcs;if(0===a.length)return"M 0 0";if(1===a.length){var n=a[0].circle;return function(e,t,a){var n=[];return n.push("\nM",e.toString(),t.toString()),n.push("\nm",-a,0),n.push("\na",a,a,0,1,0,2*a,0),n.push("\na",a,a,0,1,0,2*-a,0),n.join(" ")}(n.x,n.y,n.radius)}var r=["\nM",a[0].p2.x,a[0].p2.y];for(let e of a){let t=e.circle.radius,a=e.width>t;r.push("\nA",t,t,0,a?1:0,1,e.p1.x,e.p1.y)}return r.join(" ")}function ls(e,t){var a,n=[];for(a=0;a<e.length;++a){var r=e[a];r&&(n.push({x:r.x,y:r.y}),n.push({x:r.x+r.radius/2,y:r.y}),n.push({x:r.x-r.radius/2,y:r.y}),n.push({x:r.x,y:r.y+r.radius/2}),n.push({x:r.x,y:r.y-r.radius/2}))}var i=n[0],o=cs(n[0],e,t);for(a=1;a<n.length;++a){var s=cs(n[a],e,t);s>=o&&(i=n[a],o=s)}var l=(0,Uo.nelderMead)((function(a){return-1*cs({x:a[0],y:a[1]},e,t)}),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,c={x:l[0],y:l[1]},u=!0;for(a=0;a<e.length;++a)if(Jo(c,e[a])>e[a].radius){u=!1;break}for(a=0;a<t.length;++a)if(Jo(c,t[a])<t[a].radius){u=!1;break}if(!u)if(1==e.length)c={x:e[0].x,y:e[0].y};else{let{stats:a}=Vo(e);c=0===a.arcs.length?{x:0,y:-1e3,disjoint:!0}:1===a.arcs.length?{x:a.arcs[0].circle.x,y:a.arcs[0].circle.y}:t.length?ls(e,[]):Xo(a.arcs.map((function(e){return e.p1})))}return c}function cs(e,t,a){var n,r,i=t[0].radius-Jo(t[0],e);for(n=1;n<t.length;++n)(r=t[n].radius-Jo(t[n],e))<=i&&(i=r);for(n=0;n<a.length;++n)(r=Jo(a[n],e)-a[n].radius)<=i&&(i=r);return i}const us=(e,t)=>{const{label:a}=e;return{type:"text",from:{data:t},interactive:!1,encode:{enter:{x:{field:"textX"},y:{field:"textY"},text:{field:`table_data.${a}`},align:{value:"center"},baseline:{value:"middle"}},update:{opacity:Xe(e)}}}},ds=new Map([["0deg",Math.PI/2],["90deg",0],["180deg",-3*Math.PI/2],["270deg",-Math.PI]]);const ms=U(((e,t)=>{var a,n,r,i,{chartPopovers:o=[],chartTooltips:s=[],color:l=V.DEFAULT_VENN_COLOR,colorScheme:c=V.DEFAULT_COLOR_SCHEME,index:u=0,label:d=V.DEFAULT_VENN_LABEL,metric:m=V.DEFAULT_VENN_METRIC,name:p,orientation:h="0deg",chartHeight:g=100,chartWidth:f=100,data:y=[]}=t,E=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a}(t,["chartPopovers","chartTooltips","color","colorScheme","index","label","metric","name","orientation","chartHeight","chartWidth","data"]);const v=Object.assign({chartPopovers:o,chartTooltips:s,chartWidth:f,chartHeight:g,data:y,index:u,colorScheme:c,color:l,label:d,orientation:h,metric:m,name:(0,J.toCamelCase)(null!=p?p:`venn${u}`)},E);e.data=ps(null!==(a=e.data)&&void 0!==a?a:[],v),e.signals=vs(null!==(n=e.signals)&&void 0!==n?n:[],v),e.scales=gs(null!==(r=e.scales)&&void 0!==r?r:[]),e.marks=hs(null!==(i=e.marks)&&void 0!==i?i:[],v)})),ps=U(((e,t)=>{var a,n;const{circles:r,intersections:i}=(e=>{const{orientation:t,chartWidth:a,chartHeight:n}=e;return os((e=>{const{data:t,metric:a,color:n}=e;return t.map((e=>{const t=Object.assign({},e);if(void 0===t[a])throw new Error("set the metric prop to the default 'size' or set your own");if(a!==V.DEFAULT_VENN_METRIC&&"number"==typeof t[a]&&(t.size=e[a]),void 0===t[n])throw new Error("set the color prop to the default 'sets' or set your own");return n!==V.DEFAULT_VENN_COLOR&&Array.isArray(t[n])&&(t.sets=structuredClone(e[n])),{size:t.size,sets:t.sets}})).filter((e=>e.sets.length>0))})(e),{orientation:ds.get(t),layout:"greedy",width:a,height:n,set_id_delimiter:"∩",padding:0})})(t);e.push({name:"circles",values:r,transform:[...ys(),{type:"formula",as:"strokeSize",expr:"datum.size * 1"},{type:"filter",expr:"indexof(hiddenSeries, datum.table_data.rscSeriesId) === -1"}]},{name:"intersections",values:i,transform:[...ys(),...Es()]});const o=e.findIndex((e=>e.name===V.TABLE));e[o].transform=null!==(a=e[o].transform)&&void 0!==a?a:[],null===(n=e[o].transform)||void 0===n||n.push(...fs(t))})),hs=U(((e,t)=>{e.push((e=>{const{colorScheme:t,idKey:a}=e;return{type:"symbol",name:`${e.name}_circle_strokes`,from:{data:"circles"},interactive:!1,encode:{enter:{x:{field:"x"},y:{field:"y"},size:{field:"size"},shape:{value:"circle"},stroke:{value:(0,W.getColorValue)("static-blue",t)},strokeWidth:{value:6}},update:{strokeOpacity:[{test:`${V.SELECTED_ITEM} === datum.${a}`,value:1},{value:0}]}}}})(t),(e=>{const{name:t,colorScheme:a,chartTooltips:n,chartPopovers:r}=e;return{type:"symbol",name:t,from:{data:"circles"},encode:{enter:{x:{field:"x"},y:{field:"y"},tooltip:Re(n,t),size:{field:"size"},shape:{value:"circle"},fill:ke("set_id",a),stroke:{signal:"chartBackgroundColor"},strokeWidth:{value:2}},update:{opacity:Xe(e),cursor:De(r)}}}})(t),(e=>{const{name:t,idKey:a,colorScheme:n}=e;return{type:"path",from:{data:"intersections"},name:`${t}_intersections_strokes`,interactive:!1,encode:{enter:{path:{field:"path"},strokeWidth:{value:6},strokeCap:{value:"round"},stroke:{value:(0,W.getColorValue)("static-blue",n)}},update:{strokeOpacity:[{test:`${V.SELECTED_ITEM} === datum.${a}`,value:1},{value:0}]}}}})(t),(e=>{const{name:t,chartTooltips:a,colorScheme:n,chartPopovers:r}=e;return{type:"path",from:{data:"intersections"},name:`${t}_intersections`,encode:{enter:{path:{field:"path"},fill:ke("set_id",n),strokeWidth:{value:2},stroke:{signal:"chartBackgroundColor"},strokeCap:{value:"square"},tooltip:Re(a,`${t}`)},update:{opacity:Xe(e),cursor:De(r)}}}})(t),us(t,"circles"),us(t,"intersections"))})),gs=U((e=>{Se(e,V.COLOR_SCALE,"set_legend"),Se(e,V.COLOR_SCALE,"set_id")})),fs=e=>[{type:"formula",as:"set_id",expr:`join(datum.${e.color}, '∩')`},{type:"formula",as:"set_legend",expr:`length(datum.${e.color}) > 1 ? datum.${e.color}[0]: join(datum.${e.color}, '∩')`}],ys=()=>[{type:"lookup",key:"set_id",fields:["set_id"],from:V.TABLE,as:["table_data"]},{type:"formula",as:"rscSeriesId",expr:"datum.table_data.set_id"},{type:"formula",expr:"datum.table_data.rscMarkId",as:"rscMarkId"}],Es=()=>[{type:"formula",as:"hidden",expr:"hiddenSeries"},{type:"flatten",fields:["sets"],as:["intersect_set"]},{type:"formula",as:"hide_intersection",expr:"indexof(datum.hidden, datum.intersect_set) === -1 ? 0 : 1"},{type:"joinaggregate",groupby:["set_id"],fields:["hide_intersection"],ops:["sum"]},{type:"filter",expr:"datum.sum_hide_intersection === 0"},{type:"window",groupby:["set_id"],ops:["row_number"],as:["row_num"]},{type:"filter",expr:"datum.row_num === 1"}],vs=U(((e,t)=>{var a,n;const{chartTooltips:r,name:i}=t;Ce(t)&&(pt(e,i,void 0,1,null===(a=r[0])||void 0===a?void 0:a.excludeDataKeys),pt(e,i,`${i}_intersections`,1,null===(n=r[0])||void 0===n?void 0:n.excludeDataKeys))}));function bs({axes:e=[],backgroundColor:t=V.DEFAULT_BACKGROUND_COLOR,chartHeight:a,chartWidth:n,colors:r="categorical12",colorScheme:i=V.DEFAULT_COLOR_SCHEME,data:o,description:s,hiddenSeries:l=[],highlightedItem:c,highlightedSeries:u,idKey:d=V.MARK_ID,legends:m=[],lineTypes:p=V.DEFAULT_LINE_TYPES,lineWidths:h=["M"],marks:g=[],opacities:f,symbolShapes:y=["rounded-square"],symbolSizes:E=["XS","XL"],title:v,titles:b=[]}){var _,S;const O={axes:e,backgroundColor:t,chartHeight:a,chartWidth:n,colors:r,colorScheme:i,data:o,description:s,hiddenSeries:l,highlightedItem:c,highlightedSeries:u,idKey:d,legends:m,lineTypes:p,lineWidths:h,marks:g,opacities:f,symbolShapes:y,symbolSizes:E,title:v,titles:b};let T=ue(null,{backgroundColor:t,colorScheme:i,description:s,title:v});T.signals=Os(O),T.scales=Ls(r,i,p,h,f,y,E);let{areaCount:$,barCount:x,bulletCount:L,comboCount:A,donutCount:I,lineCount:D,scatterCount:R,vennCount:M}=Ss();const C={colorScheme:i,idKey:d,highlightedItem:c};return T=[...g].reduce(((e,t)=>{switch(t.markType){case"area":return $++,yt(e,Object.assign(Object.assign(Object.assign({},t),C),{index:$}));case"bar":return x++,Ur(e,Object.assign(Object.assign(Object.assign({},t),C),{index:x}));case"bullet":return L++,ci(e,Object.assign(Object.assign(Object.assign({},t),C),{index:L}));case"combo":return A++,$i(e,Object.assign(Object.assign(Object.assign({},t),C),{index:A}));case"donut":return I++,Ui(e,Object.assign(Object.assign(Object.assign({},t),C),{index:I}));case"line":return D++,yi(e,Object.assign(Object.assign(Object.assign({},t),C),{index:D}));case"scatter":return R++,Ho(e,Object.assign(Object.assign(Object.assign({},t),C),{index:R}));case"venn":return M++,ms(e,Object.assign(Object.assign(Object.assign({},t),C),{index:M,data:o,chartWidth:n,chartHeight:a}));case"bigNumber":return e;default:return console.error(`Invalid component type: ${t} is not a supported chart mark option child`),e}}),T),T=[...m].reduce(((e,t,a)=>bo(e,Object.assign(Object.assign(Object.assign({},t),C),{index:a,hiddenSeries:l,highlightedItem:c,highlightedSeries:u}))),T),T=[...e].reduce(((e,t,a)=>Ma(e,Object.assign(Object.assign(Object.assign({},t),C),{index:a}))),T),b.length&&(T=Go(T,b[0])),T=JSON.parse(JSON.stringify(T)),T.data=Ps(null!==(_=T.data)&&void 0!==_?_:[],{facets:ae(T.scales)}),u&&Xi("",null!==(S=T.marks)&&void 0!==S?S:[],void 0,!0),T=_s(T),Vs(T)}const _s=U((e=>{var t;e.scales=null===(t=e.scales)||void 0===t?void 0:t.filter((e=>!("domain"in e&&e.domain&&"fields"in e.domain&&0===e.domain.fields.length)))})),Ss=()=>({areaCount:-1,barCount:-1,comboCount:-1,donutCount:-1,bulletCount:-1,lineCount:-1,scatterCount:-1,vennCount:-1}),Os=({backgroundColor:e,colors:t,colorScheme:a,lineTypes:n,opacities:r,hiddenSeries:i,highlightedItem:o,highlightedSeries:s})=>{const l="transparent"===e?"gray-50":e,c=void 0===o||Array.isArray(o)?o:[o];return[ut(V.BACKGROUND_COLOR,(0,W.getColorValue)(l,a)),ut("colors",Ts(t,a)),ut("lineTypes",$s(n)),ut("opacities",xs(r)),ut("hiddenSeries",null!=i?i:[]),ut(V.CONTROLLED_HIGHLIGHTED_ITEM,c),ut(V.HIGHLIGHTED_GROUP),ut(V.CONTROLLED_HIGHLIGHTED_SERIES,s),ut(V.SELECTED_ITEM),ut(V.SELECTED_SERIES),ut(V.SELECTED_GROUP)]},Ts=(e,t)=>ws(e)?ks(e,t).map((e=>[e])):e.map((e=>ks(e,t))),$s=e=>zs(e)?Fs(e).map((e=>[e])):e.map((e=>Fs(e))),xs=e=>e?Gs(e)?e.map((e=>[e])):e:[[1]],Ls=(e,t,a,n,r,i,o)=>[As(e,t),Is(e,t),Ds(a),Ns(n),js(r),Rs(i),Ms(o),Cs(o)],As=(e,t)=>{const a=ws(e)?ks(e,t):e.map((e=>ks(e,t)[0]));return Ae("color",a)},Is=(e,t)=>{const a=ws(e)?ks(e,t):e.map((e=>ks(e,t)[0]));return{name:V.LINEAR_COLOR_SCALE,type:"linear",range:a,domain:{data:V.TABLE,fields:[]}}},Ds=e=>{const t=zs(e)?Fs(e):e.map((e=>ne(e[0])));return Ae(V.LINE_TYPE_SCALE,t)},Rs=e=>{const t=Us(e)?function(e){return e.map((e=>ie(e)))}(e):e.map((e=>ie(e[0])));return Ae(V.SYMBOL_SHAPE_SCALE,t)},Ms=e=>({name:V.SYMBOL_SIZE_SCALE,type:"linear",zero:!1,range:e.map((e=>se(e))),domain:{data:V.TABLE,fields:[]}}),Cs=e=>({name:V.SYMBOL_PATH_WIDTH_SCALE,type:"linear",zero:!1,range:e.map((e=>le(e))),domain:{data:V.TABLE,fields:[]}}),Ns=e=>{const t=e.map((e=>re(e)));return Ae(V.LINE_WIDTH_SCALE,t)},js=e=>{if(null==e?void 0:e.length){const t=Gs(e)?e:e.map((e=>e[0]));return Ae(V.OPACITY_SCALE,t)}return{name:V.OPACITY_SCALE,type:"point",range:[1,0],padding:1,align:1,domain:{data:V.TABLE,fields:[]}}};function ks(e,t){return Array.isArray(e)?e.map((e=>(0,W.getColorValue)(e,t))):W.colorSchemes[e]}function Fs(e){return e.map((e=>ne(e)))}const Ps=U(((e,{facets:t})=>{var a,n,r;if(e.splice(2,0,{name:V.CONTROLLED_HIGHLIGHTED_TABLE,source:V.FILTERED_TABLE,transform:[{type:"filter",expr:`isArray(${V.CONTROLLED_HIGHLIGHTED_ITEM}) && indexof(${V.CONTROLLED_HIGHLIGHTED_ITEM}, datum.${V.MARK_ID}) > -1`}]}),0===t.length)return;null===(n=null===(a=e[0])||void 0===a?void 0:a.transform)||void 0===n||n.push(...Z(t));const i=e.findIndex((e=>e.name===V.FILTERED_TABLE));-1!==i&&(e[i].transform=[{type:"filter",expr:`indexof(hiddenSeries, datum.${V.SERIES_ID}) === -1`},...null!==(r=e[i].transform)&&void 0!==r?r:[]])})),Hs=e=>Boolean(!Array.isArray(e)&&e in W.colorSchemes),ws=e=>Hs(e)||e.some((e=>!Hs(e)&&"string"==typeof e)),zs=e=>e.some((e=>"string"==typeof e||Bs(e))),Bs=e=>Array.isArray(e)&&!e.some((e=>"number"!=typeof e)),Gs=e=>!e.some((e=>Array.isArray(e))),Us=e=>!e.some((e=>Array.isArray(e))),Vs=e=>"function"==typeof structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e));function Ws(e,t){if((a=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var a,n=e.slice(0,a);return[n.length>1?n[0]+n.slice(2):n,+e.slice(a+1)]}V.MARK_ID,V.SERIES_ID,V.TRENDLINE_VALUE,V.GROUP_DATA;var Js,Ys=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ks(e){if(!(t=Ys.exec(e)))throw new Error("invalid format: "+e);var t;return new Xs({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Xs(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function qs(e,t){var a=Ws(e,t);if(!a)return e+"";var n=a[0],r=a[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")}Ks.prototype=Xs.prototype,Xs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Zs={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qs(100*e,t),r:qs,s:function(e,t){var a=Ws(e,t);if(!a)return e+"";var n=a[0],r=a[1],i=r-(Js=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ws(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Qs(e){return e}var el=Array.prototype.map,tl=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function al(e){var t,a,n=void 0===e.grouping||void 0===e.thousands?Qs:(t=el.call(e.grouping,Number),a=e.thousands+"",function(e,n){for(var r=e.length,i=[],o=0,s=t[0],l=0;r>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),i.push(e.substring(r-=s,r+s)),!((l+=s+1)>n));)s=t[o=(o+1)%t.length];return i.reverse().join(a)}),r=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?Qs:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(el.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"−":e.minus+"",u=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=Ks(e)).fill,a=e.align,d=e.sign,m=e.symbol,p=e.zero,h=e.width,g=e.comma,f=e.precision,y=e.trim,E=e.type;"n"===E?(g=!0,E="g"):Zs[E]||(void 0===f&&(f=12),y=!0,E="g"),(p||"0"===t&&"="===a)&&(p=!0,t="0",a="=");var v="$"===m?r:"#"===m&&/[boxX]/.test(E)?"0"+E.toLowerCase():"",b="$"===m?i:/[%p]/.test(E)?l:"",_=Zs[E],S=/[defgprs%]/.test(E);function O(e){var r,i,l,m=v,O=b;if("c"===E)O=_(e)+O,e="";else{var T=(e=+e)<0||1/e<0;if(e=isNaN(e)?u:_(Math.abs(e),f),y&&(e=function(e){e:for(var t,a=e.length,n=1,r=-1;n<a;++n)switch(e[n]){case".":r=t=n;break;case"0":0===r&&(r=n),t=n;break;default:if(!+e[n])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),T&&0==+e&&"+"!==d&&(T=!1),m=(T?"("===d?d:c:"-"===d||"("===d?"":d)+m,O=("s"===E?tl[8+Js/3]:"")+O+(T&&"("===d?")":""),S)for(r=-1,i=e.length;++r<i;)if(48>(l=e.charCodeAt(r))||l>57){O=(46===l?o+e.slice(r+1):e.slice(r))+O,e=e.slice(0,r);break}}g&&!p&&(e=n(e,1/0));var $=m.length+e.length+O.length,x=$<h?new Array(h-$+1).join(t):"";switch(g&&p&&(e=n(x+e,x.length?h-O.length:1/0),x=""),a){case"<":e=m+e+O+x;break;case"=":e=m+x+e+O;break;case"^":e=x.slice(0,$=x.length>>1)+m+e+O+x.slice($);break;default:e=x+m+e+O}return s(e)}return f=void 0===f?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),O.toString=function(){return e+""},O}return{format:d,formatPrefix:function(e,t){var a,n=d(((e=Ks(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor((a=t,((a=Ws(Math.abs(a)))?a[1]:NaN)/3)))),i=Math.pow(10,-r),o=tl[8+r/3];return function(e){return n(i*e)+o}}}}var nl=i(542);const rl=(e="en-US")=>{const{number:t}=(0,nl.getLocale)(e),a="string"==typeof e?e:null==e?void 0:e.number;return{formatTimeDurationLabels:cl(t),formatLocaleCurrency:ol(t),formatShortNumber:il(a),consoleLog:ul,formatHorizontalTimeAxisLabels:sl(),formatVerticalAxisTimeLabels:ll(),getLabelWidth:dl,truncateText:ml}},il=e=>{const t="string"==typeof e?e:navigator.language,a="object"==typeof e?e.decimal:void 0;return e=>{const n=new Intl.NumberFormat(t,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).replaceAll(/\d/g,""),r=Intl.NumberFormat(t,{notation:"compact"}).format(e);return a?r.replace(n,a):r}},ol=(e=nl.numberLocales["en-US"])=>({value:t},a,n,r)=>{if("string"==typeof t)return t;try{const i={style:"currency",currency:n,maximumFractionDigits:0},o=new Intl.NumberFormat(a,i).format(0);let s=2;"currency"!==r&&(s=Number.parseInt(r.split(".")[1].replace("f","")));const l=al(e);return o.replace("0",l.format(`,.${s}f`)(t))}catch(a){return console.error("Error formatting currency: ",a),al(e).format("$,.2f")(t)}},sl=()=>{let e;return t=>{const a=0===t.index||e!==t.label;return e=t.label,a?t.label:""}},ll=()=>{let e;return t=>{const a=t.label.split(" "),n=a[0],r=0===t.index||e!==n;return e=n,r?t.label:a[1]}},cl=(e=nl.numberLocales["en-US"])=>{const t=al(e),a=t.format("02,d"),n=t.format(",d");return({value:e})=>{if("string"==typeof e)return e;const t=e<0?"-":"",r=Math.abs(e),i=a(Math.floor(r%60));return r<3600?`${t}${n(Math.floor(r/60))}:${i}`:`${t}${n(Math.floor(r/60/60))}:${a(Math.floor(r/60%60))}:${i}`}},ul=e=>(console.log(e),e),dl=(e,t="bold",a=12)=>{const n=document.createElement("canvas").getContext("2d");return null===n?0:(n.font=`${t} ${a}px ${W.ADOBE_CLEAN_FONT}`,n.measureText(e).width)},ml=(e,t,a="normal",n=12)=>{t-=4;const r=dl(e,a,n),i=dl("…",a,n);if(r<=t)return e;let o=e.slice(0,-1).trim();for(let e=o.length;e>0&&(o=o.slice(0,-1).trim(),!(dl(o,a,n)+i<=t));e--);return 0===o.length?e:o+"…"},pl={consoleLog:ul,formatHorizontalTimeAxisLabels:sl(),formatVerticalAxisTimeLabels:ll(),getLabelWidth:dl,truncateText:ml},hl=({locale:e="en-US",height:t=400,width:a=600,padding:n=0,renderer:r="svg",config:i,colorScheme:o=V.DEFAULT_COLOR_SCHEME})=>{const s=rl(e),{number:l,time:c}=(0,nl.getLocale)(e);return{actions:!1,ast:!0,expressionFunctions:s,formatLocale:l,height:t,width:a,padding:n,renderer:r,timeFormatLocale:c,config:null!=i?i:he(void 0,o)}}})(),o})()));
3
3
  //# sourceMappingURL=index.js.map