vega
Version:
The Vega visualization grammar.
1 lines • 353 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-dsv"),require("topojson-client"),require("d3-array"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-shape"),require("d3-path"),require("d3-scale"),require("d3-interpolate"),require("d3-geo"),require("d3-color"),require("d3-force"),require("d3-hierarchy"),require("d3-delaunay"),require("d3-timer")):"function"==typeof define&&define.amd?define(["exports","d3-dsv","topojson-client","d3-array","d3-format","d3-time","d3-time-format","d3-shape","d3-path","d3-scale","d3-interpolate","d3-geo","d3-color","d3-force","d3-hierarchy","d3-delaunay","d3-timer"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vega={},e.d3,e.topojson,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3)}(this,(function(e,t,n,r,i,a,o,s,u,l,c,d,f,h,p,m,g){"use strict";function y(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var v=y(l),b=y(c);function x(e,t,n){return e.fields=t||[],e.fname=n,e}function _(e){return null==e?null:e.fname}function k(e){return null==e?null:e.fields}function A(e){return 1===e.length?w(e[0]):D(e)}const w=e=>function(t){return t[e]},D=e=>{const t=e.length;return function(n){for(let r=0;r<t;++r)n=n[e[r]];return n}};function E(e){throw Error(e)}function C(e){const t=[],n=e.length;let r,i,a,o=null,s=0,u="";function l(){t.push(u+e.substring(r,i)),u="",r=i+1}for(e+="",r=i=0;i<n;++i)if(a=e[i],"\\"===a)u+=e.substring(r,i++),r=i;else if(a===o)l(),o=null,s=-1;else{if(o)continue;r===s&&'"'===a||r===s&&"'"===a?(r=i+1,o=a):"."!==a||s?"["===a?(i>r&&l(),s=r=i+1):"]"===a&&(s||E("Access path missing open bracket: "+e),s>0&&l(),s=0,r=i+1):i>r?l():r=i+1}return s&&E("Access path missing closing bracket: "+e),o&&E("Access path missing closing quote: "+e),i>r&&(i++,l()),t}function F(e,t,n){const r=C(e);return e=1===r.length?r[0]:e,x((n&&n.get||A)(r),[e],t||e)}const M=F("id"),S=x((e=>e),[],"identity"),B=x((()=>0),[],"zero"),O=x((()=>1),[],"one"),R=x((()=>!0),[],"true"),z=x((()=>!1),[],"false");function $(e,t,n){const r=[t].concat([].slice.call(n));console[e].apply(console,r)}function T(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$,r=e||0;return{level(e){return arguments.length?(r=+e,this):r},error(){return r>=1&&n(t||"error","ERROR",arguments),this},warn(){return r>=2&&n(t||"warn","WARN",arguments),this},info(){return r>=3&&n(t||"log","INFO",arguments),this},debug(){return r>=4&&n(t||"log","DEBUG",arguments),this}}}var q=Array.isArray;function L(e){return e===Object(e)}const N=e=>"__proto__"!==e;function P(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(((e,t)=>{for(const n in t)if("signals"===n)e.signals=j(e.signals,t.signals);else{const r="legend"===n?{layout:1}:"style"===n||null;U(e,n,t[n],r)}return e}),{})}function U(e,t,n,r){if(!N(t))return;let i,a;if(L(n)&&!q(n))for(i in a=L(e[t])?e[t]:e[t]={},n)r&&(!0===r||r[i])?U(a,i,n[i]):N(i)&&(a[i]=n[i]);else e[t]=n}function j(e,t){if(null==e)return t;const n={},r=[];function i(e){n[e.name]||(n[e.name]=1,r.push(e))}return t.forEach(i),e.forEach(i),r}function I(e){return e[e.length-1]}function W(e){return null==e||""===e?null:+e}const G=e=>t=>e*Math.exp(t),H=e=>t=>Math.log(e*t),V=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),Y=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,X=e=>t=>t<0?-Math.pow(-t,e):Math.pow(t,e);function J(e,t,n,r){const i=n(e[0]),a=n(I(e)),o=(a-i)*t;return[r(i-o),r(a-o)]}function Q(e,t){return J(e,t,W,S)}function K(e,t){var n=Math.sign(e[0]);return J(e,t,H(n),G(n))}function Z(e,t,n){return J(e,t,X(n),X(1/n))}function ee(e,t,n){return J(e,t,V(n),Y(n))}function te(e,t,n,r,i){const a=r(e[0]),o=r(I(e)),s=null!=t?r(t):(a+o)/2;return[i(s+(a-s)*n),i(s+(o-s)*n)]}function ne(e,t,n){return te(e,t,n,W,S)}function re(e,t,n){const r=Math.sign(e[0]);return te(e,t,n,H(r),G(r))}function ie(e,t,n,r){return te(e,t,n,X(r),X(1/r))}function ae(e,t,n,r){return te(e,t,n,V(r),Y(r))}function oe(e){return 1+~~(new Date(e).getMonth()/3)}function se(e){return 1+~~(new Date(e).getUTCMonth()/3)}function ue(e){return null!=e?q(e)?e:[e]:[]}function le(e,t,n){let r,i=e[0],a=e[1];return a<i&&(r=a,a=i,i=r),r=a-i,r>=n-t?[t,n]:[i=Math.min(Math.max(i,t),n-r),i+r]}function ce(e){return"function"==typeof e}function de(e,t,n){n=n||{},t=ue(t)||[];const r=[],i=[],a={},o=n.comparator||he;return ue(e).forEach(((e,o)=>{null!=e&&(r.push("descending"===t[o]?-1:1),i.push(e=ce(e)?e:F(e,null,n)),(k(e)||[]).forEach((e=>a[e]=1)))})),0===i.length?null:x(o(i,r),Object.keys(a))}const fe=(e,t)=>(e<t||null==e)&&null!=t?-1:(e>t||null==t)&&null!=e?1:(t=t instanceof Date?+t:t,(e=e instanceof Date?+e:e)!==e&&t==t?-1:t!=t&&e==e?1:0),he=(e,t)=>1===e.length?pe(e[0],t[0]):me(e,t,e.length),pe=(e,t)=>function(n,r){return fe(e(n),e(r))*t},me=(e,t,n)=>(t.push(0),function(r,i){let a,o=0,s=-1;for(;0===o&&++s<n;)a=e[s],o=fe(a(r),a(i));return o*t[s]});function ge(e){return ce(e)?e:()=>e}function ye(e,t){let n;return r=>{n&&clearTimeout(n),n=setTimeout((()=>(t(r),n=null)),e)}}function ve(e){for(let t,n,r=1,i=arguments.length;r<i;++r)for(n in t=arguments[r],t)e[n]=t[n];return e}function be(e,t){let n,r,i,a,o=0;if(e&&(n=e.length))if(null==t){for(r=e[o];o<n&&(null==r||r!=r);r=e[++o]);for(i=a=r;o<n;++o)r=e[o],null!=r&&(r<i&&(i=r),r>a&&(a=r))}else{for(r=t(e[o]);o<n&&(null==r||r!=r);r=t(e[++o]));for(i=a=r;o<n;++o)r=t(e[o]),null!=r&&(r<i&&(i=r),r>a&&(a=r))}return[i,a]}function xe(e,t){const n=e.length;let r,i,a,o,s,u=-1;if(null==t){for(;++u<n;)if(i=e[u],null!=i&&i>=i){r=a=i;break}if(u===n)return[-1,-1];for(o=s=u;++u<n;)i=e[u],null!=i&&(r>i&&(r=i,o=u),a<i&&(a=i,s=u))}else{for(;++u<n;)if(i=t(e[u],u,e),null!=i&&i>=i){r=a=i;break}if(u===n)return[-1,-1];for(o=s=u;++u<n;)i=t(e[u],u,e),null!=i&&(r>i&&(r=i,o=u),a<i&&(a=i,s=u))}return[o,s]}function _e(e,t){return Object.hasOwn(e,t)}const ke={};function Ae(e){let t,n={};function r(e){return _e(n,e)&&n[e]!==ke}const i={size:0,empty:0,object:n,has:r,get:e=>r(e)?n[e]:void 0,set(e,t){return r(e)||(++i.size,n[e]===ke&&--i.empty),n[e]=t,this},delete(e){return r(e)&&(--i.size,++i.empty,n[e]=ke),this},clear(){i.size=i.empty=0,i.object=n={}},test(e){return arguments.length?(t=e,i):t},clean(){const e={};let r=0;for(const i in n){const a=n[i];a===ke||t&&t(a)||(e[i]=a,++r)}i.size=r,i.empty=0,i.object=n=e}};return e&&Object.keys(e).forEach((t=>{i.set(t,e[t])})),i}function we(e,t,n,r,i,a){if(!n&&0!==n)return a;const o=+n;let s,u=e[0],l=I(e);l<u&&(s=u,u=l,l=s),s=Math.abs(t-u);const c=Math.abs(l-t);return s<c&&s<=o?r:c<=o?i:a}function De(e,t,n){const r=e.prototype=Object.create(t.prototype);return Object.defineProperty(r,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),ve(r,n)}function Ee(e,t,n,r){let i,a=t[0],o=t[t.length-1];return a>o&&(i=a,a=o,o=i),r=void 0===r||r,((n=void 0===n||n)?a<=e:a<e)&&(r?e<=o:e<o)}function Ce(e){return"boolean"==typeof e}function Fe(e){return"[object Date]"===Object.prototype.toString.call(e)}function Me(e){return e&&ce(e[Symbol.iterator])}function Se(e){return"number"==typeof e}function Be(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function Oe(e){return"string"==typeof e}function Re(e,t,n){e&&(e=t?ue(e).map((e=>e.replace(/\\(.)/g,"$1"))):ue(e));const r=e&&e.length,i=n&&n.get||A,a=e=>i(t?[e]:C(e));let o;if(r)if(1===r){const t=a(e[0]);o=function(e){return""+t(e)}}else{const t=e.map(a);o=function(e){let n=""+t[0](e),i=0;for(;++i<r;)n+="|"+t[i](e);return n}}else o=function(){return""};return x(o,e,"key")}function ze(e,t){const n=e[0],r=I(e),i=+t;return i?1===i?r:n+i*(r-n):n}function $e(e){let t,n,r;e=+e||1e4;const i=()=>{t={},n={},r=0},a=(i,a)=>(++r>e&&(n=t,t={},r=1),t[i]=a);return i(),{clear:i,has:e=>_e(t,e)||_e(n,e),get:e=>_e(t,e)?t[e]:_e(n,e)?a(e,n[e]):void 0,set:(e,n)=>_e(t,e)?t[e]=n:a(e,n)}}function Te(e,t,n,r){const i=t.length,a=n.length;if(!a)return t;if(!i)return n;const o=r||new t.constructor(i+a);let s=0,u=0,l=0;for(;s<i&&u<a;++l)o[l]=e(t[s],n[u])>0?n[u++]:t[s++];for(;s<i;++s,++l)o[l]=t[s];for(;u<a;++u,++l)o[l]=n[u];return o}function qe(e,t){let n="";for(;--t>=0;)n+=e;return n}function Le(e,t,n,r){const i=n||" ",a=e+"",o=t-a.length;return o<=0?a:"left"===r?qe(i,o)+a:"center"===r?qe(i,~~(o/2))+a+qe(i,Math.ceil(o/2)):a+qe(i,o)}function Ne(e){return e&&I(e)-e[0]||0}function Pe(e){return q(e)?"["+e.map(Pe)+"]":L(e)||Oe(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function Ue(e){return null==e||""===e?null:!(!e||"false"===e||"0"===e)&&!!e}const je=e=>Se(e)||Fe(e)?e:Date.parse(e);function Ie(e,t){return t=t||je,null==e||""===e?null:t(e)}function We(e){return null==e||""===e?null:e+""}function Ge(e){const t={},n=e.length;for(let r=0;r<n;++r)t[e[r]]=!0;return t}function He(e,t,n,r){const i=null!=r?r:"…",a=e+"",o=a.length,s=Math.max(0,t-i.length);return o<=t?a:"left"===n?i+a.slice(o-s):"center"===n?a.slice(0,Math.ceil(s/2))+i+a.slice(o-~~(s/2)):a.slice(0,s)+i}function Ve(e,t,n){if(e)if(t){const r=e.length;for(let i=0;i<r;++i){const r=t(e[i]);r&&n(r,i,e)}}else e.forEach(n)}const Ye="year",Xe="quarter",Je="month",Qe="week",Ke="date",Ze="day",et="dayofyear",tt="hours",nt="minutes",rt="seconds",it="milliseconds",at=[Ye,Xe,Je,Qe,Ke,Ze,et,tt,nt,rt,it],ot=at.reduce(((e,t,n)=>(e[t]=1+n,e)),{});function st(e){const t=ue(e).slice(),n={};t.length||E("Missing time unit."),t.forEach((e=>{_e(ot,e)?n[e]=1:E(`Invalid time unit: ${e}.`)}));return(n[Qe]||n[Ze]?1:0)+(n[Xe]||n[Je]||n[Ke]?1:0)+(n[et]?1:0)>1&&E(`Incompatible time units: ${e}`),t.sort(((e,t)=>ot[e]-ot[t])),t}const ut={[Ye]:"%Y ",[Xe]:"Q%q ",[Je]:"%b ",[Ke]:"%d ",[Qe]:"W%U ",[Ze]:"%a ",[et]:"%j ",[tt]:"%H:00",[nt]:"00:%M",[rt]:":%S",[it]:".%L",[`${Ye}-${Je}`]:"%Y-%m ",[`${Ye}-${Je}-${Ke}`]:"%Y-%m-%d ",[`${tt}-${nt}`]:"%H:%M"};function lt(e,t){const n=ve({},ut,t),r=st(e),i=r.length;let a,o,s="",u=0;for(u=0;u<i;)for(a=r.length;a>u;--a)if(o=r.slice(u,a).join("-"),null!=n[o]){s+=n[o],u=a;break}return s.trim()}const ct=new Date;function dt(e){return ct.setFullYear(e),ct.setMonth(0),ct.setDate(1),ct.setHours(0,0,0,0),ct}function ft(e){return pt(new Date(e))}function ht(e){return mt(new Date(e))}function pt(e){return a.timeDay.count(dt(e.getFullYear())-1,e)}function mt(e){return a.timeWeek.count(dt(e.getFullYear())-1,e)}function gt(e){return dt(e).getDay()}function yt(e,t,n,r,i,a,o){if(0<=e&&e<100){const s=new Date(-1,t,n,r,i,a,o);return s.setFullYear(e),s}return new Date(e,t,n,r,i,a,o)}function vt(e){return xt(new Date(e))}function bt(e){return _t(new Date(e))}function xt(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return a.utcDay.count(t-1,e)}function _t(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return a.utcWeek.count(t-1,e)}function kt(e){return ct.setTime(Date.UTC(e,0,1)),ct.getUTCDay()}function At(e,t,n,r,i,a,o){if(0<=e&&e<100){const e=new Date(Date.UTC(-1,t,n,r,i,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,i,a,o))}function wt(e,t,n,r,i){const a=t||1,o=I(e),s=(e,t,i)=>function(e,t,n,r){const i=n<=1?e:r?(t,i)=>r+n*Math.floor((e(t,i)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(i(e,n),n):i}(n[i=i||e],r[i],e===o&&a,t),u=new Date,l=Ge(e),c=l[Ye]?s(Ye):ge(2012),d=l[Je]?s(Je):l[Xe]?s(Xe):B,f=l[Qe]&&l[Ze]?s(Ze,1,Qe+Ze):l[Qe]?s(Qe,1):l[Ze]?s(Ze,1):l[Ke]?s(Ke,1):l[et]?s(et,1):O,h=l[tt]?s(tt):B,p=l[nt]?s(nt):B,m=l[rt]?s(rt):B,g=l[it]?s(it):B;return function(e){u.setTime(+e);const t=c(u);return i(t,d(u),f(u,t),h(u),p(u),m(u),g(u))}}function Dt(e,t,n){return t+7*e-(n+6)%7}const Et={[Ye]:e=>e.getFullYear(),[Xe]:e=>Math.floor(e.getMonth()/3),[Je]:e=>e.getMonth(),[Ke]:e=>e.getDate(),[tt]:e=>e.getHours(),[nt]:e=>e.getMinutes(),[rt]:e=>e.getSeconds(),[it]:e=>e.getMilliseconds(),[et]:e=>pt(e),[Qe]:e=>mt(e),[Qe+Ze]:(e,t)=>Dt(mt(e),e.getDay(),gt(t)),[Ze]:(e,t)=>Dt(1,e.getDay(),gt(t))},Ct={[Xe]:e=>3*e,[Qe]:(e,t)=>Dt(e,0,gt(t))};function Ft(e,t){return wt(e,t||1,Et,Ct,yt)}const Mt={[Ye]:e=>e.getUTCFullYear(),[Xe]:e=>Math.floor(e.getUTCMonth()/3),[Je]:e=>e.getUTCMonth(),[Ke]:e=>e.getUTCDate(),[tt]:e=>e.getUTCHours(),[nt]:e=>e.getUTCMinutes(),[rt]:e=>e.getUTCSeconds(),[it]:e=>e.getUTCMilliseconds(),[et]:e=>xt(e),[Qe]:e=>_t(e),[Ze]:(e,t)=>Dt(1,e.getUTCDay(),kt(t)),[Qe+Ze]:(e,t)=>Dt(_t(e),e.getUTCDay(),kt(t))},St={[Xe]:e=>3*e,[Qe]:(e,t)=>Dt(e,0,kt(t))};function Bt(e,t){return wt(e,t||1,Mt,St,At)}const Ot={[Ye]:a.timeYear,[Xe]:a.timeMonth.every(3),[Je]:a.timeMonth,[Qe]:a.timeWeek,[Ke]:a.timeDay,[Ze]:a.timeDay,[et]:a.timeDay,[tt]:a.timeHour,[nt]:a.timeMinute,[rt]:a.timeSecond,[it]:a.timeMillisecond},Rt={[Ye]:a.utcYear,[Xe]:a.utcMonth.every(3),[Je]:a.utcMonth,[Qe]:a.utcWeek,[Ke]:a.utcDay,[Ze]:a.utcDay,[et]:a.utcDay,[tt]:a.utcHour,[nt]:a.utcMinute,[rt]:a.utcSecond,[it]:a.utcMillisecond};function zt(e){return Ot[e]}function $t(e){return Rt[e]}function Tt(e,t,n){return e?e.offset(t,n):void 0}function qt(e,t,n){return Tt(zt(e),t,n)}function Lt(e,t,n){return Tt($t(e),t,n)}function Nt(e,t,n,r){return e?e.range(t,n,r):void 0}function Pt(e,t,n,r){return Nt(zt(e),t,n,r)}function Ut(e,t,n,r){return Nt($t(e),t,n,r)}const jt=1e3,It=6e4,Wt=36e5,Gt=864e5,Ht=2592e6,Vt=31536e6,Yt=[Ye,Je,Ke,tt,nt,rt,it],Xt=Yt.slice(0,-1),Jt=Xt.slice(0,-1),Qt=Jt.slice(0,-1),Kt=Qt.slice(0,-1),Zt=[Ye,Je],en=[Ye],tn=[[Xt,1,jt],[Xt,5,5e3],[Xt,15,15e3],[Xt,30,3e4],[Jt,1,It],[Jt,5,3e5],[Jt,15,9e5],[Jt,30,18e5],[Qt,1,Wt],[Qt,3,108e5],[Qt,6,216e5],[Qt,12,432e5],[Kt,1,Gt],[[Ye,Qe],1,6048e5],[Zt,1,Ht],[Zt,3,7776e6],[en,1,Vt]];function nn(e){const t=e.extent,n=e.maxbins||40,i=Math.abs(Ne(t))/n;let a,o,s=r.bisector((e=>e[2])).right(tn,i);return s===tn.length?(a=en,o=r.tickStep(t[0]/Vt,t[1]/Vt,n)):s?(s=tn[i/tn[s-1][2]<tn[s][2]/i?s-1:s],a=s[0],o=s[1]):(a=Yt,o=Math.max(r.tickStep(t[0],t[1],n),1)),{units:a,step:o}}function rn(e){const t={};return n=>t[n]||(t[n]=e(n))}function an(e){const t=rn(e.format),n=e.formatPrefix;return{format:t,formatPrefix:n,formatFloat(e){const n=i.formatSpecifier(e||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return r=t(n),a=t(".1f")(1)[1],e=>{const t=r(e),n=t.indexOf(a);if(n<0)return t;let i=function(e,t){let n,r=e.lastIndexOf("e");if(r>0)return r;for(r=e.length;--r>t;)if(n=e.charCodeAt(r),n>=48&&n<=57)return r+1}(t,n);const o=i<t.length?t.slice(i):"";for(;--i>n;)if("0"!==t[i]){++i;break}return t.slice(0,i)+o}}return t(n);var r,a},formatSpan(e,a,o,s){s=i.formatSpecifier(null==s?",f":s);const u=r.tickStep(e,a,o),l=Math.max(Math.abs(e),Math.abs(a));let c;if(null==s.precision)switch(s.type){case"s":return isNaN(c=i.precisionPrefix(u,l))||(s.precision=c),n(s,l);case"":case"e":case"g":case"p":case"r":isNaN(c=i.precisionRound(u,l))||(s.precision=c-("e"===s.type));break;case"f":case"%":isNaN(c=i.precisionFixed(u))||(s.precision=c-2*("%"===s.type))}return t(s)}}}let on,sn;function un(){return on=an({format:i.format,formatPrefix:i.formatPrefix})}function ln(e){return an(i.formatLocale(e))}function cn(e){return arguments.length?on=ln(e):on}function dn(e,t,n){L(n=n||{})||E(`Invalid time multi-format specifier: ${n}`);const r=t(rt),i=t(nt),a=t(tt),o=t(Ke),s=t(Qe),u=t(Je),l=t(Xe),c=t(Ye),d=e(n[it]||".%L"),f=e(n[rt]||":%S"),h=e(n[nt]||"%I:%M"),p=e(n[tt]||"%I %p"),m=e(n[Ke]||n[Ze]||"%a %d"),g=e(n[Qe]||"%b %d"),y=e(n[Je]||"%B"),v=e(n[Xe]||"%B"),b=e(n[Ye]||"%Y");return e=>(r(e)<e?d:i(e)<e?f:a(e)<e?h:o(e)<e?p:u(e)<e?s(e)<e?m:g:c(e)<e?l(e)<e?y:v:b)(e)}function fn(e){const t=rn(e.format),n=rn(e.utcFormat);return{timeFormat:e=>Oe(e)?t(e):dn(t,zt,e),utcFormat:e=>Oe(e)?n(e):dn(n,$t,e),timeParse:rn(e.parse),utcParse:rn(e.utcParse)}}function hn(){return sn=fn({format:o.timeFormat,parse:o.timeParse,utcFormat:o.utcFormat,utcParse:o.utcParse})}function pn(e){return fn(o.timeFormatLocale(e))}function mn(e){return arguments.length?sn=pn(e):sn}un(),hn();const gn=(e,t)=>ve({},e,t);function yn(e,t){const n=e?ln(e):cn(),r=t?pn(t):mn();return gn(n,r)}function vn(e,t){const n=arguments.length;return n&&2!==n&&E("defaultLocale expects either zero or two arguments."),n?gn(cn(e),mn(t)):gn(cn(),mn())}const bn=/^(data:|([A-Za-z]+:)?\/\/)/,xn=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,_n=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,kn="file://";async function An(e,t){const n=await this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t)}async function wn(e,t){t=ve({},this.options,t);const n=this.fileAccess,r={href:null};let i,a,o;const s=xn.test(e.replace(_n,""));null!=e&&"string"==typeof e&&s||E("Sanitize failure, invalid URI: "+Pe(e));const u=bn.test(e);return(o=t.baseURL)&&!u&&(e.startsWith("/")||o.endsWith("/")||(e="/"+e),e=o+e),a=(i=e.startsWith(kn))||"file"===t.mode||"http"!==t.mode&&!u&&n,i?e=e.slice(7):e.startsWith("//")&&("file"===t.defaultProtocol?(e=e.slice(2),a=!0):e=(t.defaultProtocol||"http")+":"+e),Object.defineProperty(r,"localFile",{value:!!a}),r.href=e,t.target&&(r.target=t.target+""),t.rel&&(r.rel=t.rel+""),"image"===t.context&&t.crossOrigin&&(r.crossOrigin=t.crossOrigin+""),r}function Dn(e){return En}async function En(){E("No file system access.")}function Cn(e){return e?async function(t,n){const r=ve({},this.options.http,n),i=n&&n.response,a=await e(t,r);return a.ok?ce(a[i])?a[i]():a.text():E(a.status+""+a.statusText)}:Fn}async function Fn(){E("No HTTP fetch method available.")}const Mn=e=>!(Number.isNaN(+e)||e instanceof Date),Sn={boolean:Ue,integer:W,number:W,date:Ie,string:We,unknown:S},Bn=[e=>"true"===e||"false"===e||!0===e||!1===e,e=>Mn(e)&&Number.isInteger(+e),Mn,e=>!Number.isNaN(Date.parse(e))],On=["boolean","integer","number","date"];function Rn(e,t){if(!e||!e.length)return"unknown";const n=e.length,r=Bn.length,i=Bn.map(((e,t)=>t+1));for(let o,s,u=0,l=0;u<n;++u)for(s=t?e[u][t]:e[u],o=0;o<r;++o)if(i[o]&&(null!=(a=s)&&a==a)&&!Bn[o](s)&&(i[o]=0,++l,l===Bn.length))return"string";var a;return On[i.reduce(((e,t)=>0===e?t:e),0)-1]}function zn(e,t){return t.reduce(((t,n)=>(t[n]=Rn(e,n),t)),{})}function $n(e){const t=function(t,n){const r={delimiter:e};return Tn(t,n?ve(n,r):r)};return t.responseType="text",t}function Tn(e,n){return n.header&&(e=n.header.map(Pe).join(n.delimiter)+"\n"+e),t.dsvFormat(n.delimiter).parse(e+"")}function qn(e,t){const n=t&&t.property?F(t.property):S;return!L(e)||(r=e,"function"==typeof Buffer&&ce(Buffer.isBuffer)&&Buffer.isBuffer(r))?n(JSON.parse(e)):function(e,t){!q(e)&&Me(e)&&(e=[...e]);return t&&t.copy?JSON.parse(JSON.stringify(e)):e}(n(e),t);var r}Tn.responseType="text",qn.responseType="json";const Ln={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function Nn(e,t){let r,i,a,o;return e=qn(e,t),t&&t.feature?(r=n.feature,a=t.feature):t&&t.mesh?(r=n.mesh,a=t.mesh,o=Ln[t.filter]):E("Missing TopoJSON feature or mesh parameter."),i=(i=e.objects[a])?r(e,i,o):E("Invalid TopoJSON object: "+a),i&&i.features||[i]}Nn.responseType="json";const Pn={dsv:Tn,csv:$n(","),tsv:$n("\t"),json:qn,topojson:Nn};function Un(e,t){return arguments.length>1?(Pn[e]=t,this):_e(Pn,e)?Pn[e]:null}function jn(e){const t=Un(e);return t&&t.responseType||"text"}function In(e,t,n,r){const i=Un((t=t||{}).type||"json");return i||E("Unknown data format type: "+t.type),e=i(e,t),t.parse&&function(e,t,n,r){if(!e.length)return;const i=mn();n=n||i.timeParse,r=r||i.utcParse;let a,o,s,u,l,c,d=e.columns||Object.keys(e[0]);"auto"===t&&(t=zn(e,d));d=Object.keys(t);const f=d.map((e=>{const i=t[e];let a,o;if(i&&(i.startsWith("date:")||i.startsWith("utc:"))){a=i.split(/:(.+)?/,2),o=a[1],("'"===o[0]&&"'"===o[o.length-1]||'"'===o[0]&&'"'===o[o.length-1])&&(o=o.slice(1,-1));return("utc"===a[0]?r:n)(o)}if(!Sn[i])throw Error("Illegal format pattern: "+e+":"+i);return Sn[i]}));for(s=0,l=e.length,c=d.length;s<l;++s)for(a=e[s],u=0;u<c;++u)o=d[u],a[o]=f[u](a[o])}(e,t.parse,n,r),_e(e,"columns")&&delete e.columns,e}const Wn=function(e){return t=>({options:t||{},sanitize:wn,load:An,fileAccess:!1,file:Dn(),http:Cn(e)})}("undefined"!=typeof fetch&&fetch);function Gn(e){const t=e||S,n=[],r={};return n.add=e=>{const i=t(e);return r[i]||(r[i]=1,n.push(e)),n},n.remove=e=>{const i=t(e);if(r[i]){r[i]=0;const t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function Hn(e,t){try{await t(e)}catch(t){e.error(t)}}const Vn=Symbol("vega_id");let Yn=1;function Xn(e){return!(!e||!Jn(e))}function Jn(e){return e[Vn]}function Qn(e,t){return e[Vn]=t,e}function Kn(e){const t=e===Object(e)?e:{data:e};return Jn(t)?t:Qn(t,Yn++)}function Zn(e){return er(e,Kn({}))}function er(e,t){for(const n in e)t[n]=e[n];return t}function tr(e,t){return Qn(t,Jn(e))}function nr(e,t){return e?t?(n,r)=>e(n,r)||Jn(t(n))-Jn(t(r)):(t,n)=>e(t,n)||Jn(t)-Jn(n):null}function rr(e){return e&&e.constructor===ir}function ir(){const e=[],t=[],n=[],r=[],i=[];let a=null,o=!1;return{constructor:ir,insert(t){const n=ue(t),r=n.length;for(let t=0;t<r;++t)e.push(n[t]);return this},remove(e){const n=ce(e)?r:t,i=ue(e),a=i.length;for(let e=0;e<a;++e)n.push(i[e]);return this},modify(e,t,r){const a={field:t,value:ge(r)};return ce(e)?(a.filter=e,i.push(a)):(a.tuple=e,n.push(a)),this},encode(e,t){return ce(e)?i.push({filter:e,field:t}):n.push({tuple:e,field:t}),this},clean(e){return a=e,this},reflow(){return o=!0,this},pulse(s,u){const l={},c={};let d,f,h,p,m,g;for(d=0,f=u.length;d<f;++d)l[Jn(u[d])]=1;for(d=0,f=t.length;d<f;++d)m=t[d],l[Jn(m)]=-1;for(d=0,f=r.length;d<f;++d)p=r[d],u.forEach((e=>{p(e)&&(l[Jn(e)]=-1)}));for(d=0,f=e.length;d<f;++d)m=e[d],g=Jn(m),l[g]?l[g]=1:s.add.push(Kn(e[d]));for(d=0,f=u.length;d<f;++d)m=u[d],l[Jn(m)]<0&&s.rem.push(m);function y(e,t,n){n?e[t]=n(e):s.encode=t,o||(c[Jn(e)]=e)}for(d=0,f=n.length;d<f;++d)h=n[d],m=h.tuple,p=h.field,g=l[Jn(m)],g>0&&(y(m,p,h.value),s.modifies(p));for(d=0,f=i.length;d<f;++d)h=i[d],p=h.filter,u.forEach((e=>{p(e)&&l[Jn(e)]>0&&y(e,h.field,h.value)})),s.modifies(h.field);if(o)s.mod=t.length||r.length?u.filter((e=>l[Jn(e)]>0)):u.slice();else for(g in c)s.mod.push(c[g]);return(a||null==a&&(t.length||r.length))&&s.clean(!0),s}}}const ar="_:mod:_";function or(){Object.defineProperty(this,ar,{writable:!0,value:{}})}or.prototype={set(e,t,n,r){const i=this,a=i[e],o=i[ar];return null!=t&&t>=0?(a[t]!==n||r)&&(a[t]=n,o[t+":"+e]=-1,o[e]=-1):(a!==n||r)&&(i[e]=n,o[e]=q(n)?1+n.length:-1),i},modified(e,t){const n=this[ar];if(!arguments.length){for(const e in n)if(n[e])return!0;return!1}if(q(e)){for(let t=0;t<e.length;++t)if(n[e[t]])return!0;return!1}return null!=t&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[ar]={},this}};let sr=0;const ur=new or;function lr(e,t,n,r){this.id=++sr,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),n&&this.parameters(n,r)}function cr(e){return function(t){const n=this.flags;return 0===arguments.length?!!(n&e):(this.flags=t?n|e:n&~e,this)}}lr.prototype={targets(){return this._targets||(this._targets=Gn(M))},set(e){return this.value!==e?(this.value=e,1):0},skip:cr(1),modified:cr(2),parameters(e,t,n){t=!1!==t;const r=this._argval=this._argval||new or,i=this._argops=this._argops||[],a=[];let o,s,u,l;const c=(e,n,o)=>{o instanceof lr?(o!==this&&(t&&o.targets().add(this),a.push(o)),i.push({op:o,name:e,index:n})):r.set(e,n,o)};for(o in e)if(s=e[o],"pulse"===o)ue(s).forEach((e=>{e instanceof lr?e!==this&&(e.targets().add(this),a.push(e)):E("Pulse parameters must be operator instances.")})),this.source=s;else if(q(s))for(r.set(o,-1,Array(u=s.length)),l=0;l<u;++l)c(o,l,s[l]);else c(o,-1,s);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){const t=this._argval||ur,n=this._argops;let r,i,a,o;if(n){const s=n.length;for(i=0;i<s;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<s;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){const e=this._argops;let t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){const t=this._update;if(t){const n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};let dr=0;function fr(e,t,n){this.id=++dr,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function hr(e,t,n){return new fr(e,t,n)}fr.prototype={_filter:R,_apply:S,targets(){return this._targets||(this._targets=Gn(M))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){const t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let e=0;e<r;++e)n[e].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){const t=hr(e);return this.targets().add(t),t},apply(e){const t=hr(null,e);return this.targets().add(t),t},merge(){const e=hr();this.targets().add(e);for(let t=0,n=arguments.length;t<n;++t)arguments[t].targets().add(e);return e},throttle(e){let t=-1;return this.filter((()=>{const n=Date.now();return n-t>e?(t=n,1):0}))},debounce(e){const t=hr();return this.targets().add(hr(null,null,ye(e,(e=>{const n=e.dataflow;t.receive(e),n&&n.run&&n.run()})))),t},between(e,t){let n=!1;return e.targets().add(hr(null,null,(()=>n=!0))),t.targets().add(hr(null,null,(()=>n=!1))),this.filter((()=>n))},detach(){this._filter=R,this._targets=null}};const pr={skip:!0};function mr(e,t,n,r,i,a){const o=ve({},a,pr);let s,u;ce(n)||(n=ge(n)),void 0===r?s=t=>e.touch(n(t)):ce(r)?(u=new lr(null,r,i,!1),s=t=>{u.evaluate(t);const r=n(t),i=u.value;rr(i)?e.pulse(r,i,a):e.update(r,i,o)}):s=t=>e.update(n(t),r,o),t.apply(s)}function gr(e,t,n,r,i,a){if(void 0===r)t.targets().add(n);else{const o=a||{},s=new lr(null,function(e,t){return t=ce(t)?t:ge(t),e?function(n,r){const i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}(n,r),i,!1);s.modified(o.force),s.rank=t.rank,t.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),e.connect(n,[s]))}}const yr={};function vr(e,t,n){this.dataflow=e,this.stamp=null==t?-1:t,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function br(e,t){const n=[];return Ve(e,t,(e=>n.push(e))),n}function xr(e,t){const n={};return e.visit(t,(e=>{n[Jn(e)]=1})),e=>n[Jn(e)]?null:e}function _r(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}function kr(e,t,n,r){const i=this;let a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(const e of n)if(e.stamp===t){if(e.fields){const t=i.fields||(i.fields={});for(const n in e.fields)t[n]=1}e.changed(i.ADD)&&(a|=i.ADD),e.changed(i.REM)&&(a|=i.REM),e.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}function Ar(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}vr.prototype={StopPropagation:yr,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(e){return new vr(this.dataflow).init(this,e)},clone(){const e=this.fork(7);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new vr(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,t){const n=this;return n.stamp=e.stamp,n.encode=e.encode,!e.fields||64&t||(n.fields=e.fields),1&t?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),2&t?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),4&t?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),32&t?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){const t=e||7;return 1&t&&this.add.length||2&t&&this.rem.length||4&t&&this.mod.length},reflow(e){if(e)return this.fork(7).reflow();const t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(4,xr(this,1))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){const t=this.fields||(this.fields={});return q(e)?e.forEach((e=>t[e]=!0)):t[e]=!0,this},modified(e,t){const n=this.fields;return!(!t&&!this.mod.length||!n)&&(arguments.length?q(e)?e.some((e=>n[e])):n[e]:!!n)},filter(e,t){const n=this;return 1&e&&(n.addF=_r(n.addF,t)),2&e&&(n.remF=_r(n.remF,t)),4&e&&(n.modF=_r(n.modF,t)),16&e&&(n.srcF=_r(n.srcF,t)),n},materialize(e){const t=this;return 1&(e=e||7)&&t.addF&&(t.add=br(t.add,t.addF),t.addF=null),2&e&&t.remF&&(t.rem=br(t.rem,t.remF),t.remF=null),4&e&&t.modF&&(t.mod=br(t.mod,t.modF),t.modF=null),16&e&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){const n=this,r=t;if(16&e)return Ve(n.source,n.srcF,r),n;1&e&&Ve(n.add,n.addF,r),2&e&&Ve(n.rem,n.remF,r),4&e&&Ve(n.mod,n.modF,r);const i=n.source;if(8&e&&i){const e=n.add.length+n.mod.length;e===i.length||Ve(i,e?xr(n,5):n.srcF,r)}return n}},De(kr,vr,{fork(e){const t=new vr(this.dataflow).init(this,e&this.NO_FIELDS);return void 0!==e&&(e&t.ADD&&this.visit(t.ADD,(e=>t.add.push(e))),e&t.REM&&this.visit(t.REM,(e=>t.rem.push(e))),e&t.MOD&&this.visit(t.MOD,(e=>t.mod.push(e)))),t},changed(e){return this.changes&e},modified(e){const t=this,n=t.fields;return n&&t.changes&t.MOD?q(e)?e.some((e=>n[e])):n[e]:0},filter(){E("MultiPulse does not support filtering.")},materialize(){E("MultiPulse does not support materialization.")},visit(e,t){const n=this,r=n.pulses,i=r.length;let a=0;if(e&n.SOURCE)for(;a<i;++a)r[a].visit(e,t);else for(;a<i;++a)r[a].stamp===n.stamp&&r[a].visit(e,t);return n}});const wr={skip:!1,force:!1};function Dr(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),Er(t,0,t.length-1,e)),pop:()=>{const n=t.pop();let r;return t.length?(r=t[0],t[0]=n,function(e,t,n){const r=t,i=e.length,a=e[t];let o,s=1+(t<<1);for(;s<i;)o=s+1,o<i&&n(e[s],e[o])>=0&&(s=o),e[t]=e[s],s=1+((t=s)<<1);e[t]=a,Er(e,r,t,n)}(t,0,e)):r=n,r}}}function Er(e,t,n,r){let i,a;const o=e[n];for(;n>t&&(a=n-1>>1,i=e[a],r(o,i)<0);)e[n]=i,n=a;return e[n]=o}function Cr(){this.logger(T()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=vn();try{this._loader=Wn()}catch(e){}this._touched=Gn(M),this._input={},this._pulse=null,this._heap=Dr(((e,t)=>e.qrank-t.qrank)),this._postrun=[]}function Fr(e){return function(){return this._log[e].apply(this,arguments)}}function Mr(e,t){lr.call(this,e,null,t)}Cr.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:Fr("error"),warn:Fr("warn"),info:Fr("info"),debug:Fr("debug"),logLevel:Fr("level"),cleanThreshold:1e4,add:function(e,t,n,r){let i,a=1;return e instanceof lr?i=e:e&&e.prototype instanceof lr?i=new e:ce(e)?i=new lr(null,e):(a=0,i=new lr(e,t)),this.rank(i),a&&(r=n,n=t),n&&this.connect(i,i.parameters(n,r)),this.touch(i),i},connect:function(e,t){const n=e.rank,r=t.length;for(let i=0;i<r;++i)if(n<t[i].rank)return void this.rerank(e)},rank:function(e){e.rank=++this._rank},rerank:function(e){const t=[e];let n,r,i;for(;t.length;)if(this.rank(n=t.pop()),r=n._targets)for(i=r.length;--i>=0;)t.push(n=r[i]),n===e&&E("Cycle detected in dataflow graph.")},pulse:function(e,t,n){this.touch(e,n||wr);const r=new vr(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this},touch:function(e,t){const n=t||wr;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this},update:function(e,t,n){const r=n||wr;return(e.set(t)||r.force)&&this.touch(e,r),this},changeset:ir,ingest:function(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))},parse:function(e,t){const n=this.locale();return In(e,t,n.timeParse,n.utcParse)},preload:async function(e,t,n){const r=this,i=r._pending||function(e){let t;const n=new Promise((e=>t=e));return n.requests=0,n.done=()=>{0==--n.requests&&(e._pending=null,t(e))},e._pending=n}(r);i.requests+=1;const a=await r.request(t,n);return r.pulse(e,r.changeset().remove(R).insert(a.data||[])),i.done(),a},request:async function(e,t){const n=this;let r,i=0;try{r=await n.loader().load(e,{context:"dataflow",response:jn(t&&t.type)});try{r=n.parse(r,t)}catch(t){i=-2,n.warn("Data ingestion failed",e,t)}}catch(t){i=-1,n.warn("Loading failed",e,t)}return{data:r,status:i}},events:function(e,t,n,r){const i=this,a=hr(n,r),o=function(e){e.dataflow=i;try{a.receive(e)}catch(e){i.error(e)}finally{i.run()}};let s;s="string"==typeof e&&"undefined"!=typeof document?document.querySelectorAll(e):ue(e);const u=s.length;for(let e=0;e<u;++e)s[e].addEventListener(t,o);return a},on:function(e,t,n,r,i){return(e instanceof lr?gr:mr)(this,e,t,n,r,i),this},evaluate:async function(e,t,n){const r=this,i=[];if(r._pulse)return Ar(r);if(r._pending&&await r._pending,t&&await Hn(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new vr(r,a,e),r._touched.forEach((e=>r._enqueue(e,!0))),r._touched=Gn(M);let o,s,u,l=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(s=o.run(r._getPulse(o,e)),s.then?s=await s:s.async&&(i.push(s.async),s=yr),s!==yr&&o._targets&&o._targets.forEach((e=>r._enqueue(e))),++l):r._enqueue(o,!0)}catch(e){r._heap.clear(),u=e}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const e=r._postrun.sort(((e,t)=>t.priority-e.priority));r._postrun=[];for(let t=0;t<e.length;++t)await Hn(r,e[t].callback)}return n&&await Hn(r,n),i.length&&Promise.all(i).then((e=>r.runAsync(null,(()=>{e.forEach((e=>{try{e(r)}catch(e){r.error(e)}}))})))),r},run:function(e,t,n){return this._pulse?Ar(this):(this.evaluate(e,t,n),this)},runAsync:async function(e,t,n){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running},runAfter:function(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(e){this.error(e)}},_enqueue:function(e,t){const n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))},_getPulse:function(e,t){const n=e.source,r=this._clock;return n&&q(n)?new kr(this,r,n.map((e=>e.pulse)),t):this._input[e.id]||function(e,t){if(t&&t.stamp===e.stamp)return t;e=e.fork(),t&&t!==yr&&(e.source=t.source);return e}(this._pulse,n&&n.pulse)}},De(Mr,lr,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t=t||e,t.then?t=t.then((e=>this.pulse=e)):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){const t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});const Sr={};function Br(e){const t=Or(e);return t&&t.Definition||null}function Or(e){return e=e&&e.toLowerCase(),_e(Sr,e)?Sr[e]:null}function*Rr(e,t){if(null==t)for(let t of e)null!=t&&""!==t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)r=t(r,++n,e),null!=r&&""!==r&&(r=+r)>=r&&(yield r)}}function zr(e,t,n){const i=Float64Array.from(Rr(e,n));return i.sort(r.ascending),t.map((e=>r.quantileSorted(i,e)))}function $r(e,t){return zr(e,[.25,.5,.75],t)}function Tr(e,t){const n=e.length,i=r.deviation(e,t),a=$r(e,t),o=(a[2]-a[0])/1.34;return 1.06*(Math.min(i,o)||i||Math.abs(a[0])||1)*Math.pow(n,-.2)}function qr(e){const t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2];let a,o,s,u,l,c,d=e.extent[0],f=e.extent[1];const h=e.span||f-d||Math.abs(d)||1;if(e.step)a=e.step;else if(e.steps){for(u=h/t,l=0,c=e.steps.length;l<c&&e.steps[l]<u;++l);a=e.steps[Math.max(0,l-1)]}else{for(o=Math.ceil(Math.log(t)/r),s=e.minstep||0,a=Math.max(s,Math.pow(n,Math.round(Math.log(h)/r)-o));Math.ceil(h/a)>t;)a*=n;for(l=0,c=i.length;l<c;++l)u=a/i[l],u>=s&&h/u<=t&&(a=u)}u=Math.log(a);const p=u>=0?0:1+~~(-u/r),m=Math.pow(n,-p-1);return(e.nice||void 0===e.nice)&&(u=Math.floor(d/a+m)*a,d=d<u?u-a:u,f=Math.ceil(f/a)*a),{start:d,stop:f===d?d+a:f,step:a}}function Lr(t,n,i,a){if(!t.length)return[void 0,void 0];const o=Float64Array.from(Rr(t,a)),s=o.length,u=n;let l,c,d,f;for(d=0,f=Array(u);d<u;++d){for(l=0,c=0;c<s;++c)l+=o[~~(e.random()*s)];f[d]=l/s}return f.sort(r.ascending),[r.quantile(f,i/2),r.quantile(f,1-i/2)]}function Nr(e,t,n,r){r=r||(e=>e);const i=e.length,a=new Float64Array(i);let o,s=0,u=1,l=r(e[0]),c=l,d=l+t;for(;u<i;++u){if(o=r(e[u]),o>=d){for(c=(l+c)/2;s<u;++s)a[s]=c;d=o+t,l=o}c=o}for(c=(l+c)/2;s<u;++s)a[s]=c;return n?function(e,t){const n=e.length;let r,i,a=0,o=1;for(;e[a]===e[o];)++o;for(;o<n;){for(r=o+1;e[o]===e[r];)++r;if(e[o]-e[o-1]<t){for(i=o+(a+r-o-o>>1);i<o;)e[i++]=e[o];for(;i>o;)e[i--]=e[a]}a=o,o=r}return e}(a,t+t/4):a}e.random=Math.random;const Pr=Math.sqrt(2*Math.PI),Ur=Math.SQRT2;let jr=NaN;function Ir(t,n){t=t||0,n=null==n?1:n;let r,i,a=0,o=0;if(jr==jr)a=jr,jr=NaN;else{do{a=2*e.random()-1,o=2*e.random()-1,r=a*a+o*o}while(0===r||r>1);i=Math.sqrt(-2*Math.log(r)/r),a*=i,jr=o*i}return t+a*n}function Wr(e,t,n){const r=(e-(t||0))/(n=null==n?1:n);return Math.exp(-.5*r*r)/(n*Pr)}function Gr(e,t,n){const r=(e-(t=t||0))/(n=null==n?1:n),i=Math.abs(r);let a;if(i>37)a=0;else{const e=Math.exp(-i*i/2);let t;i<7.07106781186547?(t=.0352624965998911*i+.700383064443688,t=t*i+6.37396220353165,t=t*i+33.912866078383,t=t*i+112.079291497871,t=t*i+221.213596169931,t=t*i+220.206867912376,a=e*t,t=.0883883476483184*i+1.75566716318264,t=t*i+16.064177579207,t=t*i+86.7807322029461,t=t*i+296.564248779674,t=t*i+637.333633378831,t=t*i+793.826512519948,t=t*i+440.413735824752,a/=t):(t=i+.65,t=i+4/t,t=i+3/t,t=i+2/t,t=i+1/t,a=e/t/2.506628274631)}return r>0?1-a:a}function Hr(e,t,n){return e<0||e>1?NaN:(t||0)+(null==n?1:n)*Ur*function(e){let t,n=-Math.log((1-e)*(1+e));n<6.25?(n-=3.125,t=-364441206401782e-35,t=t*n-16850591381820166e-35,t=128584807152564e-32+t*n,t=11157877678025181e-33+t*n,t=t*n-1333171662854621e-31,t=20972767875968562e-33+t*n,t=6637638134358324e-30+t*n,t=t*n-4054566272975207e-29,t=t*n-8151934197605472e-29,t=26335093153082323e-28+t*n,t=t*n-12975133253453532e-27,t=t*n-5415412054294628e-26,t=1.0512122733215323e-9+t*n,t=t*n-4.112633980346984e-9,t=t*n-2.9070369957882005e-8,t=4.2347877827932404e-7+t*n,t=t*n-13654692000834679e-22,t=t*n-13882523362786469e-21,t=.00018673420803405714+t*n,t=t*n-.000740702534166267,t=t*n-.006033670871430149,t=.24015818242558962+t*n,t=1.6536545626831027+t*n):n<16?(n=Math.sqrt(n)-3.25,t=2.2137376921775787e-9,t=9.075656193888539e-8+t*n,t=t*n-2.7517406297064545e-7,t=1.8239629214389228e-8+t*n,t=15027403968909828e-22+t*n,t=t*n-4013867526981546e-21,t=29234449089955446e-22+t*n,t=12475304481671779e-21+t*n,t=t*n-47318229009055734e-21,t=6828485145957318e-20+t*n,t=24031110387097894e-21+t*n,t=t*n-.0003550375203628475,t=.0009532893797373805+t*n,t=t*n-.0016882755560235047,t=.002491442096107851+t*n,t=t*n-.003751208507569241,t=.005370914553590064+t*n,t=1.0052589676941592+t*n,t=3.0838856104922208+t*n):Number.isFinite(n)?(n=Math.sqrt(n)-5,t=-27109920616438573e-27,t=t*n-2.555641816996525e-10,t=1.5076572693500548e-9+t*n,t=t*n-3.789465440126737e-9,t=7.61570120807834e-9+t*n,t=t*n-1.496002662714924e-8,t=2.914795345090108e-8+t*n,t=t*n-6.771199775845234e-8,t=2.2900482228026655e-7+t*n,t=t*n-9.9298272942317e-7,t=4526062597223154e-21+t*n,t=t*n-1968177810553167e-20,t=7599527703001776e-20+t*n,t=t*n-.00021503011930044477,t=t*n-.00013871931833623122,t=1.0103004648645344+t*n,t=4.849906401408584+t*n):t=1/0;return t*e}(2*e-1)}function Vr(e,t){let n,r;const i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>Ir(n,r),pdf:e=>Wr(e,n,r),cdf:e=>Gr(e,n,r),icdf:e=>Hr(e,n,r)};return i.mean(e).stdev(t)}function Yr(t,n){const r=Vr();let i=0;const a={data(e){return arguments.length?(t=e,i=e?e.length:0,a.bandwidth(n)):t},bandwidth(e){return arguments.length?(!(n=e)&&t&&(n=Tr(t)),a):n},sample:()=>t[~~(e.random()*i)]+n*r.sample(),pdf(e){let a=0,o=0;for(;o<i;++o)a+=r.pdf((e-t[o])/n);return a/n/i},cdf(e){let a=0,o=0;for(;o<i;++o)a+=r.cdf((e-t[o])/n);return a/i},icdf(){throw Error("KDE icdf not supported.")}};return a.data(t)}function Xr(e,t){return e=e||0,t=null==t?1:t,Math.exp(e+Ir()*t)}function Jr(e,t,n){if(e<=0)return 0;t=t||0,n=null==n?1:n;const r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*Pr*e)}function Qr(e,t,n){return Gr(Math.log(e),t,n)}function Kr(e,t,n){return Math.exp(Hr(e,t,n))}function Zr(e,t){let n,r;const i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>Xr(n,r),pdf:e=>Jr(e,n,r),cdf:e=>Qr(e,n,r),icdf:e=>Kr(e,n,r)};return i.mean(e).stdev(t)}function ei(t,n){let r,i=0;const a={weights(e){return arguments.length?(r=function(e){const t=[];let n,r=0;for(n=0;n<i;++n)r+=t[n]=null==e[n]?1:+e[n];for(n=0;n<i;++n)t[n]/=r;return t}(n=e||[]),a):n},distributions(e){return arguments.length?(e?(i=e.length,t=e):(i=0,t=[]),a.weights(n)):t},sample(){const n=e.random();let a=t[i-1],o=r[0],s=0;for(;s<i-1;o+=r[++s])if(n<o){a=t[s];break}return a.sample()},pdf(e){let n=0,a=0;for(;a<i;++a)n+=r[a]*t[a].pdf(e);return n},cdf(e){let n=0,a=0;for(;a<i;++a)n+=r[a]*t[a].cdf(e);return n},icdf(){throw Error("Mixture icdf not supported.")}};return a.distributions(t).weights(n)}function ti(t,n){return null==n&&(n=null==t?1:t,t=0),t+(n-t)*e.random()}function ni(e,t,n){return null==n&&(n=null==t?1:t,t=0),e>=t&&e<=n?1/(n-t):0}function ri(e,t,n){return null==n&&(n=null==t?1:t,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function ii(e,t,n){return null==n&&(n=null==t?1:t,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function ai(e,t){let n,r;const i={min(e){return arguments.length?(n=e||0,i):n},max(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>ti(n,r),pdf:e=>ni(e,n,r),cdf:e=>ri(e,n,r),icdf:e=>ii(e,n,r)};return null==t&&(t=null==e?1:e,e=0),i.min(e).max(t)}function oi(e,t,n){let r=0,i=0;for(const a of e){const e=n(a);null==t(a)||null==e||isNaN(e)||(r+=(e-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function si(e,t,n,r){const i=r-e*e,a=Math.abs(i)<1e-24?0:(n-e*t)/i;return[t-a*e,a]}function ui(e,t,n,r){e=e.filter((e=>{let r=t(e),i=n(e);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i})),r&&e.sort(((e,n)=>t(e)-t(n)));const i=e.length,a=new Float64Array(i),o=new Float64Array(i);let s,u,l,c=0,d=0,f=0;for(l of e)a[c]=s=+t(l),o[c]=u=+n(l),++c,d+=(s-d)/c,f+=(u-f)/c;for(c=0;c<i;++c)a[c]-=d,o[c]-=f;return[a,o,d,f]}function li(e,t,n,r){let i,a,o=-1;for(const s of e)i=t(s),a=n(s),null!=i&&(i=+i)>=i&&null!=a&&(a=+a)>=a&&r(i,a,++o)}function ci(e,t,n,r,i){let a=0,o=0;return li(e,t,n,((e,t)=>{const n=t-i(e),s=t-r;a+=n*n,o+=s*s})),1-a/o}function di(e,t,n){let r=0,i=0,a=0,o=0,s=0;li(e,t,n,((e,t)=>{++s,r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s}));const u=si(r,i,a,o),l=e=>u[0]+u[1]*e;return{coef:u,predict:l,rSquared:ci(e,t,n,i,l)}}function fi(e,t,n){let r=0,i=0,a=0,o=0,s=0;li(e,t,n,((e,t)=>{++s,e=Math.log(e),r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s}));const u=si(r,i,a,o),l=e=>u[0]+u[1]*Math.log(e);return{coef:u,predict:l,rSquared:ci(e,t,n,i,l)}}function hi(e,t,n){const[r,i,a,o]=ui(e,t,n);let s,u,l,c=0,d=0,f=0,h=0,p=0;li(e,t,n,((e,t)=>{s=r[p++],u=Math.log(t),l=s*t,c+=(t*u-c)/p,d+=(l-d)/p,f+=(l*u-f)/p,h+=(s*l-h)/p}));const[m,g]=si(d/o,c/o,f/o,h/o),y=e=>Math.exp(m+g*(e-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:ci(e,t,n,o,y)}}function pi(e,t,n){let r=0,i=0,a=0,o=0,s=0,u=0;li(e,t,n,((e,t)=>{const n=Math.log(e),l=Math.log(t);++u,r+=(n-r)/u,i+=(l-i)/u,a+=(n*l-a)/u,o+=(n*n-o)/u,s+=(t-s)/u}));const l=si(r,i,a,o),c=e=>l[0]*Math.pow(e,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:ci(e,t,n,s,c)}}function mi(e,t,n){const[r,i,a,o]=ui(e,t,n),s=r.length;let u,l,c,d,f=0,h=0,p=0,m=0,g=0;for(u=0;u<s;)l=r[u],c=i[u++],d=l*l,f+=(d-f)/u,h+=(d*l-h)/u,p+=(d*d-p)/u,m+=(l*c-m)/u,g+=(d*c-g)/u;const y=p-f*f,v=f*y-h*h,b=(g*f-m*h)/v,x=(m*y-g*h)/v,_=-b*f,k=e=>b*(e-=a)*e+x*e+_+o;return{coef:[_-x*a+b*a*a+o,x-2*b*a,b],predict:k,rSquared:ci(e,t,n,o,k)}}function gi(e,t,n,r){if(0===r)return oi(e,t,n);if(1===r)return di(e,t,n);if(2===r)return mi(e,t,n);const[i,a,o,s]=ui(e,t,n),u=i.length,l=[],c=[],d=r+1;let f,h,p,m,g;for(f=0;f<d;++f){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],f)*a[p];for(l.push(m),g=new Float64Array(d),h=0;h<d;++h){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],f+h);g[h]=m}c.push(g)}c.push(l);const y=function(e){const t=e.length-1,n=[];let r,i,a,o,s;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)s=e[a][r],e[a][r]=e[a][o],e[a][o]=s;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(s=0,a=i+1;a<t;++a)s+=e[a][i]*n[a];n[i]=(e[t][i]-s)/e[i][i]}return n}(c),v=e=>{e-=o;let t=s+y[0]+y[1]*e+y[2]*e*e;for(f=3;f<d;++f)t+=y[f]*Math.pow(e,f);return t};return{coef:yi(d,y,-o,s),predict:v,rSquared:ci(e,t,n,s,v)}}function yi(e,t,n,r){const i=Array(e);let a,o,s,u;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(s=t[a],u=1,i[a]+=s,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=s*Math.pow(n,o)*u;return i[0]+=r,i}function vi(e,t,n,i){const[a,o,s,u]=ui(e,t,n,!0),l=a.length,c=Math.max(2,~~(i*l)),d=new Float64Array(l),f=new Float64Array(l),h=new Float64Array(l).fill(1);for(let e=-1;++e<=2;){const t=[0,c-1];for(let e=0;e<l;++e){const n=a[e],r=t[0],i=t[1],s=n-a[r]>a[i]-n?r:i;let u=0,l=0,c=0,p=0,m=0;const g=1/Math.abs(a[s]-n||1);for(let e=r;e<=i;++e){const t=a[e],r=o[e],i=bi(Math.abs(n-t)*g)*h[e],s=t*i;u+=i,l+=s,c+=r*i,p+=r*s,m+=t*s}const[y,v]=si(l/u,c/u,p/u,m/u);d[e]=y+v*n,f[e]=Math.abs(o[e]-d[e]),xi(a,e+1,t)}if(2===e)break;const n=r.median(f);if(Math.abs(n)<1e-12)break;for(let e,t,r=0;r<l;++r)e=f[r]/(6*n),h[r]=e>=1?1e-12:(t=1-e*e)*t}return function(e,t,n,r){const i=e.length,a=[];let o,s=0,u=0,l=[];for(;s<i;++s)o=e[s]+n,l[0]===o?l[1]+=(t[s]-l[1])/++u:(u=0,l[1]+=r,l=[o,t[s]],a.push(l));return l[1]+=r,a}(a,d,s,u)}function bi(e){return(e=1-e*e*e)*e*e}function xi(e,t,n){const r=e[t];let i=n[0],a=n[1]+1;if(!(a>=e.length))for(;t>i&&e[a]-r<=r-e[i];)n[0]=++i,n[1]=a,++a}const _i=.5*Math.PI/180;function ki(e,t,n,r){n=n||25,r=Math.max(n,r||200);const i=t=>[t,e(t)],a=t[0],o=t[1],s=o-a,u=s/r,l=[i(a)],c=[];if(n===r){for(let e=1;e<r;++e)l.push(i(a+e/n*s));return l.push(i(o)),l}c.push(i(o));for(let e=n;--e>0;)c.push(i(a+e/n*s));let d=l[0],f=c[c.length-1];const h=1/s,p=function(e,t){let n=e,r=e;const i=t.length;for(let e=0;e<i;++e){const i=t[e][1];i<n&&(n=i),i>r&&(r=i)}return 1/(r-n)}(d[1],c);for(;f;){const e=i((d[0]+f[0])/2);e[0]-d[0]>=u&&Ai(d,e,f,h,p)>_i?c.push(e):(d=f,l.push(f),c.pop()),f=c[c.length-1]}return l}function Ai(e,t,n,r,i){const a=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),o=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(a-o)}function wi(e){return e&&e.length?1===e.length?e[0]:(t=e,e=>{const n=t.length;let r=1,i=String(t[0](e));for(;r<n;++r)i+="|"+t[r](e);return i}):function(){return""};var t}function Di(e,t,n){return n||e+(t?"_"+t:"")}const Ei=()=>{},Ci={init:Ei,add:Ei,rem:Ei,idx:0},Fi={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.valid?e.sum:void 0,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t<e.min||void 0===e.min)&&(e.min=t)},rem:(e,t)=>{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||void 0===e.max)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t<e.min&&(e.argmin=n)},rem:(e,t)=>{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,t)=>{e.exp=0,e.exp_r=t},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,t)=>e.exp=e.exp_r*e.exp+t,rem:(e,t)=>e.exp=(e.exp-t/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},Mi=Object.keys(Fi).filter((e=>"__count__"!==e));function Si(e,t,n){return Fi[e](n,t)}function Bi(e,t){return e.idx-t.idx}function Oi(){this.valid=0,this.missing=0,this._ops.forEach((e=>null==e.aggregate_param?e.init(this):e.init(this,e.aggregate_param)))}function Ri(e,t){null!=e&&""!==e?e==e&&(++this.valid,this._ops.forEach((n=>n.add(this,e,t)))):++this.missing}function zi(e,t){null!=e&&""!==e?e==e&&(--this.valid,this._ops.forEach((n=>n.rem(this,e,t)))):--this.missing}function $i(e){return this._out.forEach((t=>e[t.out]=t.value(this))),e}f