@malloydata/render 0.0.119-dev240118215411 → 0.0.119-dev240123183113

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.
@@ -135680,7 +135680,7 @@ ${errText}`, errors);
135680
135680
  if (f4.isAtomicField() && f4.isString()) {
135681
135681
  width2 = Math.max(getTextWidth(fieldMeta.maxString, font2), titleWidth) + COLUMN_BUFFER;
135682
135682
  } else if (f4.isAtomicField() && f4.isNumber()) {
135683
- const formattedValue = renderNumericField(f4, fieldMeta.max);
135683
+ const formattedValue = fieldMeta.max === null ? "\u2205" : renderNumericField(f4, fieldMeta.max);
135684
135684
  width2 = Math.max(getTextWidth(formattedValue, font2), titleWidth) + COLUMN_BUFFER;
135685
135685
  } else
135686
135686
  width2 = 130;
@@ -857,7 +857,7 @@ ${p}`,h)}}else{if(d.urls)for(let p of d.urls)try{if(p.startsWith("internal://"))
857
857
  : v !== v && u === u ? ${n} : `}var J_t={operator:(t,e)=>q6(t,["_"],e.code),parameter:(t,e)=>q6(t,["datum","_"],e.code),event:(t,e)=>q6(t,["event"],e.code),handler:(t,e)=>{let r=`var datum=event.item&&event.item.datum;return ${e.code};`;return q6(t,["_","event"],r)},encode:(t,e)=>{let{marktype:r,channels:n}=e,i="var o=item,datum=o.datum,m=0,$;";for(let s in n){let o="o["+xe(s)+"]";i+=`$=${n[s].code};if(${o}!==$)${o}=$,m=1;`}return i+=W_t(n,r),i+="return m;",q6(t,["item","_"],i)},codegen:{get(t){let e=`[${t.map(xe).join("][")}]`,r=Function("_",`return _${e};`);return r.path=e,r},comparator(t,e){let r,n=(s,o)=>{let a=e[o],u,l;return s.path?(u=`a${s.path}`,l=`b${s.path}`):((r=r||{})["f"+o]=s,u=`this.f${o}(a)`,l=`this.f${o}(b)`),X_t(u,l,-a,a)},i=Function("a","b","var u, v; return "+t.map(n).join("")+"0;");return r?i.bind(r):i}}};function Z_t(t){let e=this;Y_t(t.type)||!t.type?e.operator(t,t.update?e.operatorExpression(t.update):null):e.transform(t,t.type)}function ebt(t){let e=this;if(t.params){let r=e.get(t.id);r||Y("Invalid operator id: "+t.id),e.dataflow.connect(r,r.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function tbt(t,e){e=e||{};let r=this;for(let n in t){let i=t[n];e[n]=j(i)?i.map(s=>zFe(s,r,e)):zFe(i,r,e)}return e}function zFe(t,e,r){if(!t||!Se(t))return t;for(let n=0,i=GFe.length,s;n<i;++n)if(s=GFe[n],Fe(t,s.key))return s.parse(t,e,r);return t}var GFe=[{key:"$ref",parse:rbt},{key:"$key",parse:ibt},{key:"$expr",parse:nbt},{key:"$field",parse:sbt},{key:"$encode",parse:abt},{key:"$compare",parse:obt},{key:"$context",parse:ubt},{key:"$subflow",parse:lbt},{key:"$tupleid",parse:cbt}];function rbt(t,e){return e.get(t.$ref)||Y("Operator not defined: "+t.$ref)}function nbt(t,e,r){t.$params&&e.parseParameters(t.$params,r);let n="e:"+t.$expr.code;return e.fn[n]||(e.fn[n]=bo(e.parameterExpression(t.$expr),t.$fields))}function ibt(t,e){let r="k:"+t.$key+"_"+!!t.$flat;return e.fn[r]||(e.fn[r]=Ik(t.$key,t.$flat,e.expr.codegen))}function sbt(t,e){if(!t.$field)return null;let r="f:"+t.$field+"_"+t.$name;return e.fn[r]||(e.fn[r]=ui(t.$field,t.$name,e.expr.codegen))}function obt(t,e){let r="c:"+t.$compare+"_"+t.$order,n=ce(t.$compare).map(i=>i&&i.$tupleid?He:i);return e.fn[r]||(e.fn[r]=Fk(n,t.$order,e.expr.codegen))}function abt(t,e){let r=t.$encode,n={};for(let i in r){let s=r[i];n[i]=bo(e.encodeExpression(s.$expr),s.$fields),n[i].output=s.$output}return n}function ubt(t,e){return e}function lbt(t,e){let r=t.$subflow;return function(n,i,s){let o=e.fork().parse(r),a=o.get(r.operators[0].id),u=o.signals.parent;return u&&u.set(s),a.detachSubflow=()=>e.detach(o),a}}function cbt(){return He}function fbt(t){var e=this,r=t.filter!=null?e.eventExpression(t.filter):void 0,n=t.stream!=null?e.get(t.stream):void 0,i;t.source?n=e.events(t.source,t.type,r):t.merge&&(i=t.merge.map(s=>e.get(s)),n=i[0].merge.apply(i[0],i.slice(1))),t.between&&(i=t.between.map(s=>e.get(s)),n=n.between(i[0],i[1])),t.filter&&(n=n.filter(r)),t.throttle!=null&&(n=n.throttle(+t.throttle)),t.debounce!=null&&(n=n.debounce(+t.debounce)),n==null&&Y("Invalid stream definition: "+JSON.stringify(t)),t.consume&&n.consume(!0),e.stream(t,n)}function xbt(t){var e=this,r=Se(r=t.source)?r.$ref:r,n=e.get(r),i=null,s=t.update,o=void 0;n||Y("Source not defined: "+t.source),i=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target),s&&s.$expr&&(s.$params&&(o=e.parseParameters(s.$params)),s=e.handlerExpression(s.$expr)),e.update(t,n,i,s,o)}var dbt={skip:!0};function hbt(t){var e=this,r={};if(t.signals){var n=r.signals={};Object.keys(e.signals).forEach(s=>{let o=e.signals[s];t.signals(s,o)&&(n[s]=o.value)})}if(t.data){var i=r.data={};Object.keys(e.data).forEach(s=>{let o=e.data[s];t.data(s,o)&&(i[s]=o.input.value)})}return e.subcontext&&t.recurse!==!1&&(r.subcontext=e.subcontext.map(s=>s.getState(t))),r}function pbt(t){var e=this,r=e.dataflow,n=t.data,i=t.signals;Object.keys(i||{}).forEach(s=>{r.update(e.signals[s],i[s],dbt)}),Object.keys(n||{}).forEach(s=>{r.pulse(e.data[s].input,r.changeset().remove(Ui).insert(n[s]))}),(t.subcontext||[]).forEach((s,o)=>{let a=e.subcontext[o];a&&a.setState(s)})}function uue(t,e,r,n){return new VFe(t,e,r,n)}function VFe(t,e,r,n){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=n||J_t,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},r&&(this.functions=Object.create(r),this.functions.context=this)}function QFe(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.events=t.events,this.expr=t.expr,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}VFe.prototype=QFe.prototype={fork(){let t=new QFe(this);return(this.subcontext||(this.subcontext=[])).push(t),t},detach(t){this.subcontext=this.subcontext.filter(r=>r!==t);let e=Object.keys(t.nodes);for(let r of e)t.nodes[r]._targets=null;for(let r of e)t.nodes[r].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){let r=this,n=r.dataflow,i=t.value;if(r.set(t.id,e),K_t(t.type)&&i&&(i.$ingest?n.ingest(e,i.$ingest,i.$format):i.$request?n.preload(e,i.$request,i.$format):n.pulse(e,n.changeset().insert(i))),t.root&&(r.root=e),t.parent){let s=r.get(t.parent.$ref);s?(n.connect(s,[e]),e.targets().add(s)):(r.unresolved=r.unresolved||[]).push(()=>{s=r.get(t.parent.$ref),n.connect(s,[e]),e.targets().add(s)})}if(t.signal&&(r.signals[t.signal]=e),t.scale&&(r.scales[t.scale]=e),t.data)for(let s in t.data){let o=r.data[s]||(r.data[s]={});t.data[s].forEach(a=>o[a]=e)}},resolve(){return(this.unresolved||[]).forEach(t=>t()),delete this.unresolved,this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[aue(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,r,n,i){this.dataflow.on(e,r,n,i,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:Q_t,parseOperator:Z_t,parseOperatorParameters:ebt,parseParameters:tbt,parseStream:fbt,parseUpdate:xbt,getState:hbt,setState:pbt};function mbt(t){let e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),rwe(e,t.description()))}function rwe(t,e){t&&(e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e))}function gbt(t){t.add(null,e=>(t._background=e.bg,t._resize=1,e.bg),{bg:t._signals.background})}var lue="default";function ybt(t){let e=t._signals.cursor||(t._signals.cursor=t.add({user:lue,item:null}));t.on(t.events("view","mousemove"),e,(r,n)=>{let i=e.value,s=i?he(i)?i:i.user:lue,o=n.item&&n.item.cursor||null;return i&&s===i.user&&o==i.item?i:{user:s,item:o}}),t.add(null,function(r){let n=r.cursor,i=this.value;return he(n)||(i=n.item,n=n.user),fue(t,n&&n!==lue?n:i||n),i},{cursor:e})}function fue(t,e){let r=t.globalCursor()?typeof document<"u"&&document.body:t.container();if(r)return e==null?r.style.removeProperty("cursor"):r.style.cursor=e}function I$(t,e){var r=t._runtime.data;return Fe(r,e)||Y("Unrecognized data set: "+e),r[e]}function Ebt(t,e){return arguments.length<2?I$(this,t).values.value:P$.call(this,t,y2().remove(Ui).insert(e))}function P$(t,e){ire(e)||Y("Second argument to changes must be a changeset.");let r=I$(this,t);return r.modified=!0,this.pulse(r.input,e)}function Abt(t,e){return P$.call(this,t,y2().insert(e))}function Sbt(t,e){return P$.call(this,t,y2().remove(e))}function nwe(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function iwe(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function k$(t){var e=t.padding(),r=t._origin;return[e.left+r[0],e.top+r[1]]}function vbt(t){var e=k$(t),r=nwe(t),n=iwe(t);t._renderer.background(t.background()),t._renderer.resize(r,n,e),t._handler.origin(e),t._resizeListeners.forEach(i=>{try{i(r,n)}catch(s){t.error(s)}})}function _bt(t,e,r){var n=t._renderer,i=n&&n.canvas(),s,o,a;return i&&(a=k$(t),o=e.changedTouches?e.changedTouches[0]:e,s=hU(o,i),s[0]-=a[0],s[1]-=a[1]),e.dataflow=t,e.item=r,e.vega=bbt(t,r,s),e}function bbt(t,e,r){let n=e?e.mark.marktype==="group"?e:e.mark.group:null;function i(o){var a=n,u;if(o){for(u=e;u;u=u.mark.group)if(u.mark.name===o){a=u;break}}return a&&a.mark&&a.mark.interactive?a:{}}function s(o){if(!o)return r;he(o)&&(o=i(o));let a=r.slice();for(;o;)a[0]-=o.x||0,a[1]-=o.y||0,o=o.mark&&o.mark.group;return a}return{view:tn(t),item:tn(e||{}),group:i,xy:s,x:o=>s(o)[0],y:o=>s(o)[1]}}var WFe="view",Tbt="timer",Cbt="window",Rbt={trap:!1};function Obt(t){let e=Ke({defaults:{}},t),r=(n,i)=>{i.forEach(s=>{j(n[s])&&(n[s]=$i(n[s]))})};return r(e.defaults,["prevent","allow"]),r(e,["view","window","selector"]),e}function swe(t,e,r,n){t._eventListeners.push({type:r,sources:ce(e),handler:n})}function Dbt(t,e){var r=t._eventConfig.defaults,n=r.prevent,i=r.allow;return n===!1||i===!0?!1:n===!0||i===!1?!0:n?n[e]:i?!i[e]:t.preventDefault()}function w$(t,e,r){let n=t._eventConfig&&t._eventConfig[e];return n===!1||Se(n)&&!n[r]?(t.warn(`Blocked ${e} ${r} event listener.`),!1):!0}function Nbt(t,e,r){var n=this,i=new $R(r),s=function(l,c){n.runAsync(null,()=>{t===WFe&&Dbt(n,e)&&l.preventDefault(),i.receive(_bt(n,l,c))})},o;if(t===Tbt)w$(n,"timer",e)&&n.timer(s,e);else if(t===WFe)w$(n,"view",e)&&n.addEventListener(e,s,Rbt);else if(t===Cbt?w$(n,"window",e)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&w$(n,"selector",e)&&(o=Array.from(document.querySelectorAll(t))),!o)n.warn("Can not resolve event source: "+t);else{for(var a=0,u=o.length;a<u;++a)o[a].addEventListener(e,s);swe(n,o,e,s)}return i}function YFe(t){return t.item}function KFe(t){return t.item.mark.source}function XFe(t){return function(e,r){return r.vega.view().changeset().encode(r.item,t)}}function Fbt(t,e){return t=[t||"hover"],e=[e||"update",t[0]],this.on(this.events("view","mouseover",YFe),KFe,XFe(t)),this.on(this.events("view","mouseout",YFe),KFe,XFe(e)),this}function wbt(){var t=this._tooltip,e=this._timers,r=this._eventListeners,n,i,s;for(n=e.length;--n>=0;)e[n].stop();for(n=r.length;--n>=0;)for(s=r[n],i=s.sources.length;--i>=0;)s.sources[i].removeEventListener(s.type,s.handler);return t&&t.call(this,this._handler,null,null,null),this}function bu(t,e,r){let n=document.createElement(t);for(let i in e)n.setAttribute(i,e[i]);return r!=null&&(n.textContent=r),n}var Lbt="vega-bind",Ibt="vega-bind-name",Mbt="vega-bind-radio";function Pbt(t,e,r){if(!e)return;let n=r.param,i=r.state;return i||(i=r.state={elements:null,active:!1,set:null,update:o=>{o!=t.signal(n.signal)&&t.runAsync(null,()=>{i.source=!0,t.signal(n.signal,o)})}},n.debounce&&(i.update=Lk(n.debounce,i.update))),(n.input==null&&n.element?kbt:qbt)(i,e,n,t),i.active||(t.on(t._signals[n.signal],null,()=>{i.source?i.source=!1:i.set(t.signal(n.signal))}),i.active=!0),i}function kbt(t,e,r,n){let i=r.event||"input",s=()=>t.update(e.value);n.signal(r.signal,e.value),e.addEventListener(i,s),swe(n,e,i,s),t.set=o=>{e.value=o,e.dispatchEvent(Bbt(i))}}function Bbt(t){return typeof Event<"u"?new Event(t):{type:t}}function qbt(t,e,r,n){let i=n.signal(r.signal),s=bu("div",{class:Lbt}),o=r.input==="radio"?s:s.appendChild(bu("label"));o.appendChild(bu("span",{class:Ibt},r.name||r.signal)),e.appendChild(s);let a=Ubt;switch(r.input){case"checkbox":a=$bt;break;case"select":a=jbt;break;case"radio":a=Hbt;break;case"range":a=zbt;break}a(t,o,r,i)}function Ubt(t,e,r,n){let i=bu("input");for(let s in r)s!=="signal"&&s!=="element"&&i.setAttribute(s==="input"?"type":s,r[s]);i.setAttribute("name",r.signal),i.value=n,e.appendChild(i),i.addEventListener("input",()=>t.update(i.value)),t.elements=[i],t.set=s=>i.value=s}function $bt(t,e,r,n){let i={type:"checkbox",name:r.signal};n&&(i.checked=!0);let s=bu("input",i);e.appendChild(s),s.addEventListener("change",()=>t.update(s.checked)),t.elements=[s],t.set=o=>s.checked=!!o||null}function jbt(t,e,r,n){let i=bu("select",{name:r.signal}),s=r.labels||[];r.options.forEach((o,a)=>{let u={value:o};M$(o,n)&&(u.selected=!0),i.appendChild(bu("option",u,(s[a]||o)+""))}),e.appendChild(i),i.addEventListener("change",()=>{t.update(r.options[i.selectedIndex])}),t.elements=[i],t.set=o=>{for(let a=0,u=r.options.length;a<u;++a)if(M$(r.options[a],o)){i.selectedIndex=a;return}}}function Hbt(t,e,r,n){let i=bu("span",{class:Mbt}),s=r.labels||[];e.appendChild(i),t.elements=r.options.map((o,a)=>{let u={type:"radio",name:r.signal,value:o};M$(o,n)&&(u.checked=!0);let l=bu("input",u);l.addEventListener("change",()=>t.update(o));let c=bu("label",{},(s[a]||o)+"");return c.prepend(l),i.appendChild(c),l}),t.set=o=>{let a=t.elements,u=a.length;for(let l=0;l<u;++l)M$(a[l].value,o)&&(a[l].checked=!0)}}function zbt(t,e,r,n){n=n!==void 0?n:(+r.max+ +r.min)/2;let i=r.max!=null?r.max:Math.max(100,+n)||100,s=r.min||Math.min(0,i,+n)||0,o=r.step||No(s,i,100),a=bu("input",{type:"range",name:r.signal,min:s,max:i,step:o});a.value=n;let u=bu("span",{},+n);e.appendChild(a),e.appendChild(u);let l=()=>{u.textContent=a.value,t.update(+a.value)};a.addEventListener("input",l),a.addEventListener("change",l),t.elements=[a],t.set=c=>{a.value=c,u.textContent=c}}function M$(t,e){return t===e||t+""==e+""}function owe(t,e,r,n,i,s){return e=e||new n(t.loader()),e.initialize(r,nwe(t),iwe(t),k$(t),i,s).background(t.background())}function xue(t,e){return e?function(){try{e.apply(this,arguments)}catch(r){t.error(r)}}:null}function Gbt(t,e,r,n){let i=new n(t.loader(),xue(t,t.tooltip())).scene(t.scenegraph().root).initialize(r,k$(t),t);return e&&e.handlers().forEach(s=>{i.on(s.type,s.handler)}),i}function Qbt(t,e){let r=this,n=r._renderType,i=r._eventConfig.bind,s=pU(n);t=r._el=t?cue(r,t,!0):null,mbt(r),s||r.error("Unrecognized renderer type: "+n);let o=s.handler||HO,a=t?s.renderer:s.headless;return r._renderer=a?owe(r,r._renderer,t,a):null,r._handler=Gbt(r,r._handler,t,o),r._redraw=!0,t&&i!=="none"&&(e=e?r._elBind=cue(r,e,!0):t.appendChild(bu("form",{class:"vega-bindings"})),r._bind.forEach(u=>{u.param.element&&i!=="container"&&(u.element=cue(r,u.param.element,!!u.param.input))}),r._bind.forEach(u=>{Pbt(r,u.element||e,u)})),r}function cue(t,e,r){if(typeof e=="string")if(typeof document<"u"){if(e=document.querySelector(e),!e)return t.error("Signal bind element not found: "+e),null}else return t.error("DOM document instance not found."),null;if(e&&r)try{e.textContent=""}catch(n){e=null,t.error(n)}return e}var U6=t=>+t||0,Vbt=t=>({top:t,bottom:t,left:t,right:t});function JFe(t){return Se(t)?{top:U6(t.top),bottom:U6(t.bottom),left:U6(t.left),right:U6(t.right)}:Vbt(U6(t))}async function due(t,e,r,n){let i=pU(e),s=i&&i.headless;return s||Y("Unrecognized renderer type: "+e),await t.runAsync(),owe(t,null,null,s,r,n).renderAsync(t._scenegraph.root)}async function Wbt(t,e){t!==k2.Canvas&&t!==k2.SVG&&t!==k2.PNG&&Y("Unrecognized image type: "+t);let r=await due(this,t,e);return t===k2.SVG?Ybt(r.svg(),"image/svg+xml"):r.canvas().toDataURL("image/png")}function Ybt(t,e){let r=new Blob([t],{type:e});return window.URL.createObjectURL(r)}async function Kbt(t,e){return(await due(this,k2.Canvas,t,e)).canvas()}async function Xbt(t){return(await due(this,k2.SVG,t)).svg()}function Jbt(t,e,r){return uue(t,g2,O4,r).parse(e)}function Zbt(t){var e=this._runtime.scales;return Fe(e,t)||Y("Unrecognized scale or projection: "+t),e[t].value}var awe="width",uwe="height",hue="padding",ZFe={skip:!0};function lwe(t,e){var r=t.autosize(),n=t.padding();return e-(r&&r.contains===hue?n.left+n.right:0)}function cwe(t,e){var r=t.autosize(),n=t.padding();return e-(r&&r.contains===hue?n.top+n.bottom:0)}function e5t(t){var e=t._signals,r=e[awe],n=e[uwe],i=e[hue];function s(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,a=>{t._width=a.size,t._viewWidth=lwe(t,a.size),s()},{size:r}),t._resizeHeight=t.add(null,a=>{t._height=a.size,t._viewHeight=cwe(t,a.size),s()},{size:n});let o=t.add(null,s,{pad:i});t._resizeWidth.rank=r.rank+1,t._resizeHeight.rank=n.rank+1,o.rank=i.rank+1}function t5t(t,e,r,n,i,s){this.runAfter(o=>{let a=0;o._autosize=0,o.width()!==r&&(a=1,o.signal(awe,r,ZFe),o._resizeWidth.skip(!0)),o.height()!==n&&(a=1,o.signal(uwe,n,ZFe),o._resizeHeight.skip(!0)),o._viewWidth!==t&&(o._resize=1,o._viewWidth=t),o._viewHeight!==e&&(o._resize=1,o._viewHeight=e),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),a&&o.run("enter"),s&&o.runAfter(u=>u.resize())},!1,1)}function r5t(t){return this._runtime.getState(t||{data:n5t,signals:i5t,recurse:!0})}function n5t(t,e){return e.modified&&j(e.input.value)&&t.indexOf("_:vega:_")}function i5t(t,e){return!(t==="parent"||e instanceof g2.proxy)}function s5t(t){return this.runAsync(null,e=>{e._trigger=!1,e._runtime.setState(t)},e=>{e._trigger=!0}),this}function o5t(t,e){function r(n){t({timestamp:Date.now(),elapsed:n})}this._timers.push(Roe(r,e))}function a5t(t,e,r,n){let i=t.element();i&&i.setAttribute("title",u5t(n))}function u5t(t){return t==null?"":j(t)?fwe(t):Se(t)&&!of(t)?l5t(t):t+""}function l5t(t){return Object.keys(t).map(e=>{let r=t[e];return e+": "+(j(r)?fwe(r):xwe(r))}).join(`
858
858
  `)}function fwe(t){return"["+t.map(xwe).join(", ")+"]"}function xwe(t){return j(t)?"[\u2026]":Se(t)&&!of(t)?"{\u2026}":t}function D4(t,e){let r=this;if(e=e||{},$g.call(r),e.loader&&r.loader(e.loader),e.logger&&r.logger(e.logger),e.logLevel!=null&&r.logLevel(e.logLevel),e.locale||t.locale){let s=Ke({},t.locale,e.locale);r.locale(PR(s.number,s.time))}r._el=null,r._elBind=null,r._renderType=e.renderer||k2.Canvas,r._scenegraph=new kie;let n=r._scenegraph.root;r._renderer=null,r._tooltip=e.tooltip||a5t,r._redraw=!0,r._handler=new HO().scene(n),r._globalCursor=!1,r._preventDefault=!1,r._timers=[],r._eventListeners=[],r._resizeListeners=[],r._eventConfig=Obt(t.eventConfig),r.globalCursor(r._eventConfig.globalCursor);let i=Jbt(r,t,e.expr);r._runtime=i,r._signals=i.signals,r._bind=(t.bindings||[]).map(s=>({state:null,param:Ke({},s)})),i.root&&i.root.set(n),n.source=i.data.root.input,r.pulse(i.data.root.input,r.changeset().insert(n.items)),r._width=r.width(),r._height=r.height(),r._viewWidth=lwe(r,r._width),r._viewHeight=cwe(r,r._height),r._origin=[0,0],r._resize=0,r._autosize=1,e5t(r),gbt(r),ybt(r),r.description(t.description),e.hover&&r.hover(),e.container&&r.initialize(e.container,e.bind)}function L$(t,e){return Fe(t._signals,e)?t._signals[e]:Y("Unrecognized signal name: "+xe(e))}function dwe(t,e){let r=(t._targets||[]).filter(n=>n._update&&n._update.handler===e);return r.length?r[0]:null}function ewe(t,e,r,n){let i=dwe(r,n);return i||(i=xue(t,()=>n(e,r.value)),i.handler=n,t.on(r,null,i)),t}function twe(t,e,r){let n=dwe(e,r);return n&&e._targets.remove(n),t}fe(D4,$g,{async evaluate(t,e,r){if(await $g.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,vbt(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(n){this.error(n)}return r&&UR(this,r),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){let e=t!=null?t+"":null;return e!==this._desc&&rwe(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,r){let n=L$(this,t);return arguments.length===1?n.value:this.update(n,e,r)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",JFe(t)):JFe(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){return arguments.length?(pU(t)||Y("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&($g.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(L$(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:t5t,addEventListener(t,e,r){let n=e;return r&&r.trap===!1||(n=xue(this,e),n.raw=e),this._handler.on(t,n),this},removeEventListener(t,e){for(var r=this._handler.handlers(t),n=r.length,i,s;--n>=0;)if(s=r[n].type,i=r[n].handler,t===s&&(e===i||e===i.raw)){this._handler.off(s,i);break}return this},addResizeListener(t){let e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,r=e.indexOf(t);return r>=0&&e.splice(r,1),this},addSignalListener(t,e){return ewe(this,t,L$(this,t),e)},removeSignalListener(t,e){return twe(this,L$(this,t),e)},addDataListener(t,e){return ewe(this,t,I$(this,t).values,e)},removeDataListener(t,e){return twe(this,I$(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){let e=fue(this,null);this._globalCursor=!!t,e&&fue(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:o5t,events:Nbt,finalize:wbt,hover:Fbt,data:Ebt,change:P$,insert:Abt,remove:Sbt,scale:Zbt,initialize:Qbt,toImageURL:Wbt,toCanvas:Kbt,toSVG:Xbt,getState:r5t,setState:s5t});var c5t="view",B$="[",q$="]",hwe="{",pwe="}",f5t=":",mwe=",",x5t="@",d5t=">",h5t=/[[\]{}]/,p5t={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},gwe,ywe;function $o(t,e,r){return gwe=e||c5t,ywe=r||p5t,Ewe(t.trim()).map(pue)}function m5t(t){return ywe[t]}function $6(t,e,r,n,i){let s=t.length,o=0,a;for(;e<s;++e){if(a=t[e],!o&&a===r)return e;i&&i.indexOf(a)>=0?--o:n&&n.indexOf(a)>=0&&++o}return e}function Ewe(t){let e=[],r=t.length,n=0,i=0;for(;i<r;)i=$6(t,i,mwe,B$+hwe,q$+pwe),e.push(t.substring(n,i).trim()),n=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function pue(t){return t[0]==="["?g5t(t):y5t(t)}function g5t(t){let e=t.length,r=1,n;if(r=$6(t,r,q$,B$,q$),r===e)throw"Empty between selector: "+t;if(n=Ewe(t.substring(1,r)),n.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(r+1).trim(),t[0]!==d5t)throw"Expected '>' after between selector: "+t;n=n.map(pue);let i=pue(t.slice(1).trim());return i.between?{between:n,stream:i}:(i.between=n,i)}function y5t(t){let e={source:gwe},r=[],n=[0,0],i=0,s=0,o=t.length,a=0,u,l;if(t[o-1]===pwe){if(a=t.lastIndexOf(hwe),a>=0){try{n=E5t(t.substring(a+1,o-1))}catch{throw"Invalid throttle specification: "+t}t=t.slice(0,a).trim(),o=t.length}else throw"Unmatched right brace: "+t;a=0}if(!o)throw t;if(t[0]===x5t&&(i=++a),u=$6(t,a,f5t),u<o&&(r.push(t.substring(s,u).trim()),s=a=++u),a=$6(t,a,B$),a===o)r.push(t.substring(s,o).trim());else if(r.push(t.substring(s,a).trim()),l=[],s=++a,s===o)throw"Unmatched left bracket: "+t;for(;a<o;){if(a=$6(t,a,q$),a===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,a).trim()),a<o-1&&t[++a]!==B$)throw"Expected left bracket: "+t;s=++a}if(!(o=r.length)||h5t.test(r[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=r[1],i?e.markname=r[0].slice(1):m5t(r[0])?e.marktype=r[0]:e.source=r[0]):e.type=r[0],e.type.slice(-1)==="!"&&(e.consume=!0,e.type=e.type.slice(0,-1)),l!=null&&(e.filter=l),n[0]&&(e.throttle=n[0]),n[1]&&(e.debounce=n[1]),e}function E5t(t){let e=t.split(mwe);if(!t.length||e.length>2)throw t;return e.map(r=>{let n=+r;if(n!==n)throw t;return n})}function A5t(t){return Se(t)?t:{type:t||"pad"}}var j6=t=>+t||0,S5t=t=>({top:t,bottom:t,left:t,right:t});function v5t(t){return Se(t)?t.signal?t:{top:j6(t.top),bottom:j6(t.bottom),left:j6(t.left),right:j6(t.right)}:S5t(j6(t))}var Wi=t=>Se(t)&&!j(t)?Ke({},t):{value:t};function Awe(t,e,r,n){return r!=null?(Se(r)&&!j(r)||j(r)&&r.length&&Se(r[0])?t.update[e]=r:t[n||"enter"][e]={value:r},1):0}function As(t,e,r){for(let n in e)Awe(t,n,e[n]);for(let n in r)Awe(t,n,r[n],"update")}function M4(t,e,r){for(let n in e)r&&Fe(r,n)||(t[n]=Ke(t[n]||{},e[n]));return t}function F4(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}var Cue="mark",Rue="frame",Oue="scope",_5t="axis",b5t="axis-domain",T5t="axis-grid",C5t="axis-label",R5t="axis-tick",O5t="axis-title",D5t="legend",N5t="legend-band",F5t="legend-entry",w5t="legend-gradient",qwe="legend-label",L5t="legend-symbol",I5t="legend-title",M5t="title",P5t="title-text",k5t="title-subtitle";function B5t(t,e,r,n,i){let s={},o={},a,u,l,c;u="lineBreak",e==="text"&&i[u]!=null&&!F4(u,t)&&mue(s,u,i[u]),(r=="legend"||String(r).startsWith("axis"))&&(r=null),c=r===Rue?i.group:r===Cue?Ke({},i.mark,i[e]):null;for(u in c)l=F4(u,t)||(u==="fill"||u==="stroke")&&(F4("fill",t)||F4("stroke",t)),l||mue(s,u,c[u]);ce(n).forEach(f=>{let x=i.style&&i.style[f];for(let d in x)F4(d,t)||mue(s,d,x[d])}),t=Ke({},t);for(u in s)c=s[u],c.signal?(a=a||{})[u]=c:o[u]=c;return t.enter=Ke(o,t.enter),a&&(t.update=Ke(a,t.update)),t}function mue(t,e,r){t[e]=r&&r.signal?{signal:r.signal}:{value:r}}var Uwe=t=>he(t)?xe(t):t.signal?`(${t.signal})`:$we(t);function V$(t){if(t.gradient!=null)return U5t(t);let e=t.signal?`(${t.signal})`:t.color?q5t(t.color):t.field!=null?$we(t.field):t.value!==void 0?xe(t.value):void 0;return t.scale!=null&&(e=$5t(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${$$(t.exponent)})`),t.mult!=null&&(e+=`*${$$(t.mult)}`),t.offset!=null&&(e+=`+${$$(t.offset)}`),t.round&&(e=`round(${e})`),e}var U$=(t,e,r,n)=>`(${t}(${[e,r,n].map(V$).join(",")})+'')`;function q5t(t){return t.c?U$("hcl",t.h,t.c,t.l):t.h||t.s?U$("hsl",t.h,t.s,t.l):t.l||t.a?U$("lab",t.l,t.a,t.b):t.r||t.g||t.b?U$("rgb",t.r,t.g,t.b):null}function U5t(t){let e=[t.start,t.stop,t.count].map(r=>r==null?null:xe(r));for(;e.length&&xt(e)==null;)e.pop();return e.unshift(Uwe(t.gradient)),`gradient(${e.join(",")})`}function $$(t){return Se(t)?"("+V$(t)+")":t}function $we(t){return jwe(Se(t)?t:{datum:t})}function jwe(t){let e,r,n;if(t.signal)e="datum",n=t.signal;else if(t.group||t.parent){for(r=Math.max(1,t.level||1),e="item";r-- >0;)e+=".mark.group";t.parent?(n=t.parent,e+=".datum"):n=t.group}else t.datum?(e="datum",n=t.datum):Y("Invalid field reference: "+xe(t));return t.signal||(n=he(n)?f0(n).map(xe).join("]["):jwe(n)),e+"["+n+"]"}function $5t(t,e){let r=Uwe(t.scale);return t.range!=null?e=`lerp(_range(${r}), ${+t.range})`:(e!==void 0&&(e=`_scale(${r}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${r})`+(+t.band==1?"":"*"+$$(t.band)),t.extra&&(e=`(datum.extra ? _scale(${r}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function j5t(t){let e="";return t.forEach(r=>{let n=V$(r);e+=r.test?`(${r.test})?${n}:`:n}),xt(e)===":"&&(e+="null"),e}function Hwe(t,e,r,n,i,s){let o={};s=s||{},s.encoders={$encode:o},t=B5t(t,e,r,n,i.config);for(let a in t)o[a]=H5t(t[a],e,s,i);return s}function H5t(t,e,r,n){let i={},s={};for(let o in t)t[o]!=null&&(i[o]=G5t(z5t(t[o]),n,r,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function z5t(t){return j(t)?j5t(t):V$(t)}function G5t(t,e,r,n){let i=B0(t,e);return i.$fields.forEach(s=>n[s]=1),Ke(r,i.$params),i.$expr}var Q5t="outer",V5t=["value","update","init","react","bind"];function Swe(t,e){Y(t+' for "outer" push: '+xe(e))}function zwe(t,e){let r=t.name;if(t.push===Q5t)e.signals[r]||Swe("No prior signal definition",r),V5t.forEach(n=>{t[n]!==void 0&&Swe("Invalid property ",n)});else{let n=e.addSignal(r,t.value);t.react===!1&&(n.react=!1),t.bind&&e.addBinding(r,t.bind)}}function Eue(t,e,r,n){this.id=-1,this.type=t,this.value=e,this.params=r,n&&(this.parent=n)}function W$(t,e,r,n){return new Eue(t,e,r,n)}function Q$(t,e){return W$("operator",t,e)}function Qe(t){let e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function G6(t,e){return e?{$field:t,$name:e}:{$field:t}}var Aue=G6("key");function vwe(t,e){return{$compare:t,$order:e}}function W5t(t,e){let r={$key:t};return e&&(r.$flat=!0),r}var Y5t="ascending",K5t="descending";function X5t(t){return Se(t)?(t.order===K5t?"-":"+")+Y$(t.op,t.field):""}function Y$(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}var Due="scope",Sue="view";function hi(t){return t&&t.signal}function J5t(t){return t&&t.expr}function j$(t){if(hi(t))return!0;if(Se(t)){for(let e in t)if(j$(t[e]))return!0}return!1}function q0(t,e){return t??e}function O3(t){return t&&t.signal||t}var _we="timer";function Q6(t,e){return(t.merge?eTt:t.stream?tTt:t.type?rTt:Y("Invalid stream specification: "+xe(t)))(t,e)}function Z5t(t){return t===Due?Sue:t||Sue}function eTt(t,e){let r=t.merge.map(i=>Q6(i,e)),n=Nue({merge:r},t,e);return e.addStream(n).id}function tTt(t,e){let r=Q6(t.stream,e),n=Nue({stream:r},t,e);return e.addStream(n).id}function rTt(t,e){let r;t.type===_we?(r=e.event(_we,t.throttle),t={between:t.between,filter:t.filter}):r=e.event(Z5t(t.source),t.type);let n=Nue({stream:r},t,e);return Object.keys(n).length===1?r:e.addStream(n).id}function Nue(t,e,r){let n=e.between;return n&&(n.length!==2&&Y('Stream "between" parameter must have 2 entries: '+xe(e)),t.between=[Q6(n[0],r),Q6(n[1],r)]),n=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&n.push(nTt(e.marktype,e.markname,e.markrole)),e.source===Due&&n.push("inScope(event.item)"),n.length&&(t.filter=B0("("+n.join(")&&(")+")",r).$expr),(n=e.throttle)!=null&&(t.throttle=+n),(n=e.debounce)!=null&&(t.debounce=+n),e.consume&&(t.consume=!0),t}function nTt(t,e,r){let n="event.item";return n+(t&&t!=="*"?"&&"+n+".mark.marktype==='"+t+"'":"")+(r?"&&"+n+".mark.role==='"+r+"'":"")+(e?"&&"+n+".mark.name==='"+e+"'":"")}var iTt={code:"_.$value",ast:{type:"Identifier",value:"value"}};function sTt(t,e,r){let n=t.encode,i={target:r},s=t.events,o=t.update,a=[];s||Y("Signal update missing events specification."),he(s)&&(s=$o(s,e.isSubscope()?Due:Sue)),s=ce(s).filter(u=>u.signal||u.scale?(a.push(u),0):1),a.length>1&&(a=[aTt(a)]),s.length&&a.push(s.length>1?{merge:s}:s[0]),n!=null&&(o&&Y("Signal encode and update are mutually exclusive."),o="encode(item(),"+xe(n)+")"),i.update=he(o)?B0(o,e):o.expr!=null?B0(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:iTt,$params:{$value:e.signalRef(o.signal)}}:Y("Invalid signal update specification."),t.force&&(i.options={force:!0}),a.forEach(u=>e.addUpdate(Ke(oTt(u,e),i)))}function oTt(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):Q6(t,e)}}function aTt(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function uTt(t,e){let r=e.getSignal(t.name),n=t.update;t.init&&(n?Y("Signals can not include both init and update expressions."):(n=t.init,r.initonly=!0)),n&&(n=B0(n,e),r.update=n.$expr,r.params=n.$params),t.on&&t.on.forEach(i=>sTt(i,e,r.id))}var pr=t=>(e,r,n)=>W$(t,r,e||void 0,n),Gwe=pr("aggregate"),lTt=pr("axisticks"),Qwe=pr("bound"),$0=pr("collect"),bwe=pr("compare"),cTt=pr("datajoin"),Vwe=pr("encode"),fTt=pr("expression"),xTt=pr("facet"),dTt=pr("field"),hTt=pr("key"),pTt=pr("legendentries"),mTt=pr("load"),gTt=pr("mark"),yTt=pr("multiextent"),ETt=pr("multivalues"),ATt=pr("overlap"),STt=pr("params"),Wwe=pr("prefacet"),vTt=pr("projection"),_Tt=pr("proxy"),bTt=pr("relay"),Ywe=pr("render"),TTt=pr("scale"),N3=pr("sieve"),CTt=pr("sortitems"),Kwe=pr("viewlayout"),RTt=pr("values"),OTt=0,Xwe={min:"min",max:"max",count:"sum"};function DTt(t,e){let r=t.type||"linear";Qne(r)||Y("Unrecognized scale type: "+xe(r)),e.addScale(t.name,{type:r,domain:void 0})}function NTt(t,e){let r=e.getScale(t.name).params,n;r.domain=Jwe(t.domain,t,e),t.range!=null&&(r.range=e7e(t,e,r)),t.interpolate!=null&&UTt(t.interpolate,r),t.nice!=null&&(r.nice=qTt(t.nice)),t.bins!=null&&(r.bins=BTt(t.bins,e));for(n in t)Fe(r,n)||n==="name"||(r[n]=Sl(t[n],e))}function Sl(t,e){return Se(t)?t.signal?e.signalRef(t.signal):Y("Unsupported object: "+xe(t)):t}function H$(t,e){return t.signal?e.signalRef(t.signal):t.map(r=>Sl(r,e))}function K$(t){Y("Can not find data set: "+xe(t))}function Jwe(t,e,r){if(!t){(e.domainMin!=null||e.domainMax!=null)&&Y("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?r.signalRef(t.signal):(j(t)?FTt:t.fields?LTt:wTt)(t,e,r)}function FTt(t,e,r){return t.map(n=>Sl(n,r))}function wTt(t,e,r){let n=r.getData(t.data);return n||K$(t.data),N2(e.type)?n.valuesRef(r,t.field,Zwe(t.sort,!1)):Yne(e.type)?n.domainRef(r,t.field):n.extentRef(r,t.field)}function LTt(t,e,r){let n=t.data,i=t.fields.reduce((s,o)=>(o=he(o)?{data:n,field:o}:j(o)||o.signal?ITt(o,r):o,s.push(o),s),[]);return(N2(e.type)?MTt:Yne(e.type)?PTt:kTt)(t,r,i)}function ITt(t,e){let r="_:vega:_"+OTt++,n=$0({});if(j(t))n.value={$ingest:t};else if(t.signal){let i="setdata("+xe(r)+","+t.signal+")";n.params.input=e.signalRef(i)}return e.addDataPipeline(r,[n,N3({})]),{data:r,field:"data"}}function MTt(t,e,r){let n=Zwe(t.sort,!0),i,s,o=r.map(l=>{let c=e.getData(l.data);return c||K$(l.data),c.countsRef(e,l.field,n)}),a={groupby:Aue,pulse:o};n&&(i=n.op||"count",s=n.field?Y$(i,n.field):"count",a.ops=[Xwe[i]],a.fields=[e.fieldRef(s)],a.as=[s]),i=e.add(Gwe(a));let u=e.add($0({pulse:Qe(i)}));return s=e.add(RTt({field:Aue,sort:e.sortRef(n),pulse:Qe(u)})),Qe(s)}function Zwe(t,e){return t&&(!t.field&&!t.op?Se(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?Y("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!Xwe[t.op]&&Y("Multiple domain scales can not be sorted using "+t.op)),t}function PTt(t,e,r){let n=r.map(i=>{let s=e.getData(i.data);return s||K$(i.data),s.domainRef(e,i.field)});return Qe(e.add(ETt({values:n})))}function kTt(t,e,r){let n=r.map(i=>{let s=e.getData(i.data);return s||K$(i.data),s.extentRef(e,i.field)});return Qe(e.add(yTt({extents:n})))}function BTt(t,e){return t.signal||j(t)?H$(t,e):e.objectProperty(t)}function qTt(t){return Se(t)?{interval:Sl(t.interval),step:Sl(t.step)}:Sl(t)}function UTt(t,e){e.interpolate=Sl(t.type||t),t.gamma!=null&&(e.interpolateGamma=Sl(t.gamma))}function e7e(t,e,r){let n=e.config.range,i=t.range;if(i.signal)return e.signalRef(i.signal);if(he(i)){if(n&&Fe(n,i))return t=Ke({},t,{range:n[i]}),e7e(t,e,r);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=N2(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Y("Unrecognized scale range value: "+xe(i))}else if(i.scheme){r.scheme=j(i.scheme)?H$(i.scheme,e):Sl(i.scheme,e),i.extent&&(r.schemeExtent=H$(i.extent,e)),i.count&&(r.schemeCount=Sl(i.count,e));return}else if(i.step){r.rangeStep=Sl(i.step,e);return}else{if(N2(t.type)&&!j(i))return Jwe(i,t,e);j(i)||Y("Unsupported range type: "+xe(i))}return i.map(s=>(j(s)?H$:Sl)(s,e))}function $Tt(t,e){let r=e.config.projection||{},n={};for(let i in t)i!=="name"&&(n[i]=vue(t[i],i,e));for(let i in r)n[i]==null&&(n[i]=vue(r[i],i,e));e.addProjection(t.name,n)}function vue(t,e,r){return j(t)?t.map(n=>vue(n,e,r)):Se(t)?t.signal?r.signalRef(t.signal):e==="fit"?t:Y("Unsupported parameter object: "+xe(t)):t}var j0="top",P4="left",k4="right",X2="bottom",t7e="center",jTt="vertical",HTt="start",zTt="middle",GTt="end",_ue="index",Fue="label",QTt="offset",I4="perc",VTt="perc2",vl="value",W6="guide-label",wue="guide-title",WTt="group-title",YTt="group-subtitle",Twe="symbol",z$="gradient",bue="discrete",Tue="size",KTt="shape",XTt="fill",JTt="stroke",ZTt="strokeWidth",eCt="strokeDash",tCt="opacity",Lue=[Tue,KTt,XTt,JTt,ZTt,eCt,tCt],Y6={name:1,style:1,interactive:1},Ut={value:0},_l={value:1},X$="group",r7e="rect",Iue="rule",rCt="symbol",F3="text";function V6(t){return t.type=X$,t.interactive=t.interactive||!1,t}function Ta(t,e){let r=(n,i)=>q0(t[n],q0(e[n],i));return r.isVertical=n=>jTt===q0(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection)),r.gradientLength=()=>q0(t.gradientLength,e.gradientLength||e.gradientWidth),r.gradientThickness=()=>q0(t.gradientThickness,e.gradientThickness||e.gradientHeight),r.entryColumns=()=>q0(t.columns,q0(e.columns,+r.isVertical(!0))),r}function n7e(t,e){let r=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return r&&r.signal?r:r?r.value:null}function nCt(t,e,r){let n=e.config.style[r];return n&&n[t]}function J$(t,e,r){return`item.anchor === '${HTt}' ? ${t} : item.anchor === '${GTt}' ? ${e} : ${r}`}var Mue=J$(xe(P4),xe(k4),xe(t7e));function iCt(t){let e=t("tickBand"),r=t("tickOffset"),n,i;return e?e.signal?(n={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${e.signal}) === 'extent'`},Se(r)||(r={signal:`(${e.signal}) === 'extent' ? 0 : ${r}`})):e==="extent"?(n=1,i=!0,r=0):(n=.5,i=!1):(n=t("bandPosition"),i=t("tickExtra")),{extra:i,band:n,offset:r}}function i7e(t,e){return e?t?Se(t)?Object.assign({},t,{offset:i7e(t.offset,e)}):{value:t,offset:e}:e:t}function Tu(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=M4(t.encode,e,Y6)):t.interactive=!1,t}function sCt(t,e,r,n){let i=Ta(t,r),s=i.isVertical(),o=i.gradientThickness(),a=i.gradientLength(),u,l,c,f,x;s?(l=[0,1],c=[0,0],f=o,x=a):(l=[0,0],c=[1,0],f=a,x=o);let d={enter:u={opacity:Ut,x:Ut,y:Ut,width:Wi(f),height:Wi(x)},update:Ke({},u,{opacity:_l,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ut}};return As(d,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Tu({type:r7e,role:w5t,encode:d},n)}function oCt(t,e,r,n,i){let s=Ta(t,r),o=s.isVertical(),a=s.gradientThickness(),u=s.gradientLength(),l,c,f,x,d="";o?(l="y",f="y2",c="x",x="width",d="1-"):(l="x",f="x2",c="y",x="height");let h={opacity:Ut,fill:{scale:e,field:vl}};h[l]={signal:d+"datum."+I4,mult:u},h[c]=Ut,h[f]={signal:d+"datum."+VTt,mult:u},h[x]=Wi(a);let p={enter:h,update:Ke({},h,{opacity:_l}),exit:{opacity:Ut}};return As(p,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),Tu({type:r7e,role:N5t,key:vl,from:i,encode:p},n)}var aCt=`datum.${I4}<=0?"${P4}":datum.${I4}>=1?"${k4}":"${t7e}"`,uCt=`datum.${I4}<=0?"${X2}":datum.${I4}>=1?"${j0}":"${zTt}"`;function Cwe(t,e,r,n){let i=Ta(t,e),s=i.isVertical(),o=Wi(i.gradientThickness()),a=i.gradientLength(),u=i("labelOverlap"),l,c,f,x,d="",h={enter:l={opacity:Ut},update:c={opacity:_l,text:{field:Fue}},exit:{opacity:Ut}};return As(h,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:q0(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:uCt},f="y",x="x",d="1-"):(l.align=c.align={signal:aCt},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:d+"datum."+I4,mult:a},l[x]=c[x]=o,o.offset=q0(t.labelOffset,e.gradientLabelOffset)||0,u=u?{separation:i("labelSeparation"),method:u,order:"datum."+_ue}:void 0,Tu({type:F3,role:qwe,style:W6,key:vl,from:n,encode:h,overlap:u},r)}function lCt(t,e,r,n,i){let s=Ta(t,e),o=r.entries,a=!!(o&&o.interactive),u=o?o.name:void 0,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},x=`(${i}) ? datum.${QTt} : datum.${Tue}`,d=l?Wi(l):{field:Tue},h=`datum.${_ue}`,p=`max(1, ${i})`,m,g,y,A,S;d.mult=.5,m={enter:g={opacity:Ut,x:{signal:x,mult:.5,offset:c},y:d},update:y={opacity:_l,x:g.x,y:g.y},exit:{opacity:Ut}};let T=null,v=null;t.fill||(T=e.symbolBaseFillColor,v=e.symbolBaseStrokeColor),As(m,{fill:s("symbolFillColor",T),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",v),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),Lue.forEach(D=>{t[D]&&(y[D]=g[D]={scale:t[D],field:vl})});let b=Tu({type:rCt,role:L5t,key:vl,from:f,clip:l?!0:void 0,encode:m},r.symbols),R=Wi(c);R.offset=s("labelOffset"),m={enter:g={opacity:Ut,x:{signal:x,offset:R},y:d},update:y={opacity:_l,text:{field:Fue},x:g.x,y:g.y},exit:{opacity:Ut}},As(m,{align:s("labelAlign"),baseline:s("labelBaseline"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontStyle:s("labelFontStyle"),fontWeight:s("labelFontWeight"),limit:s("labelLimit")});let O=Tu({type:F3,role:qwe,style:W6,key:vl,from:f,encode:m},r.labels);return m={enter:{noBound:{value:!l},width:Ut,height:l?Wi(l):Ut,opacity:Ut},exit:{opacity:Ut},update:y={opacity:_l,row:{signal:null},column:{signal:null}}},s.isVertical(!0)?(A=`ceil(item.mark.items.length / ${p})`,y.row.signal=`${h}%${A}`,y.column.signal=`floor(${h} / ${A})`,S={field:["row",h]}):(y.row.signal=`floor(${h} / ${p})`,y.column.signal=`${h} % ${p}`,S={field:h}),y.column.signal=`(${i})?${y.column.signal}:${h}`,n={facet:{data:n,name:"value",groupby:_ue}},V6({role:Oue,from:n,encode:M4(m,o,Y6),marks:[b,O],name:u,interactive:a,sort:S})}function cCt(t,e){let r=Ta(t,e);return{align:r("gridAlign"),columns:r.entryColumns(),center:{row:!0,column:!1},padding:{row:r("rowPadding"),column:r("columnPadding")}}}var Pue='item.orient === "left"',kue='item.orient === "right"',Z$=`(${Pue} || ${kue})`,fCt=`datum.vgrad && ${Z$}`,xCt=J$('"top"','"bottom"','"middle"'),dCt=J$('"right"','"left"','"center"'),hCt=`datum.vgrad && ${kue} ? (${dCt}) : (${Z$} && !(datum.vgrad && ${Pue})) ? "left" : ${Mue}`,pCt=`item._anchor || (${Z$} ? "middle" : "start")`,mCt=`${fCt} ? (${Pue} ? -90 : 90) : 0`,gCt=`${Z$} ? (datum.vgrad ? (${kue} ? "bottom" : "top") : ${xCt}) : "top"`;function yCt(t,e,r,n){let i=Ta(t,e),s={enter:{opacity:Ut},update:{opacity:_l,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ut}};return As(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:pCt},angle:{signal:mCt},align:{signal:hCt},baseline:{signal:gCt},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Tu({type:F3,role:I5t,style:wue,from:n,encode:s},r)}function ECt(t,e){let r;return Se(t)&&(t.signal?r=t.signal:t.path?r="pathShape("+Rwe(t.path)+")":t.sphere&&(r="geoShape("+Rwe(t.sphere)+', {type: "Sphere"})')),r?e.signalRef(r):!!t}function Rwe(t){return Se(t)&&t.signal?t.signal:xe(t)}function s7e(t){let e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===X$?Oue:e||Cue}function ACt(t){return{marktype:t.type,name:t.name||void 0,role:t.role||s7e(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function SCt(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function Bue(t,e){let r=are(t.type);r||Y("Unrecognized transform type: "+xe(t.type));let n=W$(r.type.toLowerCase(),null,o7e(r,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(n)),n.metadata=r.metadata||{},n}function o7e(t,e,r){let n={},i=t.params.length;for(let s=0;s<i;++s){let o=t.params[s];n[o.name]=vCt(o,e,r)}return n}function vCt(t,e,r){let n=t.type,i=e[t.name];if(n==="index")return _Ct(t,e,r);if(i===void 0){t.required&&Y("Missing required "+xe(e.type)+" parameter: "+xe(t.name));return}else{if(n==="param")return bCt(t,e,r);if(n==="projection")return r.projectionRef(e[t.name])}return t.array&&!hi(i)?i.map(s=>Owe(t,s,r)):Owe(t,i,r)}function Owe(t,e,r){let n=t.type;if(hi(e))return Nwe(n)?Y("Expression references can not be signals."):gue(n)?r.fieldRef(e):Fwe(n)?r.compareRef(e):r.signalRef(e.signal);{let i=t.expr||gue(n);return i&&TCt(e)?r.exprRef(e.expr,e.as):i&&CCt(e)?G6(e.field,e.as):Nwe(n)?B0(e,r):RCt(n)?Qe(r.getData(e).values):gue(n)?G6(e):Fwe(n)?r.compareRef(e):e}}function _Ct(t,e,r){return he(e.from)||Y('Lookup "from" parameter must be a string literal.'),r.getData(e.from).lookupRef(r,e.key)}function bCt(t,e,r){let n=e[t.name];return t.array?(j(n)||Y("Expected an array of sub-parameters. Instead: "+xe(n)),n.map(i=>Dwe(t,i,r))):Dwe(t,n,r)}function Dwe(t,e,r){let n=t.params.length,i;for(let o=0;o<n;++o){i=t.params[o];for(let a in i.key)if(i.key[a]!==e[a]){i=null;break}if(i)break}i||Y("Unsupported parameter: "+xe(e));let s=Ke(o7e(i,e,r),i.key);return Qe(r.add(STt(s)))}var TCt=t=>t&&t.expr,CCt=t=>t&&t.field,RCt=t=>t==="data",Nwe=t=>t==="expr",gue=t=>t==="field",Fwe=t=>t==="compare";function OCt(t,e,r){let n,i,s,o,a;return t?(n=t.facet)&&(e||Y("Only group marks can be faceted."),n.field!=null?o=a=G$(n,r):(t.data?a=Qe(r.getData(t.data).aggregate):(s=Bue(Ke({type:"aggregate",groupby:ce(n.groupby)},n.aggregate),r),s.params.key=r.keyRef(n.groupby),s.params.pulse=G$(n,r),o=a=Qe(r.add(s))),i=r.keyRef(n.groupby,!0))):o=Qe(r.add($0(null,[{}]))),o||(o=G$(t,r)),{key:i,pulse:o,parent:a}}function G$(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Qe(e.getData(t.data).output)}function D3(t,e,r,n,i){this.scope=t,this.input=e,this.output=r,this.values=n,this.aggregate=i,this.index={}}D3.fromEntries=function(t,e){let r=e.length,n=e[r-1],i=e[r-2],s=e[0],o=null,a=1;for(s&&s.type==="load"&&(s=e[1]),t.add(e[0]);a<r;++a)e[a].params.pulse=Qe(e[a-1]),t.add(e[a]),e[a].type==="aggregate"&&(o=e[a]);return new D3(t,s,i,n,o)};function a7e(t){return he(t)?t:null}function wwe(t,e,r){let n=Y$(r.op,r.field),i;if(e.ops){for(let s=0,o=e.as.length;s<o;++s)if(e.as[s]===n)return}else e.ops=["count"],e.fields=[null],e.as=["count"];r.op&&(e.ops.push((i=r.op.signal)?t.signalRef(i):r.op),e.fields.push(t.fieldRef(r.field)),e.as.push(n))}function H6(t,e,r,n,i,s,o){let a=e[r]||(e[r]={}),u=X5t(s),l=a7e(i),c,f;if(l!=null&&(t=e.scope,l=l+(u?"|"+u:""),c=a[l]),!c){let x=s?{field:Aue,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Qe(e.output)};u&&(x.sort=t.sortRef(s)),f=t.add(W$(n,void 0,x)),o&&(e.index[i]=f),c=Qe(f),l!=null&&(a[l]=c)}return c}D3.prototype={countsRef(t,e,r){let n=this,i=n.counts||(n.counts={}),s=a7e(e),o,a,u;return s!=null&&(t=n.scope,o=i[s]),o?r&&r.field&&wwe(t,o.agg.params,r):(u={groupby:t.fieldRef(e,"key"),pulse:Qe(n.output)},r&&r.field&&wwe(t,u,r),a=t.add(Gwe(u)),o=t.add($0({pulse:Qe(a)})),o={agg:a,ref:Qe(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Qe(this.values)},extentRef(t,e){return H6(t,this,"extent","extent",e,!1)},domainRef(t,e){return H6(t,this,"domain","values",e,!1)},valuesRef(t,e,r){return H6(t,this,"vals","values",e,r||!0)},lookupRef(t,e){return H6(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return H6(t,this,"indata","tupleindex",e,!0,!0)}};function DCt(t,e,r){let n=t.from.facet,i=n.name,s=G$(n,e),o;n.name||Y("Facet must have a name: "+xe(n)),n.data||Y("Facet must reference a data set: "+xe(n)),n.field?o=e.add(Wwe({field:e.fieldRef(n.field),pulse:s})):n.groupby?o=e.add(xTt({key:e.keyRef(n.groupby),group:Qe(e.proxy(r.parent)),pulse:s})):Y("Facet must specify groupby or field: "+xe(n));let a=e.fork(),u=a.add($0()),l=a.add(N3({pulse:Qe(u)}));a.addData(i,new D3(a,u,u,l)),a.addSignal("parent",null),o.params.subflow={$subflow:a.parse(t).toRuntime()}}function NCt(t,e,r){let n=e.add(Wwe({pulse:r.pulse})),i=e.fork();i.add(N3()),i.addSignal("parent",null),n.params.subflow={$subflow:i.parse(t).toRuntime()}}function u7e(t,e,r){let n=t.remove,i=t.insert,s=t.toggle,o=t.modify,a=t.values,u=e.add(Q$()),l="if("+t.trigger+',modify("'+r+'",'+[i,n,s,o,a].map(f=>f??"null").join(",")+"),0)",c=B0(l,e);u.update=c.$expr,u.params=c.$params}function ej(t,e){let r=s7e(t),n=t.type===X$,i=t.from&&t.from.facet,s=t.overlap,o=t.layout||r===Oue||r===Rue,a,u,l,c,f,x,d,h=r===Cue||o||i,p=OCt(t.from,n,e);u=e.add(cTt({key:p.key||(t.key?G6(t.key):void 0),pulse:p.pulse,clean:!n}));let m=Qe(u);u=l=e.add($0({pulse:m})),u=e.add(gTt({markdef:ACt(t),interactive:SCt(t.interactive,e),clip:ECt(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Qe(u)}));let g=Qe(u);u=c=e.add(Vwe(Hwe(t.encode,t.type,r,t.style,e,{mod:!1,pulse:g}))),u.params.parent=e.encode(),t.transform&&t.transform.forEach(v=>{let b=Bue(v,e),R=b.metadata;(R.generates||R.changes)&&Y("Mark transforms should not generate new data."),R.nomod||(c.params.mod=!0),b.params.pulse=Qe(u),e.add(u=b)}),t.sort&&(u=e.add(CTt({sort:e.compareRef(t.sort),pulse:Qe(u)})));let y=Qe(u);(i||o)&&(o=e.add(Kwe({layout:e.objectProperty(t.layout),legends:e.legends,mark:g,pulse:y})),x=Qe(o));let A=e.add(Qwe({mark:g,pulse:x||y}));d=Qe(A),n&&(h&&(a=e.operators,a.pop(),o&&a.pop()),e.pushState(y,x||d,m),i?DCt(t,e,p):h?NCt(t,e,p):e.parse(t),e.popState(),h&&(o&&a.push(o),a.push(A))),s&&(d=FCt(s,d,e));let S=e.add(Ywe({pulse:d})),T=e.add(N3({pulse:Qe(S)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new D3(e,l,S,T)),t.on&&t.on.forEach(v=>{(v.insert||v.remove||v.toggle)&&Y("Marks only support modify triggers."),u7e(v,e,f)}))}function FCt(t,e,r){let n=t.method,i=t.bound,s=t.separation,o={separation:hi(s)?r.signalRef(s.signal):s,method:hi(n)?r.signalRef(n.signal):n,pulse:e};if(t.order&&(o.sort=r.compareRef({field:t.order})),i){let a=i.tolerance;o.boundTolerance=hi(a)?r.signalRef(a.signal):+a,o.boundScale=r.scaleRef(i.scale),o.boundOrient=i.orient}return Qe(r.add(ATt(o)))}function wCt(t,e){let r=e.config.legend,n=t.encode||{},i=Ta(t,r),s=n.legend||{},o=s.name||void 0,a=s.interactive,u=s.style,l={},c=0,f,x,d;Lue.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||Y("Missing valid scale for legend.");let h=LCt(t,e.scaleType(c)),p={title:t.title!=null,scales:l,type:h,vgrad:h!=="symbol"&&i.isVertical()},m=Qe(e.add($0(null,[p]))),g={enter:{x:{value:0},y:{value:0}}},y=Qe(e.add(pTt(x={type:h,scale:e.scaleRef(c),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return h===z$?(d=[sCt(t,c,r,n.gradient),Cwe(t,r,n.labels,y)],x.count=x.count||e.signalRef(`max(2,2*floor((${O3(i.gradientLength())})/100))`)):h===bue?d=[oCt(t,c,r,n.gradient,y),Cwe(t,r,n.labels,y)]:(f=cCt(t,r),d=[lCt(t,r,n,y,O3(f.columns))],x.size=PCt(t,e,d[0].marks)),d=[V6({role:F5t,from:m,encode:g,marks:d,layout:f,interactive:a})],p.title&&d.push(yCt(t,r,n.title,m)),ej(V6({role:D5t,from:m,encode:M4(MCt(i,t,r),s,Y6),marks:d,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:a,style:u}),e)}function LCt(t,e){let r=t.type||Twe;return!t.type&&ICt(t)===1&&(t.fill||t.stroke)&&(r=TO(e)?z$:Iq(e)?bue:Twe),r!==z$?r:Iq(e)?bue:z$}function ICt(t){return Lue.reduce((e,r)=>e+(t[r]?1:0),0)}function MCt(t,e,r){let n={enter:{},update:{}};return As(n,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:r.strokeWidth,strokeDash:r.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType}),n}function PCt(t,e,r){let n=O3(Lwe("size",t,r)),i=O3(Lwe("strokeWidth",t,r)),s=O3(kCt(r[1].encode,e,W6));return B0(`max(ceil(sqrt(${n})+${i}),${s})`,e)}function Lwe(t,e,r){return e[t]?`scale("${e[t]}",datum)`:n7e(t,r[0].encode)}function kCt(t,e,r){return n7e("fontSize",t)||nCt("fontSize",e,r)}var BCt=`item.orient==="${P4}"?-90:item.orient==="${k4}"?90:0`;function qCt(t,e){t=he(t)?{text:t}:t;let r=Ta(t,e.config.title),n=t.encode||{},i=n.group||{},s=i.name||void 0,o=i.interactive,a=i.style,u=[],l={},c=Qe(e.add($0(null,[l])));return u.push(jCt(t,r,UCt(t),c)),t.subtitle&&u.push(HCt(t,r,n.subtitle,c)),ej(V6({role:M5t,from:c,encode:$Ct(r,i),marks:u,aria:r("aria"),description:r("description"),zindex:r("zindex"),name:s,interactive:o,style:a}),e)}function UCt(t){let e=t.encode;return e&&e.title||Ke({name:t.name,interactive:t.interactive,style:t.style},e)}function $Ct(t,e){let r={enter:{},update:{}};return As(r,{orient:t("orient"),anchor:t("anchor"),align:{signal:Mue},angle:{signal:BCt},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),M4(r,e,Y6)}function jCt(t,e,r,n){let i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return As(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Tu({type:F3,role:P5t,style:WTt,from:n,encode:o},r)}function HCt(t,e,r,n){let i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return As(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Tu({type:F3,role:k5t,style:YTt,from:n,encode:o},r)}function zCt(t,e){let r=[];t.transform&&t.transform.forEach(n=>{r.push(Bue(n,e))}),t.on&&t.on.forEach(n=>{u7e(n,e,t.name)}),e.addDataPipeline(t.name,GCt(t,e,r))}function GCt(t,e,r){let n=[],i=null,s=!1,o=!1,a,u,l,c,f;for(t.values?hi(t.values)||j$(t.format)?(n.push(Iwe(e,t)),n.push(i=R3())):n.push(i=R3({$ingest:t.values,$format:t.format})):t.url?j$(t.url)||j$(t.format)?(n.push(Iwe(e,t)),n.push(i=R3())):n.push(i=R3({$request:t.url,$format:t.format})):t.source&&(i=a=ce(t.source).map(x=>Qe(e.getData(x).output)),n.push(null)),u=0,l=r.length;u<l;++u)c=r[u],f=c.metadata,!i&&!f.source&&n.push(i=R3()),n.push(c),f.generates&&(o=!0),f.modifies&&!o&&(s=!0),f.source?i=c:f.changes&&(i=null);return a&&(l=a.length-1,n[0]=bTt({derive:s,pulse:l?a:a[0]}),(s||l)&&n.splice(1,0,R3())),i||n.push(R3()),n.push(N3({})),n}function R3(t){let e=$0({},t);return e.metadata={source:!0},e}function Iwe(t,e){return mTt({url:e.url?t.property(e.url):void 0,async:e.async?t.property(e.async):void 0,values:e.values?t.property(e.values):void 0,format:t.objectProperty(e.format)})}var l7e=t=>t===X2||t===j0,tj=(t,e,r)=>hi(t)?YCt(t.signal,e,r):t===P4||t===j0?e:r,Yi=(t,e,r)=>hi(t)?VCt(t.signal,e,r):l7e(t)?e:r,U0=(t,e,r)=>hi(t)?WCt(t.signal,e,r):l7e(t)?r:e,c7e=(t,e,r)=>hi(t)?KCt(t.signal,e,r):t===j0?{value:e}:{value:r},QCt=(t,e,r)=>hi(t)?XCt(t.signal,e,r):t===k4?{value:e}:{value:r},VCt=(t,e,r)=>f7e(`${t} === '${j0}' || ${t} === '${X2}'`,e,r),WCt=(t,e,r)=>f7e(`${t} !== '${j0}' && ${t} !== '${X2}'`,e,r),YCt=(t,e,r)=>que(`${t} === '${P4}' || ${t} === '${j0}'`,e,r),KCt=(t,e,r)=>que(`${t} === '${j0}'`,e,r),XCt=(t,e,r)=>que(`${t} === '${k4}'`,e,r),f7e=(t,e,r)=>(e=e!=null?Wi(e):e,r=r!=null?Wi(r):r,Mwe(e)&&Mwe(r)?(e=e?e.signal||xe(e.value):null,r=r?r.signal||xe(r.value):null,{signal:`${t} ? (${e}) : (${r})`}):[Ke({test:t},e)].concat(r||[])),Mwe=t=>t==null||Object.keys(t).length===1,que=(t,e,r)=>({signal:`${t} ? (${w4(e)}) : (${w4(r)})`}),JCt=(t,e,r,n,i)=>({signal:(n!=null?`${t} === '${P4}' ? (${w4(n)}) : `:"")+(r!=null?`${t} === '${X2}' ? (${w4(r)}) : `:"")+(i!=null?`${t} === '${k4}' ? (${w4(i)}) : `:"")+(e!=null?`${t} === '${j0}' ? (${w4(e)}) : `:"")+"(null)"}),w4=t=>hi(t)?t.signal:t==null?null:xe(t),ZCt=(t,e)=>e===0?0:hi(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},L4=(t,e)=>{let r=t.signal;return r&&r.endsWith("(null)")?{signal:r.slice(0,-6)+e.signal}:t};function N4(t,e,r,n){let i;if(e&&Fe(e,t))return e[t];if(Fe(r,t))return r[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return n[wue][i]}else if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return n[W6][i]}return null}function Pwe(t){let e={};for(let r of t)if(r)for(let n in r)e[n]=1;return Object.keys(e)}function eRt(t,e){var r=e.config,n=r.style,i=r.axis,s=e.scaleType(t.scale)==="band"&&r.axisBand,o=t.orient,a,u,l;if(hi(o)){let f=Pwe([r.axisX,r.axisY]),x=Pwe([r.axisTop,r.axisBottom,r.axisLeft,r.axisRight]);a={};for(l of f)a[l]=Yi(o,N4(l,r.axisX,i,n),N4(l,r.axisY,i,n));u={};for(l of x)u[l]=JCt(o.signal,N4(l,r.axisTop,i,n),N4(l,r.axisBottom,i,n),N4(l,r.axisLeft,i,n),N4(l,r.axisRight,i,n))}else a=o===j0||o===X2?r.axisX:r.axisY,u=r["axis"+o[0].toUpperCase()+o.slice(1)];return a||u||s?Ke({},i,a,u,s):i}function tRt(t,e,r,n){let i=Ta(t,e),s=t.orient,o,a,u={enter:o={opacity:Ut},update:a={opacity:_l},exit:{opacity:Ut}};As(u,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});let l=kwe(t,0),c=kwe(t,1);return o.x=a.x=Yi(s,l,Ut),o.x2=a.x2=Yi(s,c),o.y=a.y=U0(s,l,Ut),o.y2=a.y2=U0(s,c),Tu({type:Iue,role:b5t,from:n,encode:u},r)}function kwe(t,e){return{scale:t.scale,range:e}}function rRt(t,e,r,n,i){let s=Ta(t,e),o=t.orient,a=t.gridScale,u=tj(o,1,-1),l=nRt(t.offset,u),c,f,x,d={enter:c={opacity:Ut},update:x={opacity:_l},exit:f={opacity:Ut}};As(d,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});let h={scale:t.scale,field:vl,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},p=Yi(o,{signal:"height"},{signal:"width"}),m=a?{scale:a,range:0,mult:u,offset:l}:{value:0,offset:l},g=a?{scale:a,range:1,mult:u,offset:l}:Ke(p,{mult:u,offset:l});return c.x=x.x=Yi(o,h,m),c.y=x.y=U0(o,h,m),c.x2=x.x2=U0(o,g),c.y2=x.y2=Yi(o,g),f.x=Yi(o,h),f.y=U0(o,h),Tu({type:Iue,role:T5t,key:vl,from:n,encode:d},r)}function nRt(t,e){if(e!==1)if(!Se(t))t=hi(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);else{let r=t=Ke({},t);for(;r.mult!=null;)if(Se(r.mult))r=r.mult=Ke({},r.mult);else return r.mult=hi(e)?{signal:`(${r.mult}) * (${e.signal})`}:r.mult*e,t;r.mult=e}return t}function iRt(t,e,r,n,i,s){let o=Ta(t,e),a=t.orient,u=tj(a,-1,1),l,c,f,x={enter:l={opacity:Ut},update:f={opacity:_l},exit:c={opacity:Ut}};As(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});let d=Wi(i);d.mult=u;let h={scale:t.scale,field:vl,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=Yi(a,Ut,h),f.y2=l.y2=Yi(a,d),c.x=Yi(a,h),f.x=l.x=U0(a,Ut,h),f.x2=l.x2=U0(a,d),c.y=U0(a,h),Tu({type:Iue,role:R5t,key:vl,from:n,encode:x},r)}function yue(t,e,r,n,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+r+","+n+","+i+")"}}function sRt(t,e,r,n,i,s){let o=Ta(t,e),a=t.orient,u=t.scale,l=tj(a,-1,1),c=O3(o("labelFlush")),f=O3(o("labelFlushOffset")),x=o("labelAlign"),d=o("labelBaseline"),h=c===0||!!c,p,m=Wi(i);m.mult=l,m.offset=Wi(o("labelPadding")||0),m.offset.mult=l;let g={scale:u,field:vl,band:.5,offset:i7e(s.offset,o("labelOffset"))},y=Yi(a,h?yue(u,c,'"left"','"right"','"center"'):{value:"center"},QCt(a,"left","right")),A=Yi(a,c7e(a,"bottom","top"),h?yue(u,c,'"top"','"bottom"','"middle"'):{value:"middle"}),S=yue(u,c,`-(${f})`,f,0);h=h&&f;let T={opacity:Ut,x:Yi(a,g,m),y:U0(a,g,m)},v={enter:T,update:p={opacity:_l,text:{field:Fue},x:T.x,y:T.y,align:y,baseline:A},exit:{opacity:Ut,x:T.x,y:T.y}};As(v,{dx:!x&&h?Yi(a,S):null,dy:!d&&h?U0(a,S):null}),As(v,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:x,baseline:d});let b=o("labelBound"),R=o("labelOverlap");return R=R||b?{separation:o("labelSeparation"),method:R,order:"datum.index",bound:b?{scale:u,orient:a,tolerance:b}:null}:void 0,p.align!==y&&(p.align=L4(p.align,y)),p.baseline!==A&&(p.baseline=L4(p.baseline,A)),Tu({type:F3,role:C5t,style:W6,key:vl,from:n,encode:v,overlap:R},r)}function oRt(t,e,r,n){let i=Ta(t,e),s=t.orient,o=tj(s,-1,1),a,u,l={enter:a={opacity:Ut,anchor:Wi(i("titleAnchor",null)),align:{signal:Mue}},update:u=Ke({},a,{opacity:_l,text:Wi(t.title)}),exit:{opacity:Ut}},c={signal:`lerp(range("${t.scale}"), ${J$(0,1,.5)})`};return u.x=Yi(s,c),u.y=U0(s,c),a.angle=Yi(s,Ut,ZCt(o,90)),a.baseline=Yi(s,c7e(s,X2,j0),{value:X2}),u.angle=a.angle,u.baseline=a.baseline,As(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),aRt(i,s,l,r),l.update.align=L4(l.update.align,a.align),l.update.angle=L4(l.update.angle,a.angle),l.update.baseline=L4(l.update.baseline,a.baseline),Tu({type:F3,role:O5t,style:wue,from:n,encode:l},r)}function aRt(t,e,r,n){let i=(a,u)=>a!=null?(r.update[u]=L4(Wi(a),r.update[u]),!1):!F4(u,n),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");r.enter.auto=o===s?Wi(o):Yi(e,Wi(o),Wi(s))}function uRt(t,e){let r=eRt(t,e),n=t.encode||{},i=n.axis||{},s=i.name||void 0,o=i.interactive,a=i.style,u=Ta(t,r),l=iCt(u),c={scale:t.scale,ticks:!!u("ticks"),labels:!!u("labels"),grid:!!u("grid"),domain:!!u("domain"),title:t.title!=null},f=Qe(e.add($0({},[c]))),x=Qe(e.add(lTt({scale:e.scaleRef(t.scale),extra:e.property(l.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),d=[],h;return c.grid&&d.push(rRt(t,r,n.grid,x,l)),c.ticks&&(h=u("tickSize"),d.push(iRt(t,r,n.ticks,x,h,l))),c.labels&&(h=c.ticks?h:0,d.push(sRt(t,r,n.labels,x,h,l))),c.domain&&d.push(tRt(t,r,n.domain,f)),c.title&&d.push(oRt(t,r,n.title,f)),ej(V6({role:_5t,from:f,encode:M4(lRt(u,t),i,Y6),marks:d,aria:u("aria"),description:u("description"),zindex:u("zindex"),name:s,interactive:o,style:a}),e)}function lRt(t,e){let r={enter:{},update:{}};return As(r,{orient:t("orient"),offset:t("offset")||0,position:q0(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType}),r}function x7e(t,e,r){let n=ce(t.signals),i=ce(t.scales);return r||n.forEach(s=>zwe(s,e)),ce(t.projections).forEach(s=>$Tt(s,e)),i.forEach(s=>DTt(s,e)),ce(t.data).forEach(s=>zCt(s,e)),i.forEach(s=>NTt(s,e)),(r||n).forEach(s=>uTt(s,e)),ce(t.axes).forEach(s=>uRt(s,e)),ce(t.marks).forEach(s=>ej(s,e)),ce(t.legends).forEach(s=>wCt(s,e)),t.title&&qCt(t.title,e),e.parseLambdas(),e}var cRt=t=>M4({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function fRt(t,e){let r=e.config,n=Qe(e.root=e.add(Q$())),i=xRt(t,r);i.forEach(l=>zwe(l,e)),e.description=t.description||r.description,e.eventConfig=r.events,e.legends=e.objectProperty(r.legend&&r.legend.layout),e.locale=r.locale;let s=e.add($0()),o=e.add(Vwe(Hwe(cRt(t.encode),X$,Rue,t.style,e,{pulse:Qe(s)}))),a=e.add(Kwe({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:n,pulse:Qe(o)}));e.operators.pop(),e.pushState(Qe(o),Qe(a),null),x7e(t,e,i),e.operators.push(a);let u=e.add(Qwe({mark:n,pulse:Qe(a)}));return u=e.add(Ywe({pulse:Qe(u)})),u=e.add(N3({pulse:Qe(u)})),e.addData("root",new D3(e,s,s,u)),e}function z6(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function xRt(t,e){let r=o=>q0(t[o],e[o]),n=[z6("background",r("background")),z6("autosize",A5t(r("autosize"))),z6("padding",v5t(r("padding"))),z6("width",r("width")||0),z6("height",r("height")||0)],i=n.reduce((o,a)=>(o[a.name]=a,o),{}),s={};return ce(t.signals).forEach(o=>{Fe(i,o.name)?o=Ke(i[o.name],o):n.push(o),s[o.name]=o}),ce(e.signals).forEach(o=>{!Fe(s,o.name)&&!Fe(i,o.name)&&n.push(o)}),n}function d7e(t,e){this.config=t||{},this.options=e||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function Bwe(t){this.config=t.config,this.options=t.options,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}d7e.prototype=Bwe.prototype={parse(t){return x7e(t,this)},fork(){return new Bwe(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(e=>{e.$ref=t.id}),t.refs=null),t},proxy(t){let e=t instanceof Eue?Qe(t):t;return this.add(_Tt({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;this.root&&(this.root.root=!0);for(t in this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function r(n,i,s){let o,a;n&&(o=n.data||(n.data={}),a=o[i]||(o[i]=[]),a.push(s))}for(t in this.data){e=this.data[t],r(e.input,t,"input"),r(e.output,t,"output"),r(e.values,t,"values");for(let n in e.index)r(e.index[n],t,"index:"+n)}return this},pushState(t,e,r){this._encode.push(Qe(this.add(N3({pulse:t})))),this._parent.push(e),this._lookup.push(r?Qe(this.proxy(r)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return xt(this._parent)},encode(){return xt(this._encode)},lookup(){return xt(this._lookup)},markpath(){let t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(he(t))return G6(t,e);t.signal||Y("Unsupported field reference: "+xe(t));let r=t.signal,n=this.field[r];if(!n){let i={name:this.signalRef(r)};e&&(i.as=e),this.field[r]=n=Qe(this.add(dTt(i)))}return n},compareRef(t){let e=!1,r=s=>hi(s)?(e=!0,this.signalRef(s.signal)):J5t(s)?(e=!0,this.exprRef(s.expr)):s,n=ce(t.field).map(r),i=ce(t.order).map(r);return e?Qe(this.add(bwe({fields:n,orders:i}))):vwe(n,i)},keyRef(t,e){let r=!1,n=s=>hi(s)?(r=!0,Qe(i[s.signal])):s,i=this.signals;return t=ce(t).map(n),r?Qe(this.add(hTt({fields:t,flat:e}))):W5t(t,e)},sortRef(t){if(!t)return t;let e=Y$(t.op,t.field),r=t.order||Y5t;return r.signal?Qe(this.add(bwe({fields:e,orders:this.signalRef(r.signal)}))):vwe(e,r)},event(t,e){let r=t+":"+e;if(!this.events[r]){let n=this.id();this.streams.push({id:n,source:t,type:e}),this.events[r]=n}return this.events[r]},hasOwnSignal(t){return Fe(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&Y("Duplicate signal name: "+xe(t));let r=e instanceof Eue?e:this.add(Q$(e));return this.signals[t]=r},getSignal(t){return this.signals[t]||Y("Unrecognized signal name: "+xe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Qe(this.signals[t]):(Fe(this.lambdas,t)||(this.lambdas[t]=this.add(Q$(null))),Qe(this.lambdas[t]))},parseLambdas(){let t=Object.keys(this.lambdas);for(let e=0,r=t.length;e<r;++e){let n=t[e],i=B0(n,this),s=this.lambdas[n];s.params=i.$params,s.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!Se(t)?t:this.signalRef(t.signal||Uue(t))},exprRef(t,e){let r={expr:B0(t,this)};return e&&(r.expr.$name=e),Qe(this.add(fTt(r)))},addBinding(t,e){this.bindings||Y("Nested signals do not support binding: "+xe(t)),this.bindings.push(Ke({signal:t},e))},addScaleProj(t,e){Fe(this.scales,t)&&Y("Duplicate scale or projection name: "+xe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,TTt(e))},addProjection(t,e){this.addScaleProj(t,vTt(e))},getScale(t){return this.scales[t]||Y("Unrecognized scale name: "+xe(t)),this.scales[t]},scaleRef(t){return Qe(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){return Fe(this.data,t)&&Y("Duplicate data set name: "+xe(t)),this.data[t]=e},getData(t){return this.data[t]||Y("Undefined data set name: "+xe(t)),this.data[t]},addDataPipeline(t,e){return Fe(this.data,t)&&Y("Duplicate data set name: "+xe(t)),this.addData(t,D3.fromEntries(this,e))}};function Uue(t){return(j(t)?dRt:hRt)(t)}function dRt(t){let e=t.length,r="[";for(let n=0;n<e;++n){let i=t[n];r+=(n>0?",":"")+(Se(i)?i.signal||Uue(i):xe(i))}return r+"]"}function hRt(t){let e="{",r=0,n,i;for(n in t)i=t[n],e+=(++r>1?",":"")+xe(n)+":"+(Se(i)?i.signal||Uue(i):xe(i));return e+"}"}function pRt(){let t="sans-serif",n="#4c78a8",i="#000",s="#888",o="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:n},area:{fill:n},image:null,line:{stroke:n,strokeWidth:2},path:{stroke:n},rect:{fill:n},rule:{stroke:i},shape:{stroke:n},symbol:{fill:n,size:64},text:{fill:i,font:t,fontSize:11},trail:{fill:n,size:2},style:{"guide-label":{fill:i,font:t,fontSize:10},"guide-title":{fill:i,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:t,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:o},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:s,grid:!1,gridWidth:1,gridColor:o,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:s,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:o,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:s,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function K6(t,e,r){return Se(t)||Y("Input Vega specification must be an object."),e=av(pRt(),e,t.config),fRt(t,new d7e(e,r)).toRuntime()}Ke(g2,Jre,Xie,rse,Aoe,Ioe,vae,fae,Cae,Dae,wae,Mae);var B4={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function h7e(t){return t==="quantitative"||t==="temporal"}function rj(t){return t==="ordinal"||t==="nominal"}var bl=B4.quantitative,X6=B4.ordinal,Ff=B4.temporal,J6=B4.nominal,H0=B4.geojson,ylr=H(B4);function p7e(t){if(t)switch(t=t.toLowerCase(),t){case"q":case bl:return"quantitative";case"t":case Ff:return"temporal";case"o":case X6:return"ordinal";case"n":case J6:return"nominal";case H0:return"geojson"}}var gRt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Ki={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Z6={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"},Tlr=H(Z6);function m7e(t,e){let r=Z6[t],n=Z6[e];return r===n||r==="ordinal-position"&&n==="time"||n==="ordinal-position"&&r==="time"}var yRt={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function $ue(t){return yRt[t]}var g7e=new Set(["linear","log","pow","sqrt","symlog"]),y7e=new Set([...g7e,"time","utc"]);function jue(t){return g7e.has(t)}var E7e=new Set(["quantile","quantize","threshold"]),ERt=new Set([...y7e,...E7e,"sequential","identity"]),ARt=new Set(["ordinal","bin-ordinal","point","band"]);function or(t){return ARt.has(t)}function An(t){return ERt.has(t)}function Ca(t){return y7e.has(t)}function Ad(t){return E7e.has(t)}var A7e={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function S7e(t){return!he(t)&&!!t.name}function Hue(t){return t?.param}function v7e(t){return t&&t.unionWith}function _7e(t){return Se(t)&&"field"in t}var zue={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},Clr=H(zue),{type:Rlr,domain:Olr,range:Dlr,rangeMax:Nlr,rangeMin:Flr,scheme:wlr}=zue,SRt=gRt(zue,["type","domain","range","rangeMax","rangeMin","scheme"]),b7e=H(SRt);function eD(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(t);case"bins":return!["point","band","identity","ordinal"].includes(t);case"round":return Ca(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return Ca(t)||["point","band"].includes(t);case"paddingOuter":case"align":return["point","band"].includes(t);case"paddingInner":return t==="band";case"domainMax":case"domainMid":case"domainMin":case"clamp":return Ca(t);case"nice":return Ca(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return An(t)&&!We(["log","time","utc","threshold","quantile"],t)}}function nj(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return Vx(t)?void 0:z.cannotUseScalePropertyWithNonColor(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function T7e(t,e){return We([X6,J6],e)?t===void 0||or(t):e===Ff?We([Ki.TIME,Ki.UTC,void 0],t):e===bl?jue(t)||Ad(t)||t===void 0:!0}function C7e(t,e,r=!1){if(!Qs(t))return!1;switch(t){case Ht:case Rr:case nl:case uf:case Co:case da:return Ca(e)||e==="band"?!0:e==="point"?!r:!1;case ha:case xu:case Do:case cu:case fu:case p0:return Ca(e)||Ad(e)||We(["band","point","ordinal"],e);case mn:case Hs:case zs:return e!=="band";case du:case nn:return e==="ordinal"||Ad(e)}}var jo={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},Gue=jo.arc,w3=jo.area,L3=jo.bar,R7e=jo.image,I3=jo.line,q4=jo.point,O7e=jo.rect,U4=jo.rule,ij=jo.text,tD=jo.tick,D7e=jo.trail,rD=jo.circle,nD=jo.square,sj=jo.geoshape;function so(t){return["line","area","trail"].includes(t)}function Que(t){return["rect","bar","image","arc"].includes(t)}var N7e=new Set(H(jo));function Ss(t){return t.type}var vRt=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],_Rt=["fill","fillOpacity"],F7e=[...vRt,..._Rt],bRt={color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1},Vue=H(bRt),w7e={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},L7e={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},TRt={mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1},oj=H(TRt);function Sd(t){return t&&t.band!=null}var I7e={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},M7e=5,P7e={binSpacing:1,continuousBandSize:M7e,timeUnitBandPosition:.5},k7e={binSpacing:0,continuousBandSize:M7e,timeUnitBandPosition:.5},B7e={thickness:1};function q7e(t){return Ss(t)?t.type:t}function j4(t){let{channel:e,channelDef:r,markDef:n,scale:i,config:s}=t,o=sD(t);return se(r)&&!nB(r.aggregate)&&i&&Ca(i.get("type"))?RRt({fieldDef:r,channel:e,markDef:n,ref:o,config:s}):o}function RRt({fieldDef:t,channel:e,markDef:r,ref:n,config:i}){return so(r.type)?n:st("invalid",r,i)===null?[ORt(t,e),n]:n}function ORt(t,e){let r=iD(t,!0),i=hu(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:r},i)}function iD(t,e=!0){return hR(he(t)?t:ue(t,{expr:"datum"}),!e)}function U7e(t){let{datum:e}=t;return ol(e)?i2(e):`${jt(e)}`}function wf(t,e,r,n){let i={};if(e&&(i.scale=e),oo(t)){let{datum:s}=t;ol(s)?i.signal=i2(s):be(s)?i.signal=s.signal:n2(s)?i.signal=s.expr:i.value=s}else i.field=ue(t,r);if(n){let{offset:s,band:o}=n;s&&(i.offset=s),o&&(i.band=o)}return i}function $4({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:r,offset:n,startSuffix:i,bandPosition:s=.5}){let o=0<s&&s<1?"datum":void 0,a=ue(e,{expr:o,suffix:i}),u=r!==void 0?ue(r,{expr:o}):ue(e,{suffix:"end",expr:o}),l={};if(s===0||s===1){l.scale=t;let c=s===0?a:u;l.field=c}else{let c=be(s)?`${s.signal} * ${a} + (1-${s.signal}) * ${u}`:`${s} * ${a} + ${1-s} * ${u}`;l.signal=`scale("${t}", ${c})`}return n&&(l.offset=n),l}function sD({channel:t,channelDef:e,channel2Def:r,markDef:n,config:i,scaleName:s,scale:o,stack:a,offset:u,defaultRef:l,bandPosition:c}){var f;if(e){if(Ve(e)){let x=o?.get("type");if(pi(e)){c??(c=Wue({fieldDef:e,fieldDef2:r,markDef:n,config:i}));let{bin:d,timeUnit:h,type:p}=e;if(St(d)||c&&h&&p===Ff)return a?.impute?wf(e,s,{binSuffix:"mid"},{offset:u}):c&&!or(x)?$4({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:u}):wf(e,s,Lf(e,t)?{binSuffix:"range"}:{},{offset:u});if($r(d)){if(se(r))return $4({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:r,bandPosition:c,offset:u});{let m=t===Ht?xa:lu;K(z.channelRequiredForBinned(m))}}}return wf(e,s,or(x)?{binSuffix:"range"}:{},{offset:u,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(Jn(e)){let x=e.value,d=u?{offset:u}:{};return Object.assign(Object.assign({},M3(t,x)),d)}}return Je(l)&&(l=l()),l&&Object.assign(Object.assign({},l),u?{offset:u}:{})}function M3(t,e){return We(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:We(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:vt(e)}function If(t){return t&&t!=="number"&&t!=="time"}function j7e(t,e,r){return`${t}(${e}${r?`, ${jt(r)}`:""})`}var DRt=" \u2013 ";function H4({fieldOrDatumDef:t,format:e,formatType:r,expr:n,normalizeStack:i,config:s}){var o,a;if(If(r))return aD({fieldOrDatumDef:t,format:e,formatType:r,expr:n,config:s});let u=H7e(t,n,i);if(vd(t)){let l=FRt(u,se(t)?(o=on(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,Tl(t)&&((a=t.scale)===null||a===void 0?void 0:a.type)===Ki.UTC);return l?{signal:l}:void 0}if(e=z7e(oD(t),e,s),se(t)&&St(t.bin)){let l=ue(t,{expr:n,binSuffix:"end"});return{signal:z4(u,l,e,r,s)}}else return e||oD(t)==="quantitative"?{signal:`${G7e(u,e)}`}:{signal:`isValid(${u}) ? ${u} : ""+${u}`}}function H7e(t,e,r){return se(t)?r?`${ue(t,{expr:e,suffix:"end"})}-${ue(t,{expr:e,suffix:"start"})}`:ue(t,{expr:e}):U7e(t)}function aD({fieldOrDatumDef:t,format:e,formatType:r,expr:n,normalizeStack:i,config:s,field:o}){if(o??(o=H7e(t,n,i)),se(t)&&St(t.bin)){let a=ue(t,{expr:n,binSuffix:"end"});return{signal:z4(o,a,e,r,s)}}return{signal:j7e(r,o,e)}}function uj(t,e,r,n,i,s){var o;if(!If(n)){if(vd(t)){let a=se(t)?(o=on(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return NRt(r,a,i,s)}return z7e(e,r,i)}}function lj(t,e,r){if(t&&(be(t)||t==="number"||t==="time"))return t;if(vd(e)&&r!=="time"&&r!=="utc")return"time"}function z7e(t,e,r){if(he(e))return e;if(t===bl)return r.numberFormat}function NRt(t,e,r,n){return t||(e?{signal:xte(e)}:n?void 0:r.timeFormat)}function G7e(t,e){return`format(${t}, "${e||""}")`}function $7e(t,e,r,n){var i;return If(r)?j7e(r,t,e):G7e(t,(i=he(e)?e:void 0)!==null&&i!==void 0?i:n.numberFormat)}function z4(t,e,r,n,i){let s=$7e(t,r,n,i),o=$7e(e,r,n,i);return`${hR(t,!1)} ? "null" : ${s} + "${DRt}" + ${o}`}function FRt(t,e,r,n,i){return!e||r?(r=he(r)?r:n,`${i?"utc":"time"}Format(${t}, '${r}')`):hbe(e,t,i)}var J2="min",wRt={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function Yue(t){return t in wRt}function cj(t){return!!t&&!!t.encoding}function Xi(t){return!!t&&(t.op==="count"||!!t.field)}function fj(t){return!!t&&j(t)}function Mf(t){return"row"in t||"column"in t}function xj(t){return!!t&&"header"in t}function _d(t){return"facet"in t}var Kue=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function Q7e(t){return t.param}function V7e(t){return t&&!he(t)&&"repeat"in t}function Xue(t){let{field:e,timeUnit:r,bin:n,aggregate:i}=t;return Object.assign(Object.assign(Object.assign(Object.assign({},r?{timeUnit:r}:{}),n?{bin:n}:{}),i?{aggregate:i}:{}),{field:e})}function hj(t){return"sort"in t}function Wue({fieldDef:t,fieldDef2:e,markDef:r,config:n}){if(Ve(t)&&t.bandPosition!==void 0)return t.bandPosition;if(se(t)){let{timeUnit:i,bin:s}=t;if(i&&!e)return Que(r.type)?0:lf("timeUnitBandPosition",r,n);if(St(s))return .5}}function Jue({channel:t,fieldDef:e,fieldDef2:r,markDef:n,config:i,scaleType:s,useVlSizeChannel:o}){var a,u,l;let c=sn(t),f=st(o?"size":c,n,i,{vgChannel:c});if(f!==void 0)return f;if(se(e)){let{timeUnit:x,bin:d}=e;if(x&&!r)return{band:lf("timeUnitBandSize",n,i)};if(St(d)&&!or(s))return{band:1}}if(Que(n.type))return s?or(s)?((a=i[n.type])===null||a===void 0?void 0:a.discreteBandSize)||{band:1}:(u=i[n.type])===null||u===void 0?void 0:u.continuousBandSize:(l=i[n.type])===null||l===void 0?void 0:l.discreteBandSize}function pj(t,e,r,n){return St(t.bin)||t.timeUnit&&pi(t)&&t.type==="temporal"?Wue({fieldDef:t,fieldDef2:e,markDef:r,config:n})!==void 0:!1}function Z2(t){return t&&"condition"in t}function Q4(t){let e=t&&t.condition;return!!e&&!j(e)&&se(e)}function e1(t){let e=t&&t.condition;return!!e&&!j(e)&&Ve(e)}function W7e(t){let e=t&&t.condition;return!!e&&(j(e)||Jn(e))}function se(t){return t&&(!!t.field||t.aggregate==="count")}function oD(t){return t&&t.type}function oo(t){return t&&"datum"in t}function Ra(t){return pi(t)&&!uD(t)||mj(t)}function mj(t){return oo(t)&&Ct(t.datum)}function Ve(t){return se(t)||oo(t)}function pi(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function Jn(t){return t&&"value"in t&&"value"in t}function Tl(t){return t&&("scale"in t||"sort"in t)}function gj(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function Y7e(t){return t&&"legend"in t}function K7e(t){return t&&("format"in t||"formatType"in t)}function X7e(t){return Gn(t,["legend","axis","header","scale"])}function LRt(t){return"op"in t}function ue(t,e={}){var r,n,i;let s=t.field,o=e.prefix,a=e.suffix,u="";if(MRt(t))s=T_e("count");else{let l;if(!e.nofn)if(LRt(t))l=t.op;else{let{bin:c,aggregate:f,timeUnit:x}=t;St(c)?(l=iB(c),a=((r=e.binSuffix)!==null&&r!==void 0?r:"")+((n=e.suffix)!==null&&n!==void 0?n:"")):f?sl(f)?(u=`["${s}"]`,s=`argmax_${f.argmax}`):pu(f)?(u=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=pbe(x),a=(!["range","mid"].includes(e.binSuffix)&&e.binSuffix||"")+((i=e.suffix)!==null&&i!==void 0?i:""))}l&&(s=s?`${l}_${s}`:l)}return a&&(s=`${s}_${a}`),o&&(s=`${o}_${s}`),e.forAs?Gk(s):e.expr?__e(s,e.expr)+u:li(s)+u}function uD(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return se(t)&&!!t.bin;case"temporal":return!1}throw new Error(z.invalidFieldType(t.type))}function IRt(t){var e;return Tl(t)&&Ad((e=t.scale)===null||e===void 0?void 0:e.type)}function MRt(t){return t.aggregate==="count"}function PRt(t,e){var r;let{field:n,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(St(i))return`${n} (binned)`;if(s){let a=(r=on(s))===null||r===void 0?void 0:r.unit;if(a)return`${n} (${dR(a).join("-")})`}else if(o)return sl(o)?`${n} for max ${o.argmax}`:pu(o)?`${n} for min ${o.argmin}`:`${bg(o)} of ${n}`;return n}function kRt(t){let{aggregate:e,bin:r,timeUnit:n,field:i}=t;if(sl(e))return`${i} for argmax(${e.argmax})`;if(pu(e))return`${i} for argmin(${e.argmin})`;let s=on(n),o=e||s?.unit||s?.maxbins&&"timeunit"||St(r)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}var J7e=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return kRt(t);default:return PRt(t,e)}},Z7e=J7e;function Zue(t){Z7e=t}function e8e(){Zue(J7e)}function Pf(t,e,{allowDisabling:r,includeDefault:n=!0}){var i,s;let o=(i=yj(t))===null||i===void 0?void 0:i.title;if(!se(t))return o??t.title;let a=t,u=n?lD(a,e):void 0;return r?Mt(o,a.title,u):(s=o??a.title)!==null&&s!==void 0?s:u}function yj(t){if(gj(t)&&t.axis)return t.axis;if(Y7e(t)&&t.legend)return t.legend;if(xj(t)&&t.header)return t.header}function lD(t,e){return Z7e(t,e)}function V4(t){var e;if(K7e(t)){let{format:r,formatType:n}=t;return{format:r,formatType:n}}else{let r=(e=yj(t))!==null&&e!==void 0?e:{},{format:n,formatType:i}=r;return{format:n,formatType:i}}}function BRt(t,e){var r;switch(e){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(hj(t)&&j(t.sort))return"ordinal";let{aggregate:n,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||n&&!sl(n)&&!pu(n))return"quantitative";if(Tl(t)&&(!((r=t.scale)===null||r===void 0)&&r.type))switch(Z6[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function vs(t){if(se(t))return t;if(Q4(t))return t.condition}function er(t){if(Ve(t))return t;if(e1(t))return t.condition}function ele(t,e,r,n={}){if(he(t)||Ct(t)||x0(t)){let i=he(t)?"string":Ct(t)?"number":"boolean";return K(z.primitiveChannelDef(e,i,t)),{value:t}}return Ve(t)?dj(t,e,r,n):e1(t)?Object.assign(Object.assign({},t),{condition:dj(t.condition,e,r,n)}):t}function dj(t,e,r,n){if(K7e(t)){let{format:i,formatType:s}=t,o=Kue(t,["format","formatType"]);if(If(s)&&!r.customFormatTypes)return K(z.customFormatTypeNotAllowed(e)),dj(o,e,r,n)}else{let i=gj(t)?"axis":Y7e(t)?"legend":xj(t)?"header":null;if(i&&t[i]){let s=t[i],{format:o,formatType:a}=s,u=Kue(s,["format","formatType"]);if(If(a)&&!r.customFormatTypes)return K(z.customFormatTypeNotAllowed(e)),dj(Object.assign(Object.assign({},t),{[i]:u}),e,r,n)}}return se(t)?cD(t,e,n):qRt(t)}function qRt(t){let e=t.type;if(e)return t;let{datum:r}=t;return e=Ct(r)?"quantitative":he(r)?"nominal":ol(r)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function cD(t,e,{compositeMark:r=!1}={}){let{aggregate:n,timeUnit:i,bin:s,field:o}=t,a=Object.assign({},t);if(!r&&n&&!pv(n)&&!sl(n)&&!pu(n)&&(K(z.invalidAggregate(n)),delete a.aggregate),i&&(a.timeUnit=on(i)),o&&(a.field=`${o}`),St(s)&&(a.bin=gv(s,e)),$r(s)&&!Sr(e)&&K(z.channelShouldNotBeUsedForBinned(e)),pi(a)){let{type:u}=a,l=p7e(u);u!==l&&(a.type=l),u!=="quantitative"&&nB(n)&&(K(z.invalidFieldTypeForCountAggregate(u,n)),a.type="quantitative")}else if(!Xk(e)){let u=BRt(a,e);a.type=u}if(pi(a)){let{compatible:u,warning:l}=URt(a,e)||{};u===!1&&K(l)}if(hj(a)&&he(a.sort)){let{sort:u}=a;if(Yue(u))return Object.assign(Object.assign({},a),{sort:{encoding:u}});let l=u.substr(1);if(u.charAt(0)==="-"&&Yue(l))return Object.assign(Object.assign({},a),{sort:{encoding:l,order:"descending"}})}if(xj(a)){let{header:u}=a;if(u){let{orient:l}=u,c=Kue(u,["orient"]);if(l)return Object.assign(Object.assign({},a),{header:Object.assign(Object.assign({},c),{labelOrient:u.labelOrient||l,titleOrient:u.titleOrient||l})})}}return a}function gv(t,e){return x0(t)?{maxbins:nte(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:nte(e)}):t}var G4={compatible:!0};function URt(t,e){let r=t.type;if(r==="geojson"&&e!=="shape")return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case ca:case fa:case cv:return uD(t)?G4:{compatible:!1,warning:z.channelShouldBeDiscrete(e)};case Ht:case Rr:case nl:case uf:case mn:case Hs:case zs:case Cg:case Og:case fv:case Qx:case xv:case dv:case p0:case Co:case da:case hv:return G4;case Oo:case hs:case Ro:case js:return r!==bl?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:G4;case Do:case cu:case fu:case xu:case ha:case h0:case d0:case xa:case lu:return r==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:G4;case nn:case du:return!uD(t)&&!IRt(t)?{compatible:!1,warning:z.channelShouldBeDiscreteOrDiscretizing(e)}:G4;case Rg:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:G4}}function vd(t){let{formatType:e}=V4(t);return e==="time"||!e&&$Rt(t)}function $Rt(t){return t&&(t.type==="temporal"||se(t)&&!!t.timeUnit)}function Dg(t,{timeUnit:e,type:r,wrapTime:n,undefinedIfExprNotRequired:i}){var s;let o=e&&((s=on(e))===null||s===void 0?void 0:s.unit),a=o||r==="temporal",u;return n2(t)?u=t.expr:be(t)?u=t.signal:ol(t)?(a=!0,u=i2(t)):(he(t)||Ct(t))&&a&&(u=`datetime(${jt(t)})`,fbe(o)&&(Ct(t)&&t<1e4||he(t)&&isNaN(Date.parse(t)))&&(u=i2({[o]:t}))),u?n&&a?`time(${u})`:u:i?void 0:jt(t)}function Ej(t,e){let{type:r}=t;return e.map(n=>{let i=Dg(n,{timeUnit:se(t)?t.timeUnit:void 0,type:r,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:n})}function Lf(t,e){return St(t.bin)?Qs(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}var tle={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function bd(t){return t&&t.condition}var Aj=["domain","grid","labels","ticks","title"],t8e={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},rle={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},r8e=Object.assign(Object.assign({},rle),{style:1,labelExpr:1,encoding:1});function nle(t){return!!r8e[t]}var C0r=H(r8e),HRt={axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1},ile=H(HRt);function mi(t){return"mark"in t}var kf=class{constructor(e,r){this.name=e,this.run=r}hasMatchingType(e){return mi(e)?q7e(e.mark)===this.name:!1}};var zRt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function Bf(t,e){let r=t&&t[e];return r?j(r)?Gx(r,n=>!!n.field):se(r)||Q4(r):!1}function sle(t,e){let r=t&&t[e];return r?j(r)?Gx(r,n=>!!n.field):se(r)||oo(r)||e1(r):!1}function fD(t,e){if(Sr(e)){let r=t[e];if((se(r)||oo(r))&&rj(r.type)){let n=Jk(e);return sle(t,n)}}return!1}function W4(t){return Gx(F_e,e=>{if(Bf(t,e)){let r=t[e];if(j(r))return Gx(r,n=>!!n.aggregate);{let n=vs(r);return n&&!!n.aggregate}}return!1})}function Sj(t,e){let r=[],n=[],i=[],s=[],o={};return xD(t,(a,u)=>{if(se(a)){let{field:l,aggregate:c,bin:f,timeUnit:x}=a,d=zRt(a,["field","aggregate","bin","timeUnit"]);if(c||x||f){let h=yj(a),p=h?.title,m=ue(a,{forAs:!0}),g=Object.assign(Object.assign(Object.assign({},p?[]:{title:Pf(a,e,{allowDisabling:!0})}),d),{field:m});if(c){let y;if(sl(c)?(y="argmax",m=ue({op:"argmax",field:c.argmax},{forAs:!0}),g.field=`${m}.${l}`):pu(c)?(y="argmin",m=ue({op:"argmin",field:c.argmin},{forAs:!0}),g.field=`${m}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(y=c),y){let A={op:y,as:m};l&&(A.field=l),s.push(A)}}else if(r.push(m),pi(a)&&St(f)){if(n.push({bin:f,field:l,as:m}),r.push(ue(a,{binSuffix:"end"})),Lf(a,u)&&r.push(ue(a,{binSuffix:"range"})),Sr(u)){let y={field:`${m}_end`};o[`${u}2`]=y}g.bin="binned",Xk(u)||(g.type=bl)}else if(x){i.push({timeUnit:x,field:l,as:m});let y=pi(a)&&a.type!==Ff&&"time";y&&(u===Cg||u===Qx?g.formatType=y:$_e(u)?g.legend=Object.assign({formatType:y},g.legend):Sr(u)&&(g.axis=Object.assign({formatType:y},g.axis)))}o[u]=g}else r.push(l),o[u]=t[u]}else o[u]=t[u]}),{bins:n,timeUnits:i,aggregate:s,groupby:r,encoding:o}}function GRt(t,e,r){let n=z_e(e,r);if(n){if(n==="binned"){let i=t[e===xa?Ht:Rr];return!!(se(i)&&se(t[e])&&$r(i.bin))}}else return!1;return!0}function n8e(t,e,r,n){let i={};for(let s of H(t))Kk(s)||K(z.invalidEncodingChannel(s));for(let s of P_e){if(!t[s])continue;let o=t[s];if(m0(s)){let a=Zk(s),u=i[a];if(se(u)){if(h7e(u.type)&&se(o)){K(z.offsetNestedInsideContinuousPositionScaleDropped(a));continue}}else s=a,K(z.replaceOffsetWithMainChannel(a))}if(s==="angle"&&e==="arc"&&!t.theta&&(K(z.REPLACE_ANGLE_WITH_THETA),s=Co),!GRt(t,s,e)){K(z.incompatibleChannel(s,e));continue}if(s===ha&&e==="line"){let a=vs(t[s]);if(a?.aggregate){K(z.LINE_WITH_VARYING_SIZE);continue}}if(s===mn&&(r?"fill"in t:"stroke"in t)){K(z.droppingColor("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===Og||s===Rg&&!j(o)&&!Jn(o)||s===Qx&&j(o))o&&(i[s]=ce(o).reduce((a,u)=>(se(u)?a.push(cD(u,s)):K(z.emptyFieldDef(u,s)),a),[]));else{if(s===Qx&&o===null)i[s]=null;else if(!se(o)&&!oo(o)&&!Jn(o)&&!Z2(o)&&!be(o)){K(z.emptyFieldDef(o,s));continue}i[s]=ele(o,s,n)}}return i}function t1(t,e){let r={};for(let n of H(t)){let i=ele(t[n],n,e,{compositeMark:!0});r[n]=i}return r}function i8e(t){let e=[];for(let r of H(t))if(Bf(t,r)){let n=t[r],i=ce(n);for(let s of i)se(s)?e.push(s):Q4(s)&&e.push(s.condition)}return e}function xD(t,e,r){if(t)for(let n of H(t)){let i=t[n];if(j(i))for(let s of i)e.call(r,s,n);else e.call(r,i,n)}}function s8e(t,e,r,n){return t?H(t).reduce((i,s)=>{let o=t[s];return j(o)?o.reduce((a,u)=>e.call(n,a,u,s),i):e.call(n,i,o,s)},r):r}function vj(t,e){return H(e).reduce((r,n)=>{switch(n){case Ht:case Rr:case xv:case hv:case dv:case xa:case lu:case nl:case uf:case Co:case h0:case da:case d0:case Ro:case Oo:case js:case hs:case Cg:case nn:case p0:case Qx:return r;case Rg:if(t==="line"||t==="trail")return r;case Og:case fv:{let i=e[n];if(j(i)||se(i))for(let s of ce(i))s.aggregate||r.push(ue(s,{}));return r}case ha:if(t==="trail")return r;case mn:case Hs:case zs:case Do:case cu:case fu:case du:case xu:{let i=vs(e[n]);return i&&!i.aggregate&&r.push(ue(i,{})),r}}},[])}var o8e=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function a8e(t){let{tooltip:e}=t,r=o8e(t,["tooltip"]);if(!e)return{filteredEncoding:r};let n,i;if(j(e)){for(let s of e)s.aggregate?(n||(n=[]),n.push(s)):(i||(i=[]),i.push(s));n&&(r.tooltip=n)}else e.aggregate?r.tooltip=e:i=e;return j(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:r}}function dD(t,e,r,n=!0){if("tooltip"in r)return{tooltip:r.tooltip};let i=t.map(({fieldPrefix:o,titlePrefix:a})=>{let u=n?` of ${bj(e)}`:"";return{field:o+e.field,type:e.type,title:be(a)?{signal:`${a}"${escape(u)}"`}:a+u}}),s=i8e(r).map(X7e);return{tooltip:[...i,...To(s,$e)]}}function bj(t){let{title:e,field:r}=t;return Mt(e,r)}function Y4(t,e,r,n,i){let{scale:s,axis:o}=r;return({partName:a,mark:u,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{let x=bj(r);return ole(t,a,i,{mark:u,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:`${l}_${r.field}`,type:r.type},x!==void 0?{title:x}:{}),s!==void 0?{scale:s}:{}),o!==void 0?{axis:o}:{})},he(c)?{[`${e}2`]:{field:`${c}_${r.field}`}}:{}),n),f)})}}function ole(t,e,r,n){let{clip:i,color:s,opacity:o}=t,a=t.type;return t[e]||t[e]===void 0&&r[e]?[Object.assign(Object.assign({},n),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},r[e]),i?{clip:i}:{}),s?{color:s}:{}),o?{opacity:o}:{}),Ss(n.mark)?n.mark:{type:n.mark}),{style:`${a}-${e}`}),x0(t[e])?{}:t[e])})]:[]}function Tj(t,e,r){let{encoding:n}=t,i=e==="vertical"?"y":"x",s=n[i],o=n[`${i}2`],a=n[`${i}Error`],u=n[`${i}Error2`];return{continuousAxisChannelDef:_j(s,r),continuousAxisChannelDef2:_j(o,r),continuousAxisChannelDefError:_j(a,r),continuousAxisChannelDefError2:_j(u,r),continuousAxis:i}}function _j(t,e){if(t?.aggregate){let{aggregate:r}=t,n=o8e(t,["aggregate"]);return r!==e&&K(z.errorBarContinuousAxisHasCustomizedAggregate(r,e)),n}else return t}function Cj(t,e){let{mark:r,encoding:n}=t,{x:i,y:s}=n;if(Ss(r)&&r.orient)return r.orient;if(Ra(i)){if(Ra(s)){let o=se(i)&&i.aggregate,a=se(s)&&s.aggregate;if(!o&&a===e)return"vertical";if(!a&&o===e)return"horizontal";if(o===e&&a===e)throw new Error("Both x and y cannot have aggregate");return vd(s)&&!vd(i)?"horizontal":"vertical"}return"horizontal"}else{if(Ra(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var Rj=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},hD="boxplot",u8e=["box","median","outliers","rule","ticks"],l8e=new kf(hD,ale);function c8e(t){return Ct(t)?"tukey":t}function ale(t,{config:e}){var r,n;t=Object.assign(Object.assign({},t),{encoding:t1(t.encoding,e)});let{mark:i,encoding:s,params:o,projection:a}=t,u=Rj(t,["mark","encoding","params","projection"]),l=Ss(i)?i:{type:i};o&&K(z.selectionNotSupported("boxplot"));let c=(r=l.extent)!==null&&r!==void 0?r:e.boxplot.extent,f=st("size",l,e),x=c8e(c),{bins:d,timeUnits:h,transform:p,continuousAxisChannelDef:m,continuousAxis:g,groupby:y,aggregate:A,encodingWithoutContinuousAxis:S,ticksOrient:T,boxOrient:v,customTooltipWithoutAggregatedField:b}=VRt(t,c,e),{color:R,size:O}=S,D=Rj(S,["color","size"]),F=rt=>Y4(l,g,m,rt,e.boxplot),$=F(D),B=F(S),X=F(Object.assign(Object.assign({},D),O?{size:O}:{})),P=dD([{fieldPrefix:x==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:x==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],m,S),J={type:"tick",color:"black",opacity:1,orient:T,invalid:null,aria:!1},me=x==="min-max"?P:dD([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],m,S),Ce=[...$({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:me}),...$({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:me}),...$({partName:"ticks",mark:J,positionPrefix:"lower_whisker",extraEncoding:me}),...$({partName:"ticks",mark:J,positionPrefix:"upper_whisker",extraEncoding:me})],ke=[...x!=="tukey"?Ce:[],...B({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:v,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:P}),...X({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Se(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:T,aria:!1}),positionPrefix:"mid_box",extraEncoding:P})];if(x==="min-max")return Object.assign(Object.assign({},u),{transform:((n=u.transform)!==null&&n!==void 0?n:[]).concat(p),layer:ke});let ct=`datum["lower_box_${m.field}"]`,rr=`datum["upper_box_${m.field}"]`,Pr=`(${rr} - ${ct})`,Sn=`${ct} - ${c} * ${Pr}`,lo=`${rr} + ${c} * ${Pr}`,_r=`datum["${m.field}"]`,X0={joinaggregate:f8e(m.field),groupby:y},L={transform:[{filter:`(${Sn} <= ${_r}) && (${_r} <= ${lo})`},{aggregate:[{op:"min",field:m.field,as:`lower_whisker_${m.field}`},{op:"max",field:m.field,as:`upper_whisker_${m.field}`},{op:"min",field:`lower_box_${m.field}`,as:`lower_box_${m.field}`},{op:"max",field:`upper_box_${m.field}`,as:`upper_box_${m.field}`},...A],groupby:y}],layer:Ce},{tooltip:I}=D,N=Rj(D,["tooltip"]),{scale:ae,axis:w}=m,G=bj(m),k=Gn(w,["title"]),ie=ole(l,"outliers",e.boxplot,{transform:[{filter:`(${_r} < ${Sn}) || (${_r} > ${lo})`}],mark:"point",encoding:Object.assign(Object.assign(Object.assign({[g]:Object.assign(Object.assign(Object.assign({field:m.field,type:m.type},G!==void 0?{title:G}:{}),ae!==void 0?{scale:ae}:{}),mt(k)?{}:{axis:k})},N),R?{color:R}:{}),b?{tooltip:b}:{})})[0],ze,ge=[...d,...h,X0];return ie?ze={transform:ge,layer:[ie,L]}:(ze=L,ze.transform.unshift(...ge)),Object.assign(Object.assign({},u),{layer:[ze,{transform:p,layer:ke}]})}function f8e(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function VRt(t,e,r){let n=Cj(t,hD),{continuousAxisChannelDef:i,continuousAxis:s}=Tj(t,n,hD),o=i.field,a=c8e(e),u=[...f8e(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:(a==="min-max"?"lower_whisker_":"min_")+o},{op:"max",field:o,as:(a==="min-max"?"upper_whisker_":"max_")+o}],l=a==="min-max"||a==="tukey"?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${e}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${e}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],c=t.encoding,f=s,x=c[f],d=Rj(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=a8e(d),{bins:m,timeUnits:g,aggregate:y,groupby:A,encoding:S}=Sj(p,r),T=n==="vertical"?"horizontal":"vertical",v=n,b=[...m,...g,{aggregate:[...y,...u],groupby:A},...l];return{bins:m,timeUnits:g,transform:b,groupby:A,aggregate:y,continuousAxisChannelDef:i,continuousAxis:s,encodingWithoutContinuousAxis:S,ticksOrient:T,boxOrient:v,customTooltipWithoutAggregatedField:h}}var x8e=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Oj="errorbar",h8e=["ticks","rule"],p8e=new kf(Oj,ule);function ule(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:t1(t.encoding,e)});let{transform:r,continuousAxisChannelDef:n,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:a,outerSpec:u,tooltipEncoding:l}=lle(t,Oj,e);delete s.size;let c=Y4(a,i,n,s,e.errorbar),f=a.thickness,x=a.size,d=Object.assign(Object.assign({type:"tick",orient:o,aria:!1},f!==void 0?{thickness:f}:{}),x!==void 0?{size:x}:{}),h=[...c({partName:"ticks",mark:d,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:d,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},f!==void 0?{size:f}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},u),{transform:r}),h.length>1?{layer:h}:Object.assign({},h[0]))}function WRt(t,e){let{encoding:r}=t;if(YRt(r))return{orient:Cj(t,e),inputType:"raw"};let n=KRt(r),i=XRt(r),s=r.x,o=r.y;if(n){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);let a=r.x2,u=r.y2;if(Ve(a)&&Ve(u))throw new Error(`${e} cannot have both x2 and y2`);if(Ve(a)){if(Ra(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}else if(Ve(u)){if(Ra(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}else{let a=r.xError,u=r.xError2,l=r.yError,c=r.yError2;if(Ve(u)&&!Ve(a))throw new Error(`${e} cannot have xError2 without xError`);if(Ve(c)&&!Ve(l))throw new Error(`${e} cannot have yError2 without yError`);if(Ve(a)&&Ve(l))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(Ve(a)){if(Ra(s))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(Ve(l)){if(Ra(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function YRt(t){return(Ve(t.x)||Ve(t.y))&&!Ve(t.x2)&&!Ve(t.y2)&&!Ve(t.xError)&&!Ve(t.xError2)&&!Ve(t.yError)&&!Ve(t.yError2)}function KRt(t){return Ve(t.x2)||Ve(t.y2)}function XRt(t){return Ve(t.xError)||Ve(t.xError2)||Ve(t.yError)||Ve(t.yError2)}function lle(t,e,r){var n;let{mark:i,encoding:s,params:o,projection:a}=t,u=x8e(t,["mark","encoding","params","projection"]),l=Ss(i)?i:{type:i};o&&K(z.selectionNotSupported(e));let{orient:c,inputType:f}=WRt(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:d,continuousAxisChannelDefError:h,continuousAxisChannelDefError2:p,continuousAxis:m}=Tj(t,c,e),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:A,tooltipTitleWithFieldName:S}=JRt(l,x,d,h,p,f,e,r),T=s,v=m,b=T[v],R=m==="x"?"x2":"y2",O=T[R],D=m==="x"?"xError":"yError",F=T[D],$=m==="x"?"xError2":"yError2",B=T[$],X=x8e(T,[typeof v=="symbol"?v:v+"",typeof R=="symbol"?R:R+"",typeof D=="symbol"?D:D+"",typeof $=="symbol"?$:$+""]),{bins:P,timeUnits:J,aggregate:me,groupby:Ce,encoding:ke}=Sj(X,r),ct=[...me,...g],rr=f!=="raw"?[]:Ce,Pr=dD(A,x,ke,S);return{transform:[...(n=u.transform)!==null&&n!==void 0?n:[],...P,...J,...ct.length===0?[]:[{aggregate:ct,groupby:rr}],...y],groupby:rr,continuousAxisChannelDef:x,continuousAxis:m,encodingWithoutContinuousAxis:ke,ticksOrient:c==="vertical"?"horizontal":"vertical",markDef:l,outerSpec:u,tooltipEncoding:Pr}}function JRt(t,e,r,n,i,s,o,a){let u=[],l=[],c=e.field,f,x=!1;if(s==="raw"){let d=t.center?t.center:t.extent?t.extent==="iqr"?"median":"mean":a.errorbar.center,h=t.extent?t.extent:d==="mean"?"stderr":"iqr";if(d==="median"!=(h==="iqr")&&K(z.errorBarCenterIsUsedWithWrongExtent(d,h,o)),h==="stderr"||h==="stdev")u=[{op:h,field:c,as:`extent_${c}`},{op:d,field:c,as:`center_${c}`}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:`upper_${c}`},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:bg(d)},{fieldPrefix:"upper_",titlePrefix:d8e(d,h,"+")},{fieldPrefix:"lower_",titlePrefix:d8e(d,h,"-")}],x=!0;else{let p,m,g;h==="ci"?(p="mean",m="ci0",g="ci1"):(p="median",m="q1",g="q3"),u=[{op:m,field:c,as:`lower_${c}`},{op:g,field:c,as:`upper_${c}`},{op:p,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:Pf({field:c,aggregate:g,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:Pf({field:c,aggregate:m,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:Pf({field:c,aggregate:p,type:"quantitative"},a,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&K(z.errorBarCenterAndExtentAreNotNeeded(t.center,t.extent)),s==="aggregated-upper-lower"?(f=[],l=[{calculate:`datum["${r.field}"]`,as:`upper_${c}`},{calculate:`datum["${c}"]`,as:`lower_${c}`}]):s==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${n.field}"]`,as:`upper_${c}`}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:`lower_${c}`}):l.push({calculate:`datum["${c}"] - datum["${n.field}"]`,as:`lower_${c}`}));for(let d of l)f.push({fieldPrefix:d.as.substring(0,6),titlePrefix:af(af(d.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:u,tooltipSummary:f,tooltipTitleWithFieldName:x}}function d8e(t,e,r){return`${bg(t)} ${r} ${e}`}var Dj="errorband",m8e=["band","borders"],g8e=new kf(Dj,cle);function cle(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:t1(t.encoding,e)});let{transform:r,continuousAxisChannelDef:n,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:a,tooltipEncoding:u}=lle(t,Dj,e),l=o,c=Y4(l,i,n,s,e.errorband),f=t.encoding.x!==void 0&&t.encoding.y!==void 0,x={type:f?"area":"rect"},d={type:f?"line":"rule"},h=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(x=Object.assign(Object.assign(Object.assign({},x),h),{ariaRoleDescription:"errorband"}),d=Object.assign(Object.assign(Object.assign({},d),h),{aria:!1})):l.interpolate?K(z.errorBand1DNotSupport("interpolate")):l.tension&&K(z.errorBand1DNotSupport("tension")),Object.assign(Object.assign({},a),{transform:r,layer:[...c({partName:"band",mark:x,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u}),...c({partName:"borders",mark:d,positionPrefix:"lower",extraEncoding:u}),...c({partName:"borders",mark:d,positionPrefix:"upper",extraEncoding:u})]})}var y8e={};function fle(t,e,r){let n=new kf(t,e);y8e[t]={normalizer:n,parts:r}}function E8e(){return H(y8e)}fle(hD,ale,u8e);fle(Oj,ule,h8e);fle(Dj,cle,m8e);var A8e=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"];var xle={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},dle={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},S8e=H(xle),v8e=H(dle),ZRt={header:1,headerRow:1,headerColumn:1,headerFacet:1},hle=H(ZRt);var Nj=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],_8e={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},ple={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},bcr=H(ple);var r1="_vgsid_",b8e={point:{on:"click",fields:[r1],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function pD(t){return!!t&&(t==="legend"||!!t.legend)}function Fj(t){return pD(t)&&Se(t)}function K4(t){return!!t.select}var eOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function wj(t){let e=[];for(let r of t||[]){if(K4(r))continue;let{expr:n,bind:i}=r,s=eOt(r,["expr","bind"]);if(i&&n){let o=Object.assign(Object.assign({},s),{bind:i,init:n});e.push(o)}else{let o=Object.assign(Object.assign(Object.assign({},s),n?{update:n}:{}),i?{bind:i}:{});e.push(o)}}return e}function mle(t){return n1(t)||X4(t)||mD(t)}function mD(t){return"concat"in t}function n1(t){return"vconcat"in t}function X4(t){return"hconcat"in t}function gle({step:t,offsetIsDiscrete:e}){var r;return e?(r=t.for)!==null&&r!==void 0?r:"offset":"position"}function Oa(t){return Se(t)&&t.step!==void 0}function yle(t){return t.view||t.width||t.height}var Ele=20,tOt={align:1,bounds:1,center:1,columns:1,spacing:1},rOt=H(tOt);function T8e(t,e,r){var n,i;let s=r[e],o={},{spacing:a,columns:u}=s;a!==void 0&&(o.spacing=a),u!==void 0&&(_d(t)&&!Mf(t.facet)||mD(t))&&(o.columns=u),n1(t)&&(o.columns=1);for(let l of rOt)if(t[l]!==void 0)if(l==="spacing"){let c=t[l];o[l]=Ct(c)?c:{row:(n=c.row)!==null&&n!==void 0?n:a,column:(i=c.column)!==null&&i!==void 0?i:a}}else o[l]=t[l];return o}var nOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function gD(t,e){var r;return(r=t[e])!==null&&r!==void 0?r:t[e==="width"?"continuousWidth":"continuousHeight"]}function P3(t,e){let r=J4(t,e);return Oa(r)?r.step:O8e}function J4(t,e){var r;let n=(r=t[e])!==null&&r!==void 0?r:t[e==="width"?"discreteWidth":"discreteHeight"];return Mt(n,{step:t.step})}var O8e=20,iOt={continuousWidth:200,continuousHeight:200,step:O8e};var sOt={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:iOt,mark:L7e,arc:{},area:{},bar:P7e,circle:{},geoshape:{},image:{},line:{},point:{},rect:k7e,rule:{color:"black"},square:{},text:{color:"black"},tick:B7e,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:A7e,projection:{},legend:_8e,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:b8e,style:{},title:{},facet:{spacing:Ele},concat:{spacing:Ele}},Td=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],C8e={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},R8e={blue:Td[0],orange:Td[1],red:Td[2],teal:Td[3],green:Td[4],yellow:Td[5],purple:Td[6],pink:Td[7],brown:Td[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function oOt(t={}){return{signals:[{name:"color",value:Se(t)?Object.assign(Object.assign({},R8e),t):R8e}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function aOt(t){return{signals:[{name:"fontSize",value:Se(t)?Object.assign(Object.assign({},C8e),t):C8e}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function uOt(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function D8e(t){let e=H(t||{}),r={};for(let n of e){let i=t[n];r[n]=bd(i)?aB(i):Hi(i)}return r}function lOt(t){let e=H(t),r={};for(let n of e)r[n]=D8e(t[n]);return r}var cOt=[...oj,...ile,...hle,"background","padding","legend","lineBreak","scale","style","title","view"];function Lj(t={}){let{color:e,font:r,fontSize:n,selection:i}=t,s=nOt(t,["color","font","fontSize","selection"]),o=av({},we(sOt),r?uOt(r):{},e?oOt(e):{},n?aOt(n):{},s||{});i&&uv(o,"selection",i,!0);let a=Gn(o,cOt);for(let u of["background","lineBreak","padding"])o[u]&&(a[u]=Hi(o[u]));for(let u of oj)o[u]&&(a[u]=Qn(o[u]));for(let u of ile)o[u]&&(a[u]=D8e(o[u]));for(let u of hle)o[u]&&(a[u]=Qn(o[u]));return o.legend&&(a.legend=Qn(o.legend)),o.scale&&(a.scale=Qn(o.scale)),o.style&&(a.style=lOt(o.style)),o.title&&(a.title=Qn(o.title)),o.view&&(a.view=Qn(o.view)),a}var fOt=new Set(["view",...N7e]),xOt=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],dOt=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},w7e);function N8e(t){t=we(t);for(let e of xOt)delete t[e];if(t.axis)for(let e in t.axis)bd(t.axis[e])&&delete t.axis[e];if(t.legend)for(let e of A8e)delete t.legend[e];if(t.mark){for(let e of Vue)delete t.mark[e];t.mark.tooltip&&Se(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(wj(t.params)),delete t.params);for(let e of fOt){for(let n of Vue)delete t[e][n];let r=dOt[e];if(r)for(let n of r)delete t[e][n];pOt(t,e)}for(let e of E8e())delete t[e];hOt(t);for(let e in t)Se(t[e])&&mt(t[e])&&delete t[e];return mt(t)?void 0:t}function hOt(t){let{titleMarkConfig:e,subtitleMarkConfig:r,subtitle:n}=sB(t.title);mt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),mt(r)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),r)),mt(n)?delete t.title:t.title=n}function pOt(t,e,r,n){let i=n?t[e][n]:t[e];e==="view"&&(r="cell");let s=Object.assign(Object.assign({},i),t.style[r??e]);mt(s)||(t.style[r??e]=s),n||delete t[e]}function Cd(t){return"layer"in t}function Ale(t){return"repeat"in t}function F8e(t){return!j(t.repeat)&&t.repeat.layer}var mOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},i1=class{map(e,r){return _d(e)?this.mapFacet(e,r):Ale(e)?this.mapRepeat(e,r):X4(e)?this.mapHConcat(e,r):n1(e)?this.mapVConcat(e,r):mD(e)?this.mapConcat(e,r):this.mapLayerOrUnit(e,r)}mapLayerOrUnit(e,r){if(Cd(e))return this.mapLayer(e,r);if(mi(e))return this.mapUnit(e,r);throw new Error(z.invalidSpec(e))}mapLayer(e,r){return Object.assign(Object.assign({},e),{layer:e.layer.map(n=>this.mapLayerOrUnit(n,r))})}mapHConcat(e,r){return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map(n=>this.map(n,r))})}mapVConcat(e,r){return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map(n=>this.map(n,r))})}mapConcat(e,r){let{concat:n}=e,i=mOt(e,["concat"]);return Object.assign(Object.assign({},i),{concat:n.map(s=>this.map(s,r))})}mapFacet(e,r){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,r)})}mapRepeat(e,r){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,r)})}};var gOt={zero:1,center:1,normalize:1};function yOt(t){return t in gOt}var EOt=new Set([Gue,L3,w3,U4,q4,rD,nD,I3,ij,tD]),AOt=new Set([L3,w3,Gue]);function Z4(t){return se(t)&&oD(t)==="quantitative"&&!t.bin}function w8e(t,e){var r,n;let i=e==="x"?"y":"radius",s=t[e],o=t[i];if(se(s)&&se(o))if(Z4(s)&&Z4(o)){if(s.stack)return e;if(o.stack)return i;let a=se(s)&&!!s.aggregate,u=se(o)&&!!o.aggregate;if(a!==u)return a?e:i;{let l=(r=s.scale)===null||r===void 0?void 0:r.type,c=(n=o.scale)===null||n===void 0?void 0:n.type;if(l&&l!=="linear")return i;if(c&&c!=="linear")return e}}else{if(Z4(s))return e;if(Z4(o))return i}else{if(Z4(s))return e;if(Z4(o))return i}}function SOt(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function Ij(t,e,r={}){var n,i;let s=Ss(t)?t.type:t;if(!EOt.has(s))return null;let o=w8e(e,"x")||w8e(e,"theta");if(!o)return null;let a=e[o],u=se(a)?ue(a,{}):void 0,l=SOt(o),c=[],f=new Set;if(e[l]){let h=e[l],p=se(h)?ue(h,{}):void 0;p&&p!==u&&(c.push(l),f.add(p));let m=l==="x"?"xOffset":"yOffset",g=e[m],y=se(g)?ue(g,{}):void 0;y&&y!==u&&(c.push(m),f.add(y))}let x=k_e.reduce((h,p)=>{if(p!=="tooltip"&&Bf(e,p)){let m=e[p];for(let g of ce(m)){let y=vs(g);if(y.aggregate)continue;let A=ue(y,{});(!A||!f.has(A))&&h.push({channel:p,fieldDef:y})}}return h},[]),d;if(a.stack!==void 0?x0(a.stack)?d=a.stack?"zero":null:d=a.stack:AOt.has(s)&&(d="zero"),!d||!yOt(d)||W4(e)&&x.length===0)return null;if(!((n=a?.scale)===null||n===void 0)&&n.type&&((i=a?.scale)===null||i===void 0?void 0:i.type)!==Ki.LINEAR){if(r.disallowNonLinearStack)return null;K(z.cannotStackNonLinearScale(a.scale.type))}return Ve(e[Gs(o)])?(a.stack!==void 0&&K(z.cannotStackRangedMark(o)),null):(se(a)&&a.aggregate&&!V_e.has(a.aggregate)&&K(z.stackNonSummativeAggregate(a.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:a.impute===null?!1:so(s),stackBy:x,offset:d})}var I8e=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function vOt(t){let{point:e,line:r}=t,n=I8e(t,["point","line"]);return H(n).length>1?n:n.type}function _Ot(t){for(let e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:Gn(t[e],["point","line"])}));return t}function Sle(t,e={},r){return t.point==="transparent"?{opacity:0}:t.point?Se(t.point)?t.point:{}:t.point!==void 0?null:e.point||r.shape?Se(e.point)?e.point:{}:void 0}function L8e(t,e={}){return t.line?t.line===!0?{}:t.line:t.line!==void 0?null:e.line?e.line===!0?{}:e.line:void 0}var Mj=class{constructor(){this.name="path-overlay"}hasMatchingType(e,r){if(mi(e)){let{mark:n,encoding:i}=e,s=Ss(n)?n:{type:n};switch(s.type){case"line":case"rule":case"trail":return!!Sle(s,r[s.type],i);case"area":return!!Sle(s,r[s.type],i)||!!L8e(s,r[s.type])}}return!1}run(e,r,n){let{config:i}=r,{params:s,projection:o,mark:a,encoding:u}=e,l=I8e(e,["params","projection","mark","encoding"]),c=t1(u,i),f=Ss(a)?a:{type:a},x=Sle(f,i[f.type],c),d=f.type==="area"&&L8e(f,i[f.type]),h=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:vOt(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:Gn(c,["shape"])})],p=Ij(f,c),m=c;if(p){let{fieldChannel:g,offset:y}=p;m=Object.assign(Object.assign({},c),{[g]:Object.assign(Object.assign({},c[g]),y?{stack:y}:{})})}return d&&h.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},e2(f,["clip","interpolate","tension","tooltip"])),d),encoding:m})),x&&h.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},e2(f,["clip","tooltip"])),x),encoding:m})),n(Object.assign(Object.assign({},l),{layer:h}),Object.assign(Object.assign({},r),{config:_Ot(i)}))}};var bOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function k8e(t,e){return e?Mf(t)?q8e(t,e):B8e(t,e):t}function Pj(t,e){return e?q8e(t,e):t}function vle(t,e,r){let n=e[t];if(V7e(n)){if(n.repeat in r)return Object.assign(Object.assign({},e),{[t]:r[n.repeat]});K(z.noSuchRepeatedValue(n.repeat));return}return e}function B8e(t,e){if(t=vle("field",t,e),t!==void 0){if(t===null)return null;if(hj(t)&&Xi(t.sort)){let r=vle("field",t.sort,e);t=Object.assign(Object.assign({},t),r?{sort:r}:{})}return t}}function M8e(t,e){if(se(t))return B8e(t,e);{let r=vle("datum",t,e);return r!==t&&!r.type&&(r.type="nominal"),r}}function P8e(t,e){if(Ve(t)){let r=M8e(t,e);if(r)return r;if(Z2(t))return{condition:t.condition}}else{if(e1(t)){let r=M8e(t.condition,e);if(r)return Object.assign(Object.assign({},t),{condition:r});{let{condition:n}=t;return bOt(t,["condition"])}}return t}}function q8e(t,e){let r={};for(let n in t)if(Fe(t,n)){let i=t[n];if(j(i))r[n]=i.map(s=>P8e(s,e)).filter(s=>s);else{let s=P8e(i,e);s!==void 0&&(r[n]=s)}}return r}var kj=class{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(mi(e)){let{encoding:r,mark:n}=e;if(n==="line"||Ss(n)&&n.type==="line")for(let i of I_e){let s=hu(i),o=r[s];if(r[i]&&(se(o)&&!$r(o.bin)||oo(o)))return!0}}return!1}run(e,r,n){let{encoding:i,mark:s}=e;return K(z.lineWithRange(!!i.x2,!!i.y2)),n(Object.assign(Object.assign({},e),{mark:Se(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),r)}};var s1=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Bj=class extends i1{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[l8e,p8e,g8e,new Mj,new kj]}map(e,r){if(mi(e)){let n=Bf(e.encoding,ca),i=Bf(e.encoding,fa),s=Bf(e.encoding,cv);if(n||i||s)return this.mapFacetedUnit(e,r)}return super.map(e,r)}mapUnit(e,r){let{parentEncoding:n,parentProjection:i}=r,s=Pj(e.encoding,r.repeater),o=Object.assign(Object.assign({},e),s?{encoding:s}:{});if(n||i)return this.mapUnitWithParentEncodingOrProjection(o,r);let a=this.mapLayerOrUnit.bind(this);for(let u of this.nonFacetUnitNormalizers)if(u.hasMatchingType(o,r.config))return u.run(o,r,a);return o}mapRepeat(e,r){return F8e(e)?this.mapLayerRepeat(e,r):this.mapNonLayerRepeat(e,r)}mapLayerRepeat(e,r){let{repeat:n,spec:i}=e,s=s1(e,["repeat","spec"]),{row:o,column:a,layer:u}=n,{repeater:l={},repeaterPrefix:c=""}=r;return o||a?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),a?{column:a}:{}),spec:{repeat:{layer:u},spec:i}}),r):Object.assign(Object.assign({},s),{layer:u.map(f=>{let x=Object.assign(Object.assign({},l),{layer:f}),d=`${(i.name||"")+c}child__layer_${It(f)}`,h=this.mapLayerOrUnit(i,Object.assign(Object.assign({},r),{repeater:x,repeaterPrefix:d}));return h.name=d,h})})}mapNonLayerRepeat(e,r){var n;let{repeat:i,spec:s,data:o}=e,a=s1(e,["repeat","spec","data"]);!j(i)&&e.columns&&(e=Gn(e,["columns"]),K(z.columnsNotSupportByRowCol("repeat")));let u=[],{repeater:l={},repeaterPrefix:c=""}=r,f=!j(i)&&i.row||[l?l.row:null],x=!j(i)&&i.column||[l?l.column:null],d=j(i)&&i||[l?l.repeat:null];for(let p of d)for(let m of f)for(let g of x){let y={repeat:p,row:m,column:g,layer:l.layer},A=(s.name||"")+c+"child__"+(j(i)?`${It(p)}`:(i.row?`row_${It(m)}`:"")+(i.column?`column_${It(g)}`:"")),S=this.map(s,Object.assign(Object.assign({},r),{repeater:y,repeaterPrefix:A}));S.name=A,u.push(Gn(S,["data"]))}let h=j(i)?e.columns:i.column?i.column.length:1;return Object.assign(Object.assign({data:(n=s.data)!==null&&n!==void 0?n:o,align:"all"},a),{columns:h,concat:u})}mapFacet(e,r){let{facet:n}=e;return Mf(n)&&e.columns&&(e=Gn(e,["columns"]),K(z.columnsNotSupportByRowCol("facet"))),super.mapFacet(e,r)}mapUnitWithParentEncodingOrProjection(e,r){let{encoding:n,projection:i}=e,{parentEncoding:s,parentProjection:o,config:a}=r,u=$8e({parentProjection:o,projection:i}),l=U8e({parentEncoding:s,encoding:Pj(n,r.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),u?{projection:u}:{}),l?{encoding:l}:{}),{config:a})}mapFacetedUnit(e,r){let n=e.encoding,{row:i,column:s,facet:o}=n,a=s1(n,["row","column","facet"]),{mark:u,width:l,projection:c,height:f,view:x,params:d,encoding:h}=e,p=s1(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:m,layout:g}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},r),y=Pj(a,r.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},p),g),{facet:m,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l?{width:l}:{}),f?{height:f}:{}),x?{view:x}:{}),c?{projection:c}:{}),{mark:u,encoding:y}),d?{params:d}:{})}),r)}getFacetMappingAndLayout(e,r){var n;let{row:i,column:s,facet:o}=e;if(i||s){o&&K(z.facetChannelDropped([...i?[ca]:[],...s?[fa]:[]]));let a={},u={};for(let l of[ca,fa]){let c=e[l];if(c){let{align:f,center:x,spacing:d,columns:h}=c,p=s1(c,["align","center","spacing","columns"]);a[l]=p;for(let m of["align","center","spacing"])c[m]!==void 0&&((n=u[m])!==null&&n!==void 0||(u[m]={}),u[m][l]=c[m])}}return{facetMapping:a,layout:u}}else{let{align:a,center:u,spacing:l,columns:c}=o,f=s1(o,["align","center","spacing","columns"]);return{facetMapping:k8e(f,r.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},a?{align:a}:{}),u?{center:u}:{}),l?{spacing:l}:{}),c?{columns:c}:{})}}}mapLayer(e,r){var{parentEncoding:n,parentProjection:i}=r,s=s1(r,["parentEncoding","parentProjection"]);let{encoding:o,projection:a}=e,u=s1(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:U8e({parentEncoding:n,encoding:o,layer:!0}),parentProjection:$8e({parentProjection:i,projection:a})});return super.mapLayer(u,l)}};function U8e({parentEncoding:t,encoding:e={},layer:r}){let n={};if(t){let i=new Set([...H(t),...H(e)]);for(let s of i){let o=e[s],a=t[s];if(Ve(o)){let u=Object.assign(Object.assign({},a),o);n[s]=u}else e1(o)?n[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},a),o.condition)}):o||o===null?n[s]=o:(r||Jn(a)||be(a)||Ve(a)||j(a))&&(n[s]=a)}}else n=e;return!n||mt(n)?void 0:n}function $8e(t){let{parentProjection:e,projection:r}=t;return e&&r&&K(z.projectionOverridden({parentProjection:e,projection:r})),r??e}function yD(t){return"filter"in t}function j8e(t){return t?.stop!==void 0}function qj(t){return"lookup"in t}function H8e(t){return"data"in t}function z8e(t){return"param"in t}function G8e(t){return"pivot"in t}function Q8e(t){return"density"in t}function V8e(t){return"quantile"in t}function W8e(t){return"regression"in t}function Y8e(t){return"loess"in t}function K8e(t){return"sample"in t}function X8e(t){return"window"in t}function J8e(t){return"joinaggregate"in t}function Z8e(t){return"flatten"in t}function e9e(t){return"calculate"in t}function Uj(t){return"bin"in t}function t9e(t){return"impute"in t}function r9e(t){return"timeUnit"in t}function n9e(t){return"aggregate"in t}function i9e(t){return"stack"in t}function s9e(t){return"fold"in t}function o9e(t){return t.map(e=>yD(e)?{filter:Zp(e.filter,gbe)}:e)}var o1=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},$j=class extends i1{map(e,r){var n,i;return(n=r.emptySelections)!==null&&n!==void 0||(r.emptySelections={}),(i=r.selectionPredicates)!==null&&i!==void 0||(r.selectionPredicates={}),e=a9e(e,r),super.map(e,r)}mapLayerOrUnit(e,r){if(e=a9e(e,r),e.encoding){let n={};for(let[i,s]of uu(e.encoding))n[i]=u9e(s,r);e=Object.assign(Object.assign({},e),{encoding:n})}return super.mapLayerOrUnit(e,r)}mapUnit(e,r){let n=e,{selection:i}=n,s=o1(n,["selection"]);return i?Object.assign(Object.assign({},s),{params:uu(i).map(([o,a])=>{var u;let l=a,{init:c,bind:f,empty:x}=l,d=o1(l,["init","bind","empty"]);d.type==="single"?(d.type="point",d.toggle=!1):d.type==="multi"&&(d.type="point"),r.emptySelections[o]=x!=="none";for(let h of rn((u=r.selectionPredicates[o])!==null&&u!==void 0?u:{}))h.empty=x!=="none";return{name:o,value:c,select:d,bind:f}})}):e}};function a9e(t,e){let{transform:r}=t,n=o1(t,["transform"]);if(r){let i=r.map(s=>{if(yD(s))return{filter:_le(s,e)};if(Uj(s)&&g0(s.bin))return Object.assign(Object.assign({},s),{bin:l9e(s.bin)});if(qj(s)){let o=s.from,{selection:a}=o,u=o1(o,["selection"]);return a?Object.assign(Object.assign({},s),{from:Object.assign({param:a},u)}):s}return s});return Object.assign(Object.assign({},n),{transform:i})}return t}function u9e(t,e){var r,n;let i=we(t);if(se(i)&&g0(i.bin)&&(i.bin=l9e(i.bin)),Tl(i)&&(!((n=(r=i.scale)===null||r===void 0?void 0:r.domain)===null||n===void 0)&&n.selection)){let s=i.scale.domain,{selection:o}=s,a=o1(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},a),o?{param:o}:{})}if(Z2(i))if(j(i.condition))i.condition=i.condition.map(s=>{let{selection:o,param:a,test:u}=s,l=o1(s,["selection","param","test"]);return a?s:Object.assign(Object.assign({},l),{test:_le(s,e)})});else{let s=u9e(i.condition,e),{selection:o,param:a,test:u}=s,l=o1(s,["selection","param","test"]);i.condition=a?i.condition:Object.assign(Object.assign({},l),{test:_le(i.condition,e)})}return i}function l9e(t){let e=t.extent;if(e?.selection){let{selection:r}=e,n=o1(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},n),{param:r})})}return t}function _le(t,e){let r=n=>Zp(n,i=>{var s,o,a;let u=(s=e.emptySelections[i])!==null&&s!==void 0?s:!0,l={param:i,empty:u};return(o=(a=e.selectionPredicates)[i])!==null&&o!==void 0||(a[i]=[]),e.selectionPredicates[i].push(l),l});return t.selection?r(t.selection):Zp(t.test||t.filter,n=>n.selection?r(n.selection):n)}var e_=class extends i1{map(e,r){var n;let i=(n=r.selections)!==null&&n!==void 0?n:[];if(e.params&&!mi(e)){let s=[];for(let o of e.params)K4(o)?i.push(o):s.push(o);e.params=s}return r.selections=i,super.map(e,c9e(e,r))}mapUnit(e,r){var n;let i=r.selections;if(!i||!i.length)return e;let s=((n=r.path)!==null&&n!==void 0?n:[]).concat(e.name),o=[];for(let a of i)if(!a.views||!a.views.length)o.push(a);else for(let u of a.views)(he(u)&&(u===e.name||s.indexOf(u)>=0)||j(u)&&u.map(l=>s.indexOf(l)).every((l,c,f)=>l!==-1&&(c===0||l>f[c-1])))&&o.push(a);return o.length&&(e.params=o),e}};for(let t of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let e=e_.prototype[t];e_.prototype[t]=function(r,n){return e.call(this,r,c9e(r,n))}}function c9e(t,e){var r;return t.name?Object.assign(Object.assign({},e),{path:((r=e.path)!==null&&r!==void 0?r:[]).concat(t.name)}):e}function ble(t,e){e===void 0&&(e=Lj(t.config));let r=OOt(t,e),{width:n,height:i}=t,s=DOt(r,{width:n,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},r),s?{autosize:s}:{})}var TOt=new Bj,COt=new $j,ROt=new e_;function OOt(t,e={}){let r={config:e};return ROt.map(TOt.map(COt.map(t,r),r),r)}function f9e(t){return he(t)?{type:t}:t??{}}function DOt(t,e,r){let{width:n,height:i}=e,s=mi(t)||Cd(t),o={};s?n=="container"&&i=="container"?(o.type="fit",o.contains="padding"):n=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(n=="container"&&(K(z.containerSizeNonSingle("width")),n=void 0),i=="container"&&(K(z.containerSizeNonSingle("height")),i=void 0));let a=Object.assign(Object.assign(Object.assign({type:"pad"},o),r?f9e(r.autosize):{}),f9e(t.autosize));if(a.type==="fit"&&!s&&(K(z.FIT_NON_SINGLE),a.type="pad"),n=="container"&&!(a.type=="fit"||a.type=="fit-x")&&K(z.containerSizeNotCompatibleWithAutosize("width")),i=="container"&&!(a.type=="fit"||a.type=="fit-y")&&K(z.containerSizeNotCompatibleWithAutosize("height")),!la(a,{type:"pad"}))return a}function x9e(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function d9e(t){return t?`fit-${t2(t)}`:"fit"}var NOt=["background","padding"];function Tle(t,e){let r={};for(let n of NOt)t&&t[n]!==void 0&&(r[n]=Hi(t[n]));return e&&(r.params=t.params),r}var ao=class t{constructor(e={},r={}){this.explicit=e,this.implicit=r}clone(){return new t(we(this.explicit),we(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return Mt(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]!==void 0?{explicit:!0,value:this.explicit[e]}:this.implicit[e]!==void 0?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:r,explicit:n}){r!==void 0&&this.set(e,r,n)}set(e,r,n){return delete this[n?"implicit":"explicit"][e],this[n?"explicit":"implicit"][e]=r,this}copyKeyFromSplit(e,{explicit:r,implicit:n}){r[e]!==void 0?this.set(e,r[e],!0):n[e]!==void 0&&this.set(e,n[e],!1)}copyKeyFromObject(e,r){r[e]!==void 0&&this.set(e,r[e],!0)}copyAll(e){for(let r of H(e.combine())){let n=e.getWithExplicit(r);this.setWithExplicit(r,n)}}};function Cl(t){return{explicit:!0,value:t}}function uo(t){return{explicit:!1,value:t}}function jj(t){return(e,r,n,i)=>{let s=t(e.value,r.value);return s>0?e:s<0?r:t_(e,r,n,i)}}function t_(t,e,r,n){return t.explicit&&e.explicit&&K(z.mergeConflictingProperty(r,n,t.value,e.value)),t}function Da(t,e,r,n,i=t_){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:la(t.value,e.value)?t:i(t,e,r,n)}var Hj=class extends ao{constructor(e={},r={},n=!1){super(e,r),this.explicit=e,this.implicit=r,this.parseNothing=n}clone(){let e=super.clone();return e.parseNothing=this.parseNothing,e}};function Rd(t){return"url"in t}function k3(t){return"values"in t}function zj(t){return"name"in t&&!Rd(t)&&!k3(t)&&!z0(t)}function z0(t){return t&&(Cle(t)||Rle(t)||ED(t))}function Cle(t){return"sequence"in t}function Rle(t){return"sphere"in t}function ED(t){return"graticule"in t}var Pt;(function(t){t[t.Raw=0]="Raw",t[t.Main=1]="Main",t[t.Row=2]="Row",t[t.Column=3]="Column",t[t.Lookup=4]="Lookup"})(Pt||(Pt={}));var FOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function a1(t,e=!0,r=Fn){if(j(t)){let n=t.map(i=>a1(i,e,r));return e?`[${n.join(", ")}]`:n}else if(ol(t))return r(e?i2(t):lbe(t));return e?r(jt(t)):t}function h9e(t,e){var r;for(let n of rn((r=t.component.selection)!==null&&r!==void 0?r:{})){let i=n.name,s=`${i}${Ho}, ${n.resolve==="global"?"true":`{unit: ${qf(t)}}`}`;for(let o of r_)o.defined(n)&&(o.signals&&(e=o.signals(t,n,e)),o.modifyExpr&&(s=o.modifyExpr(t,n,s)));e.push({name:i+A9e,on:[{events:{signal:n.name+Ho},update:`modify(${xe(n.name+G0)}, ${s})`}]})}return Dle(e)}function p9e(t,e){if(t.component.selection&&H(t.component.selection).length){let r=xe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:$o("mousemove","scope"),update:`isTuple(facet) ? facet : group(${r}).datum`}]})}return Dle(e)}function m9e(t,e){var r;let n=!1;for(let i of rn((r=t.component.selection)!==null&&r!==void 0?r:{})){let s=i.name,o=xe(s+G0);if(e.filter(u=>u.name===s).length===0){let u=i.resolve==="global"?"union":i.resolve,l=i.type==="point"?", true, true)":")";e.push({name:i.name,update:`${Gj}(${o}, ${xe(u)}${l}`})}n=!0;for(let u of r_)u.defined(i)&&u.topLevelSignals&&(e=u.topLevelSignals(t,i,e))}return n&&e.filter(s=>s.name==="unit").length===0&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),Dle(e)}function g9e(t,e){var r;let n=[...e];for(let i of rn((r=t.component.selection)!==null&&r!==void 0?r:{})){let s={name:i.name+G0};if(i.init){let a=i.project.items.map(u=>{let{signals:l}=u;return FOt(u,["signals"])});s.values=i.init.map(u=>({unit:qf(t,{escape:!1}),fields:a,values:a1(u,!1)}))}n.filter(a=>a.name===i.name+G0).length||n.push(s)}return n}function Ole(t,e){var r;for(let n of rn((r=t.component.selection)!==null&&r!==void 0?r:{}))for(let i of r_)i.defined(n)&&i.marks&&(e=i.marks(t,n,e));return e}function y9e(t,e){for(let r of t.children)tr(r)&&(e=Ole(r,e));return e}function E9e(t,e,r,n){let i=Qj(t,e.param,e);return{signal:An(r.get("type"))&&j(n)&&n[0]>n[1]?`isValid(${i}) && reverse(${i})`:i}}function Dle(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}var Ge=class{constructor(e,r){this.debugName=r,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,r){if(this._children.includes(e)){K(z.ADD_SAME_CHILD_TWICE);return}r!==void 0?this._children.splice(r,0,e):this._children.push(e)}removeChild(e){let r=this._children.indexOf(e);return this._children.splice(r,1),r}remove(){let e=this._parent.removeChild(this);for(let r of this._children)r._parent=this._parent,this._parent.addChild(r,e++)}insertAsParentOf(e){let r=e.parent;r.removeChild(this),this.parent=r,e.parent=this}swapWithParent(){let e=this._parent,r=e.parent;for(let n of this._children)n.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=r,e.parent=this}},un=class extends Ge{constructor(e,r,n,i){super(e,r),this.type=n,this.refCounts=i,this._source=this._name=r,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){let e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${b_e()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}};var S9e=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Rl=class t extends Ge{constructor(e,r){super(e),this.formula=r}clone(){return new t(null,we(this.formula))}static makeFromEncoding(e,r){let n=r.reduceFieldDef((i,s)=>{let{field:o,timeUnit:a}=s;if(a){let u=ue(s,{forAs:!0});i[$e({as:u,field:o,timeUnit:a})]={as:u,field:o,timeUnit:a}}return i},{});return mt(n)?null:new t(e,n)}static makeFromTransform(e,r){let n=Object.assign({},r),{timeUnit:i}=n,s=S9e(n,["timeUnit"]),o=on(i),a=Object.assign(Object.assign({},s),{timeUnit:o});return new t(e,{[$e(a)]:a})}merge(e){this.formula=Object.assign({},this.formula);for(let r in e.formula)this.formula[r]||(this.formula[r]=e.formula[r]);for(let r of e.children)e.removeChild(r),r.parent=this;e.remove()}removeFormulas(e){let r={};for(let[n,i]of uu(this.formula))e.has(i.as)||(r[n]=i);this.formula=r}producedFields(){return new Set(rn(this.formula).map(e=>e.as))}dependentFields(){return new Set(rn(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${$e(this.formula)}`}assemble(){let e=[];for(let r of rn(this.formula)){let{field:n,as:i,timeUnit:s}=r,o=on(s),{unit:a,utc:u}=o,l=S9e(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:li(n),type:"timeunit"},a?{units:dR(a)}:{}),u?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}};var wOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Od="_tuple_fields",Nle=class{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}},LOt={defined:()=>!0,parse:(t,e,r)=>{var n;let i=e.name,s=(n=e.project)!==null&&n!==void 0?n:e.project=new Nle,o={},a={},u=new Set,l=(p,m)=>{let g=m==="visual"?p.channel:p.field,y=It(`${i}_${g}`);for(let A=1;u.has(y);A++)y=It(`${i}_${g}_${A}`);return u.add(y),{[m]:y}},c=e.type,f=t.config.selection[c],x=r.value!==void 0?ce(r.value):null,{fields:d,encodings:h}=Se(r.select)?r.select:{};if(!d&&!h&&x){for(let p of x)if(Se(p))for(let m of H(p))L_e(m)?(h||(h=[])).push(m):c==="interval"?(K(z.INTERVAL_INITIALIZED_WITH_X_Y),h=f.encodings):(d||(d=[])).push(m)}!d&&!h&&(h=f.encodings,"fields"in f&&(d=f.fields));for(let p of h??[]){let m=t.fieldDef(p);if(m){let g=m.field;if(m.aggregate){K(z.cannotProjectAggregate(p,m.aggregate));continue}else if(!g){K(z.cannotProjectOnChannelWithoutField(p));continue}if(m.timeUnit){g=t.vgField(p);let y={timeUnit:m.timeUnit,as:g,field:m.field};a[$e(y)]=y}if(!o[g]){let y="E";if(c==="interval"){let S=t.getScaleComponent(p).get("type");An(S)&&(y="R")}else m.bin&&(y="R-RE");let A={field:g,channel:p,type:y};A.signals=Object.assign(Object.assign({},l(A,"data")),l(A,"visual")),s.items.push(o[g]=A),s.hasField[g]=s.hasChannel[p]=o[g]}}else K(z.cannotProjectOnChannelWithoutField(p))}for(let p of d??[]){if(s.hasField[p])continue;let m={type:"E",field:p};m.signals=Object.assign({},l(m,"data")),s.items.push(m),s.hasField[p]=m}x&&(e.init=x.map(p=>s.items.map(m=>Se(p)?p[m.channel]!==void 0?p[m.channel]:p[m.field]:p))),mt(a)||(s.timeUnit=new Rl(null,a))},signals:(t,e,r)=>{let n=e.name+Od;return r.filter(s=>s.name===n).length>0?r:r.concat({name:n,value:e.project.items.map(s=>{let{signals:o,hasLegend:a}=s,u=wOt(s,["signals","hasLegend"]);return u.field=li(u.field),u})})}},v9e=LOt;var IOt={defined:t=>t.type==="interval"&&t.resolve==="global"&&t.bind&&t.bind==="scales",parse:(t,e)=>{let r=e.scales=[];for(let n of e.project.items){let i=n.channel;if(!Qs(i))continue;let s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!An(o)){K(z.SCALE_BINDINGS_CONTINUOUS);continue}s.set("selectionExtent",{param:e.name,field:n.field},!0),r.push(n)}},topLevelSignals:(t,e,r)=>{let n=e.scales.filter(o=>r.filter(a=>a.name===o.signals.data).length===0);if(!t.parent||Fle(t)||n.length===0)return r;let i=r.filter(o=>o.name===e.name)[0],s=i.update;if(s.indexOf(Gj)>=0)i.update=`{${n.map(o=>`${xe(li(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(let o of n){let a=`${xe(li(o.field))}: ${o.signals.data}`;s.includes(a)||(s=`${s.substring(0,s.length-1)}, ${a}}`)}i.update=s}return r.concat(n.map(o=>({name:o.signals.data})))},signals:(t,e,r)=>{if(t.parent&&!Fle(t))for(let n of e.scales){let i=r.filter(s=>s.name===n.signals.data)[0];i.push="outer",delete i.value,delete i.update}return r}},Ol=IOt;function AD(t,e){return`domain(${xe(t.scaleName(e))})`}function Fle(t){var e;return t.parent&&Dl(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:Fle(t.parent.parent))}var MOt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},Dd="_brush",wle="_scale_trigger",POt={defined:t=>t.type==="interval",signals:(t,e,r)=>{let n=e.name,i=n+Od,s=Ol.defined(e),o=e.init?e.init[0]:null,a=[],u=[];if(e.translate&&!s){let c=`!event.item || event.item.mark.name !== ${xe(n+Dd)}`;b9e(e,(f,x)=>{var d,h;let p=ce((d=(h=x.between[0]).filter)!==null&&d!==void 0?d:h.filter=[]);return p.includes(c)||p.push(c),f})}e.project.items.forEach((c,f)=>{let x=c.channel;if(x!==Ht&&x!==Rr){K("Interval selections only support x and y encoding channels.");return}let d=o?o[f]:null,h=kOt(t,e,c,d),p=c.signals.data,m=c.signals.visual,g=xe(t.scaleName(x)),y=t.getScaleComponent(x).get("type"),A=An(y)?"+":"";r.push(...h),a.push(p),u.push({scaleName:t.scaleName(x),expr:`(!isArray(${p}) || (${A}invert(${g}, ${m})[0] === ${A}${p}[0] && ${A}invert(${g}, ${m})[1] === ${A}${p}[1]))`})}),!s&&u.length&&r.push({name:n+wle,value:{},on:[{events:u.map(c=>({scale:c.scaleName})),update:`${u.map(c=>c.expr).join(" && ")} ? ${n+wle} : {}`}]});let l=`unit: ${qf(t)}, fields: ${i}, values`;return r.concat(Object.assign(Object.assign({name:n+Ho},o?{init:`{${l}: ${a1(o)}}`}:{}),a.length?{on:[{events:[{signal:a.join(" || ")}],update:`${a.join(" && ")} ? {${l}: [${a}]} : null`}]}:{}))},marks:(t,e,r)=>{let n=e.name,{x:i,y:s}=e.project.hasChannel,o=i?.signals.visual,a=s?.signals.visual,u=`data(${xe(e.name+G0)})`;if(Ol.defined(e)||!i&&!s)return r;let l={x:i!==void 0?{signal:`${o}[0]`}:{value:0},y:s!==void 0?{signal:`${a}[0]`}:{value:0},x2:i!==void 0?{signal:`${o}[1]`}:{field:{group:"width"}},y2:s!==void 0?{signal:`${a}[1]`}:{field:{group:"height"}}};if(e.resolve==="global")for(let m of H(l))l[m]=[Object.assign({test:`${u}.length && ${u}[0].unit === ${qf(t)}`},l[m]),{value:0}];let c=e.mark,{fill:f,fillOpacity:x,cursor:d}=c,h=MOt(c,["fill","fillOpacity","cursor"]),p=H(h).reduce((m,g)=>(m[g]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,s!==void 0&&`${a}[0] !== ${a}[1]`].filter(y=>y).join(" && "),value:h[g]},{value:null}],m),{});return[{name:`${n+Dd}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...r,{name:n+Dd,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},d?{cursor:{value:d}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),p)}}]}},_9e=POt;function kOt(t,e,r,n){let i=r.channel,s=r.signals.visual,o=r.signals.data,a=Ol.defined(e),u=xe(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=p=>`scale(${u}, ${p})`,x=t.getSizeSignalRef(i===Ht?"width":"height").signal,d=`${i}(unit)`,h=b9e(e,(p,m)=>[...p,{events:m.between[0],update:`[${d}, ${d}]`},{events:m,update:`[${s}[0], clamp(${d}, 0, ${x})]`}]);return h.push({events:{signal:e.name+wle},update:An(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),a?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},n?{init:a1(n,!0,f)}:{value:[]}),{on:h}),Object.assign(Object.assign({name:o},n?{init:a1(n)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${u}, ${s})`}]})]}function b9e(t,e){return t.events.reduce((r,n)=>n.between?e(r,n):(K(`${n} is not an ordered event stream for interval selections.`),r),[])}var BOt={defined:t=>t.type==="point",signals:(t,e,r)=>{var n;let i=e.name,s=i+Od,o=e.project,a="(item().isVoronoi ? datum.datum : datum)",u=o.items.map(d=>{let h=t.fieldDef(d.channel);return h?.bin?`[${a}[${xe(t.vgField(d.channel,{}))}], ${a}[${xe(t.vgField(d.channel,{binSuffix:"end"}))}]]`:`${a}[${xe(d.field)}]`}).join(", "),l=`unit: ${qf(t)}, fields: ${s}, values`,c=e.events,f=rn((n=t.component.selection)!==null&&n!==void 0?n:{}).reduce((d,h)=>h.type==="interval"?d.concat(h.name+Dd):d,[]).map(d=>`indexof(item().mark.name, '${d}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return r.concat([{name:i+Ho,on:c?[{events:c,update:`${x} ? {${l}: [${u}]} : null`,force:!0}]:[]}])}},T9e=BOt;function Na(t,e,r,n){let i=Z2(e)&&e.condition,s=n(e);if(i){let a=ce(i).map(u=>{let l=n(u);if(Q7e(u)){let{param:c,empty:f}=u,x=Vj(t,{param:c,empty:f});return Object.assign({test:x},l)}else{let c=B3(t,u.test);return Object.assign({test:c},l)}});return{[r]:[...a,...s!==void 0?[s]:[]]}}else return s!==void 0?{[r]:s}:{}}function u1(t,e="text"){let r=t.encoding[e];return Na(t,r,e,n=>n_(n,t.config))}function n_(t,e,r="datum"){if(t){if(Jn(t))return vt(t.value);if(Ve(t)){let{format:n,formatType:i}=V4(t);return H4({fieldOrDatumDef:t,format:n,formatType:i,expr:r,config:e})}}}function i_(t,e={}){let{encoding:r,markDef:n,config:i,stack:s}=t,o=r.tooltip;if(j(o))return{tooltip:Lle({tooltip:o},s,i,e)};{let a=e.reactiveGeom?"datum.datum":"datum";return Na(t,o,"tooltip",u=>{let l=n_(u,i,a);if(l)return l;if(u===null)return;let c=st("tooltip",n,i);if(c===!0&&(c={content:"encoding"}),he(c))return{value:c};if(Se(c))return be(c)?c:c.content==="encoding"?Lle(r,s,i,e):{signal:a}})}}function Ile(t,e,r,{reactiveGeom:n}={}){let i={},s=n?"datum.datum":"datum",o=[];function a(l,c){let f=hu(c),x=pi(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),d=x.title||lD(x,r),h=ce(d).join(", "),p;if(Sr(c)){let m=c==="x"?"x2":"y2",g=vs(t[m]);if($r(x.bin)&&g){let y=ue(x,{expr:s}),A=ue(g,{expr:s}),{format:S,formatType:T}=V4(x);p=z4(y,A,S,T,r),i[m]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){let{format:y,formatType:A}=V4(x);p=H4({fieldOrDatumDef:x,format:y,formatType:A,expr:s,config:r,normalizeStack:!0}).signal}}p??(p=n_(x,r,s).signal),o.push({channel:c,key:h,value:p})}xD(t,(l,c)=>{se(l)?a(l,c):Q4(l)&&a(l.condition,c)});let u={};for(let{channel:l,key:c,value:f}of o)!i[l]&&!u[c]&&(u[c]=f);return u}function Lle(t,e,r,{reactiveGeom:n}={}){let i=Ile(t,e,r,{reactiveGeom:n}),s=uu(i).map(([o,a])=>`"${o}": ${a}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function Mle(t){let{markDef:e,config:r}=t,n=st("aria",e,r);return n===!1?{}:Object.assign(Object.assign(Object.assign({},n?{aria:n}:{}),qOt(t)),UOt(t))}function qOt(t){let{mark:e,markDef:r,config:n}=t;if(n.aria===!1)return{};let i=st("ariaRoleDescription",r,n);return i!=null?{ariaRoleDescription:{value:i}}:e in J_e?{}:{ariaRoleDescription:{value:e}}}function UOt(t){let{encoding:e,markDef:r,config:n,stack:i}=t,s=e.description;if(s)return Na(t,s,"description",u=>n_(u,t.config));let o=st("description",r,n);if(o!=null)return{description:vt(o)};if(n.aria===!1)return{};let a=Ile(e,i,n);if(!mt(a))return{description:{signal:uu(a).map(([u,l],c)=>`"${c>0?"; ":""}${u}: " + (${l})`).join(" + ")}}}function mr(t,e,r={}){let{markDef:n,encoding:i,config:s}=e,{vgChannel:o}=r,{defaultRef:a,defaultValue:u}=r;a===void 0&&(u??(u=st(t,n,s,{vgChannel:o,ignoreVgConfig:!0})),u!==void 0&&(a=vt(u)));let l=i[t];return Na(e,l,o??t,c=>sD({channel:t,channelDef:c,markDef:n,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:a}))}function s_(t,e={filled:void 0}){var r,n,i,s;let{markDef:o,encoding:a,config:u}=t,{type:l}=o,c=(r=e.filled)!==null&&r!==void 0?r:st("filled",o,u),f=We(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,x=(i=(n=st(c===!0?"color":void 0,o,u,{vgChannel:"fill"}))!==null&&n!==void 0?n:u.mark[c===!0&&"color"])!==null&&i!==void 0?i:f,d=(s=st(c===!1?"color":void 0,o,u,{vgChannel:"stroke"}))!==null&&s!==void 0?s:u.mark[c===!1&&"color"],h=c?"fill":"stroke",p=Object.assign(Object.assign({},x?{fill:vt(x)}:{}),d?{stroke:vt(d)}:{});return o.color&&(c?o.fill:o.stroke)&&K(z.droppingColor("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},p),mr("color",t,{vgChannel:h,defaultValue:c?x:d})),mr("fill",t,{defaultValue:a.fill?x:void 0})),mr("stroke",t,{defaultValue:a.stroke?d:void 0}))}function C9e(t){let{encoding:e,mark:r}=t,n=e.order;return!so(r)&&Jn(n)?Na(t,n,"zindex",i=>vt(i.value)):{}}function l1({channel:t,markDef:e,encoding:r={},model:n,bandPosition:i}){let s=`${t}Offset`,o=e[s],a=r[s];if((s==="xOffset"||s==="yOffset")&&a)return{offsetType:"encoding",offset:sD({channel:s,channelDef:a,markDef:e,config:n?.config,scaleName:n.scaleName(s),scale:n.getScaleComponent(s),stack:null,defaultRef:vt(o),bandPosition:i})};let u=e[s];return u?{offsetType:"visual",offset:u}:{}}function Gr(t,e,{defaultPos:r,vgChannel:n}){let{encoding:i,markDef:s,config:o,stack:a}=e,u=i[t],l=i[Gs(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:d}=l1({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),h=SD({model:e,defaultPos:r,channel:t,scaleName:c,scale:f}),p=!u&&Sr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:$Ot({channel:t,channelDef:u,channel2Def:l,markDef:s,config:o,scaleName:c,scale:f,stack:a,offset:x,defaultRef:h,bandPosition:d==="encoding"?0:void 0});return p?{[n||t]:p}:void 0}function $Ot(t){let{channel:e,channelDef:r,scaleName:n,stack:i,offset:s,markDef:o}=t;if(Ve(r)&&i&&e===i.fieldChannel){if(se(r)){let a=r.bandPosition;if(a===void 0&&o.type==="text"&&(e==="radius"||e==="theta")&&(a=.5),a!==void 0)return $4({scaleName:n,fieldOrDatumDef:r,startSuffix:"start",bandPosition:a,offset:s})}return wf(r,n,{suffix:"end"},{offset:s})}return j4(t)}function SD({model:t,defaultPos:e,channel:r,scaleName:n,scale:i}){let{markDef:s,config:o}=t;return()=>{let a=hu(r),u=il(r),l=st(r,s,o,{vgChannel:u});if(l!==void 0)return M3(r,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(n){let c=i.get("type");if(!We([Ki.LOG,Ki.TIME,Ki.UTC],c)){if(i.domainDefinitelyIncludesZero())return{scale:n,value:0}}}if(e==="zeroOrMin")return a==="y"?{field:{group:"height"}}:{value:0};switch(a){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{let c=t[sn(r)];return Object.assign(Object.assign({},c),{mult:.5})}}}}var jOt={left:"x",center:"xc",right:"x2"},HOt={top:"y",middle:"yc",bottom:"y2"};function Wj(t,e,r,n="middle"){if(t==="radius"||t==="theta")return il(t);let i=t==="x"?"align":"baseline",s=st(i,e,r),o;return be(s)?(K(z.rangeMarkAlignmentCannotBeExpression(i)),o=void 0):o=s,t==="x"?jOt[o||(n==="top"?"left":"center")]:HOt[o||n]}function c1(t,e,{defaultPos:r,defaultPos2:n,range:i}){return i?vD(t,e,{defaultPos:r,defaultPos2:n}):Gr(t,e,{defaultPos:r})}function vD(t,e,{defaultPos:r,defaultPos2:n}){let{markDef:i,config:s}=e,o=Gs(t),a=sn(t),u=zOt(e,n,o),l=u[a]?Wj(t,i,s):il(t);return Object.assign(Object.assign({},Gr(t,e,{defaultPos:r,vgChannel:l})),u)}function zOt(t,e,r){let{encoding:n,mark:i,markDef:s,stack:o,config:a}=t,u=hu(r),l=sn(r),c=il(r),f=n[u],x=t.scaleName(u),d=t.getScaleComponent(u),{offset:h}=r in n||r in s?l1({channel:r,markDef:s,encoding:n,model:t}):l1({channel:u,markDef:s,encoding:n,model:t});if(!f&&(r==="x2"||r==="y2")&&(n.latitude||n.longitude)){let m=sn(r),g=t.markDef[m];return g!=null?{[m]:{value:g}}:{[c]:{field:t.getName(r)}}}let p=GOt({channel:r,channelDef:f,channel2Def:n[r],markDef:s,config:a,scaleName:x,scale:d,stack:o,offset:h,defaultRef:void 0});return p!==void 0?{[c]:p}:Yj(r,s)||Yj(r,{[r]:xR(r,s,a.style),[l]:xR(l,s,a.style)})||Yj(r,a[i])||Yj(r,a.mark)||{[c]:SD({model:t,defaultPos:e,channel:r,scaleName:x,scale:d})()}}function GOt({channel:t,channelDef:e,channel2Def:r,markDef:n,config:i,scaleName:s,scale:o,stack:a,offset:u,defaultRef:l}){return Ve(e)&&a&&t.charAt(0)===a.fieldChannel.charAt(0)?wf(e,s,{suffix:"start"},{offset:u}):j4({channel:t,channelDef:r,scaleName:s,scale:o,stack:a,markDef:n,config:i,offset:u,defaultRef:l})}function Yj(t,e){let r=sn(t),n=il(t);if(e[n]!==void 0)return{[n]:M3(t,e[n])};if(e[t]!==void 0)return{[n]:M3(t,e[t])};if(e[r]){let i=e[r];if(Sd(i))K(z.relativeBandSizeNotSupported(r));else return{[r]:M3(t,i)}}}function Fa(t,e){var r,n;let{config:i,encoding:s,markDef:o}=t,a=o.type,u=Gs(e),l=sn(e),c=s[e],f=s[u],x=t.getScaleComponent(e),d=x?x.get("type"):void 0,h=o.orient,p=(n=(r=s[l])!==null&&r!==void 0?r:s.size)!==null&&n!==void 0?n:st("size",o,i,{vgChannel:l}),m=a==="bar"&&(e==="x"?h==="vertical":h==="horizontal");return se(c)&&(St(c.bin)||$r(c.bin)||c.timeUnit&&!f)&&!(p&&!Sd(p))&&!or(d)?WOt({fieldDef:c,fieldDef2:f,channel:e,model:t}):(Ve(c)&&or(d)||m)&&!f?VOt(c,e,t):vD(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function QOt(t,e,r,n,i){if(Sd(i))if(r){let o=r.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(K(z.cannotUseRelativeBandSizeWithNonBandScale(o)),i=void 0)}else return{mult:i.band,field:{group:t}};else{if(be(i))return i;if(i)return{value:i}}if(r){let o=r.get("range");if(Vs(o)&&Ct(o.step))return{value:o.step-2}}return{value:P3(n.view,t)-2}}function VOt(t,e,r){let{markDef:n,encoding:i,config:s,stack:o}=r,a=n.orient,u=r.scaleName(e),l=r.getScaleComponent(e),c=sn(e),f=Gs(e),x=M_e(e),d=r.scaleName(x),h=a==="horizontal"&&e==="y"||a==="vertical"&&e==="x",p;(i.size||n.size)&&(h?p=mr("size",r,{vgChannel:c,defaultRef:vt(n.size)}):K(z.cannotApplySizeToNonOrientedMark(n.type)));let m=Jue({channel:e,fieldDef:t,markDef:n,config:s,scaleType:l?.get("type"),useVlSizeChannel:h});p=p||{[c]:QOt(c,d||u,l,s,m)};let g=l?.get("type")!=="band"||!("band"in p[c])?"middle":"top",y=Wj(e,n,s,g),A=y==="xc"||y==="yc",{offset:S,offsetType:T}=l1({channel:e,markDef:n,encoding:i,model:r,bandPosition:A?.5:0}),v=j4({channel:e,channelDef:t,markDef:n,config:s,scaleName:u,scale:l,stack:o,offset:S,defaultRef:SD({model:r,defaultPos:"mid",channel:e,scaleName:u,scale:l}),bandPosition:A?T==="encoding"?0:.5:be(m)?{signal:`(1-${m})/2`}:Sd(m)?(1-m.band)/2:0});if(c)return Object.assign({[y]:v},p);{let b=il(f),R=p[c],O=S?Object.assign(Object.assign({},R),{offset:S}):R;return{[y]:v,[b]:j(v)?[v[0],Object.assign(Object.assign({},v[1]),{offset:O})]:Object.assign(Object.assign({},v),{offset:O})}}}function _D(t,e,r,n,i){if(Xee(t))return 0;let s=t==="x"||t==="y2"?-e/2:e/2;if(be(r)||be(i)||be(n)){let o=mu(r),a=mu(i),u=mu(n),l=u?`${u} + `:"",c=o?`(${o} ? -1 : 1) * `:"",f=a?`(${a} + ${s})`:s;return{signal:l+c+f}}else return i=i||0,n+(r?-i-s:+i+s)}function WOt({fieldDef:t,fieldDef2:e,channel:r,model:n}){var i,s,o;let{config:a,markDef:u,encoding:l}=n,c=n.getScaleComponent(r),f=n.scaleName(r),x=c?c.get("type"):void 0,d=c.get("reverse"),h=Jue({channel:r,fieldDef:t,markDef:u,config:a,scaleType:x}),p=(i=n.component.axes[r])===null||i===void 0?void 0:i[0],m=(s=p?.get("translate"))!==null&&s!==void 0?s:.5,g=Sr(r)&&(o=st("binSpacing",u,a))!==null&&o!==void 0?o:0,y=Gs(r),A=il(r),S=il(y),{offset:T}=l1({channel:r,markDef:u,encoding:l,model:n,bandPosition:0}),v=be(h)?{signal:`(1-${h.signal})/2`}:Sd(h)?(1-h.band)/2:.5;if(St(t.bin)||t.timeUnit)return{[S]:R9e({fieldDef:t,scaleName:f,bandPosition:v,offset:_D(y,g,d,m,T)}),[A]:R9e({fieldDef:t,scaleName:f,bandPosition:be(v)?{signal:`1-${v.signal}`}:1-v,offset:_D(r,g,d,m,T)})};if($r(t.bin)){let b=wf(t,f,{},{offset:_D(y,g,d,m,T)});if(se(e))return{[S]:b,[A]:wf(e,f,{},{offset:_D(r,g,d,m,T)})};if(g0(t.bin)&&t.bin.step)return{[S]:b,[A]:{signal:`scale("${f}", ${ue(t,{expr:"datum"})} + ${t.bin.step})`,offset:_D(r,g,d,m,T)}}}K(z.channelRequiredForBinned(y))}function R9e({fieldDef:t,scaleName:e,bandPosition:r,offset:n}){return $4({scaleName:e,fieldOrDatumDef:t,bandPosition:r,offset:n})}var YOt=new Set(["aria","width","height"]);function Qr(t,e){let{fill:r=void 0,stroke:n=void 0}=e.color==="include"?s_(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},KOt(t.markDef,e)),O9e(t,"fill",r)),O9e(t,"stroke",n)),mr("opacity",t)),mr("fillOpacity",t)),mr("strokeOpacity",t)),mr("strokeWidth",t)),mr("strokeDash",t)),C9e(t)),i_(t)),u1(t,"href")),Mle(t))}function O9e(t,e,r){let{config:n,mark:i,markDef:s}=t;if(st("invalid",s,n)==="hide"&&r&&!so(i)){let a=XOt(t,{invalid:!0,channels:r2});if(a)return{[e]:[{test:a,value:null},...ce(r)]}}return r?{[e]:r}:{}}function KOt(t,e){return X_e.reduce((r,n)=>(!YOt.has(n)&&t[n]!==void 0&&e[n]!=="ignore"&&(r[n]=vt(t[n])),r),{})}function XOt(t,{invalid:e=!1,channels:r}){let n=r.reduce((s,o)=>{let a=t.getScaleComponent(o);if(a){let u=a.get("type"),l=t.vgField(o,{expr:"datum"});l&&An(u)&&(s[l]=!0)}return s},{}),i=H(n);if(i.length>0){let s=e?"||":"&&";return i.map(o=>iD(o,e)).join(` ${s} `)}}function o_(t){let{config:e,markDef:r}=t;if(st("invalid",r,e)){let i=JOt(t,{channels:ci});if(i)return{defined:{signal:i}}}return{}}function JOt(t,{invalid:e=!1,channels:r}){let n=r.reduce((s,o)=>{let a=t.getScaleComponent(o);if(a){let u=a.get("type"),l=t.vgField(o,{expr:"datum"});l&&An(u)&&(s[l]=!0)}return s},{}),i=H(n);if(i.length>0){let s=e?"||":"&&";return i.map(o=>iD(o,e)).join(` ${s} `)}}function Kj(t,e){if(e!==void 0)return{[t]:vt(e)}}var Ple="voronoi",ZOt={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(let r of e.events)r.markname=t.getName(Ple)},marks:(t,e,r)=>{let{x:n,y:i}=e.project.hasChannel,s=t.mark;if(so(s))return K(z.nearestNotSupportForContinuous(s)),r;let o={name:t.getName(Ple),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},i_(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:n||!i?"datum.datum.x || 0":"0"},y:{expr:i||!n?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]},a=0,u=!1;return r.forEach((l,c)=>{var f;let x=(f=l.name)!==null&&f!==void 0?f:"";x===t.component.mark[0].name?a=c:x.indexOf(Ple)>=0&&(u=!0)}),u||r.splice(a+1,0,o),r}},Xj=ZOt;var e6t={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!pD(t.bind),parse:(t,e,r)=>Zj(e,r),topLevelSignals:(t,e,r)=>{let n=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],a=Xj.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((u,l)=>{var c,f;let x=It(`${n}_${u.field}`);r.filter(h=>h.name===x).length||r.unshift(Object.assign(Object.assign({name:x},o?{init:a1(o[l])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${a}[${xe(u.field)}] : null`}]:[],bind:(f=(c=s[u.field])!==null&&c!==void 0?c:s[u.channel])!==null&&f!==void 0?f:s}))}),r},signals:(t,e,r)=>{let n=e.name,i=e.project,s=r.filter(l=>l.name===n+Ho)[0],o=n+Od,a=i.items.map(l=>It(`${n}_${l.field}`)),u=a.map(l=>`${l} !== null`).join(" && ");return a.length&&(s.update=`${u} ? {fields: ${o}, values: [${a.join(", ")}]} : null`),delete s.value,delete s.on,r}},Jj=e6t;var a_="_toggle",t6t={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,r)=>r.concat({name:e.name+a_,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{let r=e.name+Ho,n=e.name+a_;return`${n} ? null : ${r}, `+(e.resolve==="global"?`${n} ? null : true, `:`${n} ? null : {unit: ${qf(t)}}, `)+`${n} ? ${r} : null`}},eH=t6t;var r6t={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=he(e.clear)?$o(e.clear,"view"):e.clear)},topLevelSignals:(t,e,r)=>{if(Jj.defined(e))for(let n of e.project.items){let i=r.findIndex(s=>s.name===It(`${e.name}_${n.field}`));i!==-1&&r[i].on.push({events:e.clear,update:"null"})}return r},signals:(t,e,r)=>{function n(i,s){i!==-1&&r[i].on&&r[i].on.push({events:e.clear,update:s})}if(e.type==="interval")for(let i of e.project.items){let s=r.findIndex(o=>o.name===i.signals.visual);if(n(s,"[0, 0]"),s===-1){let o=r.findIndex(a=>a.name===i.signals.data);n(o,"null")}}else{let i=r.findIndex(s=>s.name===e.name+Ho);n(i,"null"),eH.defined(e)&&(i=r.findIndex(s=>s.name===e.name+a_),n(i,"false"))}return r}},D9e=r6t;var N9e={defined:t=>{let e=t.resolve==="global"&&t.bind&&pD(t.bind),r=t.project.items.length===1&&t.project.items[0].field!==r1;return e&&!r&&K(z.LEGEND_BINDINGS_MUST_HAVE_PROJECTION),e&&r},parse:(t,e,r)=>{var n;let i=we(r);if(i.select=he(i.select)?{type:i.select,toggle:e.toggle}:Object.assign(Object.assign({},i.select),{toggle:e.toggle}),Zj(e,i),Se(r.select)&&(r.select.on||r.select.clear)){let a='event.item && indexof(event.item.mark.role, "legend") < 0';for(let u of e.events)u.filter=ce((n=u.filter)!==null&&n!==void 0?n:[]),u.filter.includes(a)||u.filter.push(a)}let s=Fj(e.bind)?e.bind.legend:"click",o=he(s)?$o(s,"view"):ce(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,r)=>{let n=e.name,i=Fj(e.bind)&&e.bind.legend,s=o=>a=>{let u=we(a);return u.markname=o,u};for(let o of e.project.items){if(!o.hasLegend)continue;let a=`${It(o.field)}_legend`,u=`${n}_${a}`;if(r.filter(c=>c.name===u).length===0){let c=i.merge.map(s(`${a}_symbols`)).concat(i.merge.map(s(`${a}_labels`))).concat(i.merge.map(s(`${a}_entries`)));r.unshift(Object.assign(Object.assign({name:u},e.init?{}:{value:null}),{on:[{events:c,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${u}`,force:!0}]}))}}return r},signals:(t,e,r)=>{let n=e.name,i=e.project,s=r.find(x=>x.name===n+Ho),o=n+Od,a=i.items.filter(x=>x.hasLegend).map(x=>It(`${n}_${It(x.field)}_legend`)),l=`${a.map(x=>`${x} !== null`).join(" && ")} ? {fields: ${o}, values: [${a.join(", ")}]} : null`;e.events&&a.length>0?s.on.push({events:a.map(x=>({signal:x})),update:l}):a.length>0&&(s.update=l,delete s.value,delete s.on);let c=r.find(x=>x.name===n+a_),f=Fj(e.bind)&&e.bind.legend;return c&&(e.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:f})):c.on[0].events=f),r}},F9e=N9e;function w9e(t,e,r){var n,i,s,o;let a=(n=t.fieldDef(e))===null||n===void 0?void 0:n.field;for(let u of rn((i=t.component.selection)!==null&&i!==void 0?i:{})){let l=(s=u.project.hasField[a])!==null&&s!==void 0?s:u.project.hasChannel[e];if(l&&N9e.defined(u)){let c=(o=r.get("selections"))!==null&&o!==void 0?o:[];c.push(u.name),r.set("selections",c,!1),l.hasLegend=!0}}}var I9e="_translate_anchor",M9e="_translate_delta",n6t={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,r)=>{let n=e.name,i=Ol.defined(e),s=n+I9e,{x:o,y:a}=e.project.hasChannel,u=$o(e.translate,"scope");return i||(u=u.map(l=>(l.between[0].markname=n+Dd,l))),r.push({name:s,value:{},on:[{events:u.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(o!==void 0?`, extent_x: ${i?AD(t,Ht):`slice(${o.signals.visual})`}`:"")+(a!==void 0?`, extent_y: ${i?AD(t,Rr):`slice(${a.signals.visual})`}`:"")+"}"}]},{name:n+M9e,value:{},on:[{events:u,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&L9e(t,e,o,"width",r),a!==void 0&&L9e(t,e,a,"height",r),r}},P9e=n6t;function L9e(t,e,r,n,i){var s,o;let a=e.name,u=a+I9e,l=a+M9e,c=r.channel,f=Ol.defined(e),x=i.filter(b=>b.name===r.signals[f?"data":"visual"])[0],d=t.getSizeSignalRef(n).signal,h=t.getScaleComponent(c),p=h.get("type"),m=h.get("reverse"),g=f?c===Ht?m?"":"-":m?"-":"":"",y=`${u}.extent_${c}`,A=`${g}${l}.${c} / ${f?`${d}`:`span(${y})`}`,S=f?p==="log"?"panLog":p==="symlog"?"panSymlog":p==="pow"?"panPow":"panLinear":"panLinear",T=f?p==="pow"?`, ${(s=h.get("exponent"))!==null&&s!==void 0?s:1}`:p==="symlog"?`, ${(o=h.get("constant"))!==null&&o!==void 0?o:1}`:"":"",v=`${S}(${y}, ${A}${T})`;x.on.push({events:{signal:l},update:f?v:`clampRange(${v}, 0, ${d})`})}var B9e="_zoom_anchor",q9e="_zoom_delta",i6t={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,r)=>{let n=e.name,i=Ol.defined(e),s=n+q9e,{x:o,y:a}=e.project.hasChannel,u=xe(t.scaleName(Ht)),l=xe(t.scaleName(Rr)),c=$o(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=n+Dd,f))),r.push({name:n+B9e,on:[{events:c,update:i?"{"+[u?`x: invert(${u}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>!!f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:s,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&k9e(t,e,o,"width",r),a!==void 0&&k9e(t,e,a,"height",r),r}},U9e=i6t;function k9e(t,e,r,n,i){var s,o;let a=e.name,u=r.channel,l=Ol.defined(e),c=i.filter(S=>S.name===r.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(n).signal,x=t.getScaleComponent(u),d=x.get("type"),h=l?AD(t,u):c.name,p=a+q9e,m=`${a}${B9e}.${u}`,g=l?d==="log"?"zoomLog":d==="symlog"?"zoomSymlog":d==="pow"?"zoomPow":"zoomLinear":"zoomLinear",y=l?d==="pow"?`, ${(s=x.get("exponent"))!==null&&s!==void 0?s:1}`:d==="symlog"?`, ${(o=x.get("constant"))!==null&&o!==void 0?o:1}`:"":"",A=`${g}(${h}, ${m}, ${p}${y})`;c.on.push({events:{signal:p},update:l?A:`clampRange(${A}, 0, ${f})`})}var G0="_store",Ho="_tuple",A9e="_modify";var Gj="vlSelectionResolve",r_=[T9e,_9e,v9e,eH,Jj,Ol,F9e,D9e,P9e,U9e,Xj];function s6t(t){let e=t.parent;for(;e&&!Ji(e);)e=e.parent;return e}function qf(t,{escape:e}={escape:!0}){let r=e?xe(t.name):t.name,n=s6t(t);if(n){let{facet:i}=n;for(let s of ji)i[s]&&(r+=` + '__facet_${s}_' + (facet[${xe(n.vgField(s))}])`)}return r}function bD(t){var e;return rn((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((r,n)=>r||n.project.items.some(i=>i.field===r1),!1)}function Zj(t,e){(he(e.select)||!e.select.on)&&delete t.events,(he(e.select)||!e.select.clear)&&delete t.clear,(he(e.select)||!e.select.toggle)&&delete t.toggle}function kle(t){let e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...kle(t.object)),e.push(...kle(t.property))),e)}function $9e(t){return t.object.type==="MemberExpression"?$9e(t.object):t.object.name==="datum"}function tH(t){let e=M6(t),r=new Set;return e.visit(n=>{n.type==="MemberExpression"&&$9e(n)&&r.add(kle(n).slice(1).join("."))}),r}var Uf=class t extends Ge{constructor(e,r,n){super(e),this.model=r,this.filter=n,this.expr=B3(this.model,this.filter,this),this._dependentFields=tH(this.expr)}clone(){return new t(null,this.model,we(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}};function j9e(t,e){var r;let n={},i=t.config.selection;if(!e||!e.length)return n;for(let s of e){let o=It(s.name),a=s.select,u=he(a)?a:a.type,l=Se(a)?we(a):{type:u},c=i[u];for(let x in c)x==="fields"||x==="encodings"||(x==="mark"&&(l[x]=Object.assign(Object.assign({},c[x]),l[x])),(l[x]===void 0||l[x]===!0)&&(l[x]=(r=c[x])!==null&&r!==void 0?r:l[x]));let f=n[o]=Object.assign(Object.assign({},l),{name:o,type:u,init:s.value,bind:s.bind,events:he(l.on)?$o(l.on,"scope"):ce(we(l.on))});for(let x of r_)x.defined(f)&&x.parse&&x.parse(t,f,s)}return n}function Vj(t,e,r,n="datum"){let i=he(e)?e:e.param,s=It(i),o=xe(s+G0),a;try{a=t.getSelectionComponent(s,i)}catch{return`!!${s}`}if(a.project.timeUnit){let c=r??t.component.data.raw,f=a.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}let u=`vlSelectionTest(${o}, ${n}${a.resolve==="global"?")":`, ${xe(a.resolve)})`}`,l=`length(data(${o}))`;return e.empty===!1?`${l} && ${u}`:`!${l} || ${u}`}function Qj(t,e,r){let n=It(e),i=r.encoding,s=r.field,o;try{o=t.getSelectionComponent(n,e)}catch{return n}if(!i&&!s)s=o.project.items[0].field,o.project.items.length>1&&K(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${xe(s)}.`);else if(i&&!s){let a=o.project.items.filter(u=>u.channel===i);!a.length||a.length>1?(s=o.project.items[0].field,K((a.length?"Multiple ":"No ")+`matching ${xe(i)} encoding found for selection ${xe(r.param)}. Using "field": ${xe(s)}.`)):s=a[0].field}return`${o.name}[${xe(li(s))}]`}function H9e(t,e){var r;for(let[n,i]of uu((r=t.component.selection)!==null&&r!==void 0?r:{})){let s=t.getName(`lookup_${n}`);t.component.data.outputNodes[s]=i.materialized=new un(new Uf(e,t,{param:n}),s,Pt.Lookup,t.component.data.outputNodeRefCounts)}}function B3(t,e,r){return lR(e,n=>he(n)?n:mbe(n)?Vj(t,n,r):yB(n))}var rH=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function o6t(t,e){if(t)return j(t)&&!y0(t)?t.map(r=>lD(r,e)).join(", "):t}function Ble(t,e,r,n){var i,s,o,a,u;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(a=t.encode)[e])!==null&&s!==void 0||(a[e]={}),(o=(u=t.encode[e]).update)!==null&&o!==void 0||(u.update={}),t.encode[e].update[r]=n}function u_(t,e,r,n={header:!1}){var i,s;let o=t.combine(),{disable:a,orient:u,scale:l,labelExpr:c,title:f,zindex:x}=o,d=rH(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!a){for(let h in d){let p=t8e[h],m=d[h];if(p&&p!==e&&p!=="both")delete d[h];else if(bd(m)){let{condition:g}=m,y=rH(m,["condition"]),A=ce(g),S=tle[h];if(S){let{vgProp:T,part:v}=S,b=[...A.map(R=>{let{test:O}=R,D=rH(R,["test"]);return Object.assign({test:B3(null,O)},D)}),y];Ble(d,v,T,b),delete d[h]}else if(S===null){let T={signal:A.map(v=>{let{test:b}=v,R=rH(v,["test"]);return`${B3(null,b)} ? ${ste(R)} : `}).join("")+ste(y)};d[h]=T}}else if(be(m)){let g=tle[h];if(g){let{vgProp:y,part:A}=g;Ble(d,A,y,m),delete d[h]}}We(["labelAlign","labelBaseline"],h)&&d[h]===null&&delete d[h]}if(e==="grid"){if(!d.grid)return;if(d.encode){let{grid:h}=d.encode;d.encode=Object.assign({},h?{grid:h}:{}),mt(d.encode)&&delete d.encode}return Object.assign(Object.assign({scale:l,orient:u},d),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Mt(x,0)})}else{if(!n.header&&t.mainExtracted)return;if(c!==void 0){let p=c;!((s=(i=d.encode)===null||i===void 0?void 0:i.labels)===null||s===void 0)&&s.update&&be(d.encode.labels.update.text)&&(p=af(c,"datum.label",d.encode.labels.update.text.signal)),Ble(d,"labels","text",{signal:p})}if(d.labelAlign===null&&delete d.labelAlign,d.encode){for(let p of Aj)t.hasAxisPart(p)||delete d.encode[p];mt(d.encode)&&delete d.encode}let h=o6t(f,r);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:u,grid:!1},h?{title:h}:{}),d),r.aria===!1?{aria:!1}:{}),{zindex:Mt(x,0)})}}}function nH(t){let{axes:e}=t.component,r=[];for(let n of ci)if(e[n]){for(let i of e[n])if(!i.get("disable")&&!i.get("gridScale")){let s=n==="x"?"height":"width",o=t.getSizeSignalRef(s).signal;s!==o&&r.push({name:s,update:o})}}return r}function z9e(t,e){let{x:r=[],y:n=[]}=t;return[...r.map(i=>u_(i,"grid",e)),...n.map(i=>u_(i,"grid",e)),...r.map(i=>u_(i,"main",e)),...n.map(i=>u_(i,"main",e))].filter(i=>i)}function G9e(t,e,r,n){return Object.assign.apply(null,[{},...t.map(i=>{if(i==="axisOrient"){let s=r==="x"?"bottom":"left",o=e[r==="x"?"axisBottom":"axisLeft"]||{},a=e[r==="x"?"axisTop":"axisRight"]||{},u=new Set([...H(o),...H(a)]),l={};for(let c of u.values())l[c]={signal:`${n.signal} === "${s}" ? ${mu(o[c])} : ${mu(a[c])}`};return l}return e[i]})])}function Q9e(t,e,r,n){let i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:jue(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=be(r)?"axisOrient":`axis${bg(r)}`,a=[...i,...i.map(l=>s+l.substr(4))],u=["axis",o,s];return{vlOnlyAxisConfig:G9e(a,n,t,r),vgAxisConfig:G9e(u,n,t,r),axisConfigStyle:a6t([...u,...a],n)}}function a6t(t,e){var r;let n=[{}];for(let i of t){let s=(r=e[i])===null||r===void 0?void 0:r.style;if(s){s=ce(s);for(let o of s)n.push(e.style[o])}}return Object.assign.apply(null,n)}function TD(t,e,r,n={}){var i;let s=ate(t,r,e);if(s!==void 0)return{configFrom:"style",configValue:s};for(let o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((i=n[o])===null||i===void 0?void 0:i[t])!==void 0)return{configFrom:o,configValue:n[o][t]};return{}}var Ule={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:r})=>{let{format:n,formatType:i}=r;return uj(t,t.type,n,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:r})=>{let{formatType:n}=t;return lj(n,e,r)},grid:({fieldOrDatumDef:t,axis:e,scaleType:r})=>{var n;return(n=e.grid)!==null&&n!==void 0?n:u6t(r,t)},gridScale:({model:t,channel:e})=>l6t(t,e),labelAlign:({axis:t,labelAngle:e,orient:r,channel:n})=>t.labelAlign||jle(e,r,n),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:r,channel:n})=>t.labelBaseline||$le(e,r,n),labelFlush:({axis:t,fieldOrDatumDef:e,channel:r})=>{var n;return(n=t.labelFlush)!==null&&n!==void 0?n:c6t(e.type,r)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:r})=>{var n;return(n=t.labelOverlap)!==null&&n!==void 0?n:f6t(e.type,r,se(e)&&!!e.timeUnit,se(e)?e.sort:void 0)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:r,fieldOrDatumDef:n,scaleType:i})=>{var s;let o=t==="x"?"width":t==="y"?"height":void 0,a=o?e.getSizeSignalRef(o):void 0;return(s=r.tickCount)!==null&&s!==void 0?s:x6t({fieldOrDatumDef:n,scaleType:i,size:a,values:r.values})},title:({axis:t,model:e,channel:r})=>{if(t.title!==void 0)return t.title;let n=Hle(e,r);if(n!==void 0)return n;let i=e.typedFieldDef(r),s=r==="x"?"x2":"y2",o=e.fieldDef(s);return ute(i?[Xue(i)]:[],se(o)?[Xue(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>d6t(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:r})=>{var n;return(n=t.zindex)!==null&&n!==void 0?n:h6t(r,e)}};function u6t(t,e){return!or(t)&&se(e)&&!St(e?.bin)&&!$r(e?.bin)}function l6t(t,e){let r=e==="x"?"y":"x";if(t.getScaleComponent(r))return t.scaleName(r)}function V9e(t,e,r,n,i){let s=e?.labelAngle;if(s!==void 0)return be(s)?s:Tg(s);{let{configValue:o}=TD("labelAngle",n,e?.style,i);return o!==void 0?Tg(o):r===Ht&&We([J6,X6],t.type)&&!(se(t)&&t.timeUnit)?270:void 0}}function qle(t){return`(((${t.signal} % 360) + 360) % 360)`}function $le(t,e,r,n){if(t!==void 0)if(r==="x"){if(be(t)){let i=qle(t),s=be(e)?`(${e.signal} === "top")`:e==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${s} ? "bottom" : "top"`}}if(45<t&&t<135||225<t&&t<315)return"middle";if(be(e)){let i=t<=45||315<=t?"===":"!==";return{signal:`${e.signal} ${i} "top" ? "bottom" : "top"`}}return(t<=45||315<=t)==(e==="top")?"bottom":"top"}else{if(be(t)){let i=qle(t),s=be(e)?`(${e.signal} === "left")`:e==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${n?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${s} ? "top" : "bottom"`}}if(t<=45||315<=t||135<=t&&t<=225)return n?"middle":null;if(be(e)){let i=45<=t&&t<=135?"===":"!==";return{signal:`${e.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=t&&t<=135)==(e==="left")?"top":"bottom"}}function jle(t,e,r){if(t===void 0)return;let n=r==="x",i=n?0:90,s=n?"bottom":"left";if(be(t)){let o=qle(t),a=be(e)?`(${e.signal} === "${s}")`:e===s;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${n?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${a} ? "left" : "right"`}}if((t+i)%180===0)return n?null:"center";if(be(e)){let o=i<t&&t<180+i?"===":"!==";return{signal:`${`${e.signal} ${o} "${s}"`} ? "left" : "right"`}}return(i<t&&t<180+i)==(e===s)?"left":"right"}function c6t(t,e){if(e==="x"&&We(["quantitative","temporal"],t))return!0}function f6t(t,e,r,n){if(r&&!Se(n)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function W9e(t){return t==="x"?"bottom":"left"}function x6t({fieldOrDatumDef:t,scaleType:e,size:r,values:n}){var i;if(!n&&!or(e)&&e!=="log"){if(se(t)){if(St(t.bin))return{signal:`ceil(${r.signal}/10)`};if(t.timeUnit&&We(["month","hours","day","quarter"],(i=on(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${r.signal}/40)`}}}function Hle(t,e){let r=e==="x"?"x2":"y2",n=t.fieldDef(e),i=t.fieldDef(r),s=n?n.title:void 0,o=i?i.title:void 0;if(s&&o)return lte(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function d6t(t,e){let r=t.values;if(j(r))return Ej(e,r);if(be(r))return r}function h6t(t,e){return t==="rect"&&uD(e)?1:0}var q3=class t extends Ge{constructor(e,r){super(e),this.transform=r,this._dependentFields=tH(this.transform.calculate)}clone(){return new t(null,we(this.transform))}static parseAllForSortIndex(e,r){return r.forEachFieldDef((n,i)=>{if(Tl(n)&&fj(n.sort)){let{field:s,timeUnit:o}=n,a=n.sort,u=a.map((l,c)=>`${yB({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+a.length;e=new t(e,{calculate:u,as:$f(n,i,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${$e(this.transform)}`}};function $f(t,e,r){return ue(t,Object.assign({prefix:e,suffix:"sort_index"},r??{}))}function l_(t,e){return We(["top","bottom"],e)?"column":We(["left","right"],e)||t==="row"?"row":"column"}function Nd(t,e,r,n){let i=n==="row"?r.headerRow:n==="column"?r.headerColumn:r.headerFacet;return Mt((e||{})[t],i[t],r.header[t])}function CD(t,e,r,n){let i={};for(let s of t){let o=Nd(s,e||{},r,n);o!==void 0&&(i[s]=o)}return i}var c_=["row","column"],f_=["header","footer"];function Y9e(t,e){let r=t.component.layoutHeaders[e].title,n=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:s,titleAngle:o,titleOrient:a}=CD(["titleAnchor","titleAngle","titleOrient"],i.header,n,e),u=l_(e,a),l=Tg(o);return{name:`${e}-title`,type:"group",role:`${u}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:r},e==="row"?{orient:"left"}:{}),{style:"guide-title"}),X9e(l,u)),K9e(u,l,s)),eLe(n,i,e,S8e,xle))}}function K9e(t,e,r="middle"){switch(r){case"start":return{align:"left"};case"end":return{align:"right"}}let n=jle(e,t==="row"?"left":"top",t==="row"?"y":"x");return n?{align:n}:{}}function X9e(t,e){let r=$le(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return r?{baseline:r}:{}}function J9e(t,e){let r=t.component.layoutHeaders[e],n=[];for(let i of f_)if(r[i])for(let s of r[i]){let o=m6t(t,e,i,r,s);o!=null&&n.push(o)}return n}function p6t(t,e){var r;let{sort:n}=t;return Xi(n)?{field:ue(n,{expr:"datum"}),order:(r=n.order)!==null&&r!==void 0?r:"ascending"}:j(n)?{field:$f(t,e,{expr:"datum"}),order:"ascending"}:{field:ue(t,{expr:"datum"}),order:n??"ascending"}}function iH(t,e,r){let{format:n,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:a,labelExpr:u}=CD(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,r,e),l=H4({fieldOrDatumDef:t,format:n,formatType:i,expr:"parent",config:r}).signal,c=l_(e,a);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:u?af(af(u,"datum.label",l),"datum.value",ue(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),X9e(s,c)),K9e(c,s,o)),eLe(r,t,e,v8e,dle))}function m6t(t,e,r,n,i){if(i){let s=null,{facetFieldDef:o}=n,a=t.config?t.config:void 0;if(o&&i.labels){let{labelOrient:f}=CD(["labelOrient"],o.header,a,e);(e==="row"&&!We(["top","bottom"],f)||e==="column"&&!We(["left","right"],f))&&(s=iH(o,e,a))}let u=Ji(t)&&!Mf(t.facet),l=i.axes,c=l?.length>0;if(s||c){let f=e==="row"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${r}`),type:"group",role:`${e}-${r}`},n.facetFieldDef?{from:{data:t.getName(`${e}_domain`)},sort:p6t(o,e)}:{}),c&&u?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),s?{title:s}:{}),i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}var g6t={column:{start:0,end:1},row:{start:1,end:0}};function y6t(t,e){return g6t[e][t]}function Z9e(t,e){let r={};for(let n of ji){let i=t[n];if(i?.facetFieldDef){let{titleAnchor:s,titleOrient:o}=CD(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,n),a=l_(n,o),u=y6t(s,a);u!==void 0&&(r[a]=u)}}return mt(r)?void 0:r}function eLe(t,e,r,n,i){let s={};for(let o of n){if(!i[o])continue;let a=Nd(o,e?.header,t,r);a!==void 0&&(s[i[o]]=a)}return s}function x_(t){return[...sH(t,"width"),...sH(t,"height"),...sH(t,"childWidth"),...sH(t,"childHeight")]}function sH(t,e){let r=e==="width"?"x":"y",n=t.component.layoutSize.get(e);if(!n||n==="merged")return[];let i=t.getSizeSignalRef(e).signal;if(n==="step"){let s=t.getScaleComponent(r);if(s){let o=s.get("type"),a=s.get("range");if(or(o)&&Vs(a)){let u=t.scaleName(r);return Ji(t.parent)&&t.parent.component.resolve.scale[r]==="independent"?[tLe(u,a)]:[tLe(u,a),{name:i,update:zle(u,s,`domain('${u}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(n=="container"){let s=i.endsWith("width"),o=s?"containerSize()[0]":"containerSize()[1]",a=gD(t.config.view,s?"width":"height"),u=`isFinite(${o}) ? ${o} : ${a}`;return[{name:i,init:u,on:[{update:u,events:"window:resize"}]}]}else return[{name:i,value:n}]}function tLe(t,e){let r=`${t}_step`;return be(e.step)?{name:r,update:e.step.signal}:{name:r,value:e.step}}function zle(t,e,r){let n=e.get("type"),i=e.get("padding"),s=Mt(e.get("paddingOuter"),i),o=e.get("paddingInner");return o=n==="band"?o!==void 0?o:i:1,`bandspace(${r}, ${mu(o)}, ${mu(s)}) * ${t}_step`}function oH(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function aH(t,e){return H(t).reduce((r,n)=>{let i=t[n];return Object.assign(Object.assign({},r),Na(e,i,n,s=>vt(s.value)))},{})}function uH(t,e){if(Ji(e))return t==="theta"?"independent":"shared";if(Dl(e))return"shared";if(h_(e))return Sr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function d_(t,e){let r=t.scale[e],n=Sr(e)?"axis":"legend";return r==="independent"?(t[n][e]==="shared"&&K(z.independentScaleMeansIndependentGuide(e)),"independent"):t[n][e]||"shared"}var E6t=Object.assign(Object.assign({},ple),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),Gle=H(E6t),lH=class extends ao{};var Qle={symbols:A6t,gradient:S6t,labels:v6t,entries:_6t};function A6t(t,{fieldOrDatumDef:e,model:r,channel:n,legendCmpt:i,legendType:s}){var o,a,u,l,c,f,x,d;if(s!=="symbol")return;let{markDef:h,encoding:p,config:m,mark:g}=r,y=h.filled&&g!=="trail",A=Object.assign(Object.assign({},tbe({},r,F7e)),s_(r,{filled:y})),S=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:m.legend.symbolOpacity,T=(a=i.get("symbolFillColor"))!==null&&a!==void 0?a:m.legend.symbolFillColor,v=(u=i.get("symbolStrokeColor"))!==null&&u!==void 0?u:m.legend.symbolStrokeColor,b=S===void 0?(l=rLe(p.opacity))!==null&&l!==void 0?l:h.opacity:void 0;if(A.fill){if(n==="fill"||y&&n===mn)delete A.fill;else if(A.fill.field)T?delete A.fill:(A.fill=vt((c=m.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=vt(b??1));else if(j(A.fill)){let R=(d=(x=cH((f=p.fill)!==null&&f!==void 0?f:p.color))!==null&&x!==void 0?x:h.fill)!==null&&d!==void 0?d:y&&h.color;R&&(A.fill=vt(R))}}if(A.stroke){if(n==="stroke"||!y&&n===mn)delete A.stroke;else if(A.stroke.field||v)delete A.stroke;else if(j(A.stroke)){let R=Mt(cH(p.stroke||p.color),h.stroke,y?h.color:void 0);R&&(A.stroke={value:R})}}if(n!==Do){let R=se(e)&&iLe(r,i,e);R?A.opacity=[Object.assign({test:R},vt(b??1)),vt(m.legend.unselectedOpacity)]:b&&(A.opacity=vt(b))}return A=Object.assign(Object.assign({},A),t),mt(A)?void 0:A}function S6t(t,{model:e,legendType:r,legendCmpt:n}){var i;if(r!=="gradient")return;let{config:s,markDef:o,encoding:a}=e,u={},c=((i=n.get("gradientOpacity"))!==null&&i!==void 0?i:s.legend.gradientOpacity)===void 0?rLe(a.opacity)||o.opacity:void 0;return c&&(u.opacity=vt(c)),u=Object.assign(Object.assign({},u),t),mt(u)?void 0:u}function v6t(t,{fieldOrDatumDef:e,model:r,channel:n,legendCmpt:i}){let s=r.legend(n)||{},o=r.config,a=se(e)?iLe(r,i,e):void 0,u=a?[{test:a,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=If(c)?aD({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:o}):void 0,x=Object.assign(Object.assign(Object.assign({},u?{opacity:u}:{}),f?{text:f}:{}),t);return mt(x)?void 0:x}function _6t(t,{legendCmpt:e}){let r=e.get("selections");return r?.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function rLe(t){return nLe(t,(e,r)=>Math.max(e,r.value))}function cH(t){return nLe(t,(e,r)=>Mt(e,r.value))}function nLe(t,e){if(W7e(t))return ce(t.condition).reduce(e,t.value);if(Jn(t))return t.value}function iLe(t,e,r){let n=e.get("selections");if(!n?.length)return;let i=xe(r.field);return n.map(s=>`(!length(data(${xe(It(s)+G0)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}var Vle={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:r})=>{let{format:n,formatType:i}=e;return uj(t,t.type,n,i,r,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:r})=>{let{formatType:n}=t;return lj(n,e,r)},gradientLength:t=>{var e,r;let{legend:n,legendConfig:i}=t;return(r=(e=n.gradientLength)!==null&&e!==void 0?e:i.gradientLength)!==null&&r!==void 0?r:O6t(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:r})=>{var n,i;return(i=(n=t.labelOverlap)!==null&&n!==void 0?n:e.labelOverlap)!==null&&i!==void 0?i:D6t(r)},symbolType:({legend:t,markDef:e,channel:r,encoding:n})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:T6t(e.type,r,n.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>Pf(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:r})=>{if(Vx(r)&&Ca(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>b6t(e,t)};function b6t(t,e){let r=t.values;if(j(r))return Ej(e,r);if(be(r))return r}function T6t(t,e,r,n){var i;if(e!=="shape"){let s=(i=cH(r))!==null&&i!==void 0?i:n;if(s)return s}switch(t){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function oLe(t){let{legend:e}=t;return Mt(e.type,C6t(t))}function C6t({channel:t,timeUnit:e,scaleType:r}){if(Vx(t)){if(We(["quarter","month","day"],e))return"symbol";if(Ca(r))return"gradient"}return"symbol"}function aLe({legendConfig:t,legendType:e,orient:r,legend:n}){var i,s;return(s=(i=n.direction)!==null&&i!==void 0?i:t[e?"gradientDirection":"symbolDirection"])!==null&&s!==void 0?s:R6t(r,e)}function R6t(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return e==="gradient"?"horizontal":void 0}}function O6t({legendConfig:t,model:e,direction:r,orient:n,scaleType:i}){let{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:a,gradientVerticalMinLength:u}=t;if(Ca(i))return r==="horizontal"?n==="top"||n==="bottom"?sLe(e,"width",o,s):o:sLe(e,"height",u,a)}function sLe(t,e,r,n){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${r}, ${n})`}}function D6t(t){if(We(["quantile","threshold","log","symlog"],t))return"greedy"}function Wle(t){let e=tr(t)?N6t(t):I6t(t);return t.component.legends=e,e}function N6t(t){let{encoding:e}=t,r={};for(let n of[mn,...Nj]){let i=er(e[n]);!i||!t.getScaleComponent(n)||n===nn&&se(i)&&i.type===H0||(r[n]=L6t(t,n))}return r}function F6t(t,e){let r=t.scaleName(e);if(t.mark==="trail"){if(e==="color")return{stroke:r};if(e==="size")return{strokeWidth:r}}return e==="color"?t.markDef.filled?{fill:r}:{stroke:r}:{[e]:r}}function w6t(t,e,r,n){switch(e){case"disable":return r!==void 0;case"values":return!!r?.values;case"title":if(e==="title"&&t===n?.title)return!0}return t===(r||{})[e]}function L6t(t,e){var r,n,i;let s=t.legend(e),{markDef:o,encoding:a,config:u}=t,l=u.legend,c=new lH({},F6t(t,e));w9e(t,e,c);let f=s!==void 0?!s:l.disable;if(c.set("disable",f,s!==void 0),f)return c;s=s||{};let x=t.getScaleComponent(e).get("type"),d=er(a[e]),h=se(d)?(r=on(d.timeUnit))===null||r===void 0?void 0:r.unit:void 0,p=s.orient||u.legend.orient||"right",m=oLe({legend:s,channel:e,timeUnit:h,scaleType:x}),g=aLe({legend:s,legendType:m,orient:p,legendConfig:l}),y={legend:s,channel:e,model:t,markDef:o,encoding:a,fieldOrDatumDef:d,legendConfig:l,config:u,scaleType:x,orient:p,legendType:m,direction:g};for(let b of Gle){if(m==="gradient"&&b.startsWith("symbol")||m==="symbol"&&b.startsWith("gradient"))continue;let R=b in Vle?Vle[b](y):s[b];if(R!==void 0){let O=w6t(R,b,s,t.fieldDef(e));(O||u.legend[b]===void 0)&&c.set(b,R,O)}}let A=(n=s?.encoding)!==null&&n!==void 0?n:{},S=c.get("selections"),T={},v={fieldOrDatumDef:d,model:t,channel:e,legendCmpt:c,legendType:m};for(let b of["labels","legend","title","symbols","gradient","entries"]){let R=aH((i=A[b])!==null&&i!==void 0?i:{},t),O=b in Qle?Qle[b](R,v):R;O!==void 0&&!mt(O)&&(T[b]=Object.assign(Object.assign(Object.assign({},S?.length&&se(d)?{name:`${It(d.field)}_legend_${b}`}:{}),S?.length?{interactive:!!S}:{}),{update:O}))}return mt(T)||c.set("encode",T,!!s?.encoding),c}function I6t(t){let{legends:e,resolve:r}=t.component;for(let n of t.children){Wle(n);for(let i of H(n.component.legends))r.legend[i]=d_(t.component.resolve,i),r.legend[i]==="shared"&&(e[i]=Yle(e[i],n.component.legends[i]),e[i]||(r.legend[i]="independent",delete e[i]))}for(let n of H(e))for(let i of t.children)i.component.legends[n]&&r.legend[n]==="shared"&&delete i.component.legends[n];return e}function Yle(t,e){var r,n,i,s;if(!t)return e.clone();let o=t.getWithExplicit("orient"),a=e.getWithExplicit("orient");if(o.explicit&&a.explicit&&o.value!==a.value)return;let u=!1;for(let l of Gle){let c=Da(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return M6t(f,x);case"title":return lB(f,x);case"type":return u=!0,uo("symbol")}return t_(f,x,l,"legend")});t.setWithExplicit(l,c)}return u&&(!((n=(r=t.implicit)===null||r===void 0?void 0:r.encode)===null||n===void 0)&&n.gradient&&Hk(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&Hk(t.explicit,["encode","gradient"])),t}function M6t(t,e){return e.value==="circle"?e:t}var P6t=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function k6t(t,e,r,n){var i,s,o,a,u;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(a=t.encode)[e])!==null&&s!==void 0||(a[e]={}),(o=(u=t.encode[e]).update)!==null&&o!==void 0||(u.update={}),t.encode[e].update[r]=n}function fH(t){let e=t.component.legends,r={};for(let i of H(e)){let s=t.getScaleComponent(i),o=jt(s.get("domains"));if(r[o])for(let a of r[o])Yle(a,e[i])||r[o].push(e[i]);else r[o]=[e[i].clone()]}return rn(r).flat().map(i=>B6t(i,t.config)).filter(i=>i!==void 0)}function B6t(t,e){var r,n,i;let s=t.combine(),{disable:o,labelExpr:a,selections:u}=s,l=P6t(s,["disable","labelExpr","selections"]);if(!o){if(e.aria===!1&&l.aria==null&&(l.aria=!1),!((r=l.encode)===null||r===void 0)&&r.symbols){let c=l.encode.symbols.update;c.fill&&c.fill.value!=="transparent"&&!c.stroke&&!l.stroke&&(c.stroke={value:"transparent"});for(let f of Nj)l[f]&&delete c[f]}if(l.title||delete l.title,a!==void 0){let c=a;!((i=(n=l.encode)===null||n===void 0?void 0:n.labels)===null||i===void 0)&&i.update&&be(l.encode.labels.update.text)&&(c=af(a,"datum.label",l.encode.labels.update.text.signal)),k6t(l,"labels","text",{signal:c})}return l}}function uLe(t){return Dl(t)||h_(t)?q6t(t):lLe(t)}function q6t(t){return t.children.reduce((e,r)=>e.concat(r.assembleProjections()),lLe(t))}function lLe(t){let e=t.component.projection;if(!e||e.merged)return[];let r=e.combine(),{name:n}=r;if(e.data){let i={signal:`[${e.size.map(o=>o.signal).join(", ")}]`},s=e.data.reduce((o,a)=>{let u=be(a)?a.signal:`data('${t.lookupDataSource(a)}')`;return We(o,u)||o.push(u),o},[]);if(s.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:n,size:i,fit:{signal:s.length>1?`[${s.join(", ")}]`:s[0]}},r)]}else return[Object.assign(Object.assign({name:n},{translate:{signal:"[width / 2, height / 2]"}}),r)]}var cLe=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];var RD=class extends ao{constructor(e,r,n,i){super(Object.assign({},r),{name:e}),this.specifiedProjection=r,this.size=n,this.data=i,this.merged=!1}get isFit(){return!!this.data}};function Kle(t){t.component.projection=tr(t)?U6t(t):H6t(t)}function U6t(t){var e;if(t.hasProjection){let r=Qn(t.specifiedProjection),n=!(r&&(r.scale!=null||r.translate!=null)),i=n?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=n?$6t(t):void 0,o=new RD(t.projectionName(!0),Object.assign(Object.assign({},(e=Qn(t.config.projection))!==null&&e!==void 0?e:{}),r??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function $6t(t){let e=[],{encoding:r}=t;for(let n of[[Oo,Ro],[hs,js]])(er(r[n[0]])||er(r[n[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(nn)&&t.typedFieldDef(nn).type===H0&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Pt.Main)),e}function j6t(t,e){let r=Wee(cLe,i=>!!(!Fe(t.explicit,i)&&!Fe(e.explicit,i)||Fe(t.explicit,i)&&Fe(e.explicit,i)&&la(t.get(i),e.get(i))));if(la(t.size,e.size)){if(r)return t;if(la(t.explicit,{}))return e;if(la(e.explicit,{}))return t}return null}function H6t(t){if(t.children.length===0)return;let e;for(let n of t.children)Kle(n);let r=Wee(t.children,n=>{let i=n.component.projection;if(i)if(e){let s=j6t(e,i);return s&&(e=s),!!s}else return e=i,!0;else return!0});if(e&&r){let n=t.projectionName(!0),i=new RD(n,e.specifiedProjection,e.size,we(e.data));for(let s of t.children){let o=s.component.projection;o&&(o.isFit&&i.data.push(...s.component.projection.data),s.renameProjection(o.get("name"),n),o.merged=!0)}return i}}var z6t=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function G6t(t,e,r,n){var i,s;if(Lf(e,r)){let o=tr(t)?(s=(i=t.axis(r))!==null&&i!==void 0?i:t.legend(r))!==null&&s!==void 0?s:{}:{},a=ue(e,{expr:"datum"}),u=ue(e,{expr:"datum",binSuffix:"end"});return{formulaAs:ue(e,{binSuffix:"range",forAs:!0}),formula:z4(a,u,o.format,o.formatType,n)}}return{}}function xLe(t,e){return`${iB(t)}_${e}`}function Q6t(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function p_(t,e,r){var n;let i=(n=gv(r,void 0))!==null&&n!==void 0?n:{},s=xLe(i,e);return t.getName(`${s}_bins`)}function V6t(t){return"as"in t}function fLe(t,e,r){let n,i;V6t(t)?n=he(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:n=[ue(t,{forAs:!0}),ue(t,{binSuffix:"end",forAs:!0})];let s=Object.assign({},gv(e,void 0)),o=xLe(s,t.field),{signal:a,extentSignal:u}=Q6t(r,o);if(mv(s.extent)){let c=s.extent;i=Qj(r,c.param,c),delete s.extent}let l=Object.assign(Object.assign(Object.assign({bin:s,field:t.field,as:[n]},a?{signal:a}:{}),u?{extentSignal:u}:{}),i?{span:i}:{});return{key:o,binComponent:l}}var Q0=class t extends Ge{constructor(e,r){super(e),this.bins=r}clone(){return new t(null,we(this.bins))}static makeFromEncoding(e,r){let n=r.reduceFieldDef((i,s,o)=>{if(pi(s)&&St(s.bin)){let{key:a,binComponent:u}=fLe(s,s.bin,r);i[a]=Object.assign(Object.assign(Object.assign({},u),i[a]),G6t(r,s,o,r.config))}return i},{});return mt(n)?null:new t(e,n)}static makeFromTransform(e,r,n){let{key:i,binComponent:s}=fLe(r,r.bin,n);return new t(e,{[i]:s})}merge(e,r){for(let n of H(e.bins))n in this.bins?(r(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=To([...this.bins[n].as,...e.bins[n].as],$e)):this.bins[n]=e.bins[n];for(let n of e.children)e.removeChild(n),n.parent=this;e.remove()}producedFields(){return new Set(rn(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(rn(this.bins).map(e=>e.field))}hash(){return`Bin ${$e(this.bins)}`}assemble(){return rn(this.bins).flatMap(e=>{let r=[],[n,...i]=e.as,s=e.bin,{extent:o}=s,a=z6t(s,["extent"]),u=Object.assign(Object.assign(Object.assign({type:"bin",field:li(e.field),as:n,signal:e.signal},mv(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),a);!o&&e.extentSignal&&(r.push({type:"extent",field:li(e.field),signal:e.extentSignal}),u.extent={signal:e.extentSignal}),r.push(u);for(let l of i)for(let c=0;c<2;c++)r.push({type:"formula",expr:ue({field:n[c]},{expr:"datum"}),as:l[c]});return e.formula&&r.push({type:"formula",expr:e.formula,as:e.formulaAs}),r})}};function W6t(t,e,r,n){var i;let s=tr(n)?n.encoding[Gs(e)]:void 0;if(pi(r)&&tr(n)&&pj(r,s,n.markDef,n.config))t.add(ue(r,{})),t.add(ue(r,{suffix:"end"})),r.bin&&Lf(r,e)&&t.add(ue(r,{binSuffix:"range"}));else if(O_e(e)){let o=R_e(e);t.add(n.getName(o))}else t.add(ue(r));return Tl(r)&&_7e((i=r.scale)===null||i===void 0?void 0:i.range)&&t.add(r.scale.range.field),t}function Y6t(t,e){var r;for(let n of H(e)){let i=e[n];for(let s of H(i))n in t?t[n][s]=new Set([...(r=t[n][s])!==null&&r!==void 0?r:[],...i[s]]):t[n]={[s]:i[s]}}}var Cu=class t extends Ge{constructor(e,r,n){super(e),this.dimensions=r,this.measures=n}clone(){return new t(null,new Set(this.dimensions),we(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,r){let n=!1;r.forEachFieldDef(o=>{o.aggregate&&(n=!0)});let i={},s=new Set;return!n||(r.forEachFieldDef((o,a)=>{var u,l,c,f;let{aggregate:x,field:d}=o;if(x)if(x==="count")(u=i["*"])!==null&&u!==void 0||(i["*"]={}),i["*"].count=new Set([ue(o,{forAs:!0})]);else{if(pu(x)||sl(x)){let h=pu(x)?"argmin":"argmax",p=x[h];(l=i[p])!==null&&l!==void 0||(i[p]={}),i[p][h]=new Set([ue({op:h,field:p},{forAs:!0})])}else(c=i[d])!==null&&c!==void 0||(i[d]={}),i[d][x]=new Set([ue(o,{forAs:!0})]);Qs(a)&&r.scaleDomain(a)==="unaggregated"&&((f=i[d])!==null&&f!==void 0||(i[d]={}),i[d].min=new Set([ue({field:d,aggregate:"min"},{forAs:!0})]),i[d].max=new Set([ue({field:d,aggregate:"max"},{forAs:!0})]))}else W6t(s,a,o,r)}),s.size+H(i).length===0)?null:new t(e,s,i)}static makeFromTransform(e,r){var n,i,s;let o=new Set,a={};for(let u of r.aggregate){let{op:l,field:c,as:f}=u;l&&(l==="count"?((n=a["*"])!==null&&n!==void 0||(a["*"]={}),a["*"].count=new Set([f||ue(u,{forAs:!0})])):((i=a[c])!==null&&i!==void 0||(a[c]={}),a[c][l]=new Set([f||ue(u,{forAs:!0})])))}for(let u of(s=r.groupby)!==null&&s!==void 0?s:[])o.add(u);return o.size+H(a).length===0?null:new t(e,o,a)}merge(e){return v_e(this.dimensions,e.dimensions)?(Y6t(this.measures,e.measures),!0):(sbe("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...H(this.measures)])}producedFields(){let e=new Set;for(let r of H(this.measures))for(let n of H(this.measures[r])){let i=this.measures[r][n];i.size===0?e.add(`${n}_${r}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${$e({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let e=[],r=[],n=[];for(let s of H(this.measures))for(let o of H(this.measures[s]))for(let a of this.measures[s][o])n.push(a),e.push(o),r.push(s==="*"?null:li(s));return{type:"aggregate",groupby:[...this.dimensions].map(li),ops:e,fields:r,as:n}}};var Fl=class extends Ge{constructor(e,r,n,i){super(e),this.model=r,this.name=n,this.data=i;for(let s of ji){let o=r.facet[s];if(o){let{bin:a,sort:u}=o;this[s]=Object.assign({name:r.getName(`${s}_domain`),fields:[ue(o),...St(a)?[ue(o,{binSuffix:"end"})]:[]]},Xi(u)?{sortField:u}:j(u)?{sortIndexField:$f(o,s)}:{})}}this.childModel=r.child}hash(){let e="Facet";for(let r of ji)this[r]&&(e+=` ${r.charAt(0)}:${$e(this[r])}`);return e}get fields(){var e;let r=[];for(let n of ji)!((e=this[n])===null||e===void 0)&&e.fields&&r.push(...this[n].fields);return r}dependentFields(){let e=new Set(this.fields);for(let r of ji)this[r]&&(this[r].sortField&&e.add(this[r].sortField.field),this[r].sortIndexField&&e.add(this[r].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let e={};for(let r of ci){let n=this.childModel.component.scales[r];if(n&&!n.merged){let i=n.get("type"),s=n.get("range");if(or(i)&&Vs(s)){let o=f1(this.childModel,r),a=m_(o);a?e[r]=a:K(z.unknownField(r))}}}return e}assembleRowColumnHeaderData(e,r,n){let i={row:"y",column:"x",facet:void 0}[e],s=[],o=[],a=[];i&&n&&n[i]&&(r?(s.push(`distinct_${n[i]}`),o.push("max")):(s.push(n[i]),o.push("distinct")),a.push(`distinct_${n[i]}`));let{sortField:u,sortIndexField:l}=this[e];if(u){let{op:c=J2,field:f}=u;s.push(f),o.push(c),a.push(ue(u,{forAs:!0}))}else l&&(s.push(l),o.push("max"),a.push(l));return{name:this[e].name,source:r??this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},s.length?{fields:s,ops:o,as:a}:{})]}}assembleFacetHeaderData(e){var r,n;let{columns:i}=this.model.layout,{layoutHeaders:s}=this.model.component,o=[],a={};for(let c of c_){for(let f of f_){let x=(r=s[c]&&s[c][f])!==null&&r!==void 0?r:[];for(let d of x)if(((n=d.axes)===null||n===void 0?void 0:n.length)>0){a[c]=!0;break}}if(a[c]){let f=`length(data("${this.facet.name}"))`,x=c==="row"?i?{signal:`ceil(${f} / ${i})`}:1:i?{signal:`min(${f}, ${i})`}:{signal:f};o.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:x}]})}}let{row:u,column:l}=a;return(u||l)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}assemble(){var e,r;let n=[],i=null,s=this.getChildIndependentFieldsWithStep(),{column:o,row:a,facet:u}=this;if(o&&a&&(s.x||s.y)){i=`cross_${this.column.name}_${this.row.name}`;let l=[].concat((e=s.x)!==null&&e!==void 0?e:[],(r=s.y)!==null&&r!==void 0?r:[]),c=l.map(()=>"distinct");n.push({name:i,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:c}]})}for(let l of[fa,ca])this[l]&&n.push(this.assembleRowColumnHeaderData(l,i,s));if(u){let l=this.assembleFacetHeaderData(s);l&&n.push(...l)}return n}};function dLe(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function K6t(t,e){let r=zk(t);if(e==="number")return`toNumber(${r})`;if(e==="boolean")return`toBoolean(${r})`;if(e==="string")return`toString(${r})`;if(e==="date")return`toDate(${r})`;if(e==="flatten")return r;if(e.startsWith("date:")){let n=dLe(e.slice(5,e.length));return`timeParse(${r},'${n}')`}else if(e.startsWith("utc:")){let n=dLe(e.slice(4,e.length));return`utcParse(${r},'${n}')`}else return K(z.unrecognizedParse(e)),null}function hLe(t){let e={};return uR(t.filter,r=>{var n;if(dte(r)){let i=null;fB(r)?i=Hi(r.equal):dB(r)?i=Hi(r.lte):xB(r)?i=Hi(r.lt):hB(r)?i=Hi(r.gt):pB(r)?i=Hi(r.gte):mB(r)?i=r.range[0]:gB(r)&&(i=((n=r.oneOf)!==null&&n!==void 0?n:r.in)[0]),i&&(ol(i)?e[r.field]="date":Ct(i)?e[r.field]="number":he(i)&&(e[r.field]="string")),r.timeUnit&&(e[r.field]="date")}}),e}function pLe(t){let e={};function r(n){vd(n)?e[n.field]="date":n.type==="quantitative"&&Q_e(n.aggregate)?e[n.field]="number":lv(n.field)>1?n.field in e||(e[n.field]="flatten"):Tl(n)&&Xi(n.sort)&&lv(n.sort.field)>1&&(n.sort.field in e||(e[n.sort.field]="flatten"))}if((tr(t)||Ji(t))&&t.forEachFieldDef((n,i)=>{if(pi(n))r(n);else{let s=hu(i),o=t.fieldDef(s);r(Object.assign(Object.assign({},n),{type:o.type}))}}),tr(t)){let{mark:n,markDef:i,encoding:s}=t;if(so(n)&&!t.encoding.order){let o=i.orient==="horizontal"?"y":"x",a=s[o];se(a)&&a.type==="quantitative"&&!(a.field in e)&&(e[a.field]="number")}}return e}function mLe(t){let e={};if(tr(t)&&t.component.selection)for(let r of H(t.component.selection)){let n=t.component.selection[r];for(let i of n.project.items)!i.channel&&lv(i.field)>1&&(e[i.field]="flatten")}return e}var Zi=class t extends Ge{constructor(e,r){super(e),this._parse=r}clone(){return new t(null,we(this._parse))}hash(){return`Parse ${$e(this._parse)}`}static makeExplicit(e,r,n){var i;let s={},o=r.data;return!z0(o)&&(!((i=o?.format)===null||i===void 0)&&i.parse)&&(s=o.format.parse),this.makeWithAncestors(e,s,{},n)}static makeWithAncestors(e,r,n,i){for(let a of H(n)){let u=i.getWithExplicit(a);u.value!==void 0&&(u.explicit||u.value===n[a]||u.value==="derived"||n[a]==="flatten"?delete n[a]:K(z.differentParse(a,n[a],u.value)))}for(let a of H(r)){let u=i.get(a);u!==void 0&&(u===r[a]?delete r[a]:K(z.differentParse(a,r[a],u)))}let s=new ao(r,n);i.copyAll(s);let o={};for(let a of H(s.combine())){let u=s.get(a);u!==null&&(o[a]=u)}return H(o).length===0||i.parseNothing?null:new t(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}assembleFormatParse(){let e={};for(let r of H(this._parse)){let n=this._parse[r];lv(r)===1&&(e[r]=n)}return e}producedFields(){return new Set(H(this._parse))}dependentFields(){return new Set(H(this._parse))}assembleTransforms(e=!1){return H(this._parse).filter(r=>e?lv(r)>1:!0).map(r=>{let n=K6t(r,this._parse[r]);return n?{type:"formula",expr:n,as:Gk(r)}:null}).filter(r=>r!==null)}};var V0=class t extends Ge{clone(){return new t(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([r1])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:r1}}};var x1=class t extends Ge{constructor(e,r){super(e),this.params=r}clone(){return new t(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${$e(this.params)}`}assemble(){return Object.assign({type:"graticule"},this.params===!0?{}:this.params)}};var d1=class t extends Ge{constructor(e,r){super(e),this.params=r}clone(){return new t(null,this.params)}dependentFields(){return new Set}producedFields(){var e;return new Set([(e=this.params.as)!==null&&e!==void 0?e:"data"])}hash(){return`Hash ${$e(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}};var wa=class extends Ge{constructor(e){super(null),e??(e={name:"source"});let r;if(z0(e)||(r=e.format?Object.assign({},Gn(e.format,["parse"])):{}),k3(e))this._data={values:e.values};else if(Rd(e)){if(this._data={url:e.url},!r.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];We(["json","csv","tsv","dsv","topojson"],n)||(n="json"),r.type=n}}else Rle(e)?this._data={values:[{type:"Sphere"}]}:(zj(e)||z0(e))&&(this._data={});this._generator=z0(e),e.name&&(this._name=e.name),r&&!mt(r)&&(this._data.format=r)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}};var gLe=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},X6t=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},OD;function xH(t){return t instanceof wa||t instanceof x1||t instanceof d1}var g_=class{constructor(){OD.set(this,void 0),gLe(this,OD,!1,"f")}setModified(){gLe(this,OD,!0,"f")}get modifiedFlag(){return X6t(this,OD,"f")}};OD=new WeakMap;var jf=class extends g_{getNodeDepths(e,r,n){n.set(e,r);for(let i of e.children)this.getNodeDepths(i,r+1,n);return n}optimize(e){let n=[...this.getNodeDepths(e,0,new Map).entries()].sort((i,s)=>s[1]-i[1]);for(let i of n)this.run(i[0]);return this.modifiedFlag}},y_=class extends g_{optimize(e){this.run(e);for(let r of e.children)this.optimize(r);return this.modifiedFlag}};var dH=class extends y_{mergeNodes(e,r){let n=r.shift();for(let i of r)e.removeChild(i),i.parent=n,i.remove()}run(e){let r=e.children.map(i=>i.hash()),n={};for(let i=0;i<r.length;i++)n[r[i]]===void 0?n[r[i]]=[e.children[i]]:n[r[i]].push(e.children[i]);for(let i of H(n))n[i].length>1&&(this.setModified(),this.mergeNodes(e,n[i]))}},hH=class extends y_{constructor(e){super(),this.requiresSelectionId=e&&bD(e)}run(e){e instanceof V0&&(this.requiresSelectionId&&(xH(e.parent)||e.parent instanceof Cu||e.parent instanceof Zi)||(this.setModified(),e.remove()))}},pH=class extends g_{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,r){let n=new Set;e instanceof Rl&&(n=e.producedFields(),Yee(n,r)&&(this.setModified(),e.removeFormulas(r),e.producedFields.length===0&&e.remove()));for(let i of e.children)this.run(i,new Set([...r,...n]))}},mH=class extends y_{constructor(){super()}run(e){e instanceof un&&!e.isRequired()&&(this.setModified(),e.remove())}},gH=class extends jf{run(e){if(!xH(e)&&!(e.numChildren()>1)){for(let r of e.children)if(r instanceof Zi)if(e instanceof Zi)this.setModified(),e.merge(r);else{if(Kee(e.producedFields(),r.dependentFields()))continue;this.setModified(),r.swapWithParent()}}}},yH=class extends jf{run(e){let r=[...e.children],n=e.children.filter(i=>i instanceof Zi);if(e.numChildren()>1&&n.length>=1){let i={},s=new Set;for(let o of n){let a=o.parse;for(let u of H(a))u in i?i[u]!==a[u]&&s.add(u):i[u]=a[u]}for(let o of s)delete i[o];if(!mt(i)){this.setModified();let o=new Zi(e,i);for(let a of r){if(a instanceof Zi)for(let u of H(i))delete a.parse[u];e.removeChild(a),a.parent=o,a instanceof Zi&&H(a.parse).length===0&&a.remove()}}}}},EH=class extends jf{run(e){e instanceof un||e.numChildren()>0||e instanceof Fl||e instanceof wa||(this.setModified(),e.remove())}},AH=class extends jf{run(e){let r=e.children.filter(i=>i instanceof Rl),n=r.pop();for(let i of r)this.setModified(),n.merge(i)}},SH=class extends jf{run(e){let r=e.children.filter(i=>i instanceof Cu),n={};for(let i of r){let s=$e(i.groupBy);s in n||(n[s]=[]),n[s].push(i)}for(let i of H(n)){let s=n[i];if(s.length>1){let o=s.pop();for(let a of s)o.merge(a)&&(e.removeChild(a),a.parent=o,a.remove(),this.setModified())}}}},vH=class extends jf{constructor(e){super(),this.model=e}run(e){let r=!(xH(e)||e instanceof Uf||e instanceof Zi||e instanceof V0),n=[],i=[];for(let s of e.children)s instanceof Q0&&(r&&!Kee(e.producedFields(),s.dependentFields())?n.push(s):i.push(s));if(n.length>0){let s=n.pop();for(let o of n)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Q0?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(i.length>1){let s=i.pop();for(let o of i)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}},_H=class extends jf{run(e){let r=[...e.children];if(!Gx(r,o=>o instanceof un)||e.numChildren()<=1)return;let i=[],s;for(let o of r)if(o instanceof un){let a=o;for(;a.numChildren()===1;){let[u]=a.children;if(u instanceof un)a=u;else break}i.push(...a.children),s?(e.removeChild(o),o.parent=s.parent,s.parent.removeChild(s),s.parent=a,this.setModified()):s=a}else i.push(o);if(i.length){this.setModified();for(let o of i)o.parent.removeChild(o),o.parent=s}}};var W0=class t extends Ge{constructor(e,r){super(e),this.transform=r}clone(){return new t(null,we(this.transform))}addDimensions(e){this.transform.groupby=To(this.transform.groupby.concat(e),r=>r)}dependentFields(){let e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(r=>r.field).filter(r=>r!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){var r;return(r=e.as)!==null&&r!==void 0?r:ue(e)}hash(){return`JoinAggregateTransform ${$e(this.transform)}`}assemble(){let e=[],r=[],n=[];for(let s of this.transform.joinaggregate)r.push(s.op),n.push(this.getDefaultName(s)),e.push(s.field===void 0?null:s.field);let i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:n,ops:r,fields:e},i!==void 0?{groupby:i}:{})}};function Z6t(t){return t.stack.stackBy.reduce((e,r)=>{let n=r.fieldDef,i=ue(n);return i&&e.push(i),e},[])}function eDt(t){return j(t)&&t.every(e=>he(e))&&t.length>1}var Hf=class t extends Ge{constructor(e,r){super(e),this._stack=r}clone(){return new t(null,we(this._stack))}static makeFromTransform(e,r){let{stack:n,groupby:i,as:s,offset:o="zero"}=r,a=[],u=[];if(r.sort!==void 0)for(let f of r.sort)a.push(f.field),u.push(Mt(f.order,"ascending"));let l={field:a,order:u},c;return eDt(s)?c=s:he(s)?c=[s,`${s}_end`]:c=[`${r.stack}_start`,`${r.stack}_end`],new t(e,{dimensionFieldDefs:[],stackField:n,groupby:i,offset:o,sort:l,facetby:[],as:c})}static makeFromEncoding(e,r){let n=r.stack,{encoding:i}=r;if(!n)return null;let{groupbyChannels:s,fieldChannel:o,offset:a,impute:u}=n,l=s.map(d=>{let h=i[d];return vs(h)}).filter(d=>!!d),c=Z6t(r),f=r.encoding.order,x;return j(f)||se(f)?x=uB(f):x=c.reduce((d,h)=>(d.field.push(h),d.order.push(o==="y"?"descending":"ascending"),d),{field:[],order:[]}),new t(e,{dimensionFieldDefs:l,stackField:r.vgField(o),facetby:[],stackby:c,sort:x,offset:a,impute:u,as:[r.vgField(o,{suffix:"start",forAs:!0}),r.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){let e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${$e(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:e,impute:r,groupby:n}=this._stack;return e.length>0?e.map(i=>i.bin?r?[ue(i,{binSuffix:"mid"})]:[ue(i,{}),ue(i,{binSuffix:"end"})]:[ue(i)]).flat():n??[]}assemble(){let e=[],{facetby:r,dimensionFieldDefs:n,stackField:i,stackby:s,sort:o,offset:a,impute:u,as:l}=this._stack;if(u)for(let c of n){let{bandPosition:f=.5,bin:x}=c;if(x){let d=ue(c,{expr:"datum"}),h=ue(c,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${f}*${d}+${1-f}*${h}`,as:ue(c,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...s,...r],key:ue(c,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...r],field:i,sort:o,as:l,offset:a}),e}};var Fd=class t extends Ge{constructor(e,r){super(e),this.transform=r}clone(){return new t(null,we(this.transform))}addDimensions(e){this.transform.groupby=To(this.transform.groupby.concat(e),r=>r)}dependentFields(){var e,r;let n=new Set;return((e=this.transform.groupby)!==null&&e!==void 0?e:[]).forEach(n.add,n),((r=this.transform.sort)!==null&&r!==void 0?r:[]).forEach(i=>n.add(i.field)),this.transform.window.map(i=>i.field).filter(i=>i!==void 0).forEach(n.add,n),n}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){var r;return(r=e.as)!==null&&r!==void 0?r:ue(e)}hash(){return`WindowTransform ${$e(this.transform)}`}assemble(){var e;let r=[],n=[],i=[],s=[];for(let x of this.transform.window)n.push(x.op),i.push(this.getDefaultName(x)),s.push(x.param===void 0?null:x.param),r.push(x.field===void 0?null:x.field);let o=this.transform.frame,a=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&n.every(x=>pv(x)))return Object.assign({type:"joinaggregate",as:i,ops:n,fields:r},a!==void 0?{groupby:a}:{});let u=[],l=[];if(this.transform.sort!==void 0)for(let x of this.transform.sort)u.push(x.field),l.push((e=x.order)!==null&&e!==void 0?e:"ascending");let c={field:u,order:l},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:s,as:i,ops:n,fields:r,sort:c},f!==void 0?{ignorePeers:f}:{}),a!==void 0?{groupby:a}:{}),o!==void 0?{frame:o}:{})}};function tDt(t){function e(r){if(!(r instanceof Fl)){let n=r.clone();if(n instanceof un){let i=DD+n.getSource();n.setSource(i),t.model.component.data.outputNodes[i]=n}else(n instanceof Cu||n instanceof Hf||n instanceof Fd||n instanceof W0)&&n.addDimensions(t.fields);for(let i of r.children.flatMap(e))i.parent=n;return[n]}return r.children.flatMap(e)}return e}function bH(t){if(t instanceof Fl)if(t.numChildren()===1&&!(t.children[0]instanceof un)){let e=t.children[0];(e instanceof Cu||e instanceof Hf||e instanceof Fd||e instanceof W0)&&e.addDimensions(t.fields),e.swapWithParent(),bH(t)}else{let e=t.model.component.data.main;yLe(e);let r=tDt(t),n=t.children.map(r).flat();for(let i of n)i.parent=e}else t.children.map(bH)}function yLe(t){if(t instanceof un&&t.type===Pt.Main&&t.numChildren()===1){let e=t.children[0];e instanceof Fl||(e.swapWithParent(),yLe(t))}}var DD="scale_",TH=5;function Xle(t){for(let e of t){for(let r of e.children)if(r.parent!==e)return!1;if(!Xle(e.children))return!1}return!0}function Y0(t,e){let r=!1;for(let n of e)r=t.optimize(n)||r;return r}function ELe(t,e,r){let n=t.sources,i=!1;return i=Y0(new mH,n)||i,i=Y0(new hH(e),n)||i,n=n.filter(s=>s.numChildren()>0),i=Y0(new EH,n)||i,n=n.filter(s=>s.numChildren()>0),r||(i=Y0(new gH,n)||i,i=Y0(new vH(e),n)||i,i=Y0(new pH,n)||i,i=Y0(new yH,n)||i,i=Y0(new SH,n)||i,i=Y0(new AH,n)||i,i=Y0(new dH,n)||i,i=Y0(new _H,n)||i),t.sources=n,i}function ALe(t,e){Xle(t.sources);let r=0,n=0;for(let i=0;i<TH&&ELe(t,e,!0);i++)r++;t.sources.map(bH);for(let i=0;i<TH&&ELe(t,e,!1);i++)n++;Xle(t.sources),Math.max(r,n)===TH&&K(`Maximum optimization runs(${TH}) reached.`)}var _s=class t{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,r){return new t(()=>e(r))}};var rDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function t0e(t){tr(t)?nDt(t):iDt(t)}function nDt(t){let e=t.component.scales;for(let r of H(e)){let n=oDt(t,r);if(e[r].setWithExplicit("domains",n),uDt(t,r),t.component.data.isFaceted){let s=t;for(;!Ji(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[r]==="shared")for(let a of n.value)E0(a)&&(a.data=DD+a.data.replace(DD,""))}}}function iDt(t){for(let r of t.children)t0e(r);let e=t.component.scales;for(let r of H(e)){let n,i=null;for(let s of t.children){let o=s.component.scales[r];if(o){n===void 0?n=o.getWithExplicit("domains"):n=Da(n,o.getWithExplicit("domains"),"domains","scale",e0e);let a=o.get("selectionExtent");i&&a&&i.param!==a.param&&K(z.NEEDS_SAME_SELECTION),i=a}}e[r].setWithExplicit("domains",n),i&&e[r].set("selectionExtent",i,!0)}}function sDt(t,e,r,n){if(t==="unaggregated"){let{valid:i,reason:s}=SLe(e,r);if(!i){K(s);return}}else if(t===void 0&&n.useUnaggregatedDomain){let{valid:i}=SLe(e,r);if(i)return"unaggregated"}return t}function oDt(t,e){let r=t.getScaleComponent(e).get("type"),{encoding:n}=t,i=sDt(t.scaleDomain(e),t.typedFieldDef(e),r,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),e==="x"&&er(n.x2)?er(n.x)?Da(h1(r,i,t,"x"),h1(r,i,t,"x2"),"domain","scale",e0e):h1(r,i,t,"x2"):e==="y"&&er(n.y2)?er(n.y)?Da(h1(r,i,t,"y"),h1(r,i,t,"y2"),"domain","scale",e0e):h1(r,i,t,"y2"):h1(r,i,t,e)}function aDt(t,e,r){return t.map(n=>({signal:`{data: ${Dg(n,{timeUnit:r,type:e})}}`}))}function Jle(t,e,r){var n;let i=(n=on(r))===null||n===void 0?void 0:n.unit;return e==="temporal"||i?aDt(t,e,i):[t]}function h1(t,e,r,n){let{encoding:i}=r,s=er(i[n]),{type:o}=s,a=s.timeUnit;if(v7e(e)){let f=h1(t,void 0,r,n),x=Jle(e.unionWith,o,a);return Cl([...f.value,...x])}else{if(be(e))return Cl([e]);if(e&&e!=="unaggregated"&&!Hue(e))return Cl(Jle(e,o,a))}let u=r.stack;if(u&&n===u.fieldChannel){if(u.offset==="normalize")return uo([[0,1]]);let f=r.requestDataName(Pt.Main);return uo([{data:f,field:r.vgField(n,{suffix:"start"})},{data:f,field:r.vgField(n,{suffix:"end"})}])}let l=Qs(n)&&se(s)?lDt(r,n,t):void 0;if(oo(s)){let f=Jle([s.datum],o,a);return uo(f)}let c=s;if(e==="unaggregated"){let f=r.requestDataName(Pt.Main),{field:x}=s;return uo([{data:f,field:ue({field:x,aggregate:"min"})},{data:f,field:ue({field:x,aggregate:"max"})}])}else if(St(c.bin)){if(or(t))return t==="bin-ordinal"?uo([]):uo([{data:cR(l)?r.requestDataName(Pt.Main):r.requestDataName(Pt.Raw),field:r.vgField(n,Lf(c,n)?{binSuffix:"range"}:{}),sort:l===!0||!Se(l)?{field:r.vgField(n,{}),op:"min"}:l}]);{let{bin:f}=c;if(St(f)){let x=p_(r,c.field,f);return uo([new _s(()=>{let d=r.getSignalName(x);return`[${d}.start, ${d}.stop]`})])}else return uo([{data:r.requestDataName(Pt.Main),field:r.vgField(n,{})}])}}else if(c.timeUnit&&We(["time","utc"],t)&&pj(c,tr(r)?r.encoding[Gs(n)]:void 0,r.markDef,r.config)){let f=r.requestDataName(Pt.Main);return uo([{data:f,field:r.vgField(n)},{data:f,field:r.vgField(n,{suffix:"end"})}])}else return l?uo([{data:cR(l)?r.requestDataName(Pt.Main):r.requestDataName(Pt.Raw),field:r.vgField(n),sort:l}]):uo([{data:r.requestDataName(Pt.Main),field:r.vgField(n)}])}function Zle(t,e){let{op:r,field:n,order:i}=t;return Object.assign(Object.assign({op:r??(e?"sum":J2)},n?{field:li(n)}:{}),i?{order:i}:{})}function uDt(t,e){var r;let n=t.component.scales[e],i=t.specifiedScales[e].domain,s=(r=t.fieldDef(e))===null||r===void 0?void 0:r.bin,o=Hue(i)&&i,a=g0(s)&&mv(s.extent)&&s.extent;(o||a)&&n.set("selectionExtent",o??a,!0)}function lDt(t,e,r){if(!or(r))return;let n=t.fieldDef(e),i=n.sort;if(fj(i))return{op:"min",field:$f(n,e),order:"ascending"};let{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(a=>a.fieldDef.field)]):void 0;if(Xi(i)){let a=s&&!o.has(i.field);return Zle(i,a)}else if(cj(i)){let{encoding:a,order:u}=i,l=t.fieldDef(a),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(pu(c)||sl(c))return Zle({field:ue(l),order:u},x);if(pv(c)||!c)return Zle({op:c,field:f,order:u},x)}else{if(i==="descending")return{op:"min",field:t.vgField(e),order:"descending"};if(We(["ascending",void 0],i))return!0}}function SLe(t,e){let{aggregate:r,type:n}=t;return r?he(r)&&!W_e.has(r)?{valid:!1,reason:z.unaggregateDomainWithNonSharedDomainOp(r)}:n==="quantitative"&&e==="log"?{valid:!1,reason:z.unaggregatedDomainWithLogScale(t)}:{valid:!0}:{valid:!1,reason:z.unaggregateDomainHasNoEffectForRawField(t)}}function e0e(t,e,r,n){return t.explicit&&e.explicit&&K(z.mergeConflictingDomainProperty(r,n,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function cDt(t){let e=To(t.map(o=>{if(E0(o)){let{sort:a}=o;return rDt(o,["sort"])}return o}),$e),r=To(t.map(o=>{if(E0(o)){let a=o.sort;return a!==void 0&&!cR(a)&&("op"in a&&a.op==="count"&&delete a.field,a.order==="ascending"&&delete a.order),a}}).filter(o=>o!==void 0),$e);if(e.length===0)return;if(e.length===1){let o=t[0];if(E0(o)&&r.length>0){let a=r[0];if(r.length>1)K(z.MORE_THAN_ONE_SORT),a=!0;else if(Se(a)&&"field"in a){let u=a.field;o.field===u&&(a=a.order?{order:a.order}:!0)}return Object.assign(Object.assign({},o),{sort:a})}return o}let n=To(r.map(o=>cR(o)||!("op"in o)||he(o.op)&&o.op in G_e?o:(K(z.domainSortDropped(o)),!0)),$e),i;n.length===1?i=n[0]:n.length>1&&(K(z.MORE_THAN_ONE_SORT),i=!0);let s=To(t.map(o=>E0(o)?o.data:null),o=>o);return s.length===1&&s[0]!==null?Object.assign({data:s[0],fields:e.map(a=>a.field)},i?{sort:i}:{}):Object.assign({fields:e},i?{sort:i}:{})}function m_(t){if(E0(t)&&he(t.field))return t.field;if(Y_e(t)){let e;for(let r of t.fields)if(E0(r)&&he(r.field)){if(!e)e=r.field;else if(e!==r.field)return K(z.FACETED_INDEPENDENT_DIFFERENT_SOURCES),e}return K(z.FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES),e}else if(K_e(t)){K(z.FACETED_INDEPENDENT_SAME_SOURCE);let e=t.fields[0];return he(e)?e:void 0}}function f1(t,e){let n=t.component.scales[e].get("domains").map(i=>(E0(i)&&(i.data=t.lookupDataSource(i.data)),i));return cDt(n)}var fDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function r0e(t){return Dl(t)||h_(t)?t.children.reduce((e,r)=>e.concat(r0e(r)),vLe(t)):vLe(t)}function vLe(t){return H(t.component.scales).reduce((e,r)=>{let n=t.component.scales[r];if(n.merged)return e;let i=n.combine(),{name:s,type:o,selectionExtent:a,domains:u,range:l,reverse:c}=i,f=fDt(i,["name","type","selectionExtent","domains","range","reverse"]),x=xDt(i.range,s,r,t),d=f1(t,r),h=a?E9e(t,a,n,d):null;return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:s,type:o},d?{domain:d}:{}),h?{domainRaw:h}:{}),{range:x}),c!==void 0?{reverse:c}:{}),f)),e},[])}function xDt(t,e,r,n){if(Sr(r)){if(Vs(t))return{step:{signal:`${e}_step`}}}else if(Se(t)&&E0(t))return Object.assign(Object.assign({},t),{data:n.lookupDataSource(t.data)});return t}var ND=class extends ao{constructor(e,r){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",r)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:Gx(this.get("domains"),e=>j(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}};var dDt=["range","scheme"];function CLe(t){let e=t.component.scales;for(let r of r2){let n=e[r];if(!n)continue;let i=hDt(r,t);n.setWithExplicit("range",i)}}function _Le(t,e){let r=t.fieldDef(e);if(r?.bin){let{bin:n,field:i}=r,s=sn(e),o=t.getName(s);if(Se(n)&&n.binned&&n.step!==void 0)return new _s(()=>{let a=t.scaleName(e),u=`(domain("${a}")[1] - domain("${a}")[0]) / ${n.step}`;return`${t.getSignalName(o)} / (${u})`});if(St(n)){let a=p_(t,i,n);return new _s(()=>{let u=t.getSignalName(a),l=`(${u}.stop - ${u}.start) / ${u}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function hDt(t,e){let r=e.specifiedScales[t],{size:n}=e,s=e.getScaleComponent(t).get("type");for(let f of dDt)if(r[f]!==void 0){let x=eD(s,f),d=nj(t,f);if(!x)K(z.scalePropertyNotWorkWithScaleType(s,f,t));else if(d)K(d);else switch(f){case"range":{let h=r.range;if(j(h)){if(Sr(t))return Cl(h.map(p=>{if(p==="width"||p==="height"){let m=e.getName(p),g=e.getSignalName.bind(e);return _s.fromName(g,m)}return p}))}else if(Se(h))return Cl({data:e.requestDataName(Pt.Main),field:h.field,sort:{op:"min",field:e.vgField(t)}});return Cl(h)}case"scheme":return Cl(pDt(r[f]))}}let o=t===Ht||t==="xOffset"?"width":"height",a=n[o];if(Oa(a)){if(Sr(t))if(or(s)){let f=RLe(a,e,t);if(f)return Cl({step:f})}else K(z.stepDropped(o));else if(m0(t)){let f=t===nl?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){let h=OLe(a,s);if(h)return Cl(h)}}}let{rangeMin:u,rangeMax:l}=r,c=mDt(t,e);return(u!==void 0||l!==void 0)&&eD(s,"rangeMin")&&j(c)&&c.length===2?Cl([u??c[0],l??c[1]]):uo(c)}function pDt(t){return S7e(t)?Object.assign({scheme:t.name},Gn(t,["name"])):{scheme:t}}function mDt(t,e){let{size:r,config:n,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:a}=er(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case Ht:case Rr:{if(We(["point","band"],l)){let h=DLe(t,r,n.view);if(Oa(h))return{step:RLe(h,e,t)}}let x=sn(t),d=e.getName(x);return t===Rr&&An(l)?[_s.fromName(o,d),0]:[0,_s.fromName(o,d)]}case nl:case uf:return gDt(t,e,l);case ha:{let x=e.component.scales[t].get("zero"),d=NLe(i,x,n),h=ADt(i,r,e,n);return Ad(l)?EDt(d,h,yDt(l,n,c,t)):[d,h]}case Co:return[0,Math.PI*2];case p0:return[0,360];case da:return[0,new _s(()=>{let x=e.getSignalName("width"),d=e.getSignalName("height");return`min(${x},${d})/2`})];case xu:return[n.scale.minStrokeWidth,n.scale.maxStrokeWidth];case du:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case nn:return"symbol";case mn:case Hs:case zs:return l==="ordinal"?a==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Do:case cu:case fu:return[n.scale.minOpacity,n.scale.maxOpacity]}}function RLe(t,e,r){var n,i,s,o,a;let{encoding:u}=e,l=e.getScaleComponent(r),c=Jk(r),f=u[c];if(gle({step:t,offsetIsDiscrete:Ve(f)&&rj(f.type)})==="offset"&&sle(u,c)){let d=e.getScaleComponent(c),p=`domain('${e.scaleName(c)}').length`;if(d.get("type")==="band"){let g=(i=(n=d.get("paddingInner"))!==null&&n!==void 0?n:d.get("padding"))!==null&&i!==void 0?i:0,y=(o=(s=d.get("paddingOuter"))!==null&&s!==void 0?s:d.get("padding"))!==null&&o!==void 0?o:0;p=`bandspace(${p}, ${g}, ${y})`}let m=(a=l.get("paddingInner"))!==null&&a!==void 0?a:l.get("padding");return{signal:`${t.step} * ${p} / (1-${ebe(m)})`}}else return t.step}function OLe(t,e){if(gle({step:t,offsetIsDiscrete:or(e)})==="offset")return{step:t.step}}function gDt(t,e,r){let n=t===nl?"x":"y",s=e.getScaleComponent(n).get("type"),o=e.scaleName(n);if(s==="band"){let a=DLe(n,e.size,e.config.view);if(Oa(a)){let u=OLe(a,r);if(u)return u}return[0,{signal:`bandwidth('${o}')`}]}else return A_e(`Cannot use ${t} scale if ${n} scale is not discrete.`)}function DLe(t,e,r){let n=t===Ht?"width":"height",i=e[n];return i||J4(r,n)}function yDt(t,e,r,n){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return r!==void 0&&j(r)?r.length+1:(K(z.domainRequiredForThresholdScale(n)),3)}}function EDt(t,e,r){let n=()=>{let i=mu(e),s=mu(t),o=`(${i} - ${s}) / (${r} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return be(e)?new _s(n):{signal:n()}}function NLe(t,e,r){if(e)return be(e)?{signal:`${e.signal} ? 0 : ${NLe(t,!1,r)}`}:0;switch(t){case"bar":case"tick":return r.scale.minBandSize;case"line":case"trail":case"rule":return r.scale.minStrokeWidth;case"text":return r.scale.minFontSize;case"point":case"square":case"circle":return r.scale.minSize}throw new Error(z.incompatibleChannel("size",t))}var bLe=.95;function ADt(t,e,r,n){let i={x:_Le(r,"x"),y:_Le(r,"y")};switch(t){case"bar":case"tick":{if(n.scale.maxBandSize!==void 0)return n.scale.maxBandSize;let s=TLe(e,i,n.view);return Ct(s)?s-1:new _s(()=>`${s.signal} - 1`)}case"line":case"trail":case"rule":return n.scale.maxStrokeWidth;case"text":return n.scale.maxFontSize;case"point":case"square":case"circle":{if(n.scale.maxSize)return n.scale.maxSize;let s=TLe(e,i,n.view);return Ct(s)?Math.pow(bLe*s,2):new _s(()=>`pow(${bLe} * ${s.signal}, 2)`)}}throw new Error(z.incompatibleChannel("size",t))}function TLe(t,e,r){let n=Oa(t.width)?t.width.step:P3(r,"width"),i=Oa(t.height)?t.height.step:P3(r,"height");return e.x||e.y?new _s(()=>`min(${[e.x?e.x.signal:n,e.y?e.y.signal:i].join(", ")})`):Math.min(n,i)}function n0e(t,e){tr(t)?SDt(t,e):wLe(t,e)}function SDt(t,e){let r=t.component.scales,{config:n,encoding:i,markDef:s,specifiedScales:o}=t;for(let a of H(r)){let u=o[a],l=r[a],c=t.getScaleComponent(a),f=er(i[a]),x=u[e],d=c.get("type"),h=c.get("padding"),p=c.get("paddingInner"),m=eD(d,e),g=nj(a,e);if(x!==void 0&&(m?g&&K(g):K(z.scalePropertyNotWorkWithScaleType(d,e,a))),m&&g===void 0)if(x!==void 0){let y=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":ol(u[e])||A==="temporal"||y?l.set(e,{signal:Dg(u[e],{type:A,timeUnit:y})},!0):l.set(e,u[e],!0);break;default:l.copyKeyFromObject(e,u)}}else{let y=e in FLe?FLe[e]({model:t,channel:a,fieldOrDatumDef:f,scaleType:d,scalePadding:h,scalePaddingInner:p,domain:u.domain,domainMin:u.domainMin,domainMax:u.domainMax,markDef:s,config:n,hasNestedOffsetScale:fD(i,a)}):n.scale[e];y!==void 0&&l.set(e,y,!1)}}}var FLe={bins:({model:t,fieldOrDatumDef:e})=>se(e)?vDt(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>_Dt(t,e.type),nice:({scaleType:t,channel:e,domain:r,domainMin:n,domainMax:i,fieldOrDatumDef:s})=>bDt(t,e,r,n,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:r,markDef:n,config:i})=>TDt(t,e,i.scale,r,n,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:r,scaleType:n,config:i,hasNestedOffsetScale:s})=>CDt(t,e,r.type,n,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:r,scalePaddingInner:n,config:i,hasNestedOffsetScale:s})=>RDt(t,e,r,n,i.scale,s),reverse:({fieldOrDatumDef:t,scaleType:e,channel:r,config:n})=>{let i=se(t)?t.sort:void 0;return ODt(e,i,r,n.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:r,markDef:n,scaleType:i})=>DDt(t,e,r,n,i)};function i0e(t){tr(t)?CLe(t):wLe(t,"range")}function wLe(t,e){let r=t.component.scales;for(let n of t.children)e==="range"?i0e(n):n0e(n,e);for(let n of H(r)){let i;for(let s of t.children){let o=s.component.scales[n];if(o){let a=o.getWithExplicit(e);i=Da(i,a,e,"scale",jj((u,l)=>{switch(e){case"range":return u.step&&l.step?u.step-l.step:0}return 0}))}}r[n].setWithExplicit(e,i)}}function vDt(t,e){let r=e.bin;if(St(r)){let n=p_(t,e.field,r);return new _s(()=>t.getSignalName(n))}else if($r(r)&&g0(r)&&r.step!==void 0)return{step:r.step}}function _Dt(t,e){if(We([mn,Hs,zs],t)&&e!=="nominal")return"hcl"}function bDt(t,e,r,n,i,s){var o;if(!(!((o=vs(s))===null||o===void 0)&&o.bin||j(r)||i!=null||n!=null||We([Ki.TIME,Ki.UTC],t)))return Sr(e)?!0:void 0}function TDt(t,e,r,n,i,s){if(Sr(t)){if(Ca(e)){if(r.continuousPadding!==void 0)return r.continuousPadding;let{type:o,orient:a}=i;if(o==="bar"&&!(se(n)&&(n.bin||n.timeUnit))&&(a==="vertical"&&t==="x"||a==="horizontal"&&t==="y"))return s.continuousBandSize}if(e===Ki.POINT)return r.pointPadding}}function CDt(t,e,r,n,i,s=!1){if(t===void 0){if(Sr(e)){let{bandPaddingInner:o,barBandPaddingInner:a,rectBandPaddingInner:u,bandWithNestedOffsetPaddingInner:l}=i;return s?l:Mt(o,r==="bar"?a:u)}else if(m0(e)&&n===Ki.BAND)return i.offsetBandPaddingInner}}function RDt(t,e,r,n,i,s=!1){if(t===void 0){if(Sr(e)){let{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:a}=i;if(s)return a;if(r===Ki.BAND)return Mt(o,be(n)?{signal:`${n.signal}/2`}:n/2)}else if(m0(e)){if(r===Ki.POINT)return .5;if(r===Ki.BAND)return i.offsetBandPaddingOuter}}}function ODt(t,e,r,n){if(r==="x"&&n.xReverse!==void 0)return An(t)&&e==="descending"?be(n.xReverse)?{signal:`!${n.xReverse.signal}`}:!n.xReverse:n.xReverse;if(An(t)&&e==="descending")return!0}function DDt(t,e,r,n,i){if(!!r&&r!=="unaggregated"&&An(i)){if(j(r)){let o=r[0],a=r[r.length-1];if(o<=0&&a>=0)return!0}return!1}if(t==="size"&&e.type==="quantitative"&&!Ad(i))return!0;if(!(se(e)&&e.bin)&&We([...ci,...B_e],t)){let{orient:o,type:a}=n;return!(We(["bar","area","line","trail"],a)&&(o==="horizontal"&&t==="y"||o==="vertical"&&t==="x"))}return!1}function LLe(t,e,r,n,i=!1){let s=NDt(e,r,n,i),{type:o}=t;return Qs(e)?o!==void 0?C7e(e,o)?se(r)&&!T7e(o,r.type)?(K(z.scaleTypeNotWorkWithFieldDef(o,s)),s):o:(K(z.scaleTypeNotWorkWithChannel(e,o,s)),s):s:null}function NDt(t,e,r,n){var i;switch(e.type){case"nominal":case"ordinal":{if(Vx(t)||rB(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&K(z.discreteChannelCannotEncode(t,"ordinal")),"ordinal";if(Sr(t)||m0(t)){if(We(["rect","bar","image","rule"],r.type)||n)return"band"}else if(r.type==="arc"&&t in tB)return"band";let s=r[sn(t)];return Sd(s)||gj(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return Vx(t)?"time":rB(t)==="discrete"?(K(z.discreteChannelCannotEncode(t,"temporal")),"ordinal"):se(e)&&e.timeUnit&&on(e.timeUnit).utc?"utc":"time";case"quantitative":return Vx(t)?se(e)&&St(e.bin)?"bin-ordinal":"linear":rB(t)==="discrete"?(K(z.discreteChannelCannotEncode(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(z.invalidFieldType(e.type))}function ILe(t,{ignoreRange:e}={}){MLe(t),t0e(t);for(let r of b7e)n0e(t,r);e||i0e(t)}function MLe(t){tr(t)?t.component.scales=FDt(t):t.component.scales=LDt(t)}function FDt(t){let{encoding:e,mark:r,markDef:n}=t,i={};for(let s of r2){let o=er(e[s]);if(o&&r===sj&&s===nn&&o.type===H0)continue;let a=o&&o.scale;if(m0(s)){let u=Zk(s);if(!fD(e,u)){a&&K(z.offsetEncodingScaleIgnored(s));continue}}if(o&&a!==null&&a!==!1){a??(a={});let u=fD(e,s),l=LLe(a,s,o,n,u);i[s]=new ND(t.scaleName(`${s}`,!0),{value:l,explicit:a.type===l})}}return i}var wDt=jj((t,e)=>$ue(t)-$ue(e));function LDt(t){var e,r;let n=t.component.scales={},i={},s=t.component.resolve;for(let o of t.children){MLe(o);for(let a of H(o.component.scales))if((e=(r=s.scale)[a])!==null&&e!==void 0||(r[a]=uH(a,t)),s.scale[a]==="shared"){let u=i[a],l=o.component.scales[a].getWithExplicit("type");u?m7e(u.value,l.value)?i[a]=Da(u,l,"type","scale",wDt):(s.scale[a]="independent",delete i[a]):i[a]=l}}for(let o of H(i)){let a=t.scaleName(o,!0),u=i[o];n[o]=new ND(a,u);for(let l of t.children){let c=l.component.scales[o];c&&(l.renameScale(c.get("name"),a),c.merged=!0)}}return n}var s0e=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},FD=class{constructor(){this.nameMap={}}rename(e,r){this.nameMap[e]=r}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}};function tr(t){return t?.type==="unit"}function Ji(t){return t?.type==="facet"}function h_(t){return t?.type==="concat"}function Dl(t){return t?.type==="layer"}var U3=class{constructor(e,r,n,i,s,o,a){var u,l;this.type=r,this.parent=n,this.config=s,this.correctDataNames=c=>{var f,x,d;return!((f=c.from)===null||f===void 0)&&f.data&&(c.from.data=this.lookupDataSource(c.from.data)),!((d=(x=c.from)===null||x===void 0?void 0:x.facet)===null||d===void 0)&&d.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c},this.parent=n,this.config=s,this.view=Qn(a),this.name=(u=e.name)!==null&&u!==void 0?u:i,this.title=y0(e.title)?{text:e.title}:e.title?Qn(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new FD,this.projectionNameMap=n?n.projectionNameMap:new FD,this.signalNameMap=n?n.signalNameMap:new FD,this.data=e.data,this.description=e.description,this.transforms=o9e((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=r==="layer"||r==="unit"?{}:T8e(e,r,s),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:_d(e)||n?.component.data.isFaceted&&e.data===void 0},layoutSize:new ao,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?we(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){ILe(this)}parseProjection(){Kle(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){Wle(this)}assembleEncodeFromView(e){let{style:r}=e,n=s0e(e,["style"]),i={};for(let s of H(n)){let o=n[s];o!==void 0&&(i[s]=vt(o))}return i}assembleGroupEncodeEntry(e){let r={};return this.view&&(r=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(r.description=vt(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},r??{}):mt(r)?void 0:r}assembleLayout(){if(!this.layout)return;let e=this.layout,{spacing:r}=e,n=s0e(e,["spacing"]),{component:i,config:s}=this,o=Z9e(i.layoutHeaders,s);return Object.assign(Object.assign(Object.assign({padding:r},this.assembleDefaultLayout()),n),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,r=[];for(let n of ji)e[n].title&&r.push(Y9e(this,n));for(let n of c_)r=r.concat(J9e(this,n));return r}assembleAxes(){return z9e(this.component.axes,this.config)}assembleLegends(){return fH(this)}assembleProjections(){return uLe(this)}assembleTitle(){var e,r,n;let i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=s0e(i,["encoding"]),a=Object.assign(Object.assign(Object.assign({},sB(this.config.title).nonMarkTitleProperties),o),s?{encode:{update:s}}:{});if(a.text)return We(["unit","layer"],this.type)?We(["middle",void 0],a.anchor)&&((r=a.frame)!==null&&r!==void 0||(a.frame="group")):(n=a.anchor)!==null&&n!==void 0||(a.anchor="start"),mt(a)?void 0:a}assembleGroup(e=[]){let r={};e=e.concat(this.assembleSignals()),e.length>0&&(r.signals=e);let n=this.assembleLayout();n&&(r.layout=n),r.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let i=!this.parent||Ji(this.parent)?r0e(this):[];i.length>0&&(r.scales=i);let s=this.assembleAxes();s.length>0&&(r.axes=s);let o=this.assembleLegends();return o.length>0&&(r.legends=o),r}getName(e){return It((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Pt[e].toLowerCase())}requestDataName(e){let r=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[r]=(n[r]||0)+1,r}getSizeSignalRef(e){if(Ji(this.parent)){let r=oH(e),n=t2(r),i=this.component.scales[n];if(i&&!i.merged){let s=i.get("type"),o=i.get("range");if(or(s)&&Vs(o)){let a=i.get("name"),u=f1(this,n),l=m_(u);if(l){let c=ue({aggregate:"distinct",field:l},{expr:"datum"});return{signal:zle(a,i,c)}}else return K(z.unknownField(n)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let r=this.component.data.outputNodes[e];return r?r.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,r){this.signalNameMap.rename(e,r)}renameScale(e,r){this.scaleNameMap.rename(e,r)}renameProjection(e,r){this.projectionNameMap.rename(e,r)}scaleName(e,r){if(r)return this.getName(e);if(Kk(e)&&Qs(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let r=this.component.scales[e];return r&&!r.merged?r:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,r){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,r)),!n)throw new Error(z.selectionNotFound(r));return n}hasAxisOrientSignalRef(){var e,r;return((e=this.component.axes.x)===null||e===void 0?void 0:e.some(n=>n.hasOrientSignalRef()))||((r=this.component.axes.y)===null||r===void 0?void 0:r.some(n=>n.hasOrientSignalRef()))}},E_=class extends U3{vgField(e,r={}){let n=this.fieldDef(e);if(n)return ue(n,r)}reduceFieldDef(e,r){return s8e(this.getMapping(),(n,i,s)=>{let o=vs(i);return o?e(n,o,s):n},r)}forEachFieldDef(e,r){xD(this.getMapping(),(n,i)=>{let s=vs(n);s&&e(s,i)},r)}};var IDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},A_=class t extends Ge{constructor(e,r){var n,i,s;super(e),this.transform=r,this.transform=we(r);let o=(n=this.transform.as)!==null&&n!==void 0?n:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"value",(s=o[1])!==null&&s!==void 0?s:"density"]}clone(){return new t(null,we(this.transform))}dependentFields(){var e;return new Set([this.transform.density,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${$e(this.transform)}`}assemble(){let e=this.transform,{density:r}=e,n=IDt(e,["density"]);return Object.assign({type:"kde",field:r},n)}};var S_=class t extends Ge{constructor(e,r){super(e),this.filter=r}clone(){return new t(null,Object.assign({},this.filter))}static make(e,r){let{config:n,mark:i,markDef:s}=r;if(st("invalid",s,n)!=="filter")return null;let a=r.reduceFieldDef((u,l,c)=>{let f=Qs(c)&&r.getScaleComponent(c);if(f){let x=f.get("type");An(x)&&l.aggregate!=="count"&&!so(i)&&(u[l.field]=l)}return u},{});return H(a).length?new t(e,a):null}dependentFields(){return new Set(H(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${$e(this.filter)}`}assemble(){let e=H(this.filter).reduce((r,n)=>{let i=this.filter[n],s=ue(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?r.push(`(isDate(${s}) || (isValid(${s}) && isFinite(+${s})))`):i.type==="quantitative"&&(r.push(`isValid(${s})`),r.push(`isFinite(+${s})`))),r},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}};var v_=class t extends Ge{constructor(e,r){super(e),this.transform=r,this.transform=we(r);let{flatten:n,as:i=[]}=this.transform;this.transform.as=n.map((s,o)=>{var a;return(a=i[o])!==null&&a!==void 0?a:s})}clone(){return new t(this.parent,we(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${$e(this.transform)}`}assemble(){let{flatten:e,as:r}=this.transform;return{type:"flatten",fields:e,as:r}}};var __=class t extends Ge{constructor(e,r){var n,i,s;super(e),this.transform=r,this.transform=we(r);let o=(n=this.transform.as)!==null&&n!==void 0?n:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"key",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new t(null,we(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${$e(this.transform)}`}assemble(){let{fold:e,as:r}=this.transform;return{type:"fold",fields:e,as:r}}};var b_=class t extends Ge{constructor(e,r,n,i){super(e),this.fields=r,this.geojson=n,this.signal=i}clone(){return new t(null,we(this.fields),this.geojson,this.signal)}static parseAll(e,r){if(r.component.projection&&!r.component.projection.isFit)return e;let n=0;for(let i of[[Oo,Ro],[hs,js]]){let s=i.map(o=>{let a=er(r.encoding[o]);return se(a)?a.field:oo(a)?{expr:`${a.datum}`}:Jn(a)?{expr:`${a.value}`}:void 0});(s[0]||s[1])&&(e=new t(e,s,null,r.getName(`geojson_${n++}`)))}if(r.channelHasField(nn)){let i=r.typedFieldDef(nn);i.type===H0&&(e=new t(e,null,i.field,r.getName(`geojson_${n++}`)))}return e}dependentFields(){var e;let r=((e=this.fields)!==null&&e!==void 0?e:[]).filter(he);return new Set([...this.geojson?[this.geojson]:[],...r])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${$e(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})]}};var T_=class t extends Ge{constructor(e,r,n,i){super(e),this.projection=r,this.fields=n,this.as=i}clone(){return new t(null,this.projection,we(this.fields),we(this.as))}static parseAll(e,r){if(!r.projectionName())return e;for(let n of[[Oo,Ro],[hs,js]]){let i=n.map(o=>{let a=er(r.encoding[o]);return se(a)?a.field:oo(a)?{expr:`${a.datum}`}:Jn(a)?{expr:`${a.value}`}:void 0}),s=n[0]===hs?"2":"";(i[0]||i[1])&&(e=new t(e,r.projectionName(),i,[r.getName(`x${s}`),r.getName(`y${s}`)]))}return e}dependentFields(){return new Set(this.fields.filter(he))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${$e(this.fields)} ${$e(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}};var $3=class t extends Ge{constructor(e,r){super(e),this.transform=r}clone(){return new t(null,we(this.transform))}dependentFields(){var e;return new Set([this.transform.impute,this.transform.key,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){let{start:r=0,stop:n,step:i}=e;return{signal:`sequence(${[r,n,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,r){return new t(e,r)}static makeFromEncoding(e,r){let n=r.encoding,i=n.x,s=n.y;if(se(i)&&se(s)){let o=i.impute?i:s.impute?s:void 0;if(o===void 0)return;let a=i.impute?s:s.impute?i:void 0,{method:u,value:l,frame:c,keyvals:f}=o.impute,x=vj(r.mark,n);return new t(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:a.field},u?{method:u}:{}),l!==void 0?{value:l}:{}),c?{frame:c}:{}),f!==void 0?{keyvals:f}:{}),x.length?{groupby:x}:{}))}return null}hash(){return`Impute ${$e(this.transform)}`}assemble(){let{impute:e,key:r,keyvals:n,method:i,groupby:s,value:o,frame:a=[null,null]}=this.transform,u=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:e,key:r},n?{keyvals:j8e(n)?this.processSequence(n):n}:{}),{method:"value"}),s?{groupby:s}:{}),{value:!i||i==="value"?o:null});if(i&&i!=="value"){let l=Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:a,ignorePeers:!1},s?{groupby:s}:{}),c={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[u,l,c]}else return[u]}};var MDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},C_=class t extends Ge{constructor(e,r){var n,i,s;super(e),this.transform=r,this.transform=we(r);let o=(n=this.transform.as)!==null&&n!==void 0?n:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:r.on,(s=o[1])!==null&&s!==void 0?s:r.loess]}clone(){return new t(null,we(this.transform))}dependentFields(){var e;return new Set([this.transform.loess,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${$e(this.transform)}`}assemble(){let e=this.transform,{loess:r,on:n}=e,i=MDt(e,["loess","on"]);return Object.assign({type:"loess",x:n,y:r},i)}};var R_=class t extends Ge{constructor(e,r,n){super(e),this.transform=r,this.secondary=n}clone(){return new t(null,we(this.transform),this.secondary)}static make(e,r,n,i){let s=r.component.data.sources,{from:o}=n,a=null;if(H8e(o)){let u=o0e(o.data,s);u||(u=new wa(o.data),s.push(u));let l=r.getName(`lookup_${i}`);a=new un(u,l,Pt.Lookup,r.component.data.outputNodeRefCounts),r.component.data.outputNodes[l]=a}else if(z8e(o)){let u=o.param;n=Object.assign({as:u},n);let l;try{l=r.getSelectionComponent(It(u),u)}catch{throw new Error(z.cannotLookupVariableParameter(u))}if(a=l.materialized,!a)throw new Error(z.noSameUnitLookup(u))}return new t(e,n,a.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?ce(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${$e({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:ce(this.transform.as)}:{});else{let r=this.transform.as;he(r)||(K(z.NO_FIELDS_NEEDS_AS),r="_lookup"),e={as:[r]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}};var PDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},O_=class t extends Ge{constructor(e,r){var n,i,s;super(e),this.transform=r,this.transform=we(r);let o=(n=this.transform.as)!==null&&n!==void 0?n:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"prob",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new t(null,we(this.transform))}dependentFields(){var e;return new Set([this.transform.quantile,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${$e(this.transform)}`}assemble(){let e=this.transform,{quantile:r}=e,n=PDt(e,["quantile"]);return Object.assign({type:"quantile",field:r},n)}};var kDt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r},D_=class t extends Ge{constructor(e,r){var n,i,s;super(e),this.transform=r,this.transform=we(r);let o=(n=this.transform.as)!==null&&n!==void 0?n:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:r.on,(s=o[1])!==null&&s!==void 0?s:r.regression]}clone(){return new t(null,we(this.transform))}dependentFields(){var e;return new Set([this.transform.regression,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${$e(this.transform)}`}assemble(){let e=this.transform,{regression:r,on:n}=e,i=kDt(e,["regression","on"]);return Object.assign({type:"regression",x:n,y:r},i)}};var N_=class t extends Ge{constructor(e,r){super(e),this.transform=r}clone(){return new t(null,we(this.transform))}addDimensions(e){var r;this.transform.groupby=To(((r=this.transform.groupby)!==null&&r!==void 0?r:[]).concat(e),n=>n)}producedFields(){}dependentFields(){var e;return new Set([this.transform.pivot,this.transform.value,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}hash(){return`PivotTransform ${$e(this.transform)}`}assemble(){let{pivot:e,value:r,groupby:n,limit:i,op:s}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:e,value:r},i!==void 0?{limit:i}:{}),s!==void 0?{op:s}:{}),n!==void 0?{groupby:n}:{})}};var F_=class t extends Ge{constructor(e,r){super(e),this.transform=r}clone(){return new t(null,we(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${$e(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}};function PLe(t){let e=0;function r(n,i){var s;if(n instanceof wa&&!n.isGenerator&&!Rd(n.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),n instanceof Zi&&(n.parent instanceof wa&&!i.source?(i.format=Object.assign(Object.assign({},(s=i.format)!==null&&s!==void 0?s:{}),{parse:n.assembleFormatParse()}),i.transform.push(...n.assembleTransforms(!0))):i.transform.push(...n.assembleTransforms())),n instanceof Fl){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),n.data=i.name):n.data=i.source,t.push(...n.assemble());return}switch((n instanceof x1||n instanceof d1||n instanceof S_||n instanceof Uf||n instanceof q3||n instanceof T_||n instanceof Cu||n instanceof R_||n instanceof Fd||n instanceof W0||n instanceof __||n instanceof v_||n instanceof A_||n instanceof C_||n instanceof O_||n instanceof D_||n instanceof V0||n instanceof F_||n instanceof N_)&&i.transform.push(n.assemble()),(n instanceof Q0||n instanceof Rl||n instanceof $3||n instanceof Hf||n instanceof b_)&&i.transform.push(...n.assemble()),n instanceof un&&(i.source&&i.transform.length===0?n.setSource(i.source):n.parent instanceof un?n.setSource(i.name):(i.name||(i.name=`data_${e++}`),n.setSource(i.name),n.numChildren()===1&&(t.push(i),i={name:null,source:i.name,transform:[]}))),n.numChildren()){case 0:n instanceof un&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:r(n.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(let a of n.children)r(a,{name:null,source:o,transform:[]});break}}}return r}function kLe(t){let e=[],r=PLe(e);for(let n of t.children)r(n,{source:t.name,name:null,transform:[]});return e}function BLe(t,e){var r,n;let i=[],s=PLe(i),o=0;for(let u of t.sources){u.hasName()||(u.dataName=`source_${o++}`);let l=u.assemble();s(u,l)}for(let u of i)u.transform.length===0&&delete u.transform;let a=0;for(let[u,l]of i.entries())((r=l.transform)!==null&&r!==void 0?r:[]).length===0&&!l.source&&i.splice(a++,0,i.splice(u,1)[0]);for(let u of i)for(let l of(n=u.transform)!==null&&n!==void 0?n:[])l.type==="lookup"&&(l.from=t.outputNodes[l.from].getSource());for(let u of i)u.name in e&&(u.values=e[u.name]);return i}function BDt(t){return t==="top"||t==="left"||be(t)?"header":"footer"}function ULe(t){for(let e of ji)qDt(t,e);qLe(t,"x"),qLe(t,"y")}function qDt(t,e){var r;let{facet:n,config:i,child:s,component:o}=t;if(t.channelHasField(e)){let a=n[e],u=Nd("title",null,i,e),l=Pf(a,i,{allowDisabling:!0,includeDefault:u===void 0||!!u});s.component.layoutHeaders[e].title&&(l=j(l)?l.join(", "):l,l+=` / ${s.component.layoutHeaders[e].title}`,s.component.layoutHeaders[e].title=null);let c=Nd("labelOrient",a.header,i,e),f=a.header!==null?Mt((r=a.header)===null||r===void 0?void 0:r.labels,i.header.labels,!0):!1,x=We(["bottom","right"],c)?"footer":"header";o.layoutHeaders[e]={title:a.header!==null?l:null,facetFieldDef:a,[x]:e==="facet"?[]:[$Le(t,e,f)]}}}function $Le(t,e,r){let n=e==="row"?"height":"width";return{labels:r,sizeSignal:t.child.component.layoutSize.get(n)?t.child.getSizeSignalRef(n):void 0,axes:[]}}function qLe(t,e){var r;let{child:n}=t;if(n.component.axes[e]){let{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=d_(s,e),s.axis[e]==="shared"){let o=e==="x"?"column":"row",a=i[o];for(let u of n.component.axes[e]){let l=BDt(u.get("orient"));(r=a[l])!==null&&r!==void 0||(a[l]=[$Le(t,o,!1)]);let c=u_(u,"main",t.config,{header:!0});c&&a[l][0].axes.push(c),u.mainExtracted=!0}}}}function jLe(t){RH(t),CH(t,"width"),CH(t,"height")}function HLe(t){RH(t);let e=t.layout.columns===1?"width":"childWidth",r=t.layout.columns===void 0?"height":"childHeight";CH(t,e),CH(t,r)}function RH(t){for(let e of t.children)e.parseLayoutSize()}function CH(t,e){var r;let n=oH(e),i=t2(n),s=t.component.resolve,o=t.component.layoutSize,a;for(let u of t.children){let l=u.component.layoutSize.getWithExplicit(n),c=(r=s.scale[i])!==null&&r!==void 0?r:uH(i,t);if(c==="independent"&&l.value==="step"){a=void 0;break}if(a){if(c==="independent"&&a.value!==l.value){a=void 0;break}a=Da(a,l,n,"")}else a=l}if(a){for(let u of t.children)t.renameSignal(u.getName(n),t.getName(e)),u.component.layoutSize.set(n,"merged",!1);o.setWithExplicit(e,a)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function zLe(t){let{size:e,component:r}=t;for(let n of ci){let i=sn(n);if(e[i]){let s=e[i];r.layoutSize.set(i,Oa(s)?"step":s,!0)}else{let s=UDt(t,i);r.layoutSize.set(i,s,!1)}}}function UDt(t,e){let r=e==="width"?"x":"y",n=t.config,i=t.getScaleComponent(r);if(i){let s=i.get("type"),o=i.get("range");if(or(s)){let a=J4(n.view,e);return Vs(o)||Oa(a)?"step":a}else return gD(n.view,e)}else{if(t.hasProjection||t.mark==="arc")return gD(n.view,e);{let s=J4(n.view,e);return Oa(s)?s.step:s}}}function OH(t,e,r){return ue(e,Object.assign({suffix:`by_${ue(t)}`},r??{}))}var DH=class t extends E_{constructor(e,r,n,i){super(e,"facet",r,n,i,e.resolve),this.child=w_(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!Mf(e))return{facet:this.initFacetFieldDef(e,"facet")};let r=H(e),n={};for(let i of r){if(![ca,fa].includes(i)){K(z.incompatibleChannel(i,"facet"));break}let s=e[i];if(s.field===void 0){K(z.emptyFieldDef(s,i));break}n[i]=this.initFacetFieldDef(s,i)}return n}initFacetFieldDef(e,r){let n=cD(e,r);return n.header?n.header=Qn(n.header):n.header===null&&(n.header=null),n}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=p1(this),this.child.parseData()}parseLayoutSize(){RH(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),ULe(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){var e,r,n;let i={};for(let s of ji)for(let o of f_){let a=this.component.layoutHeaders[s],u=a[o],{facetFieldDef:l}=a;if(l){let c=Nd("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){let f=l_(s,c);(e=i.titleAnchor)!==null&&e!==void 0||(i.titleAnchor={}),i.titleAnchor[f]="end"}}if(u?.[0]){let c=s==="row"?"height":"width",f=o==="header"?"headerBand":"footerBand";s!=="facet"&&!this.child.component.layoutSize.get(c)&&((r=i[f])!==null&&r!==void 0||(i[f]={}),i[f][s]=.5),a.title&&((n=i.offset)!==null&&n!==void 0||(i.offset={}),i.offset[s==="row"?"rowTitle":"columnTitle"]=10)}}return i}assembleDefaultLayout(){let{column:e,row:r}=this.facet,n=e?this.columnDistinctSignal():r?1:void 0,i="all";return(!r&&this.component.resolve.scale.x==="independent"||!e&&this.component.resolve.scale.y==="independent")&&(i="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),n?{columns:n}:{}),{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof t))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof t?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:ue(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){let e=[],r=[],n=[];if(this.child instanceof t){if(this.child.channelHasField("column")){let i=ue(this.child.facet.column);e.push(i),r.push("distinct"),n.push(`distinct_${i}`)}}else for(let i of ci){let s=this.child.component.scales[i];if(s&&!s.merged){let o=s.get("type"),a=s.get("range");if(or(o)&&Vs(a)){let u=f1(this.child,i),l=m_(u);l?(e.push(l),r.push("distinct"),n.push(`distinct_${l}`)):K(z.unknownField(i))}}}return{fields:e,ops:r,as:n}}assembleFacet(){let{name:e,data:r}=this.component.data.facetRoot,{row:n,column:i}=this.facet,{fields:s,ops:o,as:a}=this.getCardinalityAggregateForChild(),u=[];for(let c of ji){let f=this.facet[c];if(f){u.push(ue(f));let{bin:x,sort:d}=f;if(St(x)&&u.push(ue(f,{binSuffix:"end"})),Xi(d)){let{field:h,op:p=J2}=d,m=OH(f,d);n&&i?(s.push(m),o.push("max"),a.push(m)):(s.push(h),o.push(p),a.push(m))}else if(j(d)){let h=$f(f,c);s.push(h),o.push("max"),a.push(h)}}}let l=!!n&&!!i;return Object.assign({name:e,data:r,groupby:u},l||s.length>0?{aggregate:Object.assign(Object.assign({},l?{cross:l}:{}),s.length?{fields:s,ops:o,as:a}:{})}:{})}facetSortFields(e){let{facet:r}=this,n=r[e];return n?Xi(n.sort)?[OH(n,n.sort,{expr:"datum"})]:j(n.sort)?[$f(n,e,{expr:"datum"})]:[ue(n,{expr:"datum"})]:[]}facetSortOrder(e){let{facet:r}=this,n=r[e];if(n){let{sort:i}=n;return[(Xi(i)?i.order:!j(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;let{facet:r,config:n}=this;if(r.facet)return iH(r.facet,"facet",n);let i={row:["top","bottom"],column:["left","right"]};for(let s of c_)if(r[s]){let o=Nd("labelOrient",(e=r[s])===null||e===void 0?void 0:e.header,n,s);if(i[s].includes(o))return iH(r[s],s,n)}}assembleMarks(){let{child:e}=this,r=this.component.data.facetRoot,n=kLe(r),i=e.assembleGroupEncodeEntry(!1),s=this.assembleLabelTitle()||e.assembleTitle(),o=e.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},s?{title:s}:{}),o?{style:o}:{}),{from:{facet:this.assembleFacet()},sort:{field:ji.map(u=>this.facetSortFields(u)).flat(),order:ji.map(u=>this.facetSortOrder(u)).flat()}}),n.length>0?{data:n}:{}),i?{encode:{update:i}}:{}),e.assembleGroup(p9e(this,[])))]}getMapping(){return this.facet}};function GLe(t,e){let{row:r,column:n}=e;if(r&&n){let i=null;for(let s of[r,n])if(Xi(s.sort)){let{field:o,op:a=J2}=s.sort;t=i=new W0(t,{joinaggregate:[{op:a,field:o,as:OH(s,s.sort,{forAs:!0})}],groupby:[ue(s)]})}return i}return null}function o0e(t,e){var r,n,i,s;for(let o of e){let a=o.data;if(t.name&&o.hasName()&&t.name!==o.dataName)continue;let u=(r=t.format)===null||r===void 0?void 0:r.mesh,l=(n=a.format)===null||n===void 0?void 0:n.feature;if(u&&l)continue;let c=(i=t.format)===null||i===void 0?void 0:i.feature;if((c||l)&&c!==l)continue;let f=(s=a.format)===null||s===void 0?void 0:s.mesh;if(!((u||f)&&u!==f)){if(k3(t)&&k3(a)){if(la(t.values,a.values))return o}else if(Rd(t)&&Rd(a)){if(t.url===a.url)return o}else if(zj(t)&&t.name===o.dataName)return o}}return null}function $Dt(t,e){if(t.data||!t.parent){if(t.data===null){let n=new wa({values:[]});return e.push(n),n}let r=o0e(t.data,e);if(r)return z0(t.data)||(r.data.format=S_e({},t.data.format,r.data.format)),!r.hasName()&&t.data.name&&(r.dataName=t.data.name),r;{let n=new wa(t.data);return e.push(n),n}}else return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function jDt(t,e,r){var n,i;let s=0;for(let o of e.transforms){let a,u;if(e9e(o))u=t=new q3(t,o),a="derived";else if(yD(o)){let l=hLe(o);u=t=(n=Zi.makeWithAncestors(t,{},l,r))!==null&&n!==void 0?n:t,t=new Uf(t,e,o.filter)}else if(Uj(o))u=t=Q0.makeFromTransform(t,o,e),a="number";else if(r9e(o))a="date",r.getWithExplicit(o.field).value===void 0&&(t=new Zi(t,{[o.field]:a}),r.set(o.field,a,!1)),u=t=Rl.makeFromTransform(t,o);else if(n9e(o))u=t=Cu.makeFromTransform(t,o),a="number",bD(e)&&(t=new V0(t));else if(qj(o))u=t=R_.make(t,e,o,s++),a="derived";else if(X8e(o))u=t=new Fd(t,o),a="number";else if(J8e(o))u=t=new W0(t,o),a="number";else if(i9e(o))u=t=Hf.makeFromTransform(t,o),a="derived";else if(s9e(o))u=t=new __(t,o),a="derived";else if(Z8e(o))u=t=new v_(t,o),a="derived";else if(G8e(o))u=t=new N_(t,o),a="derived";else if(K8e(o))t=new F_(t,o);else if(t9e(o))u=t=$3.makeFromTransform(t,o),a="derived";else if(Q8e(o))u=t=new A_(t,o),a="derived";else if(V8e(o))u=t=new O_(t,o),a="derived";else if(W8e(o))u=t=new D_(t,o),a="derived";else if(Y8e(o))u=t=new C_(t,o),a="derived";else{K(z.invalidTransformIgnored(o));continue}if(u&&a!==void 0)for(let l of(i=u.producedFields())!==null&&i!==void 0?i:[])r.set(l,a,!1)}return t}function p1(t){var e,r,n,i,s,o,a,u,l,c;let f=$Dt(t,t.component.data.sources),{outputNodes:x,outputNodeRefCounts:d}=t.component.data,h=t.data,m=!(h&&(z0(h)||Rd(h)||k3(h)))&&t.parent?t.parent.component.data.ancestorParse.clone():new Hj;z0(h)?(Cle(h)?f=new d1(f,h.sequence):ED(h)&&(f=new x1(f,h.graticule)),m.parseNothing=!0):((e=h?.format)===null||e===void 0?void 0:e.parse)===null&&(m.parseNothing=!0),f=(r=Zi.makeExplicit(f,t,m))!==null&&r!==void 0?r:f,f=new V0(f);let g=t.parent&&Dl(t.parent);(tr(t)||Ji(t))&&g&&(f=(n=Q0.makeFromEncoding(f,t))!==null&&n!==void 0?n:f),t.transforms.length>0&&(f=jDt(f,t,m));let y=mLe(t),A=pLe(t);f=(i=Zi.makeWithAncestors(f,{},Object.assign(Object.assign({},y),A),m))!==null&&i!==void 0?i:f,tr(t)&&(f=b_.parseAll(f,t),f=T_.parseAll(f,t)),(tr(t)||Ji(t))&&(g||(f=(s=Q0.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=Rl.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=q3.parseAllForSortIndex(f,t));let S=t.getDataName(Pt.Raw),T=new un(f,S,Pt.Raw,d);if(x[S]=T,f=T,tr(t)){let O=Cu.makeFromEncoding(f,t);O&&(f=O,bD(t)&&(f=new V0(f))),f=(a=$3.makeFromEncoding(f,t))!==null&&a!==void 0?a:f,f=(u=Hf.makeFromEncoding(f,t))!==null&&u!==void 0?u:f}tr(t)&&(f=(l=S_.make(f,t))!==null&&l!==void 0?l:f);let v=t.getDataName(Pt.Main),b=new un(f,v,Pt.Main,d);x[v]=b,f=b,tr(t)&&H9e(t,b);let R=null;if(Ji(t)){let O=t.getName("facet");f=(c=GLe(f,t.facet))!==null&&c!==void 0?c:f,R=new Fl(f,t,O,b.getSource()),x[O]=R}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:d,raw:T,main:b,facetRoot:R,ancestorParse:m})}var NH=class extends U3{constructor(e,r,n,i){var s,o,a,u;super(e,"concat",r,n,i,e.resolve),(((o=(s=e.resolve)===null||s===void 0?void 0:s.axis)===null||o===void 0?void 0:o.x)==="shared"||((u=(a=e.resolve)===null||a===void 0?void 0:a.axis)===null||u===void 0?void 0:u.y)==="shared")&&K(z.CONCAT_CANNOT_SHARE_AXIS),this.children=this.getChildren(e).map((l,c)=>w_(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=p1(this);for(let e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(let e of this.children){e.parseSelections();for(let r of H(e.component.selection))this.component.selection[r]=e.component.selection[r]}}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(let e of this.children)e.parseAxesAndHeaders()}getChildren(e){return n1(e)?e.vconcat:X4(e)?e.hconcat:e.concat}parseLayoutSize(){HLe(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((r,n)=>n.assembleSelectionTopLevelSignals(r),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){let e=x_(this);for(let r of this.children)e.push(...r.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((r,n)=>n.assembleSelectionData(r),e)}assembleMarks(){return this.children.map(e=>{let r=e.assembleTitle(),n=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},r?{title:r}:{}),n?{style:n}:{}),i?{encode:{update:i}}:{}),e.assembleGroup())})}assembleGroupStyle(){}assembleDefaultLayout(){let e=this.layout.columns;return Object.assign(Object.assign({},e!=null?{columns:e}:{}),{bounds:"full",align:"each"})}};function HDt(t){return t===!1||t===null}var zDt=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},rle),{labelExpr:1,encode:1}),a0e=H(zDt),FH=class t extends ao{constructor(e={},r={},n=!1){super(),this.explicit=e,this.implicit=r,this.mainExtracted=n}clone(){return new t(we(this.explicit),we(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!HDt(this.get(e))}hasOrientSignalRef(){return be(this.explicit.orient)}};function QLe(t,e,r){var n;let{encoding:i,config:s}=t,o=(n=er(i[e]))!==null&&n!==void 0?n:er(i[Gs(e)]),a=t.axis(e)||{},{format:u,formatType:l}=a;return If(l)?Object.assign({text:aD({fieldOrDatumDef:o,field:"datum.value",format:u,formatType:l,config:s})},r):r}function VLe(t){return ci.reduce((e,r)=>(t.component.scales[r]&&(e[r]=[XDt(r,t)]),e),{})}var QDt={bottom:"top",top:"bottom",left:"right",right:"left"};function WLe(t){var e;let{axes:r,resolve:n}=t.component,i={top:0,bottom:0,right:0,left:0};for(let s of t.children){s.parseAxesAndHeaders();for(let o of H(s.component.axes))n.axis[o]=d_(t.component.resolve,o),n.axis[o]==="shared"&&(r[o]=VDt(r[o],s.component.axes[o]),r[o]||(n.axis[o]="independent",delete r[o]))}for(let s of ci){for(let o of t.children)if(o.component.axes[s]){if(n.axis[s]==="independent"){r[s]=((e=r[s])!==null&&e!==void 0?e:[]).concat(o.component.axes[s]);for(let a of o.component.axes[s]){let{value:u,explicit:l}=a.getWithExplicit("orient");if(!be(u)){if(i[u]>0&&!l){let c=QDt[u];i[u]>i[c]&&a.set("orient",c,!1)}i[u]++}}}delete o.component.axes[s]}if(n.axis[s]==="independent"&&r[s]&&r[s].length>1)for(let o of r[s])o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function VDt(t,e){if(t){if(t.length!==e.length)return;let r=t.length;for(let n=0;n<r;n++){let i=t[n],s=e[n];if(!!i!=!!s)return;if(i&&s){let o=i.getWithExplicit("orient"),a=s.getWithExplicit("orient");if(o.explicit&&a.explicit&&o.value!==a.value)return;t[n]=WDt(i,s)}}}else return e.map(r=>r.clone());return t}function WDt(t,e){for(let r of a0e){let n=Da(t.getWithExplicit(r),e.getWithExplicit(r),r,"axis",(i,s)=>{switch(r){case"title":return lB(i,s);case"gridScale":return{explicit:i.explicit,value:Mt(i.value,s.value)}}return t_(i,s,r,"axis")});t.setWithExplicit(r,n)}return t}function YDt(t,e,r,n,i){if(e==="disable")return r!==void 0;switch(r=r||{},e){case"titleAngle":case"labelAngle":return t===(be(r.labelAngle)?r.labelAngle:Tg(r.labelAngle));case"values":return!!r.values;case"encode":return!!r.encoding||!!r.labelAngle;case"title":if(t===Hle(n,i))return!0}return t===r[e]}var KDt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function XDt(t,e){var r,n,i;let s=e.axis(t),o=new FH,a=er(e.encoding[t]),{mark:u,config:l}=e,c=s?.orient||((r=l[t==="x"?"axisX":"axisY"])===null||r===void 0?void 0:r.orient)||((n=l.axis)===null||n===void 0?void 0:n.orient)||W9e(t),f=e.getScaleComponent(t).get("type"),x=Q9e(t,f,c,e.config),d=s!==void 0?!s:TD("disable",l.style,s?.style,x).configValue;if(o.set("disable",d,s!==void 0),d)return o;s=s||{};let h=V9e(a,s,t,l.style,x),p={fieldOrDatumDef:a,axis:s,channel:t,model:e,scaleType:f,orient:c,labelAngle:h,mark:u,config:l};for(let y of a0e){let A=y in Ule?Ule[y](p):nle(y)?s[y]:void 0,S=A!==void 0,T=YDt(A,y,s,e,t);if(S&&T)o.set(y,A,T);else{let{configValue:v=void 0,configFrom:b=void 0}=nle(y)&&y!=="values"?TD(y,l.style,s.style,x):{},R=v!==void 0;S&&!R?o.set(y,A,T):(b!=="vgAxisConfig"||KDt.has(y)&&R||bd(v)||be(v))&&o.set(y,v,!1)}}let m=(i=s.encoding)!==null&&i!==void 0?i:{},g=Aj.reduce((y,A)=>{var S;if(!o.hasAxisPart(A))return y;let T=aH((S=m[A])!==null&&S!==void 0?S:{},e),v=A==="labels"?QLe(e,t,T):T;return v!==void 0&&!mt(v)&&(y[A]={update:v}),y},{});return mt(g)||o.set("encode",g,!!s.encoding||s.labelAngle!==void 0),o}function YLe({encoding:t,size:e}){for(let r of ci){let n=sn(r);Oa(e[n])&&Ra(t[r])&&(delete e[n],K(z.stepDropped(n)))}return e}function KLe(t,e,r){let n=Qn(t),i=st("orient",n,r);if(n.orient=eNt(n.type,e,i),i!==void 0&&i!==n.orient&&K(z.orientOverridden(n.orient,i)),n.type==="bar"&&n.orient){let a=st("cornerRadiusEnd",n,r);if(a!==void 0){let u=n.orient==="horizontal"&&e.x2||n.orient==="vertical"&&e.y2?["cornerRadius"]:I7e[n.orient];for(let l of u)n[l]=a;n.cornerRadiusEnd!==void 0&&delete n.cornerRadiusEnd}}return st("opacity",n,r)===void 0&&(n.opacity=ZDt(n.type,e)),st("cursor",n,r)===void 0&&(n.cursor=JDt(n,e,r)),n}function JDt(t,e,r){return e.href||t.href||st("href",t,r)?"pointer":t.cursor}function ZDt(t,e){if(We([q4,tD,rD,nD],t)&&!W4(e))return .7}function XLe(t,e,{graticule:r}){if(r)return!1;let n=lf("filled",t,e),i=t.type;return Mt(n,i!==q4&&i!==I3&&i!==U4)}function eNt(t,e,r){switch(t){case q4:case rD:case nD:case ij:case O7e:case R7e:return}let{x:n,y:i,x2:s,y2:o}=e;switch(t){case L3:if(se(n)&&($r(n.bin)||se(i)&&i.aggregate&&!n.aggregate))return"vertical";if(se(i)&&($r(i.bin)||se(n)&&n.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(r)return r;if(!s&&(se(n)&&n.type===bl&&!St(n.bin)||mj(n)))return"horizontal";if(!o&&(se(i)&&i.type===bl&&!St(i.bin)||mj(i)))return"vertical"}case U4:if(s&&!(se(n)&&$r(n.bin))&&o&&!(se(i)&&$r(i.bin)))return;case w3:if(o)return se(i)&&$r(i.bin)?"horizontal":"vertical";if(s)return se(n)&&$r(n.bin)?"vertical":"horizontal";if(t===U4){if(n&&!i)return"vertical";if(i&&!n)return"horizontal"}case I3:case tD:{let a=Ra(n),u=Ra(i);if(r)return r;if(a&&!u)return t!=="tick"?"horizontal":"vertical";if(!a&&u)return t!=="tick"?"vertical":"horizontal";if(a&&u){let l=n,c=i,f=l.type===Ff,x=c.type===Ff;return f&&!x?t!=="tick"?"vertical":"horizontal":!f&&x?t!=="tick"?"horizontal":"vertical":!l.aggregate&&c.aggregate?t!=="tick"?"vertical":"horizontal":l.aggregate&&!c.aggregate&&t!=="tick"?"horizontal":"vertical"}else return}}return"vertical"}var JLe={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),Gr("x",t,{defaultPos:"mid"})),Gr("y",t,{defaultPos:"mid"})),Fa(t,"radius")),Fa(t,"theta"))};var ZLe={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),c1("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),c1("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),o_(t))};var eIe={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Fa(t,"x")),Fa(t,"y"))};var tIe={vgMark:"shape",encodeEntry:t=>Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{let{encoding:e}=t,r=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},r&&se(r)&&r.type===H0?{field:ue(r,{expr:"datum"})}:{})]}};var rIe={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),Fa(t,"x")),Fa(t,"y")),u1(t,"url"))};var nIe={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),Gr("x",t,{defaultPos:"mid"})),Gr("y",t,{defaultPos:"mid"})),mr("size",t,{vgChannel:"strokeWidth"})),o_(t))},iIe={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),Gr("x",t,{defaultPos:"mid"})),Gr("y",t,{defaultPos:"mid"})),mr("size",t)),o_(t))};function u0e(t,e){let{config:r}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),Gr("x",t,{defaultPos:"mid"})),Gr("y",t,{defaultPos:"mid"})),mr("size",t)),mr("angle",t)),tNt(t,r,e))}function tNt(t,e,r){return r?{shape:{value:r}}:mr("shape",t)}var sIe={vgMark:"symbol",encodeEntry:t=>u0e(t)},oIe={vgMark:"symbol",encodeEntry:t=>u0e(t,"circle")},aIe={vgMark:"symbol",encodeEntry:t=>u0e(t,"square")};var uIe={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Fa(t,"x")),Fa(t,"y"))};var lIe={vgMark:"rule",encodeEntry:t=>{let{markDef:e}=t,r=e.orient;return!t.encoding.x&&!t.encoding.y&&!t.encoding.latitude&&!t.encoding.longitude?{}:Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),c1("x",t,{defaultPos:r==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:r!=="vertical"})),c1("y",t,{defaultPos:r==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:r!=="horizontal"})),mr("size",t,{vgChannel:"strokeWidth"}))}};var cIe={vgMark:"text",encodeEntry:t=>{let{config:e,encoding:r}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),Gr("x",t,{defaultPos:"mid"})),Gr("y",t,{defaultPos:"mid"})),u1(t)),mr("size",t,{vgChannel:"fontSize"})),mr("angle",t)),Kj("align",rNt(t.markDef,r,e))),Kj("baseline",nNt(t.markDef,r,e))),Gr("radius",t,{defaultPos:null})),Gr("theta",t,{defaultPos:null}))}};function rNt(t,e,r){if(st("align",t,r)===void 0)return"center"}function nNt(t,e,r){if(st("baseline",t,r)===void 0)return"middle"}var fIe={vgMark:"rect",encodeEntry:t=>{let{config:e,markDef:r}=t,n=r.orient,i=n==="horizontal"?"width":"height",s=n==="horizontal"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Qr(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Gr("x",t,{defaultPos:"mid",vgChannel:"xc"})),Gr("y",t,{defaultPos:"mid",vgChannel:"yc"})),mr("size",t,{defaultValue:iNt(t),vgChannel:i})),{[s]:vt(st("thickness",r,e))})}};function iNt(t){var e;let{config:r,markDef:n}=t,{orient:i}=n,s=i==="horizontal"?"width":"height",o=t.getScaleComponent(i==="horizontal"?"x":"y"),a=(e=st("size",n,r,{vgChannel:s}))!==null&&e!==void 0?e:r.tick.bandSize;if(a!==void 0)return a;{let u=o?o.get("range"):void 0;return u&&Vs(u)&&Ct(u.step)?u.step*3/4:P3(r.view,s)*3/4}}var wH={arc:JLe,area:ZLe,bar:eIe,circle:oIe,geoshape:tIe,image:rIe,line:nIe,point:sIe,rect:uIe,rule:lIe,square:aIe,text:cIe,tick:fIe,trail:iIe};function hIe(t){if(We([I3,w3,D7e],t.mark)){let e=vj(t.mark,t.encoding);if(e.length>0)return sNt(t,e)}else if(t.mark===L3){let e=oB.some(r=>st(r,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return oNt(t)}return l0e(t)}var xIe="faceted_path_";function sNt(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:xIe+t.requestDataName(Pt.Main),data:t.requestDataName(Pt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:l0e(t,{fromPrefix:xIe})}]}var dIe="stack_group_";function oNt(t){var e;let[r]=l0e(t,{fromPrefix:dIe}),n=t.scaleName(t.stack.fieldChannel),i=(c={})=>t.vgField(t.stack.fieldChannel,c),s=(c,f)=>{let x=[i({prefix:"min",suffix:"start",expr:f}),i({prefix:"max",suffix:"start",expr:f}),i({prefix:"min",suffix:"end",expr:f}),i({prefix:"max",suffix:"end",expr:f})];return`${c}(${x.map(d=>`scale('${n}',${d})`).join(",")})`},o,a;t.stack.fieldChannel==="x"?(o=Object.assign(Object.assign({},e2(r.encode.update,["y","yc","y2","height",...oB])),{x:{signal:s("min","datum")},x2:{signal:s("max","datum")},clip:{value:!0}}),a={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},r.encode.update=Object.assign(Object.assign({},Gn(r.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},e2(r.encode.update,["x","xc","x2","width"])),{y:{signal:s("min","datum")},y2:{signal:s("max","datum")},clip:{value:!0}}),a={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},r.encode.update=Object.assign(Object.assign({},Gn(r.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(let c of oB){let f=lf(c,t.markDef,t.config);r.encode.update[c]?(o[c]=r.encode.update[c],delete r.encode.update[c]):f&&(o[c]=vt(f)),f&&(r.encode.update[c]={value:0})}let u=[];if(((e=t.stack.groupbyChannels)===null||e===void 0?void 0:e.length)>0)for(let c of t.stack.groupbyChannels){let f=t.fieldDef(c),x=ue(f);x&&u.push(x),(f?.bin||f?.timeUnit)&&u.push(ue(f,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,f)=>{if(r.encode.update[f])return Object.assign(Object.assign({},c),{[f]:r.encode.update[f]});{let x=lf(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:vt(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Pt.Main),name:dIe+t.requestDataName(Pt.Main),groupby:u,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:a},marks:[r]}]}]}function aNt(t){var e;let{encoding:r,stack:n,mark:i,markDef:s,config:o}=t,a=r.order;if(!(!j(a)&&Jn(a)&&Vee(a.value)||!a&&Vee(st("order",s,o)))){if((j(a)||se(a))&&!n)return uB(a,{expr:"datum"});if(so(i)){let u=s.orient==="horizontal"?"y":"x",l=r[u];if(se(l)){let c=l.sort;if(j(c))return{field:ue(l,{prefix:u,suffix:"sort_index",expr:"datum"})};if(Xi(c))return{field:ue({aggregate:W4(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(cj(c)){let f=t.fieldDef(c.encoding);return{field:ue(f,{expr:"datum"}),order:c.order}}else return c===null?void 0:{field:ue(l,{binSuffix:!((e=t.stack)===null||e===void 0)&&e.impute?"mid":void 0,expr:"datum"})}}return}}}function l0e(t,e={fromPrefix:""}){let{mark:r,markDef:n,encoding:i,config:s}=t,o=Mt(n.clip,uNt(t),lNt(t)),a=ote(n),u=i.key,l=aNt(t),c=cNt(t),f=st("aria",n,s),x=wH[r].postEncodingTransform?wH[r].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:wH[r].vgMark},o?{clip:!0}:{}),a?{style:a}:{}),u?{key:u.field}:{}),l?{sort:l}:{}),c||{}),f===!1?{aria:f}:{}),{from:{data:e.fromPrefix+t.requestDataName(Pt.Main)},encode:{update:wH[r].encodeEntry(t)}}),x?{transform:x}:{})]}function uNt(t){let e=t.getScaleComponent("x"),r=t.getScaleComponent("y");return e?.get("selectionExtent")||r?.get("selectionExtent")?!0:void 0}function lNt(t){let e=t.component.projection;return e&&!e.isFit?!0:void 0}function cNt(t){if(!t.component.selection)return null;let e=H(t.component.selection).length,r=e,n=t.parent;for(;n&&r===0;)r=H(n.component.selection).length,n=n.parent;return r?{interactive:e>0||!!t.encoding.tooltip}:null}var L_=class extends E_{constructor(e,r,n,i={},s){var o;super(e,"unit",r,n,s,void 0,yle(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];let a=Ss(e.mark)?Object.assign({},e.mark):{type:e.mark},u=a.type;a.filled===void 0&&(a.filled=XLe(a,s,{graticule:e.data&&ED(e.data)}));let l=this.encoding=n8e(e.encoding||{},u,a.filled,s);this.markDef=KLe(a,l,s),this.size=YLe({encoding:l,size:yle(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=Ij(u,l),this.specifiedScales=this.initScales(u,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=((o=e.params)!==null&&o!==void 0?o:[]).filter(c=>K4(c))}get hasProjection(){let{encoding:e}=this,r=this.mark===sj,n=e&&D_e.some(i=>Ve(e[i]));return r||n}scaleDomain(e){let r=this.specifiedScales[e];return r?r.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,r){return r2.reduce((n,i)=>{var s;let o=er(r[i]);return o&&(n[i]=this.initScale((s=o.scale)!==null&&s!==void 0?s:{})),n},{})}initScale(e){let{domain:r,range:n}=e,i=Qn(e);return j(r)&&(i.domain=r.map(Hi)),j(n)&&(i.range=n.map(Hi)),i}initAxes(e){return ci.reduce((r,n)=>{let i=e[n];if(Ve(i)||n===Ht&&Ve(e.x2)||n===Rr&&Ve(e.y2)){let s=Ve(i)?i.axis:void 0;r[n]=s&&this.initAxis(Object.assign({},s))}return r},{})}initAxis(e){let r=H(e),n={};for(let i of r){let s=e[i];n[i]=bd(s)?aB(s):Hi(s)}return n}initLegends(e){return U_e.reduce((r,n)=>{let i=er(e[n]);if(i&&j_e(n)){let s=i.legend;r[n]=s&&Qn(s)}return r},{})}parseData(){this.component.data=p1(this)}parseLayoutSize(){zLe(this)}parseSelections(){this.component.selection=j9e(this,this.selection)}parseMarkGroup(){this.component.mark=hIe(this)}parseAxesAndHeaders(){this.component.axes=VLe(this)}assembleSelectionTopLevelSignals(e){return m9e(this,e)}assembleSignals(){return[...nH(this),...h9e(this,[])]}assembleSelectionData(e){return g9e(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return x_(this)}assembleMarks(){var e;let r=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!Dl(this.parent))&&(r=Ole(this,r)),r.map(this.correctDataNames)}assembleGroupStyle(){let{style:e}=this.view||{};if(e!==void 0)return e;if(this.encoding.x||this.encoding.y)return"cell"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Bf(this.encoding,e)}fieldDef(e){let r=this.encoding[e];return vs(r)}typedFieldDef(e){let r=this.fieldDef(e);return pi(r)?r:null}};var LH=class t extends U3{constructor(e,r,n,i,s){super(e,"layer",r,n,s,e.resolve,e.view);let o=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});this.children=e.layer.map((a,u)=>{if(Cd(a))return new t(a,this,this.getName(`layer_${u}`),o,s);if(mi(a))return new L_(a,this,this.getName(`layer_${u}`),o,s);throw new Error(z.invalidSpec(a))})}parseData(){this.component.data=p1(this);for(let e of this.children)e.parseData()}parseLayoutSize(){jLe(this)}parseSelections(){this.component.selection={};for(let e of this.children){e.parseSelections();for(let r of H(e.component.selection))this.component.selection[r]=e.component.selection[r]}}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){WLe(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((r,n)=>n.assembleSelectionTopLevelSignals(r),e)}assembleSignals(){return this.children.reduce((e,r)=>e.concat(r.assembleSignals()),nH(this))}assembleLayoutSignals(){return this.children.reduce((e,r)=>e.concat(r.assembleLayoutSignals()),x_(this))}assembleSelectionData(e){return this.children.reduce((r,n)=>n.assembleSelectionData(r),e)}assembleGroupStyle(){let e=new Set;for(let n of this.children)for(let i of ce(n.assembleGroupStyle()))e.add(i);let r=Array.from(e);return r.length>1?r:r.length===1?r[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(let r of this.children)if(e=r.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return y9e(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,r)=>e.concat(r.assembleLegends()),fH(this))}};function w_(t,e,r,n,i){if(_d(t))return new DH(t,e,r,i);if(Cd(t))return new LH(t,e,r,n,i);if(mi(t))return new L_(t,e,r,n,i);if(mle(t))return new NH(t,e,r,i);throw new Error(z.invalidSpec(t))}var fNt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r};function wD(t,e={}){e.logger&&nbe(e.logger),e.fieldTitle&&Zue(e.fieldTitle);try{let r=Lj(av(e.config,t.config)),n=ble(t,r),i=w_(n,null,"",void 0,r);return i.parse(),ALe(i.component.data,i),{spec:dNt(i,xNt(t,n.autosize,r,i),t.datasets,t.usermeta),normalized:n}}finally{e.logger&&ibe(),e.fieldTitle&&e8e()}}function xNt(t,e,r,n){let i=n.component.layoutSize.get("width"),s=n.component.layoutSize.get("height");if(e===void 0?(e={type:"pad"},n.hasAxisOrientSignalRef()&&(e.resize=!0)):he(e)&&(e={type:e}),i&&s&&x9e(e.type)){if(i==="step"&&s==="step")K(z.droppingFit()),e.type="pad";else if(i==="step"||s==="step"){let o=i==="step"?"width":"height";K(z.droppingFit(t2(o)));let a=o==="width"?"height":"width";e.type=d9e(a)}}return Object.assign(Object.assign(Object.assign({},H(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),Tle(r,!1)),Tle(t,!0))}function dNt(t,e,r={},n){let i=t.config?N8e(t.config):void 0,s=[].concat(t.assembleSelectionData([]),BLe(t.component.data,r)),o=t.assembleProjections(),a=t.assembleTitle(),u=t.assembleGroupStyle(),l=t.assembleGroupEncodeEntry(!0),c=t.assembleLayoutSignals();c=c.filter(d=>(d.name==="width"||d.name==="height")&&d.value!==void 0?(e[d.name]=+d.value,!1):!0);let{params:f}=e,x=fNt(e,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),x),a?{title:a}:{}),u?{style:u}:{}),l?{encode:{update:l}}:{}),{data:s}),o.length>0?{projections:o}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([]),...wj(f)])),i?{config:i}:{}),n?{usermeta:n}:{})}var x5r=$4e.version;var wl=class{constructor(e,r,n,i={},s){this.document=e;this.styleDefaults=r;this.options=n;this.timezone=s;this.size=i.size||this.styleDefaults.size||"medium"}mapData(e){let r=[];for(let n of e){let i={};for(let s of e.field.intrinsicFields){let o=this.getDataValue(n.cell(s));o instanceof Date&&(o=F4e(o,this.timezone)),i[s.name]=o}r.push(i)}return r}getSize(){return this.size==="large"?{height:350,width:500}:{height:175,width:250}}async render(e){if(!e.isArray())throw new Error("Invalid type for chart renderer");let r=this.getVegaLiteSpec(e),n=wD(r,{logger:{level(o){return o!==void 0?this:0},info(){return this},error(){return this},warn(){return this},debug(){return this}}}).spec,i=new D4(K6(n),{renderer:"none"});i.logger().level(-1);let s=this.document.createElement("div");return s.innerHTML=await i.toSVG(),s}};var pIe={AL:"01",Alabama:"01",AK:"02",Alaska:"02",AZ:"04",Arizona:"04",AR:"05",Arkansas:"05",CA:"06",California:"06",CO:"08",Colorado:"08",CT:"09",Connecticut:"09",DE:"10",Delaware:"10",DC:"11","District of Columbia":"11",FL:"12",Florida:"12",GA:"13",Georgia:"13",HI:"15",Hawaii:"12",ID:"16",Idaho:"16",IL:"17",Illinois:"17",IN:"18",Indiana:"18",IA:"19",Iowa:"19",KS:"20",Kansas:"20",KY:"21",Kentucky:"21",LA:"22",Louisiana:"22",ME:"23",Maine:"23",MD:"24",Maryland:"24",MA:"25",Massachusetts:"25",MI:"26",Michigan:"26",MN:"27",Minnesota:"27",MS:"28",Mississippi:"28",MO:"29",Missouri:"29",MT:"30",Montana:"30",NE:"31",Nebraska:"31",NV:"32",Nevada:"32",NH:"33","New Hampshire":"33",NJ:"34","New Jersey":"34",NM:"35","New Mexico":"35",NY:"36","New York":"36",NC:"37","North Carolina":"37",ND:"38","North Dakota":"38",OH:"39",Ohio:"39",OK:"40",Oklahoma:"40",OR:"41",Oregon:"41",PA:"42",Pennsylvania:"42",RI:"44","Rhode Island":"44",SC:"45","South Carolina":"45",SD:"46","South Dakota":"46",TN:"47",Tennessee:"47",TX:"48",Texas:"48",UT:"49",Utah:"49",VT:"50",Vermont:"50",VA:"51",Virginia:"51",WA:"53",Washington:"53",WV:"54","West Virginia":"54",WI:"55",Wisconsin:"55",WY:"56",Wyoming:"56",PR:"72","Puerto Rico":"72",VI:"78",AS:"60",MP:"69",GU:"66"};var c0e=class extends wl{getRegionField(e){return e.intrinsicFields[0]}getColorField(e){return e.intrinsicFields[1]}getDataValue(e){if(e.isNumber())return e.value;if(e.isString())if(e.field===this.getRegionField(e.field.parentExplore)){let r=pIe[e.value];return r===void 0?void 0:r}else return e.value;else{if(e.isNull())return;throw new Error("Invalid field type for shape map.")}}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"nominal";if(e.isString())return e===this.getRegionField(e.parentExplore)?"quantitative":"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for shape map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");if(!e.isArray())throw new Error("Invalid data for shape map");let r=this.getRegionField(e.field),n=this.getColorField(e.field),i=n?this.getDataType(n):void 0,s=n!==void 0?{field:n.name,type:i,axis:{title:Hn(this.options,n,void 0,this.timezone)},scale:cr(i,!1)}:void 0,o=this.mapData(e).filter(a=>a[r.name]!==void 0);return{...this.getSize(),data:{values:o},projection:{type:"albersUsa"},layer:[{data:{values:Sg,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"#efefef",stroke:"white"}},{transform:[{lookup:r.name,from:{data:{values:Sg,format:{type:"topojson",feature:"states"}},key:"id"},as:"geo"}],mark:"geoshape",encoding:{shape:{field:"geo",type:"geojson"},color:s}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}},IH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new c0e(e,r,n,s,o)}get rendererName(){return"shape_map"}};var mIe=Qo(Bx());var f0e=class extends wl{getDataValue(e){if(e.isNumber()||e.isString())return e.value;if(e.isTimestamp()||e.isDate())return Wp(e.value,e.field.timeframe||mIe.TimestampTimeframe.Second,this.timezone);throw new Error("Invalid field type for point map chart.")}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp()||e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for point map.")}isTimeFieldDef(e){return!!(e.isAtomicField()&&(e.isDate()||e.isTimestamp()))}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=r[3],a=r[4],u=s?this.getDataType(s):void 0,l=o?this.getDataType(o):void 0,c=a?this.getDataType(a):void 0,f=s!==void 0?{field:s.name,type:u,axis:{title:Hn(this.options,s,void 0,this.timezone)},scale:cr(u,!1)}:void 0,x=o?{field:o.name,type:l,axis:{title:Hn(this.options,o,void 0,this.timezone)}}:{value:5},d=a?{field:a.name,type:c,axis:{title:Hn(this.options,a,void 0,this.timezone)}}:{value:"circle"};return{...this.getSize(),data:{values:this.mapData(e)},projection:{type:"albersUsa"},layer:[{data:{values:Sg,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"#efefef",stroke:"white"}},{mark:"point",encoding:{latitude:{field:n.name,type:"quantitative"},longitude:{field:i.name,type:"quantitative"},size:x,color:f,shape:d}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-Roboto"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}},MH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new f0e(e,r,n,s,o)}get rendererName(){return"point_map"}};var x0e=class{constructor(e){this.document=e}async render(e){if(!e.isString())return Bi(this.document,"Invalid field for Image renderer");let{tag:r}=e.field.tagParse(),n=r.tag("image");if(!n)return Bi(this.document,"Missing tag for Image renderer");let i=e.isNull()?rf(this.document):this.document.createElement("img"),s=n.text("width"),o=n.text("height");s&&(i.style.width=s),o&&(i.style.height=o);let a=i,u=n.tag("alt");if(u){let l=w4e({tag:u,data:e})??u.text();l&&(a.alt=l)}return e.isNull()||(a.src=e.value),i}},PH=class t extends et{static{this.instance=new t}create(e,r,n,i,s){return new x0e(e)}get rendererName(){return"image"}};var d0e=class extends wl{getDataValue(e){if(e.isNull()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for segment map.")}getDataType(e){if(e.isAtomicField()){if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for segment map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=r[3],a=r[4],u=a?this.getDataType(a):void 0,l=a!==void 0?{field:a.name,type:u,axis:{title:Hn(this.options,a,void 0,this.timezone)},scale:cr(u,!1)}:void 0;return{...this.getSize(),data:{values:this.mapData(e)},projection:{type:"albersUsa"},layer:[{data:{values:Sg,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"lightgray",stroke:"white"}},{mark:"line",encoding:{latitude:{field:n.name,type:"quantitative"},longitude:{field:i.name,type:"quantitative"},latitude2:{field:s.name,type:"quantitative"},longitude2:{field:o.name,type:"quantitative"},color:l}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}},kH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new d0e(e,r,n,s,o)}get rendererName(){return"segment_map"}};var gi={$schema:"https://vega.github.io/schema/vega-lite/v5.json",config:{params:[{name:"defaultFont",value:"var(--malloy-font-family, 'Roboto')"},{name:"titleColor",value:"var(--malloy-title-color, #505050)"},{name:"labelColor",value:"var(--malloy-label-color, #505050)"}],background:void 0,color:{expr:"titleColor"},header:{labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500},text:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},mark:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},title:{font:{expr:"defaultFont"},subtitleFont:{expr:"defaultFont"},fontWeight:500},axis:{labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12},legend:{titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12,labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"}}}},h0e={height:80,width:150},EIe={width:150},pNt={height:{step:13}},p0e={...EIe,...pNt},m0e={...EIe},g0e={height:150,width:200},gIe={},K0={config:gi.config,encoding:{y:{field:"#{1}",type:"nominal",axis:null,sort:null}},layer:[{mark:{type:"bar",color:"#aec7e8"},encoding:{x:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}},{mark:{type:"text",align:"left",x:5},encoding:{text:{field:"#{1}"}}}]},LD={...gi,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}},mNt={...LD,encoding:{...LD.encoding,color:{field:"#{3}",type:"quantitative",scale:cr("quantitative",!0,!0)}}},gNt={...LD,encoding:{...LD.encoding,color:{field:"#{3}",scale:cr("nominal",!0,!0)}}},y0e={...K0,layer:[{...K0.layer[0],encoding:{...K0.layer[0].encoding,color:{field:"#{3}",scale:cr("nominal",!0,!0)}}},K0.layer[1]]},E0e={...K0,layer:[{...K0.layer[0],encoding:{...K0.layer[0].encoding,color:{field:"#{3}",type:"quantitative",scale:cr("quantitative",!0,!0)}}},K0.layer[1]]},m1={...gi,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}},BH={...m1,encoding:{...m1.encoding,color:{field:"#{3}",type:"nominal",scale:cr("nominal",!0)}}},qH={...m1,encoding:{...m1.encoding,color:{field:"#{3}",type:"quantitative",scale:cr("quantitative",!0)}}},G5r={bar_SM:K0,bar_SM_small:{...K0,...p0e},bar_SM_medium:{...K0,...m0e},bar_SM_large:LD,bar_SMS:y0e,bar_SMS_small:{...y0e,...p0e},bar_SMS_medium:{...y0e,...m0e},bar_SMS_large:gNt,bar_SMM:E0e,bar_SMM_small:{...E0e,...p0e},bar_SMM_medium:{...E0e,...m0e},bar_SMM_large:mNt,bar_NM:m1,bar_NM_small:{...m1,...h0e},bar_NM_medium:{...m1,...g0e},bar_NM_large:{...m1},bar_NMS:BH,bar_NMS_small:{...BH,...h0e},bar_NMS_medium:{...BH,...g0e},bar_NMS_large:{...BH,...gIe},bar_NMM:qH,bar_NMM_small:{...qH,...h0e},bar_NMM_medium:{...qH,...g0e},bar_NMM_large:{...qH,...gIe},bar_SSMMM:{...gi,repeat:["#{3}","#{4}","#{5}"],spec:{description:"A simple bar chart with embedded data.",encoding:{y:{field:"#{1}",type:"nominal",axis:null,sort:null}},layer:[{mark:{type:"bar"},encoding:{x:{field:{repeat:"repeat"},type:"quantitative",sort:null},color:{field:"#{2}",scale:cr("nominal",!0,!0)}}},{mark:{type:"text",align:"left",x:5},encoding:{text:{field:"#{1}"},detail:{aggregate:"count"}}}]}},bubble_NNM:{...gi,data:[],mark:"circle",width:400,encoding:{y:{field:"#{1}",type:"ordinal",sort:null},x:{field:"#{2}",type:"ordinal",sort:null},size:{field:"#{3}",type:"quantitative"},color:{value:"#4285F4"}}},heat_NNM:{...gi,data:[],mark:"bar",width:400,encoding:{y:{field:"#{1}",type:"ordinal",sort:null},x:{field:"#{2}",type:"ordinal",sort:null},color:{field:"#{3}",type:"quantitative",scale:cr("quantitative",!1)}}},heat_SNM:{...gi,data:[],mark:"bar",width:400,encoding:{y:{field:"#{1}",type:"nominal",sort:null},x:{field:"#{2}",type:"ordinal",sort:null},color:{field:"#{3}",type:"quantitative",scale:cr("quantitative",!1)}}},stacked_line_STM:{...gi,height:50,data:[],mark:"area",encoding:{x:{field:"#{2}",type:"temporal",axis:{grid:!1},sort:null},y:{field:"#{3}",type:"quantitative",axis:{grid:!1},title:null,sort:null},color:{field:"#{1}",type:"nominal",legend:null,scale:cr("nominal",!1)},row:{field:"#{1}",type:"nominal"}}},grid_line_SSTM:{...gi,height:50,data:[],mark:"area",encoding:{x:{field:"#{3}",type:"temporal",axis:{grid:!1},sort:null},y:{field:"#{4}",type:"quantitative",axis:{grid:!1},title:null,sort:null},color:{field:"#{1}",type:"nominal",legend:null,scale:cr("nominal",!1)},row:{field:"#{1}",type:"nominal"},column:{field:"#{2}",type:"nominal"}}}};function yIe(t){return Array.isArray(t)||t!==null&&typeof t=="object"}var A0e=class extends wl{constructor(e,r,n,i,s){super(e,r,n);let o=s.spec;if(o)this.spec=o;else if(s.spec_name){let a=n.dataStyles[s.spec_name];if(a!==void 0&&a.renderer==="vega")if(a.spec)this.spec=a.spec;else throw new Error(`No spec defined on ${s.spec_name}`);else throw new Error(`No Vega renderer named ${s.spec_name}`)}else throw new Error(`No top level vega spec defined for ${i.name}`)}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for vega chart.")}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp()||e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for vega chart.")}translateField(e,r){let n=r.match(/#\{(\d+)\}/);return n&&n.groups?e.intrinsicFields[parseInt(n.groups[1])-1].name:r}translateFields(e,r){if(Array.isArray(e))for(let n of e)yIe(n)&&this.translateFields(n,r);else if(e&&typeof e=="object")for(let[n,i]of Object.entries(e))if(n==="field"&&typeof i=="string")e[n]=this.translateField(r,i);else if(n==="repeat"&&Array.isArray(i))for(let s of i.keys()){let o=i[s];typeof o=="string"&&(i[s]=this.translateField(r,o))}else yIe(i)&&this.translateFields(i,r)}getVegaLiteSpec(e){if(e.isNull()||!e.isArray())throw new Error("Expected struct value not to be null.");let r=structuredClone(this.spec);this.translateFields(r,e.field);let n={values:this.mapData(e)};return r.data=n,r}},UH=class t extends et{static{this.instance=new t}create(e,r,n,i,s){return new A0e(e,r,n,i,s)}get rendererName(){return"vega"}};var g1=class extends wl{getVegaLiteSpec(e){let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=r[3],a=r[4],u=this.getDataType(n),l=this.getDataType(i),c=s?this.getDataType(s):void 0,f=o?this.getDataType(o):void 0,x=a?this.getDataType(a):void 0,d=this.getMark(),h=s!==void 0?{field:s.name,type:c,axis:{title:Hn(this.options,s,void 0,this.timezone)},scale:cr(c,d==="bar")}:{value:"#4285F4"},p=o?{field:o.name,type:f,axis:{title:Hn(this.options,o,void 0,this.timezone)}}:void 0,m=a?{field:a.name,type:x,axis:{title:Hn(this.options,a,void 0,this.timezone)}}:void 0,g=u==="nominal"?null:void 0,y=l==="nominal"?null:void 0,A={field:n.name,type:u,sort:g,axis:{title:Hn(this.options,n,void 0,this.timezone)},scale:{zero:!1}},S={field:i.name,type:l,sort:y,axis:{title:Hn(this.options,i,void 0,this.timezone)},scale:{zero:!1}};return{...gi,...this.getSize(),data:{values:this.mapData(e)},mark:d,encoding:{x:A,y:S,size:p,color:h,shape:m},background:"transparent"}}};var ID=class extends g1{getMark(){return"line"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for line chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for line chart.")}},$H=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new ID(e,r,n,s,o)}get rendererName(){return"line_chart"}};var MD=class extends ID{getSize(){return this.size==="large"?{height:100,width:250}:{height:50,width:125}}getVegaLiteSpec(e){let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=this.getDataType(n),a=this.getDataType(i),u=s?this.getDataType(s):void 0,l=s!==void 0?{field:s.name,type:u,axis:{title:null},scale:cr(u,!1)}:{value:"#4285F4"},c=o==="nominal"?null:void 0,f=a==="nominal"?null:void 0,x={field:n.name,type:o,sort:c,axis:{title:null,domain:!1,grid:!1,lables:!1,ticks:!1,values:[]},scale:{zero:!1}},d={field:i.name,type:a,sort:f,axis:{title:null,domain:!1,ticks:!1,grid:!1,lables:!1,values:[]},scale:{zero:!1}};return{...gi,...this.getSize(),data:{values:this.mapData(e)},config:{view:{stroke:"transparent"}},mark:{type:"line",tooltip:!0},encoding:{x,y:d,color:l},background:"transparent"}}},jH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new MD(e,r,n,s,o)}get rendererName(){return"sparkline"}};var j3=class extends g1{getMark(){return"bar"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp()||e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for bar chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate())return Wp(e.value,e.field.timeframe,this.timezone);if(e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for bar chart.")}},HH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new j3(e,r,n,s,o)}get rendererName(){return"bar_chart"}};var S0e=class extends j3{getSize(){return this.size==="large"?{height:250,width:100}:{height:125,width:50}}getVegaLiteSpec(e){let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=this.getDataType(n),a=this.getDataType(i),u=s?this.getDataType(s):void 0,l={type:this.getMark(),tooltip:!0},c=s!==void 0?{field:s.name,type:u,axis:{title:null},scale:cr(u,!0)}:{value:"#4285F4"},f=o==="nominal"?null:void 0,x=a==="nominal"?null:void 0,d={field:n.name,type:o,sort:f,axis:{title:null,domain:!1,grid:!1,ticks:!1,values:[]},scale:{zero:!1}},h={field:i.name,type:a,sort:x,axis:{title:null,domain:!1,ticks:!1,grid:!1,values:[]},scale:{zero:!1}};return{...gi,...this.getSize(),data:{values:this.mapData(e)},config:{view:{stroke:"transparent"}},mark:l,encoding:{y:d,x:h,color:c},background:"transparent"}}},zH=class t extends et{static{this.instance=new t}isValidMatch(e){return e.name.endsWith("_bar")}create(e,r,n,i,s,o){return new S0e(e,r,n,s,o)}get rendererName(){return"sparkline"}};var v0e=class extends MD{getVegaLiteSpec(e){let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=this.getDataType(n),a=this.getDataType(i),u=s?this.getDataType(s):void 0,l=s!==void 0?{field:s.name,type:u,axis:{title:null},scale:cr(u,!1)}:{value:"#4285F4"},c=o==="nominal"?null:void 0,f=a==="nominal"?null:void 0,x={field:n.name,type:o,sort:c,axis:{title:null,domain:!1,grid:!1,lables:!1,ticks:!1,values:[]},scale:{zero:!1}},d={field:i.name,type:a,sort:f,axis:{title:null,domain:!1,ticks:!1,grid:!1,lables:!1,values:[]},scale:{zero:!1}};return{...gi,...this.getSize(),data:{values:this.mapData(e)},config:{view:{stroke:"transparent"}},mark:{type:"area",line:{color:"#4285F4"},point:!1},encoding:{x,y:d,color:l},background:"transparent"}}},GH=class t extends et{static{this.instance=new t}isValidMatch(e){return e.name.endsWith("area")}create(e,r,n,i,s,o){return new v0e(e,r,n,s,o)}get rendererName(){return"sparkline"}};var _0e=class extends j3{getSize(){return this.size==="large"?{height:100,width:250}:{height:50,width:125}}getVegaLiteSpec(e){let r=e.field.intrinsicFields,n=r[0],i=r[1],s=r[2],o=this.getDataType(n),a=this.getDataType(i),u=s?this.getDataType(s):void 0,l={type:this.getMark(),tooltip:!0},c=s!==void 0?{field:s.name,type:u,axis:{title:null},scale:cr(u,!0)}:{value:"#4285F4"},f=o==="nominal"?null:void 0,x=a==="nominal"?null:void 0,d={field:n.name,type:o,sort:f,axis:{title:null,domain:!1,grid:!1,ticks:!1,values:[]},scale:{zero:!1}},h={field:i.name,type:a,sort:x,axis:{title:null,domain:!1,ticks:!1,grid:!1,values:[]},scale:{zero:!1}};return{...gi,...this.getSize(),data:{values:this.mapData(e)},config:{view:{stroke:"transparent"}},mark:l,encoding:{x:d,y:h,color:c},background:"transparent"}}},QH=class t extends et{static{this.instance=new t}isValidMatch(e){return e.name.endsWith("_column")}create(e,r,n,i,s,o){return new _0e(e,r,n,s,o)}get rendererName(){return"sparkline"}};var b0e=class extends g1{getMark(){return"point"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for scatter chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for scatter chart.")}},VH=class t extends et{static{this.instance=new t}create(e,r,n,i,s,o){return new b0e(e,r,n,s,o)}get rendererName(){return"scatter_chart"}};var H3=Qo(Bx());var T0e=class{constructor(e,r){this.document=e;this.queryTimezone=r}async render(e){if(e.isNull())return rf(this.document);if(!e.isDate()&&!e.isTimestamp())return Bi(this.document,"Invalid field for date renderer");let r=e.field.timeframe||(e.isTimestamp()?H3.TimestampTimeframe.Second:H3.DateTimeframe.Day),n=Wp(e.value,r,this.queryTimezone),i=this.document.createElement("span");return i.appendChild(this.document.createTextNode(n)),i}},WH=class t extends et{static{this.instance=new t}activates(e){return e.hasParentExplore()&&e.isAtomicField()&&(e.type===H3.AtomicFieldType.Date||e.type===H3.AtomicFieldType.Timestamp)}create(e,r,n,i,s,o){return new T0e(e,o)}get rendererName(){return"time"}};var C0e=class extends ds{constructor(r,n){super(r);this.options=n}getText(r){if(r.isNull())return null;let n="$";switch(this.options.currency){case"euro":n="\u20AC";break;case"pound":n="\xA3";break;case"usd":break}let i=r.number.value.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2});return`${n}${i}`}},YH=class t extends et{static{this.instance=new t}constructor(){super(),this.addExtractor((e,r)=>{e.currency=r?.text()??"usd"},this.rendererName)}create(e,r,n,i,s){return new C0e(e,s)}get rendererName(){return"currency"}};var R0e=class extends Yp{getText(e){if(e.isNull())return null;let r=e.number.value;return r===null?r:(r*100).toLocaleString("en",{maximumFractionDigits:2})+"%"}},KH=class t extends et{static{this.instance=new t}create(e,r,n,i,s){return new R0e(e,s)}get rendererName(){return"percent"}};var O0e=class extends ds{getText(e){return e.isNull()?null:e.bytes.value.toString("base64")}},XH=class t extends et{static{this.instance=new t}create(e,r,n,i,s){return new O0e(e)}get rendererName(){return"bytes"}};var AIe=Qo(Bx());var D0e=class extends ds{getText(e){return e.isNull()?null:`${e.boolean.value}`}},JH=class t extends et{static{this.instance=new t}activates(e){return e.hasParentExplore()&&e.isAtomicField()&&e.type===AIe.AtomicFieldType.Boolean}create(e,r,n,i,s){return new D0e(e)}get rendererName(){return"boolean"}};var N0e=class{constructor(e){this.document=e}async render(e){if(e.isNull())return rf(this.document);if(!e.isString())return Bi(this.document,"Invalid type for link renderer.");let r=this.document.createElement("a");return r.href=e.value,r.target="_blank",r.appendChild(this.document.createTextNode(e.value.replace(/\//g,"/\u200C"))),r}},ZH=class t extends et{static{this.instance=new t}create(e,r,n,i,s){return new N0e(e)}get rendererName(){return"link"}};var F0e=class{constructor(e){this.document=e}getText(e){let r=e.value;if(typeof r=="string")return r;if(r===null)return null;if(typeof e.value=="object"){let n=e.value;if("value"in n&&typeof n.value=="string")return n.value}return JSON.stringify(e.value)}async render(e){let r=this.getText(e);if(r===null)return rf(this.document);let n=this.document.createElement("span");return n.appendChild(this.document.createTextNode(r)),n}},ez=class t extends et{static{this.instance=new t}activates(e){return e.hasParentExplore()&&e.isAtomicField()&&e.isUnsupported()}create(e,r,n,i,s){return new F0e(e)}get rendererName(){}};var w0e=class t extends ds{constructor(r,n){super(r);this.options=n}static{this.kbMultiplier=1024}static{this.mbMultiplier=this.kbMultiplier*this.kbMultiplier}static{this.gbMultiplier=this.mbMultiplier*this.kbMultiplier}static{this.tbMultiplier=this.gbMultiplier*this.kbMultiplier}getText(r){if(r.isNull())return null;if(!r.isNumber())throw new Error(`Cannot format field ${r.field.name} as data volume since its not a number`);let n=r.number.value,i="Bytes";switch(this.options.data_volume_unit){case"bytes":break;case"kb":n=n/t.kbMultiplier,i="KB";break;case"mb":n=n/t.mbMultiplier,i="MB";break;case"gb":n=n/t.gbMultiplier,i="GB";break;case"tb":n=n/t.tbMultiplier,i="TB";break}return n===null?n:`${n.toLocaleString()} ${i}`}},tz=class t extends et{static{this.instance=new t}constructor(){super(),this.addExtractor((e,r)=>{e.data_volume_unit=r?.text()??"bytes"},this.rendererName)}create(e,r,n,i,s){return new w0e(e,s)}get rendererName(){return"data_volume"}};var L0e=class t extends ds{constructor(r,n){super(r);this.options=n}static{this.multiplierMap=new Map([["nanoseconds",1e3],["microseconds",1e3],["milliseconds",1e3],["seconds",60],["minutes",60],["hours",24],["days",Number.MAX_VALUE]])}getText(r){if(r.isNull())return null;if(!r.isNumber())throw new Error(`Cannot format field ${r.field.name} as a duration unit since its not a number`);let n=this.options.duration_unit??"seconds",i=r.number.value,s=0,o=[],a=!1;for(let[u,l]of t.multiplierMap)if(u===n&&(a=!0),!!a&&(s=i%l,i=Math.floor(i/=l),s>0&&(o=[this.formatTimeUnit(s,u),...o]),i===0))break;return o.length>0?o.slice(0,2).join(" "):this.formatTimeUnit(0,n)}formatTimeUnit(r,n){let i=n.toString();return r===1&&(i=i.substring(0,i.length-1)),`${r} ${i}`}},rz=class t extends et{static{this.instance=new t}constructor(){super(),this.addExtractor((e,r)=>{e.duration_unit=r?.text()??"seconds"},this.rendererName)}create(e,r,n,i,s){return new L0e(e,s)}get rendererName(){return"duration"}};var nz=class t{static{this.renderFactories=[IH.instance,MH.instance,PH.instance,kH.instance,dk.instance,$H.instance,QH.instance,zH.instance,GH.instance,jH.instance,VH.instance,HH.instance,UH.instance,WH.instance,YH.instance,KH.instance,tz.instance,XH.instance,ZH.instance,rz.instance,JH.instance,Ek.instance,ez.instance,mk.instance]}create(e,r,n,i,s,o,a){let u;for(let l of t.renderFactories)if((this.matchesRenderDef(e,l)||this.matchesTag(r,l))&&l.isValidMatch(o)||l.activates(o)){u=l;break}return u?.create(n,i,s,o,e||u.parseTagParameters(r)||{},a)}matchesRenderDef(e,r){return e&&r.rendererName&&e.renderer===r.rendererName}matchesTag(e,r){return r.rendererName&&e.has(r.rendererName)}};var XIe=Qo(Bx());var iz=globalThis,sz=iz.ShadowRoot&&(iz.ShadyCSS===void 0||iz.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,I0e=Symbol(),SIe=new WeakMap,PD=class{constructor(e,r,n){if(this._$cssResult$=!0,n!==I0e)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=r}get styleSheet(){let e=this.o,r=this.t;if(sz&&e===void 0){let n=r!==void 0&&r.length===1;n&&(e=SIe.get(r)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&SIe.set(r,e))}return e}toString(){return this.cssText}},vIe=t=>new PD(typeof t=="string"?t:t+"",void 0,I0e),z3=(t,...e)=>{let r=t.length===1?t[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new PD(r,t,I0e)},M0e=(t,e)=>{if(sz)t.adoptedStyleSheets=e.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(let r of e){let n=document.createElement("style"),i=iz.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,t.appendChild(n)}},oz=sz?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(let n of e.cssRules)r+=n.cssText;return vIe(r)})(t):t;var{is:ANt,defineProperty:SNt,getOwnPropertyDescriptor:vNt,getOwnPropertyNames:_Nt,getOwnPropertySymbols:bNt,getPrototypeOf:TNt}=Object,az=globalThis,_Ie=az.trustedTypes,CNt=_Ie?_Ie.emptyScript:"",RNt=az.reactiveElementPolyfillSupport,kD=(t,e)=>t,BD={toAttribute(t,e){switch(e){case Boolean:t=t?CNt:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=t!==null;break;case Number:r=t===null?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch{r=null}}return r}},uz=(t,e)=>!ANt(t,e),bIe={attribute:!0,type:String,converter:BD,reflect:!1,hasChanged:uz};Symbol.metadata??=Symbol("metadata"),az.litPropertyMetadata??=new WeakMap;var wd=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,r=bIe){if(r.state&&(r.attribute=!1),this._$Ei(),this.elementProperties.set(e,r),!r.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(e,n,r);i!==void 0&&SNt(this.prototype,e,i)}}static getPropertyDescriptor(e,r,n){let{get:i,set:s}=vNt(this.prototype,e)??{get(){return this[r]},set(o){this[r]=o}};return{get(){return i?.call(this)},set(o){let a=i?.call(this);s.call(this,o),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??bIe}static _$Ei(){if(this.hasOwnProperty(kD("elementProperties")))return;let e=TNt(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(kD("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(kD("properties"))){let r=this.properties,n=[..._Nt(r),...bNt(r)];for(let i of n)this.createProperty(i,r[i])}let e=this[Symbol.metadata];if(e!==null){let r=litPropertyMetadata.get(e);if(r!==void 0)for(let[n,i]of r)this.elementProperties.set(n,i)}this._$Eh=new Map;for(let[r,n]of this.elementProperties){let i=this._$Eu(r,n);i!==void 0&&this._$Eh.set(i,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let r=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let i of n)r.unshift(oz(i))}else e!==void 0&&r.push(oz(e));return r}static _$Eu(e,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$ES??=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$ES?.splice(this._$ES.indexOf(e)>>>0,1)}_$E_(){let e=new Map,r=this.constructor.elementProperties;for(let n of r.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return M0e(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$ES?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,r,n){this._$AK(e,n)}_$EO(e,r){let n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){let s=(n.converter?.toAttribute!==void 0?n.converter:BD).toAttribute(r,n.type);this._$Em=e,s==null?this.removeAttribute(i):this.setAttribute(i,s),this._$Em=null}}_$AK(e,r){let n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){let s=n.getPropertyOptions(i),o=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:BD;this._$Em=i,this[i]=o.fromAttribute(r,s.type),this._$Em=null}}requestUpdate(e,r,n,i=!1,s){if(e!==void 0){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??uz)(i?s:this[e],r))return;this.C(e,r,n)}this.isUpdatePending===!1&&(this._$Eg=this._$EP())}C(e,r,n){this._$AL.has(e)||this._$AL.set(e,r),n.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(r){Promise.reject(r)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(let[i,s]of this._$Ep)this[i]=s;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[i,s]of n)s.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.C(i,this[i],s)}let e=!1,r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$ES?.forEach(n=>n.hostUpdate?.()),this.update(r)):this._$ET()}catch(n){throw e=!1,this._$ET(),n}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$ES?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(r=>this._$EO(r,this[r])),this._$ET()}updated(e){}firstUpdated(e){}};wd.elementStyles=[],wd.shadowRootOptions={mode:"open"},wd[kD("elementProperties")]=new Map,wd[kD("finalized")]=new Map,RNt?.({ReactiveElement:wd}),(az.reactiveElementVersions??=[]).push("2.0.1");var j0e=globalThis,lz=j0e.trustedTypes,TIe=lz?lz.createPolicy("lit-html",{createHTML:t=>t}):void 0,FIe="$lit$",y1=`lit$${(Math.random()+"").slice(9)}$`,wIe="?"+y1,ONt=`<${wIe}>`,V3=document,UD=()=>V3.createComment(""),$D=t=>t===null||typeof t!="object"&&typeof t!="function",LIe=Array.isArray,DNt=t=>LIe(t)||typeof t?.[Symbol.iterator]=="function",P0e=`[
859
859
  \f\r]`,qD=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,CIe=/-->/g,RIe=/>/g,G3=RegExp(`>|${P0e}(?:([^\\s"'>=/]+)(${P0e}*=${P0e}*(?:[^
860
- \f\r"'\`<>=]|("|')|))|$)`,"g"),OIe=/'/g,DIe=/"/g,IIe=/^(?:script|style|textarea|title)$/i,MIe=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),zo=MIe(1),VCr=MIe(2),Ld=Symbol.for("lit-noChange"),Mn=Symbol.for("lit-nothing"),NIe=new WeakMap,Q3=V3.createTreeWalker(V3,129);function PIe(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return TIe!==void 0?TIe.createHTML(e):e}var NNt=(t,e)=>{let r=t.length-1,n=[],i,s=e===2?"<svg>":"",o=qD;for(let a=0;a<r;a++){let u=t[a],l,c,f=-1,x=0;for(;x<u.length&&(o.lastIndex=x,c=o.exec(u),c!==null);)x=o.lastIndex,o===qD?c[1]==="!--"?o=CIe:c[1]!==void 0?o=RIe:c[2]!==void 0?(IIe.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=G3):c[3]!==void 0&&(o=G3):o===G3?c[0]===">"?(o=i??qD,f=-1):c[1]===void 0?f=-2:(f=o.lastIndex-c[2].length,l=c[1],o=c[3]===void 0?G3:c[3]==='"'?DIe:OIe):o===DIe||o===OIe?o=G3:o===CIe||o===RIe?o=qD:(o=G3,i=void 0);let d=o===G3&&t[a+1].startsWith("/>")?" ":"";s+=o===qD?u+ONt:f>=0?(n.push(l),u.slice(0,f)+FIe+u.slice(f)+y1+d):u+y1+(f===-2?a:d)}return[PIe(t,s+(t[r]||"<?>")+(e===2?"</svg>":"")),n]},jD=class t{constructor({strings:e,_$litType$:r},n){let i;this.parts=[];let s=0,o=0,a=e.length-1,u=this.parts,[l,c]=NNt(e,r);if(this.el=t.createElement(l,n),Q3.currentNode=this.el.content,r===2){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Q3.nextNode())!==null&&u.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let f of i.getAttributeNames())if(f.endsWith(FIe)){let x=c[o++],d=i.getAttribute(f).split(y1),h=/([.?@])?(.*)/.exec(x);u.push({type:1,index:s,name:h[2],strings:d,ctor:h[1]==="."?B0e:h[1]==="?"?q0e:h[1]==="@"?U0e:M_}),i.removeAttribute(f)}else f.startsWith(y1)&&(u.push({type:6,index:s}),i.removeAttribute(f));if(IIe.test(i.tagName)){let f=i.textContent.split(y1),x=f.length-1;if(x>0){i.textContent=lz?lz.emptyScript:"";for(let d=0;d<x;d++)i.append(f[d],UD()),Q3.nextNode(),u.push({type:2,index:++s});i.append(f[x],UD())}}}else if(i.nodeType===8)if(i.data===wIe)u.push({type:2,index:s});else{let f=-1;for(;(f=i.data.indexOf(y1,f+1))!==-1;)u.push({type:7,index:s}),f+=y1.length-1}s++}}static createElement(e,r){let n=V3.createElement("template");return n.innerHTML=e,n}};function I_(t,e,r=t,n){if(e===Ld)return e;let i=n!==void 0?r._$Co?.[n]:r._$Cl,s=$D(e)?void 0:e._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),s===void 0?i=void 0:(i=new s(t),i._$AT(t,r,n)),n!==void 0?(r._$Co??=[])[n]=i:r._$Cl=i),i!==void 0&&(e=I_(t,i._$AS(t,e.values),i,n)),e}var k0e=class{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:r},parts:n}=this._$AD,i=(e?.creationScope??V3).importNode(r,!0);Q3.currentNode=i;let s=Q3.nextNode(),o=0,a=0,u=n[0];for(;u!==void 0;){if(o===u.index){let l;u.type===2?l=new HD(s,s.nextSibling,this,e):u.type===1?l=new u.ctor(s,u.name,u.strings,this,e):u.type===6&&(l=new $0e(s,this,e)),this._$AV.push(l),u=n[++a]}o!==u?.index&&(s=Q3.nextNode(),o++)}return Q3.currentNode=V3,i}p(e){let r=0;for(let n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,r),r+=n.strings.length-2):n._$AI(e[r])),r++}},HD=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,n,i){this.type=2,this._$AH=Mn,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,r=this._$AM;return r!==void 0&&e?.nodeType===11&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=I_(this,e,r),$D(e)?e===Mn||e==null||e===""?(this._$AH!==Mn&&this._$AR(),this._$AH=Mn):e!==this._$AH&&e!==Ld&&this._(e):e._$litType$!==void 0?this.g(e):e.nodeType!==void 0?this.$(e):DNt(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==Mn&&$D(this._$AH)?this._$AA.nextSibling.data=e:this.$(V3.createTextNode(e)),this._$AH=e}g(e){let{values:r,_$litType$:n}=e,i=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=jD.createElement(PIe(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(r);else{let s=new k0e(i,this),o=s.u(this.options);s.p(r),this.$(o),this._$AH=s}}_$AC(e){let r=NIe.get(e.strings);return r===void 0&&NIe.set(e.strings,r=new jD(e)),r}T(e){LIe(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,n,i=0;for(let s of e)i===r.length?r.push(n=new t(this.k(UD()),this.k(UD()),this,this.options)):n=r[i],n._$AI(s),i++;i<r.length&&(this._$AR(n&&n._$AB.nextSibling,i),r.length=i)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e&&e!==this._$AB;){let n=e.nextSibling;e.remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},M_=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,n,i,s){this.type=1,this._$AH=Mn,this._$AN=void 0,this.element=e,this.name=r,this._$AM=i,this.options=s,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=Mn}_$AI(e,r=this,n,i){let s=this.strings,o=!1;if(s===void 0)e=I_(this,e,r,0),o=!$D(e)||e!==this._$AH&&e!==Ld,o&&(this._$AH=e);else{let a=e,u,l;for(e=s[0],u=0;u<s.length-1;u++)l=I_(this,a[n+u],r,u),l===Ld&&(l=this._$AH[u]),o||=!$D(l)||l!==this._$AH[u],l===Mn?e=Mn:e!==Mn&&(e+=(l??"")+s[u+1]),this._$AH[u]=l}o&&!i&&this.O(e)}O(e){e===Mn?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},B0e=class extends M_{constructor(){super(...arguments),this.type=3}O(e){this.element[this.name]=e===Mn?void 0:e}},q0e=class extends M_{constructor(){super(...arguments),this.type=4}O(e){this.element.toggleAttribute(this.name,!!e&&e!==Mn)}},U0e=class extends M_{constructor(e,r,n,i,s){super(e,r,n,i,s),this.type=5}_$AI(e,r=this){if((e=I_(this,e,r,0)??Mn)===Ld)return;let n=this._$AH,i=e===Mn&&n!==Mn||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,s=e!==Mn&&(n===Mn||i);i&&this.element.removeEventListener(this.name,this,n),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},$0e=class{constructor(e,r,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){I_(this,e)}};var FNt=j0e.litHtmlPolyfillSupport;FNt?.(jD,HD),(j0e.litHtmlVersions??=[]).push("3.0.2");var kIe=(t,e,r)=>{let n=r?.renderBefore??e,i=n._$litPart$;if(i===void 0){let s=r?.renderBefore??null;n._$litPart$=i=new HD(e.insertBefore(UD(),s),s,void 0,r??{})}return i._$AI(t),i};var La=class extends wd{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=kIe(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ld}};La._$litElement$=!0,La.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:La});var wNt=globalThis.litElementPolyfillSupport;wNt?.({LitElement:La});(globalThis.litElementVersions??=[]).push("4.0.1");var E1=t=>(e,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};var LNt={attribute:!0,type:String,converter:BD,reflect:!1,hasChanged:uz},INt=(t=LNt,e,r)=>{let{kind:n,metadata:i}=r,s=globalThis.litPropertyMetadata.get(i);if(s===void 0&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),n==="accessor"){let{name:o}=r;return{set(a){let u=e.get.call(this);e.set.call(this,a),this.requestUpdate(o,u,t)},init(a){return a!==void 0&&this.C(o,void 0,t),a}}}if(n==="setter"){let{name:o}=r;return function(a){let u=this[o];e.call(this,a),this.requestUpdate(o,u,t)}}throw Error("Unsupported decorator location: "+n)};function Zn(t){return(e,r)=>typeof r=="object"?INt(t,e,r):((n,i,s)=>{let o=i.hasOwnProperty(s);return i.constructor.createProperty(s,o?{...n,wrapped:!0}:n),o?Object.getOwnPropertyDescriptor(i,s):void 0})(t,e,r)}function cz(t){return Zn({...t,state:!0,attribute:!1})}function BIe(t){return(e,r)=>{let n=typeof e=="function"?e:e[r];Object.assign(n,t)}}var qIe={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},UIe=t=>(...e)=>({_$litDirective$:t,values:e}),xz=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,r,n){this._$Ct=e,this._$AM=r,this._$Ci=n}_$AS(e,r){return this.update(e,r)}update(e,r){return this.render(...r)}};var P_=UIe(class extends xz{constructor(t){if(super(t),t.type!==qIe.ATTRIBUTE||t.name!=="class"||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(t,[e]){if(this.it===void 0){this.it=new Set,t.strings!==void 0&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter(n=>n!=="")));for(let n in e)e[n]&&!this.st?.has(n)&&this.it.add(n);return this.render(e)}let r=t.element.classList;for(let n of this.it)n in e||(r.remove(n),this.it.delete(n));for(let n in e){let i=!!e[n];i===this.it.has(n)||this.st?.has(n)||(i?(r.add(n),this.it.add(n)):(r.remove(n),this.it.delete(n)))}return Ld}});var A1=class extends Event{constructor(e,r,n){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.callback=r,this.subscribe=n??!1}};var k_=class{constructor(e,r,n,i){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(s,o)=>{this.unsubscribe&&(this.unsubscribe!==o&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=s,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(s,o)),this.unsubscribe=o},this.host=e,r.context!==void 0){let s=r;this.context=s.context,this.callback=s.callback,this.subscribe=s.subscribe??!1}else this.context=r,this.callback=n,this.subscribe=i??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new A1(this.context,this.t,this.subscribe))}};var dz=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,r=!1){let n=r||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[r,{disposer:n}]of this.subscriptions)r(this.o,n)},e!==void 0&&(this.value=e)}addCallback(e,r,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:r});let{disposer:i}=this.subscriptions.get(e);e(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var H0e=class extends Event{constructor(e){super("context-provider",{bubbles:!0,composed:!0}),this.context=e}},B_=class extends dz{constructor(e,r,n){super(r.context!==void 0?r.initialValue:n),this.onContextRequest=i=>{let s=i.composedPath()[0];i.context===this.context&&s!==this.host&&(i.stopPropagation(),this.addCallback(i.callback,s,i.subscribe))},this.onProviderRequest=i=>{let s=i.composedPath()[0];if(i.context!==this.context||s===this.host)return;let o=new Set;for(let[a,{consumerHost:u}]of this.subscriptions)o.has(a)||(o.add(a),u.dispatchEvent(new A1(this.context,a,!0)));i.stopPropagation()},this.host=e,r.context!==void 0?this.context=r.context:this.context=r,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new H0e(this.context))}};function zD({context:t}){return(e,r)=>{let n=new WeakMap;if(typeof r=="object")return r.addInitializer(function(){n.set(this,new B_(this,{context:t}))}),{get(){return e.get.call(this)},set(i){return n.get(this)?.setValue(i),e.set.call(this,i)},init(i){return n.get(this)?.setValue(i),i}};{e.constructor.addInitializer(o=>{n.set(o,new B_(o,{context:t}))});let i=Object.getOwnPropertyDescriptor(e,r),s;if(i===void 0){let o=new WeakMap;s={get:function(){return o.get(this)},set:function(a){n.get(this).setValue(a),o.set(this,a)},configurable:!0,enumerable:!0}}else{let o=i.set;s={...i,set:function(a){n.get(this).setValue(a),o?.call(this,a)}}}return void Object.defineProperty(e,r,s)}}}function q_({context:t,subscribe:e}){return(r,n)=>{typeof n=="object"?n.addInitializer(function(){new k_(this,{context:t,callback:i=>{this[n.name]=i},subscribe:e})}):r.constructor.addInitializer(i=>{new k_(i,{context:t,callback:s=>{i[n]=s},subscribe:e})})}}function jIe(t){return t.parentExplore?.allFields.findIndex(r=>r.name===t.name)??-1}function hz(t){return t.parentExplore?jIe(t)===t.parentExplore.allFields.length-1:!0}function pz(t){return jIe(t)===0}function U_(t,e){return t.isAtomicField()&&t.isNumber()&&e!==null}function $_(t,e){return t.isAtomicField()&&t.isString()&&e!==null}function W3(t,e,r){let i=(r??document.createElement("canvas")).getContext("2d");return i.font=e,i.measureText(t).width}function HIe(t,e,r){return Math.max(t,Math.min(e,r))}function zIe(t){if(t.isAtomicField())return"cell";let{tag:e}=t.tagParse();return e.has("bar")?"bar-chart":"table"}function Ll(t){return JSON.stringify(t.fieldPath)}var mz=Qo(Gee()),MNt=new Map([["nanoseconds",1e3],["microseconds",1e3],["milliseconds",1e3],["seconds",60],["minutes",60],["hours",24],["days",Number.MAX_VALUE]]);function GIe(t,e){let r=e.toString();return t===1&&(r=r.substring(0,r.length-1)),`${t} ${r}`}function gz(t,e){let r=e,{tag:n}=t.tagParse();if(n.has("currency")){let i="$";switch(n.text("currency")){case"euro":i="\u20AC";break;case"pound":i="\xA3";break;case"usd":break}r=(0,mz.format)(`${i}#,##0.00`,e)}else if(n.has("percent"))r=(0,mz.format)("#,##0.00%",e);else if(n.has("duration")){let s=n.text("duration")??"seconds",o=e,a=0,u=[],l=!1;for(let[c,f]of MNt)if(c===s&&(l=!0),!!l&&(a=o%f,o=Math.floor(o/=f),a>0&&(u=[GIe(a,c),...u]),o===0))break;u.length>0?r=u.slice(0,2).join(" "):r=GIe(0,s)}else n.has("number")?r=(0,mz.format)(n.text("number"),e):r=e.toLocaleString();return r}var j_="malloy-render-result";var PNt={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},yz=28;function Ez(t,e){let r=t.allFields.at(0),n=t.allFields.at(1),{tag:i}=t.tagParse(),s=0,o=0,a=i.numeric("size","width"),u=i.numeric("size","height"),l=i.text("size");a&&u?(s=a,o=u):(l=l||"md",[s,o]=PNt[l],o=o*yz);let c=0,f=0,x=-90,d=0,h=0,p=l!=="spark",m=l!=="spark",g=e.fields[Ll(t)],y=l!=="spark"?yz-1:0,A,S=Ll(n),T=e.fields[S].max,v=Nt("linear")().domain([0,T]).nice().range([o,0]),b=v.domain();if(m){let D=v.domain().at(1),$=PR().format(",")(D);f=W3($,"Inter, sans-serif 12px")+5+31;let P=Math.ceil(o/40),J=v.ticks(P);if(J.at(-1)<D){let me=(D-J.at(-1))/D,Ce=o/(1-me);y=y-(Ce-o),o=Ce,A=P}}if(p){let D=Ll(r),F=e.fields[D].maxString,$=W3(F,"Inter, sans-serif 12px"),B=.3;h=22+15,c=Math.min($,B*o),d=c;let P=(s-f)/g.maxRecordCt;P>c&&(x=0,d=P)}let R=o+c+h,O=Math.ceil(R/yz)*yz;return h+=O-R,{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelSize:d,height:c,titleSize:h},yAxis:{width:f,tickCount:A},yScale:{domain:b},padding:{top:y,left:f,bottom:c+h,right:0},xField:r,yField:n,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}var kNt=32,BNt=384,QIe=12,qNt=28;function VIe(t){let e={};for(let[r,n]of Object.entries(t.fields)){let i=n.field,s={metadata:n,width:UNt(i,t),height:null,chartSettings:null},{tag:o}=i.tagParse();o.has("bar")&&i.isExploreField()?(s.chartSettings=Ez(i,t),s.width=s.chartSettings.totalWidth,s.height=s.chartSettings.totalHeight):i.isAtomicField()&&(s.height=qNt),e[r]=s}return e}function UNt(t,e){let r=Ll(t),n=e.fields[r],i=0;if(t.isAtomicField()){let s="12px Inter, sans-serif",o=W3(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(W3(n.maxString,s),o)+QIe;else if(t.isAtomicField()&&t.isNumber()){let a=gz(t,n.max);i=Math.max(W3(a,s),o)+QIe}else i=130;i=HIe(kNt,BNt,i)}return i}var WIe="table",Ru=class extends La{constructor(){super(...arguments);this.rowLimit=1/0;this.pinnedHeader=!1;this._scrolling=!1}connectedCallback(){super.connectedCallback(),typeof this.parentCtx>"u"?this.ctx={root:!0,layout:{}}:this.ctx={root:!1,layout:this.parentCtx.layout}}_handleScroll(r){let n=r.target;this._scrolling=n.scrollTop>0}createRenderRoot(){return this.pinnedHeader?this:super.createRenderRoot()}renderHeader(r){let n=pz(r),i=pz(r.parentExplore),s=!r.parentExplore.isExploreField(),o=n&&(i||s),a=hz(r),u=hz(r.parentExplore),l=a&&(u||s);return zo`<th
860
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),OIe=/'/g,DIe=/"/g,IIe=/^(?:script|style|textarea|title)$/i,MIe=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),zo=MIe(1),VCr=MIe(2),Ld=Symbol.for("lit-noChange"),Mn=Symbol.for("lit-nothing"),NIe=new WeakMap,Q3=V3.createTreeWalker(V3,129);function PIe(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return TIe!==void 0?TIe.createHTML(e):e}var NNt=(t,e)=>{let r=t.length-1,n=[],i,s=e===2?"<svg>":"",o=qD;for(let a=0;a<r;a++){let u=t[a],l,c,f=-1,x=0;for(;x<u.length&&(o.lastIndex=x,c=o.exec(u),c!==null);)x=o.lastIndex,o===qD?c[1]==="!--"?o=CIe:c[1]!==void 0?o=RIe:c[2]!==void 0?(IIe.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=G3):c[3]!==void 0&&(o=G3):o===G3?c[0]===">"?(o=i??qD,f=-1):c[1]===void 0?f=-2:(f=o.lastIndex-c[2].length,l=c[1],o=c[3]===void 0?G3:c[3]==='"'?DIe:OIe):o===DIe||o===OIe?o=G3:o===CIe||o===RIe?o=qD:(o=G3,i=void 0);let d=o===G3&&t[a+1].startsWith("/>")?" ":"";s+=o===qD?u+ONt:f>=0?(n.push(l),u.slice(0,f)+FIe+u.slice(f)+y1+d):u+y1+(f===-2?a:d)}return[PIe(t,s+(t[r]||"<?>")+(e===2?"</svg>":"")),n]},jD=class t{constructor({strings:e,_$litType$:r},n){let i;this.parts=[];let s=0,o=0,a=e.length-1,u=this.parts,[l,c]=NNt(e,r);if(this.el=t.createElement(l,n),Q3.currentNode=this.el.content,r===2){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Q3.nextNode())!==null&&u.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let f of i.getAttributeNames())if(f.endsWith(FIe)){let x=c[o++],d=i.getAttribute(f).split(y1),h=/([.?@])?(.*)/.exec(x);u.push({type:1,index:s,name:h[2],strings:d,ctor:h[1]==="."?B0e:h[1]==="?"?q0e:h[1]==="@"?U0e:M_}),i.removeAttribute(f)}else f.startsWith(y1)&&(u.push({type:6,index:s}),i.removeAttribute(f));if(IIe.test(i.tagName)){let f=i.textContent.split(y1),x=f.length-1;if(x>0){i.textContent=lz?lz.emptyScript:"";for(let d=0;d<x;d++)i.append(f[d],UD()),Q3.nextNode(),u.push({type:2,index:++s});i.append(f[x],UD())}}}else if(i.nodeType===8)if(i.data===wIe)u.push({type:2,index:s});else{let f=-1;for(;(f=i.data.indexOf(y1,f+1))!==-1;)u.push({type:7,index:s}),f+=y1.length-1}s++}}static createElement(e,r){let n=V3.createElement("template");return n.innerHTML=e,n}};function I_(t,e,r=t,n){if(e===Ld)return e;let i=n!==void 0?r._$Co?.[n]:r._$Cl,s=$D(e)?void 0:e._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),s===void 0?i=void 0:(i=new s(t),i._$AT(t,r,n)),n!==void 0?(r._$Co??=[])[n]=i:r._$Cl=i),i!==void 0&&(e=I_(t,i._$AS(t,e.values),i,n)),e}var k0e=class{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:r},parts:n}=this._$AD,i=(e?.creationScope??V3).importNode(r,!0);Q3.currentNode=i;let s=Q3.nextNode(),o=0,a=0,u=n[0];for(;u!==void 0;){if(o===u.index){let l;u.type===2?l=new HD(s,s.nextSibling,this,e):u.type===1?l=new u.ctor(s,u.name,u.strings,this,e):u.type===6&&(l=new $0e(s,this,e)),this._$AV.push(l),u=n[++a]}o!==u?.index&&(s=Q3.nextNode(),o++)}return Q3.currentNode=V3,i}p(e){let r=0;for(let n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,r),r+=n.strings.length-2):n._$AI(e[r])),r++}},HD=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,n,i){this.type=2,this._$AH=Mn,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,r=this._$AM;return r!==void 0&&e?.nodeType===11&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=I_(this,e,r),$D(e)?e===Mn||e==null||e===""?(this._$AH!==Mn&&this._$AR(),this._$AH=Mn):e!==this._$AH&&e!==Ld&&this._(e):e._$litType$!==void 0?this.g(e):e.nodeType!==void 0?this.$(e):DNt(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==Mn&&$D(this._$AH)?this._$AA.nextSibling.data=e:this.$(V3.createTextNode(e)),this._$AH=e}g(e){let{values:r,_$litType$:n}=e,i=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=jD.createElement(PIe(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(r);else{let s=new k0e(i,this),o=s.u(this.options);s.p(r),this.$(o),this._$AH=s}}_$AC(e){let r=NIe.get(e.strings);return r===void 0&&NIe.set(e.strings,r=new jD(e)),r}T(e){LIe(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,n,i=0;for(let s of e)i===r.length?r.push(n=new t(this.k(UD()),this.k(UD()),this,this.options)):n=r[i],n._$AI(s),i++;i<r.length&&(this._$AR(n&&n._$AB.nextSibling,i),r.length=i)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e&&e!==this._$AB;){let n=e.nextSibling;e.remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},M_=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,n,i,s){this.type=1,this._$AH=Mn,this._$AN=void 0,this.element=e,this.name=r,this._$AM=i,this.options=s,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=Mn}_$AI(e,r=this,n,i){let s=this.strings,o=!1;if(s===void 0)e=I_(this,e,r,0),o=!$D(e)||e!==this._$AH&&e!==Ld,o&&(this._$AH=e);else{let a=e,u,l;for(e=s[0],u=0;u<s.length-1;u++)l=I_(this,a[n+u],r,u),l===Ld&&(l=this._$AH[u]),o||=!$D(l)||l!==this._$AH[u],l===Mn?e=Mn:e!==Mn&&(e+=(l??"")+s[u+1]),this._$AH[u]=l}o&&!i&&this.O(e)}O(e){e===Mn?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},B0e=class extends M_{constructor(){super(...arguments),this.type=3}O(e){this.element[this.name]=e===Mn?void 0:e}},q0e=class extends M_{constructor(){super(...arguments),this.type=4}O(e){this.element.toggleAttribute(this.name,!!e&&e!==Mn)}},U0e=class extends M_{constructor(e,r,n,i,s){super(e,r,n,i,s),this.type=5}_$AI(e,r=this){if((e=I_(this,e,r,0)??Mn)===Ld)return;let n=this._$AH,i=e===Mn&&n!==Mn||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,s=e!==Mn&&(n===Mn||i);i&&this.element.removeEventListener(this.name,this,n),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},$0e=class{constructor(e,r,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){I_(this,e)}};var FNt=j0e.litHtmlPolyfillSupport;FNt?.(jD,HD),(j0e.litHtmlVersions??=[]).push("3.0.2");var kIe=(t,e,r)=>{let n=r?.renderBefore??e,i=n._$litPart$;if(i===void 0){let s=r?.renderBefore??null;n._$litPart$=i=new HD(e.insertBefore(UD(),s),s,void 0,r??{})}return i._$AI(t),i};var La=class extends wd{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=kIe(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ld}};La._$litElement$=!0,La.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:La});var wNt=globalThis.litElementPolyfillSupport;wNt?.({LitElement:La});(globalThis.litElementVersions??=[]).push("4.0.1");var E1=t=>(e,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};var LNt={attribute:!0,type:String,converter:BD,reflect:!1,hasChanged:uz},INt=(t=LNt,e,r)=>{let{kind:n,metadata:i}=r,s=globalThis.litPropertyMetadata.get(i);if(s===void 0&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),n==="accessor"){let{name:o}=r;return{set(a){let u=e.get.call(this);e.set.call(this,a),this.requestUpdate(o,u,t)},init(a){return a!==void 0&&this.C(o,void 0,t),a}}}if(n==="setter"){let{name:o}=r;return function(a){let u=this[o];e.call(this,a),this.requestUpdate(o,u,t)}}throw Error("Unsupported decorator location: "+n)};function Zn(t){return(e,r)=>typeof r=="object"?INt(t,e,r):((n,i,s)=>{let o=i.hasOwnProperty(s);return i.constructor.createProperty(s,o?{...n,wrapped:!0}:n),o?Object.getOwnPropertyDescriptor(i,s):void 0})(t,e,r)}function cz(t){return Zn({...t,state:!0,attribute:!1})}function BIe(t){return(e,r)=>{let n=typeof e=="function"?e:e[r];Object.assign(n,t)}}var qIe={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},UIe=t=>(...e)=>({_$litDirective$:t,values:e}),xz=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,r,n){this._$Ct=e,this._$AM=r,this._$Ci=n}_$AS(e,r){return this.update(e,r)}update(e,r){return this.render(...r)}};var P_=UIe(class extends xz{constructor(t){if(super(t),t.type!==qIe.ATTRIBUTE||t.name!=="class"||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(t,[e]){if(this.it===void 0){this.it=new Set,t.strings!==void 0&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter(n=>n!=="")));for(let n in e)e[n]&&!this.st?.has(n)&&this.it.add(n);return this.render(e)}let r=t.element.classList;for(let n of this.it)n in e||(r.remove(n),this.it.delete(n));for(let n in e){let i=!!e[n];i===this.it.has(n)||this.st?.has(n)||(i?(r.add(n),this.it.add(n)):(r.remove(n),this.it.delete(n)))}return Ld}});var A1=class extends Event{constructor(e,r,n){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.callback=r,this.subscribe=n??!1}};var k_=class{constructor(e,r,n,i){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(s,o)=>{this.unsubscribe&&(this.unsubscribe!==o&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=s,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(s,o)),this.unsubscribe=o},this.host=e,r.context!==void 0){let s=r;this.context=s.context,this.callback=s.callback,this.subscribe=s.subscribe??!1}else this.context=r,this.callback=n,this.subscribe=i??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new A1(this.context,this.t,this.subscribe))}};var dz=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,r=!1){let n=r||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[r,{disposer:n}]of this.subscriptions)r(this.o,n)},e!==void 0&&(this.value=e)}addCallback(e,r,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:r});let{disposer:i}=this.subscriptions.get(e);e(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var H0e=class extends Event{constructor(e){super("context-provider",{bubbles:!0,composed:!0}),this.context=e}},B_=class extends dz{constructor(e,r,n){super(r.context!==void 0?r.initialValue:n),this.onContextRequest=i=>{let s=i.composedPath()[0];i.context===this.context&&s!==this.host&&(i.stopPropagation(),this.addCallback(i.callback,s,i.subscribe))},this.onProviderRequest=i=>{let s=i.composedPath()[0];if(i.context!==this.context||s===this.host)return;let o=new Set;for(let[a,{consumerHost:u}]of this.subscriptions)o.has(a)||(o.add(a),u.dispatchEvent(new A1(this.context,a,!0)));i.stopPropagation()},this.host=e,r.context!==void 0?this.context=r.context:this.context=r,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new H0e(this.context))}};function zD({context:t}){return(e,r)=>{let n=new WeakMap;if(typeof r=="object")return r.addInitializer(function(){n.set(this,new B_(this,{context:t}))}),{get(){return e.get.call(this)},set(i){return n.get(this)?.setValue(i),e.set.call(this,i)},init(i){return n.get(this)?.setValue(i),i}};{e.constructor.addInitializer(o=>{n.set(o,new B_(o,{context:t}))});let i=Object.getOwnPropertyDescriptor(e,r),s;if(i===void 0){let o=new WeakMap;s={get:function(){return o.get(this)},set:function(a){n.get(this).setValue(a),o.set(this,a)},configurable:!0,enumerable:!0}}else{let o=i.set;s={...i,set:function(a){n.get(this).setValue(a),o?.call(this,a)}}}return void Object.defineProperty(e,r,s)}}}function q_({context:t,subscribe:e}){return(r,n)=>{typeof n=="object"?n.addInitializer(function(){new k_(this,{context:t,callback:i=>{this[n.name]=i},subscribe:e})}):r.constructor.addInitializer(i=>{new k_(i,{context:t,callback:s=>{i[n]=s},subscribe:e})})}}function jIe(t){return t.parentExplore?.allFields.findIndex(r=>r.name===t.name)??-1}function hz(t){return t.parentExplore?jIe(t)===t.parentExplore.allFields.length-1:!0}function pz(t){return jIe(t)===0}function U_(t,e){return t.isAtomicField()&&t.isNumber()&&e!==null}function $_(t,e){return t.isAtomicField()&&t.isString()&&e!==null}function W3(t,e,r){let i=(r??document.createElement("canvas")).getContext("2d");return i.font=e,i.measureText(t).width}function HIe(t,e,r){return Math.max(t,Math.min(e,r))}function zIe(t){if(t.isAtomicField())return"cell";let{tag:e}=t.tagParse();return e.has("bar")?"bar-chart":"table"}function Ll(t){return JSON.stringify(t.fieldPath)}var mz=Qo(Gee()),MNt=new Map([["nanoseconds",1e3],["microseconds",1e3],["milliseconds",1e3],["seconds",60],["minutes",60],["hours",24],["days",Number.MAX_VALUE]]);function GIe(t,e){let r=e.toString();return t===1&&(r=r.substring(0,r.length-1)),`${t} ${r}`}function gz(t,e){let r=e,{tag:n}=t.tagParse();if(n.has("currency")){let i="$";switch(n.text("currency")){case"euro":i="\u20AC";break;case"pound":i="\xA3";break;case"usd":break}r=(0,mz.format)(`${i}#,##0.00`,e)}else if(n.has("percent"))r=(0,mz.format)("#,##0.00%",e);else if(n.has("duration")){let s=n.text("duration")??"seconds",o=e,a=0,u=[],l=!1;for(let[c,f]of MNt)if(c===s&&(l=!0),!!l&&(a=o%f,o=Math.floor(o/=f),a>0&&(u=[GIe(a,c),...u]),o===0))break;u.length>0?r=u.slice(0,2).join(" "):r=GIe(0,s)}else n.has("number")?r=(0,mz.format)(n.text("number"),e):r=e.toLocaleString();return r}var j_="malloy-render-result";var PNt={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},yz=28;function Ez(t,e){let r=t.allFields.at(0),n=t.allFields.at(1),{tag:i}=t.tagParse(),s=0,o=0,a=i.numeric("size","width"),u=i.numeric("size","height"),l=i.text("size");a&&u?(s=a,o=u):(l=l||"md",[s,o]=PNt[l],o=o*yz);let c=0,f=0,x=-90,d=0,h=0,p=l!=="spark",m=l!=="spark",g=e.fields[Ll(t)],y=l!=="spark"?yz-1:0,A,S=Ll(n),T=e.fields[S].max,v=Nt("linear")().domain([0,T]).nice().range([o,0]),b=v.domain();if(m){let D=v.domain().at(1),$=PR().format(",")(D);f=W3($,"Inter, sans-serif 12px")+5+31;let P=Math.ceil(o/40),J=v.ticks(P);if(J.at(-1)<D){let me=(D-J.at(-1))/D,Ce=o/(1-me);y=y-(Ce-o),o=Ce,A=P}}if(p){let D=Ll(r),F=e.fields[D].maxString,$=W3(F,"Inter, sans-serif 12px"),B=.3;h=22+15,c=Math.min($,B*o),d=c;let P=(s-f)/g.maxRecordCt;P>c&&(x=0,d=P)}let R=o+c+h,O=Math.ceil(R/yz)*yz;return h+=O-R,{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelSize:d,height:c,titleSize:h},yAxis:{width:f,tickCount:A},yScale:{domain:b},padding:{top:y,left:f,bottom:c+h,right:0},xField:r,yField:n,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}var kNt=32,BNt=384,QIe=12,qNt=28;function VIe(t){let e={};for(let[r,n]of Object.entries(t.fields)){let i=n.field,s={metadata:n,width:UNt(i,t),height:null,chartSettings:null},{tag:o}=i.tagParse();o.has("bar")&&i.isExploreField()?(s.chartSettings=Ez(i,t),s.width=s.chartSettings.totalWidth,s.height=s.chartSettings.totalHeight):i.isAtomicField()&&(s.height=qNt),e[r]=s}return e}function UNt(t,e){let r=Ll(t),n=e.fields[r],i=0;if(t.isAtomicField()){let s="12px Inter, sans-serif",o=W3(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(W3(n.maxString,s),o)+QIe;else if(t.isAtomicField()&&t.isNumber()){let a=n.max===null?"\u2205":gz(t,n.max);i=Math.max(W3(a,s),o)+QIe}else i=130;i=HIe(kNt,BNt,i)}return i}var WIe="table",Ru=class extends La{constructor(){super(...arguments);this.rowLimit=1/0;this.pinnedHeader=!1;this._scrolling=!1}connectedCallback(){super.connectedCallback(),typeof this.parentCtx>"u"?this.ctx={root:!0,layout:{}}:this.ctx={root:!1,layout:this.parentCtx.layout}}_handleScroll(r){let n=r.target;this._scrolling=n.scrollTop>0}createRenderRoot(){return this.pinnedHeader?this:super.createRenderRoot()}renderHeader(r){let n=pz(r),i=pz(r.parentExplore),s=!r.parentExplore.isExploreField(),o=n&&(i||s),a=hz(r),u=hz(r.parentExplore),l=a&&(u||s);return zo`<th
861
861
  class="column-cell ${P_({numeric:r.isAtomicField()&&r.isNumber()})}"
862
862
  >
863
863
  ${this.renderCell(r,r.name,{hideStartGutter:o,hideEndGutter:l,isHeader:!0})}
@@ -69,7 +69,7 @@ function getColumnWidth(f, metadata) {
69
69
  COLUMN_BUFFER;
70
70
  }
71
71
  else if (f.isAtomicField() && f.isNumber()) {
72
- const formattedValue = (0, render_numeric_field_1.renderNumericField)(f, fieldMeta.max);
72
+ const formattedValue = fieldMeta.max === null ? '∅' : (0, render_numeric_field_1.renderNumericField)(f, fieldMeta.max);
73
73
  width =
74
74
  Math.max((0, util_1.getTextWidth)(formattedValue, font), titleWidth) +
75
75
  COLUMN_BUFFER;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/render",
3
- "version": "0.0.119-dev240118215411",
3
+ "version": "0.0.119-dev240123183113",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@lit/context": "^1.1.0",
28
- "@malloydata/malloy": "^0.0.119-dev240118215411",
28
+ "@malloydata/malloy": "^0.0.119-dev240123183113",
29
29
  "@types/luxon": "^2.4.0",
30
30
  "lit": "^3.0.2",
31
31
  "lodash": "^4.17.20",