(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67034,(e,t,n)=>{var i={675:function(e,t){"use strict";t.byteLength=function(e){var t=s(e),n=t[0],i=t[1];return(n+i)*3/4-i},t.toByteArray=function(e){var t,n,a=s(e),o=a[0],l=a[1],u=new r((o+l)*3/4-l),f=0,c=l>0?o-4:o;for(n=0;n>16&255,u[f++]=t>>8&255,u[f++]=255&t;return 2===l&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[f++]=255&t),1===l&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[f++]=t>>8&255,u[f++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,a=[],o=0,l=i-r;o>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return a.join("")}(e,o,o+16383>l?l:o+16383));return 1===r?a.push(n[(t=e[i-1])>>2]+n[t<<4&63]+"=="):2===r&&a.push(n[(t=(e[i-2]<<8)+e[i-1])>>10]+n[t>>4&63]+n[t<<2&63]+"="),a.join("")};for(var n=[],i=[],r="u">typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var i=n===t?0:4-n%4;return[n,i]}i[45]=62,i[95]=63},72:function(e,t,n){"use strict";var i=n(675),r=n(783),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return f(e)}return s(e,t,n)}function s(e,t,n){if("string"==typeof e){var i=e,r=t;if(("string"!=typeof r||""===r)&&(r="utf8"),!l.isEncoding(r))throw TypeError("Unknown encoding: "+r);var a=0|h(i,r),s=o(a),u=s.write(i,r);return u!==a&&(s=s.slice(0,u)),s}if(ArrayBuffer.isView(e))return c(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(C(e,ArrayBuffer)||e&&C(e.buffer,ArrayBuffer)||"u">typeof SharedArrayBuffer&&(C(e,SharedArrayBuffer)||e&&C(e.buffer,SharedArrayBuffer)))return function(e,t,n){var i;if(t<0||e.byteLengthtypeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return u(e),o(e<0?0:0|d(e))}function c(e){for(var t=e.length<0?0:0|d(e.length),n=o(t),i=0;itypeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(e,t,n){return s(e,t,n)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(e,t,n){return(u(e),e<=0)?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)},l.allocUnsafe=function(e){return f(e)},l.allocUnsafeSlow=function(e){return f(e)};function d(e){if(e>=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||C(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return $(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return S(e).length;default:if(r)return i?-1:$(e).length;t=(""+t).toLowerCase(),r=!0}}function p(e,t,n){var r,a,o,l=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,n){var i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var r="",a=t;a0x7fffffff?n=0x7fffffff:n<-0x80000000&&(n=-0x80000000),(a=n*=1)!=a&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length)if(r)return -1;else n=e.length-1;else if(n<0)if(!r)return -1;else n=0;if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,i,r);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(r)return Uint8Array.prototype.indexOf.call(e,t,n);else return Uint8Array.prototype.lastIndexOf.call(e,t,n);return y(e,[t],n,i,r)}throw TypeError("val must be string, number or Buffer")}function y(e,t,n,i,r){var a,o=1,l=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return -1;o=2,l/=2,s/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var f=-1;for(a=n;al&&(n=l-s),a=n;a>=0;a--){for(var c=!0,d=0;dn&&(e+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(C(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,r>>>=0,this===e)return 0;for(var a=r-i,o=n-t,s=Math.min(a,o),u=this.slice(i,r),f=e.slice(t,n),c=0;c239?4:u>223?3:u>191?2:1;if(r+c<=n)switch(c){case 1:u<128&&(f=u);break;case 2:(192&(a=e[r+1]))==128&&(s=(31&u)<<6|63&a)>127&&(f=s);break;case 3:a=e[r+1],o=e[r+2],(192&a)==128&&(192&o)==128&&(s=(15&u)<<12|(63&a)<<6|63&o)>2047&&(s<55296||s>57343)&&(f=s);break;case 4:a=e[r+1],o=e[r+2],l=e[r+3],(192&a)==128&&(192&o)==128&&(192&l)==128&&(s=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&l)>65535&&s<1114112&&(f=s)}null===f?(f=65533,c=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),r+=c}var d=i,h=d.length;if(h<=4096)return String.fromCharCode.apply(String,d);for(var p="",m=0;mn)throw RangeError("Trying to access beyond buffer length")}function x(e,t,n,i,r,a){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw RangeError("Index out of range")}function _(e,t,n,i,r,a){if(n+i>e.length||n<0)throw RangeError("Index out of range")}function w(e,t,n,i,a){return t*=1,n>>>=0,a||_(e,t,n,4,34028234663852886e22,-34028234663852886e22),r.write(e,t,n,i,23,4),n+4}function k(e,t,n,i,a){return t*=1,n>>>=0,a||_(e,t,n,8,17976931348623157e292,-17976931348623157e292),r.write(e,t,n,i,52,8),n+8}l.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var r,a,o,l,s,u,f,c,d=this.length-t;if((void 0===n||n>d)&&(n=d),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var h=!1;;)switch(i){case"hex":return function(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var a=t.length;i>a/2&&(i=a/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,this.length-f),this,f,c);default:if(h)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),h=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||b(e,t,this.length);for(var i=this[e],r=1,a=0;++a>>=0,t>>>=0,n||b(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUInt8=function(e,t){return e>>>=0,t||b(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||b(e,t,this.length);for(var i=this[e],r=1,a=0;++a=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||b(e,t,this.length);for(var i=t,r=1,a=this[e+--i];i>0&&(r*=256);)a+=this[e+--i]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return(e>>>=0,t||b(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||b(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||b(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||b(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||b(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||b(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||b(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,i){if(e*=1,t>>>=0,n>>>=0,!i){var r=Math.pow(2,8*n)-1;x(this,e,t,n,r,0)}var a=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,!i){var r=Math.pow(2,8*n)-1;x(this,e,t,n,r,0)}var a=n-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUInt16BE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUInt32LE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUInt32BE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e*=1,t>>>=0,!i){var r=Math.pow(2,8*n-1);x(this,e,t,n,r-1,-r)}var a=0,o=1,l=0;for(this[t]=255&e;++a>>=0,!i){var r=Math.pow(2,8*n-1);x(this,e,t,n,r-1,-r)}var a=n-1,o=1,l=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===l&&0!==this[t+a+1]&&(l=1),this[t+a]=(e/o|0)-l&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e*=1,t>>>=0,n||x(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return w(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return w(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return k(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return k(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw RangeError("Index out of range");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),t);return r},l.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i);if(1===e.length){var r,a=e.charCodeAt(0);("utf8"===i&&a<128||"latin1"===i)&&(e=a)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r55295&&n<57344){if(!r){if(n>56319||o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),r=n;continue}n=(r-55296<<10|n-56320)+65536}else r&&(t-=3)>-1&&a.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}else throw Error("Invalid code point")}return a}function A(e){for(var t=[],n=0;n=t.length)&&!(r>=e.length);++r)t[r+n]=e[r];return r}function C(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var D=function(){for(var e="0123456789abcdef",t=Array(256),n=0;n<16;++n)for(var i=16*n,r=0;r<16;++r)t[i+r]=e[n]+e[r];return t}()},783:function(e,t){t.read=function(e,t,n,i,r){var a,o,l=8*r-i-1,s=(1<>1,f=-7,c=n?r-1:0,d=n?-1:1,h=e[t+c];for(c+=d,a=h&(1<<-f)-1,h>>=-f,f+=l;f>0;a=256*a+e[t+c],c+=d,f-=8);for(o=a&(1<<-f)-1,a>>=-f,f+=i;f>0;o=256*o+e[t+c],c+=d,f-=8);if(0===a)a=1-u;else{if(a===s)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),a-=u}return(h?-1:1)*o*Math.pow(2,a-i)},t.write=function(e,t,n,i,r,a){var o,l,s,u=8*a-r-1,f=(1<>1,d=5960464477539062e-23*(23===r),h=i?0:a-1,p=i?1:-1,m=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(l=+!!isNaN(t),o=f):(o=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-o))<1&&(o--,s*=2),o+c>=1?t+=d/s:t+=d*Math.pow(2,1-c),t*s>=2&&(o++,s/=2),o+c>=f?(l=0,o=f):o+c>=1?(l=(t*s-1)*Math.pow(2,r),o+=c):(l=t*Math.pow(2,c-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&l,h+=p,l/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=p,o/=256,u-=8);e[n+h-p]|=128*m}}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var n=r[e]={exports:{}},o=!0;try{i[e](n,n.exports,a),o=!1}finally{o&&delete r[e]}return n.exports}a.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=a(72)},9565,e=>{"use strict";let t,n,i,r,a,o,l,s,u,f,c,d,h,p,m,g,y,v,b,x,_,w;var k,E,$,A,S,M,C,D,F,O,N,T,z,R,L,B,P,I,j,U,q,W,H,G,Y,V,X,J,Q,Z,K,ee,et,en,ei,er,ea,eo,el,es,eu,ef,ec,ed,eh,ep,em,eg,ey,ev,eb,ex,e_,ew,ek,eE,e$,eA,eS,eM,eC,eD,eF,eO,eN,eT,ez,eR,eL,eB,eP,eI,ej=e.i(47167);let eU=/("(?:[^\\"]|\\.)*")|[:,]/g;function eq(e,t={}){let n=JSON.stringify([1],void 0,void 0===t.indent?2:t.indent).slice(2,-3),i=""===n?1/0:void 0===t.maxLength?80:t.maxLength,{replacer:r}=t;return function e(t,a,o){t&&"function"==typeof t.toJSON&&(t=t.toJSON());let l=JSON.stringify(t,r);if(void 0===l)return l;let s=i-a.length-o;if(l.length<=s){let e=l.replace(eU,(e,t)=>t||`${e} `);if(e.length<=s)return e}if(null!=r&&(t=JSON.parse(l),r=void 0),"object"==typeof t&&null!==t){let i,r,o=a+n,l=[],s=0;if(Array.isArray(t)){i="[",r="]";let{length:n}=t;for(;s0)return[i,n+l.join(`, ${o}`),r].join(` ${a}`)}return l}(e,"",0)}function eW(e,t,n){return e.fields=t||[],e.fname=n,e}function eH(e){return null==e?null:e.fname}function eG(e){return null==e?null:e.fields}function eY(e){return 1===e.length?eV(e[0]):eX(e)}let eV=e=>function(t){return t[e]},eX=e=>{let t=e.length;return function(n){for(let i=0;io&&u(),r=o=l+1):"]"===s&&(r||eJ("Access path missing open bracket: "+e),r>0&&u(),r=0,o=l+1):l>o?u():o=l+1}return r&&eJ("Access path missing closing bracket: "+e),i&&eJ("Access path missing closing quote: "+e),l>o&&(l++,u()),t}function eZ(e,t,n){let i=eQ(e);return e=1===i.length?i[0]:e,eW((n&&n.get||eY)(i),[e],t||e)}let eK=eZ("id"),e0=eW(e=>e,[],"identity"),e1=eW(()=>0,[],"zero"),e2=eW(()=>1,[],"one"),e3=eW(()=>!0,[],"true"),e5=eW(()=>!1,[],"false"),e6=new Set([...Object.getOwnPropertyNames(Object.prototype).filter(e=>"function"==typeof Object.prototype[e]),"__proto__"]);function e4(e,t,n){let i=[t].concat([].slice.call(n));console[e].apply(console,i)}function e8(e,t,n=e4){let i=e||0;return{level(e){return arguments.length?(i=+e,this):i},error(){return i>=1&&n(t||"error","ERROR",arguments),this},warn(){return i>=2&&n(t||"warn","WARN",arguments),this},info(){return i>=3&&n(t||"log","INFO",arguments),this},debug(){return i>=4&&n(t||"log","DEBUG",arguments),this}}}var e9=Array.isArray;function e7(e){return e===Object(e)}let te=e=>"__proto__"!==e;function tt(...e){return e.reduce((e,t)=>{for(let n in t)if("signals"===n)e.signals=function(e,t){if(null==e)return t;let n={},i=[];function r(e){n[e.name]||(n[e.name]=1,i.push(e))}return t.forEach(r),e.forEach(r),i}(e.signals,t.signals);else{let i="legend"===n?{layout:1}:"style"===n||null;tn(e,n,t[n],i)}return e},{})}function tn(e,t,n,i){let r,a;if(te(t))if(e7(n)&&!e9(n))for(r in a=e7(e[t])?e[t]:e[t]={},n)i&&(!0===i||i[r])?tn(a,r,n[r]):te(r)&&(a[r]=n[r]);else e[t]=n}function ti(e){return e[e.length-1]}function tr(e){return null==e||""===e?null:+e}let ta=e=>t=>e*Math.exp(t),to=e=>t=>Math.log(e*t),tl=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),ts=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,tu=e=>t=>t<0?-Math.pow(-t,e):Math.pow(t,e);function tf(e,t,n,i){let r=n(e[0]),a=n(ti(e)),o=(a-r)*t;return[i(r-o),i(a-o)]}function tc(e,t){return tf(e,t,tr,e0)}function td(e,t){var n=Math.sign(e[0]);return tf(e,t,to(n),ta(n))}function th(e,t,n){return tf(e,t,tu(n),tu(1/n))}function tp(e,t,n){return tf(e,t,tl(n),ts(n))}function tm(e,t,n,i,r){let a=i(e[0]),o=i(ti(e)),l=null!=t?i(t):(a+o)/2;return[r(l+(a-l)*n),r(l+(o-l)*n)]}function tg(e,t,n){return tm(e,t,n,tr,e0)}function ty(e,t,n){let i=Math.sign(e[0]);return tm(e,t,n,to(i),ta(i))}function tv(e,t,n,i){return tm(e,t,n,tu(i),tu(1/i))}function tb(e,t,n,i){return tm(e,t,n,tl(i),ts(i))}function tx(e){return 1+~~(new Date(e).getMonth()/3)}function t_(e){return 1+~~(new Date(e).getUTCMonth()/3)}function tw(e){return null!=e?e9(e)?e:[e]:[]}function tk(e,t,n){let i=e[0],r=e[1],a;return r=n-t?[t,n]:[i=Math.min(Math.max(i,t),n-a),i+a]}function tE(e){return"function"==typeof e}function t$(e,t,n){n=n||{},t=tw(t)||[];let i=[],r=[],a={},o=n.comparator||tS;return tw(e).forEach((e,o)=>{null!=e&&(i.push("descending"===t[o]?-1:1),r.push(e=tE(e)?e:eZ(e,null,n)),(eG(e)||[]).forEach(e=>a[e]=1))}),0===r.length?null:eW(o(r,i),Object.keys(a))}let tA=(e,t)=>(et||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),tS=(e,t)=>1===e.length?tM(e[0],t[0]):tC(e,t,e.length),tM=(e,t)=>function(n,i){return tA(e(n),e(i))*t},tC=(e,t,n)=>(t.push(0),function(i,r){let a,o=0,l=-1;for(;0===o&&++le}function tF(e,t){let n;return i=>{n&&clearTimeout(n),n=setTimeout(()=>(t(i),n=null),e)}}function tO(e){for(let t,n,i=1,r=arguments.length;io&&(o=r))}else{for(r=t(e[n]);no&&(o=r))}return[a,o]}function tT(e,t){let n=e.length,i=-1,r,a,o,l,s;if(null==t){for(;++i=a){r=o=a;break}if(i===n)return[-1,-1];for(l=s=i;++ia&&(r=a,l=i),o=a){r=o=a;break}if(i===n)return[-1,-1];for(l=s=i;++ia&&(r=a,l=i),oi(e)?t[e]:void 0,set(e,n){return!i(e)&&(++r.size,t[e]===tR&&--r.empty),t[e]=n,this},delete(e){return i(e)&&(--r.size,++r.empty,t[e]=tR),this},clear(){r.size=r.empty=0,r.object=t={}},test(e){return arguments.length?(n=e,r):n},clean(){let e={},i=0;for(let r in t){let a=t[r];a!==tR&&(!n||!n(a))&&(e[r]=a,++i)}r.size=i,r.empty=0,r.object=t=e}};return e&&Object.keys(e).forEach(t=>{r.set(t,e[t])}),r}function tB(e,t,n,i,r,a){if(!n&&0!==n)return a;let o=+n,l=e[0],s=ti(e),u;sa&&(o=r,r=a,a=o),i=void 0===i||i,((n=void 0===n||n)?r<=e:re.replace(/\\(.)/g,"$1")):tw(e));let r=e&&e.length,a=n&&n.get||eY,o=e=>a(t?[e]:eQ(e));if(r)if(1===r){let t=o(e[0]);i=function(e){return""+t(e)}}else{let t=e.map(o);i=function(e){let n=""+t[0](e),i=0;for(;++i{t={},n={},i=0},a=(r,a)=>(++i>e&&(n=t,t={},i=1),t[r]=a);return r(),{clear:r,has:e=>tz(t,e)||tz(n,e),get:e=>tz(t,e)?t[e]:tz(n,e)?a(e,n[e]):void 0,set:(e,n)=>tz(t,e)?t[e]=n:a(e,n)}}function tJ(e,t,n,i){let r=t.length,a=n.length;if(!a)return t;if(!r)return n;let o=i||new t.constructor(r+a),l=0,s=0,u=0;for(;l0?n[s++]:t[l++];for(;l=0;)n+=e;return n}function tZ(e,t,n,i){let r=n||" ",a=e+"",o=t-a.length;return o<=0?a:"left"===i?tQ(r,o)+a:"center"===i?tQ(r,~~(o/2))+a+tQ(r,Math.ceil(o/2)):a+tQ(r,o)}function tK(e){return e&&ti(e)-e[0]||0}function t0(e){return e9(e)?`[${e.map(e=>null===e?"null":t0(e))}]`:e7(e)||tG(e)?JSON.stringify(e).replaceAll("\u2028","\\u2028").replaceAll("\u2029","\\u2029"):e}function t1(e){return null==e||""===e?null:!!e&&"false"!==e&&"0"!==e&&!!e}let t2=e=>tW(e)||tU(e)?e:Date.parse(e);function t3(e,t){return t=t||t2,null==e||""===e?null:t(e)}function t5(e){return null==e||""===e?null:e+""}function t6(e){let t={},n=e.length;for(let i=0;i1)i=function(e,t){var n,i=[],r=[];function a(e){var t=e<0?~e:e;(r[t]||(r[t]=[])).push({i:e,g:n})}function o(e){e.forEach(a)}function l(e){e.forEach(o)}return!function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":o(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":t.arcs.forEach(l)}}(e),r.forEach(null==t?function(e){i.push(e[0].i)}:function(e){t(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(t,n);else for(r=0,i=Array(a=e.arcs.length);r=nf?10:s>=nc?5:s>=nd?2:1;return(l<0?(i=Math.round(e*(a=Math.pow(10,-l)/u)),r=Math.round(t*a),i/at&&--r,a=-a):(i=Math.round(e/(a=Math.pow(10,l)*u)),r=Math.round(t/a),i*at&&--r),r0))return[];if(e===t)return[e];let i=t=r))return[];let l=a-r+1,s=Array(l);if(i)if(o<0)for(let e=0;e1?i[0]+i.slice(2):i,+e.slice(n+1)]}function nv(e){return(e=ny(Math.abs(e)))?e[1]:NaN}var nb=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function nx(e){var t;if(!(t=nb.exec(e)))throw Error("invalid format: "+e);return new n_({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function n_(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function nw(e,t){var n=ny(e,t);if(!n)return e+"";var i=n[0],r=n[1];return r<0?"0."+Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+Array(r-i.length+2).join("0")}nx.prototype=n_.prototype,n_.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};let nk={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>nw(100*e,t),r:nw,s:function(e,t){var n=ny(e,t);if(!n)return vp=void 0,e.toPrecision(t);var i=n[0],r=n[1],a=r-(vp=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=i.length;return a===o?i:a>o?i+Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+Array(1-a).join("0")+ny(e,Math.max(0,t+a-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function nE(e){return e}var n$=Array.prototype.map,nA=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function nS(e){var t,n,i,r=void 0===e.grouping||void 0===e.thousands?nE:(t=n$.call(e.grouping,Number),n=e.thousands+"",function(e,i){for(var r=e.length,a=[],o=0,l=t[0],s=0;r>0&&l>0&&(s+l+1>i&&(l=Math.max(1,i-s)),a.push(e.substring(r-=l,r+l)),!((s+=l+1)>i));)l=t[o=(o+1)%t.length];return a.reverse().join(n)}),a=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",l=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?nE:(i=n$.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return i[+e]})}),u=void 0===e.percent?"%":e.percent+"",f=void 0===e.minus?"−":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function d(e,t){var n=(e=nx(e)).fill,i=e.align,d=e.sign,h=e.symbol,p=e.zero,m=e.width,g=e.comma,y=e.precision,v=e.trim,b=e.type;"n"===b?(g=!0,b="g"):nk[b]||(void 0===y&&(y=12),v=!0,b="g"),(p||"0"===n&&"="===i)&&(p=!0,n="0",i="=");var x=(t&&void 0!==t.prefix?t.prefix:"")+("$"===h?a:"#"===h&&/[boxX]/.test(b)?"0"+b.toLowerCase():""),_=("$"===h?o:/[%p]/.test(b)?u:"")+(t&&void 0!==t.suffix?t.suffix:""),w=nk[b],k=/[defgprs%]/.test(b);function E(e){var t,a,o,u=x,h=_;if("c"===b)h=w(e)+h,e="";else{var E=(e*=1)<0||1/e<0;if(e=isNaN(e)?c:w(Math.abs(e),y),v&&(e=function(e){e:for(var t,n=e.length,i=1,r=-1;i0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),E&&0==+e&&"+"!==d&&(E=!1),u=(E?"("===d?d:f:"-"===d||"("===d?"":d)+u,h=("s"!==b||isNaN(e)||void 0===vp?"":nA[8+vp/3])+h+(E&&"("===d?")":""),k){for(t=-1,a=e.length;++t(o=e.charCodeAt(t))||o>57){h=(46===o?l+e.slice(t+1):e.slice(t))+h,e=e.slice(0,t);break}}}g&&!p&&(e=r(e,1/0));var $=u.length+e.length+h.length,A=$>1)+u+e+h+A.slice($);break;default:e=A+u+e+h}return s(e)}return y=void 0===y?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),E.toString=function(){return e+""},E}return{format:d,formatPrefix:function(e,t){var n=3*Math.max(-8,Math.min(8,Math.floor(nv(t)/3))),i=Math.pow(10,-n),r=d(((e=nx(e)).type="f",e),{suffix:nA[8+n/3]});return function(e){return r(i*e)}}}}function nM(e){return Math.max(0,-nv(Math.abs(e)))}function nC(e,t){return Math.max(0,nv(t=Math.abs(t)-(e=Math.abs(e)))-nv(e))+1}function nD(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(nv(t)/3)))-nv(Math.abs(e)))}vg=(vm=nS({thousands:",",grouping:[3],currency:["$",""]})).format,vy=vm.formatPrefix;let nF=new Date,nO=new Date;function nN(e,t,n,i){function r(t){return e(t=0==arguments.length?new Date:new Date(+t)),t}return r.floor=t=>(e(t=new Date(+t)),t),r.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),r.round=e=>{let t=r(e),n=r.ceil(e);return e-t(t(e=new Date(+e),null==n?1:Math.floor(n)),e),r.range=(n,i,a)=>{let o,l=[];if(n=r.ceil(n),a=null==a?1:Math.floor(a),!(n0))return l;do l.push(o=new Date(+n)),t(n,a),e(n);while(onN(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,i)=>{if(e>=e)if(i<0)for(;++i<=0;)for(;t(e,-1),!n(e););else for(;--i>=0;)for(;t(e,1),!n(e););}),n&&(r.count=(t,i)=>(nF.setTime(+t),nO.setTime(+i),e(nF),e(nO),Math.floor(n(nF,nO))),r.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?r.filter(i?t=>i(t)%e==0:t=>r.count(0,t)%e==0):r:null),r}let nT=nN(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1);nT.range;let nz=nN(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1);nz.range;let nR=nN(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5));function nL(e){return nN(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+7*t)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}nR.range;let nB=nL(0),nP=nL(1),nI=nL(2),nj=nL(3),nU=nL(4),nq=nL(5),nW=nL(6);function nH(e){return nN(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)},(e,t)=>(t-e)/6048e5)}nB.range,nP.range,nI.range,nj.range,nU.range,nq.range,nW.range;let nG=nH(0),nY=nH(1),nV=nH(2),nX=nH(3),nJ=nH(4),nQ=nH(5),nZ=nH(6);nG.range,nY.range,nV.range,nX.range,nJ.range,nQ.range,nZ.range;let nK=nN(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());nK.range;let n0=nN(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());n0.range;let n1=nN(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);n1.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?nN(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):n1:null,n1.range;let n2=nN(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+1e3*t)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds());n2.range;let n3=nN(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getMinutes());n3.range;let n5=nN(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes());n5.range;let n6=nN(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getHours());n6.range;let n4=nN(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours());n4.range;let n8=nN(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());n8.every=e=>isFinite(e=Math.floor(e))&&e>0?nN(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null,n8.range;let n9=nN(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());function n7(e,t){return null==e||null==t?NaN:et?1:e>=t?0:NaN}function ie(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function it(e){let t,n,i;function r(e,i,a=0,o=e.length){if(a>>1;0>n(e[t],i)?a=t+1:o=t}while(an7(e(t),n),i=(t,n)=>e(t)-n):(t=e===n7||e===ie?e:ii,n=e,i=e),{left:r,center:function(e,t,n=0,a=e.length){let o=r(e,t,n,a-1);return o>n&&i(e[o-1],t)>-i(e[o],t)?o-1:o},right:function(e,i,r=0,a=e.length){if(r>>1;0>=n(e[t],i)?r=t+1:a=t}while(risFinite(e=Math.floor(e))&&e>0?nN(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null,n9.range;let ir="year",ia="quarter",io="month",il="week",is="date",iu="dayofyear",ic="hours",id="minutes",ih="seconds",ip="milliseconds",im=[ir,ia,io,il,is,"day",iu,ic,id,ih,ip],ig=im.reduce((e,t,n)=>(e[t]=1+n,e),{});function iy(e){let t=tw(e).slice(),n={};return t.length||eJ("Missing time unit."),t.forEach(e=>{tz(ig,e)?n[e]=1:eJ(`Invalid time unit: ${e}.`)}),(n[il]||n.day?1:0)+(n[ia]||n[io]||n[is]?1:0)+ +!!n[iu]>1&&eJ(`Incompatible time units: ${e}`),t.sort((e,t)=>ig[e]-ig[t]),t}let iv={[ir]:"%Y ",[ia]:"Q%q ",[io]:"%b ",[is]:"%d ",[il]:"W%U ",day:"%a ",[iu]:"%j ",[ic]:"%H:00",[id]:"00:%M",[ih]:":%S",[ip]:".%L",[`${ir}-${io}`]:"%Y-%m ",[`${ir}-${io}-${is}`]:"%Y-%m-%d ",[`${ic}-${id}`]:"%H:%M"};function ib(e,t){let n=tO({},iv,t),i=iy(e),r=i.length,a="",o=0,l,s;for(o=0;oo;--l)if(null!=n[s=i.slice(o,l).join("-")]){a+=n[s],o=l;break}return a.trim()}let ix=new Date;function i_(e){return ix.setFullYear(e),ix.setMonth(0),ix.setDate(1),ix.setHours(0,0,0,0),ix}function iw(e){return iE(new Date(e))}function ik(e){return i$(new Date(e))}function iE(e){return nT.count(i_(e.getFullYear())-1,e)}function i$(e){return nB.count(i_(e.getFullYear())-1,e)}function iA(e){return i_(e).getDay()}function iS(e,t,n,i,r,a,o){if(0<=e&&e<100){let l=new Date(-1,t,n,i,r,a,o);return l.setFullYear(e),l}return new Date(e,t,n,i,r,a,o)}function iM(e){return iD(new Date(e))}function iC(e){return iF(new Date(e))}function iD(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return nz.count(t-1,e)}function iF(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return nG.count(t-1,e)}function iO(e){return ix.setTime(Date.UTC(e,0,1)),ix.getUTCDay()}function iN(e,t,n,i,r,a,o){if(0<=e&&e<100){let e=new Date(Date.UTC(-1,t,n,i,r,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,i,r,a,o))}function iT(e,t,n,i,r){let a=t||1,o=ti(e),l=(e,t,r)=>{var l,s,u,f;let c;return l=n[r=r||e],s=i[r],u=e===o&&a,f=t,c=u<=1?l:f?(e,t)=>f+u*Math.floor((l(e,t)-f)/u):(e,t)=>u*Math.floor(l(e,t)/u),s?(e,t)=>s(c(e,t),t):c},s=new Date,u=t6(e),f=u[ir]?l(ir):tD(2012),c=u[io]?l(io):u[ia]?l(ia):e1,d=u[il]&&u.day?l("day",1,il+"day"):u[il]?l(il,1):u.day?l("day",1):u[is]?l(is,1):u[iu]?l(iu,1):e2,h=u[ic]?l(ic):e1,p=u[id]?l(id):e1,m=u[ih]?l(ih):e1,g=u[ip]?l(ip):e1;return function(e){s.setTime(+e);let t=f(s);return r(t,c(s),d(s,t),h(s),p(s),m(s),g(s))}}function iz(e,t,n){return t+7*e-(n+6)%7}let iR={[ir]:e=>e.getFullYear(),[ia]:e=>Math.floor(e.getMonth()/3),[io]:e=>e.getMonth(),[is]:e=>e.getDate(),[ic]:e=>e.getHours(),[id]:e=>e.getMinutes(),[ih]:e=>e.getSeconds(),[ip]:e=>e.getMilliseconds(),[iu]:e=>iE(e),[il]:e=>i$(e),[il+"day"]:(e,t)=>iz(i$(e),e.getDay(),iA(t)),day:(e,t)=>iz(1,e.getDay(),iA(t))},iL={[ia]:e=>3*e,[il]:(e,t)=>iz(e,0,iA(t))};function iB(e,t){return iT(e,t||1,iR,iL,iS)}let iP={[ir]:e=>e.getUTCFullYear(),[ia]:e=>Math.floor(e.getUTCMonth()/3),[io]:e=>e.getUTCMonth(),[is]:e=>e.getUTCDate(),[ic]:e=>e.getUTCHours(),[id]:e=>e.getUTCMinutes(),[ih]:e=>e.getUTCSeconds(),[ip]:e=>e.getUTCMilliseconds(),[iu]:e=>iD(e),[il]:e=>iF(e),day:(e,t)=>iz(1,e.getUTCDay(),iO(t)),[il+"day"]:(e,t)=>iz(iF(e),e.getUTCDay(),iO(t))},iI={[ia]:e=>3*e,[il]:(e,t)=>iz(e,0,iO(t))};function ij(e,t){return iT(e,t||1,iP,iI,iN)}let iU={[ir]:n8,[ia]:nK.every(3),[io]:nK,[il]:nB,[is]:nT,day:nT,[iu]:nT,[ic]:n6,[id]:n3,[ih]:n2,[ip]:n1},iq={[ir]:n9,[ia]:n0.every(3),[io]:n0,[il]:nG,[is]:nz,day:nz,[iu]:nz,[ic]:n4,[id]:n5,[ih]:n2,[ip]:n1};function iW(e){return iU[e]}function iH(e){return iq[e]}function iG(e,t,n){return e?e.offset(t,n):void 0}function iY(e,t,n){return iG(iW(e),t,n)}function iV(e,t,n){return iG(iH(e),t,n)}function iX(e,t,n,i){return e?e.range(t,n,i):void 0}function iJ(e,t,n,i){return iX(iW(e),t,n,i)}function iQ(e,t,n,i){return iX(iH(e),t,n,i)}let iZ=[ir,io,is,ic,id,ih,ip],iK=iZ.slice(0,-1),i0=iK.slice(0,-1),i1=i0.slice(0,-1),i2=i1.slice(0,-1),i3=[ir,il],i5=[ir,io],i6=[ir],i4=[[iK,1,1e3],[iK,5,5e3],[iK,15,15e3],[iK,30,3e4],[i0,1,6e4],[i0,5,3e5],[i0,15,9e5],[i0,30,18e5],[i1,1,36e5],[i1,3,108e5],[i1,6,216e5],[i1,12,432e5],[i2,1,864e5],[i3,1,6048e5],[i5,1,2592e6],[i5,3,7776e6],[i6,1,31536e6]];function i8(e){let t=e.extent,n=e.maxbins||40,i=Math.abs(tK(t))/n,r=it(e=>e[2]).right(i4,i),a,o;return r===i4.length?(a=i6,o=ng(t[0]/31536e6,t[1]/31536e6,n)):r?(a=(r=i4[i/i4[r-1][2]=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:al,s:as,S:rB,u:rP,U:rI,V:rU,w:rq,W:rW,x:null,X:null,y:rH,Y:rY,Z:rX,"%":ao},x={a:function(e){return o[e.getUTCDay()]},A:function(e){return a[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return l[e.getUTCMonth()]},c:null,d:rJ,e:rJ,f:r1,g:an,G:ar,H:rQ,I:rZ,j:rK,L:r0,m:r2,M:r3,p:function(e){return r[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:al,s:as,S:r5,u:r6,U:r4,V:r9,w:r7,W:ae,x:null,X:null,y:at,Y:ai,Z:aa,"%":ao},_={a:function(e,t,n){var i=h.exec(t.slice(n));return i?(e.w=p.get(i[0].toLowerCase()),n+i[0].length):-1},A:function(e,t,n){var i=c.exec(t.slice(n));return i?(e.w=d.get(i[0].toLowerCase()),n+i[0].length):-1},b:function(e,t,n){var i=y.exec(t.slice(n));return i?(e.m=v.get(i[0].toLowerCase()),n+i[0].length):-1},B:function(e,t,n){var i=m.exec(t.slice(n));return i?(e.m=g.get(i[0].toLowerCase()),n+i[0].length):-1},c:function(e,n,i){return E(e,t,n,i)},d:rx,e:rx,f:rA,g:rg,G:rm,H:rw,I:rw,j:r_,L:r$,m:rb,M:rk,p:function(e,t,n){var i=u.exec(t.slice(n));return i?(e.p=f.get(i[0].toLowerCase()),n+i[0].length):-1},q:rv,Q:rM,s:rC,S:rE,u:rc,U:rd,V:rh,w:rf,W:rp,x:function(e,t,i){return E(e,n,t,i)},X:function(e,t,n){return E(e,i,t,n)},y:rg,Y:rm,Z:ry,"%":rS};function w(e,t){return function(n){var i,r,a,o=[],l=-1,s=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++l53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=(i=i7(re(a.y,0,1))).getUTCDay())>4||0===r?nY.ceil(i):nY(i),i=nz.offset(i,(a.V-1)*7),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(i=(r=(i=i9(re(a.y,0,1))).getDay())>4||0===r?nP.ceil(i):nP(i),i=nT.offset(i,(a.V-1)*7),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:+("W"in a)),r="Z"in a?i7(re(a.y,0,1)).getUTCDay():i9(re(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(r+5)%7:a.w+7*a.U-(r+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,i7(a)):i9(a)}}function E(e,t,n,i){for(var r,a,o=0,l=t.length,s=n.length;o=s)return -1;if(37===(r=t.charCodeAt(o++))){if(!(a=_[(r=t.charAt(o++))in rn?t.charAt(o++):r])||(i=a(e,n,i))<0)return -1}else if(r!=n.charCodeAt(i++))return -1}return i}return b.x=w(n,b),b.X=w(i,b),b.c=w(t,b),x.x=w(n,x),x.X=w(i,x),x.c=w(t,x),{format:function(e){var t=w(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=w(e+="",x);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e+="",!0);return t.toString=function(){return e},t}}}e.s(["DATE",0,is,"DAY",0,"day","DAYOFYEAR",0,iu,"HOURS",0,ic,"MILLISECONDS",0,ip,"MINUTES",0,id,"MONTH",0,io,"QUARTER",0,ia,"SECONDS",0,ih,"TIME_UNITS",0,im,"WEEK",0,il,"YEAR",0,ir,"dayofyear",0,iw,"timeBin",0,i8,"timeFloor",0,iB,"timeInterval",0,iW,"timeOffset",0,iY,"timeSequence",0,iJ,"timeUnitSpecifier",0,ib,"timeUnits",0,iy,"utcFloor",0,ij,"utcInterval",0,iH,"utcOffset",0,iV,"utcSequence",0,iQ,"utcdayofyear",0,iM,"utcweek",0,iC,"week",0,ik],25591);var rn={"-":"",_:" ",0:"0"},ri=/^\s*\d+/,rr=/^%/,ra=/[\\^$*+?|[\]().{}]/g;function ro(e,t,n){var i=e<0?"-":"",r=(i?-e:e)+"",a=r.length;return i+(a[e.toLowerCase(),t]))}function rf(e,t,n){var i=ri.exec(t.slice(n,n+1));return i?(e.w=+i[0],n+i[0].length):-1}function rc(e,t,n){var i=ri.exec(t.slice(n,n+1));return i?(e.u=+i[0],n+i[0].length):-1}function rd(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.U=+i[0],n+i[0].length):-1}function rh(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.V=+i[0],n+i[0].length):-1}function rp(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.W=+i[0],n+i[0].length):-1}function rm(e,t,n){var i=ri.exec(t.slice(n,n+4));return i?(e.y=+i[0],n+i[0].length):-1}function rg(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function ry(e,t,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function rv(e,t,n){var i=ri.exec(t.slice(n,n+1));return i?(e.q=3*i[0]-3,n+i[0].length):-1}function rb(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.m=i[0]-1,n+i[0].length):-1}function rx(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.d=+i[0],n+i[0].length):-1}function r_(e,t,n){var i=ri.exec(t.slice(n,n+3));return i?(e.m=0,e.d=+i[0],n+i[0].length):-1}function rw(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.H=+i[0],n+i[0].length):-1}function rk(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.M=+i[0],n+i[0].length):-1}function rE(e,t,n){var i=ri.exec(t.slice(n,n+2));return i?(e.S=+i[0],n+i[0].length):-1}function r$(e,t,n){var i=ri.exec(t.slice(n,n+3));return i?(e.L=+i[0],n+i[0].length):-1}function rA(e,t,n){var i=ri.exec(t.slice(n,n+6));return i?(e.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function rS(e,t,n){var i=rr.exec(t.slice(n,n+1));return i?n+i[0].length:-1}function rM(e,t,n){var i=ri.exec(t.slice(n));return i?(e.Q=+i[0],n+i[0].length):-1}function rC(e,t,n){var i=ri.exec(t.slice(n));return i?(e.s=+i[0],n+i[0].length):-1}function rD(e,t){return ro(e.getDate(),t,2)}function rF(e,t){return ro(e.getHours(),t,2)}function rO(e,t){return ro(e.getHours()%12||12,t,2)}function rN(e,t){return ro(1+nT.count(n8(e),e),t,3)}function rT(e,t){return ro(e.getMilliseconds(),t,3)}function rz(e,t){return rT(e,t)+"000"}function rR(e,t){return ro(e.getMonth()+1,t,2)}function rL(e,t){return ro(e.getMinutes(),t,2)}function rB(e,t){return ro(e.getSeconds(),t,2)}function rP(e){var t=e.getDay();return 0===t?7:t}function rI(e,t){return ro(nB.count(n8(e)-1,e),t,2)}function rj(e){var t=e.getDay();return t>=4||0===t?nU(e):nU.ceil(e)}function rU(e,t){return e=rj(e),ro(nU.count(n8(e),e)+(4===n8(e).getDay()),t,2)}function rq(e){return e.getDay()}function rW(e,t){return ro(nP.count(n8(e)-1,e),t,2)}function rH(e,t){return ro(e.getFullYear()%100,t,2)}function rG(e,t){return ro((e=rj(e)).getFullYear()%100,t,2)}function rY(e,t){return ro(e.getFullYear()%1e4,t,4)}function rV(e,t){var n=e.getDay();return ro((e=n>=4||0===n?nU(e):nU.ceil(e)).getFullYear()%1e4,t,4)}function rX(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ro(t/60|0,"0",2)+ro(t%60,"0",2)}function rJ(e,t){return ro(e.getUTCDate(),t,2)}function rQ(e,t){return ro(e.getUTCHours(),t,2)}function rZ(e,t){return ro(e.getUTCHours()%12||12,t,2)}function rK(e,t){return ro(1+nz.count(n9(e),e),t,3)}function r0(e,t){return ro(e.getUTCMilliseconds(),t,3)}function r1(e,t){return r0(e,t)+"000"}function r2(e,t){return ro(e.getUTCMonth()+1,t,2)}function r3(e,t){return ro(e.getUTCMinutes(),t,2)}function r5(e,t){return ro(e.getUTCSeconds(),t,2)}function r6(e){var t=e.getUTCDay();return 0===t?7:t}function r4(e,t){return ro(nG.count(n9(e)-1,e),t,2)}function r8(e){var t=e.getUTCDay();return t>=4||0===t?nJ(e):nJ.ceil(e)}function r9(e,t){return e=r8(e),ro(nJ.count(n9(e),e)+(4===n9(e).getUTCDay()),t,2)}function r7(e){return e.getUTCDay()}function ae(e,t){return ro(nY.count(n9(e)-1,e),t,2)}function at(e,t){return ro(e.getUTCFullYear()%100,t,2)}function an(e,t){return ro((e=r8(e)).getUTCFullYear()%100,t,2)}function ai(e,t){return ro(e.getUTCFullYear()%1e4,t,4)}function ar(e,t){var n=e.getUTCDay();return ro((e=n>=4||0===n?nJ(e):nJ.ceil(e)).getUTCFullYear()%1e4,t,4)}function aa(){return"+0000"}function ao(){return"%"}function al(e){return+e}function as(e){return Math.floor(e/1e3)}function au(e){let t={};return n=>t[n]||(t[n]=e(n))}function af(e){let t=au(e.format),n=e.formatPrefix;return{format:t,formatPrefix:n,formatFloat(e){var n,i;let r=nx(e||",");if(null!=r.precision)return t(r);switch(r.precision=12,r.type){case"%":r.precision-=2;break;case"e":r.precision-=1}return n=t(r),i=t(".1f")(1)[1],e=>{let t=n(e),r=t.indexOf(i);if(r<0)return t;let a=function(e,t){let n=e.lastIndexOf("e"),i;if(n>0)return n;for(n=e.length;--n>t;)if((i=e.charCodeAt(n))>=48&&i<=57)return n+1}(t,r),o=ar;)if("0"!==t[a]){++a;break}return t.slice(0,a)+o}},formatSpan(e,i,r,a){let o;a=nx(null==a?",f":a);let l=ng(e,i,r),s=Math.max(Math.abs(e),Math.abs(i));if(null==a.precision)switch(a.type){case"s":return isNaN(o=nD(l,s))||(a.precision=o),n(a,s);case"":case"e":case"g":case"p":case"r":isNaN(o=nC(l,s))||(a.precision=o-("e"===a.type));break;case"f":case"%":isNaN(o=nM(l))||(a.precision=o-("%"===a.type)*2)}return t(a)}}}function ac(){return t=af({format:vg,formatPrefix:vy})}vb=(vv=rt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,vx=vv.parse,v_=vv.utcFormat,vw=vv.utcParse;function ad(e){return arguments.length?t=af(nS(e)):t}function ah(e,t,n){e7(n=n||{})||eJ(`Invalid time multi-format specifier: ${n}`);let i=t(ih),r=t(id),a=t(ic),o=t(is),l=t(il),s=t(io),u=t(ia),f=t(ir),c=e(n[ip]||".%L"),d=e(n[ih]||":%S"),h=e(n[id]||"%I:%M"),p=e(n[ic]||"%I %p"),m=e(n[is]||n.day||"%a %d"),g=e(n[il]||"%b %d"),y=e(n[io]||"%B"),v=e(n[ia]||"%B"),b=e(n[ir]||"%Y");return e=>(i(e)tG(e)?t(e):ah(t,iW,e),utcFormat:e=>tG(e)?n(e):ah(n,iH,e),timeParse:au(e.parse),utcParse:au(e.utcParse)}}function am(){return n=ap({format:vb,parse:vx,utcFormat:v_,utcParse:vw})}function ag(e){return arguments.length?n=ap(rt(e)):n}ac(),am();let ay=(e,t)=>tO({},e,t);function av(e,t){return ay(e?af(nS(e)):ad(),t?ap(rt(t)):ag())}function ab(e,t){let n=arguments.length;return n&&2!==n&&eJ("defaultLocale expects either zero or two arguments."),n?ay(ad(e),ag(t)):ay(ad(),ag())}let ax=/^(data:|([A-Za-z]+:)?\/\/)/,a_=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,aw=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,ak="file://";async function aE(e,t){let n=await this.sanitize(e,t),i=n.href;return n.localFile?this.file(i):this.http(i,t?.http)}async function a$(e,t){let n,i,r;t=tO({},this.options,t);let a=this.fileAccess,o={href:null},l=a_.test(e.replace(aw,""));null!=e&&"string"==typeof e&&l||eJ("Sanitize failure, invalid URI: "+t0(e));let s=ax.test(e);return(r=t.baseURL)&&!s&&(e.startsWith("/")||r.endsWith("/")||(e="/"+e),e=r+e),i=(n=e.startsWith(ak))||"file"===t.mode||"http"!==t.mode&&!s&&a,n?e=e.slice(ak.length):e.startsWith("//")&&("file"===t.defaultProtocol?(e=e.slice(2),i=!0):e=(t.defaultProtocol||"http")+":"+e),Object.defineProperty(o,"localFile",{value:!!i}),o.href=e,t.target&&(o.target=t.target+""),t.rel&&(o.rel=t.rel+""),"image"===t.context&&t.crossOrigin&&(o.crossOrigin=t.crossOrigin+""),o}async function aA(){eJ("No file system access.")}async function aS(e,t){let n=tO({},this.options.http,t),i=t&&t.response,r=await fetch(e,n);return r.ok?tE(r[i])?r[i]():r.text():eJ(r.status+""+r.statusText)}let aM=e=>null!=e&&e==e,aC=e=>!Number.isNaN(+e)&&!(e instanceof Date),aD={boolean:t1,integer:tr,number:tr,date:t3,string:t5,unknown:e0},aF=[e=>"true"===e||"false"===e||!0===e||!1===e,e=>aC(e)&&Number.isInteger(+e),aC,e=>!Number.isNaN(Date.parse(e))],aO=["boolean","integer","number","date"];function aN(e,t){if(!e||!e.length)return"unknown";let n=e.length,i=aF.length,r=aF.map((e,t)=>t+1);for(let a=0,o=0,l,s;a0===e?t:e,0)-1]}function aT(e,t){return t.reduce((t,n)=>(t[n]=aN(e,n),t),{})}function az(e){let t=function(t,n){let i={delimiter:e};return aR(t,n?tO(n,i):i)};return t.responseType="text",t}function aR(e,t){return t.header&&(e=t.header.map(t0).join(t.delimiter)+"\n"+e),(function(e){var t=RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function i(e,t){var i,r=[],a=e.length,o=0,l=0,s=a<=0,u=!1;function f(){if(s)return ne;if(u)return u=!1,t7;var t,i,r=o;if(34===e.charCodeAt(r)){for(;o++=a?s=!0:10===(i=e.charCodeAt(o++))?u=!0:13===i&&(u=!0,10===e.charCodeAt(o)&&++o),e.slice(r+1,t-1).replace(/""/g,'"')}for(;o9999?"+"+ni(l,6):ni(l,4))+"-"+ni(n.getUTCMonth()+1,2)+"-"+ni(n.getUTCDate(),2)+(o?"T"+ni(i,2)+":"+ni(r,2)+":"+ni(a,2)+"."+ni(o,3)+"Z":a?"T"+ni(i,2)+":"+ni(r,2)+":"+ni(a,2)+"Z":r||i?"T"+ni(i,2)+":"+ni(r,2)+"Z":"")):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,r,a=i(e,function(e,i){var a;if(n)return n(e,i-1);r=e,n=t?(a=nt(e),function(n,i){return t(a(n),i,e)}):nt(e)});return a.columns=r||[],a},parseRows:i,format:function(t,n){return null==n&&(n=nn(t)),[n.map(o).join(e)].concat(r(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=nn(e)),r(e,t).join("\n")},formatRows:function(e){return e.map(a).join("\n")},formatRow:a,formatValue:o}})(t.delimiter).parse(e+"")}function aL(e,t){var n,i;let r=t&&t.property?eZ(t.property):e0;return e7(e)&&!("function"==typeof t9.Buffer&&tE(t9.Buffer.isBuffer)&&t9.Buffer.isBuffer(e))?(n=r(e),i=t,!e9(n)&&tq(n)&&(n=[...n]),i&&i.copy?JSON.parse(JSON.stringify(n)):n):r(JSON.parse(e))}aR.responseType="text",aL.responseType="json";let aB={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function aP(e,t){let n,i,r,a;return e=aL(e,t),t&&t.feature?(n=na,r=t.feature):t&&t.mesh?(n=ns,r=t.mesh,a=aB[t.filter]):eJ("Missing TopoJSON feature or mesh parameter."),(i=(i=e.objects[r])?n(e,i,a):eJ("Invalid TopoJSON object: "+r))&&i.features||[i]}aP.responseType="json";let aI={dsv:aR,csv:az(","),tsv:az(" "),json:aL,topojson:aP};function aj(e,t){return arguments.length>1?(aI[e]=t,this):tz(aI,e)?aI[e]:null}function aU(e){let t=aj(e);return t&&t.responseType||"text"}function aq(e,t,n,i){let r=aj((t=t||{}).type||"json");return r||eJ("Unknown data format type: "+t.type),e=r(e,t),t.parse&&function(e,t,n,i){if(!e.length)return;let r=ag();n=n||r.timeParse,i=i||r.utcParse;let a=e.columns||Object.keys(e[0]),o,l,s,u,f,c;"auto"===t&&(t=aT(e,a));let d=(a=Object.keys(t)).map(e=>{let r,a,o=t[e];if(o&&(o.startsWith("date:")||o.startsWith("utc:")))return("'"===(a=(r=o.split(/:(.+)?/,2))[1])[0]&&"'"===a[a.length-1]||'"'===a[0]&&'"'===a[a.length-1])&&(a=a.slice(1,-1)),("utc"===r[0]?i:n)(a);if(!aD[o])throw Error("Illegal format pattern: "+e+":"+o);return aD[o]});for(s=0,f=e.length,c=a.length;s({options:e||{},sanitize:a$,load:aE,fileAccess:!1,file:aA,http:aS});function aH(e){let t=e||e0,n=[],i={};return n.add=e=>{let r=t(e);return i[r]||(i[r]=1,n.push(e)),n},n.remove=e=>{let r=t(e);if(i[r]){i[r]=0;let t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function aG(e,t){try{await t(e)}catch(t){e.error(t)}}e.s(["format",0,aI,"formats",0,aj,"inferType",0,aN,"inferTypes",0,aT,"loader",0,aW,"read",0,aq,"responseType",0,aU,"typeParsers",0,aD],86421);let aY=Symbol("vega_id"),aV=1;function aX(e){return!!(e&&aJ(e))}function aJ(e){return e[aY]}function aQ(e){var t;let n=e===Object(e)?e:{data:e};return aJ(n)||(t=aV++,n[aY]=t),n}function aZ(e){return aK(e,aQ({}))}function aK(e,t){for(let n in e)t[n]=e[n];return t}function a0(e,t){var n;return n=aJ(e),t[aY]=n,t}function a1(e,t){return e?t?(n,i)=>e(n,i)||aJ(t(n))-aJ(t(i)):(t,n)=>e(t,n)||aJ(t)-aJ(n):null}function a2(e){return e&&e.constructor===a3}function a3(){let e=[],t=[],n=[],i=[],r=[],a=null,o=!1;return{constructor:a3,insert(t){let n=tw(t),i=n.length;for(let t=0;t{d(e)&&(m[aJ(e)]=-1)});for(u=0,f=e.length;u0&&(y(h,d,c.value),l.modifies(d));for(u=0,f=r.length;u{d(e)&&m[aJ(e)]>0&&y(e,c.field,c.value)}),l.modifies(c.field);if(o)l.mod=t.length||i.length?s.filter(e=>m[aJ(e)]>0):s.slice();else for(p in g)l.mod.push(g[p]);return(a||null==a&&(t.length||i.length))&&l.clean(!0),l}}}let a5="_:mod:_";function a6(){Object.defineProperty(this,a5,{writable:!0,value:{}})}a6.prototype={set(e,t,n,i){let r=this[e],a=this[a5];return null!=t&&t>=0?(r[t]!==n||i)&&(r[t]=n,a[t+":"+e]=-1,a[e]=-1):(r!==n||i)&&(this[e]=n,a[e]=e9(n)?1+n.length:-1),this},modified(e,t){let n=this[a5];if(arguments.length){if(e9(e)){for(let t=0;t=0?t+1{i instanceof a9?(i!==this&&(t&&i.targets().add(this),u.push(i)),s.push({op:i,name:e,index:n})):l.set(e,n,i)};for(i in e)if(r=e[i],"pulse"===i)tw(r).forEach(e=>{e instanceof a9?e!==this&&(e.targets().add(this),u.push(e)):eJ("Pulse parameters must be operator instances.")}),this.source=r;else if(e9(r))for(l.set(i,-1,Array(a=r.length)),o=0;or=e)).requests=0,a.done=()=>{0==--a.requests&&(i._pending=null,r(i))},i._pending=a);o.requests+=1;let l=await this.request(t,n);return this.pulse(e,this.changeset().remove(e3).insert(l.data||[])),o.done(),l}ot.prototype={_filter:e3,_apply:e0,targets(){return this._targets||(this._targets=aH(eK))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,i=n?n.length:0;for(let e=0;e{let n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){let t=on();return this.targets().add(on(null,null,tF(e,e=>{let n=e.dataflow;t.receive(e),n&&n.run&&n.run()}))),t},between(e,t){let n=!1;return e.targets().add(on(null,null,()=>n=!0)),t.targets().add(on(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=e3,this._targets=null}};let oa={skip:!0},oo={};function ol(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 os(e,t){let n=[];return t8(e,t,e=>n.push(e)),n}function ou(e,t){let n={};return e.visit(t,e=>{n[aJ(e)]=1}),e=>n[aJ(e)]?null:e}function of(e,t){return e?(n,i)=>e(n,i)&&t(n,i):t}function oc(e,t,n,i){let r=0;for(let a of(this.dataflow=e,this.stamp=t,this.fields=null,this.encode=i||null,this.pulses=n,n))if(a.stamp===t){if(a.fields){let e=this.fields||(this.fields={});for(let t in a.fields)e[t]=1}a.changed(this.ADD)&&(r|=this.ADD),a.changed(this.REM)&&(r|=this.REM),a.changed(this.MOD)&&(r|=this.MOD)}this.changes=r}async function od(e,t,n){let i=this,r=[];if(i._pulse)return op(i);if(i._pending&&await i._pending,t&&await aG(i,t),!i._touched.length)return i.debug("Dataflow invoked, but nothing to do."),i;let a=++i._clock;i._pulse=new ol(i,a,e),i._touched.forEach(e=>i._enqueue(e,!0)),i._touched=aH(eK);let o=0,l,s,u;try{for(;i._heap.size()>0;){if((l=i._heap.pop()).rank!==l.qrank){i._enqueue(l,!0);continue}(s=l.run(i._getPulse(l,e))).then?s=await s:s.async&&(r.push(s.async),s=oo),s!==oo&&l._targets&&l._targets.forEach(e=>i._enqueue(e)),++o}}catch(e){i._heap.clear(),u=e}if(i._input={},i._pulse=null,i.debug(`Pulse ${a}: ${o} operators`),u&&(i._postrun=[],i.error(u)),i._postrun.length){let e=i._postrun.sort((e,t)=>t.priority-e.priority);i._postrun=[];for(let t=0;ti.runAsync(null,()=>{e.forEach(e=>{try{e(i)}catch(e){i.error(e)}})})),i}async function oh(e,t,n){for(;this._running;)await this._running;let i=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(i,i),this._running}function op(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}ol.prototype={StopPropagation:oo,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 ol(this.dataflow).init(this,e)},clone(){let 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 ol(this.dataflow).init(this)).add=e.source,e.rem=[]),e},init(e,t){return this.stamp=e.stamp,this.encode=e.encode,e.fields&&!(64&t)&&(this.fields=e.fields),1&t?(this.addF=e.addF,this.add=e.add):(this.addF=null,this.add=[]),2&t?(this.remF=e.remF,this.rem=e.rem):(this.remF=null,this.rem=[]),4&t?(this.modF=e.modF,this.mod=e.mod):(this.modF=null,this.mod=[]),32&t?(this.srcF=null,this.source=null):(this.srcF=e.srcF,this.source=e.source,e.cleans&&(this.cleans=e.cleans)),this},runAfter(e){this.dataflow.runAfter(e)},changed(e){let 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();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(4,ou(this,1))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return e9(e)?e.forEach(e=>t[e]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return!!((t||this.mod.length)&&n)&&(arguments.length?e9(e)?e.some(e=>n[e]):n[e]:!!n)},filter(e,t){return 1&e&&(this.addF=of(this.addF,t)),2&e&&(this.remF=of(this.remF,t)),4&e&&(this.modF=of(this.modF,t)),16&e&&(this.srcF=of(this.srcF,t)),this},materialize(e){return 1&(e=e||7)&&this.addF&&(this.add=os(this.add,this.addF),this.addF=null),2&e&&this.remF&&(this.rem=os(this.rem,this.remF),this.remF=null),4&e&&this.modF&&(this.mod=os(this.mod,this.modF),this.modF=null),16&e&&this.srcF&&(this.source=this.source.filter(this.srcF),this.srcF=null),this},visit(e,t){if(16&e)return t8(this.source,this.srcF,t),this;1&e&&t8(this.add,this.addF,t),2&e&&t8(this.rem,this.remF,t),4&e&&t8(this.mod,this.modF,t);let n=this.source;if(8&e&&n){let e=this.add.length+this.mod.length;e===n.length||(e?t8(n,ou(this,5),t):t8(n,this.srcF,t))}return this}},tP(oc,ol,{fork(e){let t=new ol(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){let t=this.fields;return t&&this.changes&this.MOD?e9(e)?e.some(e=>t[e]):t[e]:0},filter(){eJ("MultiPulse does not support filtering.")},materialize(){eJ("MultiPulse does not support materialization.")},visit(e,t){let n=this.pulses,i=n.length,r=0;if(e&this.SOURCE)for(;rt;){if(0>i(o,r=e[a=n-1>>1])){e[n]=r,n=a;continue}break}return e[n]=o}function oy(){var e;let t;this.logger(e8()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=ab();try{this._loader=aW()}catch(e){}this._touched=aH(eK),this._input={},this._pulse=null,this._heap=(e=(e,t)=>e.qrank-t.qrank,t=[],{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),og(t,0,t.length-1,e)),pop:()=>{let n,i=t.pop();return t.length?(n=t[0],t[0]=i,function(e,t,n){let i=t,r=e.length,a=e[t],o=(t<<1)+1,l;for(;o=0&&(o=l),e[t]=e[o],o=((t=o)<<1)+1;e[t]=a,og(e,i,t,n)}(t,0,e)):n=i,n}}),this._postrun=[]}function ov(e){return function(){return this._log[e].apply(this,arguments)}}function ob(e,t){a9.call(this,e,null,t)}oy.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:ov("error"),warn:ov("warn"),info:ov("info"),debug:ov("debug"),logLevel:ov("level"),cleanThreshold:1e4,add:function(e,t,n,i){let r=1,a;return e instanceof a9?a=e:e&&e.prototype instanceof a9?a=new e:tE(e)?a=new a9(null,e):(r=0,a=new a9(e,t)),this.rank(a),r&&(i=n,n=t),n&&this.connect(a,a.parameters(n,i)),this.touch(a),a},connect:function(e,t){let n=e.rank,i=t.length;for(let r=0;r=0;)r.push(t=n[i]),t===e&&eJ("Cycle detected in dataflow graph.")},pulse:function(e,t,n){this.touch(e,n||om);let i=new ol(this,this._clock+ +!this._pulse),r=e.pulse&&e.pulse.source||[];return i.target=e,this._input[e.id]=t.pulse(i,r),this},touch:function(e,t){let n=t||om;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this},update:function(e,t,n){let i=n||om;return(e.set(t)||i.force)&&this.touch(e,i),this},changeset:a3,ingest:function(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))},parse:function(e,t){let n=this.locale();return aq(e,t,n.timeParse,n.utcParse)},preload:or,request:oi,events:function(e,t,n,i){let r,a=this,o=on(n,i),l=function(e){e.dataflow=a;try{o.receive(e)}catch(e){a.error(e)}finally{a.run()}},s=(r="string"==typeof e&&"u">typeof document?document.querySelectorAll(e):tw(e)).length;for(let e=0;ee.touch(n(t)):tE(i)?(l=new a9(null,i,r,!1),o=t=>{l.evaluate(t);let i=n(t),r=l.value;a2(r)?e.pulse(i,r,a):e.update(i,r,s)}):o=t=>e.update(n(t),i,s),t.apply(o)})(this,e,t,n,i,r),this},evaluate:od,run:function(e,t,n){return this._pulse?op(this):(this.evaluate(e,t,n),this)},runAsync:oh,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){let n=e.stampe.pulse),t):this._input[e.id]||(n=this._pulse,(i=r&&r.pulse)&&i.stamp===n.stamp?i:(n=n.fork(),i&&i!==oo&&(n.source=i.source),n))}},tP(ob,a9,{run(e){let t;return e.stampthis.pulse=e):t!==e.StopPropagation&&(this.pulse=t),t)},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});let ox={};function o_(e){let t=ow(e);return t&&t.Definition||null}function ow(e){return tz(ox,e=e&&e.toLowerCase())?ox[e]:null}function ok(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n=t)&&(n=t);else{let i=-1;for(let r of e)null!=(r=t(r,++i,e))&&(n=r)&&(n=r)}return n}function oE(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let i=-1;for(let r of e)null!=(r=t(r,++i,e))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function o$(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et))}function oA(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function oS(e){return null===e?NaN:+e}function oM(e,t,n){if(!(!(i=(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t*=1)>=t&&(yield t);else{let n=-1;for(let i of e)null!=(i=t(i,++n,e))&&(i*=1)>=i&&(yield i)}}(e,n))).length)||isNaN(t*=1))){if(t<=0||i<2)return oE(e);if(t>=1)return ok(e);var i,r=(i-1)*t,a=Math.floor(r),o=ok((function e(t,n,i=0,r=1/0,a){if(n=Math.floor(n),i=Math.floor(Math.max(0,i)),r=Math.floor(Math.min(t.length-1,r)),!(i<=n&&n<=r))return t;for(a=void 0===a?o$:function(e=n7){if(e===n7)return o$;if("function"!=typeof e)throw TypeError("compare is not a function");return(t,n)=>{let i=e(t,n);return i||0===i?i:(0===e(n,n))-(0===e(t,t))}}(a);r>i;){if(r-i>600){let o=r-i+1,l=n-i+1,s=Math.log(o),u=.5*Math.exp(2*s/3),f=.5*Math.sqrt(s*u*(o-u)/o)*(l-o/2<0?-1:1),c=Math.max(i,Math.floor(n-l*u/o+f)),d=Math.min(r,Math.floor(n+(o-l)*u/o+f));e(t,n,c,d,a)}let o=t[n],l=i,s=r;for(oA(t,i,n),a(t[r],o)>0&&oA(t,i,r);la(t[l],o);)++l;for(;a(t[s],o)>0;)--s}0===a(t[i],o)?oA(t,i,s):oA(t,++s,r),s<=n&&(i=s+1),n<=s&&(r=s-1)}return t})(e,a).subarray(0,a+1));return o+(oE(e.subarray(a+1))-o)*(r-a)}}function oC(e,t,n=oS){if(!(!(i=e.length)||isNaN(t*=1))){if(t<=0||i<2)return+n(e[0],0,e);if(t>=1)return+n(e[i-1],i-1,e);var i,r=(i-1)*t,a=Math.floor(r),o=+n(e[a],a,e);return o+(n(e[a+1],a+1,e)-o)*(r-a)}}function oD(e,t){return oM(e,.5,t)}function*oF(e,t){if(null==t)for(let t of e)null!=t&&""!==t&&(t*=1)>=t&&(yield t);else{let n=-1;for(let i of e)null!=(i=t(i,++n,e))&&""!==i&&(i*=1)>=i&&(yield i)}}function oO(e,t,n){let i=Float64Array.from(oF(e,n));return i.sort(n7),t.map(e=>oC(i,e))}function oN(e,t){return oO(e,[.25,.5,.75],t)}function oT(e,t){let n,i=e.length,r=(n=function(e,t){let n,i=0,r=0,a=0;if(void 0===t)for(let t of e)null!=t&&(t*=1)>=t&&(n=t-r,r+=n/++i,a+=n*(t-r));else{let o=-1;for(let l of e)null!=(l=t(l,++o,e))&&(l*=1)>=l&&(n=l-r,r+=n/++i,a+=n*(l-r))}if(i>1)return a/(i-1)}(e,t))?Math.sqrt(n):n,a=oN(e,t);return 1.06*(Math.min(r,(a[2]-a[0])/1.34)||r||Math.abs(a[0])||1)*Math.pow(i,-.2)}function oz(e){let t=e.maxbins||20,n=e.base||10,i=Math.log(n),r=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,s,u,f,c,d,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=0,f=h/t,d=e.steps.length;ct;)l*=n;for(c=0,d=r.length;c=u&&h/f<=t&&(l=f)}let p=Math.pow(n,-((f=Math.log(l))>=0?0:~~(-f/i)+1)-1);return(e.nice||void 0===e.nice)&&(f=Math.floor(a/l+p)*l,a=ae);let r=e.length,a=new Float64Array(r),o=0,l=1,s=i(e[0]),u=s,f=s+t,c;for(;l=f){for(u=(s+u)/2;o>1);or;)e[o--]=e[i]}i=r,r=a}return e}(a,t+t/4):a}function oI(e){return function(){return(e=(0x41c64e6d*e+12345)%0x7fffffff)/0x7fffffff}}function oj(e,t){let n,i,r;null==t&&(t=e,e=0);let a={min(e){return arguments.length?(r=i-(n=e||0),a):n},max(e){return arguments.length?(r=(i=e||0)-n,a):i},sample:()=>n+Math.floor(r*oR()),pdf:e=>e===Math.floor(e)&&e>=n&&e=i?1:(t-n+1)/r},icdf:e=>e>=0&&e<=1?n-1+Math.floor(e*r):NaN};return a.min(e).max(t)}let oU=Math.sqrt(2*Math.PI),oq=Math.SQRT2,oW=NaN;function oH(e,t){e=e||0,t=null==t?1:t;let n=0,i=0,r,a;if(oW==oW)n=oW,oW=NaN;else{do r=(n=2*oR()-1)*n+(i=2*oR()-1)*i;while(0===r||r>1)n*=a=Math.sqrt(-2*Math.log(r)/r),oW=i*a}return e+n*t}function oG(e,t,n){let i=(e-(t||0))/(n=null==n?1:n);return Math.exp(-.5*i*i)/(n*oU)}function oY(e,t,n){let i,r=(e-(t=t||0))/(n=null==n?1:n),a=Math.abs(r);if(a>37)i=0;else{let e,t=Math.exp(-a*a/2);a<7.07106781186547?i=t*(e=(e=(e=(e=(e=(e=.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376)/(e=(e=(e=(e=(e=(e=(e=.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):(e=a+.65,e=a+4/e,e=a+3/e,e=a+2/e,i=t/(e=a+1/e)/2.506628274631)}return r>0?1-i:i}function oV(e,t,n){var i;let r,a;return e<0||e>1?NaN:(t||0)+(null==n?1:n)*oq*((r=-Math.log((1-(i=2*e-1))*(1+i)))<6.25?(r-=3.125,a=1.6536545626831027+(a=.24015818242558962+(a=-.006033670871430149+(a=-740702534166267e-18+(a=18673420803405714e-20+(a=-13882523362786469e-21+(a=-13654692000834679e-22+(a=42347877827932404e-23+(a=-29070369957882005e-24+(a=-4112633980346984e-24+(a=10512122733215323e-25+(a=-5415412054294628e-26+(a=-12975133253453532e-27+(a=26335093153082323e-28+(a=-8151934197605472e-29+(a=-4054566272975207e-29+(a=6637638134358324e-30+(a=20972767875968562e-33+(a=-1333171662854621e-31+(a=11157877678025181e-33+(a=128584807152564e-32+(a=-16850591381820166e-35+(a=-364441206401782e-35)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r):a=r<16?3.0838856104922208+(a=1.0052589676941592+(a=.005370914553590064+(a=-.003751208507569241+(a=.002491442096107851+(a=-.0016882755560235047+(a=9532893797373805e-19+(a=-3550375203628475e-19+(a=24031110387097894e-21+(a=6828485145957318e-20+(a=-47318229009055734e-21+(a=12475304481671779e-21+(a=29234449089955446e-22+(a=-4013867526981546e-21+(a=15027403968909828e-22+(a=18239629214389228e-24+(a=-27517406297064545e-23+(a=9075656193888539e-23+(a=22137376921775787e-25)*(r=Math.sqrt(r)-3.25))*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r:Number.isFinite(r)?4.849906401408584+(a=1.0103004648645344+(a=-13871931833623122e-20+(a=-21503011930044477e-20+(a=7599527703001776e-20+(a=-1968177810553167e-20+(a=4526062597223154e-21+(a=-99298272942317e-20+(a=22900482228026655e-23+(a=-6771199775845234e-23+(a=2914795345090108e-23+(a=-1496002662714924e-23+(a=761570120807834e-23+(a=-3789465440126737e-24+(a=15076572693500548e-25+(a=-2555641816996525e-25+(a=-27109920616438573e-27)*(r=Math.sqrt(r)-5))*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r)*r:1/0,a*i)}function oX(e,t){let n,i,r={mean(e){return arguments.length?(n=e||0,r):n},stdev(e){return arguments.length?(i=null==e?1:e,r):i},sample:()=>oH(n,i),pdf:e=>oG(e,n,i),cdf:e=>oY(e,n,i),icdf:e=>oV(e,n,i)};return r.mean(e).stdev(t)}function oJ(e,t){let n=oX(),i=0,r={data(n){return arguments.length?(e=n,i=n?n.length:0,r.bandwidth(t)):e},bandwidth(n){return arguments.length?((t=n)||!e||(t=oT(e)),r):t},sample:()=>e[~~(oR()*i)]+t*n.sample(),pdf(r){let a=0,o=0;for(;ooQ(n,i),pdf:e=>oZ(e,n,i),cdf:e=>oK(e,n,i),icdf:e=>o0(e,n,i)};return r.mean(e).stdev(t)}function o2(e,t){let n=0,i,r={weights(e){return arguments.length?(i=function(e){let t=[],i=0,r;for(r=0;r=t&&e<=n?1/(n-t):0}function o6(e,t,n){return null==n&&(n=null==t?1:t,t=0),en?1:(e-t)/(n-t)}function o4(e,t,n){return null==n&&(n=null==t?1:t,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function o8(e,t){let n,i,r={min(e){return arguments.length?(n=e||0,r):n},max(e){return arguments.length?(i=null==e?1:e,r):i},sample:()=>o3(n,i),pdf:e=>o5(e,n,i),cdf:e=>o6(e,n,i),icdf:e=>o4(e,n,i)};return null==t&&(t=null==e?1:e,e=0),r.min(e).max(t)}function o9(e,t,n){let i=0,r=0;for(let a of e){let e=n(a);null==t(a)||null==e||isNaN(e)||(i+=(e-i)/++r)}return{coef:[i],predict:()=>i,rSquared:0}}function o7(e,t,n,i){let r=i-e*e,a=1e-24>Math.abs(r)?0:(n-e*t)/r;return[t-a*e,a]}function le(e,t,n,i){e=e.filter(e=>{let i=t(e),r=n(e);return null!=i&&(i*=1)>=i&&null!=r&&(r*=1)>=r}),i&&e.sort((e,n)=>t(e)-t(n));let r=e.length,a=new Float64Array(r),o=new Float64Array(r),l=0,s=0,u=0,f,c,d;for(d of e)a[l]=f=+t(d),o[l]=c=+n(d),++l,s+=(f-s)/l,u+=(c-u)/l;for(l=0;l=a&&null!=o&&(o*=1)>=o&&i(a,o,++r)}function ln(e,t,n,i,r){let a=0,o=0;return lt(e,t,n,(e,t)=>{let n=t-r(e),l=t-i;a+=n*n,o+=l*l}),1-a/o}function li(e,t,n){let i=0,r=0,a=0,o=0,l=0;lt(e,t,n,(e,t)=>{++l,i+=(e-i)/l,r+=(t-r)/l,a+=(e*t-a)/l,o+=(e*e-o)/l});let s=o7(i,r,a,o),u=e=>s[0]+s[1]*e;return{coef:s,predict:u,rSquared:ln(e,t,n,r,u)}}function lr(e,t,n){let i=0,r=0,a=0,o=0,l=0;lt(e,t,n,(e,t)=>{++l,e=Math.log(e),i+=(e-i)/l,r+=(t-r)/l,a+=(e*t-a)/l,o+=(e*e-o)/l});let s=o7(i,r,a,o),u=e=>s[0]+s[1]*Math.log(e);return{coef:s,predict:u,rSquared:ln(e,t,n,r,u)}}function la(e,t,n){let[i,r,a,o]=le(e,t,n),l=0,s=0,u=0,f=0,c=0,d,h,p;lt(e,t,n,(e,t)=>{d=i[c++],h=Math.log(t),p=d*t,l+=(t*h-l)/c,s+=(p-s)/c,u+=(p*h-u)/c,f+=(d*p-f)/c});let[m,g]=o7(s/o,l/o,u/o,f/o),y=e=>Math.exp(m+g*(e-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:ln(e,t,n,o,y)}}function lo(e,t,n){let i=0,r=0,a=0,o=0,l=0,s=0;lt(e,t,n,(e,t)=>{let n=Math.log(e),u=Math.log(t);++s,i+=(n-i)/s,r+=(u-r)/s,a+=(n*u-a)/s,o+=(n*n-o)/s,l+=(t-l)/s});let u=o7(i,r,a,o),f=e=>u[0]*Math.pow(e,u[1]);return u[0]=Math.exp(u[0]),{coef:u,predict:f,rSquared:ln(e,t,n,l,f)}}function ll(e,t,n){let[i,r,a,o]=le(e,t,n),l=i.length,s=0,u=0,f=0,c=0,d=0,h,p,m,g;for(h=0;hb*(e-=a)*e+x*e+_+o;return{coef:[_-x*a+b*a*a+o,x-2*b*a,b],predict:w,rSquared:ln(e,t,n,o,w)}}function ls(e,t,n,i){let r,a,o,l,s;if(0===i)return o9(e,t,n);if(1===i)return li(e,t,n);if(2===i)return ll(e,t,n);let[u,f,c,d]=le(e,t,n),h=u.length,p=[],m=[],g=i+1;for(r=0;rMath.abs(e[t][r])&&(r=n);for(i=t;i=t;i--)e[i][n]-=e[i][t]*e[t][n]/e[t][t]}for(n=o-1;n>=0;--n){for(a=0,i=n+1;i{e-=c;let t=d+y[0]+y[1]*e+y[2]*e*e;for(r=3;r=0;--r)for(o=t[r],l=1,s[r]+=o,a=1;a<=r;++a)l*=(r+1-a)/a,s[r-a]+=o*Math.pow(n,a)*l;return s[0]+=i,s}(g,y,-c,d),predict:v,rSquared:ln(e,t,n,d,v)}}function lu(e,t,n,i){let[r,a,o,l]=le(e,t,n,!0),s=r.length,u=Math.max(2,~~(i*s)),f=new Float64Array(s),c=new Float64Array(s),d=new Float64Array(s).fill(1);for(let e=-1;++e<=2;){let t=[0,u-1];for(let e=0;er[o]-n?i:o,s=0,u=0,p=0,m=0,g=0,y=1/Math.abs(r[l]-n||1);for(let e=i;e<=o;++e){var h;let t=r[e],i=a[e],o=(h=1-(h=Math.abs(n-t)*y)*h*h)*h*h*d[e],l=t*o;s+=o,u+=l,p+=i*o,m+=i*l,g+=t*l}let[v,b]=o7(u/s,p/s,m/s,g/s);f[e]=v+b*n,c[e]=Math.abs(a[e]-f[e]),function(e,t,n){let i=e[t],r=n[0],a=n[1]+1;if(!(a>=e.length))for(;t>r&&e[a]-i<=i-e[r];)n[0]=++r,n[1]=a,++a}(r,e+1,t)}if(2===e)break;let n=oD(c);if(1e-12>Math.abs(n))break;for(let e=0,t,i;e=1?1e-12:(i=1-t*t)*i}return function(e,t,n,i){let r=e.length,a=[],o=0,l=0,s=[],u;for(;o[t,e(t)],a=t[0],o=t[1],l=o-a,s=l/i,u=[r(a)],f=[];if(n===i){for(let e=1;e0;)f.push(r(a+e/n*l));let c=u[0],d=f[f.length-1],h=1/l,p=function(e,t){let n=e,i=e,r=t.length;for(let e=0;ei&&(i=r)}return 1/(i-n)}(c[1],f);for(;d;){var m,g,y,v,b;let e=r((c[0]+d[0])/2);e[0]-c[0]>=s&&(m=c,g=e,y=d,v=h,Math.abs(Math.atan2((b=p)*(y[1]-m[1]),v*(y[0]-m[0]))-Math.atan2(b*(g[1]-m[1]),v*(g[0]-m[0])))>lf)?f.push(e):(c=d,u.push(d),f.pop()),d=f[f.length-1]}return u}function ld(e,t,n){e*=1,t*=1,n=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+n;for(var i=-1,r=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(r);++i{let n=e.length,i=1,r=String(e[0](t));for(;ioR,"randomInteger",0,oj,"randomKDE",0,oJ,"randomLCG",0,oI,"randomLogNormal",0,o1,"randomMixture",0,o2,"randomNormal",0,oX,"randomUniform",0,o8,"regressionConstant",0,o9,"regressionExp",0,la,"regressionLinear",0,li,"regressionLoess",0,lu,"regressionLog",0,lr,"regressionPoly",0,ls,"regressionPow",0,lo,"regressionQuad",0,ll,"sampleCurve",0,lc,"sampleLogNormal",0,oQ,"sampleNormal",0,oH,"sampleUniform",0,o3,"setRandom",0,oL],33008);let lp=()=>{},lm={init:lp,add:lp,rem:lp,idx:0},lg={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{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{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}},ly=Object.keys(lg).filter(e=>"__count__"!==e);function lv(e,t){return e.idx-t.idx}function lb(){this.valid=0,this.missing=0,this._ops.forEach(e=>null==e.aggregate_param?e.init(this):e.init(this,e.aggregate_param))}function lx(e,t){null==e||""===e?++this.missing:e==e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function l_(e,t){null==e||""===e?--this.missing:e==e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function lw(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function lk(e,t){let n,i,r=t||e0,a=(n={},e.forEach(e=>n[e.name]=e),i=e=>{e.req&&e.req.forEach(e=>{n[e]||i(n[e]=lg[e]())})},e.forEach(i),Object.values(n).sort(lv)),o=e.slice().sort(lv);function l(e){this._ops=a,this._out=o,this.cell=e,this.init()}return l.prototype.init=lb,l.prototype.add=lx,l.prototype.rem=l_,l.prototype.set=lw,l.prototype.get=r,l.fields=e.map(e=>e.out),l}function lE(e){this._key=e?eZ(e):aJ,this.reset()}[...ly,"__count__"].forEach(e=>{var t;lg[e]=(t=lg[e],(n,i)=>tO({name:e,aggregate_param:i,out:n||e},lm,t))});let l$=lE.prototype;function lA(e){ob.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}function lS(e){ob.call(this,null,e)}function lM(e,t,n){let i=t||[],r=n||[],a={},o=0;return{add:e=>r.push(e),remove:t=>a[e(t)]=++o,size:()=>i.length,data:(t,n)=>(o&&(i=i.filter(t=>!a[e(t)]),a={},o=0),n&&t&&i.sort(t),r.length&&(i=t?tJ(t,i,r.sort(t)):i.concat(r),r=[]),i)}}function lC(e){ob.call(this,[],e)}function lD(e){a9.call(this,null,lF,e)}function lF(e){return this.value&&!e.modified()?this.value:t$(e.fields,e.orders)}function lO(e){ob.call(this,null,e)}function lN(e){ob.call(this,null,e)}l$.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},l$.add=function(e){this._add.push(e)},l$.rem=function(e){this._rem.push(e)},l$.values=function(){let e,t,n;if(this._get=null,0===this._rem.length)return this._add;let i=this._add,r=this._rem,a=this._key,o=i.length,l=r.length,s=Array(o-l),u={};for(e=0;e=0;)!tz(n,a=e(t[i])+"")&&(n[a]=1,++r);return r},l$.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=tT(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},l$.argmin=function(e){return this.extent(e)[0]||{}},l$.argmax=function(e){return this.extent(e)[1]||{}},l$.min=function(e){let t=this.extent(e)[0];return null!=t?e(t):void 0},l$.max=function(e){let t=this.extent(e)[1];return null!=t?e(t):void 0},l$.quartile=function(e){return this._get===e&&this._q||(this._q=oN(this.values(),e),this._get=e),this._q},l$.q1=function(e){return this.quartile(e)[0]},l$.q2=function(e){return this.quartile(e)[1]},l$.q3=function(e){return this.quartile(e)[2]},l$.ci=function(e){return this._get===e&&this._ci||(this._ci=oB(this.values(),1e3,.05,e),this._get=e),this._ci},l$.ci0=function(e){return this.ci(e)[0]},l$.ci1=function(e){return this.ci(e)[1]},lA.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:ly},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},tP(lA,ob,{transform(e,t){let n=this,i=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.modified();return n.stamp=i.stamp,n.value&&(r||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=r?n.init(e):Object.create(null),t.visit(t.SOURCE,e=>n.add(e))):(n.value=n.value||n.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),i.modifies(n._outputs),n._drop=!1!==e.drop,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&i.clean(!0).runAfter(()=>this.clean()),n.changes(i)},cross(){let e=this,t=e.value,n=e._dnames,i=n.map(()=>({})),r=n.length;function a(e){let t,a,o,l;for(t in e)for(a=0,o=e[t].tuple;a{let t=eH(e);return c(e),u.push(t),t}),this.cellkey=e.key?e.key:lh(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let d=e.fields||[null],h=e.ops||["count"],p=e.aggregate_params||[null],m=e.as||[],g=d.length,y={};for(g!==h.length&&eJ("Unmatched number of fields and aggregate ops."),l=0;llk(e,e.field)),Object.create(null)},cellkey:lh(),cell(e,t){let n=this.value[e];return n?0===n.num&&this._drop&&n.stamp{let t=r(e);e[s]=t,e[u]=null==t?null:a+o*(1+(t-a)/o)}:e=>e[s]=r(e)),t.modifies(i?l:s)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=oz(e),i=n.step,r=n.start,a=r+Math.ceil((n.stop-r)/i)*i,o,l;null!=(o=e.anchor)&&(l=o-(r+i*Math.floor((o-r)/i)),r+=l,a+=l);let s=function(e){let n=tr(t(e));return null==n?null:na?Infinity:(n=Math.max(r,Math.min(n,a-i)),r+i*Math.floor(1e-14+(n-r)/i))};return s.start=r,s.stop=n.stop,s.step=i,this.value=eW(s,eG(t),e.name||"bin_"+eH(t))}}),lC.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},tP(lC,ob,{transform(e,t){let n=t.fork(t.ALL),i=lM(aJ,this.value,n.materialize(n.ADD).add),r=e.sort,a=t.changed()||r&&(e.modified("sort")||t.modified(r.fields));return n.visit(n.REM,i.remove),this.modified(a),this.value=n.source=i.data(a1(r),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}}),tP(lD,a9),lO.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},tP(lO,ob,{transform(e,t){let n=t=>n=>{for(var i,r=function(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase()}return e.match(n)}(l(n),e.case,a)||[],s=0,u=r.length;sr[e]=1+(r[e]||0)),f=n(e=>r[e]-=1);return i?t.visit(t.SOURCE,u):(t.visit(t.ADD,u),t.visit(t.REM,f)),this._finish(t,s)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n,i,r,a=this._counts,o=this._tuples||(this._tuples={}),l=t[0],s=t[1],u=e.fork(e.NO_SOURCE|e.NO_FIELDS);for(n in a)i=o[n],r=a[n]||0,!i&&r?(o[n]=i=aQ({}),i[l]=n,i[s]=r,u.add.push(i)):0===r?(i&&u.rem.push(i),a[n]=null,o[n]=null):i[s]!==r&&(i[s]=r,u.mod.push(i));return u.modifies(t)}}),lN.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},tP(lN,ob,{transform(e,t){let n=t.fork(t.NO_SOURCE),i=e.as||["a","b"],r=i[0],a=i[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=function(e,t,n,i){for(var r,a,o=[],l={},s=e.length,u=0;ut[n]||eH(e)):null}function lP(e,t,n){let i,r,a,o,l,s,u=[],f=e=>e(o);if(null==t)u.push(e.map(n));else for(i={},r=0,a=e.length;rt(n,e),eG(t),eH(t))}function lq(e){ob.call(this,[void 0,void 0],e)}function lW(e,t){a9.call(this,e),this.parent=t,this.count=0}function lH(e){ob.call(this,{},e),this._keys=tL();let t=this._targets=[];t.active=0,t.forEach=e=>{for(let n=0,i=t.active;neZ(e)):eZ(e.name,e.as)}function lV(e){ob.call(this,tL(),e)}function lX(e){ob.call(this,[],e)}function lJ(e){ob.call(this,[],e)}function lQ(e){ob.call(this,null,e)}function lZ(e){ob.call(this,[],e)}lR.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:lL.concat({key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:lL},{name:"weights",type:"number",array:!0}]})},{name:"as",type:"string",array:!0,default:["value","density"]}]},tP(lR,ob,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){var i;let r=function e(t,n){let i=t[lz];tz(lT,i)||eJ("Unknown distribution function: "+i);let r=lT[i]();for(let i in t)"field"===i?r.data((t.from||n()).map(t[i])):"distributions"===i?r[i](t[i].map(t=>e(t,n))):typeof r[i]===lz&&r[i](t[i]);return r}(e.distribution,(i=t,()=>i.materialize(i.SOURCE).source)),a=e.steps||e.minsteps||25,o=e.steps||e.maxsteps||200,l=e.method||"pdf";"pdf"!==l&&"cdf"!==l&&eJ("Invalid density method: "+l),e.extent||r.data||eJ("Missing density extent parameter."),l=r[l];let s=e.as||["value","density"],u=lc(l,e.extent||tN(r.data()),a,o).map(e=>{let t={};return t[s[0]]=e[0],t[s[1]]=e[1],aQ(t)});this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}}),lI.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]},tP(lI,ob,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,i=lP(t.source,e.groupby,e0),r=e.smooth||!1,a=e.field,o=e.step||tK(tN(n,a))/30,l=a1((e,t)=>a(e)-a(t)),s=e.as||"bin",u=i.length,f=1/0,c=-1/0,d=0,h;for(;dc&&(c=t),e[++h][s]=t}return this.value={start:f,stop:c,step:o},t.reflow(!0).modifies(s)}}),tP(lj,a9),lq.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},tP(lq,ob,{transform(e,t){let n=this.value,i=e.field,r=t.changed()||t.modified(i.fields)||e.modified("field"),a=n[0],o=n[1];if((r||null==a)&&(a=Infinity,o=-1/0),t.visit(r?t.SOURCE:t.ADD,e=>{let t=tr(i(e));null!=t&&(to&&(o=t))}),!Number.isFinite(a)||!Number.isFinite(o)){let e=eH(i);e&&(e=` for field "${e}"`),t.dataflow.warn(`Infinite extent${e}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),tP(lW,a9,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){this.count-=1,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}}),tP(lH,ob,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,i){let r=this.value,a=tz(r,e)&&r[e],o,l;return a?a.value.stampe&&e.count>0);this.initTargets(e)}},initTargets(e){let t=this._targets,n=t.length,i=e?e.length:0,r=0;for(;rthis.subflow(e,r,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,e=>{let t=aJ(e),n=a.get(t);void 0!==n&&(a.delete(t),l(n).rem(e))}),t.visit(t.ADD,e=>{let t=i(e);a.set(aJ(e),t),l(t).add(e)}),o||t.modified(i.fields)?t.visit(t.MOD,e=>{let t=aJ(e),n=a.get(t),r=i(e);n===r?l(r).mod(e):(a.set(t,r),l(n).rem(e),l(r).add(e))}):t.changed(t.MOD)&&t.visit(t.MOD,e=>{l(a.get(aJ(e))).mod(e)}),o&&t.visit(t.REFLOW,e=>{let t=aJ(e),n=a.get(t),r=i(e);n!==r&&(a.set(t,r),l(n).rem(e),l(r).add(e))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}}),tP(lG,a9),lV.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},tP(lV,ob,{transform(e,t){let n=t.dataflow,i=this.value,r=t.fork(),a=r.add,o=r.rem,l=r.mod,s=e.expr,u=!0;function f(t){let n=aJ(t),r=s(t,e),f=i.get(n);r&&f?(i.delete(n),a.push(t)):r||f?u&&r&&!f&&l.push(t):(i.set(n,1),o.push(t))}return t.visit(t.REM,e=>{let t=aJ(e);i.has(t)?i.delete(t):o.push(e)}),t.visit(t.ADD,t=>{s(t,e)?a.push(t):i.set(aJ(t),1)}),t.visit(t.MOD,f),e.modified()&&(u=!1,t.visit(t.REFLOW,f)),i.empty>n.cleanThreshold&&n.runAfter(i.clean),r}}),lX.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},tP(lX,ob,{transform(e,t){let n=t.fork(t.NO_SOURCE),i=e.fields,r=lB(i,e.as||[]),a=e.index||null,o=r.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{let t=i.map(t=>t(e)),l=t.reduce((e,t)=>Math.max(e,t.length),0),s=0,u,f,c;for(;s{for(let t=0,a;tt[i]=n(t,e))}}),tP(lZ,ob,{transform(e,t){let n=t.fork(t.ALL),i=e.generator,r=this.value,a=e.size-r.length,o,l,s;if(a>0){for(o=[];--a>=0;)o.push(s=aQ(i(e))),r.push(s);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=r.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,r=r.slice(-a);return n.source=this.value=r,n}});let lK={value:"value",median:oD,mean:function(e,t){let n=0,i=0;if(void 0===t)for(let t of e)null!=t&&(t*=1)>=t&&(++n,i+=t);else{let r=-1;for(let a of e)null!=(a=t(a,++r,e))&&(a*=1)>=a&&(++n,i+=a)}if(n)return i/n},min:oE,max:ok},l0=[];function l1(e){ob.call(this,[],e)}function l2(e){lA.call(this,e)}function l3(e){ob.call(this,null,e)}function l5(e){a9.call(this,null,l6,e)}function l6(e){return this.value&&!e.modified()?this.value:tY(e.fields,e.flat)}function l4(e){ob.call(this,[],e),this._pending=null}function l8(e,t,n){n.forEach(aQ);let i=t.fork(t.NO_FIELDS&t.NO_SOURCE);return i.rem=e.value,e.value=i.source=i.add=n,e._pending=null,i.rem.length&&i.clean(!0),i}function l9(e){ob.call(this,{},e)}function l7(e){a9.call(this,null,se,e)}function se(e){if(this.value&&!e.modified())return this.value;let t=e.extents,n=t.length,i=Infinity,r=-1/0,a,o;for(a=0;ar&&(r=o[1]);return[i,r]}function st(e){a9.call(this,null,sn,e)}function sn(e){return this.value&&!e.modified()?this.value:e.values.reduce((e,t)=>e.concat(t),[])}function si(e){ob.call(this,null,e)}function sr(e){lA.call(this,e)}function sa(e){lH.call(this,e)}function so(e){ob.call(this,null,e)}function sl(e){ob.call(this,null,e)}function ss(e){ob.call(this,null,e)}function su(e){ob.call(this,null,e)}function sf(e){ob.call(this,[],e),this.count=0}function sc(e){ob.call(this,null,e)}function sd(e){ob.call(this,null,e),this.modified(!0)}function sh(e){ob.call(this,null,e)}l1.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},tP(l1,ob,{transform(e,t){let n;var i,r,a,o,l,s,u,f,c,d,h=t.fork(t.ALL),p=function(e){var t,n=e.method||lK.value;if(null==lK[n])eJ("Unrecognized imputation method: "+n);else if(n===lK.value)return t=void 0!==e.value?e.value:0,()=>t;else return lK[n]}(e),m=(n=e.field,e=>e?n(e):NaN),g=eH(e.field),y=eH(e.key),v=(e.groupby||[]).map(eH),b=function(e,t,n,i){var r,a,o,l,s,u,f,c,d=e=>e(c),h=[],p=i?i.slice():[],m={},g={};for(p.forEach((e,t)=>m[e]=t+1),l=0,f=e.length;li.add(e))):(n=i.value=i.value||this.init(e),t.visit(t.REM,e=>i.rem(e)),t.visit(t.ADD,e=>i.add(e))),i.changes(),t.visit(t.SOURCE,e=>{tO(e,n[i.cellkey(e)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e,t,n=this._adds,i=this._mods;for(e=0,t=this._alen;e{let n=oJ(t,o)[l],i=e.counts?t.length:1;lc(n,f||tN(t),c,d).forEach(e=>{let n={};for(let e=0;e(this._pending=tw(e.data),e=>e.touch(this)))}:i.request(e.url,e.format).then(e=>l8(this,t,tw(e.data)))}}),l9.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},tP(l9,ob,{transform(e,t){let n=e.fields,i=e.index,r=e.values,a=null==e.default?null:e.default,o=e.modified(),l=n.length,s=o?t.SOURCE:t.ADD,u=t,f=e.as,c,d;return r?(d=r.length,l>1&&!f&&eJ('Multi-field lookup requires explicit "as" parameter.'),f&&f.length!==l*d&&eJ('The "as" parameter has too few output field names.'),f=f||r.map(eH),c=function(e){for(var t,o,s=0,u=0;st.modified(e.fields))?t.MOD:0,t.visit(s,c),u.modifies(f)}}),tP(l7,a9),tP(st,a9),tP(si,ob,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),sr.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:ly,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},tP(sr,lA,{_transform:lA.prototype.transform,transform(e,t){var n,i,r,a,o;let l,s,u,f,c,d,h;return this._transform((n=e,i=t,u=n.field,f=n.value,c=("count"===n.op?"__count__":n.op)||"sum",d=eG(u).concat(eG(f)),h=(r=u,a=n.limit||0,l={},s=[],(o=i).visit(o.SOURCE,e=>{let t=r(e);l[t]||(l[t]=1,s.push(t))}),s.sort(tA),a?s.slice(0,a):s),i.changed()&&n.set("__pivot__",null,null,!0),{key:n.key,groupby:n.groupby,ops:h.map(()=>c),fields:h.map(e=>{var t,n,i;return t=e,n=u,i=f,eW(e=>n(e)===t?i(e):NaN,d,t+"")}),as:h.map(e=>e+""),modified:n.modified.bind(n)}),t)}}),tP(sa,lH,{transform(e,t){let n=e.subflow,i=e.field,r=e=>this.subflow(aJ(e),n,t,e);return(e.modified("field")||i&&t.modified(eG(i)))&&eJ("PreFacet does not support field modification."),this.initTargets(),i?(t.visit(t.MOD,e=>{let t=r(e);i(e).forEach(e=>t.mod(e))}),t.visit(t.ADD,e=>{let t=r(e);i(e).forEach(e=>t.add(aQ(e)))}),t.visit(t.REM,e=>{let t=r(e);i(e).forEach(e=>t.rem(e))})):(t.visit(t.MOD,e=>r(e).mod(e)),t.visit(t.ADD,e=>r(e).add(e)),t.visit(t.REM,e=>r(e).rem(e))),t.clean()&&t.runAfter(()=>this.clean()),t}}),so.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},tP(so,ob,{transform(e,t){let n,i=t.fork(t.NO_SOURCE),r=e.fields,a=lB(e.fields,e.as||[]),o=r?(e,t)=>(function(e,t,n,i){for(let r=0,a=n.length;r{let t=aJ(e);i.rem.push(n[t]),n[t]=null}),t.visit(t.ADD,e=>{let t=o(e,aQ({}));n[aJ(e)]=t,i.add.push(t)}),t.visit(t.MOD,e=>{i.mod.push(o(e,n[aJ(e)]))}),i}}),tP(sl,ob,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}}),ss.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]},tP(ss,ob,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;let r=lP(t.materialize(t.SOURCE).source,e.groupby,e.field),a=(e.groupby||[]).map(eH),o=[],l=e.step||.01,s=e.probs||ld(l/2,.99999999999999,l),u=s.length;return r.forEach(e=>{let t=oO(e,s);for(let n=0;n{let t=aJ(e);n.rem.push(i[t]),i[t]=null}),t.visit(t.ADD,e=>{let t=aZ(e);i[aJ(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{let t=i[aJ(e)];for(let i in e)t[i]=e[i],n.modifies(i);n.mod.push(t)})),n}}),sf.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},tP(sf,ob,{transform(e,t){let n=t.fork(t.NO_SOURCE),i=e.modified("size"),r=e.size,a=this.value.reduce((e,t)=>(e[aJ(t)]=1,e),{}),o=this.value,l=this.count,s=0;function u(e){let t,i;o.length=s&&(a[aJ(t=o[i])]&&n.rem.push(t),o[i]=e),++l}if(t.rem.length&&(t.visit(t.REM,e=>{let t=aJ(e);a[t]&&(a[t]=-1,n.rem.push(e)),--l}),o=o.filter(e=>-1!==a[aJ(e)])),(t.rem.length||i)&&o.length{a[aJ(e)]||u(e)}),s=-1),i&&o.length>r){let e=o.length-r;for(let t=0;t{a[aJ(e)]&&n.mod.push(e)}),t.add.length&&t.visit(t.ADD,u),(t.add.length||s<0)&&(n.add=o.filter(e=>!a[aJ(e)])),this.count=l,this.value=n.source=o,n}}),sc.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},tP(sc,ob,{transform(e,t){if(this.value&&!e.modified())return;let n=t.materialize().fork(t.MOD),i=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=ld(e.start,e.stop,e.step||1).map(e=>{let t={};return t[i]=e,aQ(t)}),n.add=t.add.concat(this.value),n}}),tP(sd,ob,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});let sp=["unit0","unit1"];function sm(e){ob.call(this,tL(),e)}function sg(e){ob.call(this,null,e)}sh.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:im,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:sp}]},tP(sh,ob,{transform(e,t){let n=e.field,i=!1!==e.interval,r="utc"===e.timezone,a=this._floor(e,t),o=(r?iH:iW)(a.unit).offset,l=e.as||sp,s=l[0],u=l[1],f=a.step,c=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(eG(n)))&&(h=(t=t.reflow(!0)).SOURCE,c=1/0,d=-1/0),t.visit(h,e=>{let t,r,l=n(e);null==l?(e[s]=null,i&&(e[u]=null)):(e[s]=t=r=a(l),i&&(e[u]=r=o(t,f)),td&&(d=r))}),a.start=c,a.stop=d,t.modifies(i?l:s)},_floor(e,t){let n="utc"===e.timezone,{units:i,step:r}=e.units?{units:e.units,step:e.step||1}:i8({extent:e.extent||tN(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=iy(i),o=this.value||{},l=(n?ij:iB)(a,r);return l.unit=ti(a),l.units=a,l.step=r,l.start=o.start,l.stop=o.stop,this.value=l}}),tP(sm,ob,{transform(e,t){let n=t.dataflow,i=e.field,r=this.value,a=e=>r.set(i(e),e),o=!0;return e.modified("field")||t.modified(i.fields)?(r.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,e=>r.delete(i(e))),t.visit(t.ADD,a)):o=!1,this.modified(o),r.empty>n.cleanThreshold&&n.runAfter(r.clean),t.fork()}}),tP(sg,ob,{transform(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(a1(e.sort)):t.source).map(e.field))}});let sy={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,i=t.data;return n&&t.compare(i[n-1],i[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,i=t.data;return n&&t.compare(i[n-1],i[n])?++e:e}}},percent_rank:function(){let e=sy.rank(),t=e.next;return{init:e.init,next:e=>(t(e)-1)/(e.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,i=t.compare,r=t.index;if(e0||eJ("ntile num must be greater than zero.");let n=sy.cume_dist(),i=n.next;return{init:n.init,next:e=>Math.ceil(t*i(e))}},lag:function(e,t){return t=+t||1,{next:n=>{let i=n.index-t;return i>=0?e(n.data[i]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let i=n.index+t,r=n.data;return ie(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return(t*=1)>0||eJ("nth_value nth must be greater than zero."),{next:n=>{let i=n.i0+(t-1);return it=null,next:n=>{let i=e(n.data[n.index]);return null!=i?t=i:t}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:i=>{let r=i.data;return i.index<=n?t:(n=function(e,t,n){for(let i=t.length;ns[e]=1)}h(e.sort),t.forEach((e,t)=>{let s=n[t],p=i[t],m=r[t]||null,g=eH(s),y=a[t]||e+(g?"_"+g:"");if(h(s),o.push(y),tz(sy,e)){let t;l.push({init:(t=sy[e](s,p)).init||e1,update:function(e,n){n[y]=t.next(e)}})}else{if(null==s&&"count"!==e&&eJ("Null aggregate field specified."),"count"===e)return void f.push(y);d=!1;let t=u[g];t||((t=u[g]=[]).field=s,c.push(t)),t.push(lg[e](y,m))}}),(f.length||c.length)&&(this.cell=function(e,t,n){e=e.map(e=>lk(e,e.field));let i={num:0,agg:null,store:!1,count:t};if(!n)for(var r=e.length,a=i.agg=Array(r),o=0;oe.init()),this.cell&&this.cell.init()},sx.update=function(e,t){let n,i=this.cell,r=this.windows,a=e.data,o=r&&r.length;if(i){for(n=e.p0;nthis.group(r(e)),o=this.state;(!o||n)&&(o=this.state=new sb(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,e=>a(e).add(e))):(t.visit(t.REM,e=>a(e).remove(e)),t.visit(t.ADD,e=>a(e).add(e)));for(let t=0,n=this._mlen;t0&&!r(a[n],a[n-1])&&(e.i0=t.left(a,a[n])),i=0;--t)r[t]=(o[t]-r[t+1])/a[t];for(t=0,a[i-1]=(e[i]+r[i-1])/2;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e*=1,t*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}},sE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var i=s$(e),r=s$(t),a=0,o=1;o=1?sX:e<=-1?-sX:Math.asin(e)}function sZ(e,t,n){var i=e._x1,r=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var l=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,s=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*l-e._x0*e._l12_2a+e._x2*e._l01_2a)/s,r=(r*l-e._y0*e._l12_2a+e._y2*e._l01_2a)/s}if(e._l23_a>1e-12){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,f=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*u+e._x1*e._l23_2a-t*e._l12_2a)/f,o=(o*u+e._y1*e._l23_2a-n*e._l12_2a)/f}e._context.bezierCurveTo(i,r,a,o,e._x2,e._y2)}function sK(e,t){this._context=e,this._alpha=t}sK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e*=1,t*=1,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:sZ(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};let s0=function e(t){function n(e){return t?new sK(e,t):new sL(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function s1(e,t){this._context=e,this._alpha=t}s1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e*=1,t*=1,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:sZ(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};let s2=function e(t){function n(e){return t?new s1(e,t):new sP(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function s3(e,t){this._context=e,this._k=(1-t)/6}s3.prototype={areaStart:sO,areaEnd:sO,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e*=1,t*=1,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:sR(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};let s5=function e(t){function n(e){return new s3(e,t)}return n.tension=function(t){return e(+t)},n}(0);function s6(e,t){this._context=e,this._alpha=t}s6.prototype={areaStart:sO,areaEnd:sO,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e*=1,t*=1,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:sZ(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};let s4=function e(t){function n(e){return t?new s6(e,t):new s3(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function s8(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function s9(e){this._context=e}function s7(e,t){this._basis=new s9(e),this._beta=t}s9.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:s8(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e*=1,t*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:s8(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},s7.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var i,r=e[0],a=t[0],o=e[n]-r,l=t[n]-a,s=-1;++s<=n;)i=s/n,this._basis.point(this._beta*e[s]+(1-this._beta)*(r+i*o),this._beta*t[s]+(1-this._beta)*(a+i*l));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};let ue=function e(t){function n(e){return 1===t?new s9(e):new s7(e,t)}return n.beta=function(t){return e(+t)},n}(.85);function ut(e){this._context=e}function un(e){this._context=e}function ui(e){return function(){return e}}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e*=1,t*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,i=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:s8(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},un.prototype={areaStart:sO,areaEnd:sO,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e*=1,t*=1,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:s8(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};let ur=Math.PI,ua=2*ur,uo=ua-1e-6;function ul(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return ul;let n=10**t;return function(e){this._+=e[0];for(let t=1,i=e.length;t1e-6)if(Math.abs(f*l-s*u)>1e-6&&r){let d=n-a,h=i-o,p=l*l+s*s,m=Math.sqrt(p),g=Math.sqrt(c),y=r*Math.tan((ur-Math.acos((p+c-(d*d+h*h))/(2*m*g)))/2),v=y/g,b=y/m;Math.abs(v-1)>1e-6&&this._append`L${e+v*u},${t+v*f}`,this._append`A${r},${r},0,0,${+(f*d>u*h)},${this._x1=e+b*l},${this._y1=t+b*s}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,n,i,r,a){if(e*=1,t*=1,n*=1,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),s=e+o,u=t+l,f=1^a,c=a?i-r:r-i;null===this._x1?this._append`M${s},${u}`:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-u)>1e-6)&&this._append`L${s},${u}`,n&&(c<0&&(c=c%ua+ua),c>uo?this._append`A${n},${n},0,1,${f},${e-o},${t-l}A${n},${n},0,1,${f},${this._x1=s},${this._y1=u}`:c>1e-6&&this._append`A${n},${n},0,${+(c>=ur)},${f},${this._x1=e+n*Math.cos(r)},${this._y1=t+n*Math.sin(r)}`)}rect(e,t,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n*=1}v${+i}h${-n}Z`}toString(){return this._}}function uu(){return new us}function uf(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new us(t)}function uc(e){return e.innerRadius}function ud(e){return e.outerRadius}function uh(e){return e.startAngle}function up(e){return e.endAngle}function um(e){return e&&e.padAngle}function ug(e,t,n,i,r,a,o){var l=e-n,s=t-i,u=(o?a:-a)/sY(l*l+s*s),f=u*s,c=-u*l,d=e+f,h=t+c,p=n+f,m=i+c,g=(d+p)/2,y=(h+m)/2,v=p-d,b=m-h,x=v*v+b*b,_=r-a,w=d*m-p*h,k=(b<0?-1:1)*sY(sW(0,_*_*x-w*w)),E=(w*b-v*k)/x,$=(-w*v-b*k)/x,A=(w*b+v*k)/x,S=(-w*v+b*k)/x,M=E-g,C=$-y,D=A-g,F=S-y;return M*M+C*C>D*D+F*F&&(E=A,$=S),{cx:E,cy:$,x01:-f,y01:-c,x11:E*(r/_-1),y11:$*(r/_-1)}}function uy(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function uv(e){return e[0]}function ub(e){return e[1]}function ux(e,t){var n=ui(!0),i=null,r=sz,a=null,o=uf(l);function l(l){var s,u,f,c=(l=uy(l)).length,d=!1;for(null==i&&(a=r(f=o())),s=0;s<=c;++s)!(s=c;--d)l.point(y[d],v[d]);l.lineEnd(),l.areaEnd()}g&&(y[f]=+e(h,f,u),v[f]=+t(h,f,u),l.point(i?+i(h,f,u):y[f],n?+n(h,f,u):v[f]))}if(p)return l=null,p+""||null}function f(){return ux().defined(r).curve(o).context(a)}return e="function"==typeof e?e:void 0===e?uv:ui(+e),t="function"==typeof t?t:void 0===t?ui(0):ui(+t),n="function"==typeof n?n:void 0===n?ub:ui(+n),u.x=function(t){return arguments.length?(e="function"==typeof t?t:ui(+t),i=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:ui(+t),u):e},u.x1=function(e){return arguments.length?(i=null==e?null:"function"==typeof e?e:ui(+e),u):i},u.y=function(e){return arguments.length?(t="function"==typeof e?e:ui(+e),n=null,u):t},u.y0=function(e){return arguments.length?(t="function"==typeof e?e:ui(+e),u):t},u.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:ui(+e),u):n},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(n)},u.lineX1=function(){return f().x(i).y(t)},u.defined=function(e){return arguments.length?(r="function"==typeof e?e:ui(!!e),u):r},u.curve=function(e){return arguments.length?(o=e,null!=a&&(l=o(a)),u):o},u.context=function(e){return arguments.length?(null==e?a=l=null:l=o(a=e),u):a},u}uu.prototype=us.prototype,Array.prototype.slice,sY(3);let uw={draw(e,t){let n=sY(t/sV);e.moveTo(n,0),e.arc(0,0,n,0,sJ)}};function uk(e,t){if("u">typeof document&&document.createElement){let n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}sY(1/3),sG(sV/10),sG(7*sV/10),sG(sJ/10),sq(sJ/10),sY(3),sY(3),sY(3),sY(12);let uE=it(n7),u$=uE.right,uA=uE.left;function uS(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function uM(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function uC(){}it(oS).center;var uD="\\s*([+-]?\\d+)\\s*",uF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",uO="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",uN=/^#([0-9a-f]{3,8})$/,uT=RegExp(`^rgb\\(${uD},${uD},${uD}\\)$`),uz=RegExp(`^rgb\\(${uO},${uO},${uO}\\)$`),uR=RegExp(`^rgba\\(${uD},${uD},${uD},${uF}\\)$`),uL=RegExp(`^rgba\\(${uO},${uO},${uO},${uF}\\)$`),uB=RegExp(`^hsl\\(${uF},${uO},${uO}\\)$`),uP=RegExp(`^hsla\\(${uF},${uO},${uO},${uF}\\)$`),uI={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function uj(){return this.rgb().formatHex()}function uU(){return this.rgb().formatRgb()}function uq(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=uN.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?uW(t):3===n?new uV(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?uH(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?uH(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=uT.exec(e))?new uV(t[1],t[2],t[3],1):(t=uz.exec(e))?new uV(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=uR.exec(e))?uH(t[1],t[2],t[3],t[4]):(t=uL.exec(e))?uH(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=uB.exec(e))?u0(t[1],t[2]/100,t[3]/100,1):(t=uP.exec(e))?u0(t[1],t[2]/100,t[3]/100,t[4]):uI.hasOwnProperty(e)?uW(uI[e]):"transparent"===e?new uV(NaN,NaN,NaN,0):null}function uW(e){return new uV(e>>16&255,e>>8&255,255&e,1)}function uH(e,t,n,i){return i<=0&&(e=t=n=NaN),new uV(e,t,n,i)}function uG(e){return(e instanceof uC||(e=uq(e)),e)?new uV((e=e.rgb()).r,e.g,e.b,e.opacity):new uV}function uY(e,t,n,i){return 1==arguments.length?uG(e):new uV(e,t,n,null==i?1:i)}function uV(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function uX(){return`#${uK(this.r)}${uK(this.g)}${uK(this.b)}`}function uJ(){let e=uQ(this.opacity);return`${1===e?"rgb(":"rgba("}${uZ(this.r)}, ${uZ(this.g)}, ${uZ(this.b)}${1===e?")":`, ${e})`}`}function uQ(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function uZ(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function uK(e){return((e=uZ(e))<16?"0":"")+e.toString(16)}function u0(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new u3(e,t,n,i)}function u1(e){if(e instanceof u3)return new u3(e.h,e.s,e.l,e.opacity);if(e instanceof uC||(e=uq(e)),!e)return new u3;if(e instanceof u3)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),a=Math.max(t,n,i),o=NaN,l=a-r,s=(a+r)/2;return l?(o=t===a?(n-i)/l+(n0&&s<1?0:o,new u3(o,l,s,e.opacity)}function u2(e,t,n,i){return 1==arguments.length?u1(e):new u3(e,t,n,null==i?1:i)}function u3(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function u5(e){return(e=(e||0)%360)<0?e+360:e}function u6(e){return Math.max(0,Math.min(1,e||0))}function u4(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function u8(e,t,n,i,r){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*n+(1+3*e+3*a-3*o)*i+o*r)/6}function u9(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),r=e[i],a=e[i+1],o=i>0?e[i-1]:2*r-a,l=i=240?e-240:e+120,r,i),u4(e,r,i),u4(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new u3(u5(this.h),u6(this.s),u6(this.l),uQ(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=uQ(this.opacity);return`${1===e?"hsl(":"hsla("}${u5(this.h)}, ${100*u6(this.s)}%, ${100*u6(this.l)}%${1===e?")":`, ${e})`}`}}));let fe=e=>()=>e;function ft(e,t){return function(n){return e+n*t}}function fn(e,t){var n=t-e;return n?ft(e,n>180||n<-180?n-360*Math.round(n/360):n):fe(isNaN(e)?t:e)}function fi(e,t){var n=t-e;return n?ft(e,n):fe(isNaN(e)?t:e)}let fr=function e(t){var n,i=1==(n=+t)?fi:function(e,t){var i,r,a;return t-e?(i=e,r=t,i=Math.pow(i,a=n),r=Math.pow(r,a)-i,a=1/a,function(e){return Math.pow(i+e*r,a)}):fe(isNaN(e)?t:e)};function r(e,t){var n=i((e=uY(e)).r,(t=uY(t)).r),r=i(e.g,t.g),a=i(e.b,t.b),o=fi(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=r(t),e.b=a(t),e.opacity=o(t),e+""}}return r.gamma=e,r}(1);function fa(e){return function(t){var n,i,r=t.length,a=Array(r),o=Array(r),l=Array(r);for(n=0;nl&&(o=t.slice(l,o),u[s]?u[s]+=o:u[++s]=o),(r=r[0])===(a=a[0])?u[s]?u[s]+=a:u[++s]=a:(u[++s]=null,f.push({i:s,x:fd(r,a)})),l=fm.lastIndex;return lt&&(n=e,e=t,t=n),u=function(n){return Math.max(e,Math.min(t,n))}),i=s>2?fE:fk,r=a=null,c}function c(t){return null==t||isNaN(t*=1)?n:(r||(r=i(o.map(e),l,s)))(e(u(t)))}return c.invert=function(n){return u(t((a||(a=i(l,o.map(e),fd)))(n)))},c.domain=function(e){return arguments.length?(o=Array.from(e,fb),f()):o.slice()},c.range=function(e){return arguments.length?(l=Array.from(e),f()):l.slice()},c.rangeRound=function(e){return l=Array.from(e),s=fv,f()},c.clamp=function(e){return arguments.length?(u=!!e||f_,f()):u!==f_},c.interpolate=function(e){return arguments.length?(s=e,f()):s},c.unknown=function(e){return arguments.length?(n=e,c):n},function(n,i){return e=n,t=i,f()}}function fS(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function fM(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}function fC(e,t,n,i){var r,a=ng(e,t,n);switch((i=nx(null==i?",f":i)).type){case"s":var o=Math.max(Math.abs(e),Math.abs(t));return null!=i.precision||isNaN(r=nD(a,o))||(i.precision=r),vy(i,o);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(r=nC(a,Math.max(Math.abs(e),Math.abs(t))))||(i.precision=r-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(r=nM(a))||(i.precision=r-("%"===i.type)*2)}return vg(i)}function fD(e){var t=e.domain;return e.ticks=function(e){var n=t();return np(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var i=t();return fC(i[0],i[i.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var i,r,a=t(),o=0,l=a.length-1,s=a[o],u=a[l],f=10;for(u0;){if((r=nm(s,u,n))===i)return a[o]=s,a[l]=u,t(a);if(r>0)s=Math.floor(s/r)*r,u=Math.ceil(u/r)*r;else if(r<0)s=Math.ceil(s*r)/r,u=Math.floor(u*r)/r;else break;i=r}return e},e}function fF(e,t){e=e.slice();var n,i=0,r=e.length-1,a=e[i],o=e[r];return o-e(-t,n)}function fB(e){let t,n,i=e(fO,fN),r=i.domain,a=10;function o(){var o,l;return t=(o=a)===Math.E?Math.log:10===o&&Math.log10||2===o&&Math.log2||(o=Math.log(o),e=>Math.log(e)/o),n=10===(l=a)?fR:l===Math.E?Math.exp:e=>Math.pow(l,e),r()[0]<0?(t=fL(t),n=fL(n),e(fT,fz)):e(fO,fN),i}return i.base=function(e){return arguments.length?(a=+e,o()):a},i.domain=function(e){return arguments.length?(r(e),o()):r()},i.ticks=e=>{let i,o,l=r(),s=l[0],u=l[l.length-1],f=u0){for(;c<=d;++c)for(i=1;iu)break;p.push(o)}}else for(;c<=d;++c)for(i=a-1;i>=1;--i)if(!((o=c>0?i/n(-c):i*n(c))u)break;p.push(o)}2*p.length{if(null==e&&(e=10),null==r&&(r=10===a?"s":","),"function"!=typeof r&&(a%1||null!=(r=nx(r)).precision||(r.trim=!0),r=vg(r)),e===1/0)return r;let o=Math.max(1,a*e/i.ticks().length);return e=>{let i=e/n(Math.round(t(e)));return i*ar(fF(r(),{floor:e=>n(Math.floor(t(e))),ceil:e=>n(Math.ceil(t(e)))})),i}function fP(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function fI(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function fj(e){return e<0?-e*e:e*e}function fU(e){var t=e(f_,f_),n=1;return t.exponent=function(t){return arguments.length?1==(n=+t)?e(f_,f_):.5===n?e(fI,fj):e(fP(n),fP(1/n)):n},fD(t)}function fq(){var e=fU(fA());return e.copy=function(){return f$(e,fq()).exponent(e.exponent())},fS.apply(e,arguments),e}function fW(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function fH(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function fG(e){var t=1,n=e(fW(1),fH(t));return n.constant=function(n){return arguments.length?e(fW(t=+n),fH(t)):t},fD(n)}function fY(e,t,n,i,r,a){let o=[[n2,1,1e3],[n2,5,5e3],[n2,15,15e3],[n2,30,3e4],[a,1,6e4],[a,5,3e5],[a,15,9e5],[a,30,18e5],[r,1,36e5],[r,3,108e5],[r,6,216e5],[r,12,432e5],[i,1,864e5],[i,2,1728e5],[n,1,6048e5],[t,1,2592e6],[t,3,7776e6],[e,1,31536e6]];function l(t,n,i){let r=Math.abs(n-t)/i,a=it(([,,e])=>e).right(o,r);if(a===o.length)return e.every(ng(t/31536e6,n/31536e6,i));if(0===a)return n1.every(Math.max(ng(t,n,i),1));let[l,s]=o[r/o[a-1][2]180?s+=360:s-l>180&&(l+=360),d.push({i:c.push(r(c)+"rotate(",null,i)-2,x:fd(l,s)})):s&&c.push(r(c)+"rotate("+s+i),u=a.skewX,f=o.skewX,u!==f?d.push({i:c.push(r(c)+"skewX(",null,i)-2,x:fd(u,f)}):f&&c.push(r(c)+"skewX("+f+i),!function(e,t,n,i,a,o){if(e!==n||t!==i){var l=a.push(r(a)+"scale(",null,",",null,")");o.push({i:l-4,x:fd(e,n)},{i:l-2,x:fd(t,i)})}else(1!==n||1!==i)&&a.push(r(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,c,d),a=o=null,function(e){for(var t,n=-1,i=d.length;++ncw?Math.pow(e,1/3):e/c_+cb}function cS(e){return e>cx?e*e*e:c_*(e-cb)}function cM(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function cC(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function cD(e,t,n,i){return 1==arguments.length?function(e){if(e instanceof cF)return new cF(e.h,e.c,e.l,e.opacity);if(e instanceof c$||(e=ck(e)),0===e.a&&0===e.b)return new cF(NaN,00?i:1:0}let c1="linear",c2="sqrt",c3="symlog",c5="time",c6="sequential",c4="diverging",c8="quantile",c9="quantize",c7="threshold",de="ordinal",dt="point",dn="band",di="bin-ordinal",dr="continuous",da="discrete",dl="discretizing",ds="interpolating",du="temporal";function df(){let e=ca().unknown(void 0),t=e.domain,n=e.range,i=[0,1],r,a,o=!1,l=0,s=0,u=.5;function f(){let e=t().length,f=i[1]h+r*e);return n(f?p.reverse():p)}return delete e.unknown,e.domain=function(e){return arguments.length?(t(e),f()):t()},e.range=function(e){return arguments.length?(i=[+e[0],+e[1]],f()):i.slice()},e.rangeRound=function(e){return i=[+e[0],+e[1]],o=!0,f()},e.bandwidth=function(){return a},e.step=function(){return r},e.round=function(e){return arguments.length?(o=!!e,f()):o},e.padding=function(e){return arguments.length?(l=s=Math.max(0,Math.min(1,e)),f()):l},e.paddingInner=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),f()):l},e.paddingOuter=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),f()):s},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),f()):u},e.invertRange=function(e){if(null==e[0]||null==e[1])return;let r=i[1]i[1-r])))return f=Math.max(0,u$(o,s)-1),c=s===u?f:u$(o,u)-1,s-o[f]>a+1e-10&&++f,r&&(d=f,f=l-c,c=l-d),f>c?void 0:t().slice(f,c+1)},e.invert=function(t){let n=e.invertRange([t,t]);return n?n[0]:n},e.copy=function(){return df().domain(t()).range(i).round(o).paddingInner(l).paddingOuter(s).align(u)},f()}var dc=Array.prototype.map;let dd=Array.prototype.slice,dh=new Map,dp=Symbol("vega_scale");function dm(e){return e&&!0===e[dp]}function dg(e,t,n){if(!(arguments.length>1)){var i;return(i=e,dh.has(i))?dh.get(e):void 0}{let i;return dh.set(e,((i=function(){let n=t();return n.invertRange||(n.invertRange=n.invert?function(e){let t=e[0],i=e[1],r;return i=i&&t[s]<=r&&(a<0&&(a=s),o=s);if(!(a<0))return i=n.invertExtent(t[a]),r=n.invertExtent(t[o]),[void 0===i[0]?i[1]:i[0],void 0===r[1]?r[0]:r[1]]}:void 0),n.type=e,n[dp]=!0,n}).metadata=t6(tw(n)),i)),this}}function dy(e,t){let n=dh.get(e);return n&&n.metadata[t]}dg("identity",function e(t){var n;function i(e){return null==e||isNaN(e*=1)?n:e}return i.invert=i,i.domain=i.range=function(e){return arguments.length?(t=Array.from(e,fb),i):t.slice()},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return e(t).unknown(n)},t=arguments.length?Array.from(t,fb):[0,1],fD(i)}),dg(c1,function e(){var t=fA()(f_,f_);return t.copy=function(){return f$(t,e())},fS.apply(t,arguments),fD(t)},dr),dg("log",function e(){let t=fB(fA()).domain([1,10]);return t.copy=()=>f$(t,e()).base(t.base()),fS.apply(t,arguments),t},[dr,"log"]),dg("pow",fq,dr),dg(c2,function(){return fq.apply(null,arguments).exponent(.5)},dr),dg(c3,function e(){var t=fG(fA());return t.copy=function(){return f$(t,e()).constant(t.constant())},fS.apply(t,arguments)},dr),dg(c5,function(){return fS.apply(f0(fJ,fQ,n8,nK,nB,nT,n6,n3,n2,vb).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[dr,du]),dg("utc",function(){return fS.apply(f0(fV,fX,n9,n0,nG,nz,n4,n5,n2,v_).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[dr,du]),dg(c6,f3,[dr,ds]),dg(`${c6}-${c1}`,f3,[dr,ds]),dg(`${c6}-log`,function e(){var t=fB(f1()).domain([1,10]);return t.copy=function(){return f2(t,e()).base(t.base())},fM.apply(t,arguments)},[dr,ds,"log"]),dg(`${c6}-pow`,f5,[dr,ds]),dg(`${c6}-${c2}`,function(){return f5.apply(null,arguments).exponent(.5)},[dr,ds]),dg(`${c6}-${c3}`,function e(){var t=fG(f1());return t.copy=function(){return f2(t,e()).constant(t.constant())},fM.apply(t,arguments)},[dr,ds]),dg(`${c4}-${c1}`,function e(){var t=fD(f4()(f_));return t.copy=function(){return f2(t,e())},fM.apply(t,arguments)},[dr,ds]),dg(`${c4}-log`,function e(){var t=fB(f4()).domain([.1,1,10]);return t.copy=function(){return f2(t,e()).base(t.base())},fM.apply(t,arguments)},[dr,ds,"log"]),dg(`${c4}-pow`,f8,[dr,ds]),dg(`${c4}-${c2}`,function(){return f8.apply(null,arguments).exponent(.5)},[dr,ds]),dg(`${c4}-${c3}`,function e(){var t=fG(f4());return t.copy=function(){return f2(t,e()).constant(t.constant())},fM.apply(t,arguments)},[dr,ds]),dg(c8,function e(){var t,n=[],i=[],r=[];function a(){var e=0,t=Math.max(1,i.length);for(r=Array(t-1);++e0?r[t-1]:n[0],t=r?[a[r-1],i]:[a[t-1],a[t]]},l.unknown=function(e){return arguments.length&&(t=e),l},l.thresholds=function(){return a.slice()},l.copy=function(){return e().domain([n,i]).range(o).unknown(t)},fS.apply(fD(l),arguments)},dl),dg(c7,function e(){var t,n=[.5],i=[0,1],r=1;function a(e){return null!=e&&e<=e?i[u$(n,e,0,r)]:t}return a.domain=function(e){return arguments.length?(r=Math.min((n=Array.from(e)).length,i.length-1),a):n.slice()},a.range=function(e){return arguments.length?(i=Array.from(e),r=Math.min(n.length,i.length-1),a):i.slice()},a.invertExtent=function(e){var t=i.indexOf(e);return[n[t-1],n[t]]},a.unknown=function(e){return arguments.length?(t=e,a):t},a.copy=function(){return e().domain(n).range(i).unknown(t)},fS.apply(a,arguments)},dl),dg(di,function e(){let t=[],n=[];function i(e){return null==e||e!=e?void 0:n[(u$(t,e)-1)%n.length]}return i.domain=function(e){return arguments.length?(t=dc.call(e,tr),i):t.slice()},i.range=function(e){return arguments.length?(n=dd.call(e),i):n.slice()},i.tickFormat=function(e,n){return fC(t[0],ti(t),null==e?10:e,n)},i.copy=function(){return e().domain(i.domain()).range(i.range())},i},[da,dl]),dg(de,ca,da),dg(dn,df,da),dg(dt,function(){return function e(t){let n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return e(n())},t}(df().paddingInner(1))},da);let dv=["clamp","base","constant","exponent"];function db(e,t){let n=t[0],i=ti(t)-n;return function(t){return e(n+t*i)}}function dx(e,t,n){return cU.piecewise(dk(t||"rgb",n),e)}function d_(e,t){let n=Array(t),i=t+1;for(let r=0;re[t]?a[t](e[t]()):0),a):tD(.5)}function dk(e,t){let n=cU["interpolate"+e.toLowerCase().split("-").map(e=>e[0].toUpperCase()+e.slice(1)).join("")];return null!=t&&n&&n.gamma?n.gamma(t):n}function dE(e){if(e9(e))return e;let t=e.length/6|0,n=Array(t);for(let i=0;i1)?(dA[e]=t,this):dA[e]}d$({accent:cK,category10:cZ,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:cQ,observable10:cJ,paired:cX,pastel1:cV,pastel2:cY,set1:cG,set2:cH,set3:cW,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},dE),d$({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>dx(dE(e)));let dM="symbol",dC=e=>e9(e)?e.map(e=>String(e)):String(e),dD=(e,t)=>e[1]-t[1],dF=(e,t)=>t[1]-e[1];function dO(e,t,n){let i;return tW(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),null!=n&&(t=Math.min(t,Math.floor(tK(e.domain())/n||1)+1))),e7(t)&&(i=t.step,t=t.interval),tG(t)&&(t=e.type===c5?iW(t):"utc"==e.type?iH(t):eJ("Only time and utc scales accept interval strings."),i&&(t=t.every(i))),t}function dN(e,t,n){let i=e.range(),r=i[0],a=ti(i),o=dD;if(r>a&&(i=a,a=r,r=i,o=dF),r=Math.floor(r),a=Math.ceil(a),t=t.map(t=>[t,e(t)]).filter(e=>r<=e[1]&&e[1]<=a).sort(o).map(e=>e[0]),n>0&&t.length>1){let e=[t[0],ti(t)];for(;t.length>n&&t.length>=3;)t=t.filter((e,t)=>!(t%2));t.length<3&&(t=e)}return t}function dT(e,t){return e.bins?dN(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function dz(e,t,n,i,r,a){let o=t.type,l=dC;if(o===c5||r===c5)l=e.timeFormat(i);else if("utc"===o||"utc"===r)l=e.utcFormat(i);else if(dy(o,"log")){let r=e.formatFloat(i);if(a||t.bins)l=r;else{let e=dR(t,n,!1);l=t=>e(t)?r(t):""}}else if(t.tickFormat){let r=t.domain();l=e.formatSpan(r[0],r[r.length-1],n,i)}else i&&(l=e.format(i));return l}function dR(e,t,n){let i=dT(e,t),r=e.base(),a=Math.log(r),o=Math.max(1,r*t/i.length),l=e=>{let t=e/Math.pow(r,Math.round(Math.log(e)/a));return t*r1?i[1]-i[0]:i[0],o;for(o=1;o(t,n,i)=>{let r=dU(i[n+1],dU(i.max,Infinity)),a=dH(t,e),o=dH(r,e);return a&&o?a+" – "+o:o?"< "+o:"≥ "+a},dU=(e,t)=>null!=e?e:t,dq=e=>(t,n)=>n?e(t):null,dW=e=>t=>e(t),dH=(e,t)=>Number.isFinite(e)?t(e):null;function dG(e,t,n){var i,r,a,o;let l,s=Math.max(3,(n=n||{}).maxlen||7),u=(i=e,r=t,a=n.format,l=(o=n.formatType)||r.type,tG(a)&&dy(l,du)&&(a=a.replace(/%a/g,"%A").replace(/%b/g,"%B")),a||l!==c5?a||"utc"!==l?dI(i,r,5,null,a,o,!0):i.utcFormat("%A, %d %B %Y, %X UTC"):i.timeFormat("%A, %d %B %Y, %X"));if(dy(t.type,dl)){let e=dP(t).slice(1).map(u),n=e.length;return`${n} boundar${1===n?"y":"ies"}: ${e.join(", ")}`}if(dy(t.type,da)){let e=t.domain(),n=e.length,i=n>s?e.slice(0,s-2).map(u).join(", ")+", ending with "+e.slice(-1).map(u):e.map(u).join(", ");return`${n} value${1===n?"":"s"}: ${i}`}{let e=t.domain();return`values from ${u(e[0])} to ${u(ti(e))}`}}let dY=0;function dV(e){return e&&e.gradient}function dX(e,t,n){let i=e.gradient,r=e.id,a="radial"===i?"p_":"";return r||(r=e.id="gradient_"+dY++,"radial"===i?(e.x1=dJ(e.x1,.5),e.y1=dJ(e.y1,.5),e.r1=dJ(e.r1,0),e.x2=dJ(e.x2,.5),e.y2=dJ(e.y2,.5),e.r2=dJ(e.r2,.5),a="p_"):(e.x1=dJ(e.x1,0),e.y1=dJ(e.y1,0),e.x2=dJ(e.x2,1),e.y2=dJ(e.y2,0))),t[r]=e,"url("+(n||"")+"#"+a+r+")"}function dJ(e,t){return null!=e?e:t}function dQ(e,t){var n,i=[];return n={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:i,stop:function(e,t){return i.push({offset:e,color:t}),n}}}let dZ={basis:{curve:function(e){return new s9(e)}},"basis-closed":{curve:function(e){return new un(e)}},"basis-open":{curve:function(e){return new ut(e)}},bundle:{curve:ue,tension:"beta",value:.85},cardinal:{curve:sB,tension:"tension",value:0},"cardinal-open":{curve:sI,tension:"tension",value:0},"cardinal-closed":{curve:s5,tension:"tension",value:0},"catmull-rom":{curve:s0,tension:"alpha",value:.5},"catmull-rom-closed":{curve:s4,tension:"alpha",value:.5},"catmull-rom-open":{curve:s2,tension:"alpha",value:.5},linear:{curve:sz},"linear-closed":{curve:function(e){return new sN(e)}},monotone:{horizontal:function(e){return new sD(e)},vertical:function(e){return new sC(e)}},natural:{curve:function(e){return new sE(e)}},step:{curve:function(e){return new sk(e,.5)}},"step-after":{curve:function(e){return new sk(e,1)}},"step-before":{curve:function(e){return new sk(e,0)}}};function dK(e,t,n){var i=tz(dZ,e)&&dZ[e],r=null;return i&&(r=i.curve||i[t||"vertical"],i.tension&&null!=n&&(r=r[i.tension](n))),r}let d0={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},d1=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,d2=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,d3=/^((\s+,?\s*)|(,\s*))/,d5=/^[01]/;function d6(e){let t=[];return(e.match(d1)||[]).forEach(e=>{let n=e[0],i=n.toLowerCase(),r=d0[i],a=function(e,t,n){let i=[];for(let r=0;t&&r1&&(n*=m=Math.sqrt(m),i*=m);let g=d/n,y=c/n,v=-c/i,b=d/i,x=g*l+y*s,_=v*l+b*s,w=g*e+y*t,k=v*e+b*t,E=1/((w-x)*(w-x)+(k-_)*(k-_))-.25;E<0&&(E=0);let $=Math.sqrt(E);a==r&&($=-$);let A=.5*(x+w)-$*(k-_),S=.5*(_+k)+$*(w-x),M=Math.atan2(_-S,x-A),C=Math.atan2(k-S,w-A)-M;C<0&&1===a?C+=d9:C>0&&0===a&&(C-=d9);let D=Math.ceil(Math.abs(C/(d8+.001))),F=[];for(let e=0;e+e}function hp(e,t,n){return Math.max(t,Math.min(e,n))}function hm(){var e=hu,t=hf,n=hc,i=hd,r=hh(0),a=r,o=r,l=r,s=null;function u(u,f,c){var d,h=null!=f?f:+e.call(this,u),p=null!=c?c:+t.call(this,u),m=+n.call(this,u),g=+i.call(this,u),y=Math.min(m,g)/2,v=hp(+r.call(this,u),0,y),b=hp(+a.call(this,u),0,y),x=hp(+o.call(this,u),0,y),_=hp(+l.call(this,u),0,y);if(s||(s=d=uu()),v<=0&&b<=0&&x<=0&&_<=0)s.rect(h,p,m,g);else{var w=h+m,k=p+g;s.moveTo(h+v,p),s.lineTo(w-b,p),s.bezierCurveTo(w-.448084975506*b,p,w,p+.448084975506*b,w,p+b),s.lineTo(w,k-_),s.bezierCurveTo(w,k-.448084975506*_,w-.448084975506*_,k,w-_,k),s.lineTo(h+x,k),s.bezierCurveTo(h+.448084975506*x,k,h,k-.448084975506*x,h,k-x),s.lineTo(h,p+v),s.bezierCurveTo(h,p+.448084975506*v,h+.448084975506*v,p,h+v,p),s.closePath()}if(d)return s=null,d+""||null}return u.x=function(t){return arguments.length?(e=hh(t),u):e},u.y=function(e){return arguments.length?(t=hh(e),u):t},u.width=function(e){return arguments.length?(n=hh(e),u):n},u.height=function(e){return arguments.length?(i=hh(e),u):i},u.cornerRadius=function(e,t,n,i){return arguments.length?(r=hh(e),a=null!=t?hh(t):r,l=null!=n?hh(n):r,o=null!=i?hh(i):a,u):r},u.context=function(e){return arguments.length?(s=null==e?null:e,u):s},u}function hg(){var e,t,n,i,r,a,o,l,s=null;function u(u){var f,c,d,h=u.length,p=!1;for(null==s&&(s=d=uu()),f=0;f<=h;++f)!(fe.x||0,hb=e=>e.y||0,hx=e=>!1!==e.defined,h_=(function(){var e=uc,t=ud,n=ui(0),i=null,r=uh,a=up,o=um,l=null,s=uf(u);function u(){var u,f,c=+e.apply(this,arguments),d=+t.apply(this,arguments),h=r.apply(this,arguments)-sX,p=a.apply(this,arguments)-sX,m=sj(p-h),g=p>h;if(l||(l=u=s()),d1e-12)if(m>sJ-1e-12)l.moveTo(d*sq(h),d*sG(h)),l.arc(0,0,d,h,p,!g),c>1e-12&&(l.moveTo(c*sq(p),c*sG(p)),l.arc(0,0,c,p,h,g));else{var y,v,b=h,x=p,_=h,w=p,k=m,E=m,$=o.apply(this,arguments)/2,A=$>1e-12&&(i?+i.apply(this,arguments):sY(c*c+d*d)),S=sH(sj(d-c)/2,+n.apply(this,arguments)),M=S,C=S;if(A>1e-12){var D=sQ(A/c*sG($)),F=sQ(A/d*sG($));(k-=2*D)>1e-12?(D*=g?1:-1,_+=D,w-=D):(k=0,_=w=(h+p)/2),(E-=2*F)>1e-12?(F*=g?1:-1,b+=F,x-=F):(E=0,b=x=(h+p)/2)}var O=d*sq(b),N=d*sG(b),T=c*sq(w),z=c*sG(w);if(S>1e-12){var R,L=d*sq(x),B=d*sG(x),P=c*sq(_),I=c*sG(_);if(m1?0:j<-1?sV:Math.acos(j))/2),Y=sY(R[0]*R[0]+R[1]*R[1]);M=sH(S,(c-Y)/(G-1)),C=sH(S,(d-Y)/(G+1))}else M=C=0}E>1e-12?C>1e-12?(y=ug(P,I,O,N,d,C,g),v=ug(L,B,T,z,d,C,g),l.moveTo(y.cx+y.x01,y.cy+y.y01),C1e-12&&k>1e-12?M>1e-12?(y=ug(T,z,L,B,c,-M,g),v=ug(O,N,P,I,c,-M,g),l.lineTo(y.cx+y.x01,y.cy+y.y01),Me.startAngle||0).endAngle(e=>e.endAngle||0).padAngle(e=>e.padAngle||0).innerRadius(e=>e.innerRadius||0).outerRadius(e=>e.outerRadius||0).cornerRadius(e=>e.cornerRadius||0),hw=u_().x(hv).y1(hb).y0(e=>(e.y||0)+(e.height||0)).defined(hx),hk=u_().y(hb).x1(hv).x0(e=>(e.x||0)+(e.width||0)).defined(hx),hE=ux().x(hv).y(hb).defined(hx),h$=hm().x(hv).y(hb).width(e=>e.width||0).height(e=>e.height||0).cornerRadius(e=>hy(e.cornerRadiusTopLeft,e.cornerRadius)||0,e=>hy(e.cornerRadiusTopRight,e.cornerRadius)||0,e=>hy(e.cornerRadiusBottomRight,e.cornerRadius)||0,e=>hy(e.cornerRadiusBottomLeft,e.cornerRadius)||0),hA=(function(e,t){let n=null,i=uf(r);function r(){let r;if(n||(n=r=i()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),r)return n=null,r+""||null}return e="function"==typeof e?e:ui(e||uw),t="function"==typeof t?t:ui(void 0===t?64:+t),r.type=function(t){return arguments.length?(e="function"==typeof t?t:ui(t),r):e},r.size=function(e){return arguments.length?(t="function"==typeof e?e:ui(+e),r):t},r.context=function(e){return arguments.length?(n=null==e?null:e,r):n},r})().type(e=>hl(e.shape||"circle")).size(e=>hy(e.size,64)),hS=hg().x(hv).y(hb).defined(hx).size(e=>e.size||1);function hM(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function hC(e,t,n,i){return h$.context(e)(t,n,i)}var hD=1;function hF(e,t,n){var i=t.clip,r=e._defs,a=t.clip_id||(t.clip_id="clip"+hD++),o=r.clipping[a]||(r.clipping[a]={id:a});return tE(i)?o.path=i(null):hM(n)?o.path=hC(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function hO(e){this.clear(),e&&this.union(e)}function hN(e){this.mark=e,this.bounds=this.bounds||new hO}function hT(e){hN.call(this,e),this.items=this.items||[]}hO.prototype={clone(){return new hO(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,i){return nthis.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let i=this.rotatedPoints(e,t,n);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},rotatedPoints(e,t,n){var{x1:i,y1:r,x2:a,y2:o}=this,l=Math.cos(e),s=Math.sin(e),u=t-t*l+n*s,f=n-t*s-n*l;return[l*i-s*r+u,s*i+l*r+f,l*i-s*o+u,s*i+l*o+f,l*a-s*r+u,s*a+l*r+f,l*a-s*o+u,s*a+l*o+f]},union(e){return e.x1this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2e.x2||this.y2e.y2)},contains(e,t){return!(ethis.x2||tthis.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},tP(hT,hN);class hz{constructor(e){this._pending=0,this._loader=e||aW()}pending(){return this._pending}sanitizeURL(e){let t=this;return hR(t),t._loader.sanitize(e,{context:"href"}).then(e=>(hL(t),e)).catch(()=>(hL(t),null))}loadImage(e){let t=this,n="u">typeof Image?Image:null;return hR(t),t._loader.sanitize(e,{context:"image"}).then(e=>{let i=e.href;if(!i||!n)throw{url:i};let r=new n,a=tz(e,"crossOrigin")?e.crossOrigin:"anonymous";return null!=a&&(r.crossOrigin=a),r.onload=()=>hL(t),r.onerror=()=>hL(t),r.src=i,r}).catch(e=>(hL(t),{complete:!1,width:0,height:0,src:e&&e.url||""}))}ready(){let e=this;return new Promise(t=>{!function n(i){e.pending()?setTimeout(()=>{n(!0)},10):t(i)}(!1)})}}function hR(e){e._pending+=1}function hL(e){e._pending-=1}function hB(e,t,n){if(t.stroke&&0!==t.opacity&&0!==t.strokeOpacity){var i,r;let a=null!=t.strokeWidth?+t.strokeWidth:1;e.expand(a+(n?(i=t,r=a,i.strokeJoin&&"miter"!==i.strokeJoin?0:r):0))}return e}let hP=d9-1e-8,hI=(e,t)=>{let n,o;return n=r=e,o=a=t,i.add(n,o)},hj=e=>{let t;return t=i.y1,i.add(e,t)},hU=e=>{let t;return t=i.x1,i.add(t,e)},hq=(e,t)=>l*e+u*t,hW=(e,t)=>s*e+f*t,hH=(e,t)=>{let n,r;return n=hq(e,t),r=hW(e,t),i.add(n,r)},hG=(e,t)=>hI(hq(e,t),hW(e,t));function hY(e,t){return i=e,t?(l=f=Math.cos(o=t*d4),u=-(s=Math.sin(o))):(l=f=1,o=s=u=0),hV}let hV={beginPath(){},closePath(){},moveTo:hG,lineTo:hG,rect(e,t,n,r){if(o)hH(e+n,t),hH(e+n,t+r),hH(e,t+r),hG(e,t);else{let a,o;a=e+n,o=t+r,i.add(a,o),hI(e,t)}},quadraticCurveTo(e,t,n,i){let o=hq(e,t),l=hW(e,t),s=hq(n,i),u=hW(n,i);hX(r,o,s,hj),hX(a,l,u,hU),hI(s,u)},bezierCurveTo(e,t,n,i,o,l){let s=hq(e,t),u=hW(e,t),f=hq(n,i),c=hW(n,i),d=hq(o,l),h=hW(o,l);hJ(r,s,f,d,hj),hJ(a,u,c,h,hU),hI(d,h)},arc(e,t,n,l,s,u){if(l+=o,s+=o,r=n*Math.cos(s)+e,a=n*Math.sin(s)+t,Math.abs(s-l)>hP)i.add(e-n,t-n),i.add(e+n,t+n);else{let r,a,o=r=>{let a,o;return a=n*Math.cos(r)+e,o=n*Math.sin(r)+t,i.add(a,o)};if(o(l),o(s),s!==l)if((l%=d9)<0&&(l+=d9),(s%=d9)<0&&(s+=d9),ss;++a,r-=d8)o(r);else for(a=0,r=l-l%d8+d8;a<4&&r1e-14?(f=o*o+l*a)>=0&&(s=(-o+(f=Math.sqrt(f)))/a,u=(-o-f)/a):s=.5*l/o,0Math.abs(h)&&p<0)return!1;if(m=p/h,h<0)if(m>d)return!1;else m>c&&(c=m);else if(h>0)if(m0&&(e.globalAlpha=n,e.fillStyle=h9(e,t,t.fill),!0)}var pe=[];function pt(e,t,n){var i=null!=(i=t.strokeWidth)?i:1;return!(i<=0)&&(n*=null==t.strokeOpacity?1:t.strokeOpacity)>0&&(e.globalAlpha=n,e.strokeStyle=h9(e,t,t.stroke),e.lineWidth=i,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||pe),e.lineDashOffset=t.strokeDashOffset||0),!0)}function pn(e,t){return e.zindex-t.zindex||e.index-t.index}function pi(e){if(!e.zdirty)return e.zitems;var t,n,i,r=e.items,a=[];for(n=0,i=r.length;n=0;)if(n=t(r[i]))return n;if(r===a){for(i=(r=e.items).length;--i>=0;)if(!r[i].zindex&&(n=t(r[i])))return n}return null}function po(e){return function(t,n,i){pr(n,n=>{(!i||i.intersects(n.bounds))&&pl(e,t,n,n)})}}function pl(e,t,n,i){var r=null==n.opacity?1:n.opacity;0===r||!e(t,i)&&(h6(t,n),n.fill&&h7(t,n,r)&&t.fill(),n.stroke&&pt(t,n,r)&&t.stroke())}function ps(e){return e=e||e3,function(t,n,i,r,a,o){return i*=t.pixelRatio,r*=t.pixelRatio,pa(n,n=>{let l=n.bounds;if((!l||l.contains(a,o))&&l&&e(t,n,i,r,a,o))return n})}}function pu(e,t){return function(n,i,r,a){var o,l,s=Array.isArray(i)?i[0]:i,u=null==t?s.fill:t,f=s.stroke&&n.isPointInStroke;return f&&(o=s.strokeWidth,l=s.strokeCap,n.lineWidth=null!=o?o:1,n.lineCap=null!=l?l:"butt"),!e(n,i)&&(u&&n.isPointInPath(r,a)||f&&n.isPointInStroke(r,a))}}function pf(e,t){return"translate("+e+","+t+")"}function pc(e){return"rotate("+e+")"}function pd(e){return pf(e.x||0,e.y||0)}function ph(e,t,n){function i(e,n){var i=n.x||0,r=n.y||0,a=n.angle||0;e.translate(i,r),a&&e.rotate(a*=d4),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-i,-r)}return{type:e,tag:"path",nested:!1,attr:function(e,n){e("transform",pf(n.x||0,n.y||0)+(n.angle?" "+pc(n.angle):"")),e("d",t(null,n))},bound:function(e,n){return t(hY(e,n.angle),n),hB(e,n).translate(n.x||0,n.y||0)},draw:po(i),pick:ps(pu(i)),isect:n||h0(i)}}var pp=ph("arc",function(e,t){return h_.context(e)(t)});function pm(e,t,n){function i(e,n){e.beginPath(),t(e,n)}let r=pu(i);return{type:e,tag:"path",nested:!0,attr:function(e,n){var i=n.mark.items;i.length&&e("d",t(null,i))},bound:function(e,n){var i=n.items;return 0===i.length?e:(t(hY(e),i),hB(e,i[0]))},draw:function(e,t,n){t.items.length&&(!n||n.intersects(t.bounds))&&pl(i,e,t.items[0],t.items)},pick:function(e,t,n,i,a,o){var l=t.items,s=t.bounds;return l&&l.length&&(!s||s.contains(a,o))?(n*=e.pixelRatio,i*=e.pixelRatio,r(e,l,n,i)?l[0]:null):null},isect:h1,tip:n}}var pg=pm("area",function(e,t){let n=t[0],i=n.interpolate||"linear";return("horizontal"===n.orient?hk:hw).curve(dK(i,n.orient,n.tension)).context(e)(t)},function(e,t){for(var n,i,r="horizontal"===e[0].orient?t[1]:t[0],a="horizontal"===e[0].orient?"y":"x",o=e.length,l=Infinity;--o>=0;)!1!==e[o].defined&&(i=Math.abs(e[o][a]-r)).5&&t<1.5?.5-Math.abs(t-1):0}function pb(e,t){let n=pv(t);e("d",hC(null,t,n,n))}function px(e,t,n,i){let r=pv(t);e.beginPath(),hC(e,t,(n||0)+r,(i||0)+r)}let p_=pu(px),pw=pu(px,!1),pk=pu(px,!0);var pE={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function p$(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(t=>{e.image=t,e.image.url=e.url})),n}function pA(e,t){return null!=e.width?e.width:t&&t.width?!1!==e.aspect&&e.height?e.height*t.width/t.height:t.width:0}function pS(e,t){return null!=e.height?e.height:t&&t.height?!1!==e.aspect&&e.width?e.width*t.height/t.width:t.height:0}function pM(e,t){return"center"===e?t/2:"right"===e?t:0}function pC(e,t){return"middle"===e?t/2:"bottom"===e?t:0}var pD={type:"image",tag:"image",nested:!1,attr:function(e,t,n){let i=p$(t,n),r=pA(t,i),a=pS(t,i),o=(t.x||0)-pM(t.align,r),l=(t.y||0)-pC(t.baseline,a);e("href",!i.src&&i.toDataURL?i.toDataURL():i.src||"",pE["xmlns:xlink"],"xlink:href"),e("transform",pf(o,l)),e("width",r),e("height",a),e("preserveAspectRatio",!1===t.aspect?"none":"xMidYMid")},bound:function(e,t){let n=t.image,i=pA(t,n),r=pS(t,n),a=(t.x||0)-pM(t.align,i),o=(t.y||0)-pC(t.baseline,r);return e.set(a,o,a+i,o+r)},draw:function(e,t,n){pr(t,t=>{if(n&&!n.intersects(t.bounds))return;let i=p$(t,this),r=pA(t,i),a=pS(t,i);if(0===r||0===a)return;let o=(t.x||0)-pM(t.align,r),l=(t.y||0)-pC(t.baseline,a),s,u,f,c;!1!==t.aspect&&(u=i.width/i.height,f=t.width/t.height,u==u&&f==f&&u!==f&&(f=0;)if(!1!==e[a].defined&&(n=e[a].x-t[0])*n+(i=e[a].y-t[1])*i{if(!n||n.intersects(t.bounds)){var i=null==t.opacity?1:t.opacity;i&&pR(e,t,i)&&(h6(e,t),e.stroke())}})},pick:ps(function(e,t,n,i){return!!e.isPointInStroke&&pR(e,t,1)&&e.isPointInStroke(n,i)}),isect:h3},pB=ph("shape",function(e,t){return(t.mark.shape||t.shape).context(e)(t)}),pP=ph("symbol",function(e,t){return hA.context(e)(t)},h1);let pI=tX();var pj={height:pY,measureWidth:pH,estimateWidth:pq,width:pq,canvas:pU};function pU(e){pj.width=e&&hZ?pH:pq}function pq(e,t){return pW(pQ(e,t),pY(e))}function pW(e,t){return~~(.8*e.length*t)}function pH(e,t){return!(0>=pY(e))&&(t=pQ(e,t))?pG(t,pK(e)):0}function pG(e,t){let n=`(${t}) ${e}`,i=pI.get(n);return void 0===i&&(hZ.font=t,i=hZ.measureText(e).width,pI.set(n,i)),i}function pY(e){return null!=e.fontSize?+e.fontSize||0:11}function pV(e){return null!=e.lineHeight?e.lineHeight:pY(e)+2}function pX(e){var t;return t=e.lineBreak&&e.text&&!e9(e.text)?e.text.split(e.lineBreak):e.text,e9(t)?t.length>1?t:t[0]:t}function pJ(e){let t=pX(e);return(e9(t)?t.length-1:0)*pV(e)}function pQ(e,t){let n=null==t?"":(t+"").trim();return e.limit>0&&n.length?function(e,t){var n=+e.limit,i=function(e){if(pj.width===pH){let t=pK(e);return e=>pG(e,t)}if(pj.width!==pq)return t=>pj.width(e,t);{let t=pY(e);return e=>pW(e,t)}}(e);if(i(t)>>1,i(t.slice(r))>n?l=r+1:s=r;return a+t.slice(l)}for(;l>>1),i(t.slice(0,r))Math.max(e,pj.width(t,n)),0)):i=pj.width(t,c),"center"===a?u-=i/2:"right"===a&&(u-=i),e.set(u+=l,f+=s,u+i,f+r),t.angle&&!n)e.rotate(t.angle*d4,l,s);else if(2===n)return e.rotatedPoints(t.angle*d4,l,s);return e}var p6={arc:pp,area:pg,group:{type:"group",tag:"g",nested:!1,attr:function(e,t){e("transform",pd(t))},bound:function(e,t){if(!t.clip&&t.items){let n=t.items,i=n.length;for(let t=0;t{let r=t.x||0,a=t.y||0,o=t.strokeForeground,l=null==t.opacity?1:t.opacity;(t.stroke||t.fill)&&l&&(px(e,t,r,a),h6(e,t),t.fill&&h7(e,t,l)&&e.fill(),t.stroke&&!o&&pt(e,t,l)&&e.stroke()),e.save(),e.translate(r,a),t.clip&&py(e,t),n&&n.translate(-r,-a),pr(t,t=>{("group"===t.marktype||null==i||i.includes(t.marktype))&&this.draw(e,t,n,i)}),n&&n.translate(r,a),e.restore(),o&&t.stroke&&l&&(px(e,t,r,a),h6(e,t),pt(e,t,l)&&e.stroke())})},pick:function(e,t,n,i,r,a){if(t.bounds&&!t.bounds.contains(r,a)||!t.items)return null;let o=n*e.pixelRatio,l=i*e.pixelRatio;return pa(t,s=>{let u,f,c,d=s.bounds;if(d&&!d.contains(r,a))return;f=s.x||0,c=s.y||0;let h=f+(s.width||0),p=c+(s.height||0),m=s.clip;if(m&&(rh||ap))return;if(e.save(),e.translate(f,c),f=r-f,c=a-c,m&&hM(s)&&!pk(e,s,o,l))return e.restore(),null;let g=s.strokeForeground,y=!1!==t.interactive;return y&&g&&s.stroke&&pw(e,s,o,l)?(e.restore(),s):(!(u=pa(s,e=>{var t,r,a;return(t=e,r=f,a=c,(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(r,a))?this.pick(e,n,i,f,c):null}))&&y&&(s.fill||!g&&s.stroke)&&p_(e,s,o,l)&&(u=s),e.restore(),u||null)})},isect:h2,content:function(e,t,n){e("clip-path",t.clip?hF(n,t,t):null)},background:function(e,t){e("class","background"),e("aria-hidden",!0),pb(e,t)},foreground:function(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?pb(e,t):e("d","")}},image:pD,line:pF,path:pN,rect:pz,rule:pL,shape:pB,symbol:pP,text:{type:"text",tag:"text",nested:!1,attr:function(e,t){var n,i=t.dx||0,r=(t.dy||0)+p0(t),a=p3(t),o=a.x1,l=a.y1,s=t.angle||0;e("text-anchor",p1[t.align]||"start"),s?(n=pf(o,l)+" "+pc(s),(i||r)&&(n+=" "+pf(i,r))):n=pf(o+i,l+r),e("transform",n)},bound:p5,draw:function(e,t,n){pr(t,t=>{var i,r,a,o,l,s,u,f=null==t.opacity?1:t.opacity;if((!n||n.intersects(t.bounds))&&0!==f&&!(t.fontSize<=0)&&null!=t.text&&0!==t.text.length){if(e.font=pK(t),e.textAlign=t.align||"left",r=(i=p3(t)).x1,a=i.y1,t.angle&&(e.save(),e.translate(r,a),e.rotate(t.angle*d4),r=a=0),r+=t.dx||0,a+=(t.dy||0)+p0(t),s=pX(t),h6(e,t),e9(s))for(o=0,l=pV(t);o=0;)if(!1!==e[r].defined&&(n=e[r].x-t[0])*n+(i=e[r].y-t[1])*i<(n=e[r].size||1)*n)return e[r];return null})};function p4(e,t,n){var i=p6[e.mark.marktype],r=t||i.bound;return i.nested&&(e=e.mark),r(e.bounds||(e.bounds=new hO),e,n)}var p8={mark:null};function p9(e,t,n){var i,r,a,o,l=p6[e.marktype],s=l.bound,u=e.items,f=u&&u.length;if(l.nested)return f?a=u[0]:(p8.mark=e,a=p8),o=p4(a,s,n),t=t&&t.union(o)||o;if(t=t||e.bounds&&e.bounds.clear()||new hO,f)for(i=0,r=u.length;itypeof document&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function ma(e,t){t=t.toLowerCase();for(var n=e.childNodes,i=0,r=n.length;it;)e.removeChild(n[--i]);return e}function ms(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function mu(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}class mf{constructor(e,t){this._active=null,this._handlers={},this._loader=e||aW(),this._tooltip=t||mc}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let i=e?e.length:0;--i>=0;)if(e[i].type===t&&(!n||e[i].handler===n))return i;return -1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let e in t)n.push(...t[e]);return n}eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(t=>{let n=new MouseEvent(e.type,e),i=mr(null,"a");for(let e in t)i.setAttribute(e,t[e]);i.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&null!=t.tooltip){t=function(e,t,n,i){var r,a,o=e&&e.mark;if(o&&(r=p6[o.marktype]).tip){for(a=mu(t,n),a[0]-=i[0],a[1]-=i[1];e=e.mark.group;)a[0]-=e.x||0,a[1]-=e.y||0;e=r.tip(o.items,a)}return e}(t,e,this.canvas(),this._origin);let i=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,i)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),i=this._origin,r=e.bounds,a=r.width(),o=r.height(),l=r.x1+i[0]+n.left,s=r.y1+i[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,s+=e.y||0;return{x:l,y:s,width:a,height:o,left:l,top:s,right:l+a,bottom:s+o}}}function mc(e,t,n,i){e.element().setAttribute("title",i||"")}class md{constructor(e){this._el=null,this._bgcolor=null,this._loader=new hz(e)}initialize(e,t,n,i,r){return this._el=e,this.resize(t,n,i,r)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return 0==arguments.length?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,i){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=i||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,i=n._loader[e](t);if(!n._ready){let e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return i}sanitizeURL(e){return this._load("sanitizeURL",e)}loadImage(e){return this._load("loadImage",e)}}let mh="dragenter",mp="dragleave",mm="dragover",mg="pointerdown",my="pointermove",mv="pointerout",mb="pointerover",mx="mousedown",m_="mousemove",mw="mouseout",mk="mouseover",mE="click",m$="mousewheel",mA="touchstart",mS="touchmove",mM="touchend",mC=["keydown","keypress","keyup",mh,mp,mm,mg,"pointerup",my,mv,mb,mx,"mouseup",m_,mw,mk,mE,"dblclick","wheel",m$,mA,mS,mM];class mD extends mf{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=mC,this.pointermove=mN([my,m_],[mb,mk],[mv,mw]),this.dragover=mN([mm],[mh],[mp]),this.pointerout=mT([mv,mw]),this.dragleave=mT([mp])}initialize(e,t,n){return this._canvas=e&&ma(e,"canvas"),[mE,mx,mg,my,mv,mp].forEach(e=>mF(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(e){this.fire(m$,e)}pointerdown(e){this._down=this._active,this.fire(mg,e)}mousedown(e){this._down=this._active,this.fire(mx,e)}click(e){this._down===this._active&&(this.fire(mE,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(mA,e,!0)}touchmove(e){this.fire(mS,e,!0)}touchend(e){this.fire(mM,e,!0),this._touch=null}fire(e,t,n){let i=n?this._touch:this._active,r=this._handlers[e];if(t.vegaType=e,e===mE&&i&&i.href?this.handleHref(t,i,i.href):(e===my||e===mw)&&this.handleTooltip(t,i,e!==mw),r)for(let e=0,n=r.length;ethis._handlerIndex(i[n],e,t)&&(mF(this,e),(i[n]||(i[n]=[])).push({type:e,handler:t})),this}off(e,t){let n=this.eventName(e),i=this._handlers[n],r=this._handlerIndex(i,e,t);return r>=0&&i.splice(r,1),this}pickEvent(e){let t=mu(e,this._canvas),n=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-n[0],t[1]-n[1])}pick(e,t,n,i,r){let a=this.context();return p6[e.marktype].pick.call(this,a,e,t,n,i,r)}}function mF(e,t){(t===mA||t===mS||t===mM?[mA,mS,mM]:[t]).forEach(t=>{var n,i;let r;return n=e,i=t,void((r=n.canvas())&&!n._events[i]&&(n._events[i]=1,r.addEventListener(i,n[i]?e=>n[i](e):e=>n.fire(i,e))))})}function mO(e,t,n){t.forEach(t=>e.fire(t,n))}function mN(e,t,n){return function(i){let r=this._active,a=this.pickEvent(i);a===r||(r&&r.exit||mO(this,n,i),this._active=a,mO(this,t,i)),mO(this,e,i)}}function mT(e){return function(t){mO(this,e,t),this._active=null}}class mz extends md{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new hO,this._tempb=new hO}initialize(e,t,n,i,r,a){return this._options=a||{},this._canvas=this._options.externalContext?null:uk(1,1,this._options.type),e&&this._canvas&&(ml(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(e,t,n,i,r)}resize(e,t,n,i){if(super.resize(e,t,n,i),this._canvas)!function(e,t,n,i,r,a){let o="u">typeof HTMLElement&&e instanceof HTMLElement&&null!=e.parentNode,l=e.getContext("2d"),s=o?"u">typeof window&&window.devicePixelRatio||1:r;for(let i in e.width=t*s,e.height=n*s,a)l[i]=a[i];o&&1!==s&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=s,l.setTransform(s,0,0,s,s*i[0],s*i[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||eJ("CanvasRenderer is missing a valid canvas or context"),e.scale(this._scale,this._scale),e.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){var n,i,r;let a=this.context(),o=this._origin,l=this._width,s=this._height,u=this._dirty,f=mR(o,l,s);a.save();let c=this._redraw||u.empty()?(this._redraw=!1,f.expand(1)):(n=a,i=f.intersect(u),r=o,i.expand(1).round(),n.pixelRatio%1&&i.scale(n.pixelRatio).round().scale(1/n.pixelRatio),i.translate(-(r[0]%1),-(r[1]%1)),n.beginPath(),n.rect(i.x1,i.y1,i.width(),i.height()),n.clip(),i);return this.clear(-o[0],-o[1],l,s),this.draw(a,e,c,t),a.restore(),u.clear(),this}draw(e,t,n,i){var r;if("group"!==t.marktype&&null!=i&&!i.includes(t.marktype))return;let a=p6[t.marktype];t.clip&&(r=t.clip,e.save(),tE(r)?(e.beginPath(),r(e),e.clip()):py(e,t.group)),a.draw.call(this,e,t,n,i),t.clip&&e.restore()}clear(e,t,n,i){let r=this._options,a=this.context();"pdf"===r.type||r.externalContext||a.clearRect(e,t,n,i),null!=this._bgcolor&&(a.fillStyle=this._bgcolor,a.fillRect(e,t,n,i))}}let mR=(e,t,n)=>new hO().set(0,0,t,n).translate(-e[0],-e[1]);class mL extends mf{constructor(e,t){super(e,t);const n=this;n._hrefHandler=mB(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=mB(n,(e,t)=>{n.handleTooltip(e,t,e.type!==mw)})}initialize(e,t,n){let i=this._svg;return i&&(i.removeEventListener(mE,this._hrefHandler),i.removeEventListener(my,this._tooltipHandler),i.removeEventListener(mw,this._tooltipHandler)),this._svg=i=e&&ma(e,"svg"),i&&(i.addEventListener(mE,this._hrefHandler),i.addEventListener(my,this._tooltipHandler),i.addEventListener(mw,this._tooltipHandler)),super.initialize(e,t,n)}canvas(){return this._svg}on(e,t){let n=this.eventName(e),i=this._handlers;if(0>this._handlerIndex(i[n],e,t)){let r={type:e,handler:t,listener:mB(this,t)};(i[n]||(i[n]=[])).push(r),this._svg&&this._svg.addEventListener(n,r.listener)}return this}off(e,t){let n=this.eventName(e),i=this._handlers[n],r=this._handlerIndex(i,e,t);return r>=0&&(this._svg&&this._svg.removeEventListener(n,i[r].listener),i.splice(r,1)),this}}let mB=(e,t)=>n=>{let i=n.target.__data__;i=Array.isArray(i)?i[0]:i,n.vegaType=n.type,t.call(e._obj,n,i)},mP="aria-hidden",mI="aria-label",mj="role",mU="aria-roledescription",mq="graphics-object",mW="graphics-symbol",mH=(e,t,n)=>({[mj]:e,[mU]:t,[mI]:n||void 0}),mG=t6(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),mY={axis:{desc:"axis",caption:function(e){let t=e.datum,n=e.orient,i=t.title?mZ(e):null,r=e.context,a=r.scales[t.scale].value,o=r.dataflow.locale(),l=a.type;return`${"left"===n||"right"===n?"Y":"X"}-axis`+(i?` titled '${i}'`:"")+` for a ${dy(l,da)?"discrete":l} scale`+` with ${dG(o,a,e)}`}},legend:{desc:"legend",caption:function(e){var t,n;let i=e.datum,r=i.title?mZ(e):null,a=`${i.type||""} legend`.trim(),o=i.scales,l=Object.keys(o),s=e.context,u=s.scales[o[l[0]]].value,f=s.dataflow.locale();return((t=a).length?t[0].toUpperCase()+t.slice(1):t)+(r?` titled '${r}'`:"")+` for ${(n=(n=l).map(e=>e+("fill"===e||"stroke"===e?" color":""))).length<2?n[0]:n.slice(0,-1).join(", ")+" and "+ti(n)}`+` with ${dG(f,u,e)}`}},"title-text":{desc:"title",caption:e=>`Title text '${mQ(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${mQ(e)}'`}},mV={ariaRole:mj,ariaRoleDescription:mU,description:mI};function mX(e,t){let n=!1===t.aria;if(e(mP,n||void 0),n||null==t.description)for(let t in mV)e(mV[t],void 0);else{let n=t.mark.marktype;e(mI,t.description),e(mj,t.ariaRole||("group"===n?mq:mW)),e(mU,t.ariaRoleDescription||`${n} mark`)}}function mJ(e){var t;let n;return!1===e.aria?{[mP]:!0}:mG[e.role]?null:mY[e.role]?function(e,t){try{let n=e.items[0],i=t.caption||(()=>"");return mH(t.role||mW,t.desc,n.description||i(n))}catch(e){return null}}(e,mY[e.role]):mH("group"===(n=(t=e).marktype)||"text"===n||t.items.some(e=>null!=e.description&&!1!==e.aria)?mq:mW,`${n} mark container`,t.description)}function mQ(e){return tw(e.text).join(" ")}function mZ(e){try{return tw(ti(e.items).items[0].text).join(" ")}catch(e){return null}}let mK=e=>(e+"").replace(/&/g,"&").replace(//g,">");function m0(){let e="",t="",n="",i=[],r=()=>t=n="",a=(e,n)=>(null!=n&&(t+=` ${e}="${mK(n).replace(/"/g,""").replace(/\t/g," ").replace(/\n/g," ").replace(/\r/g," ")}"`),o),o={open(l,...s){for(let o of(t&&(e+=`${t}>${n}`,r()),i.push(l),t="<"+l,s))for(let e in o)a(e,o[e]);return o},close(){let a=i.pop();return t?e+=t+(n?`>${n}`:"/>"):e+=``,r(),o},attr:a,text:e=>(n+=mK(e),o),toString:()=>e};return o}let m1=e=>(function e(t,n){if(t.open(n.tagName),n.hasAttributes()){let e=n.attributes,i=e.length;for(let n=0;n{e.dirty=s})),!t.zdirty){if(e.exit){i.nested&&t.items.length?(o=t.items[0])._svg&&this._update(i,o._svg,o):e._svg&&(o=e._svg.parentNode)&&o.removeChild(e._svg),e._svg=null;continue}(e=i.nested?t.items[0]:e)._update!==s&&(e._svg&&e._svg.ownerSVGElement?this._update(i,e._svg,e):(this._dirtyAll=!1,m9(e,s)),e._update=s)}return!this._dirtyAll}mark(e,t,n,i){if(!this.isDirty(t))return t._svg;let r=this._svg,a=t.marktype,o=p6[a],l=!1===t.interactive?"none":null,s="g"===o.tag,u=m7(t,e,n,"g",r);if("group"!==a&&null!=i&&!i.includes(a))return ml(u,0),t._svg;u.setAttribute("class",ms(t));let f=mJ(t);for(let e in f)go(u,e,f[e]);s||go(u,"pointer-events",l),go(u,"clip-path",t.clip?hF(this,t,t.group):null);let c=null,d=0,h=e=>{var t,n,a,l;let f,h,p=this.isDirty(e),m=m7(e,u,c,o.tag,r);p&&(this._update(o,m,e),s&&(t=this,n=m,a=e,l=i,n=n.lastChild.previousSibling,h=0,pr(a,e=>{f=t.mark(n,e,f,l),++h}),ml(n,1+h))),c=m,++d};return o.nested?t.items.length&&h(t.items[0]):pr(t,h),ml(u,d),u}_update(e,t,n){ge=t,gt=t.__values__,mX(gi,n),e.attr(gi,n,this);let i=gn[e.type];i&&i.call(this,e,t,n),ge&&this.style(ge,n)}style(e,t){if(null!=t){for(let n in m2){let i="font"===n?pZ(t):t[n];if(i===gt[n])continue;let r=m2[n];null==i?e.removeAttribute(r):(dV(i)&&(i=dX(i,this._defs.gradient,gl())),e.setAttribute(r,i+"")),gt[n]=i}for(let n in m3)gr(e,m3[n],t[n])}}defs(){let e=this._svg,t=this._defs,n=t.el,i=0;for(let r in t.gradient)n||(t.el=n=mo(e,1,"defs",m4)),i=function(e,t,n){let i,r,a;if("radial"===t.gradient){let i=mo(e,n++,"pattern",m4);ga(i,{id:"p_"+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),ga(i=mo(i,0,"rect",m4),{width:1,height:1,fill:`url(${gl()}#${t.id})`}),ga(e=mo(e,n++,"radialGradient",m4),{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else ga(e=mo(e,n++,"linearGradient",m4),{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(i=0,r=t.stops.length;i1&&a.previousSibling!=o))&&t.insertBefore(l,n?n.nextSibling:t.firstChild),l}let ge=null,gt=null,gn={group(e,t,n){let i=ge=t.childNodes[2];gt=i.__values__,e.foreground(gi,n,this),gt=t.__values__,ge=t.childNodes[1],e.content(gi,n,this);let r=ge=t.childNodes[0];e.background(gi,n,this);let a=!1===n.mark.interactive?"none":null;if(a!==gt.events&&(go(i,"pointer-events",a),go(r,"pointer-events",a),gt.events=a),n.strokeForeground&&n.stroke){let e=n.fill;go(i,"display",null),this.style(r,n),go(r,"stroke",null),e&&(n.fill=null),gt=i.__values__,this.style(i,n),e&&(n.fill=e),ge=null}else go(i,"display","none")},image(e,t,n){!1===n.smooth?(gr(t,"image-rendering","optimizeSpeed"),gr(t,"image-rendering","pixelated")):gr(t,"image-rendering",null)},text(e,t,n){let i,r,a,o,l=pX(n);e9(l)?(i=(r=l.map(e=>pQ(n,e))).join("\n"))!==gt.text&&(ml(t,0),a=t.ownerDocument,o=pV(n),r.forEach((e,i)=>{let r=mr(a,"tspan",m4);r.__data__=n,r.textContent=e,i&&(r.setAttribute("x",0),r.setAttribute("dy",o)),t.appendChild(r)}),gt.text=i):(r=pQ(n,l))!==gt.text&&(t.textContent=r,gt.text=r),go(t,"font-family",pZ(n)),go(t,"font-size",pY(n)+"px"),go(t,"font-style",n.fontStyle),go(t,"font-variant",n.fontVariant),go(t,"font-weight",n.fontWeight)}};function gi(e,t,n){var i,r,a,o;t!==gt[e]&&(n?(i=ge,r=e,a=t,o=n,null!=a?i.setAttributeNS(o,r,a):i.removeAttributeNS(o,r)):go(ge,e,t),gt[e]=t)}function gr(e,t,n){n!==gt[t]&&(null==n?e.style.removeProperty(t):e.style.setProperty(t,n+""),gt[t]=n)}function ga(e,t){for(let n in t)go(e,n,t[n])}function go(e,t,n){null!=n?e.setAttribute(t,n):e.removeAttribute(t)}function gl(){let e;return"u"{let o=this.href(a);if(o&&e.open("a",o),e.open(i,this.attr(t,a,r,"g"!==i?i:null)),"text"===i){let t=pX(a);if(e9(t)){let n={x:0,dy:pV(a)};for(let i=0;ithis.mark(e,t)),e.close(),i&&o?(r&&(a.fill=null),a.stroke=o,e.open("path",this.attr(t,a,n.foreground,"bgrect")).close(),r&&(a.fill=r)):e.open("path",this.attr(t,a,n.foreground,"bgfore")).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):pr(t,a),e.close()}href(e){let t,n=e.href;if(n)if(t=this._hrefs&&this._hrefs[n])return t;else this.sanitizeURL(n).then(e=>{e["xlink:href"]=e.href,e.href=null,(this._hrefs||(this._hrefs={}))[n]=e});return null}attr(e,t,n,i){let r={},a=(e,t,n,i)=>{r[i||e]=t};return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),i&&function(e,t,n,i,r){let a;if(null!=t&&("bgrect"===i&&!1===n.interactive&&(e["pointer-events"]="none"),"bgfore"!==i||(!1===n.interactive&&(e["pointer-events"]="none"),e.display="none",null===t.fill))){for(let n in"image"===i&&!1===t.smooth&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),"text"===i&&(e["font-family"]=pZ(t),e["font-size"]=pY(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight),m2){let i=t[n],a=m2[n];"transparent"===i&&("fill"===a||"stroke"===a)||null!=i&&(dV(i)&&(i=dX(i,r.gradient,"")),e[a]=i)}for(let e in m3){let n=t[e];null!=n&&(a=a||[]).push(`${m3[e]}: ${n};`)}a&&(e.style=a.join(" "))}}(r,t,e,i,this._defs),r}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(0!==Object.keys(t).length+Object.keys(n).length){for(let n in e.open("defs"),t){let i=t[n],r=i.stops;"radial"===i.gradient?(e.open("pattern",{id:"p_"+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+n+")"}).close(),e.close(),e.open("radialGradient",{id:n,fx:i.x1,fy:i.y1,fr:i.r1,cx:i.x2,cy:i.y2,r:i.r2})):e.open("linearGradient",{id:n,x1:i.x1,x2:i.x2,y1:i.y1,y2:i.y2});for(let t=0;t!gu.svgMarkTypes.includes(e));this._svgRenderer.render(e,gu.svgMarkTypes),this._canvasRenderer.render(e,n)}resize(e,t,n,i){return super.resize(e,t,n,i),this._svgRenderer.resize(e,t,n,i),this._canvasRenderer.resize(e,t,n,i),this}background(e){return gu.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}}class gd extends mD{constructor(e,t){super(e,t)}initialize(e,t,n){let i=mo(mo(e,0,"div"),+!gu.svgOnTop,"div");return super.initialize(i,t,n)}}let gh="canvas",gp="hybrid",gm="none",gg={Canvas:gh,PNG:"png",SVG:"svg",Hybrid:gp,None:gm},gy={};function gv(e,t){return(e=String(e||"").toLowerCase(),arguments.length>1)?(gy[e]=t,this):gy[e]}function gb(e,t,n){let i=[],r=new hO().union(t),a=e.marktype;return a?gx(e,r,n,i):"group"===a?g_(e,r,n,i):eJ("Intersect scene must be mark node or group item.")}function gx(e,t,n,i){var r,a,o;if(r=e,a=t,o=n,r.bounds&&a.intersects(r.bounds)&&("group"===r.marktype||!1!==r.interactive&&(!o||o(r)))){let r=e.items,a=e.marktype,o=r.length,l=0;if("group"===a)for(;l=Math.abs(e-t):e&&t&&(e7(e)||e7(t))?function(e,t){var n,i,r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(r.sort(),a.sort(),i=r.length-1;i>=0;i--)if(r[i]!=a[i])return!1;for(i=r.length-1;i>=0;i--)if(!g$(e[n=r[i]],t[n],n))return!1;return typeof e==typeof t}(e,t):e==t)}function gA(e,t){return g$(d6(e),d6(t))}function gS(){hD=1,dY=0}e.s(["Bounds",0,hO,"CanvasHandler",0,mD,"CanvasRenderer",0,mz,"Gradient",0,dQ,"GroupItem",0,hT,"Handler",0,mf,"HybridHandler",0,gd,"HybridRenderer",0,gc,"Item",0,hN,"Marks",0,p6,"RenderType",0,gg,"Renderer",0,md,"ResourceLoader",0,hz,"SVGHandler",0,mL,"SVGRenderer",0,m8,"SVGStringRenderer",0,gs,"Scenegraph",0,mn,"boundClip",0,gE,"boundContext",0,hY,"boundItem",0,p4,"boundMark",0,p9,"boundStroke",0,hB,"domChild",0,mo,"domClear",0,ml,"domCreate",0,mr,"domFind",0,ma,"font",0,pK,"fontFamily",0,pZ,"fontSize",0,pY,"intersect",0,gb,"intersectBoxLine",0,h5,"intersectPath",0,h0,"intersectPoint",0,h1,"intersectRule",0,h3,"lineHeight",0,pV,"markup",0,m0,"multiLineOffset",0,pJ,"pathCurves",0,dK,"pathEqual",0,gA,"pathParse",0,d6,"pathRectangle",0,hm,"pathRender",0,hr,"pathSymbols",0,hl,"pathTrail",0,hg,"point",0,mu,"renderModule",0,gv,"resetSVGDefIds",0,gS,"sceneEqual",0,g$,"sceneFromJSON",0,mt,"scenePickVisit",0,pa,"sceneToJSON",0,me,"sceneVisit",0,pr,"sceneZOrder",0,pi,"serializeXML",0,m1,"setHybridRendererOptions",0,gf,"textMetrics",0,pj],97115);let gM="left",gC="right",gD="bottom",gF="start",gO="middle",gN="group",gT="axis",gz="title",gR="legend",gL="row-header",gB="row-footer",gP="row-title",gI="column-header",gj="column-footer",gU="column-title",gq="fit-x",gW="fit-y",gH="none",gG="each",gY="flush",gV="column";function gX(e){ob.call(this,null,e)}function gJ(e,t,n){return t(e.bounds.clear(),e,n)}tP(gX,ob,{transform(e,t){let n=t.dataflow,i=e.mark,r=i.marktype,a=p6[r],o=a.bound,l=i.bounds,s;if(a.nested)i.items.length&&n.dirty(i.items[0]),l=gJ(i,o),i.items.forEach(e=>{e.bounds.clear().union(l)});else if(r===gN||e.modified())switch(t.visit(t.MOD,e=>n.dirty(e)),l.clear(),i.items.forEach(e=>l.union(gJ(e,o))),i.role){case gT:case gR:case gz:t.reflow()}else s=t.changed(t.REM),t.visit(t.ADD,e=>{l.union(gJ(e,o))}),t.visit(t.MOD,e=>{s=s||l.alignsWith(e.bounds),n.dirty(e),l.union(gJ(e,o))}),s&&(l.clear(),i.items.forEach(e=>l.union(e.bounds)));return gE(i),t.modifies("bounds")}});let gQ=":vega_identifier:";function gZ(e){ob.call(this,0,e)}function gK(e){ob.call(this,null,e)}function g0(e){ob.call(this,null,e)}gZ.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},tP(gZ,ob,{transform(e,t){var n;let i=(n=t.dataflow)._signals[gQ]||(n._signals[gQ]=n.add(0)),r=e.as,a=i.value;return t.visit(t.ADD,e=>e[r]=e[r]||++a),i.set(this.value=a),t}}),tP(gK,ob,{transform(e,t){var n;let i,r,a=this.value;a||((a=t.dataflow.scenegraph().mark(e.markdef,(i=(n=e).groups,r=n.parent,i&&1===i.size?i.get(Object.keys(i.object)[0]):i&&r?i.lookup(r):null),e.index)).group.context=e.context,e.context.group||(e.context.group=a.group),a.source=this.source,a.clip=e.clip,a.interactive=e.interactive,this.value=a);let o=a.marktype===gN?hT:hN;return t.visit(t.ADD,e=>o.call(e,a)),(e.modified("clip")||e.modified("interactive"))&&(a.clip=e.clip,a.interactive=!!e.interactive,a.zdirty=!0,t.reflow()),a.items=t.source,t}});let g1={parity:e=>e.filter((e,t)=>t%2?e.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((e,i)=>i&&g2(n.bounds,e.bounds,t)?e.opacity=0:(n=e,1))}},g2=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),g3=(e,t)=>{for(var n,i=1,r=e.length,a=e[0].bounds;i{let t=e.bounds;return t.width()>1&&t.height()>1},g6=e=>(e.forEach(e=>e.opacity=1),e),g4=(e,t)=>e.reflow(t.modified()).modifies("opacity");function g8(e){ob.call(this,null,e)}tP(g0,ob,{transform(e,t){let n=g1[e.method]||g1.parity,i=e.separation||0,r=t.materialize(t.SOURCE).source,a;if(!r||!r.length)return;if(!e.method)return e.modified("method")&&(g6(r),t=g4(t,e)),t;if(!(r=r.filter(g5)).length)return;if(e.sort&&(r=r.slice().sort(e.sort)),a=g6(r),t=g4(t,e),a.length>=3&&g3(a,i)){do a=n(a,i);while(a.length>=3&&g3(a,i))a.length<3&&!ti(r).opacity&&(a.length>1&&(ti(a).opacity=0),ti(r).opacity=1)}if(e.boundScale&&e.boundTolerance>=0){var o,l,s,u,f;o=e.boundScale,l=e.boundOrient,s=+e.boundTolerance,u=o.range(),f=new hO,"top"===l||l===gD?f.set(u[0],-1/0,u[1],Infinity):f.set(-1/0,u[0],Infinity,u[1]),f.expand(s||1),r.forEach(e=>{f.encloses(e.bounds)||(e.opacity=0)})}let c=a[0].mark.bounds.clear();return r.forEach(e=>{e.opacity&&c.union(e.bounds)}),t}}),tP(g8,ob,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,e=>n.dirty(e)),t.fields&&t.fields.zindex){let e=t.source&&t.source[0];e&&(e.mark.zdirty=!0)}}});let g9=new hO;function g7(e,t,n){return e[t]===n?0:(e[t]=n,1)}function ye(e,t,n,i,r,a,o,l){let s=t.bounds;if(t.auto){let l=o*(n+r+i),u=0,f=0;e.dirty(t),a?u=(t.x||0)-(t.x=l):f=(t.y||0)-(t.y=l),t.mark.bounds.clear().union(s.translate(-u,-f)),e.dirty(t)}l.union(s)}let yt=(e,t)=>Math.floor(Math.min(e,t)),yn=(e,t)=>Math.ceil(Math.max(e,t));function yi(e){return new hO().set(0,0,e.width||0,e.height||0)}function yr(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function ya(e,t,n){let i=e7(e)?e[t]:e;return null!=i?i:void 0!==n?n:0}function yo(e){return e<0?Math.ceil(-e):0}function yl(e,t,n){var i,r,a,o,l,s,u,f,c,d,h,p=!n.nodirty,m=n.bounds===gY?yi:yr,g=g9.set(0,0,0,0),y=ya(n.align,gV),v=ya(n.align,"row"),b=ya(n.padding,gV),x=ya(n.padding,"row"),_=n.columns||t.length,w=_<=0?1:Math.ceil(t.length/_),k=t.length,E=Array(k),$=Array(_),A=0,S=Array(k),M=Array(w),C=0,D=Array(k),F=Array(k),O=Array(k);for(r=0;r<_;++r)$[r]=0;for(r=0;r1)for(r=0;r0&&(D[r]+=c/2);if(v&&ya(n.center,"row")&&1!==_)for(r=0;r0&&(F[r]+=d/2);for(r=0;rr&&(e.warn("Grid headers exceed limit: "+r),t=t.slice(0,r)),E+=a,m=0,y=t.length;m=0&&null==(x=n[g]);g-=d);l?(_=null==h?x.x:Math.round(x.bounds.x1+h*x.bounds.width()),w=E):(_=E,w=null==h?x.y:Math.round(x.bounds.y1+h*x.bounds.height())),v.union(b.bounds.translate(_-(b.x||0),w-(b.y||0))),b.x=_,b.y=w,e.dirty(b),$=o($,v[u])}return $}function yc(e,t,n,i,r,a){if(t){e.dirty(t);var o=n,l=n;i?o=Math.round(r.x1+a*r.width()):l=Math.round(r.y1+a*r.height()),t.bounds.translate(o-(t.x||0),l-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=l,e.dirty(t)}}function yd(e,t,n,i,r,a,o){let l="symbol"!==e.datum.type,s=n.datum.vgrad,u=(l&&(a||!s)&&!o?t.items[0]:t).bounds[r?"y2":"x2"]-e.padding,f=r<=0?0:pJ(n);return Math.round(i===gF?s&&a?u:0:"end"===i?(s&&a?0:u)-f:.5*(u-f))}function yh(e,t,n,i){t.x+=n,t.y+=i,t.bounds.translate(n,i),t.mark.bounds.translate(n,i),e.dirty(t)}function yp(e){ob.call(this,null,e)}tP(yp,ob,{transform(e,t){var n;let i=t.dataflow;return e.mark.items.forEach(t=>{var n,r,a,o,l,s,u,f,c,d,h,p,m,g,y;let v;e.layout&&(n=e.layout,d=(c=function(e){var t,n,i=e.items,r=i.length,a=0;let o={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;a-1&&b.union(l.items[a].bounds),(a=c[1])>-1&&b.union(l.items[a].bounds),f){case"top":_=p||0,w=-h,o=Math.max(m,Math.min(g,-b.y1)),b.add(0,-o).add(d,0),y&&ye(e,y,o,v,x,0,-1,b);break;case gM:_=-h,w=p||0,o=Math.max(m,Math.min(g,-b.x1)),b.add(-o,0).add(0,d),y&&ye(e,y,o,v,x,1,-1,b);break;case gC:_=n+h,w=p||0,o=Math.max(m,Math.min(g,b.x2)),b.add(0,0).add(o,d),y&&ye(e,y,o,v,x,1,1,b);break;case gD:_=p||0,w=i+h,o=Math.max(m,Math.min(g,b.y2)),b.add(0,0).add(d,o),y&&ye(e,y,o,v,0,0,1,b);break;default:_=l.x,w=l.y}return hB(b.translate(_,w),l),g7(l,"x",_+u)|g7(l,"y",w+u)&&(l.bounds=g9,e.dirty(l),l.bounds=b,e.dirty(l)),l.mark.bounds.clear().union(b)}(e,r,u,f));break;case gz:i=r;break;case gR:p.push(function(e,t){var n,i,r=t.items[0],a=r.datum,o=r.orient,l=r.bounds,s=r.x,u=r.y;return r._bounds?r._bounds.clear().union(l):r._bounds=l.clone(),l.clear(),function(e,t,n){var i=t.padding,r=i-n.x,a=i-n.y;if(t.datum.title){var o=t.items[1].items[0],l=o.anchor,s=t.titlePadding||0,u=i-o.x,f=i-o.y;switch(o.orient){case gM:r+=Math.ceil(o.bounds.width())+s;break;case gC:case gD:break;default:a+=o.bounds.height()+s}switch((r||a)&&yh(e,n,r,a),o.orient){case gM:f+=yd(t,n,o,l,1,1);break;case gC:u+=yd(t,n,o,"end",0,0)+s,f+=yd(t,n,o,l,1,1);break;case gD:u+=yd(t,n,o,l,0,0),f+=yd(t,n,o,"end",-1,0,1)+s;break;default:u+=yd(t,n,o,l,0,0)}(u||f)&&yh(e,o,u,f),(u=Math.round(o.bounds.x1-i))<0&&(yh(e,n,-u,0),yh(e,o,-u,0))}else(r||a)&&yh(e,n,r,a)}(e,r,r.items[0].items[0]),l=function(e,t){return e.items.forEach(e=>t.union(e.bounds)),t.x1=e.padding,t.y1=e.padding,t}(r,l),n=2*r.padding,i=2*r.padding,l.empty()||(n=Math.ceil(l.width()+n),i=Math.ceil(l.height()+i)),"symbol"===a.type&&function(e){let t=e.reduce((e,t)=>(e[t.column]=Math.max(t.bounds.x2-t.x,e[t.column]||0),e),{});e.forEach(e=>{e.width=t[e.column],e.height=e.bounds.y2-e.y})}(r.items[0].items[0].items[0].items),o!==gH&&(r.x=s=0,r.y=u=0),r.width=n,r.height=i,hB(l.set(s,u,s+n,u+i),r),r.mark.bounds.clear().union(l),r}(e,r));break;case"frame":case"scope":case gL:case gB:case gP:case gI:case gj:case gU:d.union(r.bounds),h.union(r.bounds);break;default:c.union(r.bounds)}if(p.length){let t={};for(let i in p.forEach(e=>{(a=e.orient||gC)!==gH&&(t[a]||(t[a]=[])).push(e)}),t){let r=t[i];yl(e,r,function(e,t,n,i,r,a,o){var l;let s,u,f=(s=n[t]||{},(e,t)=>null!=s[e]?s[e]:null!=n[e]?n[e]:t),c=(l=f("offset",0),u=-1/0,e.forEach(e=>{null!=e.offset&&(u=Math.max(u,e.offset))}),u>-1/0?u:l),d=f("anchor",gF),h="end"===d?1:.5*(d===gO),p={align:gG,bounds:f("bounds",gY),columns:"vertical"===f("direction")?1:e.length,padding:f("margin",8),center:f("center"),nodirty:!0};switch(t){case gM:p.anchor={x:Math.floor(i.x1)-c,column:"end",y:h*(o||i.height()+2*i.y1),row:d};break;case gC:p.anchor={x:Math.ceil(i.x2)+c,y:h*(o||i.height()+2*i.y1),row:d};break;case"top":p.anchor={y:Math.floor(r.y1)-c,row:"end",x:h*(a||r.width()+2*r.x1),column:d};break;case gD:p.anchor={y:Math.ceil(r.y2)+c,x:h*(a||r.width()+2*r.x1),column:d};break;case"top-left":p.anchor={x:c,y:c};break;case"top-right":p.anchor={x:a-c,y:c,column:"end"};break;case"bottom-left":p.anchor={x:c,y:o-c,row:"end"};break;case"bottom-right":p.anchor={x:a-c,y:o-c,column:"end",row:"end"}}return p}(r,i,n.legends,d,h,u,f))}p.forEach(t=>{let i=t.bounds;if(i.equals(t._bounds)||(t.bounds=t._bounds,e.dirty(t),t.bounds=i,e.dirty(t)),n.autosize&&("fit"===n.autosize.type||n.autosize.type===gq||n.autosize.type===gW))switch(t.orient){case gM:case gC:c.add(i.x1,0).add(i.x2,0);break;case"top":case gD:c.add(0,i.y1).add(0,i.y2)}else c.union(i)})}c.union(d).union(h),i&&c.union(function(e,t,n,i,r){var a,o=t.items[0],l=o.frame,s=o.orient,u=o.anchor,f=o.offset,c=o.padding,d=o.items[0].items[0],h=o.items[1]&&o.items[1].items[0],p=s===gM||s===gC?i:n,m=0,g=0,y=0,v=0,b=0;if(l!==gN?s===gM?(m=r.y2,p=r.y1):s===gC?(m=r.y1,p=r.y2):(m=r.x1,p=r.x2):s===gM&&(m=i,p=0),a=u===gF?m:"end"===u?p:(m+p)/2,h&&h.text){switch(s){case"top":case gD:b=d.bounds.height()+c;break;case gM:v=d.bounds.width()+c;break;case gC:v=-d.bounds.width()-c}g9.clear().union(h.bounds),g9.translate(v-(h.x||0),b-(h.y||0)),g7(h,"x",v)|g7(h,"y",b)&&(e.dirty(h),h.bounds.clear().union(g9),h.mark.bounds.clear().union(g9),e.dirty(h)),g9.clear().union(h.bounds)}else g9.clear();switch(g9.union(d.bounds),s){case"top":g=a,y=r.y1-g9.height()-f;break;case gM:g=r.x1-g9.width()-f,y=a;break;case gC:g=r.x2+g9.width()+f,y=a;break;case gD:g=a,y=r.y2+f;break;default:g=o.x,y=o.y}return g7(o,"x",g)|g7(o,"y",y)&&(g9.translate(g,y),e.dirty(o),o.bounds.clear().union(g9),t.bounds.clear().union(g9),e.dirty(o)),o.bounds}(e,i,u,f,c)),t.clip&&c.set(0,0,t.width||0,t.height||0),function(e,t,n,i){let r=i.autosize||{},a=r.type;if(e._autosize<1||!a)return;let o=e._width,l=e._height,s=Math.max(0,t.width||0),u=Math.max(0,Math.ceil(-n.x1)),f=Math.max(0,t.height||0),c=Math.max(0,Math.ceil(-n.y1)),d=Math.max(0,Math.ceil(n.x2-s)),h=Math.max(0,Math.ceil(n.y2-f));if("padding"===r.contains){let t=e.padding();o-=t.left+t.right,l-=t.top+t.bottom}a===gH?(u=0,c=0,s=o,f=l):"fit"===a?(s=Math.max(0,o-u-d),f=Math.max(0,l-c-h)):a===gq?(s=Math.max(0,o-u-d),l=f+c+h):a===gW?(o=s+u+d,f=Math.max(0,l-c-h)):"pad"===a&&(o=s+u+d,l=f+c+h),e._resizeView(o,l,s,f,[u,c],r.resize)}(e,t,c,n)}(i,t,e)}),(n=e.mark.group)&&"legend-entry"!==n.mark.role?t.reflow():t}}),e.s(["bound",0,gX,"identifier",0,gZ,"mark",0,gK,"overlap",0,g0,"render",0,g8,"viewlayout",0,yp],58198);var ym=e.i(58198);function yg(e,t){let n=0;if(void 0===t)for(let t of e)(t*=1)&&(n+=t);else{let i=-1;for(let r of e)(r=+t(r,++i,e))&&(n+=r)}return n}function yy(e){ob.call(this,null,e)}function yv(e){ob.call(this,null,e)}function yb(){return aQ({})}function yx(e){ob.call(this,null,e)}function y_(e){ob.call(this,[],e)}tP(yy,ob,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),i=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=this.value,a=e.scale,o=dO(a,null==e.count?e.values?e.values.length:10:e.count,e.minstep),l=e.format||dz(n,a,o,e.formatSpecifier,e.formatType,!!e.values),s=e.values?dN(a,e.values,o):dT(a,o);return r&&(i.rem=r),r=s.map((e,t)=>aQ({index:t/(s.length-1||1),value:e,label:l(e)})),e.extra&&r.length&&r.push(aQ({index:-1,extra:{value:r[0].value},label:""})),i.source=r,i.add=r,this.value=r,i}}),tP(yv,ob,{transform(e,t){var n=t.dataflow,i=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.item||yb,a=e.key||aJ,o=this.value;if(e9(i.encode)&&(i.encode=null),o&&(e.modified("key")||t.modified(a))&&eJ("DataJoin does not support modified key function or fields."),!o){let e;t=t.addAll(),this.value=((e=tL().test(e=>e.exit)).lookup=t=>e.get(a(t)),o=e)}return t.visit(t.ADD,e=>{let t=a(e),n=o.get(t);n?n.exit?(o.empty--,i.add.push(n)):i.mod.push(n):(n=r(e),o.set(t,n),i.add.push(n)),n.datum=e,n.exit=!1}),t.visit(t.MOD,e=>{let t=a(e),n=o.get(t);n&&(n.datum=e,i.mod.push(n))}),t.visit(t.REM,e=>{let t=a(e),n=o.get(t);e===n.datum&&!n.exit&&(i.rem.push(n),n.exit=!0,++o.empty)}),t.changed(t.ADD_MOD)&&i.modifies("datum"),(t.clean()||e.clean&&o.empty>n.cleanThreshold)&&n.runAfter(o.clean),i}}),tP(yx,ob,{transform(e,t){var n=t.fork(t.ADD_REM),i=e.mod||!1,r=e.encoders,a=t.encode;if(e9(a))if(!(n.changed()||a.every(e=>r[e])))return t.StopPropagation;else a=a[0],n.encode=null;var o="enter"===a,l=r.update||e5,s=r.enter||e5,u=r.exit||e5,f=(a&&!o?r[a]:l)||e5;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{s(t,e),l(t,e)}),n.modifies(s.output),n.modifies(l.output),f!==e5&&f!==l&&(t.visit(t.ADD,t=>{f(t,e)}),n.modifies(f.output))),t.changed(t.REM)&&u!==e5&&(t.visit(t.REM,t=>{u(t,e)}),n.modifies(u.output)),o||f!==e5){let r=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(r,t=>{let r=s(t,e)||i;(f(t,e)||r)&&n.mod.push(t)}),n.mod.length&&n.modifies(s.output)):t.visit(r,t=>{(f(t,e)||i)&&n.mod.push(t)}),n.mod.length&&n.modifies(f.output)}return n.changed()?n:t.StopPropagation}}),tP(y_,ob,{transform(e,t){if(null!=this.value&&!e.modified())return t.StopPropagation;var n,i,r,a,o,l=t.dataflow.locale(),s=t.fork(t.NO_SOURCE|t.NO_FIELDS),u=this.value,f=e.type||dM,c=e.scale,d=+e.limit,h=dO(c,null==e.count?5:e.count,e.minstep),p=!!e.values||f===dM,m=e.format||dI(l,c,h,f,e.formatSpecifier,e.formatType,p),g=e.values||dP(c,h);return u&&(s.rem=u),f===dM?(d&&g.length>d?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),u=g.slice(0,d-1),o=!0):u=g,tE(r=e.size)?(e.values||0!==c(u[0])||(u=u.slice(1)),a=u.reduce((t,n)=>Math.max(t,r(n,e)),0)):r=tD(a=r||8),u=u.map((t,n)=>aQ({index:n,label:m(t,n,u),value:t,offset:a,size:r(t,e)})),o&&(o=g[u.length],u.push(aQ({index:u.length,label:`\u2026${g.length-u.length} entries`,value:o,offset:a,size:r(o,e)})))):"gradient"===f?(n=c.domain(),i=dw(c,n[0],ti(n)),g.length<3&&!e.values&&n[0]!==ti(n)&&(g=[n[0],ti(n)]),u=g.map((e,t)=>aQ({index:t,label:m(e,t,g),value:e,perc:i(e)}))):(r=g.length-1,i=function(e){let t=e.domain(),n=t.length-1,i=+t[0],r=+ti(t),a=r-i;if(e.type===c7){let e=n?a/n:.1;i-=e,r+=e,a=r-i}return e=>(e-i)/a}(c),u=g.map((e,t)=>aQ({index:t,label:m(e,t,g),value:e,perc:t?i(e):0,perc2:t===r?1:i(g[t+1])}))),s.source=u,s.add=u,this.value=u,s}});let yw=e=>e.source.x,yk=e=>e.source.y,yE=e=>e.target.x,y$=e=>e.target.y;function yA(e){ob.call(this,{},e)}yA.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},tP(yA,ob,{transform(e,t){var n=e.sourceX||yw,i=e.sourceY||yk,r=e.targetX||yE,a=e.targetY||y$,o=e.as||"path",l=e.orient||"vertical",s=e.shape||"line",u=yD.get(s+"-"+l)||yD.get(s);return u||eJ("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,e=>{e[o]=u(n(e),i(e),r(e),a(e))}),t.reflow(e.modified()).modifies(o)}});let yS=(e,t,n,i)=>"M"+e+","+t+"L"+n+","+i,yM=(e,t,n,i)=>{var r=n-e,a=i-t,o=Math.hypot(r,a)/2;return"M"+e+","+t+"A"+o+","+o+" "+180*Math.atan2(a,r)/Math.PI+" 0 1 "+n+","+i},yC=(e,t,n,i)=>{let r=n-e,a=i-t,o=.2*(r+a),l=.2*(a-r);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(i-o)+" "+n+","+i},yD=tL({line:yS,"line-radial":(e,t,n,i)=>yS(t*Math.cos(e),t*Math.sin(e),i*Math.cos(n),i*Math.sin(n)),arc:yM,"arc-radial":(e,t,n,i)=>yM(t*Math.cos(e),t*Math.sin(e),i*Math.cos(n),i*Math.sin(n)),curve:yC,"curve-radial":(e,t,n,i)=>yC(t*Math.cos(e),t*Math.sin(e),i*Math.cos(n),i*Math.sin(n)),"orthogonal-horizontal":(e,t,n,i)=>"M"+e+","+t+"V"+i+"H"+n,"orthogonal-vertical":(e,t,n,i)=>"M"+e+","+t+"H"+n+"V"+i,"orthogonal-radial":(e,t,n,i)=>{let r=Math.cos(n),a=Math.sin(n);return"M"+t*Math.cos(e)+","+t*Math.sin(e)+"A"+t+","+t+" 0 0,"+ +!!(Math.abs(n-e)>Math.PI?n<=e:n>e)+" "+t*r+","+t*a+"L"+i*r+","+i*a},"diagonal-horizontal":(e,t,n,i)=>{let r=(e+n)/2;return"M"+e+","+t+"C"+r+","+t+" "+r+","+i+" "+n+","+i},"diagonal-vertical":(e,t,n,i)=>{let r=(t+i)/2;return"M"+e+","+t+"C"+e+","+r+" "+n+","+r+" "+n+","+i},"diagonal-radial":(e,t,n,i)=>{let r=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=(t+i)/2;return"M"+t*r+","+t*a+"C"+s*r+","+s*a+" "+s*o+","+s*l+" "+i*o+","+i*l}});function yF(e){ob.call(this,null,e)}function yO(e){return dy(e,dr)&&e!==c6}yF.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},tP(yF,ob,{transform(e,t){var n,i,r,a=e.as||["startAngle","endAngle"],o=a[0],l=a[1],s=e.field||e2,u=e.startAngle||0,f=null!=e.endAngle?e.endAngle:2*Math.PI,c=t.source,d=c.map(s),h=d.length,p=u,m=(f-u)/yg(d),g=ld(h);for(e.sort&&g.sort((e,t)=>d[e]-d[t]),n=0;ne+(t<0?-1:+(t>0)),0))!==t.length&&n.warn("Log scale domain includes zero: "+t0(t)),t}function yR(e,t,n){return tE(e)&&(t||n)?db(e,yL(t||[0,1],n)):e}function yL(e,t){return t?e.slice().reverse():e}function yB(e){ob.call(this,null,e)}tP(yT,ob,{transform(e,t){let n;var i,r,a,o,l,s=t.dataflow,u=this.value,f=(a=(i=e).type,o="",a===c6?c6+"-"+c1:(dy(n=(l=i).type,dr)&&n!==c5&&"utc"!==n&&(l.scheme||l.range&&l.range.length&&l.range.every(tG))&&(o=2===(r=i.rawDomain?i.rawDomain.length:i.domain?i.domain.length+ +(null!=i.domainMid):0)?c6+"-":3===r?c4+"-":""),(o+a||c1).toLowerCase()));for(f in u&&f===u.type||(this.value=u=dg(f)()),e)if(!yN[f]){if("padding"===f&&yO(u.type))continue;tE(u[f])?u[f](e[f]):s.warn("Unsupported scale property: "+f)}return function(e,t,n){var i,r,a,o,l,s,u,f,c,d,h=e.type,p=t.round||!1,m=t.range;if(null!=t.rangeStep){i=h,r=t,a=n,i!==dn&&i!==dt&&eJ("Only band and point scales support rangeStep."),o=(null!=r.paddingOuter?r.paddingOuter:r.padding)||0,l=i===dt?1:(null!=r.paddingInner?r.paddingInner:r.padding)||0,m=[0,r.rangeStep*c0(a,l,o)]}else{if(t.scheme&&tE((s=h,u=t,f=n,d=u.schemeExtent,e9(u.scheme)?c=dx(u.scheme,u.interpolate,u.interpolateGamma):(c=dS(u.scheme.toLowerCase()))||eJ(`Unrecognized scheme name: ${u.scheme}`),f=s===c7?f+1:s===di?f-1:s===c8||s===c9?+u.schemeCount||5:f,m=dy(s,ds)?yR(c,d,u.reverse):tE(c)?d_(yR(c,d),f):s===de?c:c.slice(0,f))))if(e.interpolator)return e.interpolator(m);else eJ(`Scale type ${h} does not support interpolating color schemes.`)}if(m&&dy(h,ds))return e.interpolator(dx(yL(m,t.reverse),t.interpolate,t.interpolateGamma));m&&t.interpolate&&e.interpolate?e.interpolate(dk(t.interpolate,t.interpolateGamma)):tE(e.round)?e.round(p):tE(e.rangeRound)&&e.interpolate(p?fv:fy),m&&e.range(yL(m,t.reverse))}(u,e,function(e,t,n){let i=t.bins;if(i&&!e9(i)){let t=e.domain(),n=t[0],r=ti(t),a=i.step,o=null==i.start?n:i.start,l=null==i.stop?r:i.stop;a||eJ("Scale bins parameter missing step property."),or&&(l=a*Math.floor(r/a)),i=ld(o,l+a/2,a)}return i?e.bins=i:e.bins&&delete e.bins,e.type===di&&(i?t.domain||t.domainRaw||(e.domain(i),n=i.length):e.bins=e.domain()),n}(u,e,function(e,t,n){let i,r=(p=e,m=t.domainRaw,g=n,m?(p.domain(yz(p.type,m,g)),m.length):-1);if(r>-1)return r;var a,o,l,s,u,f,c,d,h,p,m,g,y,v,b=t.domain,x=e.type,_=t.zero||void 0===t.zero&&(i=e.type,!e.bins&&(i===c1||"pow"===i||i===c2));if(!b)return 0;if((_||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(y=(b=b.slice()).length-1||1,_&&(b[0]>0&&(b[0]=0),b[y]<0&&(b[y]=0)),null!=t.domainMin&&(b[0]=t.domainMin),null!=t.domainMax&&(b[y]=t.domainMax),null!=t.domainMid)){let e=(v=t.domainMid)>b[y]?y+1:ve(s);if(null==t)h.push(e.slice());else for(r={},a=0,o=e.length;ad&&(d=c),n&&f.sort(n)}return h.max=d,h}(t.source,e.groupby,u,f)).length,a=n.max;ie;function yX(e,t){e&&yQ.hasOwnProperty(e.type)&&yQ[e.type](e,t)}var yJ={Feature:function(e,t){yX(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,i=-1,r=n.length;++i0){for(a=e[--t];t>0&&(a=(n=a)+(i=e[--t]),!(r=i-(a-n))););t>0&&(r<0&&e[t-1]<0||r>0&&e[t-1]>0)&&(n=a+(i=2*r),i==n-a&&(a=n))}return a}}var y2=Math.PI,y3=y2/2,y5=y2/4,y6=2*y2,y4=180/y2,y8=y2/180,y9=Math.abs,y7=Math.atan,ve=Math.atan2,vt=Math.cos,vn=Math.ceil,vi=Math.exp,vr=Math.hypot,va=Math.log,vo=Math.pow,vl=Math.sin,vs=Math.sign||function(e){return e>0?1:e<0?-1:0},vu=Math.sqrt,vf=Math.tan;function vc(e){return e>1?0:e<-1?y2:Math.acos(e)}function vd(e){return e>1?y3:e<-1?-y3:Math.asin(e)}function vh(){}var vp,vm,vg,vy,vv,vb,vx,v_,vw,vk,vE,v$,vA,vS,vM=new y1,vC=new y1,vD={point:vh,lineStart:vh,lineEnd:vh,polygonStart:function(){vD.lineStart=vF,vD.lineEnd=vT},polygonEnd:function(){vD.lineStart=vD.lineEnd=vD.point=vh,vM.add(y9(vC)),vC=new y1},result:function(){var e=vM/2;return vM=new y1,e}};function vF(){vD.point=vO}function vO(e,t){vD.point=vN,vE=vA=e,v$=vS=t}function vN(e,t){vC.add(vS*e-vA*t),vA=e,vS=t}function vT(){vN(vE,v$)}var vz=1/0,vR=1/0,vL=-1/0,vB=vL;let vP={point:function(e,t){evL&&(vL=e),tvB&&(vB=t)},lineStart:vh,lineEnd:vh,polygonStart:vh,polygonEnd:vh,result:function(){var e=[[vz,vR],[vL,vB]];return vL=vB=-(vR=vz=1/0),e}};var vI,vj,vU,vq,vW=0,vH=0,vG=0,vY=0,vV=0,vX=0,vJ=0,vQ=0,vZ=0,vK={point:v0,lineStart:v1,lineEnd:v5,polygonStart:function(){vK.lineStart=v6,vK.lineEnd=v4},polygonEnd:function(){vK.point=v0,vK.lineStart=v1,vK.lineEnd=v5},result:function(){var e=vZ?[vJ/vZ,vQ/vZ]:vX?[vY/vX,vV/vX]:vG?[vW/vG,vH/vG]:[NaN,NaN];return vW=vH=vG=vY=vV=vX=vJ=vQ=vZ=0,e}};function v0(e,t){vW+=e,vH+=t,++vG}function v1(){vK.point=v2}function v2(e,t){vK.point=v3,v0(vU=e,vq=t)}function v3(e,t){var n=e-vU,i=t-vq,r=vu(n*n+i*i);vY+=r*(vU+e)/2,vV+=r*(vq+t)/2,vX+=r,v0(vU=e,vq=t)}function v5(){vK.point=v0}function v6(){vK.point=v8}function v4(){v9(vI,vj)}function v8(e,t){vK.point=v9,v0(vI=vU=e,vj=vq=t)}function v9(e,t){var n=e-vU,i=t-vq,r=vu(n*n+i*i);vY+=r*(vU+e)/2,vV+=r*(vq+t)/2,vX+=r,vJ+=(r=vq*e-vU*t)*(vU+e),vQ+=r*(vq+t),vZ+=3*r,v0(vU=e,vq=t)}function v7(e){this._context=e}v7.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,y6)}},result:vh};var be,bt,bn,bi,br,ba=new y1,bo={point:vh,lineStart:function(){bo.point=bl},lineEnd:function(){be&&bs(bt,bn),bo.point=vh},polygonStart:function(){be=!0},polygonEnd:function(){be=null},result:function(){var e=+ba;return ba=new y1,e}};function bl(e,t){bo.point=bs,bt=bi=e,bn=br=t}function bs(e,t){bi-=e,br-=t,ba.add(vu(bi*bi+br*br)),bi=e,br=t}class bu{constructor(e){this._append=null==e?bf:function(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return bf;if(t!==c){let e=10**t;c=t,d=function(t){let n=1;this._+=t[0];for(let i=t.length;n=0))throw RangeError(`invalid digits: ${e}`);n=t}return null===t&&(a=new bu(n)),o},o.projection(e).digits(n).context(t)}function bd(e,t){function n(n,i){return t((n=e(n,i))[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,i){return(n=t.invert(n,i))&&e.invert(n[0],n[1])}),n}function bh(e,t){return y9(e)>y2&&(e-=Math.round(e/y6)*y6),[e,t]}function bp(e,t,n){return(e%=y6)?t||n?bd(bg(e),by(t,n)):bg(e):t||n?by(t,n):bh}function bm(e){return function(t,n){return y9(t+=e)>y2&&(t-=Math.round(t/y6)*y6),[t,n]}}function bg(e){var t=bm(e);return t.invert=bm(-e),t}function by(e,t){var n=vt(e),i=vl(e),r=vt(t),a=vl(t);function o(e,t){var o=vt(t),l=vt(e)*o,s=vl(e)*o,u=vl(t),f=u*n+l*i;return[ve(s*r-f*a,l*n-u*i),vd(f*r+s*a)]}return o.invert=function(e,t){var o=vt(t),l=vt(e)*o,s=vl(e)*o,u=vl(t),f=u*r-s*a;return[ve(s*r+u*a,l*n+f*i),vd(f*n-l*i)]},o}function bv(){var e,t=[];return{point:function(t,n,i){e.push([t,n,i])},lineStart:function(){t.push(e=[])},lineEnd:vh,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function bb(e,t){return 1e-6>y9(e[0]-t[0])&&1e-6>y9(e[1]-t[1])}function bx(e,t,n,i){this.x=e,this.z=t,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}function b_(e,t,n,i,r){var a,o,l=[],s=[];if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n,i=e[0],o=e[t];if(bb(i,o)){if(!i[2]&&!o[2]){for(r.lineStart(),a=0;a=0;--a)r.point((f=u[a])[0],f[1]);else i(d.x,d.p.x,-1,r);d=d.p}u=(d=d.o).z,h=!h}while(!d.v)r.lineEnd()}}}function bw(e){if(t=e.length){for(var t,n,i=0,r=e[0];++i=0?1:-1,A=$*E,S=A>y2,M=g*w;if(s.add(ve(M*$*vl(A),y*k+M*vt(A))),o+=S?E+$*y6:E,S^p>=n^x>=n){var C=bA(bE(h),bE(b));bC(C);var D=bA(a,C);bC(D);var F=(S^E>=0?-1:1)*vd(D[2]);(i>F||i===F&&(C[0]||C[1]))&&(l+=S^E>=0?1:-1)}}return(o<-1e-6||o<1e-6&&s<-1e-12)^1&l}(a,i);o.length?(c||(r.polygonStart(),c=!0),b_(o,bT,e,n,r)):e&&(c||(r.polygonStart(),c=!0),r.lineStart(),n(null,null,1,r),r.lineEnd()),c&&(r.polygonEnd(),c=!1),o=a=null},sphere:function(){r.polygonStart(),r.lineStart(),n(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function h(t,n){e(t,n)&&r.point(t,n)}function p(e,t){s.point(e,t)}function m(){d.point=p,s.lineStart()}function g(){d.point=h,s.lineEnd()}function y(e,t){l.push([e,t]),f.point(e,t)}function v(){f.lineStart(),l=[]}function b(){y(l[0][0],l[0][1]),f.lineEnd();var e,t,n,i,s=f.clean(),d=u.result(),h=d.length;if(l.pop(),a.push(l),l=null,h){if(1&s){if((t=(n=d[0]).length-1)>0){for(c||(r.polygonStart(),c=!0),r.lineStart(),e=0;e1&&2&s&&d.push(d.pop().concat(d.shift())),o.push(d.filter(bN))}}return d}}function bN(e){return e.length>1}function bT(e,t){return((e=e.x)[0]<0?e[1]-y3-1e-6:y3-e[1])-((t=t.x)[0]<0?t[1]-y3-1e-6:y3-t[1])}bh.invert=bh;let bz=bO(function(){return!0},function(e){var t,n=NaN,i=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,o){var l,s,u,f,c,d,h,p=a>0?y2:-y2,m=y9(a-n);1e-6>y9(m-y2)?(e.point(n,i=(i+o)/2>0?y3:-y3),e.point(r,i),e.lineEnd(),e.lineStart(),e.point(p,i),e.point(a,i),t=0):r!==p&&m>=y2&&(1e-6>y9(n-r)&&(n-=1e-6*r),1e-6>y9(a-p)&&(a-=1e-6*p),l=n,s=i,u=a,f=o,i=y9(h=vl(l-u))>1e-6?y7((vl(s)*(d=vt(f))*vl(u)-vl(f)*(c=vt(s))*vl(l))/(c*d*h)):(s+f)/2,e.point(r,i),e.lineEnd(),e.lineStart(),e.point(p,i),t=0),e.point(n=a,i=o),r=p},lineEnd:function(){e.lineEnd(),n=i=NaN},clean:function(){return 2-t}}},function(e,t,n,i){var r;if(null==e)r=n*y3,i.point(-y2,r),i.point(0,r),i.point(y2,r),i.point(y2,0),i.point(y2,-r),i.point(0,-r),i.point(-y2,-r),i.point(-y2,0),i.point(-y2,r);else if(y9(e[0]-t[0])>1e-6){var a=e[0]-t[2]?-n:n)+y6-1e-6)%y6}function bL(e,t,n,i){function r(r,a){return e<=r&&r<=n&&t<=a&&a<=i}function a(r,a,l,u){var f=0,c=0;if(null==r||(f=o(r,l))!==(c=o(a,l))||0>s(r,a)^l>0)do u.point(0===f||3===f?e:n,f>1?i:t);while((f=(f+l+4)%4)!==c)else u.point(a[0],a[1])}function o(i,r){return 1e-6>y9(i[0]-e)?r>0?0:3:1e-6>y9(i[0]-n)?r>0?2:1:1e-6>y9(i[1]-t)?+(r>0):r>0?3:2}function l(e,t){return s(e.x,t.x)}function s(e,t){var n=o(e,1),i=o(t,1);return n!==i?n-i:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(o){var s,u,f,c,d,h,p,m,g,y,v,b=o,x=bv(),_={point:w,lineStart:function(){_.point=k,u&&u.push(f=[]),y=!0,g=!1,p=m=NaN},lineEnd:function(){s&&(k(c,d),h&&g&&x.rejoin(),s.push(x.result())),_.point=w,g&&b.lineEnd()},polygonStart:function(){b=x,s=[],u=[],v=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,r=u.length;ni&&(d-a)*(i-o)>(h-o)*(e-a)&&++t:h<=i&&(d-a)*(i-o)<(h-o)*(e-a)&&--t;return t}(),n=v&&t,r=(s=bF(s)).length;(n||r)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),r&&b_(s,l,t,a,o),o.polygonEnd()),b=o,s=u=f=null}};function w(e,t){r(e,t)&&b.point(e,t)}function k(a,o){var l=r(a,o);if(u&&f.push([a,o]),y)c=a,d=o,h=l,y=!1,l&&(b.lineStart(),b.point(a,o));else if(l&&g)b.point(a,o);else{var s=[p=Math.max(-1e9,Math.min(1e9,p)),m=Math.max(-1e9,Math.min(1e9,m))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];!function(e,t,n,i,r,a){var o,l=e[0],s=e[1],u=t[0],f=t[1],c=0,d=1,h=u-l,p=f-s;if(o=n-l,!h&&o>0)return;if(o/=h,h<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=r-l,h||!(o<0)){if(o/=h,h<0){if(o>d)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=p,p<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=a-s,p||!(o<0)){if(o/=p,p<0){if(o>d)return;o>c&&(c=o)}else if(p>0){if(o0&&(e[0]=l+c*h,e[1]=s+c*p),d<1&&(t[0]=l+d*h,t[1]=s+d*p),!0}}}}(s,x,e,t,n,i)?l&&(b.lineStart(),b.point(a,o),v=!1):(g||(b.lineStart(),b.point(s[0],s[1])),b.point(x[0],x[1]),l||b.lineEnd(),v=!1)}p=a,m=o,g=l}return _}}function bB(e){return function(t){var n=new bP;for(var i in e)n[i]=e[i];return n.stream=t,n}}function bP(){}function bI(e,t,n){var i=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=i&&e.clipExtent(null),y0(n,e.stream(vP)),t(vP.result()),null!=i&&e.clipExtent(i),e}function bj(e,t,n){return bI(e,function(n){var i=t[1][0]-t[0][0],r=t[1][1]-t[0][1],a=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),o=+t[0][0]+(i-a*(n[1][0]+n[0][0]))/2,l=+t[0][1]+(r-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,l])},n)}function bU(e,t,n){return bj(e,[[0,0],t],n)}function bq(e,t,n){return bI(e,function(n){var i=+t,r=i/(n[1][0]-n[0][0]),a=(i-r*(n[1][0]+n[0][0]))/2,o=-r*n[0][1];e.scale(150*r).translate([a,o])},n)}function bW(e,t,n){return bI(e,function(n){var i=+t,r=i/(n[1][1]-n[0][1]),a=-r*n[0][0],o=(i-r*(n[1][1]+n[0][1]))/2;e.scale(150*r).translate([a,o])},n)}bP.prototype={constructor:bP,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var bH=vt(30*y8);function bG(e,t){var n;return+t?function(e,t){function n(i,r,a,o,l,s,u,f,c,d,h,p,m,g){var y=u-i,v=f-r,b=y*y+v*v;if(b>4*t&&m--){var x=o+d,_=l+h,w=s+p,k=vu(x*x+_*_+w*w),E=vd(w/=k),$=1e-6>y9(y9(w)-1)||1e-6>y9(a-c)?(a+c)/2:ve(_,x),A=e($,E),S=A[0],M=A[1],C=S-i,D=M-r,F=v*C-y*D;(F*F/b>t||y9((y*C+v*D)/b-.5)>.3||o*d+l*h+s*p0,r=y9(t)>1e-6;function a(e,n){return vt(e)*vt(n)>t}function o(e,n,i){var r=bE(e),a=bE(n),o=[1,0,0],l=bA(r,a),s=b$(l,l),u=l[0],f=s-u*u;if(!f)return!i&&e;var c=bA(o,l),d=bM(o,t*s/f);bS(d,bM(l,-t*u/f));var h=b$(d,c),p=b$(c,c),m=h*h-p*(b$(d,d)-1);if(!(m<0)){var g=vu(m),y=bM(c,(-h-g)/p);if(bS(y,d),y=bk(y),!i)return y;var v,b=e[0],x=n[0],_=e[1],w=n[1];xy9(k-y2);if(!E&&w<_&&(v=_,_=w,w=v),E||k<1e-6?E?_+w>0^y[1]<(1e-6>y9(y[0]-b)?_:w):_<=y[1]&&y[1]<=w:k>y2^(b<=y[0]&&y[0]<=x)){var $=bM(c,(-h+g)/p);return bS($,d),[y,bk($)]}}}function l(t,n){var r=i?e:y2-e,a=0;return t<-r?a|=1:t>r&&(a|=2),n<-r?a|=4:n>r&&(a|=8),a}return bO(a,function(e){var t,n,s,u,f;return{lineStart:function(){u=s=!1,f=1},point:function(c,d){var h,p,m=[c,d],g=a(c,d),y=i?g?0:l(c,d):g?l(c+(c<0?y2:-y2),d):0;!t&&(u=s=g)&&e.lineStart(),g!==s&&(!(p=o(t,m))||bb(t,p)||bb(m,p))&&(m[2]=1),g!==s?(f=0,g?(e.lineStart(),p=o(m,t),e.point(p[0],p[1])):(p=o(t,m),e.point(p[0],p[1],2),e.lineEnd()),t=p):r&&t&&i^g&&!(y&n)&&(h=o(m,t,!0))&&(f=0,i?(e.lineStart(),e.point(h[0][0],h[0][1]),e.point(h[1][0],h[1][1]),e.lineEnd()):(e.point(h[1][0],h[1][1]),e.lineEnd(),e.lineStart(),e.point(h[0][0],h[0][1],3))),!g||t&&bb(t,m)||e.point(m[0],m[1]),t=m,s=g,n=y},lineEnd:function(){s&&e.lineEnd(),t=null},clean:function(){return f|(u&&s)<<1}}},function(t,i,r,a){!function(e,t,n,i,r,a){if(n){var o=vt(t),l=vl(t),s=i*n;null==r?(r=t+i*y6,a=t-s/2):(r=bR(o,r),a=bR(o,a),(i>0?ra)&&(r+=i*y6));for(var u,f=r;i>0?f>a:f2?e[2]%360*y8:0,C()):[g*y4,y*y4,v*y4]},S.angle=function(e){return arguments.length?(b=e%360*y8,C()):b*y4},S.reflectX=function(e){return arguments.length?(x=e?-1:1,C()):x<0},S.reflectY=function(e){return arguments.length?(_=e?-1:1,C()):_<0},S.precision=function(e){return arguments.length?(o=bG(l,A=e*e),D()):vu(A)},S.fitExtent=function(e,t){return bj(S,e,t)},S.fitSize=function(e,t){return bU(S,e,t)},S.fitWidth=function(e,t){return bq(S,e,t)},S.fitHeight=function(e,t){return bW(S,e,t)},function(){return t=e.apply(this,arguments),S.invert=t.invert&&M,C()}}function bQ(e,t){return[e,va(vf((y3+t)/2))]}function bZ(e){var t,n,i,r=bX(e),a=r.center,o=r.scale,l=r.translate,s=r.clipExtent,u=null;function f(){var a=y2*o(),l=r((function(e){function t(t){return t=e(t[0]*y8,t[1]*y8),t[0]*=y4,t[1]*=y4,t}return e=bp(e[0]*y8,e[1]*y8,e.length>2?e[2]*y8:0),t.invert=function(t){return t=e.invert(t[0]*y8,t[1]*y8),t[0]*=y4,t[1]*=y4,t},t})(r.rotate()).invert([0,0]));return s(null==u?[[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]]:e===bQ?[[Math.max(l[0]-a,u),t],[Math.min(l[0]+a,n),i]]:[[u,Math.max(l[1]-a,t)],[n,Math.min(l[1]+a,i)]])}return r.scale=function(e){return arguments.length?(o(e),f()):o()},r.translate=function(e){return arguments.length?(l(e),f()):l()},r.center=function(e){return arguments.length?(a(e),f()):a()},r.clipExtent=function(e){return arguments.length?(null==e?u=t=n=i=null:(u=+e[0][0],t=+e[0][1],n=+e[1][0],i=+e[1][1]),f()):null==u?null:[[u,t],[n,i]]},f()}function bK(e,t){return[va(vf((y3+t)/2)),-e]}function b0(e){return function(t,n){var i=vt(t),r=vt(n),a=e(i*r);return a===1/0?[2,0]:[a*r*vl(t),a*vl(n)]}}function b1(e){return function(t,n){var i=vu(t*t+n*n),r=e(i),a=vl(r);return[ve(t*a,i*vt(r)),vd(i&&n*a/i)]}}function b2(e,t){var n=vt(t),i=1+vt(e)*n;return[n*vl(e)/i,vl(t)/i]}function b3(e,t){return[vt(t)*vl(e),vl(t)]}function b5(e,t){var n=t*t,i=n*n;return[e*(.8707-.131979*n+i*(-.013791+i*(.003971*n-.001529*i))),t*(1.007226+n*(.015085+i*(-.044475+.028874*n-.005916*i)))]}function b6(e,t){var n=vt(t),i=vt(e)*n;return[n*vl(e)/i,vl(t)/i]}function b4(e,t){return[e,t]}bQ.invert=function(e,t){return[e,2*y7(vi(t))-y3]},bK.invert=function(e,t){return[-t,2*y7(vi(e))-y3]},b2.invert=b1(function(e){return 2*y7(e)}),b3.invert=b1(vd),b5.invert=function(e,t){var n,i=t,r=25;do{var a=i*i,o=a*a;i-=n=(i*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(y9(n)>1e-6&&--r>0)return[e/(.8707+(a=i*i)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),i]},b6.invert=b1(y7),b4.invert=b4;var b8=vu(3)/2;function b9(e,t){var n=vd(b8*vl(t)),i=n*n,r=i*i*i;return[e*vt(n)/(b8*(1.340264+-.24331799999999998*i+r*(.0062510000000000005+.034164*i))),n*(1.340264+-.081106*i+r*(893e-6+.003796*i))]}function b7(e){var t=0,n=y2/3,i=bJ(e),r=i(t,n);return r.parallels=function(e){return arguments.length?i(t=e[0]*y8,n=e[1]*y8):[t*y4,n*y4]},r}function xe(e,t){var n=vt(e),i=e===t?vl(e):(n-vt(t))/(t-e),r=n/i+e;if(1e-6>y9(i))return b4;function a(e,t){var n=r-t,a=i*e;return[n*vl(a),r-n*vt(a)]}return a.invert=function(e,t){var n=r-t,a=ve(e,y9(n))*vs(n);return n*i<0&&(a-=y2*vs(e)*vs(n)),[a/i,r-vs(i)*vu(e*e+n*n)]},a}function xt(e,t){var n=vl(e),i=(n+vl(t))/2;if(1e-6>y9(i)){var r=vt(e);function a(e,t){return[e*r,vl(t)/r]}return a.invert=function(e,t){return[e/r,vd(t*r)]},a}var o=1+n*(2*i-n),l=vu(o)/i;function s(e,t){var n=vu(o-2*i*vl(t))/i;return[n*vl(e*=i),l-n*vt(e)]}return s.invert=function(e,t){var n=l-t,r=ve(e,y9(n))*vs(n);return n*i<0&&(r-=y2*vs(e)*vs(n)),[r/i,vd((o-(e*e+n*n)*i*i)/(2*i))]},s}function xn(){return b7(xt).scale(155.424).center([0,33.6442])}function xi(e){return vf((y3+e)/2)}function xr(e,t){var n=vt(e),i=e===t?vl(e):va(n/vt(t))/va(xi(t)/xi(e)),r=n*vo(xi(e),i)/i;if(!i)return bQ;function a(e,t){r>0?t<-y3+1e-6&&(t=-y3+1e-6):t>y3-1e-6&&(t=y3-1e-6);var n=r/vo(xi(t),i);return[n*vl(i*e),r-n*vt(i*e)]}return a.invert=function(e,t){var n=r-t,a=vs(i)*vu(e*e+n*n),o=ve(e,y9(n))*vs(n);return n*i<0&&(o-=y2*vs(e)*vs(n)),[o/i,2*y7(vo(r/a,1/i))-y3]},a}b9.invert=function(e,t){for(var n,i,r=t,a=r*r,o=a*a*a,l=0;l<12&&(i=r*(1.340264+-.081106*a+o*(893e-6+.003796*a))-t,r-=n=i/(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a)),o=(a=r*r)*a*a,!(1e-12>y9(n)));++l);return[b8*e*(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a))/vt(r),vd(vl(r)/b8)]};var xa=b0(function(e){return(e=vc(e))&&e/vl(e)});xa.invert=b1(function(e){return e});var xo=b0(function(e){return vu(2/(1+e))});function xl(){return xn().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}xo.invert=b1(function(e){return 2*vd(e/2)});var xs=Math.abs,xu=Math.cos,xf=Math.sin,xc=Math.PI,xd=xc/2,xh=xm(2);function xp(e){return e>1?xd:e<-1?-xd:Math.asin(e)}function xm(e){return e>0?Math.sqrt(e):0}xm(xc);var xg=function(e,t,n){function i(i,r){return[e*i*xu(r=function(e,t){var n,i=e*xf(t),r=30;do t-=n=(t+xf(t)-i)/(1+xu(t));while(xs(n)>1e-6&&--r>0)return t/2}(n,r)),t*xf(r)]}return i.invert=function(i,r){return[i/(e*xu(r=xp(r/t))),xp((2*r+xf(2*r))/n)]},i}(xh/xd,xh,xc);let xy=bc(),xv=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function xb(e,t){var n;if(!e||"string"!=typeof e)throw Error("Projection type must be a name string.");return(e=e.toLowerCase(),arguments.length>1)?(x_[e]=(n=e,function e(){let i=t();return i.type=n,i.path=bc().projection(i),i.copy=i.copy||function(){let t=e();return xv.forEach(e=>{i[e]&&t[e](i[e]())}),t.path.pointRadius(i.path.pointRadius()),t},i[dp]=!0,i}),this):x_[e]||null}function xx(e){return e&&e.path||xy}let x_={albers:xl,albersusa:function(){var e,t,n,i,r,a,o=xl(),l=xn().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=xn().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(e,t){a=[e,t]}};function f(e){var t=e[0],o=e[1];return a=null,n.point(t,o),a||(i.point(t,o),a)||(r.point(t,o),a)}function c(){return e=t=null,f}return f.invert=function(e){var t=o.scale(),n=o.translate(),i=(e[0]-n[0])/t,r=(e[1]-n[1])/t;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?l:r>=.166&&r<.234&&i>=-.214&&i<-.115?s:o).invert(e)},f.stream=function(n){var i,r;return e&&t===n?e:(r=(i=[o.stream(t=n),l.stream(n),s.stream(n)]).length,e={point:function(e,t){for(var n=-1;++n2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}};for(let e in x_)xb(e,x_[e]);function xw(e,t,n){var i=ld(e,t-1e-6,n).concat(t);return function(e){return i.map(function(t){return[e,t]})}}function xk(e,t,n){var i=ld(e,t-1e-6,n).concat(t);return function(e){return i.map(function(t){return[t,e]})}}function xE(){}let x$=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function xA(){var e=1,t=1,n=o;function i(e,t){return t.map(t=>r(e,t))}function r(i,r){var o=[],l=[];return function(n,i,r){var o,l,s,u,f,c,d=[],h=[];for(o=l=-1,x$[(u=n[0]>=i)<<1].forEach(p);++o=i)<<1].forEach(p);for(x$[0|u].forEach(p);++l=i)<<1|(f=n[l*e]>=i)<<2].forEach(p);++o=i,c=f,x$[s|u<<1|(f=n[l*e+o+1]>=i)<<2|c<<3].forEach(p);x$[u|f<<3].forEach(p)}for(o=-1,x$[(f=n[l*e]>=i)<<2].forEach(p);++o=i)<<2|c<<3].forEach(p);function p(e){var t,n,i=[e[0][0]+o,e[0][1]+l],s=[e[1][0]+o,e[1][1]+l],u=a(i),f=a(s);(t=h[u])?(n=d[f])?(delete h[t.end],delete d[n.start],t===n?(t.ring.push(s),r(t.ring)):d[t.start]=h[n.end]={start:t.start,end:n.end,ring:t.ring.concat(n.ring)}):(delete h[t.end],t.ring.push(s),h[t.end=f]=t):(t=d[f])?(n=h[u])?(delete d[t.start],delete h[n.end],t===n?(t.ring.push(s),r(t.ring)):d[n.start]=h[t.end]={start:n.start,end:t.end,ring:n.ring.concat(t.ring)}):(delete d[t.start],t.ring.unshift(i),d[t.start=u]=t):d[u]=h[f]={start:u,end:f,ring:[i,s]}}x$[f<<3].forEach(p)}(i,r,e=>{n(e,i,r),function(e){for(var t=0,n=e.length,i=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t0?o.push([e]):l.push(e)}),l.forEach(e=>{for(var t,n=0,i=o.length;ni!=h>i&&n<(d-u)*(i-f)/(h-f)+u&&(r=-r)}return r}(e,t[i]))return n;return 0}((t=o[n])[0],e))return void t.push(e)}),{type:"MultiPolygon",value:r,coordinates:o}}function a(t){return 2*t[0]+t[1]*(e+1)*4}function o(n,i,r){n.forEach(n=>{var a,o=n[0],l=n[1],s=0|o,u=0|l,f=i[u*e+s];o>0&&o0&&l=0&&a>=0||eJ("invalid size"),e=r,t=a,i},i.smooth=function(e){return arguments.length?(n=e?o:xE,i):n===o},i}function xS(e,t,n){return function(i){var r=tN(i),a=n?Math.min(r[0],0):r[0],o=r[1],l=o-a,s=t?ng(a,o,e):l/(e+1);return ld(a+s,o,s)}}function xM(e){ob.call(this,null,e)}function xC(e,t,n,i,r){let a=e.x1||0,o=e.y1||0,l=t*n<0;function s(e){e.forEach(u)}function u(e){l&&e.reverse(),e.forEach(f)}function f(e){e[0]=(e[0]-a)*t+i,e[1]=(e[1]-o)*n+r}return function(e){return e.coordinates.forEach(s),e}}function xD(e,t,n){let i=e>=0?e:oT(t,n);return Math.round((Math.sqrt(4*i*i+1)-1)/2)}function xF(e){return tE(e)?e:tD(+e)}function xO(){var e=e=>e[0],t=e=>e[1],n=e2,i=[-1,-1],r=960,a=500,o=2;function l(l,s){let u=xD(i[0],l,e)>>o,f=xD(i[1],l,t)>>o,c=u?u+2:0,d=f?f+2:0,h=2*c+(r>>o),p=2*d+(a>>o),m=new Float32Array(h*p),g=new Float32Array(h*p),y=m;l.forEach(i=>{let r=c+(e(i)>>o),a=d+(t(i)>>o);r>=0&&r=0&&a0&&f>0?(xN(h,p,m,g,u),xT(h,p,g,m,f),xN(h,p,m,g,u),xT(h,p,g,m,f),xN(h,p,m,g,u),xT(h,p,g,m,f)):u>0?(xN(h,p,m,g,u),xN(h,p,g,m,u),xN(h,p,m,g,u),y=g):f>0&&(xT(h,p,m,g,f),xT(h,p,g,m,f),xT(h,p,m,g,f),y=g);let v=s?Math.pow(2,-2*o):1/yg(y);for(let e=0,t=h*p;e>o),y2:d+(a>>o)}}return l.x=function(t){return arguments.length?(e=xF(t),l):e},l.y=function(e){return arguments.length?(t=xF(e),l):t},l.weight=function(e){return arguments.length?(n=xF(e),l):n},l.size=function(e){if(!arguments.length)return[r,a];var t=+e[0],n=+e[1];return t>=0&&n>=0||eJ("invalid size"),r=t,a=n,l},l.cellSize=function(e){return arguments.length?((e*=1)>=1||eJ("invalid cell size"),o=Math.floor(Math.log(e)/Math.LN2),l):1<=r&&(t>=a&&(l-=n[t-a+o*e]),i[t-r+o*e]=l/Math.min(t+1,e-1+a-t,a))}function xT(e,t,n,i,r){let a=(r<<1)+1;for(let o=0;o=r&&(l>=a&&(s-=n[o+(l-a)*e]),i[o+(l-r)*e]=s/Math.min(l+1,t-1+a-l,a))}function xz(e){ob.call(this,null,e)}xM.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},tP(xM,ob,{transform(e,t){let n;if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var i,r,a,o=t.fork(t.NO_SOURCE|t.NO_FIELDS),l=t.materialize(t.SOURCE).source,s=e.field||e0,u=xA().smooth(!1!==e.smooth),f=e.thresholds||(i=l,r=s,n=xS((a=e).levels||10,a.nice,!1!==a.zero),"shared"!==a.resolve?n:n(i.map(e=>ok(r(e).values)))),c=null===e.as?null:e.as||"contour",d=[];return l.forEach(t=>{let n=s(t),i=u.size([n.width,n.height])(n.values,e9(f)?f:f(n.values));(function(e,t,n,i){let r=i.scale||t.scale,a=i.translate||t.translate;if(tE(r)&&(r=r(n,i)),tE(a)&&(a=a(n,i)),(1===r||null==r)&&!a)return;let o=(tW(r)?r:r[0])||1,l=(tW(r)?r:r[1])||1,s=a&&a[0]||0,u=a&&a[1]||0;e.forEach(xC(t,o,l,s,u))})(i,n,t,e),i.forEach(e=>{d.push(aK(t,aQ(null!=c?{[c]:e}:e)))})}),this.value&&(o.rem=this.value),this.value=o.source=o.add=d,o}}),xz.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};let xR=["x","y","weight","size","cellSize","bandwidth"];function xL(e,t){return xR.forEach(n=>null!=t[n]?e[n](t[n]):0),e}function xB(e){ob.call(this,null,e)}tP(xz,ob,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=function(e,t){var n,i,r,a,o,l,s=[],u=e=>e(a);if(null==t)s.push(e);else for(n={},i=0,r=e.length;iaQ(function(e,t){for(let n=0;n1e-6}).map(s)).concat(ld(vn(a/h)*h,r,h).filter(function(e){return y9(e%m)>1e-6}).map(u))}return y.lines=function(){return v().map(function(e){return{type:"LineString",coordinates:e}})},y.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(c(o).slice(1),f(n).reverse().slice(1),c(l).reverse().slice(1))]}},y.extent=function(e){return arguments.length?y.extentMajor(e).extentMinor(e):y.extentMinor()},y.extentMajor=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],l=+e[0][1],o=+e[1][1],i>n&&(e=i,i=n,n=e),l>o&&(e=l,l=o,o=e),y.precision(g)):[[i,l],[n,o]]},y.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],a=+n[0][1],r=+n[1][1],t>e&&(n=t,t=e,e=n),a>r&&(n=a,a=r,r=n),y.precision(g)):[[t,a],[e,r]]},y.step=function(e){return arguments.length?y.stepMajor(e).stepMinor(e):y.stepMinor()},y.stepMajor=function(e){return arguments.length?(p=+e[0],m=+e[1],y):[p,m]},y.stepMinor=function(e){return arguments.length?(d=+e[0],h=+e[1],y):[d,h]},y.precision=function(d){return arguments.length?(g=+d,s=xw(a,r,90),u=xk(t,e,g),f=xw(l,o,90),c=xk(i,n,g),y):g},y.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()}function xG(e){ob.call(this,null,e)}function xY(e){if(!tE(e))return!1;let t=t6(eG(e));return t.$x||t.$y||t.$value||t.$max}function xV(e){ob.call(this,null,e),this.modified(!0)}function xX(e,t,n){tE(e[t])&&e[t](n)}xj.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},tP(xj,ob,{transform(e,t){var n,i=this._features,r=this._points,a=e.fields,o=a&&a[0],l=a&&a[1],s=e.geojson||!a&&e0,u=t.ADD;n=e.modified()||t.changed(t.REM)||t.modified(eG(s))||o&&t.modified(eG(o))||l&&t.modified(eG(l)),(!this.value||n)&&(u=t.SOURCE,this._features=i=[],this._points=r=[]),s&&t.visit(u,e=>i.push(s(e))),o&&l&&(t.visit(u,e=>{var t=o(e),n=l(e);null!=t&&null!=n&&(t*=1)===t&&(n*=1)===n&&r.push([t,n])}),i=i.concat({type:xP,geometry:{type:"MultiPoint",coordinates:r}})),this.value={type:xI,features:i}}}),xU.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},tP(xU,ob,{transform(e,t){let n;var i,r,a=t.fork(t.ALL),o=this.value,l=e.field||e0,s=e.as||"path",u=a.SOURCE;!o||e.modified()?(this.value=o=xx(e.projection),a.materialize().reflow()):u=l===e0||t.modified(l.fields)?a.ADD_MOD:a.ADD;let f=(i=o,r=e.pointRadius,n=i.pointRadius(),i.context(null),null!=r&&i.pointRadius(r),n);return a.visit(u,e=>e[s]=o(l(e))),o.pointRadius(f),a.modifies(s)}}),xq.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},tP(xq,ob,{transform(e,t){var n,i=e.projection,r=e.fields[0],a=e.fields[1],o=e.as||["x","y"],l=o[0],s=o[1];function u(e){let t=i([r(e),a(e)]);t?(e[l]=t[0],e[s]=t[1]):(e[l]=void 0,e[s]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,u):(n=t.modified(r.fields)||t.modified(a.fields),t.visit(n?t.ADD_MOD:t.ADD,u)),t.modifies(o)}}),xW.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},tP(xW,ob,{transform(e,t){let n;var i,r,a,o=t.fork(t.ALL),l=this.value,s=e.as||"shape",u=o.ADD;return(!l||e.modified())&&(this.value=(i=xx(e.projection),r=e.field||eZ("datum"),(n=null==(a=e.pointRadius)?e=>i(r(e)):e=>{var t=i.pointRadius(),n=i.pointRadius(a)(r(e));return i.pointRadius(t),n}).context=e=>(i.context(e),n),l=n),o.materialize().reflow(),u=o.SOURCE),o.visit(u,e=>e[s]=l),o.modifies(s)}}),xH.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},tP(xH,ob,{transform(e,t){var n,i=this.value,r=this.generator;if(!i.length||e.modified())for(let t in e)tE(r[t])&&r[t](e[t]);return n=r(),i.length?t.mod.push(a0(i[0],n)):t.add.push(aQ(n)),i[0]=n,t}}),xG.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},tP(xG,ob,{transform(e,t){let n,i;if(!t.changed()&&!e.modified())return t.StopPropagation;var r,a,o,l,s=t.materialize(t.SOURCE).source,u="shared"===e.resolve,f=e.field||e0,c=(r=e.opacity,a=e,tE(r)?(n=e=>r(e,a)).dep=xY(r):r?n=tD(r):(n=e=>e.$value/e.$max||0).dep=!0,n),d=(o=e.color,l=e,tE(o)?(i=e=>uY(o(e,l))).dep=xY(o):i=tD(uY(o||"#888")),i),h=e.as||"image",p={$x:0,$y:0,$value:0,$max:u?ok(s.map(e=>ok(f(e).values))):0};return s.forEach(e=>{let t=f(e),n=tO({},e,p);u||(n.$max=ok(t.values||[])),e[h]=function(e,t,n,i){let r=e.width,a=e.height,o=e.x1||0,l=e.y1||0,s=e.x2||r,u=e.y2||a,f=e.values,c=f?e=>f[e]:e1,d=uk(s-o,u-l),h=d.getContext("2d"),p=h.getImageData(0,0,s-o,u-l),m=p.data;for(let e=l,a=0;e{null!=e[t]&&xX(s,t,e[t])})):xv.forEach(t=>{e.modified(t)&&xX(s,t,e[t])}),null!=e.pointRadius&&s.path.pointRadius(e.pointRadius),e.fit&&(i=s,l=1===(a=tw(a=(r=e).fit)).length?a[0]:{type:xI,features:a.reduce((e,t)=>{var n;return e.concat((n=t).type===xI?n.features:tw(n).filter(e=>null!=e).map(e=>e.type===xP?e:{type:xP,geometry:e}))},[])},r.extent?i.fitExtent(r.extent,l):r.size&&i.fitSize(r.size,l)),t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),e.s(["contour",0,xB,"geojson",0,xj,"geopath",0,xU,"geopoint",0,xq,"geoshape",0,xW,"graticule",0,xH,"heatmap",0,xG,"isocontour",0,xM,"kde2d",0,xz,"projection",0,xV],58388);var xJ=e.i(58388),xQ={value:()=>{}};function xZ(){for(var e,t=0,n=arguments.length,i={};t=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!i.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),a=-1,o=r.length;if(arguments.length<2){for(;++a0)for(var n,i,r=Array(n),a=0;a=0&&t._call.call(void 0,e),t=t._next;--x3}finally{x3=0,function(){for(var e,t,n=x1,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:x1=t);x2=e,_l(i)}(),x8=0}}function _o(){var e=x7.now(),t=e-x4;t>1e3&&(x9-=t,x4=e)}function _l(e){!x3&&(x5&&(x5=clearTimeout(x5)),e-x8>24?(e<1/0&&(x5=setTimeout(_a,e-x7.now()-x9)),x6&&(x6=clearInterval(x6))):(x6||(x4=x7.now(),x6=setInterval(_o,1e3)),x3=1,_e(_a)))}function _s(e){return e.x}function _u(e){return e.y}_i.prototype=_r.prototype={constructor:_i,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?_t():+n)+(null==t?0:+t),this._next||x2===this||(x2?x2._next=this:x1=this,x2=this),this._call=e,this._time=n,_l()},stop:function(){this._call&&(this._call=null,this._time=1/0,_l())}};var _f=Math.PI*(3-Math.sqrt(5));function _c(e){return function(){return e}}function _d(e){return(e()-.5)*1e-6}function _h(e){return e.index}function _p(e,t){var n=e.get(t);if(!n)throw Error("node not found: "+t);return n}function _m(e,t,n,i){if(isNaN(t)||isNaN(n))return e;var r,a,o,l,s,u,f,c,d,h=e._root,p={data:i},m=e._x0,g=e._y0,y=e._x1,v=e._y1;if(!h)return e._root=p,e;for(;h.length;)if((u=t>=(a=(m+y)/2))?m=a:y=a,(f=n>=(o=(g+v)/2))?g=o:v=o,r=h,!(h=h[c=f<<1|u]))return r[c]=p,e;if(l=+e._x.call(null,h.data),s=+e._y.call(null,h.data),t===l&&n===s)return p.next=h,r?r[c]=p:e._root=p,e;do r=r?r[c]=[,,,,]:e._root=[,,,,],(u=t>=(a=(m+y)/2))?m=a:y=a,(f=n>=(o=(g+v)/2))?g=o:v=o;while((c=f<<1|u)==(d=(s>=o)<<1|l>=a))return r[d]=h,r[c]=p,e}function _g(e,t,n,i,r){this.node=e,this.x0=t,this.y0=n,this.x1=i,this.y1=r}function _y(e){return e[0]}function _v(e){return e[1]}function _b(e,t,n){var i=new _x(null==t?_y:t,null==n?_v:n,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function _x(e,t,n,i,r,a){this._x=e,this._y=t,this._x0=n,this._y0=i,this._x1=r,this._y1=a,this._root=void 0}function __(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var _w=_b.prototype=_x.prototype;function _k(e){return e.x+e.vx}function _E(e){return e.y+e.vy}_w.copy=function(){var e,t,n=new _x(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=__(i),n;for(e=[{source:i,target:n._root=[,,,,]}];i=e.pop();)for(var r=0;r<4;++r)(t=i.source[r])&&(t.length?e.push({source:t,target:i.target[r]=[,,,,]}):i.target[r]=__(t));return n},_w.add=function(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return _m(this.cover(t,n),t,n,e)},_w.addAll=function(e){var t,n,i,r,a=e.length,o=Array(a),l=Array(a),s=1/0,u=1/0,f=-1/0,c=-1/0;for(n=0;nf&&(f=i),rc&&(c=r));if(s>f||u>c)return this;for(this.cover(s,u).cover(f,c),n=0;ne||e>=r||i>t||t>=a;)switch(l=(td)&&!((a=s.y0)>h)&&!((o=s.x1)=y)<<1|e>=g)&&(s=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=s)}else{var v=e-this._x.call(null,m.data),b=t-this._y.call(null,m.data),x=v*v+b*b;if(x=(l=(p+g)/2))?p=l:g=l,(f=o>=(s=(m+y)/2))?m=s:y=s,t=h,!(h=h[c=f<<1|u]))return this;if(!h.length)break;(t[c+1&3]||t[c+2&3]||t[c+3&3])&&(n=t,d=c)}for(;h.data!==e;)if(i=h,!(h=h.next))return this;return((r=h.next)&&delete h.next,i)?r?i.next=r:delete i.next:t?(r?t[c]=r:delete t[c],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(n?n[d]=h:this._root=h)):this._root=r,this},_w.removeAll=function(e){for(var t=0,n=e.length;ts.index){var m=u-l.x-l.vx,g=f-l.y-l.vy,y=m*m+g*g;yu+p||af+p||oe.r&&(e.r=e[t].r)}function s(){if(t){var i,r,a=t.length;for(i=0,n=Array(a);i=l)){(e.data!==t||e.next)&&(0===c&&(p+=(c=_d(n))*c),0===d&&(p+=(d=_d(n))*d),p[l(e,t,i),e]));for(o=0,r=Array(u);ot(e,n):t)}(t[n],e[n],e);return t}(s[r]):i&&function(e,t){var n,i;for(n in e)if(tE(i=e[n])&&t.modified(eG(i)))return 1;return 0}(s[r],i)?e.force(l):null)&&e.force(l,o);for(a=e.numForces||0;r(t=(1664525*t+0x3c6ef35f)%0x100000000)/0x100000000);function d(){h(),f.call("tick",n),i1?(null==t?s.delete(e):s.set(e,m(t)),n):s.get(e)},find:function(t,n,i){var r,a,o,l,s,u=0,f=e.length;for(null==i?i=1/0:i*=i,u=0;u1?(f.on(e,t),n):f.on(e)}}}(o)).stop,r=n.restart,a=!1,n.stopped=()=>a,n.restart=()=>(a=!1,r()),n.stop=()=>(a=!0,i()),f=_F(n,l,!0).on("end",()=>a=!0)),f.on("tick",(s=t.dataflow,u=this,()=>s.touch(u).run())),e.static||(c=!0,f.tick()),t.modifies("index")),d||c||e.modified(_M)||t.changed()&&e.restart){if(f.alpha(Math.max(f.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(f.alphaMin(),1/h)),e.static)for(f.stop();--h>=0;)f.tick();else if(f.stopped()&&f.restart(),!c)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let e=this._argops,t=0,l=e.length,s;t=0;)t+=n[i].value;else t=1;e.value=t}function _T(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=_R)):void 0===t&&(t=_z);for(var n,i,r,a,o,l=new _P(e),s=[l];n=s.pop();)if((r=t(n.data))&&(o=(r=Array.from(r)).length))for(n.children=r,a=o-1;a>=0;--a)s.push(i=r[a]=new _P(r[a])),i.parent=n,i.depth=n.depth+1;return l.eachBefore(_B)}function _z(e){return e.children}function _R(e){return Array.isArray(e)?e[1]:null}function _L(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function _B(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function _P(e){this.data=e,this.depth=this.height=0,this.parent=null}function _I(e){return null==e?null:_j(e)}function _j(e){if("function"!=typeof e)throw Error();return e}function _U(){return 0}function _q(e){return function(){return e}}function _W(e,t){var n=e.r-t.r,i=t.x-e.x,r=t.y-e.y;return n<0||n*n0&&n*n>i*i+r*r}function _G(e,t){for(var n=0;n1e-6?(S+Math.sqrt(S*S-4*A*M))/(2*A):M/S);return{x:i+w+k*C,y:r+E+$*C,r:C}}function _X(e,t,n){var i,r,a,o,l=e.x-t.x,s=e.y-t.y,u=l*l+s*s;u?(r=t.r+n.r,r*=r,o=e.r+n.r,r>(o*=o)?(i=(u+o-r)/(2*u),a=Math.sqrt(Math.max(0,o/u-i*i)),n.x=e.x-i*l-a*s,n.y=e.y-i*s+a*l):(i=(u+r-o)/(2*u),a=Math.sqrt(Math.max(0,r/u-i*i)),n.x=t.x+i*l-a*s,n.y=t.y+i*s+a*l)):(n.x=t.x+n.r,n.y=t.y)}function _J(e,t){var n=e.r+t.r-1e-6,i=t.x-e.x,r=t.y-e.y;return n>0&&n*n>i*i+r*r}function _Q(e){var t=e._,n=e.next._,i=t.r+n.r,r=(t.x*n.r+n.x*t.r)/i,a=(t.y*n.r+n.y*t.r)/i;return r*r+a*a}function _Z(e){this._=e,this.next=null,this.previous=null}function _K(e){return Math.sqrt(e.value)}function _0(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function _1(e,t,n){return function(i){if(r=i.children){var r,a,o,l=r.length,s=e(i)*t||0;if(s)for(a=0;a1))return n.r;if(i=e[1],n.x=-i.r,i.x=n.r,i.y=0,!(a>2))return n.r+i.r;_X(i,n,r=e[2]),n=new _Z(n),i=new _Z(i),r=new _Z(r),n.next=r.previous=i,i.next=n.previous=r,r.next=i.previous=n;t:for(s=3;s=0;--i)a.push(n[i]);return this},find:function(e,t){let n=-1;for(let i of this)if(e.call(t,i,++n,this))return i},sum:function(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,i=t.children,r=i&&i.length;--r>=0;)n+=i[r].value;t.value=n})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),i=t.ancestors(),r=null;for(e=n.pop(),t=i.pop();e===t;)r=e,e=n.pop(),t=i.pop();return r}(t,e),i=[t];t!==n;)i.push(t=t.parent);for(var r=i.length;e!==n;)i.splice(r,0,e),e=e.parent;return i},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t},copy:function(){return _T(this).eachBefore(_L)},[Symbol.iterator]:function*(){var e,t,n,i,r=this,a=[r];do for(e=a.reverse(),a=[];r=e.pop();)if(yield r,t=r.children)for(n=0,i=t.length;n{var r;let a;return r=e(t,n,i),a=(r=`${r}`).length,wn(r,a-1)&&!wn(r,a-2)&&(r=r.slice(0,-1)),"/"===r[0]?r:`/${r}`}),n=t.map(wt),r=new Set(t).add("");for(let e of n)r.has(e)||(r.add(e),t.push(e),n.push(wt(e)),d.push(_8));h=(e,n)=>t[n],p=(e,t)=>n[t]}for(o=0,r=d.length;o=0&&(u=d[e]).data===_8;--e)u.data=null}if(l.parent=_6,l.eachBefore(function(e){e.depth=e.parent.depth+1,--r}).eachBefore(_B),l.parent=null,r>0)throw Error("cycle");return l}return i.id=function(e){return arguments.length?(t=_I(e),i):t},i.parentId=function(e){return arguments.length?(n=_I(e),i):n},i.path=function(t){return arguments.length?(e=_I(t),i):e},i}function wt(e){let t=e.length;if(t<2)return"";for(;--t>1&&!wn(e,t););return e.slice(0,t)}function wn(e,t){if("/"===e[t]){let n=0;for(;t>0&&"\\"===e[--t];)++n;if((1&n)==0)return!0}return!1}function wi(e,t){return e.parent===t.parent?1:2}function wr(e,t){return e+t.x}function wa(e,t){return Math.max(e,t.y)}function wo(e,t){return e.parent===t.parent?1:2}function wl(e){var t=e.children;return t?t[0]:e.t}function ws(e){var t=e.children;return t?t[t.length-1]:e.t}function wu(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function wf(e,t,n,i,r){for(var a,o=e.children,l=-1,s=o.length,u=e.value&&(r-n)/e.value;++ld&&(d=l),(h=Math.max(d/(g=f*f*m),g/c))>p){f-=l;break}p=h}y.push(o={value:f,dice:s1?t:1)},n}(wc),wp=function e(t){function n(e,n,i,r,a){if((o=e._squarify)&&o.ratio===t)for(var o,l,s,u,f,c=-1,d=o.length,h=e.value;++c1?t:1)},n}(wc);function wm(e,t,n){let i={};return e.each(e=>{let r=e.data;n(r)&&(i[t(r)]=e)}),e.lookup=i,e}function wg(e){ob.call(this,null,e)}wg.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};let wy=e=>e.values;function wv(e){ob.call(this,null,e)}tP(wg,ob,{transform(e,t){let n,i;t.source||eJ("Nest transform requires an upstream data source.");var r=e.generate,a=e.modified(),o=t.clone(),l=this.value;return(!l||a||t.changed())&&(l&&l.each(e=>{e.children&&aX(e.data)&&o.rem.push(e.data)}),this.value=l=_T({values:tw(e.keys).reduce((e,t)=>(e.key(t),e),(n=[],i={entries:e=>(function e(t,i){if(++i>n.length)return t;let r=[];for(let n in t)r.push({key:n,values:e(t[n],i)});return r})(function e(t,i){if(i>=n.length)return t;let r=t.length,a=n[i++],o={},l={},s=-1,u,f,c;for(;++s(n.push(e),i)})).entries(o.source)},wy),r&&l.each(e=>{e.children&&(e=aQ(e.data),o.add.push(e),o.source.push(e))}),wm(l,aJ,aJ)),o.source.root=l,o}});let wb=(e,t)=>e.parent===t.parent?1:2;tP(wv,ob,{transform(e,t){t.source&&t.source.root||eJ(this.constructor.name+" transform requires a backing tree data source.");let n=this.layout(e.method),i=this.fields,r=t.source.root,a=e.as||i;e.field?r.sum(e.field):r.count(),e.sort&&r.sort(a1(e.sort,e=>e.data)),function(e,t,n){for(let i,r=0,a=t.length;r(function(e,t,n){let i=e.data,r=t.length-1;for(let a=0;a(a=(1664525*a+0x3c6ef35f)%0x100000000)/0x100000000);return r.x=t/2,r.y=n/2,e?r.eachBefore(_0(e)).eachAfter(_1(i,.5,o)).eachBefore(_2(1)):r.eachBefore(_0(_K)).eachAfter(_1(_U,1,o)).eachAfter(_1(i,r.r/Math.min(t,n),o)).eachBefore(_2(Math.min(t,n)/(2*r.r))),r}return r.radius=function(t){return arguments.length?(e=_I(t),r):e},r.size=function(e){return arguments.length?(t=+e[0],n=+e[1],r):[t,n]},r.padding=function(e){return arguments.length?(i="function"==typeof e?e:_q(+e),r):i},r},params:["radius","size","padding"],fields:wx});let ww=["x0","y0","x1","y1","depth","children"];function wk(e){wv.call(this,e)}function wE(e){ob.call(this,null,e)}wk.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:ww.length,default:ww}]},tP(wk,wv,{layout:function(){var e=1,t=1,n=0,i=!1;function r(r){var a,o,l=r.height+1;return r.x0=r.y0=n,r.x1=e,r.y1=t/l,r.eachBefore((a=t,o=l,function(e){e.children&&_5(e,e.x0,a*(e.depth+1)/o,e.x1,a*(e.depth+2)/o);var t=e.x0,i=e.y0,r=e.x1-n,l=e.y1-n;r=0;--r)l.push(n=t.children[r]=new wu(i[r],r)),n.parent=t;return(o.parent=new wu(null,0)).children=[o],o}(r);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(o),i)r.eachBefore(l);else{var u=r,f=r,c=r;r.eachBefore(function(e){e.xf.x&&(f=e),e.depth>c.depth&&(c=e)});var d=u===f?1:e(u,f)/2,h=d-u.x,p=t/(f.x+d+h),m=n/(c.depth||1);r.eachBefore(function(e){e.x=(e.x+h)*p,e.y=e.depth*m})}return r}function a(t){var n=t.children,i=t.parent.children,r=t.i?i[t.i-1]:null;if(n){!function(e){for(var t,n=0,i=0,r=e.children,a=r.length;--a>=0;)t=r[a],t.z+=n,t.m+=n,n+=t.s+(i+=t.c)}(t);var a=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+e(t._,r._),t.m=t.z-a):t.z=a}else r&&(t.z=r.z+e(t._,r._));t.parent.A=function(t,n,i){if(n){for(var r,a,o,l=t,s=t,u=n,f=l.parent.children[0],c=l.m,d=s.m,h=u.m,p=f.m;u=ws(u),l=wl(l),u&&l;)f=wl(f),(s=ws(s)).a=t,(o=u.z+h-l.z-c+e(u._,l._))>0&&(!function(e,t,n){var i=n/(t.i-e.i);t.c-=i,t.s+=n,e.c+=i,t.z+=n,t.m+=n}((r=u,a=i,r.a.parent===t.parent?r.a:a),t,o),c+=o,d+=o),h+=u.m,c+=l.m,p+=f.m,d+=s.m;u&&!ws(s)&&(s.t=u,s.m+=h-d),l&&!wl(f)&&(f.t=l,f.m+=c-p,i=t)}return i}(t,r,t.parent.A||i[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=t,e.y=e.depth*n}return r.separation=function(t){return arguments.length?(e=t,r):e},r.size=function(e){return arguments.length?(i=!1,t=+e[0],n=+e[1],r):i?null:[t,n]},r.nodeSize=function(e){return arguments.length?(i=!0,t=+e[0],n=+e[1],r):i?[t,n]:null},r},cluster:function(){var e=wi,t=1,n=1,i=!1;function r(r){var a,o=0;r.eachAfter(function(t){var n=t.children;n?(t.x=n.reduce(wr,0)/n.length,t.y=1+n.reduce(wa,0)):(t.x=a?o+=e(t,a):0,t.y=0,a=t)});var l=function(e){for(var t;t=e.children;)e=t[0];return e}(r),s=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(r),u=l.x-e(l,s)/2,f=s.x+e(s,l)/2;return r.eachAfter(i?function(e){e.x=(e.x-r.x)*t,e.y=(r.y-e.y)*n}:function(e){e.x=(e.x-u)/(f-u)*t,e.y=(1-(r.y?e.y/r.y:1))*n})}return r.separation=function(t){return arguments.length?(e=t,r):e},r.size=function(e){return arguments.length?(i=!1,t=+e[0],n=+e[1],r):i?null:[t,n]},r.nodeSize=function(e){return arguments.length?(i=!0,t=+e[0],n=+e[1],r):i?[t,n]:null},r}},wA=["x","y","depth","children"];function wS(e){wv.call(this,e)}function wM(e){ob.call(this,[],e)}wS.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:wA.length,default:wA}]},tP(wS,wv,{layout(e){let t=e||"tidy";if(tz(w$,t))return w$[t]();eJ("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:wA}),wM.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},tP(wM,ob,{transform(e,t){let n=this.value,i=t.source&&t.source.root,r=t.fork(t.NO_SOURCE),a={};return i||eJ("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(r.rem=n,t.visit(t.SOURCE,e=>a[aJ(e)]=1),i.each(e=>{let t=e.data,n=e.parent&&e.parent.data;n&&a[aJ(t)]&&a[aJ(n)]&&r.add.push(aQ({source:n,target:t}))}),this.value=r.add):t.changed(t.MOD)&&(t.visit(t.MOD,e=>a[aJ(e)]=1),n.forEach(e=>{(a[aJ(e.source)]||a[aJ(e.target)])&&r.mod.push(e)})),r}});let wC={binary:function(e,t,n,i,r){var a,o,l=e.children,s=l.length,u=Array(s+1);for(u[0]=o=a=0;a=n-1){var f=l[t];f.x0=r,f.y0=a,f.x1=o,f.y1=s;return}for(var c=u[t],d=i/2+c,h=t+1,p=n-1;h>>1;u[m]s-a){var v=i?(r*y+o*g)/i:o;e(t,h,g,r,a,v,s),e(h,n,y,v,a,o,s)}else{var b=i?(a*y+s*g)/i:s;e(t,h,g,r,a,o,b),e(h,n,y,r,b,o,s)}}(0,s,e.value,t,n,i,r)},dice:_5,slice:wf,slicedice:function(e,t,n,i,r){(1&e.depth?wf:_5)(e,t,n,i,r)},squarify:wh,resquarify:wp},wD=["x0","y0","x1","y1","depth","children"];function wF(e){wv.call(this,e)}wF.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:wD.length,default:wD}]},tP(wF,wv,{layout(){let e=function(){var e=wh,t=!1,n=1,i=1,r=[0],a=_U,o=_U,l=_U,s=_U,u=_U;function f(e){return e.x0=e.y0=0,e.x1=n,e.y1=i,e.eachBefore(c),r=[0],t&&e.eachBefore(_3),e}function c(t){var n=r[t.depth],i=t.x0+n,f=t.y0+n,c=t.x1-n,d=t.y1-n;c{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{tz(wC,t)?e.tile(wC[t]):eJ("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:wD}),e.s(["nest",0,wg,"pack",0,w_,"partition",0,wk,"stratify",0,wE,"tree",0,wS,"treelinks",0,wM,"treemap",0,wF],13296);var wO=e.i(13296);function wN(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function wT(e,t,n){if(!t.length)return;let i=t[0].mark.marktype;"group"===i?t.forEach(t=>{t.items.forEach(t=>wT(e,t.items,n))}):p6[i].draw(e,{items:n?t.map(wz):t})}function wz(e){let t=aK(e,{});return t.stroke&&0!==t.strokeOpacity||t.fill&&0!==t.fillOpacity?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}let wR=new Uint32Array(33),wL=new Uint32Array(33);wL[0]=0,wR[0]=~wL[0];for(let e=1;e<=32;++e)wL[e]=wL[e-1]<<1|1,wR[e]=~wL[e];function wB(e,t,n,i,r,a){let o=n/2;return e-o<0||e+o>r||t-(o=i/2)<0||t+o>a}function wP(e,t,n,i,r,a,o,l){let s=r*a/(2*i),u=e(t-s),f=e(t+s),c=e(n-(a/=2)),d=e(n+a);return o.outOfBounds(u,c,f,d)||o.getRange(u,c,f,d)||l&&l.getRange(u,c,f,d)}let wI=[-1,-1,1,1],wj=[-1,1,-1,1],wU=["right","center","left"],wq=["bottom","middle","top"];function wW(e,t,n,i,r,a,o,l,s,u,f,c){return!(r.outOfBounds(e,n,t,i)||(c&&a||r).getRange(e,n,t,i))}let wH={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},wG={naive:function(e,t,n,i){let r=e.width,a=e.height;return function(e){let t=e.datum.datum.items[i].items,n=t.length,o=e.datum.fontSize,l=pj.width(e.datum,e.datum.text),s=0,u,f,c,d,h,p,m;for(let i=0;i=s&&(s=m,e.x=h,e.y=p);return h=l/2,p=o/2,u=e.x-h,f=e.x+h,c=e.y-p,d=e.y+p,e.align="center",u<0&&f<=r?e.align="left":0<=u&&r=1;)wP(e,f,c,u,s,p=(d+h)/2,o,l)?h=p:d=p;if(d>i)return[f,c,d,!0]}}return function(t){let l=t.datum.datum.items[i].items,u=l.length,f=t.datum.fontSize,c=pj.width(t.datum,t.datum.text),d=n?f:0,h=!1,p=!1,m=0,g,y,v,b,x,_,w,k,E,$,A,S,M,C,D,F,O;for(let i=0;iy&&(O=g,g=y,y=O),v>b&&(O=v,v=b,b=O),$=~~(((E=e(g))+(A=e(y)))/2),M=~~(((S=e(v))+(C=e(b)))/2),w=$;w>=E;--w)for(k=M;k>=S;--k)(F=s(w,k,d,c,f))&&([t.x,t.y,d,h]=F);for(w=$;w<=A;++w)for(k=M;k<=C;++k)(F=s(w,k,d,c,f))&&([t.x,t.y,d,h]=F);!h&&!n&&(D=Math.abs(y-g+b-v),x=(g+y)/2,_=(v+b)/2,!(D>=m)||wB(x,_,c,f,r,a)||wP(e,x,_,f,c,f,o,null)||(m=D,t.x=x,t.y=_,p=!0))}return(!!h||!!p)&&(x=c/2,_=f/2,o.setRange(e(t.x-x),e(t.y-_),e(t.x+x),e(t.y+_)),t.align="center",t.baseline="middle",!0)}},floodfill:function(e,t,n,i){let r=e.width,a=e.height,o=t[0],l=t[1],s=e.bitmap();return function(t){let u=t.datum.datum.items[i].items,f=u.length,c=t.datum.fontSize,d=pj.width(t.datum,t.datum.text),h=[],p=n?c:0,m=!1,g=!1,y=0,v,b,x,_,w,k,E,$,A,S,M,C;for(let i=0;i=1;)wP(e,w,k,c,d,M=(A+S)/2,o,l)?S=M:A=M;A>p&&(t.x=w,t.y=k,p=A,m=!0)}}!m&&!n&&(C=Math.abs(b-v+_-x),w=(v+b)/2,k=(x+_)/2,!(C>=y)||wB(w,k,d,c,r,a)||wP(e,w,k,c,d,c,o,null)||(y=C,t.x=w,t.y=k,g=!0))}return(!!m||!!g)&&(w=d/2,k=c/2,o.setRange(e(t.x-w),e(t.y-k),e(t.x+w),e(t.y+k)),t.align="center",t.baseline="middle",!0)}}},wY=["x","y","opacity","align","baseline"],wV=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function wX(e){ob.call(this,null,e)}wX.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:wV},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:wY.length,default:wY}]},tP(wX,ob,{transform(e,t){let n,i=e.modified();if(!(i||t.changed(t.ADD_REM)||tE(n=e.sort)&&t.modified(n.fields)))return;e.size&&2===e.size.length||eJ("Size parameter should be specified as a [width, height] array.");let r=e.as||wY;return(function(e,t,n,i,r,a,o,l,s,u,f){var c,d,h,p,m,g,y,v,b,x;let _,w,k,E,$,A,S,M,C,D,F;if(!e.length)return e;let O=Math.max(i.length,r.length),N=function(e,t){let n=new Float64Array(t),i=e.length;for(let t=0;t[e.x,e.x,e.x,e.y,e.y,e.y],y?"line"===y||"area"===y?e=>F(e.datum):"line"===v?e=>{let t=e.datum.items[x].items;return F(t.length?t["start"===b?0:t.length-1]:{x:NaN,y:NaN})}:e=>{let t=e.datum.bounds;return[t.x1,(t.x1+t.x2)/2,t.x2,t.y1,(t.y1+t.y2)/2,t.y2]}:F),P=null===u||u===1/0,I=L&&"naive"===f,j=-1,U=-1,q=e.map(e=>{let t=P?pj.width(e,e.text):void 0;return j=Math.max(j,t),U=Math.max(U,e.fontSize),{datum:e,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:B(e),textWidth:t}});u=null===u||u===1/0?Math.max(j,U)+Math.max(...i):u;let W=(c=t[0],d=t[1],h=u,w=Math.max(1,Math.sqrt(c*d/1e6)),k=~~((c+2*h+w)/w),E=~~((d+2*h+w)/w),($=e=>~~((e+h)/w)).invert=e=>e*w-h,$.bitmap=()=>{var e,t;let n;return{array:n=new Uint32Array(~~(((e=k)*(t=E)+32)/32)),get:(t,i)=>{let r=i*e+t;return n[r>>>5]&1<<(31&r)},set:(t,i)=>{let r=i*e+t;n[r>>>5]|=1<<(31&r)},clear:(t,i)=>{let r=i*e+t;n[r>>>5]&=~(1<<(31&r))},getRange:(t,i,r,a)=>{let o=a,l,s,u,f;for(;o>=i;--o)if(l=o*e+t,s=o*e+r,(u=l>>>5)==(f=s>>>5)){if(n[u]&wR[31&l]&wL[(31&s)+1])return!0}else{if(n[u]&wR[31&l]||n[f]&wL[(31&s)+1])return!0;for(let e=u+1;e{var o,l,s,u;let f,c,d,h,p;for(;i<=a;++i)if(f=i*e+t,c=i*e+r,(d=f>>>5)==(h=c>>>5))o=wR[31&f]&wL[(31&c)+1],n[d]|=o;else for(l=wR[31&f],n[d]|=l,s=wL[(31&c)+1],n[h]|=s,p=d+1;p{var o,l,s,u;let f,c,d,h,p;for(;i<=a;++i)if(f=i*e+t,c=i*e+r,(d=f>>>5)==(h=c>>>5))o=wL[31&f]|wR[(31&c)+1],n[d]&=o;else for(l=wL[31&f],n[d]&=l,s=wR[(31&c)+1],n[h]&=s,p=d+1;pn<0||i<0||a>=t||r>=e}},$.ratio=w,$.padding=h,$.width=c,$.height=d,$);if(!I){let t;n&&q.sort((e,t)=>n(e.datum,t.datum));let i=!1;for(let e=0;ee.datum);_=a.length||r?function(e,t,n,i,r){let a,o,l,s,u,f,c,d,h=e.width,p=e.height,m=i||r,g=uk(h,p).getContext("2d"),y=uk(h,p).getContext("2d"),v=m&&uk(h,p).getContext("2d");n.forEach(e=>wT(g,e,!1)),wT(y,t,!1),m&&wT(v,t,!0);let b=wN(g,h,p),x=wN(y,h,p),_=m&&wN(v,h,p),w=e.bitmap(),k=m&&e.bitmap();for(o=0;ot.set(W(e.boundary[0]),W(e.boundary[3]))),[t,void 0])}let H=L?wG[f](W,_,o,s):(m=_,A=W.width,S=W.height,M=m[0],C=m[1],D=N.length,function(e){let t=e.boundary,n=e.datum.fontSize;if(t[2]<0||t[5]<0||t[0]>A||t[3]>S)return!1;let i=e.textWidth??0,r,a,o,l,s,u,f,c,d,h,p,m,g,y,v;for(let b=0;b>>2&3)-1,o=0===r&&0===a||N[b]<0,l=r&&a?Math.SQRT1_2:1,s=N[b]<0?-1:1,u=t[1+r]+N[b]*r*l,c=(p=t[4+a]+s*n*a/2+N[b]*a*l)-n/2,d=p+n/2,m=W(u),y=W(c),v=W(d),!i)if(!wW(m,m,y,v,M,C,u,u,c,d,t,o))continue;else i=pj.width(e.datum,e.datum.text);if(u=(h=u+s*i*r/2)-i/2,f=h+i/2,wW(m=W(u),g=W(f),y,v,M,C,u,f,c,d,t,o))return e.x=r?r*s<0?f:u:h,e.y=a?a*s<0?d:c:p,e.align=wU[r*s+1],e.baseline=wq[a*s+1],M.setRange(m,y,g,v),!0}return!1});return q.forEach(e=>e.opacity=+H(e)),q})(t.materialize(t.SOURCE).source||[],e.size,e.sort,tw(null==e.offset?1:e.offset),tw(e.anchor||wV),e.avoidMarks||[],!1!==e.avoidBaseMark,e.lineAnchor||"end",e.markIndex||0,void 0===e.padding?0:e.padding,e.method||"naive").forEach(e=>{let t=e.datum;t[r[0]]=e.x,t[r[1]]=e.y,t[r[2]]=e.opacity,t[r[3]]=e.align,t[r[4]]=e.baseline}),t.reflow(i).modifies(r)}}),e.s(["label",0,wX],51760);var wJ=e.i(51760);function wQ(e,t){var n,i,r,a,o,l,s=[],u=function(e){return e(a)};if(null==t)s.push(e);else for(n={},i=0,r=e.length;i{lu(t,e.x,e.y,e.bandwidth||.3).forEach(e=>{let n={};for(let e=0;e{if(n.length<=l)return void t.dataflow.warn("Skipping regression with more parameters than data points.");let i=u(n,e.x,e.y,o);if(e.params)return void f.push(aQ({keys:n.dims,coef:i.coef,rSquared:i.rSquared}));let d=c||tN(n,e.x),h=e=>{let t={};for(let e=0;eh([e,i.predict(e)])):lc(i.predict,d,25,200).forEach(h)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}}),e.s(["loess",0,wZ,"regression",0,w0],69639);var w1=e.i(69639);let w2=(3+8881784197001252e-31)*11102230246251565e-32;function w3(e,t,n,i,r){let a,o,l,s,u=t[0],f=i[0],c=0,d=0;f>u==f>-u?(a=u,u=t[++c]):(a=f,f=i[++d]);let h=0;if(cu==f>-u?(o=u+a,l=a-(o-u),u=t[++c]):(o=f+a,l=a-(o-f),f=i[++d]),a=o,0!==l&&(r[h++]=l);cu==f>-u?(s=(o=a+u)-a,l=a-(o-s)+(u-s),u=t[++c]):(s=(o=a+f)-a,l=a-(o-s)+(f-s),f=i[++d]),a=o,0!==l&&(r[h++]=l);for(;c=w6*u?s:-function(e,t,n,i,r,a,o){let l,s,u,f,c,d,h,p,m,g,y,v,b,x,_,w,k,E,$=e-r,A=n-r,S=t-a,M=i-a;x=$*M,h=(d=0x8000001*$)-(d-$),p=$-h,m=(d=0x8000001*M)-(d-M),_=p*(g=M-m)-(x-h*m-p*m-h*g),w=S*A,h=(d=0x8000001*S)-(d-S),p=S-h,m=(d=0x8000001*A)-(d-A),y=_-(k=p*(g=A-m)-(w-h*m-p*m-h*g)),c=_-y,w9[0]=_-(y+c)+(c-k),c=(v=x+y)-x,y=(b=x-(v-c)+(y-c))-w,c=b-y,w9[1]=b-(y+c)+(c-w),c=(E=v+y)-v,w9[2]=v-(E-c)+(y-c),w9[3]=E;let C=function(e){let t=e[0];for(let n=1;n<4;n++)t+=e[n];return t}(w9),D=w4*o;if(C>=D||-C>=D||(c=e-$,l=e-($+c)+(c-r),c=n-A,u=n-(A+c)+(c-r),c=t-S,s=t-(S+c)+(c-a),c=i-M,f=i-(M+c)+(c-a),0===l&&0===s&&0===u&&0===f)||(D=w8*o+w2*Math.abs(C),(C+=$*f+M*l-(S*u+A*s))>=D||-C>=D))return C;x=l*M,h=(d=0x8000001*l)-(d-l),p=l-h,m=(d=0x8000001*M)-(d-M),_=p*(g=M-m)-(x-h*m-p*m-h*g),w=s*A,h=(d=0x8000001*s)-(d-s),p=s-h,m=(d=0x8000001*A)-(d-A),y=_-(k=p*(g=A-m)-(w-h*m-p*m-h*g)),c=_-y,kn[0]=_-(y+c)+(c-k),c=(v=x+y)-x,y=(b=x-(v-c)+(y-c))-w,c=b-y,kn[1]=b-(y+c)+(c-w),c=(E=v+y)-v,kn[2]=v-(E-c)+(y-c),kn[3]=E;let F=w3(4,w9,4,kn,w7);x=$*f,h=(d=0x8000001*$)-(d-$),p=$-h,m=(d=0x8000001*f)-(d-f),_=p*(g=f-m)-(x-h*m-p*m-h*g),w=S*u,h=(d=0x8000001*S)-(d-S),p=S-h,m=(d=0x8000001*u)-(d-u),y=_-(k=p*(g=u-m)-(w-h*m-p*m-h*g)),c=_-y,kn[0]=_-(y+c)+(c-k),c=(v=x+y)-x,y=(b=x-(v-c)+(y-c))-w,c=b-y,kn[1]=b-(y+c)+(c-w),c=(E=v+y)-v,kn[2]=v-(E-c)+(y-c),kn[3]=E;let O=w3(F,w7,4,kn,ke);x=l*f,h=(d=0x8000001*l)-(d-l),p=l-h,m=(d=0x8000001*f)-(d-f),_=p*(g=f-m)-(x-h*m-p*m-h*g),w=s*u,h=(d=0x8000001*s)-(d-s),p=s-h,m=(d=0x8000001*u)-(d-u),y=_-(k=p*(g=u-m)-(w-h*m-p*m-h*g)),c=_-y,kn[0]=_-(y+c)+(c-k),c=(v=x+y)-x,y=(b=x-(v-c)+(y-c))-w,c=b-y,kn[1]=b-(y+c)+(c-w),c=(E=v+y)-v,kn[2]=v-(E-c)+(y-c),kn[3]=E;let N=w3(O,ke,4,kn,kt);return kt[N-1]}(e,t,n,i,r,a,u)}w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(8),w5(8),w5(8),w5(4),w5(8),w5(8),w5(16),w5(12),w5(192),w5(192),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(8),w5(8),w5(8),w5(8),w5(8),w5(8),w5(8),w5(8),w5(8),w5(4),w5(4),w5(4),w5(8),w5(16),w5(16),w5(16),w5(32),w5(32),w5(48),w5(64),w5(1152),w5(1152),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(4),w5(24),w5(24),w5(24),w5(24),w5(24),w5(24),w5(24),w5(24),w5(24),w5(24),w5(1152),w5(1152),w5(1152),w5(1152),w5(1152),w5(2304),w5(2304),w5(3456),w5(5760),w5(8),w5(8),w5(8),w5(16),w5(24),w5(48),w5(48),w5(96),w5(192),w5(384),w5(384),w5(384),w5(768),w5(96),w5(96),w5(96),w5(1152);let kr=new Uint32Array(512);class ka{static from(e,t=ku,n=kf){let i=e.length,r=new Float64Array(2*i);for(let a=0;a>1;if(t>0&&"number"!=typeof e[0])throw Error("Expected coords to contain numbers.");this.coords=e;const n=Math.max(2*t-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){var e,t,n,i,r,a;let o,l,s,u,f,c,d,{coords:h,_hullPrev:p,_hullNext:m,_hullTri:g,_hullHash:y}=this,v=h.length>>1,b=1/0,x=1/0,_=-1/0,w=-1/0;for(let e=0;e_&&(_=t),n>w&&(w=n),this._ids[e]=e}let k=(b+_)/2,E=(x+w)/2,$=0,A=0,S=0;for(let e=0,t=1/0;e0&&(A=e,t=n)}let D=h[2*A],F=h[2*A+1],O=1/0;for(let e=0;ei&&(e[t++]=r,i=a)}this.hull=e.subarray(0,t),this.triangles=new Uint32Array(0),this.halfedges=new Int32Array(0);return}if(0>ki(M,C,D,F,N,T)){let e=A,t=D,n=F;A=S,D=N,F=T,S=e,N=t,T=n}let z=(e=M,t=C,n=D,i=F,r=N,a=T,o=n-e,l=i-t,s=r-e,u=a-t,f=o*o+l*l,c=s*s+u*u,d=.5/(o*u-l*s),{x:e+(u*f-l*c)*d,y:t+(o*c-s*f)*d});this._cx=z.x,this._cy=z.y;for(let e=0;e0&&2220446049250313e-31>=Math.abs(r-t)&&2220446049250313e-31>=Math.abs(a-n)||(t=r,n=a,i===$||i===A||i===S))continue;let o=0;for(let e=0,t=this._hashKey(r,a);e=0;)if((l=s)===o){l=-1;break}if(-1===l)continue;let u=this._addTriangle(l,i,m[l],-1,-1,g[l]);g[i]=this._legalize(u+2),g[l]=u,R++;let f=m[l];for(;s=m[f],0>ki(r,a,h[2*f],h[2*f+1],h[2*s],h[2*s+1]);)u=this._addTriangle(f,i,s,g[i],-1,g[f]),g[i]=this._legalize(u+2),m[f]=f,R--,f=s;if(l===o)for(;0>ki(r,a,h[2*(s=p[l])],h[2*s+1],h[2*l],h[2*l+1]);)u=this._addTriangle(s,i,l,-1,g[l],g[s]),this._legalize(u+2),g[s]=u,m[l]=l,R--,l=s;this._hullStart=p[i]=l,m[l]=p[f]=i,m[i]=f,y[this._hashKey(r,a)]=i,y[this._hashKey(h[2*l],h[2*l+1])]=l}this.hull=new Uint32Array(R);for(let e=0,t=this._hullStart;e0?3-r:1+r)/4*this._hashSize))%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:i}=this,r=0,a=0;for(;;){let o=n[e],l=e-e%3;if(a=l+(e+2)%3,-1===o){if(0===r)break;e=kr[--r];continue}let s=o-o%3,u=l+(e+1)%3,f=s+(o+2)%3,c=t[a],d=t[e],h=t[u],p=t[f];if(function(e,t,n,i,r,a,o,l){let s=e-o,u=t-l,f=n-o,c=i-l,d=r-o,h=a-l,p=f*f+c*c,m=d*d+h*h;return s*(c*m-p*h)-u*(f*m-p*d)+(s*s+u*u)*(f*h-c*d)<0}(i[2*c],i[2*c+1],i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1])){t[e]=p,t[o]=c;let i=n[f];if(-1===i){let t=this._hullStart;do{if(this._hullTri[t]===f){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,i),this._link(o,n[a]),this._link(a,f);let l=s+(o+1)%3;r=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=i}else{let r=n+i>>1,a=n+1,o=i;ks(e,r,a),t[e[n]]>t[e[i]]&&ks(e,n,i),t[e[a]]>t[e[i]]&&ks(e,a,i),t[e[n]]>t[e[a]]&&ks(e,n,a);let l=e[a],s=t[l];for(;;){do a++;while(t[e[a]]s)if(o=o-n?(kl(e,t,a,i),kl(e,t,n,o-1)):(kl(e,t,n,o-1),kl(e,t,a,i))}}function ks(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function ku(e){return e[0]}function kf(e){return e[1]}class kc{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e*=1,t*=1,n*=1;let i=e+n,r=t;if(n<0)throw Error("negative radius");null===this._x1?this._+=`M${i},${r}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-r)>1e-6)&&(this._+="L"+i+","+r),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=i},${this._y1=r}`)}rect(e,t,n,i){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+i}h${-n}Z`}value(){return this._||null}}class kd{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}}class kh{constructor(e,[t,n,i,r]=[0,0,960,500]){if(!((i*=1)>=(t*=1))||!((r*=1)>=(n*=1)))throw Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(2*e.points.length),this.vectors=new Float64Array(2*e.points.length),this.xmax=i,this.xmin=t,this.ymax=r,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let e,t,{delaunay:{points:n,hull:i,triangles:r},vectors:a}=this,o=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let a=0,l=0,s=r.length,u,f;aMath.abs(k)){if(void 0===e){for(let r of(e=t=0,i))e+=n[2*r],t+=n[2*r+1];e/=i.length,t/=i.length}let r=1e9*Math.sign((e-h)*w-(t-p)*_);u=(h+y)/2-r*w,f=(p+v)/2+r*_}else{let e=1/k,t=b*b+x*x,n=_*_+w*w;u=h+(w*t-x*n)*e,f=p+(b*n-_*t)*e}o[l]=u,o[l+1]=f}let l=i[i.length-1],s,u=4*l,f,c=n[2*l],d,h=n[2*l+1];a.fill(0);for(let e=0;e1;)r-=2;for(let e=2;e0){if(t>=this.ymax)return null;(a=(this.ymax-t)/i)0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)this.xmax))|(tthis.ymax))}_simplify(e){if(e&&e.length>4){for(let t=0;t2&&function(e){let{triangles:t,coords:n}=e;for(let e=0;e1e-10)return!1}return!0}(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],r=this.collinear[this.collinear.length-1],a=[t[2*e],t[2*e+1],t[2*r],t[2*r+1]],o=1e-8*Math.hypot(a[3]-a[1],a[2]-a[0]);for(let e=0,r=t.length/2;e0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=a[0],l[a[0]]=1,2===a.length&&(l[a[1]]=0,this.triangles[1]=a[1],this.triangles[2]=a[1]))}voronoi(e){return new kh(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:i,halfedges:r,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:i,hull:r,_hullIndex:a,halfedges:o,triangles:l,points:s}=this;if(-1===i[e]||!s.length)return(e+1)%(s.length>>1);let u=e,f=km(t-s[2*e],2)+km(n-s[2*e+1],2),c=i[e],d=c;do{let i=l[d],c=km(t-s[2*i],2)+km(n-s[2*i+1],2);if(c>2),e.width=2048/d,e.height=2048/d,(h=e.getContext("2d")).fillStyle=h.strokeStyle="red",h.textAlign="center",{context:h,ratio:d}),m=function(e){for(var t=[],n=-1;++n>5)*s[1]),g=null,y=f.length,v=-1,b=[],x=f.map(e=>({text:t(e),font:n(e),style:r(e),weight:a(e),rotate:o(e),size:~~(i(e)+1e-14),padding:l(e),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:e})).sort((e,t)=>t.size-e.size);++v>1,_.y=s[1]*(c()+.5)>>1,function(e,t,n,i){if(!t.sprite){var r=e.context,a=e.ratio;r.clearRect(0,0,2048/a,2048/a);var o,l,s,u,f,c=0,d=0,h=0,p=n.length;for(--i;++i>5<<5,s=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else o=o+31>>5<<5;if(s>h&&(h=s),c+o>=2048&&(c=0,d+=h,h=0),d+s>=2048)break;r.translate((c+(o>>1))/a,(d+(s>>1))/a),t.rotate&&r.rotate(t.rotate*kw),r.fillText(t.text,0,0),t.padding&&(r.lineWidth=2*t.padding,r.strokeText(t.text,0,0)),r.restore(),t.width=o,t.height=s,t.xoff=c,t.yoff=d,t.x1=o>>1,t.y1=s>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,c+=o}for(var _=r.getImageData(0,0,2048/a,2048/a).data,w=[];--i>=0;)if((t=n[i]).hasText){for(u=0,l=(o=t.width)>>5,s=t.y1-t.y0;u>5),A=_[(d+f)*2048+(c+u)<<2]?1<<31-u%32:0;w[$]|=A,k|=A}k?E=f:(t.y0++,s--,f--,d++)}t.y1=t.y0+E,t.sprite=w.slice(0,(t.y1-t.y0)*l)}}}(p,_,x,v),_.hasText&&function(e,t,n){for(var i,r,a,o=t.x,l=t.y,f=Math.hypot(s[0],s[1]),d=u(s),h=.5>c()?1:-1,p=-h;(i=d(p+=h))&&!(Math.min(Math.abs(r=~~i[0]),Math.abs(a=~~i[1]))>=f);)if(t.x=o+r,t.y=l+a,!(t.x+t.x0<0)&&!(t.y+t.y0<0)&&!(t.x+t.x1>s[0])&&!(t.y+t.y1>s[1])){if((!n||!function(e,t,n){n>>=5;for(var i,r=e.sprite,a=e.width>>5,o=e.x-(a<<4),l=127&o,s=32-l,u=e.y1-e.y0,f=(e.y+e.y0)*n+(o>>5),c=0;c>>l:0))&t[f+d])return!0;f+=n}return!1}(t,e,s[0]))&&(!n||(m=t,g=n,m.x+m.x1>g[0].x&&m.x+m.x0g[0].y&&m.y+m.y0>5,x=s[0]>>5,_=t.x-(b<<4),w=127&_,k=32-w,E=t.y1-t.y0,$=(t.y+t.y0)*x+(_>>5),A=0;A>>w:0);$+=x}return t.sprite=null,!0}}return!1}(m,_,g)&&(b.push(_),g?function(e,t){var n=e[0],i=e[1];t.x+t.x0i.x&&(i.x=t.x+t.x1),t.y+t.y1>i.y&&(i.y=t.y+t.y1)}(g,_):g=[{x:_.x+_.x0,y:_.y+_.y0},{x:_.x+_.x1,y:_.y+_.y1}],_.x-=s[0]>>1,_.y-=s[1]>>1)}return b},d.words=function(e){return arguments.length?(f=e,d):f},d.size=function(e){return arguments.length?(s=[+e[0],+e[1]],d):s},d.font=function(e){return arguments.length?(n=kE(e),d):n},d.fontStyle=function(e){return arguments.length?(r=kE(e),d):r},d.fontWeight=function(e){return arguments.length?(a=kE(e),d):a},d.rotate=function(e){return arguments.length?(o=kE(e),d):o},d.text=function(e){return arguments.length?(t=kE(e),d):t},d.spiral=function(e){return arguments.length?(u=k$[e]||e,d):u},d.fontSize=function(e){return arguments.length?(i=kE(e),d):i},d.padding=function(e){return arguments.length?(l=kE(e),d):l},d.random=function(e){return arguments.length?(c=e,d):c},d),e)}kM.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:kA}]},tP(kM,ob,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&eJ("Wordcloud size dimensions must be non-zero.");let n=e.modified();if(!(n||t.changed(t.ADD_REM)||kS.some(function(n){let i=e[n];return tE(i)&&t.modified(i.fields)})))return;let i=t.materialize(t.SOURCE).source,r=this.value,a=e.as||kA,o=e.fontSize||14,l;if(tE(o)?l=e.fontSizeRange:o=tD(o),l){let e=o,t=dg("sqrt")().domain(tN(i,e)).range(l);o=n=>t(e(n))}i.forEach(e=>{e[a[0]]=NaN,e[a[1]]=NaN,e[a[3]]=0});let s=r.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(o).random(oR).layout(),u=r.size(),f=u[0]>>1,c=u[1]>>1,d=s.length;for(let e=0,t,n;enew Uint32Array(e);function kF(e,t,n){let i=(t<257?e=>new Uint8Array(e):t<65537?e=>new Uint16Array(e):kD)(e);return n&&i.set(n),i}function kO(e,t,n){let i=1<{let i=e[t],r=e[n];return ir)}),Array.from(t,t=>e[t])}(u,s),o)f=t,c=e,t=Array(o+l),e=kD(o+l),function(e,t,n,i,r,a,o,l,s){let u=0,f=0,c;for(c=0;u0)for(d=0;de,size:()=>n}}function kT(e){let t,n,i,r,a;ob.call(this,(t=8,n=[],i=kD(0),r=kF(0,t),a=kF(0,t),{data:()=>n,seen:()=>{var e,t,r;return e=i,t=n.length,i=e.length>=t?e:((r=r||new e.constructor(t)).set(e),r)},add(e){for(let t=0,i=n.length,r=e.length,a;tn.length,curr:()=>r,prev:()=>a,reset:e=>a[e]=r[e],all:()=>t<257?255:t<65537?65535:0xffffffff,set(e,t){r[e]|=t},clear(e,t){r[e]&=~t},resize(e,n){(e>r.length||n>t)&&(r=kF(e,t=Math.max(n,t),r),a=kF(e,t))}}),e),this._indices=null,this._dims=null}function kz(e){ob.call(this,null,e)}kT.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},tP(kT,ob,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(e=>t.modified(e.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,i=e.query,r=this._indices={},a=this._dims=[],o=i.length,l=0,s,u;for(;l{let e=r.remove(t,n);for(let t in i)i[t].reindex(e)})},update(e,t,n){let i=this._dims,r=e.query,a=t.stamp,o=i.length,l=0,s,u;for(u=0,n.filters=0;ug)for(r=g,a=Math.min(p,y);ry)for(r=Math.max(p,y),a=m;rh)for(r=h,a=Math.min(c,p);rp)for(r=Math.max(c,p),a=d;rl[e]&n?null:o[e];return a.filter(a.MOD,u),r&r-1?(a.filter(a.ADD,e=>{let t=l[e]&n;return!t&&t^s[e]&n?o[e]:null}),a.filter(a.REM,e=>{let t=l[e]&n;return t&&!(t^(t^s[e]&n))?o[e]:null})):(a.filter(a.ADD,u),a.filter(a.REM,e=>(l[e]&n)===r?o[e]:null)),a.filter(a.SOURCE,e=>u(e._index))}}),e.s(["crossfilter",0,kT,"resolvefilter",0,kz],38724);var kR=e.i(38724);let kL="Literal",kB="CallExpression";function kP(e){this.type=e}kP.prototype.visit=function(e){let t,n,i;if(e(this))return 1;for(t=function(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case kB:return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];default:return[]}}(this),n=0,i=t.length;n",Ew[3]="Identifier",Ew[4]="Keyword",Ew[5]="Null",Ew[6]="Numeric",Ew[7]="Punctuator",Ew[8]="String",Ew[9]="RegularExpression";var kI="Identifier",kj="Unexpected token %0",kU="Invalid regular expression",kq="Invalid regular expression: missing /",kW="Octal literals are not allowed in strict mode.",kH="ILLEGAL",kG="Disabled.",kY=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),kV=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function kX(e,t){if(!e)throw Error("ASSERT: "+t)}function kJ(e){return e>=48&&e<=57}function kQ(e){return"0123456789abcdefABCDEF".includes(e)}function kZ(e){return"01234567".includes(e)}function kK(e){return 10===e||13===e||8232===e||8233===e}function k0(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&kY.test(String.fromCharCode(e))}function k1(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&kV.test(String.fromCharCode(e))}let k2={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function k3(){for(;EE=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)||kK(e))++EE;else break}}function k5(e){var t,n,i,r=0;for(t=0,n="u"===e?4:2;t>>="===(i=Ek.substr(EE,4))?{type:7,value:i,start:r,end:EE+=4}:">>>"===(n=i.substr(0,3))||"<<="===n||">>="===n?{type:7,value:n,start:r,end:EE+=3}:o===(t=n.substr(0,2))[1]&&"+-<>&|".includes(o)||"=>"===t?{type:7,value:t,start:r,end:EE+=2}:("//"===t&&Eo({},kj,kH),"<>=!+-*%&|^/".includes(o))?{type:7,value:o,start:r,end:++EE}:void Eo({},kj,kH)}function k8(){var e,t,n;if(kX(kJ((n=Ek[EE]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),t=EE,e="","."!==n){if(e=Ek[EE++],n=Ek[EE],"0"===e){if("x"===n||"X"===n){++EE;let e="";for(;EE=E$)return{type:2,start:EE,end:EE};let e=Ek.charCodeAt(EE);if(k0(e)){var t,n;return t=EE,{type:1===(n=92===Ek.charCodeAt(EE)?k6():function(){var e,t;for(e=EE++;EE1114111||"}"!==e)&&Eo({},kj,kH),t<=65535)?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}()):r+=k5(n);break;case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;case"b":r+="\b";break;case"f":r+="\f";break;case"v":r+="\v";break;default:kZ(n)?(0!==(i="01234567".indexOf(n))&&(a=!0),EE(kX(t=0&&Eo({},kU,n),{value:n,literal:t}}(),o=function(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(e,t)=>{if(1114111>=parseInt(t,16))return"x";Eo({},kU)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(e){Eo({},kU)}try{return new RegExp(e,t)}catch(e){return null}}(r.value,a.value),{literal:r.literal+a.literal,value:o,regex:{pattern:r.value,flags:a.value},start:i,end:EE})),Ee()):El(k7());return n}();;)if(Eu("."))e=Er(".",e,function(){let e;return Es("."),EE=EA.start,3!==(e=k7()).type&&4!==e.type&&1!==e.type&&5!==e.type&&El(e),En(e.value)}());else if(Eu("("))e=function(e,t){let n=new kP("CallExpression");return n.callee=e,n.arguments=t,n}(e,function(){let e=[];if(Es("("),!Eu(")"))for(;EE":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function Eg(){var e,t,n,i;if(e=function(){var e,t,n,i,r,a,o,l,s,u;if(e=EA,s=Ep(),0===(r=Em(i=EA)))return s;for(i.prec=r,k7(),t=[e,EA],a=[s,i,o=Ep()];(r=Em(EA))>0;){for(;a.length>2&&r<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,s=a.pop(),t.pop(),n=Et(l,s,o),a.push(n);(i=k7()).prec=r,a.push(i),t.push(EA),n=Ep(),a.push(n)}for(u=a.length-1,n=a[u],t.pop();u>1;)t.pop(),n=Et(a[u-1].value,a[u-2],n),u-=2;return n}(),Eu("?")){let r;k7(),t=Eg(),Es(":"),n=Eg(),i=e,(r=new kP("ConditionalExpression")).test=i,r.consequent=t,r.alternate=n,e=r}return e}function Ey(){let e=Eg();if(Eu(","))throw Error(kG);return e}function Ev(e){EE=0,E$=(Ek=e).length,EA=null,Ee();let t=Ey();if(2!==EA.type)throw Error("Unexpect token after expression.");return t}var Eb={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function Ex(e){function t(t,n,i){return r=>{let a;return a=e(r[0]),n&&(a=n+"("+a+")",0===n.lastIndexOf("new ",0)&&(a="("+a+")")),a+"."+t+(i<0?"":0===i?"()":"("+r.slice(1).map(e).join(",")+")")}}let n="new Date",i="String",r="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(t){t.length<3&&eJ("Missing arguments to clamp function."),t.length>3&&eJ("Too many arguments to clamp function.");let n=t.map(e);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:n,date:t("getDate",n,0),day:t("getDay",n,0),year:t("getFullYear",n,0),month:t("getMonth",n,0),hours:t("getHours",n,0),minutes:t("getMinutes",n,0),seconds:t("getSeconds",n,0),milliseconds:t("getMilliseconds",n,0),time:t("getTime",n,0),timezoneoffset:t("getTimezoneOffset",n,0),utcdate:t("getUTCDate",n,0),utcday:t("getUTCDay",n,0),utcyear:t("getUTCFullYear",n,0),utcmonth:t("getUTCMonth",n,0),utchours:t("getUTCHours",n,0),utcminutes:t("getUTCMinutes",n,0),utcseconds:t("getUTCSeconds",n,0),utcmilliseconds:t("getUTCMilliseconds",n,0),length:t("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:t("toUpperCase",i,0),lower:t("toLowerCase",i,0),substring:t("substring",i),split:t("split",i),trim:t("trim",i,0),btoa:"btoa",atob:"atob",regexp:r,test:t("test",r),if:function(t){t.length<3&&eJ("Missing arguments to if function."),t.length>3&&eJ("Too many arguments to if function.");let n=t.map(e);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}}function E_(e){let t=(e=e||{}).allowed?t6(e.allowed):{},n=e.forbidden?t6(e.forbidden):{},i=e.constants||Eb,r=(e.functions||Ex)(c),a=e.globalvar,o=e.fieldvar,l=tE(a)?a:e=>`${a}["${e}"]`;[...Object.getOwnPropertyNames(Object.prototype).filter(e=>"function"==typeof Object.prototype[e])];let s={},u={},f=0;function c(e){if(tG(e))return e;let t=d[e.type];return null==t&&eJ("Unsupported type: "+e.type),t(e)}let d={Literal:e=>e.raw,Identifier:e=>{let r=e.name;return f>0?r:tz(n,r)?eJ("Illegal identifier: "+r):tz(i,r)?i[r]:tz(t,r)?r:(s[r]=1,l(r))},MemberExpression:e=>{let t,n=!e.computed,i=c(e.object);n&&(f+=1);let r=c(e.property);return i===o&&(u[(t=r&&r.length-1)&&('"'===r[0]&&'"'===r[t]||"'"===r[0]&&"'"===r[t])?r.slice(1,-1):r]=1),n&&(f-=1),i+(n?"."+r:"["+r+"]")},CallExpression:e=>{"Identifier"!==e.callee.type&&eJ("Illegal callee type: "+e.callee.type);let t=e.callee.name,n=e.arguments,i=tz(r,t)&&r[t];return i||eJ("Unrecognized function: "+t),tE(i)?i(n):i+"("+n.map(c).join(",")+")"},ArrayExpression:e=>"["+e.elements.map(c).join(",")+"]",BinaryExpression:e=>"("+c(e.left)+" "+e.operator+" "+c(e.right)+")",UnaryExpression:e=>"("+e.operator+c(e.argument)+")",ConditionalExpression:e=>"("+c(e.test)+"?"+c(e.consequent)+":"+c(e.alternate)+")",LogicalExpression:e=>"("+c(e.left)+e.operator+c(e.right)+")",ObjectExpression:e=>{for(let t of e.properties){let e=t.key.name;e6.has(e)&&eJ("Illegal property: "+e)}return"{"+e.properties.map(c).join(",")+"}"},Property:e=>{f+=1;let t=c(e.key);return f-=1,t+":"+c(e.value)}};function h(e){let t={code:c(e),globals:Object.keys(s),fields:Object.keys(u)};return s={},u={},t}return h.functions=r,h.constants=i,h}var Ew,Ek,EE,E$,EA,ES,EM,EC,ED,EF,EO=new y1,EN=new y1,ET={point:vh,lineStart:vh,lineEnd:vh,polygonStart:function(){EO=new y1,ET.lineStart=Ez,ET.lineEnd=ER},polygonEnd:function(){var e=+EO;EN.add(e<0?y6+e:e),this.lineStart=this.lineEnd=this.point=vh},sphere:function(){EN.add(y6)}};function Ez(){ET.point=EL}function ER(){EB(ES,EM)}function EL(e,t){ET.point=EB,ES=e,EM=t,e*=y8,t*=y8,EC=e,ED=vt(t=t/2+y5),EF=vl(t)}function EB(e,t){e*=y8,t*=y8;var n=e-EC,i=n>=0?1:-1,r=i*n,a=vt(t=t/2+y5),o=vl(t),l=EF*o,s=ED*a+l*vt(r),u=l*i*vl(r);EO.add(ve(u,s)),EC=e,ED=a,EF=o}var EP={point:EI,lineStart:EU,lineEnd:Eq,polygonStart:function(){EP.point=EW,EP.lineStart=EH,EP.lineEnd=EG,I=new y1,ET.polygonStart()},polygonEnd:function(){ET.polygonEnd(),EP.point=EI,EP.lineStart=EU,EP.lineEnd=Eq,EO<0?(O=-(T=180),N=-(z=90)):I>1e-6?z=90:I<-1e-6&&(N=-90),U[0]=O,U[1]=T},sphere:function(){O=-(T=180),N=-(z=90)}};function EI(e,t){j.push(U=[O=e,T=e]),tz&&(z=t)}function Ej(e,t){var n=bE([e*y8,t*y8]);if(P){var i=bA(P,n),r=bA([i[1],-i[0],0],i);bC(r),r=bk(r);var a,o=e-R,l=o>0?1:-1,s=r[0]*y4*l,u=y9(o)>180;u^(l*Rz&&(z=a):u^(l*R<(s=(s+360)%360-180)&&sz&&(z=t)),u?eEY(O,T)&&(T=e):EY(e,T)>EY(O,T)&&(O=e):T>=O?(eT&&(T=e)):e>R?EY(O,e)>EY(O,T)&&(T=e):EY(e,T)>EY(O,T)&&(O=e)}else j.push(U=[O=e,T=e]);tz&&(z=t),P=n,R=e}function EU(){EP.point=Ej}function Eq(){U[0]=O,U[1]=T,EP.point=EI,P=null}function EW(e,t){if(P){var n=e-R;I.add(y9(n)>180?n+(n>0?360:-360):n)}else L=e,B=t;ET.point(e,t),Ej(e,t)}function EH(){ET.lineStart()}function EG(){EW(L,B),ET.lineEnd(),y9(I)>1e-6&&(O=-(T=180)),U[0]=O,U[1]=T,P=null}function EY(e,t){return(t-=e)<0?t+360:t}function EV(e,t){return e[0]-t[0]}function EX(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t=a[l])return!1}else if("E-LTE"===i.type){if(n>a[l])return!1}else if("E-GT"===i.type){if(n<=a[l])return!1}else if("E-GTE"===i.type){if(nt.includes(e)):t},R_union:function(e,t){var n=tr(t[0]),i=tr(t[1]);return(n>i&&(n=t[1],i=t[0]),e.length)?(e[0]>n&&(e[0]=n),e[1]i&&(n=t[1],i=t[0]),e.length)?ii&&(e[1]=i),e):[n,i]}};function $f(e,t,n,i){t[0].type!==kL&&eJ("First argument to selection functions must be a string literal.");let r=t[0].value,a=t.length>=2&&ti(t).value,o="unit",l="@"+o,s=":"+r;a!==$e||tz(i,l)||(i[l]=n.getData(r).indataRef(n,o)),tz(i,s)||(i[s]=n.getData(r).tuplesRef())}function $c(e){let t=this.context.data[e];return t?t.values.value:[]}let $d=e=>function(t,n){let i=this.context.dataflow.locale();return null===t?"null":i[e](n)(t)},$h=$d("format"),$p=$d("timeFormat"),$m=$d("utcFormat"),$g=$d("timeParse"),$y=$d("utcParse"),$v=new Date(2e3,0,1);function $b(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)?($v.setYear(2e3),$v.setMonth(e),$v.setDate(t),$p.call(this,$v,n)):""}function $x(e,t,n,i){t[0].type!==kL&&eJ("First argument to data functions must be a string literal.");let r=t[0].value,a=":"+r;if(!tz(a,i))try{i[a]=n.getData(r).tuplesRef()}catch(e){}}function $_(e,t,n,i){if(t[0].type===kL)$w(n,i,t[0].value);else for(e in n.scales)$w(n,i,e)}function $w(e,t,n){let i="%"+n;if(!tz(t,i))try{t[i]=e.scaleRef(n)}catch(e){}}function $k(e,t){if(tG(e)){let n=t.scales[e];return n&&dm(n.value)?n.value:void 0}if(tE(e))return dm(e)?e:void 0}function $E(e,t){return function(n,i,r){if(!n)return t(i);{let t=$k(n,(r||this).context);return t&&t.path[e](i)}}}let $$=$E("area",function(e){return EN=new y1,y0(e,ET),2*EN}),$A=$E("bounds",function(e){var t,n,i,r,a,o,l;if(z=T=-(O=N=1/0),j=[],y0(e,EP),n=j.length){for(j.sort(EV),t=1,a=[i=j[0]];tEY(i[0],i[1])&&(i[1]=r[1]),EY(r[0],i[1])>EY(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(o=-1/0,n=a.length-1,t=0,i=a[n];t<=n;i=r,++t)r=a[t],(l=EY(i[1],r[0]))>o&&(o=l,O=r[0],T=i[1])}return j=U=null,O===1/0||N===1/0?[[NaN,NaN],[NaN,NaN]]:[[O,N],[T,z]]}),$S=$E("centroid",function(e){q=W=H=G=Y=V=X=J=0,Q=new y1,Z=new y1,K=new y1,y0(e,EJ);var t=+Q,n=+Z,i=+K,r=vr(t,n,i);return r<1e-12&&(t=V,n=X,i=J,W<1e-6&&(t=H,n=G,i=Y),(r=vr(t,n,i))<1e-12)?[NaN,NaN]:[ve(n,t)*y4,vd(i/r)*y4]});function $M(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(t){e.warn(t)}return n[n.length-1]}function $C(e){let t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}function $D(e){let t=uY(e);return .2126*$C(t.r)+.7152*$C(t.g)+.0722*$C(t.b)}function $F(e,t){for(let n in e)if(!function e(t,n){return t===n||t!=t&&n!=n||(e9(t)?!!e9(n)&&t.length===n.length&&function(t,n){for(let i=0,r=t.length;ie.data;function $R(e,t){let n=$c.call(t,e);return n.root&&n.root.lookup||{}}let $L=()=>"u">typeof window&&window||null;function $B(e,t,n){if(!e)return[];let[i,r]=e,a=new hO().set(i[0],i[1],r[0],r[1]);return gb(n||this.context.dataflow.scenegraph().root,a,function(e){let t=null;if(e){let n=tw(e.marktype),i=tw(e.markname);t=e=>(!n.length||n.some(t=>e.marktype===t))&&(!i.length||i.some(t=>e.name===t))}return t}(t))}let $P={random:()=>oR(),cumulativeNormal:oY,cumulativeLogNormal:oK,cumulativeUniform:o6,densityNormal:oG,densityLogNormal:oZ,densityUniform:o5,quantileNormal:oV,quantileLogNormal:o0,quantileUniform:o4,sampleNormal:oH,sampleLogNormal:oQ,sampleUniform:o3,isArray:e9,isBoolean:tj,isDate:tU,isDefined:e=>void 0!==e,isNumber:tW,isObject:e7,isRegExp:tH,isString:tG,isTuple:aX,isValid:e=>null!=e&&e==e,toBoolean:t1,toDate:e=>t3(e),toNumber:tr,toString:t5,indexof:function(e,...t){return $T(e).indexOf(...t)},join:function(e,...t){return $N(e).join(...t)},lastindexof:function(e,...t){return $T(e).lastIndexOf(...t)},replace:function(e,t,n){return tE(n)&&eJ("Function argument passed to replace."),tG(t)||tH(t)||eJ("Please pass a string or RegExp argument to replace."),String(e).replace(t,n)},reverse:function(e){return $N(e).slice().reverse()},sort:function(e){return $N(e).slice().sort(tA)},slice:function(e,...t){return $T(e).slice(...t)},flush:tB,lerp:tV,merge:function(){let e=[].slice.call(arguments);return e.unshift({}),tO(...e)},pad:tZ,peek:ti,pluck:function(e,t){let n=$O[t]||($O[t]=eZ(t));return e9(e)?e.map(n):n(e)},span:tK,inrange:tI,truncate:t4,rgb:uY,lab:cE,hcl:cD,hsl:u2,luminance:$D,contrast:function(e,t){let n=$D(e),i=$D(t);return(Math.max(n,i)+.05)/(Math.min(n,i)+.05)},sequence:ld,format:$h,utcFormat:$m,utcParse:$y,utcOffset:iV,utcSequence:iQ,timeFormat:$p,timeParse:$g,timeOffset:iY,timeSequence:iJ,timeUnitSpecifier:ib,monthFormat:function(e){return $b.call(this,e,1,"%B")},monthAbbrevFormat:function(e){return $b.call(this,e,1,"%b")},dayFormat:function(e){return $b.call(this,0,2+e,"%A")},dayAbbrevFormat:function(e){return $b.call(this,0,2+e,"%a")},quarter:tx,utcquarter:t_,week:ik,utcweek:iC,dayofyear:iw,utcdayofyear:iM,warn:function(){return $M(this.context.dataflow,"warn",arguments)},info:function(){return $M(this.context.dataflow,"info",arguments)},debug:function(){return $M(this.context.dataflow,"debug",arguments)},extent:e=>tN(e),inScope:function(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n},intersect:$B,clampRange:tk,pinchDistance:function(e){let t=e.touches;return Math.hypot(t[0].clientX-t[1].clientX,t[0].clientY-t[1].clientY)},pinchAngle:function(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)},screen:function(){let e=$L();return e?e.screen:{}},containerSize:function(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]},windowSize:function(){let e=$L();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]},bandspace:function(e,t,n){return c0(e||0,t||0,n||0)},setdata:function(e,t){let n=this.context.dataflow,i=this.context.data[e].input;return n.pulse(i,n.changeset().remove(e3).insert(t)),1},pathShape:function(e){let t=null;return function(n){return n?hr(n,t=t||d6(e)):e}},panLinear:tc,panLog:td,panPow:th,panSymlog:tp,zoomLinear:tg,zoomLog:ty,zoomPow:tv,zoomSymlog:tb,encode:function(e,t,n){if(e){let n=this.context.dataflow,i=e.mark.source;n.pulse(i,n.changeset().encode(e,t))}return void 0!==n?n:e},modify:function(e,t,n,i,r,a){let o=this.context.dataflow,l=this.context.data[e],s=l.input,u=o.stamp(),f=l.changes,c,d;if(!1===o._trigger||!(s.value.length||t||i))return 0;if((!f||f.stamp{l.modified=!0,o.pulse(s,f).run()},!0,1)),n&&(c=!0===n?e3:e9(n)||aX(n)?n:e=>$F(n,e),f.remove(c)),t&&f.insert(t),i&&(c=e=>$F(i,e),s.value.some(c)?f.remove(c):f.insert(i)),r){if(tE(r))throw Error("modify parameter must be a data tuple, not a function");for(d in a)f.modify(r,d,a[d])}return 1},lassoAppend:function(e,t,n,i=5){let r=(e=tw(e))[e.length-1];return void 0===r||Math.hypot(r[0]-t,r[1]-n)>i?[...e,[t,n]]:e},lassoPath:function(e){return tw(e).reduce((t,[n,i],r)=>t+=0==r?`M ${n},${i} `:r===e.length-1?" Z":`L ${n},${i} `,"")},intersectLasso:function(e,t,n){let{x:i,y:r,mark:a}=n,o=new hO().set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(let[e,n]of t)eo.x2&&(o.x2=e),no.y2&&(o.y2=n);return o.translate(i,r),$B([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(e=>(function(e,t,n){let i=0;for(let r=0,a=n.length-1;rt!=l>t&&e<(o-s)*(t-u)/(l-u)+s&&i++}return 1&i})(e.x,e.y,t))}},$I=["view","item","group","xy","x","y"],$j="this.",$U={},$q={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${t0("$"+e)}]`,functions:function(e){let t,n=Ex(e);for(let e in $I.forEach(e=>n[e]="event.vega."+e),$P)n[e]=$j+e;return tO(n,($P.__bandwidth=e=>e&&e.bandwidth?e.bandwidth():0,$U._bandwidth=$_,$U._range=$_,$U._scale=$_,t=t=>"_["+(t.type===kL?t0("%"+t.value):t0("%")+"+"+e(t))+"]",{_bandwidth:e=>`this.__bandwidth(${t(e[0])})`,_range:e=>`${t(e[0])}.range()`,_scale:n=>`${t(n[0])}(${e(n[1])})`})),n},constants:Eb,visitors:$U},$W=E_($q);function $H(e,t,n){return 1==arguments.length?$P[e]:($P[e]=t,n&&($U[e]=n),$W&&($W.functions[e]=$j+e),this)}function $G(e,t){let n,i={};try{e=tG(e)?e:t0(e)+"",n=Ev(e)}catch(t){eJ("Expression parse error: "+e)}n.visit(e=>{if(e.type!==kB)return;let n=e.callee.name,r=$q.visitors[n];r&&r(n,e.arguments,t,i)});let r=$W(n);return r.globals.forEach(e=>{let n="$"+e;!tz(i,n)&&t.getSignal(e)&&(i[n]=t.signalRef(e))}),{$expr:tO({code:r.code},t.options.ast?{ast:n}:null),$fields:r.fields,$params:i}}$H("bandwidth",function(e,t){let n=$k(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0},$_),$H("copy",function(e,t){let n=$k(e,(t||this).context);return n?n.copy():void 0},$_),$H("domain",function(e,t){let n=$k(e,(t||this).context);return n?n.domain():[]},$_),$H("range",function(e,t){let n=$k(e,(t||this).context);return n&&n.range?n.range():[]},$_),$H("invert",function(e,t,n){let i=$k(e,(n||this).context);return i?e9(t)?(i.invertRange||i.invert)(t):(i.invert||i.invertExtent)(t):void 0},$_),$H("scale",function(e,t,n){let i=$k(e,(n||this).context);return i?i(t):void 0},$_),$H("gradient",function(e,t,n,i,r){e=$k(e,(r||this).context);let a=dQ(t,n),o=e.domain(),l=o[0],s=ti(o),u=e0;return s-l?u=dw(e,l,s):e=(e.interpolator?dg("sequential")().interpolator(e.interpolator()):dg("linear")().interpolate(e.interpolate()).range(e.range())).domain([l=0,s=1]),e.ticks&&(l!==(o=e.ticks(+i||15))[0]&&o.unshift(l),s!==ti(o)&&o.push(s)),o.forEach(t=>a.stop(u(t),e(t))),a},$_),$H("geoArea",$$,$_),$H("geoBounds",$A,$_),$H("geoCentroid",$S,$_),$H("geoShape",function(e,t,n){let i=$k(e,(n||this).context);return function(e){return i?i.path.context(e)(t):""}},$_),$H("geoScale",function(e,t){let n=$k(e,(t||this).context);return n&&n.scale()},$_),$H("indata",function(e,t,n){let i=this.context.data[e]["index:"+t],r=i?i.value.get(n):void 0;return r?r.count:r},function(e,t,n,i){t[0].type!==kL&&eJ("First argument to indata must be a string literal."),t[1].type!==kL&&eJ("Second argument to indata must be a string literal.");let r=t[0].value,a=t[1].value,o="@"+a;tz(o,i)||(i[o]=n.getData(r).indataRef(n,a))}),$H("data",$c,$x),$H("treePath",function(e,t,n){let i=$R(e,this),r=i[t],a=i[n];return r&&a?r.path(a).map($z):void 0},$x),$H("treeAncestors",function(e,t){let n=$R(e,this)[t];return n?n.ancestors().map($z):void 0},$x),$H("vlSelectionTest",function(e,t,n){for(var i,r,a,o,l,s=this.context.data[e],u=s?s.values.value:[],f=s?s[$r]&&s[$r].value:void 0,c=n===$e,d=u.length,h=0;h(e[a[n].field]=t,e),{}))}else s=$n,u=$i(r),(c=(f=v[s]||(v[s]={}))[l]||(f[l]=[])).push(u),n&&(c=b[l]||(b[l]=[])).push({[$n]:u});return t=t||$t,v[$n]?v[$n]=$u[`${$n}_${t}`](...Object.values(v[$n])):Object.keys(v).forEach(e=>{v[e]=Object.keys(v[e]).map(t=>v[e][t]).reduce((n,i)=>void 0===n?i:$u[`${x[e]}_${t}`](n,i))}),y=Object.keys(b),n&&y.length&&(v[i?"vlPoint":"vlMulti"]=t===$t?{or:y.reduce((e,t)=>(e.push(...b[t]),e),[])}:{and:y.map(e=>({or:b[e]}))}),v},$f),$H("vlSelectionTuples",function(e,t){return e9(e)||eJ("First argument to selectionTuples must be an array."),e7(t)||eJ("Second argument to selectionTuples must be an object."),e.map(e=>tO(t.fields?{values:t.fields.map(t=>E7(t)(e.datum))}:{[$n]:$i(e.datum)},t))});let $Y=t6(["rule"]),$V=t6(["group","image","rect"]);function $X(e){return(e+"").toLowerCase()}function $J(e,t,n){n.endsWith(";")||(n="return("+n+");");let i=Function(...t.concat(n));return e&&e.functions?i.bind(e.functions):i}var $Q={operator:(e,t)=>$J(e,["_"],t.code),parameter:(e,t)=>$J(e,["datum","_"],t.code),event:(e,t)=>$J(e,["event"],t.code),handler:(e,t)=>$J(e,["_","event"],`var datum=event.item&&event.item.datum;return ${t.code};`),encode:(e,t)=>{let n,{marktype:i,channels:r}=t,a="var o=item,datum=o.datum,m=0,$;";for(let e in r){let t="o["+t0(e)+"]";a+=`$=${r[e].code};if(${t}!==$)${t}=$,m=1;`}return a+=(n="",$Y[i]||(r.x2&&(r.x?($V[i]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),r.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),r.y2&&(r.y?($V[i]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),r.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n),$J(e,["item","_"],a+="return m;")},codegen:{get(e){let t=`[${e.map(t0).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n,i=Function("a","b","var u, v; return "+e.map((e,i)=>{var r,a,o;let l,s,u=t[i];return e.path?(l=`a${e.path}`,s=`b${e.path}`):((n=n||{})["f"+i]=e,l=`this.f${i}(a)`,s=`this.f${i}(b)`),r=l,a=s,o=-u,`((u = ${r}) < (v = ${a}) || u == null) && v != null ? ${o} : (u > v || v == null) && u != null ? ${u} : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${o} : v !== v && u === u ? ${u} : `}).join("")+"0;");return n?i.bind(n):i}}};function $Z(e,t,n){if(!e||!e7(e))return e;for(let i=0,r=$K.length,a;ie&&e.$tupleid?aJ:e);return t.fn[n]||(t.fn[n]=t$(i,e.$order,t.expr.codegen))}},{key:"$context",parse:function(e,t){return t}},{key:"$subflow",parse:function(e,t){let n=e.$subflow;return function(e,i,r){let a=t.fork().parse(n),o=a.get(n.operators[0].id),l=a.signals.parent;return l&&l.set(r),o.detachSubflow=()=>t.detach(a),o}}},{key:"$tupleid",parse:function(){return aJ}}];let $0={skip:!0};function $1(e,t,n,i){return new $2(e,t,n,i)}function $2(e,t,n,i){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=i||$Q,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function $3(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}function $5(e,t){e&&(null==t?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}$2.prototype=$3.prototype={fork(){let e=new $3(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(t=>t!==e);let t=Object.keys(e.nodes);for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,i=n.dataflow,r=e.value;if(n.set(e.id,t),"collect"===$X(e.type)&&r&&(r.$ingest?i.ingest(t,r.$ingest,r.$format):r.$request?i.preload(t,r.$request,r.$format):i.pulse(t,i.changeset().insert(r))),e.root&&(n.root=t),e.parent){let r=n.get(e.parent.$ref);r?(i.connect(r,[t]),t.targets().add(r)):(n.unresolved=n.unresolved||[]).push(()=>{r=n.get(e.parent.$ref),i.connect(r,[t]),t.targets().add(r)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let i in e.data){let r=n.data[i]||(n.data[i]={});e.data[i].forEach(e=>r[e]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[$X(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,i,r){this.dataflow.on(t,n,i,r,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:function(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(e=>t.parseOperator(e)),n.forEach(e=>t.parseOperatorParameters(e)),(e.streams||[]).forEach(e=>t.parseStream(e)),(e.updates||[]).forEach(e=>t.parseUpdate(e)),t.resolve()},parseOperator:function(e){"operator"!==$X(e.type)&&e.type?this.transform(e,e.type):this.operator(e,e.update?this.operatorExpression(e.update):null)},parseOperatorParameters:function(e){if(e.params){let t=this.get(e.id);t||eJ("Invalid operator id: "+e.id),this.dataflow.connect(t,t.parameters(this.parseParameters(e.params),e.react,e.initonly))}},parseParameters:function(e,t){t=t||{};let n=this;for(let i in e){let r=e[i];t[i]=e9(r)?r.map(e=>$Z(e,n,t)):$Z(r,n,t)}return t},parseStream:function(e){var t,n=this,i=null!=e.filter?n.eventExpression(e.filter):void 0,r=null!=e.stream?n.get(e.stream):void 0;e.source?r=n.events(e.source,e.type,i):e.merge&&(r=(t=e.merge.map(e=>n.get(e)))[0].merge.apply(t[0],t.slice(1))),e.between&&(t=e.between.map(e=>n.get(e)),r=r.between(t[0],t[1])),e.filter&&(r=r.filter(i)),null!=e.throttle&&(r=r.throttle(+e.throttle)),null!=e.debounce&&(r=r.debounce(+e.debounce)),null==r&&eJ("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),n.stream(e,r)},parseUpdate:function(e){var t=e7(t=e.source)?t.$ref:t,n=this.get(t),i=null,r=e.update,a=void 0;n||eJ("Source not defined: "+e.source),i=e.target&&e.target.$expr?this.eventExpression(e.target.$expr):this.get(e.target),r&&r.$expr&&(r.$params&&(a=this.parseParameters(r.$params)),r=this.handlerExpression(r.$expr)),this.update(e,n,i,r,a)},getState:function(e){var t=this,n={};if(e.signals){var i=n.signals={};Object.keys(t.signals).forEach(n=>{let r=t.signals[n];e.signals(n,r)&&(i[n]=r.value)})}if(e.data){var r=n.data={};Object.keys(t.data).forEach(n=>{let i=t.data[n];e.data(n,i)&&(r[n]=i.input.value)})}return t.subcontext&&!1!==e.recurse&&(n.subcontext=t.subcontext.map(t=>t.getState(e))),n},setState:function(e){var t=this,n=t.dataflow,i=e.data,r=e.signals;Object.keys(r||{}).forEach(e=>{n.update(t.signals[e],r[e],$0)}),Object.keys(i||{}).forEach(e=>{n.pulse(t.data[e].input,n.changeset().remove(e3).insert(i[e]))}),(e.subcontext||[]).forEach((e,n)=>{let i=t.subcontext[n];i&&i.setState(e)})}};let $6="default";function $4(e,t){let n=e.globalCursor()?"u">typeof document&&document.body:e.container();if(n)return null==t?n.style.removeProperty("cursor"):n.style.cursor=t}function $8(e,t){var n=e._runtime.data;return tz(n,t)||eJ("Unrecognized data set: "+t),n[t]}function $9(e,t){a2(t)||eJ("Second argument to changes must be a changeset.");let n=$8(this,e);return n.modified=!0,this.pulse(n.input,t)}function $7(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function Ae(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function At(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}let An="view",Ai={trap:!1};function Ar(e,t,n,i){e._eventListeners.push({type:n,sources:tw(t),handler:i})}function Aa(e,t,n){let i=e._eventConfig&&e._eventConfig[t];return!(!1===i||e7(i)&&!i[n])||(e.warn(`Blocked ${t} ${n} event listener.`),!1)}function Ao(e){return e.item}function Al(e){return e.item.mark.source}function As(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function Au(e,t,n){let i=document.createElement(e);for(let e in t)i.setAttribute(e,t[e]);return null!=n&&(i.textContent=n),i}function Af(e,t,n,i){let r=Au("input");for(let e in n)"signal"!==e&&"element"!==e&&r.setAttribute("input"===e?"type":e,n[e]);r.setAttribute("name",n.signal),r.value=i,t.appendChild(r),r.addEventListener("input",()=>e.update(r.value)),e.elements=[r],e.set=e=>r.value=e}function Ac(e,t,n,i){let r={type:"checkbox",name:n.signal};i&&(r.checked=!0);let a=Au("input",r);t.appendChild(a),a.addEventListener("change",()=>e.update(a.checked)),e.elements=[a],e.set=e=>a.checked=!!e||null}function Ad(e,t,n,i){let r=Au("select",{name:n.signal}),a=n.labels||[];n.options.forEach((e,t)=>{let n={value:e};Am(e,i)&&(n.selected=!0),r.appendChild(Au("option",n,(a[t]||e)+""))}),t.appendChild(r),r.addEventListener("change",()=>{e.update(n.options[r.selectedIndex])}),e.elements=[r],e.set=e=>{for(let t=0,i=n.options.length;t{let l={type:"radio",name:n.signal,value:t};Am(t,i)&&(l.checked=!0);let s=Au("input",l);s.addEventListener("change",()=>e.update(t));let u=Au("label",{},(a[o]||t)+"");return u.prepend(s),r.appendChild(u),s}),e.set=t=>{let n=e.elements,i=n.length;for(let e=0;e{s.textContent=l.value,e.update(+l.value)};l.addEventListener("input",u),l.addEventListener("change",u),e.elements=[l],e.set=e=>{l.value=e,s.textContent=e}}function Am(e,t){return e===t||e+""==t+""}function Ag(e,t,n,i,r,a){return(t=t||new i(e.loader())).initialize(n,$7(e),Ae(e),At(e),r,a).background(e.background())}function Ay(e,t){return t?function(){try{t.apply(this,arguments)}catch(t){e.error(t)}}:null}function Av(e,t,n){if("string"==typeof t){if(!("u">typeof document))return e.error("DOM document instance not found."),null;else if(!(t=document.querySelector(t)))return e.error("Signal bind element not found: "+t),null}if(t&&n)try{t.textContent=""}catch(n){t=null,e.error(n)}return t}function Ab(e){let t;return e7(e)?{top:+e.top||0,bottom:+e.bottom||0,left:+e.left||0,right:+e.right||0}:{top:t=+e||0,bottom:t,left:t,right:t}}async function Ax(e,t,n,i){let r=gv(t),a=r&&r.headless;return a||eJ("Unrecognized renderer type: "+t),await e.runAsync(),Ag(e,null,null,a,n,i).renderAsync(e._scenegraph.root)}var A_="width",Aw="height",Ak="padding",AE={skip:!0};function A$(e,t){var n=e.autosize(),i=e.padding();return t-(n&&n.contains===Ak?i.left+i.right:0)}function AA(e,t){var n=e.autosize(),i=e.padding();return t-(n&&n.contains===Ak?i.top+i.bottom:0)}function AS(e,t){return t.modified&&e9(t.input.value)&&!e.startsWith("_:vega:_")}function AM(e,t){return!("parent"===e||t instanceof ox.proxy)}function AC(e,t,n,i){var r,a;let o=e.element();o&&o.setAttribute("title",null==(r=i)?"":e9(r)?AD(r):e7(r)&&!tU(r)?Object.keys(a=r).map(e=>{let t=a[e];return e+": "+(e9(t)?AD(t):AF(t))}).join("\n"):r+"")}function AD(e){return"["+e.map(AF).join(", ")+"]"}function AF(e){return e9(e)?"[…]":e7(e)&&!tU(e)?"{…}":e}function AO(e,t){var n,i;let r,a,o;if(t=t||{},oy.call(this),t.loader&&this.loader(t.loader),t.logger&&this.logger(t.logger),null!=t.logLevel&&this.logLevel(t.logLevel),t.locale||e.locale){let n=tO({},e.locale,t.locale);this.locale(av(n.number,n.time))}this._el=null,this._elBind=null,this._renderType=t.renderer||gg.Canvas,this._scenegraph=new mn;let l=this._scenegraph.root;this._renderer=null,this._tooltip=t.tooltip||AC,this._redraw=!0,this._handler=new mD().scene(l),this._globalCursor=!1,this._preventDefault=!1,this._timers=[],this._eventListeners=[],this._resizeListeners=[],this._eventConfig=(r=tO({defaults:{}},e.eventConfig),(a=(e,t)=>{t.forEach(t=>{e9(e[t])&&(e[t]=t6(e[t]))})})(r.defaults,["prevent","allow"]),a(r,["view","window","selector"]),r),this.globalCursor(this._eventConfig.globalCursor);let s=$1(this,ox,$P,t.expr).parse(e);this._runtime=s,this._signals=s.signals,this._bind=(e.bindings||[]).map(e=>({state:null,param:tO({},e)})),s.root&&s.root.set(l),l.source=s.data.root.input,this.pulse(s.data.root.input,this.changeset().insert(l.items)),this._width=this.width(),this._height=this.height(),this._viewWidth=A$(this,this._width),this._viewHeight=AA(this,this._height),this._origin=[0,0],this._resize=0,this._autosize=1,function(e){var t=e._signals,n=t[A_],i=t[Aw],r=t[Ak];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,t=>{e._width=t.size,e._viewWidth=A$(e,t.size),a()},{size:n}),e._resizeHeight=e.add(null,t=>{e._height=t.size,e._viewHeight=AA(e,t.size),a()},{size:i});let o=e.add(null,a,{pad:r});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=i.rank+1,o.rank=r.rank+1}(this),n=this,n.add(null,e=>(n._background=e.bg,n._resize=1,e.bg),{bg:n._signals.background}),i=this,o=i._signals.cursor||(i._signals.cursor=i.add({user:$6,item:null})),i.on(i.events("view","pointermove"),o,(e,t)=>{let n=o.value,i=n?tG(n)?n:n.user:$6,r=t.item&&t.item.cursor||null;return n&&i===n.user&&r==n.item?n:{user:i,item:r}}),i.add(null,function(e){let t=e.cursor,n=this.value;return tG(t)||(n=t.item,t=t.user),$4(i,t&&t!==$6?t:n||t),n},{cursor:o}),this.description(e.description),t.hover&&this.hover(),t.container&&this.initialize(t.container,t.bind),t.watchPixelRatio&&this._watchPixelRatio()}function AN(e,t){return tz(e._signals,t)?e._signals[t]:eJ("Unrecognized signal name: "+t0(t))}function AT(e,t){let n=(e._targets||[]).filter(e=>e._update&&e._update.handler===t);return n.length?n[0]:null}function Az(e,t,n,i){let r=AT(n,i);return r||((r=Ay(e,()=>i(t,n.value))).handler=i,e.on(n,null,r)),e}function AR(e,t,n){let i=AT(t,n);return i&&t._targets.remove(i),e}tP(AO,oy,{async evaluate(e,t,n){if(await oy.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{if(this._renderer){if(this._resize){var i,r,a,o;this._resize=0,i=this,r=At(i),a=$7(i),o=Ae(i),i._renderer.background(i.background()),i._renderer.resize(a,o,r),i._handler.origin(r),i._resizeListeners.forEach(e=>{try{e(a,o)}catch(e){i.error(e)}})}await this._renderer.renderAsync(this._scenegraph.root)}this._redraw=!1}catch(e){this.error(e)}return n&&aG(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=null!=e?e+"":null;return t!==this._desc&&$5(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let i=AN(this,e);return 1==arguments.length?i.value:this.update(i,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",Ab(e)):Ab(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(gv(e)||eJ("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(oy.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(AN(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function(e,t,n,i,r,a){this.runAfter(o=>{let l=0;o._autosize=0,o.width()!==n&&(l=1,o.signal(A_,n,AE),o._resizeWidth.skip(!0)),o.height()!==i&&(l=1,o.signal(Aw,i,AE),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),(o._origin[0]!==r[0]||o._origin[1]!==r[1])&&(o._resize=1,o._origin=r),l&&o.run("enter"),a&&o.runAfter(e=>e.resize())},!1,1)},addEventListener(e,t,n){let i=t;return n&&!1===n.trap||((i=Ay(this,t)).raw=t),this._handler.on(e,i),this},removeEventListener(e,t){for(var n,i,r=this._handler.handlers(e),a=r.length;--a>=0;)if(i=r[a].type,n=r[a].handler,e===i&&(t===n||t===n.raw)){this._handler.off(i,n);break}return this},addResizeListener(e){let t=this._resizeListeners;return t.includes(e)||t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return Az(this,e,AN(this,e),t)},removeSignalListener(e,t){return AR(this,AN(this,e),t)},addDataListener(e,t){return Az(this,e,$8(this,e).values,t)},removeDataListener(e,t){return AR(this,$8(this,e).values,t)},globalCursor(e){if(!arguments.length)return this._globalCursor;if(!!e!==this._globalCursor){let t=$4(this,null);this._globalCursor=!!e,t&&$4(this,t)}return this},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:function(e,t){var n,i,r;this._timers.push((n=function(t){e({timestamp:Date.now(),elapsed:t})},i=new _i,r=t,null==t||(i._restart=i.restart,i.restart=function(e,t,n){t*=1,n=null==n?_t():+n,i._restart(function a(o){o+=r,i._restart(a,r+=t,n),e(o)},t,n)}),i.restart(n,t,void 0),i))},events:function(e,t,n){var i,r=this,a=new ot(n),o=function(n,i){r.runAsync(null,()=>{var o,l,s,u,f,c,d;e===An&&(l=(o=r._eventConfig.defaults).prevent,s=o.allow,!1!==l&&!0!==s&&(!0===l||!1===s||(l?l[t]:s?!s[t]:r.preventDefault())))&&n.preventDefault(),a.receive(((d=(c=r._renderer)&&c.canvas())&&(f=At(r),u=mu(n.changedTouches?n.changedTouches[0]:n,d),u[0]-=f[0],u[1]-=f[1]),n.dataflow=r,n.item=i,n.vega=function(e,t,n){let i=t?"group"===t.mark.marktype?t:t.mark.group:null;function r(e){var n,r=i;if(e){for(n=t;n;n=n.mark.group)if(n.mark.name===e){r=n;break}}return r&&r.mark&&r.mark.interactive?r:{}}function a(e){if(!e)return n;tG(e)&&(e=r(e));let t=n.slice();for(;e;)t[0]-=e.x||0,t[1]-=e.y||0,e=e.mark&&e.mark.group;return t}return{view:tD(e),item:tD(t||{}),group:r,xy:a,x:e=>a(e)[0],y:e=>a(e)[1]}}(r,i,u),n))})};if("timer"===e)Aa(r,"timer",t)&&r.timer(o,t);else if(e===An)Aa(r,"view",t)&&r.addEventListener(t,o,Ai);else if("window"===e?Aa(r,"window",t)&&"u">typeof window&&(i=[window]):"u">typeof document&&Aa(r,"selector",t)&&(i=Array.from(document.querySelectorAll(e))),i){for(var l=0,s=i.length;l=0;)o[e].stop();for(e=s.length;--e>=0;)for(t=(n=s[e]).sources.length;--t>=0;)n.sources[t].removeEventListener(n.type,n.handler);for(a&&a.call(this,this._handler,null,null,null),e=l.length;--e>=0;)r=l[e].type,i=l[e].handler,this._handler.off(r,i);return this},hover:function(e,t){return t=[t||"update",(e=[e||"hover"])[0]],this.on(this.events("view","pointerover",Ao),Al,As(e)),this.on(this.events("view","pointerout",Ao),Al,As(t)),this},data:function(e,t){return arguments.length<2?$8(this,e).values.value:$9.call(this,e,a3().remove(e3).insert(t))},change:$9,insert:function(e,t){return $9.call(this,e,a3().insert(t))},remove:function(e,t){return $9.call(this,e,a3().remove(t))},scale:function(e){var t=this._runtime.scales;return tz(t,e)||eJ("Unrecognized scale or projection: "+e),t[e].value},initialize:function(e,t){var n,i;let r,a,o=this,l=o._renderType,s=o._eventConfig.bind,u=gv(l);e=o._el=e?Av(o,e,!0):null,(r=o.container())&&(r.setAttribute("role","graphics-document"),r.setAttribute("aria-roleDescription","visualization"),$5(r,o.description())),u||o.error("Unrecognized renderer type: "+l);let f=u.handler||mD,c=e?u.renderer:u.headless;return o._renderer=c?Ag(o,o._renderer,e,c):null,n=o._handler,i=e,a=new f(o.loader(),Ay(o,o.tooltip())).scene(o.scenegraph().root).initialize(i,At(o),o),n&&n.handlers().forEach(e=>{a.on(e.type,e.handler)}),o._handler=a,o._redraw=!0,e&&"none"!==s&&(t=t?o._elBind=Av(o,t,!0):e.appendChild(Au("form",{class:"vega-bindings"})),o._bind.forEach(e=>{e.param.element&&"container"!==s&&(e.element=Av(o,e.param.element,!!e.param.input))}),o._bind.forEach(e=>{!function(e,t,n){if(!t)return;let i=n.param,r=n.state;!r&&(r=n.state={elements:null,active:!1,set:null,update:t=>{t!=e.signal(i.signal)&&e.runAsync(null,()=>{r.source=!0,e.signal(i.signal,t)})}},i.debounce&&(r.update=tF(i.debounce,r.update))),(null==i.input&&i.element?function(e,t,n,i){let r=n.event||"input",a=()=>e.update(t.value);i.signal(n.signal,t.value),t.addEventListener(r,a),Ar(i,t,r,a),e.set=e=>{var n;t.value=e,t.dispatchEvent((n=r,"u">typeof Event?new Event(n):{type:n}))}}:function(e,t,n,i){let r=i.signal(n.signal),a=Au("div",{class:"vega-bind"}),o="radio"===n.input?a:a.appendChild(Au("label"));o.appendChild(Au("span",{class:"vega-bind-name"},n.name||n.signal)),t.appendChild(a);let l=Af;switch(n.input){case"checkbox":l=Ac;break;case"select":l=Ad;break;case"radio":l=Ah;break;case"range":l=Ap}l(e,o,n,r)})(r,t,i,e),r.active||(e.on(e._signals[i.signal],null,()=>{r.source?r.source=!1:r.set(e.signal(i.signal))}),r.active=!0)}(o,e.element||t,e)})),o},toImageURL:async function e(e,t){var n;let i;e!==gg.Canvas&&e!==gg.SVG&&e!==gg.PNG&&eJ("Unrecognized image type: "+e);let r=await Ax(this,e,t);return e===gg.SVG?(n=r.svg(),i=new Blob([n],{type:"image/svg+xml"}),window.URL.createObjectURL(i)):r.canvas().toDataURL("image/png")},toCanvas:async function e(e,t){return(await Ax(this,gg.Canvas,e,t)).canvas()},toSVG:async function e(e){return(await Ax(this,gg.SVG,e)).svg()},getState:function(e){return this._runtime.getState(e||{data:AS,signals:AM,recurse:!0})},setState:function(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},e=>{e._trigger=!0}),this},_watchPixelRatio:function(){if("canvas"===this.renderer()&&this._renderer._canvas){let e=null,t=()=>{null!=e&&e();let n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",t),e=()=>{n.removeEventListener("change",t)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};t()}}});let AL=/[[\]{}]/,AB={"*":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};function AP(e,t,n){return m=t||"view",g=n||AB,Aj(e.trim()).map(function e(t){return"["===t[0]?function(t){let n=t.length,i=1,r;if((i=AI(t,1,"]","[","]"))===n)throw"Empty between selector: "+t;if(2!==(r=Aj(t.substring(1,i))).length)throw"Between selector must have two elements: "+t;if(">"!==(t=t.slice(i+1).trim())[0])throw"Expected '>' after between selector: "+t;r=r.map(e);let a=e(t.slice(1).trim());return a.between?{between:r,stream:a}:(a.between=r,a)}(t):function(e){let t={source:m},n=[],i=[0,0],r=0,a=0,o=e.length,l=0,s,u;if("}"===e[o-1]){if((l=e.lastIndexOf("{"))>=0){try{i=function(e){let t=e.split(",");if(!e.length||t.length>2)throw e;return t.map(t=>{let n=+t;if(n!=n)throw e;return n})}(e.substring(l+1,o-1))}catch(t){throw"Invalid throttle specification: "+e}o=(e=e.slice(0,l).trim()).length}else throw"Unmatched right brace: "+e;l=0}if(!o)throw e;if("@"===e[0]&&(r=++l),(s=AI(e,l,":"))1?(t.type=n[1],r)?t.markname=n[0].slice(1):g[n[0]]?t.marktype=n[0]:t.source=n[0]:t.type=n[0],"!"===t.type.slice(-1)&&(t.consume=!0,t.type=t.type.slice(0,-1)),null!=u&&(t.filter=u),i[0]&&(t.throttle=i[0]),i[1]&&(t.debounce=i[1]),t}(t)})}function AI(e,t,n,i,r){let a=e.length,o=0,l;for(;te7(e)&&!e9(e)?tO({},e):{value:e};function Aq(e,t,n,i){return null!=n?(e7(n)&&!e9(n)||e9(n)&&n.length&&e7(n[0])?e.update[t]=n:e[i||"enter"][t]={value:n},1):0}function AW(e,t,n){for(let n in t)Aq(e,n,t[n]);for(let t in n)Aq(e,t,n[t],"update")}function AH(e,t,n){for(let i in t)n&&tz(n,i)||(e[i]=tO(e[i]||{},t[i]));return e}function AG(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}let AY="mark",AV="frame",AX="scope",AJ="legend-label";function AQ(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}let AZ=e=>tG(e)?t0(e):e.signal?`(${e.signal})`:A2(e);function AK(e){let t;if(null!=e.gradient){var n,i,r,a=e;let t=[a.start,a.stop,a.count].map(e=>null==e?null:t0(e));for(;t.length&&null==ti(t);)t.pop();return t.unshift(AZ(a.gradient)),`gradient(${t.join(",")})`}let o=e.signal?`(${e.signal})`:e.color?(n=e.color).c?A0("hcl",n.h,n.c,n.l):n.h||n.s?A0("hsl",n.h,n.s,n.l):n.l||n.a?A0("lab",n.l,n.a,n.b):n.r||n.g||n.b?A0("rgb",n.r,n.g,n.b):null:null!=e.field?A2(e.field):void 0!==e.value?t0(e.value):void 0;return null!=e.scale&&(i=e,r=o,t=AZ(i.scale),null!=i.range?r=`lerp(_range(${t}), ${+i.range})`:(void 0!==r&&(r=`_scale(${t}, ${r})`),i.band&&(r=(r?r+"+":"")+`_bandwidth(${t})`+(1==+i.band?"":"*"+A1(i.band)),i.extra&&(r=`(datum.extra ? _scale(${t}, datum.extra.value) : ${r})`)),null==r&&(r="0")),o=r),void 0===o&&(o=null),null!=e.exponent&&(o=`pow(${o},${A1(e.exponent)})`),null!=e.mult&&(o+=`*${A1(e.mult)}`),null!=e.offset&&(o+=`+${A1(e.offset)}`),e.round&&(o=`round(${o})`),o}let A0=(e,t,n,i)=>`(${e}(${[t,n,i].map(AK).join(",")})+'')`;function A1(e){return e7(e)?"("+AK(e)+")":e}function A2(e){return function e(t){let n,i,r;if(t.signal)n="datum",r=t.signal;else if(t.group||t.parent){for(i=Math.max(1,t.level||1),n="item";i-- >0;)n+=".mark.group";t.parent?(r=t.parent,n+=".datum"):r=t.group}else t.datum?(n="datum",r=t.datum):eJ("Invalid field reference: "+t0(t));return t.signal||(r=tG(r)?eQ(r).map(t0).join("]["):e(r)),n+"["+r+"]"}(e7(e)?e:{datum:e})}function A3(e,t,n,i,r,a){let o={};for(let l in(a=a||{}).encoders={$encode:o},e=function(e,t,n,i,r){let a,o,l,s={},u={};for(o in o="lineBreak","text"!==t||null==r[o]||AG(o,e)||AQ(s,o,r[o]),("legend"==n||String(n).startsWith("axis"))&&(n=null),l=n===AV?r.group:n===AY?tO({},r.mark,r[t]):null)AG(o,e)||("fill"===o||"stroke"===o)&&(AG("fill",e)||AG("stroke",e))||AQ(s,o,l[o]);for(o in tw(i).forEach(t=>{let n=r.style&&r.style[t];for(let t in n)AG(t,e)||AQ(s,t,n[t])}),e=tO({},e),s)(l=s[o]).signal?(a=a||{})[o]=l:u[o]=l;return e.enter=tO(u,e.enter),a&&(e.update=tO(a,e.update)),e}(e,t,n,i,r.config))o[l]=function(e,t,n,i){let r={},a={};for(let t in e)null!=e[t]&&(r[t]=function(e,t,n,i){let r=$G(e,t);return r.$fields.forEach(e=>i[e]=1),tO(n,r.$params),r.$expr}(function(e){let t;return e9(e)?(t="",e.forEach(e=>{let n=AK(e);t+=e.test?`(${e.test})?${n}:`:n}),":"===ti(t)&&(t+="null"),t):AK(e)}(e[t]),i,n,a));return{$expr:{marktype:t,channels:r},$fields:Object.keys(a),$output:Object.keys(e)}}(e[l],t,a,r);return a}let A5=["value","update","init","react","bind"];function A6(e,t){eJ(e+' for "outer" push: '+t0(t))}function A4(e,t){let n=e.name;if("outer"===e.push)t.signals[n]||A6("No prior signal definition",n),A5.forEach(t=>{void 0!==e[t]&&A6("Invalid property ",t)});else{let i=t.addSignal(n,e.value);!1===e.react&&(i.react=!1),e.bind&&t.addBinding(n,e.bind)}}function A8(e,t,n,i){this.id=-1,this.type=e,this.value=t,this.params=n,i&&(this.parent=i)}function A9(e,t,n,i){return new A8(e,t,n,i)}function A7(e,t){return A9("operator",e,t)}function Se(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function St(e,t){return t?{$field:e,$name:t}:{$field:e}}let Sn=St("key");function Si(e,t){return{$compare:e,$order:t}}function Sr(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}let Sa="scope",So="view";function Sl(e){return e&&e.signal}function Ss(e){if(Sl(e))return!0;if(e7(e)){for(let t in e)if(Ss(e[t]))return!0}return!1}function Su(e,t){return null!=e?e:t}function Sf(e){return e&&e.signal||e}let Sc="timer";function Sd(e,t){return(e.merge?function(e,t){let n=Sh({merge:e.merge.map(e=>Sd(e,t))},e,t);return t.addStream(n).id}:e.stream?function(e,t){let n=Sh({stream:Sd(e.stream,t)},e,t);return t.addStream(n).id}:e.type?function(e,t){let n;if(e.type===Sc)n=t.event(Sc,e.throttle),e={between:e.between,filter:e.filter};else{var i;n=t.event((i=e.source)===Sa?So:i||So,e.type)}let r=Sh({stream:n},e,t);return 1===Object.keys(r).length?n:t.addStream(r).id}:eJ("Invalid stream specification: "+t0(e)))(e,t)}function Sh(e,t,n){var i,r,a;let o,l=t.between;return l&&(2!==l.length&&eJ('Stream "between" parameter must have 2 entries: '+t0(t)),e.between=[Sd(l[0],n),Sd(l[1],n)]),l=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&l.push((i=t.marktype,r=t.markname,a=t.markrole,(o="event.item")+(i&&"*"!==i?"&&"+o+".mark.marktype==='"+i+"'":"")+(a?"&&"+o+".mark.role==='"+a+"'":"")+(r?"&&"+o+".mark.name==='"+r+"'":""))),t.source===Sa&&l.push("inScope(event.item)"),l.length&&(e.filter=$G("("+l.join(")&&(")+")",n).$expr),null!=(l=t.throttle)&&(e.throttle=+l),null!=(l=t.debounce)&&(e.debounce=+l),t.consume&&(e.consume=!0),e}let Sp={code:"_.$value",ast:{type:"Identifier",value:"value"}},Sm=e=>(t,n,i)=>A9(e,n,t||void 0,i),Sg=Sm("aggregate"),Sy=Sm("axisticks"),Sv=Sm("bound"),Sb=Sm("collect"),Sx=Sm("compare"),S_=Sm("datajoin"),Sw=Sm("encode"),Sk=Sm("expression"),SE=Sm("facet"),S$=Sm("field"),SA=Sm("key"),SS=Sm("legendentries"),SM=Sm("load"),SC=Sm("mark"),SD=Sm("multiextent"),SF=Sm("multivalues"),SO=Sm("overlap"),SN=Sm("params"),ST=Sm("prefacet"),Sz=Sm("projection"),SR=Sm("proxy"),SL=Sm("relay"),SB=Sm("render"),SP=Sm("scale"),SI=Sm("sieve"),Sj=Sm("sortitems"),SU=Sm("viewlayout"),Sq=Sm("values"),SW=0,SH={min:"min",max:"max",count:"sum"};function SG(e,t){return e7(e)?e.signal?t.signalRef(e.signal):eJ("Unsupported object: "+t0(e)):e}function SY(e,t){return e.signal?t.signalRef(e.signal):e.map(e=>SG(e,t))}function SV(e){eJ("Can not find data set: "+t0(e))}function SX(e,t,n){if(!e){(null!=t.domainMin||null!=t.domainMax)&&eJ("No scale domain defined for domainMin/domainMax to override.");return}return e.signal?n.signalRef(e.signal):(e9(e)?function(e,t,n){return e.map(e=>SG(e,n))}:e.fields?function(e,t,n){let i=e.data,r=e.fields.reduce((e,t)=>(t=tG(t)?{data:i,field:t}:e9(t)||t.signal?function(e,t){let n="_:vega:_"+SW++,i=Sb({});if(e9(e))i.value={$ingest:e};else if(e.signal){let r="setdata("+t0(n)+","+e.signal+")";i.params.input=t.signalRef(r)}return t.addDataPipeline(n,[i,SI({})]),{data:n,field:"data"}}(t,n):t,e.push(t),e),[]);return(dy(t.type,da)?function(e,t,n){let i,r,a=SJ(e.sort,!0),o={groupby:Sn,pulse:n.map(e=>{let n=t.getData(e.data);return n||SV(e.data),n.countsRef(t,e.field,a)})};a&&(i=a.op||"count",r=a.field?Sr(i,a.field):"count",o.ops=[SH[i]],o.fields=[t.fieldRef(r)],o.as=[r]),i=t.add(Sg(o));let l=t.add(Sb({pulse:Se(i)}));return r=t.add(Sq({field:Sn,sort:t.sortRef(a),pulse:Se(l)})),Se(r)}:dy(t.type,c8)?function(e,t,n){let i=n.map(e=>{let n=t.getData(e.data);return n||SV(e.data),n.domainRef(t,e.field)});return Se(t.add(SF({values:i})))}:function(e,t,n){let i=n.map(e=>{let n=t.getData(e.data);return n||SV(e.data),n.extentRef(t,e.field)});return Se(t.add(SD({extents:i})))})(e,n,r)}:function(e,t,n){let i=n.getData(e.data);return i||SV(e.data),dy(t.type,da)?i.valuesRef(n,e.field,SJ(e.sort,!1)):dy(t.type,c8)?i.domainRef(n,e.field):i.extentRef(n,e.field)})(e,t,n)}function SJ(e,t){return e&&(e.field||e.op?e.field||"count"===e.op?t&&e.field&&e.op&&!SH[e.op]&&eJ("Multiple domain scales can not be sorted using "+e.op):eJ("No field provided for sort aggregate op: "+e.op):e7(e)?e.field="key":e={field:"key"}),e}function SQ(e,t,n){return e9(e)?e.map(e=>SQ(e,t,n)):e7(e)?e.signal?n.signalRef(e.signal):"fit"===t?e:eJ("Unsupported parameter object: "+t0(e)):e}let SZ="left",SK="right",S0="bottom",S1="center",S2="index",S3="label",S5="perc",S6="value",S4="guide-label",S8="guide-title",S9="symbol",S7="gradient",Me="discrete",Mt="size",Mn=[Mt,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],Mi={name:1,style:1,interactive:1},Mr={value:0},Ma={value:1},Mo="group",Ml="rect",Ms="rule",Mu="text";function Mf(e){return e.type=Mo,e.interactive=e.interactive||!1,e}function Mc(e,t){let n=(n,i)=>Su(e[n],Su(t[n],i));return n.isVertical=n=>"vertical"===Su(e.direction,t.direction||(n?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>Su(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>Su(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>Su(e.columns,Su(t.columns,+n.isVertical(!0))),n}function Md(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function Mh(e,t,n){return`item.anchor === 'start' ? ${e} : item.anchor === 'end' ? ${t} : ${n}`}let Mp=Mh(t0(SZ),t0(SK),t0(S1));function Mm(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=AH(e.encode,t,Mi)):e.interactive=!1,e}let Mg=`datum.${S5}<=0?"${SZ}":datum.${S5}>=1?"${SK}":"${S1}"`,My=`datum.${S5}<=0?"${S0}":datum.${S5}>=1?"top":"middle"`;function Mv(e,t,n,i){let r=Mc(e,t),a=r.isVertical(),o=AU(r.gradientThickness()),l=r.gradientLength(),s=r("labelOverlap"),u,f,c,d,h="",p={enter:u={opacity:Mr},update:f={opacity:Ma,text:{field:S3}},exit:{opacity:Mr}};return AW(p,{fill:r("labelColor"),fillOpacity:r("labelOpacity"),font:r("labelFont"),fontSize:r("labelFontSize"),fontStyle:r("labelFontStyle"),fontWeight:r("labelFontWeight"),limit:Su(e.labelLimit,t.gradientLabelLimit)}),a?(u.align={value:"left"},u.baseline=f.baseline={signal:My},c="y",d="x",h="1-"):(u.align=f.align={signal:Mg},u.baseline={value:"top"},c="x",d="y"),u[c]=f[c]={signal:h+"datum."+S5,mult:l},u[d]=f[d]=o,o.offset=Su(e.labelOffset,t.gradientLabelOffset)||0,Mm({type:Mu,role:AJ,style:S4,key:S6,from:i,encode:p,overlap:s=s?{separation:r("labelSeparation"),method:s,order:"datum."+S2}:void 0},n)}let Mb='item.orient === "left"',Mx='item.orient === "right"',M_=`(${Mb} || ${Mx})`,Mw=`datum.vgrad && ${M_}`,Mk=Mh('"top"','"bottom"','"middle"'),ME=Mh('"right"','"left"','"center"'),M$=`datum.vgrad && ${Mx} ? (${ME}) : (${M_} && !(datum.vgrad && ${Mb})) ? "left" : ${Mp}`,MA=`item._anchor || (${M_} ? "middle" : "start")`,MS=`${Mw} ? (${Mb} ? -90 : 90) : 0`,MM=`${M_} ? (datum.vgrad ? (${Mx} ? "bottom" : "top") : ${Mk}) : "top"`;function MC(e){return e7(e)&&e.signal?e.signal:t0(e)}function MD(e){let t=e.role||"";return t.startsWith("axis")||t.startsWith("legend")||t.startsWith("title")?t:e.type===Mo?AX:t||AY}function MF(e,t){let n=o_(e.type);n||eJ("Unrecognized transform type: "+t0(e.type));let i=A9(n.type.toLowerCase(),null,MO(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(i)),i.metadata=n.metadata||{},i}function MO(e,t,n){let i={},r=e.params.length;for(let a=0;aMT(e,t,n))):MT(e,i,n)}(e,t,n):"projection"===i?n.projectionRef(t[e.name]):e.array&&!Sl(r)?r.map(t=>MN(e,t,n)):MN(e,r,n)}(r,t,n)}return i}function MN(e,t,n){let i=e.type;if(Sl(t))return MB(i)?eJ("Expression references can not be signals."):MP(i)?n.fieldRef(t):MI(i)?n.compareRef(t):n.signalRef(t.signal);{let r=e.expr||MP(i);return r&&Mz(t)?n.exprRef(t.expr,t.as):r&&MR(t)?St(t.field,t.as):MB(i)?$G(t,n):ML(i)?Se(n.getData(t).values):MP(i)?St(t):MI(i)?n.compareRef(t):t}}function MT(e,t,n){let i,r=e.params.length;for(let n=0;ne&&e.expr,MR=e=>e&&e.field,ML=e=>"data"===e,MB=e=>"expr"===e,MP=e=>"field"===e,MI=e=>"compare"===e;function Mj(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:Se(t.getData(e.data).output)}function MU(e,t,n,i,r){this.scope=e,this.input=t,this.output=n,this.values=i,this.aggregate=r,this.index={}}function Mq(e,t,n){let i,r=Sr(n.op,n.field);if(t.ops){for(let e=0,n=t.as.length;enull==e?"null":e).join(",")+"),0)",t);s.update=u.$expr,s.params=u.$params}function MG(e,t){var n,i,r;let a,o,l,s,u,f,c=MD(e),d=e.type===Mo,h=e.from&&e.from.facet,p=e.overlap,m=e.layout||c===AX||c===AV,g,y,v,b,x,_,w,k=c===AY||m||h,E=(n=e.from,n?(a=n.facet)&&(d||eJ("Only group marks can be faceted."),null!=a.field?s=u=Mj(a,t):(n.data?u=Se(t.getData(n.data).aggregate):((l=MF(tO({type:"aggregate",groupby:tw(a.groupby)},a.aggregate),t)).params.key=t.keyRef(a.groupby),l.params.pulse=Mj(a,t),s=u=Se(t.add(l))),o=t.keyRef(a.groupby,!0))):s=Se(t.add(Sb(null,[{}]))),s||(s=Mj(n,t)),{key:o,pulse:s,parent:u}),$=Se(y=t.add(S_({key:E.key||(e.key?St(e.key):void 0),pulse:E.pulse,clean:!d})));y=v=t.add(Sb({pulse:$})),y=t.add(SC({markdef:{marktype:e.type,name:e.name||void 0,role:e.role||MD(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description},interactive:(i=e.interactive,i&&i.signal?t.signalRef(i.signal):!1!==i),clip:(r=e.clip,e7(r)&&(r.signal?f=r.signal:r.path?f="pathShape("+MC(r.path)+")":r.sphere&&(f="geoShape("+MC(r.sphere)+', {type: "Sphere"})')),f?t.signalRef(f):!!r),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:Se(y)}));let A=Se(y);(y=b=t.add(Sw(A3(e.encode,e.type,c,e.style,t,{mod:!1,pulse:A})))).params.parent=t.encode(),e.transform&&e.transform.forEach(e=>{let n=MF(e,t),i=n.metadata;(i.generates||i.changes)&&eJ("Mark transforms should not generate new data."),i.nomod||(b.params.mod=!0),n.params.pulse=Se(y),t.add(y=n)}),e.sort&&(y=t.add(Sj({sort:t.compareRef(e.sort),pulse:Se(y)})));let S=Se(y);(h||m)&&(_=Se(m=t.add(SU({layout:t.objectProperty(e.layout),legends:t.legends,mark:A,pulse:S}))));let M=t.add(Sv({mark:A,pulse:_||S}));if(w=Se(M),d){let n,i,r,a,o,l,s,u,f;k&&((g=t.operators).pop(),m&&g.pop()),t.pushState(S,_||w,$),h?(r=(i=e.from.facet).name,a=Mj(i,t),i.name||eJ("Facet must have a name: "+t0(i)),i.data||eJ("Facet must reference a data set: "+t0(i)),i.field?n=t.add(ST({field:t.fieldRef(i.field),pulse:a})):i.groupby?n=t.add(SE({key:t.keyRef(i.groupby),group:Se(t.proxy(E.parent)),pulse:a})):eJ("Facet must specify groupby or field: "+t0(i)),l=(o=t.fork()).add(Sb()),s=o.add(SI({pulse:Se(l)})),o.addData(r,new MU(o,l,l,s)),o.addSignal("parent",null),n.params.subflow={$subflow:o.parse(e).toRuntime()}):k?(u=t.add(ST({pulse:E.pulse})),(f=t.fork()).add(SI()),f.addSignal("parent",null),u.params.subflow={$subflow:f.parse(e).toRuntime()}):t.parse(e),t.popState(),k&&(m&&g.push(m),g.push(M))}p&&(w=function(e,t,n){let i=e.method,r=e.bound,a=e.separation,o={separation:Sl(a)?n.signalRef(a.signal):a,method:Sl(i)?n.signalRef(i.signal):i,pulse:t};if(e.order&&(o.sort=n.compareRef({field:e.order})),r){let e=r.tolerance;o.boundTolerance=Sl(e)?n.signalRef(e.signal):+e,o.boundScale=n.scaleRef(r.scale),o.boundOrient=r.orient}return Se(n.add(SO(o)))}(p,w,t));let C=t.add(SB({pulse:w})),D=t.add(SI({pulse:Se(C)},void 0,t.parent()));null!=e.name&&(x=e.name,t.addData(x,new MU(t,v,C,D)),e.on&&e.on.forEach(e=>{(e.insert||e.remove||e.toggle)&&eJ("Marks only support modify triggers."),MH(e,t,x)}))}function MY(e,t,n){return t[e]?`scale("${t[e]}",datum)`:Md(e,n[0].encode)}MU.fromEntries=function(e,t){let n=t.length,i=t[n-1],r=t[n-2],a=t[0],o=null,l=1;for(a&&"load"===a.type&&(a=t[1]),e.add(t[0]);le===S0||"top"===e,MZ=(e,t,n)=>Sl(e)?M5(e.signal,t,n):e===SZ||"top"===e?t:n,MK=(e,t,n)=>Sl(e)?M2(e.signal,t,n):MQ(e)?t:n,M0=(e,t,n)=>Sl(e)?M3(e.signal,t,n):MQ(e)?n:t,M1=(e,t,n)=>Sl(e)?M6(e.signal,t,n):"top"===e?{value:t}:{value:n},M2=(e,t,n)=>M4(`${e} === 'top' || ${e} === '${S0}'`,t,n),M3=(e,t,n)=>M4(`${e} !== 'top' && ${e} !== '${S0}'`,t,n),M5=(e,t,n)=>M9(`${e} === '${SZ}' || ${e} === 'top'`,t,n),M6=(e,t,n)=>M9(`${e} === 'top'`,t,n),M4=(e,t,n)=>(t=null!=t?AU(t):t,n=null!=n?AU(n):n,M8(t)&&M8(n))?(t=t?t.signal||t0(t.value):null,n=n?n.signal||t0(n.value):null,{signal:`${e} ? (${t}) : (${n})`}):[tO({test:e},t)].concat(n||[]),M8=e=>null==e||1===Object.keys(e).length,M9=(e,t,n)=>({signal:`${e} ? (${Ce(t)}) : (${Ce(n)})`}),M7=(e,t,n,i,r)=>({signal:(null!=i?`${e} === '${SZ}' ? (${Ce(i)}) : `:"")+(null!=n?`${e} === '${S0}' ? (${Ce(n)}) : `:"")+(null!=r?`${e} === '${SK}' ? (${Ce(r)}) : `:"")+(null!=t?`${e} === 'top' ? (${Ce(t)}) : `:"")+"(null)"}),Ce=e=>Sl(e)?e.signal:null==e?null:t0(e),Ct=(e,t)=>{let n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function Cn(e,t,n,i){let r;if(t&&tz(t,e))return t[e];if(tz(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=e[5].toLowerCase()+e.slice(6)}return i[S8][r]}if(e.startsWith("label")){switch(e){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=e[5].toLowerCase()+e.slice(6)}return i[S4][r]}return null}function Ci(e){let t={};for(let n of e)if(n)for(let e in n)t[e]=1;return Object.keys(t)}function Cr(e,t){return{scale:e.scale,range:t}}function Ca(e,t,n,i,r){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+i+","+r+")"}}function Co(e,t,n){var i,r,a,o,l,s,u,f,c,d,h,p;let m,g,y,v,b,x,_,w,k,E,$,A,S,M,C,D,F=tw(e.signals),O=tw(e.scales);n||F.forEach(e=>A4(e,t)),tw(e.projections).forEach(e=>(function(e,t){let n=t.config.projection||{},i={};for(let n in e)"name"!==n&&(i[n]=SQ(e[n],n,t));for(let e in n)null==i[e]&&(i[e]=SQ(n[e],e,t));t.addProjection(e.name,i)})(e,t)),O.forEach(e=>{let n;return n=e.type||"linear",void(!dh.has(n)&&eJ("Unrecognized scale type: "+t0(n)),t.addScale(e.name,{type:n,domain:void 0}))}),tw(e.data).forEach(e=>{let n;return n=[],void(e.transform&&e.transform.forEach(e=>{n.push(MF(e,t))}),e.on&&e.on.forEach(n=>{MH(n,t,e.name)}),t.addDataPipeline(e.name,function(e,t,n){let i=[],r=null,a=!1,o=!1,l,s,u,f,c;for(e.values?Sl(e.values)||Ss(e.format)?(i.push(MJ(t,e)),i.push(r=MX())):i.push(r=MX({$ingest:e.values,$format:e.format})):e.url?Ss(e.url)||Ss(e.format)?(i.push(MJ(t,e)),i.push(r=MX())):i.push(r=MX({$request:e.url,$format:e.format})):e.source&&(r=l=tw(e.source).map(e=>Se(t.getData(e).output)),i.push(null)),s=0,u=n.length;s(function(e,t){var n,i,r,a,o,l;let s,u=t.getScale(e.name).params;for(s in u.domain=SX(e.domain,e,t),null!=e.range&&(u.range=function e(t,n,i){let r=n.config.range,a=t.range;if(a.signal)return n.signalRef(a.signal);if(tG(a))if(r&&tz(r,a))return e(t=tO({},t,{range:r[a]}),n,i);else"width"===a?a=[0,{signal:"width"}]:"height"===a?a=dy(t.type,da)?[0,{signal:"height"}]:[{signal:"height"},0]:eJ("Unrecognized scale range value: "+t0(a));else if(a.scheme){i.scheme=e9(a.scheme)?SY(a.scheme,n):SG(a.scheme,n),a.extent&&(i.schemeExtent=SY(a.extent,n)),a.count&&(i.schemeCount=SG(a.count,n));return}else if(a.step){i.rangeStep=SG(a.step,n);return}else{if(dy(t.type,da)&&!e9(a))return SX(a,t,n);e9(a)||eJ("Unsupported range type: "+t0(a))}return a.map(e=>(e9(e)?SY:SG)(e,n))}(e,t,u)),null!=e.interpolate&&(n=e.interpolate,(i=u).interpolate=SG(n.type||n),null!=n.gamma&&(i.interpolateGamma=SG(n.gamma))),null!=e.nice&&(r=e.nice,a=t,u.nice=r.signal?a.signalRef(r.signal):e7(r)?{interval:SG(r.interval),step:SG(r.step)}:SG(r)),null!=e.bins&&(o=e.bins,l=t,u.bins=o.signal||e9(o)?SY(o,l):l.objectProperty(o)),e)tz(u,s)||"name"===s||(u[s]=SG(e[s],t))})(e,t)),(n||F).forEach(e=>{let n,i;return n=t.getSignal(e.name),i=e.update,void(e.init&&(i?eJ("Signals can not include both init and update expressions."):(i=e.init,n.initonly=!0)),i&&(n.update=(i=$G(i,t)).$expr,n.params=i.$params),e.on&&e.on.forEach(e=>{var i;let r,a,o,l,s;return i=n.id,r=e.encode,a={target:i},o=e.events,l=e.update,s=[],void(!o&&eJ("Signal update missing events specification."),tG(o)&&(o=AP(o,t.isSubscope()?Sa:So)),o=tw(o).filter(e=>e.signal||e.scale?(s.push(e),0):1),s.length>1&&(s=[{signal:"["+s.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}]),o.length&&s.push(o.length>1?{merge:o}:o[0]),null!=r&&(l&&eJ("Signal encode and update are mutually exclusive."),l="encode(item(),"+t0(r)+")"),a.update=tG(l)?$G(l,t):null!=l.expr?$G(l.expr,t):null!=l.value?l.value:null!=l.signal?{$expr:Sp,$params:{$value:t.signalRef(l.signal)}}:eJ("Invalid signal update specification."),e.force&&(a.options={force:!0}),s.forEach(e=>{var n,i;return t.addUpdate(tO((n=e,i=t,{source:n.signal?i.signalRef(n.signal):n.scale?i.scaleRef(n.scale):Sd(n,i)}),a))}))}))}),tw(e.axes).forEach(e=>(function(e,t){var n,i,r,a,o,l,s,u,f,c,d,h,p;let m,g,y,v,b,x,_,w,k,E,$,A,S,M,C,D,F,O,N,T,z,R,L,B,P,I,j,U,q,W,H,G,Y,V,X,J,Q=function(e,t){var n,i,r,a=t.config,o=a.style,l=a.axis,s="band"===t.scaleType(e.scale)&&a.axisBand,u=e.orient;if(Sl(u)){let e=Ci([a.axisX,a.axisY]),t=Ci([a.axisTop,a.axisBottom,a.axisLeft,a.axisRight]);for(r of(n={},e))n[r]=MK(u,Cn(r,a.axisX,l,o),Cn(r,a.axisY,l,o));for(r of(i={},t))i[r]=M7(u.signal,Cn(r,a.axisTop,l,o),Cn(r,a.axisBottom,l,o),Cn(r,a.axisLeft,l,o),Cn(r,a.axisRight,l,o))}else n="top"===u||u===S0?a.axisX:a.axisY,i=a["axis"+u[0].toUpperCase()+u.slice(1)];return n||i||s?tO({},l,n,i,s):l}(e,t),Z=e.encode||{},K=Z.axis||{},ee=K.name||void 0,et=K.interactive,en=K.style,ei=Mc(e,Q),er=(x=ei("tickBand"),_=ei("tickOffset"),x?x.signal?(w={signal:`(${x.signal}) === 'extent' ? 1 : 0.5`},k={signal:`(${x.signal}) === 'extent'`},e7(_)||(_={signal:`(${x.signal}) === 'extent' ? 0 : ${_}`})):"extent"===x?(w=1,k=!0,_=0):(w=.5,k=!1):(w=ei("bandPosition"),k=ei("tickExtra")),{extra:k,band:w,offset:_}),ea={scale:e.scale,ticks:!!ei("ticks"),labels:!!ei("labels"),grid:!!ei("grid"),domain:!!ei("domain"),title:null!=e.title},eo=Se(t.add(Sb({},[ea]))),el=Se(t.add(Sy({scale:t.scaleRef(e.scale),extra:t.property(er.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),es=[];if(ea.grid&&es.push((n=Z.grid,S=Mc(e,Q),M=e.orient,C=e.gridScale,D=MZ(M,1,-1),F=function(e,t){if(1===t);else if(e7(e)){let n=e=tO({},e);for(;null!=n.mult;)if(!e7(n.mult))return n.mult=Sl(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;else n=n.mult=tO({},n.mult);n.mult=t}else e=Sl(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);return e}(e.offset,D),AW(O={enter:E={opacity:Mr},update:A={opacity:Ma},exit:$={opacity:Mr}},{stroke:S("gridColor"),strokeCap:S("gridCap"),strokeDash:S("gridDash"),strokeDashOffset:S("gridDashOffset"),strokeOpacity:S("gridOpacity"),strokeWidth:S("gridWidth")}),N={scale:e.scale,field:S6,band:er.band,extra:er.extra,offset:er.offset,round:S("tickRound")},T=MK(M,{signal:"height"},{signal:"width"}),z=C?{scale:C,range:0,mult:D,offset:F}:{value:0,offset:F},R=C?{scale:C,range:1,mult:D,offset:F}:tO(T,{mult:D,offset:F}),E.x=A.x=MK(M,N,z),E.y=A.y=M0(M,N,z),E.x2=A.x2=M0(M,R),E.y2=A.y2=MK(M,R),$.x=MK(M,N),$.y=M0(M,N),Mm({type:Ms,role:"axis-grid",key:S6,from:el,encode:O},n))),ea.ticks){let t,n,a,o,l,s,u,f,c;b=ei("tickSize"),es.push((i=Z.ticks,r=b,o=Mc(e,Q),s=MZ(l=e.orient,-1,1),AW(u={enter:t={opacity:Mr},update:a={opacity:Ma},exit:n={opacity:Mr}},{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")}),(f=AU(r)).mult=s,a.y=t.y=MK(l,Mr,c={scale:e.scale,field:S6,band:er.band,extra:er.extra,offset:er.offset,round:o("tickRound")}),a.y2=t.y2=MK(l,f),n.x=MK(l,c),a.x=t.x=M0(l,Mr,c),a.x2=t.x2=M0(l,f),n.y=M0(l,c),Mm({type:Ms,role:"axis-tick",key:S6,from:el,encode:u},i)))}if(ea.labels){let t,n,i,r,l,s,u,f,c,d,h,p,m,g,y,v,x,_,w,k,E,$;b=ea.ticks?b:0;es.push((a=Z.labels,o=b,t=Mc(e,Q),n=e.orient,i=e.scale,r=MZ(n,-1,1),l=Sf(t("labelFlush")),s=Sf(t("labelFlushOffset")),u=t("labelAlign"),f=t("labelBaseline"),c=0===l||!!l,(h=AU(o)).mult=r,h.offset=AU(t("labelPadding")||0),h.offset.mult=r,p={scale:i,field:S6,band:.5,offset:function e(t,n){return n?t?e7(t)?Object.assign({},t,{offset:e(t.offset,n)}):{value:t,offset:n}:n:t}(er.offset,t("labelOffset"))},y=MK(n,c?Ca(i,l,'"left"','"right"','"center"'):{value:"center"},(m="left",g="right",Sl(n)?($=n.signal,M9(`${$} === '${SK}'`,m,g)):n===SK?{value:m}:{value:g})),v=MK(n,M1(n,"bottom","top"),c?Ca(i,l,'"top"','"bottom"','"middle"'):{value:"middle"}),x=Ca(i,l,`-(${s})`,s,0),c=c&&s,AW(w={enter:_={opacity:Mr,x:MK(n,p,h),y:M0(n,p,h)},update:d={opacity:Ma,text:{field:S3},x:_.x,y:_.y,align:y,baseline:v},exit:{opacity:Mr,x:_.x,y:_.y}},{dx:!u&&c?MK(n,x):null,dy:!f&&c?M0(n,x):null}),AW(w,{angle:t("labelAngle"),fill:t("labelColor"),fillOpacity:t("labelOpacity"),font:t("labelFont"),fontSize:t("labelFontSize"),fontWeight:t("labelFontWeight"),fontStyle:t("labelFontStyle"),limit:t("labelLimit"),lineHeight:t("labelLineHeight")},{align:u,baseline:f}),k=t("labelBound"),E=(E=t("labelOverlap"))||k?{separation:t("labelSeparation"),method:E,order:"datum.index",bound:k?{scale:i,orient:n,tolerance:k}:null}:void 0,d.align!==y&&(d.align=Ct(d.align,y)),d.baseline!==v&&(d.baseline=Ct(d.baseline,v)),Mm({type:Mu,role:"axis-label",style:S4,key:S6,from:el,encode:w,overlap:E},a)))}ea.domain&&es.push((l=Z.domain,P=Mc(e,Q),I=e.orient,AW(j={enter:L={opacity:Mr},update:B={opacity:Ma},exit:{opacity:Mr}},{stroke:P("domainColor"),strokeCap:P("domainCap"),strokeDash:P("domainDash"),strokeDashOffset:P("domainDashOffset"),strokeWidth:P("domainWidth"),strokeOpacity:P("domainOpacity")}),U=Cr(e,0),q=Cr(e,1),L.x=B.x=MK(I,U,Mr),L.x2=B.x2=MK(I,q),L.y=B.y=M0(I,U,Mr),L.y2=B.y2=M0(I,q),Mm({type:Ms,role:"axis-domain",from:eo,encode:j},l)));return ea.title&&es.push((s=Z.title,G=Mc(e,Q),V=MZ(Y=e.orient,-1,1),X={enter:W={opacity:Mr,anchor:AU(G("titleAnchor",null)),align:{signal:Mp}},update:H=tO({},W,{opacity:Ma,text:AU(e.title)}),exit:{opacity:Mr}},H.x=MK(Y,J={signal:`lerp(range("${e.scale}"), ${Mh(0,1,.5)})`}),H.y=M0(Y,J),W.angle=MK(Y,Mr,Sl(V)?{signal:`(${V.signal}) * 90`}:{value:90*V}),W.baseline=MK(Y,M1(Y,S0,"top"),{value:S0}),H.angle=W.angle,H.baseline=W.baseline,AW(X,{fill:G("titleColor"),fillOpacity:G("titleOpacity"),font:G("titleFont"),fontSize:G("titleFontSize"),fontStyle:G("titleFontStyle"),fontWeight:G("titleFontWeight"),limit:G("titleLimit"),lineHeight:G("titleLineHeight")},{align:G("titleAlign"),angle:G("titleAngle"),baseline:G("titleBaseline")}),u=G,f=Y,c=X,d=s,g=(m=(e,t)=>null!=e?(c.update[t]=Ct(AU(e),c.update[t]),!1):!AG(t,d))(u("titleX"),"x"),y=m(u("titleY"),"y"),c.enter.auto=y===g?AU(y):MK(f,AU(y),AU(g)),X.update.align=Ct(X.update.align,W.align),X.update.angle=Ct(X.update.angle,W.angle),X.update.baseline=Ct(X.update.baseline,W.baseline),Mm({type:Mu,role:"axis-title",style:S8,from:eo,encode:X},s))),MG(Mf({role:"axis",from:eo,encode:AH((h=ei,p=e,AW(v={enter:{},update:{}},{orient:h("orient"),offset:h("offset")||0,position:Su(p.position,0),titlePadding:h("titlePadding"),minExtent:h("minExtent"),maxExtent:h("maxExtent"),range:{signal:`abs(span(range("${p.scale}")))`},translate:h("translate"),format:p.format,formatType:p.formatType}),v),K,Mi),marks:es,aria:ei("aria"),description:ei("description"),zindex:ei("zindex"),name:ee,interactive:et,style:en}),t)})(e,t)),tw(e.marks).forEach(e=>MG(e,t)),tw(e.legends).forEach(e=>(function(e,t){var n,i,r,a,o,l,s,u,f,c,d,h,p,m,g,y;let v,b,x,_,w=t.config.legend,k=e.encode||{},E=Mc(e,w),$=k.legend||{},A=$.name||void 0,S=$.interactive,M=$.style,C={},D=0,F,O,N;Mn.forEach(t=>e[t]?(C[t]=e[t],D=D||e[t]):0),D||eJ("Missing valid scale for legend.");let T=(u=e,f=t.scaleType(D),v=u.type||S9,!u.type&&1===(c=u,Mn.reduce((e,t)=>e+ +!!c[t],0))&&(u.fill||u.stroke)&&(v=dy(f,dr)?S7:dy(f,dl)?Me:S9),v!==S7?v:dy(f,dl)?Me:S7),z={title:null!=e.title,scales:C,type:T,vgrad:"symbol"!==T&&E.isVertical()},R=Se(t.add(Sb(null,[z]))),L=Se(t.add(SS(O={type:T,scale:t.scaleRef(D),count:t.objectProperty(E("tickCount")),limit:t.property(E("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));if(T===S7){let r,a,o,l,s,u,f,c,d,h;N=[(n=D,i=k.gradient,f=(u=Mc(e,w)).isVertical(),c=u.gradientThickness(),d=u.gradientLength(),f?(a=[0,1],o=[0,0],l=c,s=d):(a=[0,0],o=[1,0],l=d,s=c),AW(h={enter:r={opacity:Mr,x:Mr,y:Mr,width:AU(l),height:AU(s)},update:tO({},r,{opacity:Ma,fill:{gradient:n,start:a,stop:o}}),exit:{opacity:Mr}},{stroke:u("gradientStrokeColor"),strokeWidth:u("gradientStrokeWidth")},{opacity:u("gradientOpacity")}),Mm({type:Ml,role:"legend-gradient",encode:h},i)),Mv(e,w,k.labels,L)],O.count=O.count||t.signalRef(`max(2,2*floor((${Sf(E.gradientLength())})/100))`)}else if(T===Me){let t,n,i,o,l,s,u,f,c,d,h;N=[(r=D,a=k.gradient,n=(t=Mc(e,w)).isVertical(),i=t.gradientThickness(),o=t.gradientLength(),c="",n?(l="y",u="y2",s="x",f="width",c="1-"):(l="x",u="x2",s="y",f="height"),(d={opacity:Mr,fill:{scale:r,field:S6}})[l]={signal:c+"datum."+S5,mult:o},d[s]=Mr,d[u]={signal:c+"datum.perc2",mult:o},d[f]=AU(i),AW(h={enter:d,update:tO({},d,{opacity:Ma}),exit:{opacity:Mr}},{stroke:t("gradientStrokeColor"),strokeWidth:t("gradientStrokeWidth")},{opacity:t("gradientOpacity")}),Mm({type:Ml,role:"legend-band",key:S6,from:L,encode:h},a)),Mv(e,w,k.labels,L)]}else{let n,i,r,a,s,u,f,c,m,g,y,v,b,x,_,E,$,A,S,M,C,D,T,z,R;F={align:(n=Mc(e,w))("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}};N=[(o=L,l=Sf(F.columns),f=Mc(e,w),m=!!((c=k.entries)&&c.interactive),g=c?c.name:void 0,y=f("clipHeight"),v=f("symbolOffset"),b={data:"value"},x=`(${l}) ? datum.offset : datum.${Mt}`,_=y?AU(y):{field:Mt},E=`datum.${S2}`,$=`max(1, ${l})`,_.mult=.5,i={enter:r={opacity:Mr,x:{signal:x,mult:.5,offset:v},y:_},update:a={opacity:Ma,x:r.x,y:r.y},exit:{opacity:Mr}},A=null,S=null,e.fill||(A=w.symbolBaseFillColor,S=w.symbolBaseStrokeColor),AW(i,{fill:f("symbolFillColor",A),shape:f("symbolType"),size:f("symbolSize"),stroke:f("symbolStrokeColor",S),strokeDash:f("symbolDash"),strokeDashOffset:f("symbolDashOffset"),strokeWidth:f("symbolStrokeWidth")},{opacity:f("symbolOpacity")}),Mn.forEach(t=>{e[t]&&(a[t]=r[t]={scale:e[t],field:S6})}),M=Mm({type:"symbol",role:"legend-symbol",key:S6,from:b,clip:!!y||void 0,encode:i},k.symbols),(C=AU(v)).offset=f("labelOffset"),AW(i={enter:r={opacity:Mr,x:{signal:x,offset:C},y:_},update:a={opacity:Ma,text:{field:S3},x:r.x,y:r.y},exit:{opacity:Mr}},{align:f("labelAlign"),baseline:f("labelBaseline"),fill:f("labelColor"),fillOpacity:f("labelOpacity"),font:f("labelFont"),fontSize:f("labelFontSize"),fontStyle:f("labelFontStyle"),fontWeight:f("labelFontWeight"),limit:f("labelLimit")}),D=Mm({type:Mu,role:AJ,style:S4,key:S6,from:b,encode:i},k.labels),i={enter:{noBound:{value:!y},width:Mr,height:y?AU(y):Mr,opacity:Mr},exit:{opacity:Mr},update:a={opacity:Ma,row:{signal:null},column:{signal:null}}},f.isVertical(!0)?(s=`ceil(item.mark.items.length / ${$})`,a.row.signal=`${E}%${s}`,a.column.signal=`floor(${E} / ${s})`,u={field:["row",E]}):(a.row.signal=`floor(${E} / ${$})`,a.column.signal=`${E} % ${$}`,u={field:E}),a.column.signal=`(${l})?${a.column.signal}:${E}`,Mf({role:AX,from:o={facet:{data:o,name:"value",groupby:S2}},encode:AH(i,c,Mi),marks:[M,D],name:g,interactive:m,sort:u}))],d=e,h=t,T=Sf(MY("size",d,p=N[0].marks)),z=Sf(MY("strokeWidth",d,p)),R=Sf(function(e,t,n){let i;return Md("fontSize",e)||(i=t.config.style[n])&&i.fontSize}(p[1].encode,h,S4)),O.size=$G(`max(ceil(sqrt(${T})+${z}),${R})`,h)}N=[Mf({role:"legend-entry",from:R,encode:{enter:{x:{value:0},y:{value:0}}},marks:N,layout:F,interactive:S})];return z.title&&N.push((s=k.title,x=Mc(e,w),AW(_={enter:{opacity:Mr},update:{opacity:Ma,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Mr}},{orient:x("titleOrient"),_anchor:x("titleAnchor"),anchor:{signal:MA},angle:{signal:MS},align:{signal:M$},baseline:{signal:MM},text:e.title,fill:x("titleColor"),fillOpacity:x("titleOpacity"),font:x("titleFont"),fontSize:x("titleFontSize"),fontStyle:x("titleFontStyle"),fontWeight:x("titleFontWeight"),limit:x("titleLimit"),lineHeight:x("titleLineHeight")},{align:x("titleAlign"),baseline:x("titleBaseline")}),Mm({type:Mu,role:"legend-title",style:S8,from:R,encode:_},s))),MG(Mf({role:"legend",from:R,encode:AH((m=E,g=e,y=w,AW(b={enter:{},update:{}},{orient:m("orient"),offset:m("offset"),padding:m("padding"),titlePadding:m("titlePadding"),cornerRadius:m("cornerRadius"),fill:m("fillColor"),stroke:m("strokeColor"),strokeWidth:y.strokeWidth,strokeDash:y.strokeDash,x:m("legendX"),y:m("legendY"),format:g.format,formatType:g.formatType}),b),$,Mi),marks:N,aria:E("aria"),description:E("description"),zindex:E("zindex"),name:A,interactive:S,style:M}),t)})(e,t));return e.title&&(i=e.title,k=Mc(i=tG(i)?{text:i}:i,t.config.title),A=($=(E=i.encode||{}).group||{}).name||void 0,S=$.interactive,M=$.style,C=[],D=Se(t.add(Sb(null,[{}]))),C.push((a=i,o=k,l=(m=(r=i).encode)&&m.title||tO({name:r.name,interactive:r.interactive,style:r.style},m),s=D,g={value:0},y=a.text,AW(v={enter:{opacity:g},update:{opacity:{value:1}},exit:{opacity:g}},{text:y,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:o("dx"),dy:o("dy"),fill:o("color"),font:o("font"),fontSize:o("fontSize"),fontStyle:o("fontStyle"),fontWeight:o("fontWeight"),lineHeight:o("lineHeight")},{align:o("align"),angle:o("angle"),baseline:o("baseline")}),Mm({type:Mu,role:"title-text",style:"group-title",from:s,encode:v},l))),i.subtitle&&C.push((u=i,f=k,c=E.subtitle,d=D,b={value:0},x=u.subtitle,AW(_={enter:{opacity:b},update:{opacity:{value:1}},exit:{opacity:b}},{text:x,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:f("dx"),dy:f("dy"),fill:f("subtitleColor"),font:f("subtitleFont"),fontSize:f("subtitleFontSize"),fontStyle:f("subtitleFontStyle"),fontWeight:f("subtitleFontWeight"),lineHeight:f("subtitleLineHeight")},{align:f("align"),angle:f("angle"),baseline:f("baseline")}),Mm({type:Mu,role:"title-subtitle",style:"group-subtitle",from:d,encode:_},c))),MG(Mf({role:"title",from:D,encode:(h=k,p=$,AW(w={enter:{},update:{}},{orient:h("orient"),anchor:h("anchor"),align:{signal:Mp},angle:{signal:MV},limit:h("limit"),frame:h("frame"),offset:h("offset")||0,padding:h("subtitlePadding")}),AH(w,p,Mi)),marks:C,aria:k("aria"),description:k("description"),zindex:k("zindex"),name:A,interactive:S,style:M}),t)),t.parseLambdas(),t}function Cl(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function Cs(e,t){this.config=e||{},this.options=t||{},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 Cu(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}Cs.prototype=Cu.prototype={parse(e){return Co(e,this)},fork(){return new Cu(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(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach(t=>{t.$ref=e.id}),e.refs=null),e},proxy(e){let t=e instanceof A8?Se(e):e;return this.add(SR({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(e,t,n){let i;e&&((i=e.data||(e.data={}))[t]||(i[t]=[])).push(n)}for(e in this.data)for(let i in n((t=this.data[e]).input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values"),t.index)n(t.index[i],e,"index:"+i);return this},pushState(e,t,n){this._encode.push(Se(this.add(SI({pulse:e})))),this._parent.push(t),this._lookup.push(n?Se(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return ti(this._parent)},encode(){return ti(this._encode)},lookup(){return ti(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(tG(e))return St(e,t);e.signal||eJ("Unsupported field reference: "+t0(e));let n=e.signal,i=this.field[n];if(!i){let e={name:this.signalRef(n)};t&&(e.as=t),this.field[n]=i=Se(this.add(S$(e)))}return i},compareRef(e){let t=!1,n=e=>Sl(e)?(t=!0,this.signalRef(e.signal)):e&&e.expr?(t=!0,this.exprRef(e.expr)):e,i=tw(e.field).map(n),r=tw(e.order).map(n);return t?Se(this.add(Sx({fields:i,orders:r}))):Si(i,r)},keyRef(e,t){let n,i=!1,r=this.signals;return e=tw(e).map(e=>Sl(e)?(i=!0,Se(r[e.signal])):e),i?Se(this.add(SA({fields:e,flat:t}))):(n={$key:e},t&&(n.$flat=!0),n)},sortRef(e){if(!e)return e;let t=Sr(e.op,e.field),n=e.order||"ascending";return n.signal?Se(this.add(Sx({fields:t,orders:this.signalRef(n.signal)}))):Si(t,n)},event(e,t){let n=e+":"+t;if(!this.events[n]){let i=this.id();this.streams.push({id:i,source:e,type:t}),this.events[n]=i}return this.events[n]},hasOwnSignal(e){return tz(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&eJ("Duplicate signal name: "+t0(e));let n=t instanceof A8?t:this.add(A7(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||eJ("Unrecognized signal name: "+t0(e)),this.signals[e]},signalRef(e){return this.signals[e]?Se(this.signals[e]):(tz(this.lambdas,e)||(this.lambdas[e]=this.add(A7(null))),Se(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t0?",":"")+(e7(n)?n.signal||e(n):t0(n))}return i+"]"}:function(t){let n="{",i=0,r,a;for(r in t)a=t[r],n+=(++i>1?",":"")+t0(r)+":"+(e7(a)?a.signal||e(a):t0(a));return n+"}"})(t)}(e)):e},exprRef(e,t){let n={expr:$G(e,this)};return t&&(n.expr.$name=t),Se(this.add(Sk(n)))},addBinding(e,t){this.bindings||eJ("Nested signals do not support binding: "+t0(e)),this.bindings.push(tO({signal:e},t))},addScaleProj(e,t){tz(this.scales,e)&&eJ("Duplicate scale or projection name: "+t0(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,SP(t))},addProjection(e,t){this.addScaleProj(e,Sz(t))},getScale(e){return this.scales[e]||eJ("Unrecognized scale name: "+t0(e)),this.scales[e]},scaleRef(e){return Se(this.getScale(e))},scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return tz(this.data,e)&&eJ("Duplicate data set name: "+t0(e)),this.data[e]=t},getData(e){return this.data[e]||eJ("Undefined data set name: "+t0(e)),this.data[e]},addDataPipeline(e,t){return tz(this.data,e)&&eJ("Duplicate data set name: "+t0(e)),this.addData(e,MU.fromEntries(this,t))}},tO(ox,sw,ym,yY,xJ,_O,wJ,wO,w1,k_,kC,kR);let Cf="6.2.0";e.s(["version",0,Cf],78596),e.i(78596),e.i(48417),e.i(33008),e.i(25591),e.i(86421),e.i(97115),e.s(["Bounds",0,hO,"CanvasHandler",0,mD,"CanvasRenderer",0,mz,"Gradient",0,dQ,"GroupItem",0,hT,"Handler",0,mf,"HybridHandler",0,gd,"HybridRenderer",0,gc,"Item",0,hN,"Marks",0,p6,"RenderType",0,gg,"Renderer",0,md,"ResourceLoader",0,hz,"SVGHandler",0,mL,"SVGRenderer",0,m8,"SVGStringRenderer",0,gs,"Scenegraph",0,mn,"boundClip",0,gE,"boundContext",0,hY,"boundItem",0,p4,"boundMark",0,p9,"boundStroke",0,hB,"domChild",0,mo,"domClear",0,ml,"domCreate",0,mr,"domFind",0,ma,"font",0,pK,"fontFamily",0,pZ,"fontSize",0,pY,"intersect",0,gb,"intersectBoxLine",0,h5,"intersectPath",0,h0,"intersectPoint",0,h1,"intersectRule",0,h3,"lineHeight",0,pV,"markup",0,m0,"multiLineOffset",0,pJ,"path",0,uu,"pathCurves",0,dK,"pathEqual",0,gA,"pathParse",0,d6,"pathRectangle",0,hm,"pathRender",0,hr,"pathSymbols",0,hl,"pathTrail",0,hg,"point",0,mu,"renderModule",0,gv,"resetSVGDefIds",0,gS,"sceneEqual",0,g$,"sceneFromJSON",0,mt,"scenePickVisit",0,pa,"sceneToJSON",0,me,"sceneVisit",0,pr,"sceneZOrder",0,pi,"serializeXML",0,m1,"setHybridRendererOptions",0,gf,"textMetrics",0,pj],85578),e.i(85578),e.s(["Bounds",0,hO,"CanvasHandler",0,mD,"CanvasRenderer",0,mz,"DATE",0,is,"DAY",0,"day","DAYOFYEAR",0,iu,"Dataflow",0,oy,"Debug",0,4,"DisallowedObjectProperties",0,e6,"Error",0,1,"EventStream",0,ot,"Gradient",0,dQ,"GroupItem",0,hT,"HOURS",0,ic,"Handler",0,mf,"HybridHandler",0,gd,"HybridRenderer",0,gc,"Info",0,3,"Item",0,hN,"MILLISECONDS",0,ip,"MINUTES",0,id,"MONTH",0,io,"Marks",0,p6,"MultiPulse",0,oc,"None",0,0,"Operator",0,a9,"Parameters",0,a6,"Pulse",0,ol,"QUARTER",0,ia,"RenderType",0,gg,"Renderer",0,md,"ResourceLoader",0,hz,"SECONDS",0,ih,"SVGHandler",0,mL,"SVGRenderer",0,m8,"SVGStringRenderer",0,gs,"Scenegraph",0,mn,"TIME_UNITS",0,im,"Transform",0,ob,"View",0,AO,"WEEK",0,il,"Warn",0,2,"YEAR",0,ir,"accessor",0,eW,"accessorFields",0,eG,"accessorName",0,eH,"array",0,tw,"ascending",0,tA,"bandwidthNRD",0,oT,"bin",0,oz,"bootstrapCI",0,oB,"boundClip",0,gE,"boundContext",0,hY,"boundItem",0,p4,"boundMark",0,p9,"boundStroke",0,hB,"changeset",0,a3,"clampRange",0,tk,"codegenExpression",0,E_,"compare",0,t$,"constant",0,tD,"cumulativeLogNormal",0,oK,"cumulativeNormal",0,oY,"cumulativeUniform",0,o6,"dayofyear",0,iw,"debounce",0,tF,"defaultLocale",0,ab,"definition",0,o_,"densityLogNormal",0,oZ,"densityNormal",0,oG,"densityUniform",0,o5,"domChild",0,mo,"domClear",0,ml,"domCreate",0,mr,"domFind",0,ma,"dotbin",0,oP,"error",0,eJ,"expressionFunction",0,$H,"extend",0,tO,"extent",0,tN,"extentIndex",0,tT,"falsy",0,e5,"fastmap",0,tL,"field",0,eZ,"flush",0,tB,"font",0,pK,"fontFamily",0,pZ,"fontSize",0,pY,"format",0,aI,"formatLocale",0,ad,"formats",0,aj,"hasOwnProperty",0,tz,"id",0,eK,"identity",0,e0,"inferType",0,aN,"inferTypes",0,aT,"ingest",0,aQ,"inherits",0,tP,"inrange",0,tI,"interpolate",0,dk,"interpolateColors",0,dx,"interpolateRange",0,db,"intersect",0,gb,"intersectBoxLine",0,h5,"intersectPath",0,h0,"intersectPoint",0,h1,"intersectRule",0,h3,"isArray",0,e9,"isBoolean",0,tj,"isDate",0,tU,"isFunction",0,tE,"isIterable",0,tq,"isNumber",0,tW,"isObject",0,e7,"isRegExp",0,tH,"isString",0,tG,"isTuple",0,aX,"key",0,tY,"lerp",0,tV,"lineHeight",0,pV,"loader",0,aW,"locale",0,av,"logger",0,e8,"lruCache",0,tX,"markup",0,m0,"merge",0,tJ,"mergeConfig",0,tt,"multiLineOffset",0,pJ,"one",0,e2,"pad",0,tZ,"panLinear",0,tc,"panLog",0,td,"panPow",0,th,"panSymlog",0,tp,"parse",0,function(e,t,n){var i,r,a,o,l,s;let u,f,c,d,h,p,m,g,y,v,b,x,_,w,k,E,$;e7(e)||eJ("Input Vega specification must be an object.");return t=tt({description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:f="#4c78a8"},area:{fill:f},image:null,line:{stroke:f,strokeWidth:2},path:{stroke:f},rect:{fill:f},rule:{stroke:c="#000"},shape:{stroke:f},symbol:{fill:f,size:64},text:{fill:c,font:u="sans-serif",fontSize:11},trail:{fill:f,size:2},style:{"guide-label":{fill:c,font:u,fontSize:10},"guide-title":{fill:c,font:u,fontSize:11,fontWeight:"bold"},"group-title":{fill:c,font:u,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:c,font:u,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:h="#ddd"},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:d="#888",grid:!1,gridWidth:1,gridColor:h,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:d,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:h,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:d,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"]}},t,e.config),(i=e,b=(r=new Cs(t,n)).config,x=Se(r.root=r.add(A7())),(_=(a=i,o=b,y=(g=[Cl("background",(m=e=>Su(a[e],o[e]))("background")),Cl("autosize",e7(l=m("autosize"))?l:{type:l||"pad"}),Cl("padding",e7(s=m("padding"))?s.signal?s:{top:+s.top||0,bottom:+s.bottom||0,left:+s.left||0,right:+s.right||0}:{top:p=+s||0,bottom:p,left:p,right:p}),Cl("width",m("width")||0),Cl("height",m("height")||0)]).reduce((e,t)=>(e[t.name]=t,e),{}),v={},tw(a.signals).forEach(e=>{tz(y,e.name)?e=tO(y[e.name],e):g.push(e),v[e.name]=e}),tw(o.signals).forEach(e=>{tz(v,e.name)||tz(y,e.name)||g.push(e)}),g)).forEach(e=>A4(e,r)),r.description=i.description||b.description,r.eventConfig=b.events,r.legends=r.objectProperty(b.legend&&b.legend.layout),r.locale=b.locale,w=r.add(Sb()),k=r.add(Sw(A3(AH({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},i.encode),Mo,AV,i.style,r,{pulse:Se(w)}))),E=r.add(SU({layout:r.objectProperty(i.layout),legends:r.legends,autosize:r.signalRef("autosize"),mark:x,pulse:Se(k)})),r.operators.pop(),r.pushState(Se(k),Se(E),null),Co(i,r,_),r.operators.push(E),$=r.add(Sv({mark:x,pulse:Se(E)})),$=r.add(SB({pulse:Se($)})),$=r.add(SI({pulse:Se($)})),r.addData("root",new MU(r,w,w,$)),r).toRuntime()},"parseExpression",0,Ev,"parseSelector",0,AP,"path",0,uu,"pathCurves",0,dK,"pathEqual",0,gA,"pathParse",0,d6,"pathRectangle",0,hm,"pathRender",0,hr,"pathSymbols",0,hl,"pathTrail",0,hg,"peek",0,ti,"point",0,mu,"projection",0,xb,"quantileLogNormal",0,o0,"quantileNormal",0,oV,"quantileUniform",0,o4,"quantiles",0,oO,"quantizeInterpolator",0,d_,"quarter",0,tx,"quartiles",0,oN,"random",()=>oR,"randomInteger",0,oj,"randomKDE",0,oJ,"randomLCG",0,oI,"randomLogNormal",0,o1,"randomMixture",0,o2,"randomNormal",0,oX,"randomUniform",0,o8,"read",0,aq,"regressionConstant",0,o9,"regressionExp",0,la,"regressionLinear",0,li,"regressionLoess",0,lu,"regressionLog",0,lr,"regressionPoly",0,ls,"regressionPow",0,lo,"regressionQuad",0,ll,"renderModule",0,gv,"repeat",0,tQ,"resetDefaultLocale",0,function(){return ac(),am(),ab()},"resetSVGDefIds",0,gS,"responseType",0,aU,"runtimeContext",0,$1,"sampleCurve",0,lc,"sampleLogNormal",0,oQ,"sampleNormal",0,oH,"sampleUniform",0,o3,"scale",0,dg,"sceneEqual",0,g$,"sceneFromJSON",0,mt,"scenePickVisit",0,pa,"sceneToJSON",0,me,"sceneVisit",0,pr,"sceneZOrder",0,pi,"scheme",0,dS,"serializeXML",0,m1,"setHybridRendererOptions",0,gf,"setRandom",0,oL,"span",0,tK,"splitAccessPath",0,eQ,"stringValue",0,t0,"textMetrics",0,pj,"timeBin",0,i8,"timeFloor",0,iB,"timeFormatLocale",0,ag,"timeInterval",0,iW,"timeOffset",0,iY,"timeSequence",0,iJ,"timeUnitSpecifier",0,ib,"timeUnits",0,iy,"toBoolean",0,t1,"toDate",0,t3,"toNumber",0,tr,"toSet",0,t6,"toString",0,t5,"transform",0,ow,"transforms",0,ox,"truncate",0,t4,"truthy",0,e3,"tupleid",0,aJ,"typeParsers",0,aD,"utcFloor",0,ij,"utcInterval",0,iH,"utcOffset",0,iV,"utcSequence",0,iQ,"utcdayofyear",0,iM,"utcquarter",0,t_,"utcweek",0,iC,"version",0,Cf,"visitArray",0,t8,"week",0,ik,"writeConfig",0,tn,"zero",0,e1,"zoomLinear",0,tg,"zoomLog",0,ty,"zoomPow",0,tv,"zoomSymlog",0,tb],64832);var Cc=e.i(64832);function Cd(e,t,n){return e.fields=t||[],e.fname=n,e}function Ch(e){throw Error(e)}S=1===(y=function(e){let t=[],n=e.length,i=null,r=0,a="",o,l,s;function u(){t.push(a+e.substring(o,l)),a="",o=l+1}for(e+="",o=l=0;lo&&u(),r=o=l+1):"]"===s&&(r||Ch("Access path missing open bracket: "+e),r>0&&u(),r=0,o=l+1):l>o?u():o=l+1}return r&&Ch("Access path missing closing bracket: "+e),i&&Ch("Access path missing closing quote: "+e),l>o&&(l++,u()),t}(S="id")).length?y[0]:S,Cd(1===(k=y).length?(b=k[0],function(e){return e[b]}):(x=(E=k).length,function(e){for(let t=0;te,[],"identity"),Cd(()=>0,[],"zero"),Cd(()=>1,[],"one"),Cd(()=>!0,[],"true"),Cd(()=>!1,[],"false");let Cp=new Set(Object.getOwnPropertyNames(Object.prototype)),Cm=(e,t)=>(et||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);var Cg={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:5e-324,MAX_VALUE:Number.MAX_VALUE},Cy={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>ee<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},Cv={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e};let Cb=Array.prototype.slice,Cx=(e,t,n)=>{let i=n?n(t[0]):t[0];return i[e].apply(i,Cb.call(t,1))};var C_={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t,n,i,r,a,o)=>new Date(e,t||0,null!=n?n:1,i||0,r||0,a||0,o||0),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return Cx("join",arguments)},indexof:function(){return Cx("indexOf",arguments)},lastindexof:function(){return Cx("lastIndexOf",arguments)},slice:function(){return Cx("slice",arguments)},reverse:e=>e.slice().reverse(),sort:e=>e.slice().sort(Cm),parseFloat:parseFloat,parseInt:parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return Cx("substring",arguments,String)},split:function(){return Cx("split",arguments,String)},replace:function(){return Cx("replace",arguments,String)},trim:e=>String(e).trim(),btoa:e=>btoa(e),atob:e=>atob(e),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)};let Cw=["view","item","group","xy","x","y"],Ck=new Set([Function,eval,setTimeout,setInterval]);"function"==typeof setImmediate&&Ck.add(setImmediate);let CE={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:"datum"===n?e.datum:"event"===n?e.event:"item"===n?e.item:Cg[n]||e.params["$"+n]},MemberExpression:(e,t)=>{let n=!t.computed,i=e(t.object);n&&(e.memberDepth+=1);let r=e(t.property);return(n&&(e.memberDepth-=1),Ck.has(i[r]))?void console.error(`Prevented interpretation of member "${r}" which could lead to insecure code execution`):i[r]},CallExpression:(e,t)=>{let n=t.arguments,i=t.callee.name;return i.startsWith("_")&&(i=i.slice(1)),"if"===i?e(n[0])?e(n[1]):e(n[2]):(e.fn[i]||C_[i]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>Cy[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>Cv[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>"&&"===t.operator?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((t,n)=>{e.memberDepth+=1;let i=e(n.key);e.memberDepth-=1;let r=e(n.value);return Cp.has(i)?console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`):Ck.has(r)?console.error(`Prevented interpretation of method "${r}" which could lead to insecure code execution`):t[i]=r,t},{})};function C$(e,t,n,i,r,a){let o=e=>CE[e.type](o,e);return o.memberDepth=0,o.fn=Object.create(t),o.params=n,o.datum=i,o.event=r,o.item=a,Cw.forEach(e=>o.fn[e]=function(){return r.vega[e](...arguments)}),o(e)}var CA={operator(e,t){let n=t.ast,i=e.functions;return e=>C$(n,i,e)},parameter(e,t){let n=t.ast,i=e.functions;return(e,t)=>C$(n,i,t,e)},event(e,t){let n=t.ast,i=e.functions;return e=>C$(n,i,void 0,void 0,e)},handler(e,t){let n=t.ast,i=e.functions;return(e,t)=>C$(n,i,e,t.item&&t.item.datum,t)},encode(e,t){let{marktype:n,channels:i}=t,r=e.functions,a="group"===n||"image"===n||"rect"===n;return(e,t)=>{let o,l=e.datum,s=0,u;for(let n in i)u=C$(i[n].ast,r,t,l,void 0,e),e[n]!==u&&(e[n]=u,s=1);return"rule"!==n&&(i.x2&&(i.x?(a&&e.x>e.x2&&(o=e.x,e.x=e.x2,e.x2=o),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),i.xc&&(e.x=e.xc-(e.width||0)/2),i.y2&&(i.y?(a&&e.y>e.y2&&(o=e.y,e.y=e.y2,e.y2=o),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),i.yc&&(e.y=e.yc-(e.height||0)/2)),s}}};function CS(e){return Dc(e,"or")}function CM(e){return Dc(e,"and")}function CC(e){return Dc(e,"not")}function CD(e,t){return CC(e)?{not:CD(e.not,t)}:CM(e)?{and:e.and.map(e=>CD(e,t))}:CS(e)?{or:e.or.map(e=>CD(e,t))}:t(e)}let CF=structuredClone;function CO(e){throw Error(e)}function CN(e,t){let n={};for(let i of t)tz(e,i)&&(n[i]=e[i]);return n}function CT(e,t){let n={...e};for(let e of t)delete n[e];return n}function Cz(e){if(tW(e))return e;let t=tG(e)?e:Df(e);if(t.length<250)return t;let n=0;for(let e=0;e0===t?e:`[${e}]`);for(let n of e.map((t,n)=>e.slice(0,n+1).join("")))t.add(n)}return t}function CH(e,t){return void 0===e||void 0===t||Cq(CW(e),CW(t))}function CG(e){return 0===CY(e).length}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>Df(e)).join(",")})`};let CY=Object.keys,CV=Object.values,CX=Object.entries;function CJ(e){return!0===e||!1===e}function CQ(e){return tG(e)||tW(e)||CJ(e)}function CZ(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function CK(e,t){return CC(e)?`!(${CK(e.not,t)})`:CM(e)?`(${e.and.map(e=>CK(e,t)).join(") && (")})`:CS(e)?`(${e.or.map(e=>CK(e,t)).join(") || (")})`:t(e)}function C0(e,t){if(0===t.length)return!0;let n=t.shift();return n in e&&C0(e[n],t)&&delete e[n],CG(e)}function C1(e){return e.charAt(0).toUpperCase()+e.substr(1)}function C2(e,t="datum"){let n=eQ(e),i=[];for(let e=1;e<=n.length;e++){let r=`[${n.slice(0,e).map(t0).join("][")}]`;i.push(`${t}${r}`)}return i.join(" && ")}function C3(e,t="datum"){return`${t}[${t0(eQ(e).join("."))}]`}function C5(e){let t=e.replaceAll("'","\\'");return`datum['${t}']`}function C6(e){return e.replaceAll("\\'","'").replaceAll("\\.",".")}function C4(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function C8(e){return`${eQ(e).map(C4).join("\\.")}`}function C9(e,t,n){return e.replace(RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function C7(e){return`${eQ(e).join(".")}`}function De(e){return e?eQ(e).length:0}function Dt(...e){return e.find(e=>void 0!==e)}let Dn=42;function Di(e){let t=++Dn;return e?String(e)+t:t}function Dr(e){return Da(e)?e:`__${e}`}function Da(e){return e.startsWith("__")}function Do(e){if(void 0!==e)return(e%360+360)%360}function Dl(e){return!!tW(e)||!isNaN(e)&&!isNaN(parseFloat(e))}let Ds=Object.getPrototypeOf(structuredClone({}));function Du(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){let n,i;if(e.constructor.name!==t.constructor.name)return!1;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(i=n;0!=i--;)if(!Du(e[i],t[i]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let n of e.entries())if(!t.has(n[0]))return!1;for(let n of e.entries())if(!Du(n[1],t.get(n[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e.entries())if(!t.has(n[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(i=n;0!=i--;)if(e[i]!==t[i])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==Ds.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==Ds.toString)return e.toString()===t.toString();let r=Object.keys(e);if((n=r.length)!==Object.keys(t).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(t,r[i]))return!1;for(i=n;0!=i--;){let n=r[i];if(!Du(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function Df(e){let t=[];return function e(n){let i,r;if(n?.toJSON&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===n)return;if("number"==typeof n)return isFinite(n)?`${n}`:"null";if("object"!=typeof n)return JSON.stringify(n);if(Array.isArray(n)){for(i=0,r="[";iF3(e[t])?CZ(`_${t}_${CX(e[t])}`):CZ(`_${t}_${e[t]}`)).join("")}`}function F1(e){return!0===e||e7(e)&&!e.binned}function F2(e){return"binned"===e||e7(e)&&!0===e.binned}function F3(e){return Dc(e,"param")}function F5(e){switch(e){case"row":case Dd:case DC:case D$:case DA:case DS:case DT:case DF:case DO:case DN:case DM:return 6;case Dz:return 4;default:return 10}}function F6(e){return Dc(e,"expr")}function F4(e,{level:t}={level:0}){let n=CY(e||{}),i={};for(let r of n)i[r]=0===t?Ol(e[r]):F4(e[r],{level:t-1});return i}function F8(e){let{anchor:t,frame:n,offset:i,orient:r,angle:a,limit:o,color:l,subtitleColor:s,subtitleFont:u,subtitleFontSize:f,subtitleFontStyle:c,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,g={...m,...l?{fill:l}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...i?{offset:i}:{},...r?{orient:r}:{},...void 0!==a?{angle:a}:{},...void 0!==o?{limit:o}:{}},v={...s?{subtitleColor:s}:{},...u?{subtitleFont:u}:{},...f?{subtitleFontSize:f}:{},...c?{subtitleFontStyle:c}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}};return{titleMarkConfig:g,subtitleMarkConfig:CN(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:y,subtitle:v}}function F9(e){return tG(e)||e9(e)&&tG(e[0])}function F7(e){return Dc(e,"signal")}function Oe(e){return Dc(e,"step")}function Ot(e){return!e9(e)&&Dc(e,"fields")&&!Dc(e,"data")}function On(e){return!e9(e)&&Dc(e,"field")&&Dc(e,"data")}let Oi=CY({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),Or={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},Oa=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function Oo(e){let t=e9(e.condition)?e.condition.map(Os):Os(e.condition);return{...Ol(e),condition:t}}function Ol(e){if(F6(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Os(e){if(F6(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Ou(e){if(F6(e)){let{expr:t,...n}=e;return{signal:t,...n}}return F7(e)?e:void 0!==e?{value:e}:void 0}function Of(e){return F7(e)?e.signal:t0(e.value)}function Oc(e){return F7(e)?e.signal:null==e?null:t0(e)}function Od(e){return[].concat(e.type,e.style??[])}function Oh(e,t,n,i={}){let{vgChannel:r,ignoreVgConfig:a}=i;return r&&Dc(t,r)?t[r]:void 0!==t[e]?t[e]:!a||r&&r!==e?Op(e,t,n,i):void 0}function Op(e,t,n,{vgChannel:i}={}){var r,a,o;let l=(r=e,a=t,o=n.style,Om(r,Od(a),o));return Dt(i?l:void 0,l,i?n[t.type][i]:void 0,n[t.type][e],i?n.mark[i]:n.mark[e])}function Om(e,t,n){let i;for(let r of t=tw(t)){let t=n[r];Dc(t,e)&&(i=t[e])}return i}function Og(e,t){return tw(e).reduce((e,n)=>(e.field.push(T4(n,t)),e.order.push(n.sort??"ascending"),e),{field:[],order:[]})}function Oy(e,t){let n=[...e];return t.forEach(e=>{for(let t of n)if(Du(t,e))return;n.push(e)}),n}function Ov(e,t){return Du(e,t)||!t?e:e?[...tw(e),...tw(t)].join(", "):t}function Ob(e,t){let n=e.value,i=t.value;if(null==n||null===i)return{explicit:e.explicit,value:null};if((F9(n)||F7(n))&&(F9(i)||F7(i)))return{explicit:e.explicit,value:Ov(n,i)};if(F9(n)||F7(n))return{explicit:e.explicit,value:n};if(F9(i)||F7(i))return{explicit:e.explicit,value:i};if(!F9(n)&&!F7(n)&&!F9(i)&&!F7(i))return{explicit:e.explicit,value:Oy(n,i)};throw Error("It should never reach here")}function Ox(e){return`Invalid specification ${Df(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}function O_(e){return`${"width"==e?"Width":"Height"} "container" only works for single views and layered views.`}function Ow(e){return`${"width"==e?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==e?"x":"y"}".`}function Ok(e){return e?`Dropping "fit-${e}" because spec has discrete ${Fe(e)}.`:'Dropping "fit" because spec has discrete size.'}function OE(e){return`Unknown field for ${e}. Cannot calculate view size.`}function O$(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function OA(e){return`Selection not supported for ${e} yet.`}function OS(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}let OM="Animation involving facet, layer, or concat is currently unsupported.";function OC(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}function OD(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function OF(e){return`Invalid field type "${e}".`}function OO(e,t){let{fill:n,stroke:i}=t;return`Dropping color ${e} as the plot also has ${n&&i?"fill and stroke":n?"fill":"stroke"}.`}function ON(e,t){return`Dropping ${Df(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}function OT(e,t,n){return`${e} dropped as it is incompatible with "${t}".`}function Oz(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${"ordinal"===t?"order":"magnitude"}.`}function OR(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function OL(e){return`The step for "${e}" is dropped because the ${"width"===e?"x":"y"} is continuous.`}let OB="Domains that should be unioned has conflicting sort properties. Sort will be set to true.";function OP(e,t){return`Invalid ${e}: ${Df(t)}.`}function OI(e){return`1D error band does not support ${e}.`}function Oj(e){return`Channel ${e} is required for "binned" bin.`}let OU=e8(2),Oq=OU;function OW(...e){Oq.error(...e)}function OH(...e){Oq.warn(...e)}function OG(e){if(e&&e7(e)){for(let t of O0)if(Dc(e,t))return!0}return!1}let OY=["january","february","march","april","may","june","july","august","september","october","november","december"],OV=OY.map(e=>e.substr(0,3)),OX=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],OJ=OX.map(e=>e.substr(0,3));function OQ(e,t){let n=[];if(t&&void 0!==e.day&&CY(e).length>1){var i;OH((i=e,`Dropping day from datetime ${Df(i)} as day cannot be combined with other units.`)),e=CF(e),delete e.day}if(void 0!==e.year?n.push(e.year):n.push(2012),void 0!==e.month){let i=t?function(e){if(Dl(e)&&(e*=1),tW(e))return e-1;{let t=e.toLowerCase(),n=OY.indexOf(t);if(-1!==n)return n;let i=t.substr(0,3),r=OV.indexOf(i);if(-1!==r)return r;throw Error(OP("month",e))}}(e.month):e.month;n.push(i)}else if(void 0!==e.quarter){let i=t?function(e){if(Dl(e)&&(e*=1),tW(e))return e>4&&OH(OP("quarter",e)),e-1;throw Error(OP("quarter",e))}(e.quarter):e.quarter;n.push(tW(i)?3*i:`${i}*3`)}else n.push(0);if(void 0!==e.date)n.push(e.date);else if(void 0!==e.day){let i=t?function(e){if(Dl(e)&&(e*=1),tW(e))return e%7;{let t=e.toLowerCase(),n=OX.indexOf(t);if(-1!==n)return n;let i=t.substr(0,3),r=OJ.indexOf(i);if(-1!==r)return r;throw Error(OP("day",e))}}(e.day):e.day;n.push(tW(i)?i+1:`${i}+1`)}else n.push(1);for(let t of["hours","minutes","seconds","milliseconds"]){let i=e[t];n.push(void 0===i?0:i)}return n}function OZ(e){let t=OQ(e,!0).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}let OK={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},O0=CY(OK);function O1(e){return e7(e)?e.binned:O2(e)}function O2(e){return e?.startsWith("binned")}function O3(e){return e.startsWith("utc")}let O5={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function O6(e){return O0.filter(t=>O8(e,t))}function O4(e){let t=O6(e);return t[t.length-1]}function O8(e,t){let n=e.indexOf(t);return!(n<0)&&(!(n>0)||"seconds"!==t||"i"!==e.charAt(n-1))&&(!(e.length>n+3)||"day"!==t||"o"!==e.charAt(n+3))&&(!(n>0)||"year"!==t||"f"!==e.charAt(n-1))}function O9(e){if(!e)return;let t=O6(e);return`timeUnitSpecifier(${Df(t)}, ${Df(O5)})`}function O7(e){let t;if(e)return tG(e)?t=O2(e)?{unit:e.substring(6),binned:!0}:{unit:e}:e7(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),O3(t.unit)&&(t.utc=!0,t.unit=t.unit.substring(3)),t}function Ne(e,t=e=>e){let n=O7(e),i=O4(n.unit);if(i&&"day"!==i){let e={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:r,part:a}=Nn(i,n.step),o={...e,[a]:+e[a]+r};return`${t(OZ(o))} - ${t(OZ(e))}`}}let Nt={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function Nn(e,t=1){if(tz(Nt,e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:3*t};case"week":return{part:"date",step:7*t}}}function Ni(e){return!!e?.field&&void 0!==e.equal}function Nr(e){return!!e?.field&&void 0!==e.lt}function Na(e){return!!e?.field&&void 0!==e.lte}function No(e){return!!e?.field&&void 0!==e.gt}function Nl(e){return!!e?.field&&void 0!==e.gte}function Ns(e){if(e?.field){if(e9(e.range)&&2===e.range.length)return!0;else if(F7(e.range))return!0}return!1}function Nu(e){return!!e?.field&&(e9(e.oneOf)||e9(e.in))}function Nf(e){return Nu(e)||Ni(e)||Ns(e)||Nr(e)||No(e)||Na(e)||Nl(e)}function Nc(e,t){return zc(e,{timeUnit:t,wrapTime:!0})}function Nd(e,t=!0){var n;let{field:i}=e,{unit:r,binned:a}=O7(e.timeUnit)||{},o=T4(e,{expr:"datum"}),l=r?`time(${!a?function(e,t,{end:n}={end:!1}){let i,r,a=C2(t),o=O3(e)?"utc":"",l={};for(let t of O0)O8(e,t)&&(l[t]="quarter"===t?`(${o}quarter(${a})-1)`:`${o}${t}(${a})`,i=t);return n&&(l[i]+="+1"),r=OQ(l,!1).join(", "),l.utc?`utc(${r})`:`datetime(${r})`}(r,i):o})`:o;if(Ni(e))return`${l}===${Nc(e.equal,r)}`;if(Nr(e)){let t=e.lt;return`${l}<${Nc(t,r)}`}if(No(e)){let t=e.gt;return`${l}>${Nc(t,r)}`}if(Na(e)){let t=e.lte;return`${l}<=${Nc(t,r)}`}if(Nl(e)){let t=e.gte;return`${l}>=${Nc(t,r)}`}else{if(Nu(e))return`indexof([${(n=e.oneOf,n.map(e=>Nc(e,r))).join(",")}], ${l}) !== -1`;if(e?.field&&void 0!==e.valid)return Nh(l,e.valid);if(Ns(e)){let{range:n}=F4(e),i=F7(n)?{signal:`${n.signal}[0]`}:n[0],a=F7(n)?{signal:`${n.signal}[1]`}:n[1];if(null!==i&&null!==a&&t)return`inrange(${l}, [${Nc(i,r)}, ${Nc(a,r)}])`;let o=[];return null!==i&&o.push(`${l} >= ${Nc(i,r)}`),null!==a&&o.push(`${l} <= ${Nc(a,r)}`),o.length>0?o.join(" && "):"true"}}throw Error(`Invalid field predicate: ${Df(e)}`)}function Nh(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function Np(e){return Nf(e)&&e.timeUnit?{...e,timeUnit:O7(e.timeUnit)}:e}function Nm(e){return"ordinal"===e||"nominal"===e}let Ng="quantitative",Ny="ordinal",Nv="temporal",Nb="nominal",Nx="geojson",N_="linear",Nw="time",Nk="point",NE="band",N$={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"},NA={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},NS=new Set(["linear","log","pow","sqrt","symlog"]),NM=new Set([...NS,"time","utc"]),NC=new Set(["quantile","quantize","threshold"]),ND=new Set([...NM,...NC,"sequential","identity"]),NF=new Set(["ordinal","bin-ordinal","point","band"]);function NO(e){return NF.has(e)}function NN(e){return ND.has(e)}function NT(e){return NM.has(e)}function Nz(e){return NC.has(e)}function NR(e){return Dc(e,"param")}let{type:NL,domain:NB,range:NP,rangeMax:NI,rangeMin:Nj,scheme:NU,...Nq}={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw: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},NW=CY(Nq);function NH(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return NT(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return NT(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return NT(e);case"nice":return NT(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return NN(e)&&!CL(["log","time","utc","threshold","quantile"],e)}}function NG(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":if(!DY(e))return`Cannot use the scale property "${t}" with non-color channel.`;return;case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":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}}let NY={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"},NV=NY.arc,NX=NY.area,NJ=NY.bar,NQ=NY.image,NZ=NY.line,NK=NY.point,N0=NY.rect,N1=NY.rule,N2=NY.text,N3=NY.tick,N5=NY.trail,N6=NY.circle,N4=NY.square,N8=NY.geoshape;function N9(e){return["line","area","trail"].includes(e)}function N7(e){return["rect","bar","image","arc","tick"].includes(e)}let Te=new Set(CY(NY));function Tt(e){return Dc(e,"type")}let Tn=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit","fill","fillOpacity"],Ti=CY({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Tr=["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],Ta={area:["line","point"],bar:Tr,rect:Tr,line:["point"],tick:["bandSize","thickness",...Tr]},To=CY({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});function Tl(e){return Dc(e,"band")}let Ts={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},Tu={binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},Tf={...Tu,binSpacing:1},Tc={...Tu,thickness:1};function Td(e,{isPath:t}){return void 0===e||"break-paths-show-path-domains"===e?t?"break-paths-show-domains":"filter":null===e?"show":e}function Th({markDef:e,config:t,scaleChannel:n,scaleType:i,isCountAggregate:r}){if(!i||!NN(i)||r)return"always-valid";let a=Td(Oh("invalid",e,t),{isPath:N9(e.type)});return void 0!==t.scale?.invalid?.[n]?"show":a}function Tp({scaleName:e,scale:t,mode:n}){let i=`domain('${e}')`;if(!t||!e)return;let r=`${i}[0]`,a=`peek(${i})`,o=t.domainHasZero();return"definitely"===o?{scale:e,value:0}:"maybe"===o?{signal:`scale('${e}', inrange(0, ${i}) ? 0 : ${"zeroOrMin"===n?r:a})`}:{signal:`scale('${e}', ${"zeroOrMin"===n?r:a})`}}function Tm({scaleChannel:e,channelDef:t,scale:n,scaleName:i,markDef:r,config:a}){let o=n?.get("type"),l=zi(t),s=Th({scaleChannel:e,markDef:r,config:a,scaleType:o,isCountAggregate:FQ(l?.aggregate)});if(l&&"show"===s){let t=a.scale.invalid?.[e]??"zero-or-min";return{test:Nh(T4(l,{expr:"datum"}),!1),...function(e,t,n){if(e7(e)&&"value"in e){let{value:t}=e;return F7(t)?{signal:t.signal}:{value:t}}return Tp({scale:t,scaleName:n,mode:"zeroOrMin"})}(t,n,i)}}}function Tg(e){let{channel:t,channelDef:n,markDef:i,scale:r,scaleName:a,config:o}=e,l=D8(t),s=Tb(e),u=Tm({scaleChannel:l,channelDef:n,scale:r,scaleName:a,markDef:i,config:o});return void 0!==u?[u,s]:s}function Ty(e,t,n,i){let r={};if(t&&(r.scale=t),TV(e)){let{datum:t}=e;OG(t)?r.signal=OZ(t):F7(t)?r.signal=t.signal:F6(t)?r.signal=t.expr:r.value=t}else r.field=T4(e,n);if(i){let{offset:e,band:t}=i;e&&(r.offset=e),t&&(r.band=t)}return r}function Tv({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:i,startSuffix:r,endSuffix:a="end",bandPosition:o=.5}){let l=!F7(o)&&0CZ(`${"unit"===e?"":`_${e}_`}${n[e]}`)).join(""):`${t?"utc":""}timeunit${CY(n).map(e=>CZ(`_${e}_${n[e]}`)).join("")}`}(s),r=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}i&&(n=n?`${i}_${n}`:i)}return(r&&(n=`${n}_${r}`),i&&(n=`${i}_${n}`),t.forAs)?C7(n):t.expr?C3(n,t.expr)+a:C8(n)+a}function T8(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return TG(e)&&!!e.bin;case"temporal":return!1}throw Error(OF(e.type))}let T9=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return function(e){let{aggregate:t,bin:n,timeUnit:i,field:r}=e;if(FV(t))return`${r} for argmax(${t.argmax})`;if(FY(t))return`${r} for argmin(${t.argmin})`;let a=i&&!O1(i)?O7(i):void 0,o=t||a?.unit||a?.maxbins&&"timeunit"||F1(n)&&"bin";return o?`${o.toUpperCase()}(${r})`:r}(e);default:return function(e,t){let{field:n,bin:i,timeUnit:r,aggregate:a}=e;if("count"===a)return t.countTitle;if(F1(i))return`${n} (binned)`;if(r&&!O1(r)){let e=O7(r)?.unit;if(e)return`${n} (${O6(e).join("-")})`}else if(a)if(FV(a))return`${n} for max ${a.argmax}`;else if(FY(a))return`${n} for min ${a.argmin}`;else return`${C1(a)} of ${n}`;return n}(e,t)}},T7=T9;function ze(e,t,{allowDisabling:n,includeDefault:i=!0}){let r=zt(e)?.title;if(!TG(e))return r??e.title;let a=i?T7(e,t):void 0;return n?Dt(r,e.title,a):r??e.title??a}function zt(e){return T2(e)&&e.axis?e.axis:T3(e)&&e.legend?e.legend:Tz(e)&&e.header?e.header:void 0}function zn(e){if(T5(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}{let{format:t,formatType:n}=zt(e)??{};return{format:t,formatType:n}}}function zi(e){return TG(e)?e:TW(e)?e.condition:void 0}function zr(e){return TZ(e)?e:TH(e)?e.condition:void 0}function za(e,t,n,i={}){if(CQ(e)){let n=tG(e)?"string":tW(e)?"number":"boolean";return OH(`Channel ${t} is a ${n}. Converted to {value: ${Df(e)}}.`),{value:e}}return TZ(e)?zo(e,t,n,i):TH(e)?{...e,condition:zo(e.condition,t,n,i)}:e}function zo(e,t,n,i){if(T5(e)){let{format:r,formatType:a,...o}=e;if(T_(a)&&!n.customFormatTypes)return OH(OD(t)),zo(o,t,n,i)}else{let r=T2(e)?"axis":T3(e)?"legend":Tz(e)?"header":null;if(r&&e[r]){let{format:a,formatType:o,...l}=e[r];if(T_(o)&&!n.customFormatTypes)return OH(OD(t)),zo({...e,[r]:l},t,n,i)}}return TG(e)?zl(e,t,i):function(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=tW(n)?"quantitative":tG(n)?"nominal":OG(n)?"temporal":void 0,{...e,type:t}}(e)}function zl(e,t,{compositeMark:n=!1}={}){let{aggregate:i,timeUnit:r,bin:a,field:o}=e,l={...e};if(n||!i||FX(i)||FV(i)||FY(i)||(OH(`Invalid aggregation operator "${i}".`),delete l.aggregate),r&&(l.timeUnit=O7(r)),o&&(l.field=`${o}`),F1(a)&&(l.bin=zs(a,t)),F2(a)&&!Fw(t)&&OH(`Channel ${t} should not be used with "binned" bin.`),TK(l)){let{type:e}=l,t=function(e){if(e)switch(e=e.toLowerCase()){case"q":case Ng:return"quantitative";case"t":case Nv:return"temporal";case"o":case Ny:return"ordinal";case"n":case Nb:return"nominal";case Nx:return"geojson"}}(e);e!==t&&(l.type=t),"quantitative"!==e&&FQ(i)&&(OH(`Invalid field type "${e}" for aggregate: "${i}", using "quantitative" instead.`),l.type="quantitative")}else if(D8(t)===t){let e=function(e,t){switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(TB(e)&&e9(e.sort))return"ordinal";let{aggregate:n,bin:i,timeUnit:r}=e;if(r)return"temporal";if(i||n&&!FV(n)&&!FY(n))return"quantitative";if(T1(e)&&e.scale?.type)switch(N$[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}(l,t);l.type=e}if(TK(l)){let{compatible:e,warning:n}=function(e,t){let n=e.type;if("geojson"===n&&"shape"!==t)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case"row":case Dd:case Dh:if(!T8(e))return{compatible:!1,warning:`${t} encoding should be discrete (ordinal / nominal / binned).`};return zu;case"x":case"y":case Dp:case Dm:case D$:case DA:case DS:case DR:case DB:case"key":case DP:case DI:case"url":case DD:case Dv:case Dg:case Dj:return zu;case D_:case Dk:case Dx:case Dw:if(n!==Ng)return{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`};return zu;case DF:case DO:case DN:case DT:case DC:case Db:case Dy:case"x2":case"y2":case DE:if("nominal"===n&&!e.sort)return{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};return zu;case DM:case Dz:if(!T8(e)&&!(T1(e)&&Nz(e.scale?.type)))return{compatible:!1,warning:`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`};return zu;case DL:if("nominal"===e.type&&!("sort"in e))return{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."};return zu}}(l,t)||{};!1===e&&OH(n)}if(TB(l)&&tG(l.sort)){let{sort:e}=l;if(tz(TO,e))return{...l,sort:{encoding:e}};let t=e.substring(1);if("-"===e.charAt(0)&&tz(TO,t))return{...l,sort:{encoding:t,order:"descending"}}}if(Tz(l)){let{header:e}=l;if(e){let{orient:t,...n}=e;if(t)return{...l,header:{...n,labelOrient:e.labelOrient||t,titleOrient:e.titleOrient||t}}}}return l}function zs(e,t){return tj(e)?{maxbins:F5(t)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:{...e,maxbins:F5(t)}}let zu={compatible:!0};function zf(e){var t;let{formatType:n}=zn(e);return"time"===n||!n&&(t=e)&&("temporal"===t.type||TG(t)&&!!t.timeUnit)}function zc(e,{timeUnit:t,type:n,wrapTime:i,undefinedIfExprNotRequired:r}){let a,o=t&&O7(t)?.unit,l=o||"temporal"===n;return F6(e)?a=e.expr:F7(e)?a=e.signal:OG(e)?(l=!0,a=OZ(e)):(tG(e)||tW(e))&&l&&(a=`datetime(${Df(e)})`,tz(OK,o)&&(tW(e)&&e<1e4||tG(e)&&isNaN(Date.parse(e)))&&(a=OZ({[o]:e}))),a?i&&l?`time(${a})`:a:r?void 0:Df(e)}function zd(e,t){let{type:n}=e;return t.map(t=>{let i=zc(t,{timeUnit:TG(e)&&!O1(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return void 0!==i?{signal:i}:t})}function zh(e,t){return F1(e.bin)?FI(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}let zp={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 zm(e){return e?.condition}let zg=["domain","grid","labels","ticks","title"],zy={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"},zv={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},zb={...zv,style:1,labelExpr:1,encoding:1},zx=CY({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});function z_(e){return Dc(e,"mark")}class zw{name;run;constructor(e,t){this.name=e,this.run=t}hasMatchingType(e){if(z_(e)){var t;return(Tt(t=e.mark)?t.type:t)===this.name}return!1}}function zk(e,t){let n=e?.[t];if(n)if(e9(n))return CB(n,e=>!!e.field);else return TG(n)||TW(n);return!1}function zE(e,t){let n=e?.[t];if(n)if(e9(n))return CB(n,e=>!!e.field);else return TG(n)||TV(n)||TH(n);return!1}function z$(e,t){if(Fw(t)){let n=e[t];if((TG(n)||TV(n))&&(Nm(n.type)||TG(n)&&n.timeUnit))return zE(e,Fn(t))}return!1}function zA(e){return CB(DQ,t=>{if(zk(e,t)){let n=e[t];if(e9(n))return CB(n,e=>!!e.aggregate);{let e=zi(n);return e&&!!e.aggregate}}return!1})}function zS(e,t){let n=[],i=[],r=[],a=[],o={};return zC(e,(l,s)=>{if(TG(l)){let{field:u,aggregate:f,bin:c,timeUnit:d,...h}=l;if(f||d||c){let e=zt(l),p=e?.title,m=T4(l,{forAs:!0}),g={...p?[]:{title:ze(l,t,{allowDisabling:!0})},...h,field:m};if(f){let e;if(FV(f)?(e="argmax",m=T4({op:"argmax",field:f.argmax},{forAs:!0}),g.field=`${m}.${u}`):FY(f)?(e="argmin",m=T4({op:"argmin",field:f.argmin},{forAs:!0}),g.field=`${m}.${u}`):"boxplot"!==f&&"errorbar"!==f&&"errorband"!==f&&(e=f),e){let t={op:e,as:m};u&&(t.field=u),a.push(t)}}else if(n.push(m),TK(l)&&F1(c)){if(i.push({bin:c,field:u,as:m}),n.push(T4(l,{binSuffix:"end"})),zh(l,s)&&n.push(T4(l,{binSuffix:"range"})),Fw(s)){let e={field:`${m}_end`};o[`${s}2`]=e}g.bin="binned",D8(s)===s&&(g.type=Ng)}else if(d&&!O1(d)){r.push({timeUnit:d,field:u,as:m});let e=TK(l)&&l.type!==Nv&&"time";e&&(s===DR||s===DP?g.formatType=e:tz(Fv,s)?g.legend={formatType:e,...g.legend}:Fw(s)&&(g.axis={formatType:e,...g.axis}))}o[s]=g}else n.push(u),o[s]=e[s]}else o[s]=e[s]}),{bins:i,timeUnits:r,aggregate:a,groupby:n,encoding:o}}function zM(e,t){let n={};for(let i of CY(e)){let r=za(e[i],i,t,{compositeMark:!0});n[i]=r}return n}function zC(e,t,n){if(e)for(let i of CY(e)){let r=e[i];if(e9(r))for(let e of r)t.call(n,e,i);else t.call(n,r,i)}}function zD(e,t){return CY(t).reduce((n,i)=>{switch(i){case"x":case"y":case DI:case Dj:case"url":case"x2":case"y2":case Dp:case Dm:case Dv:case Db:case Dg:case Dy:case DE:case Dx:case D_:case Dw:case Dk:case DR:case DM:case DD:case DP:return n;case DL:if("line"===e||"trail"===e)return n;case DB:case"key":{let e=t[i];if(e9(e)||TG(e))for(let t of tw(e))t.aggregate||n.push(T4(t,{}));return n}case DC:if("trail"===e)return n;case D$:case DA:case DS:case DF:case DO:case DN:case Dz:case DT:{let e=zi(t[i]);return e&&!e.aggregate&&n.push(T4(e,{})),n}}},[])}function zF(e,t,n,i=!0){return"tooltip"in n?{tooltip:n.tooltip}:{tooltip:[...e.map(({fieldPrefix:e,titlePrefix:n})=>{let r=i?` of ${zO(t)}`:"";return{field:e+t.field,type:t.type,title:F7(n)?{signal:`${n}"${escape(r)}"`}:n+r}}),...Cj((function(e){let t=[];for(let n of CY(e))if(zk(e,n))for(let i of tw(e[n]))TG(i)?t.push(i):TW(i)&&t.push(i.condition);return t})(n).map(T6),Cz)]}}function zO(e){let{title:t,field:n}=e;return Dt(t,n)}function zN(e,t,n,i,r){let{scale:a,axis:o}=n;return({partName:l,mark:s,positionPrefix:u,endPositionPrefix:f,extraEncoding:c={}})=>{let d=zO(n);return zT(e,l,r,{mark:s,encoding:{[t]:{field:`${u}_${n.field}`,type:n.type,...void 0!==d?{title:d}:{},...void 0!==a?{scale:a}:{},...void 0!==o?{axis:o}:{}},...tG(f)?{[`${t}2`]:{field:`${f}_${n.field}`}}:{},...i,...c}})}}function zT(e,t,n,i){let{clip:r,color:a,opacity:o}=e,l=e.type;return e[t]||void 0===e[t]&&n[t]?[{...i,mark:{...n[t],...r?{clip:r}:{},...a?{color:a}:{},...o?{opacity:o}:{},...Tt(i.mark)?i.mark:{type:i.mark},style:`${l}-${String(t)}`,...tj(e[t])?{}:e[t]}}]:[]}function zz(e,t,n){let{encoding:i}=e,r="vertical"===t?"y":"x",a=i[r],o=i[`${r}2`],l=i[`${r}Error`],s=i[`${r}Error2`];return{continuousAxisChannelDef:zR(a,n),continuousAxisChannelDef2:zR(o,n),continuousAxisChannelDefError:zR(l,n),continuousAxisChannelDefError2:zR(s,n),continuousAxis:r}}function zR(e,t){if(!e?.aggregate)return e;{let{aggregate:n,...i}=e;return n!==t&&OH(`Continuous axis should not have customized aggregation function ${n}; ${t} already agregates the axis.`),i}}function zL(e,t){let{mark:n,encoding:i}=e,{x:r,y:a}=i;if(Tt(n)&&n.orient)return n.orient;if(TX(r)){if(TX(a)){let e=TG(r)&&r.aggregate,n=TG(a)&&a.aggregate;if(!e&&n===t)return"vertical";if(n||e!==t)if(e!==t||n!==t)return zf(a)&&!zf(r)?"horizontal":"vertical";else throw Error("Both x and y cannot have aggregate")}return"horizontal"}if(TX(a))return"vertical";throw Error(`Need a valid continuous axis for ${t}s`)}let zB="boxplot",zP=new zw(zB,zj);function zI(e){return tW(e)?"tukey":e}function zj(e,{config:t}){let n,{mark:i,encoding:r,params:a,projection:o,...l}=e={...e,encoding:zM(e.encoding,t)},s=Tt(i)?i:{type:i};a&&OH(OA("boxplot"));let u=s.extent??t.boxplot.extent,f=Oh("size",s,t),c=s.invalid,d=zI(u),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:v,aggregate:b,encodingWithoutContinuousAxis:x,ticksOrient:_,boxOrient:w,customTooltipWithoutAggregatedField:k}=function(e,t,n){let i=zL(e,zB),{continuousAxisChannelDef:r,continuousAxis:a}=zz(e,i,zB),o=r.field,l=C7(o),s=zI(t),u=[...zU(o),{op:"median",field:o,as:`mid_box_${l}`},{op:"min",field:o,as:("min-max"===s?"lower_whisker_":"min_")+l},{op:"max",field:o,as:("min-max"===s?"upper_whisker_":"max_")+l}],f="min-max"===s||"tukey"===s?[]:[{calculate:`${C5(`upper_box_${l}`)} - ${C5(`lower_box_${l}`)}`,as:`iqr_${l}`},{calculate:`min(${C5(`upper_box_${l}`)} + ${C5(`iqr_${l}`)} * ${t}, ${C5(`max_${l}`)})`,as:`upper_whisker_${l}`},{calculate:`max(${C5(`lower_box_${l}`)} - ${C5(`iqr_${l}`)} * ${t}, ${C5(`min_${l}`)})`,as:`lower_whisker_${l}`}],{[a]:c,...d}=e.encoding,{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=function(e){let t,n,{tooltip:i,...r}=e;if(!i)return{filteredEncoding:r};if(e9(i)){for(let e of i)e.aggregate?(t||(t=[]),t.push(e)):(n||(n=[]),n.push(e));t&&(r.tooltip=t)}else i.aggregate?r.tooltip=i:n=i;return e9(n)&&1===n.length&&(n=n[0]),{customTooltipWithoutAggregatedField:n,filteredEncoding:r}}(d),{bins:m,timeUnits:g,aggregate:y,groupby:v,encoding:b}=zS(p,n),x=[...m,...g,{aggregate:[...y,...u],groupby:v},...f];return{bins:m,timeUnits:g,transform:x,groupby:v,aggregate:y,continuousAxisChannelDef:r,continuousAxis:a,encodingWithoutContinuousAxis:b,ticksOrient:"vertical"===i?"horizontal":"vertical",boxOrient:i,customTooltipWithoutAggregatedField:h}}(e,u,t),E=C7(g.field),{color:$,size:A,...S}=x,M=e=>zN(s,y,g,e,t.boxplot),C=M(S),D=M(x),F=(e7(t.boxplot.box)?t.boxplot.box.color:t.mark.color)||"#4c78a8",O=M({...S,...A?{size:A}:{},color:{condition:{test:`${C5(`lower_box_${g.field}`)} >= ${C5(`upper_box_${g.field}`)}`,...$||{value:F}}}}),N=zF([{fieldPrefix:"min-max"===d?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===d?"lower_whisker_":"min_",titlePrefix:"Min"}],g,x),T={type:"tick",color:"black",opacity:1,orient:_,invalid:c,aria:!1},z="min-max"===d?N:zF([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,x),R=[...C({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:z}),...C({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:z}),...C({partName:"ticks",mark:T,positionPrefix:"lower_whisker",extraEncoding:z}),...C({partName:"ticks",mark:T,positionPrefix:"upper_whisker",extraEncoding:z})],L=[..."tukey"!==d?R:[],...D({partName:"box",mark:{type:"bar",...f?{size:f}:{},orient:w,invalid:c,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:N}),...O({partName:"median",mark:{type:"tick",invalid:c,...e7(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...f?{size:f}:{},orient:_,aria:!1},positionPrefix:"mid_box",extraEncoding:N})];if("min-max"===d)return{...l,transform:(l.transform??[]).concat(m),layer:L};let B=C5(`lower_box_${g.field}`),P=C5(`upper_box_${g.field}`),I=`(${P} - ${B})`,j=`${B} - ${u} * ${I}`,U=`${P} + ${u} * ${I}`,q=C5(g.field),W={joinaggregate:zU(g.field),groupby:v},H={transform:[{filter:`(${j} <= ${q}) && (${q} <= ${U})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${E}`},{op:"max",field:g.field,as:`upper_whisker_${E}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${E}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${E}`},...b],groupby:v}],layer:R},{tooltip:G,...Y}=S,{scale:V,axis:X}=g,J=zO(g),Q=zT(s,"outliers",t.boxplot,{transform:[{filter:`(${q} < ${j}) || (${q} > ${U})`}],mark:"point",encoding:{[y]:{field:g.field,type:g.type,...void 0!==J?{title:J}:{},...void 0!==V?{scale:V}:{},...void 0!==X?{axis:X}:{}},...Y,...$?{color:$}:{},...k?{tooltip:k}:{}}})[0],Z=[...h,...p,W];return Q?n={transform:Z,layer:[Q,H]}:(n=H).transform.unshift(...Z),{...l,layer:[n,{transform:m,layer:L}]}}function zU(e){let t=C7(e);return[{op:"q1",field:e,as:`lower_box_${t}`},{op:"q3",field:e,as:`upper_box_${t}`}]}let zq="errorbar",zW=new zw(zq,zH);function zH(e,{config:t}){let{transform:n,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:a,ticksOrient:o,markDef:l,outerSpec:s,tooltipEncoding:u}=zG(e={...e,encoding:zM(e.encoding,t)},zq,t);delete a.size;let f=zN(l,r,i,a,t.errorbar),c=l.thickness,d=l.size,h={type:"tick",orient:o,aria:!1,...void 0!==c?{thickness:c}:{},...void 0!==d?{size:d}:{}},p=[...f({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:u}),...f({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:u}),...f({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...void 0!==c?{size:c}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u})];return{...s,transform:n,...p.length>1?{layer:p}:{...p[0]}}}function zG(e,t,n){let{mark:i,encoding:r,params:a,projection:o,...l}=e,s=Tt(i)?i:{type:i};a&&OH(OA(t));let{orient:u,inputType:f}=function(e,t){var n,i,r;let{encoding:a}=e;if((TZ((n=a).x)||TZ(n.y))&&!TZ(n.x2)&&!TZ(n.y2)&&!TZ(n.xError)&&!TZ(n.xError2)&&!TZ(n.yError)&&!TZ(n.yError2))return{orient:zL(e,t),inputType:"raw"};let o=TZ((i=a).x2)||TZ(i.y2),l=TZ((r=a).xError)||TZ(r.xError2)||TZ(r.yError)||TZ(r.yError2),s=a.x,u=a.y;if(o){if(l)throw Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let e=a.x2,n=a.y2;if(TZ(e)&&TZ(n))throw Error(`${t} cannot have both x2 and y2`);if(TZ(e))if(TX(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};else throw Error(`Both x and x2 have to be quantitative in ${t}`);if(TZ(n))if(TX(u))return{orient:"vertical",inputType:"aggregated-upper-lower"};else throw Error(`Both y and y2 have to be quantitative in ${t}`);throw Error("No ranged axis")}{let e=a.xError,n=a.xError2,i=a.yError,r=a.yError2;if(TZ(n)&&!TZ(e))throw Error(`${t} cannot have xError2 without xError`);if(TZ(r)&&!TZ(i))throw Error(`${t} cannot have yError2 without yError`);if(TZ(e)&&TZ(i))throw Error(`${t} cannot have both xError and yError with both are quantiative`);if(TZ(e))if(TX(s))return{orient:"horizontal",inputType:"aggregated-error"};else throw Error("All x, xError, and xError2 (if exist) have to be quantitative");if(TZ(i))if(TX(u))return{orient:"vertical",inputType:"aggregated-error"};else throw Error("All y, yError, and yError2 (if exist) have to be quantitative");throw Error("No ranged axis")}}(e,t),{continuousAxisChannelDef:c,continuousAxisChannelDef2:d,continuousAxisChannelDefError:h,continuousAxisChannelDefError2:p,continuousAxis:m}=zz(e,u,t),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:v,tooltipTitleWithFieldName:b}=function(e,t,n,i,r,a,o,l){var s,u;let f,c=[],d=[],h=t.field,p=!1;if("raw"===a){let t=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":l.errorbar.center,n=e.extent?e.extent:"mean"===t?"stderr":"iqr";if("median"===t!=("iqr"===n)&&OH(`${t} is not usually used with ${n} for ${o}.`),"stderr"===n||"stdev"===n)c=[{op:n,field:h,as:`extent_${h}`},{op:t,field:h,as:`center_${h}`}],d=[{calculate:`${C5(`center_${h}`)} + ${C5(`extent_${h}`)}`,as:`upper_${h}`},{calculate:`${C5(`center_${h}`)} - ${C5(`extent_${h}`)}`,as:`lower_${h}`}],f=[{fieldPrefix:"center_",titlePrefix:C1(t)},{fieldPrefix:"upper_",titlePrefix:zY(t,n,"+")},{fieldPrefix:"lower_",titlePrefix:zY(t,n,"-")}],p=!0;else{let e,t,i;"ci"===n?(e="mean",t="ci0",i="ci1"):(e="median",t="q1",i="q3"),c=[{op:t,field:h,as:`lower_${h}`},{op:i,field:h,as:`upper_${h}`},{op:e,field:h,as:`center_${h}`}],f=[{fieldPrefix:"upper_",titlePrefix:ze({field:h,aggregate:i,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:ze({field:h,aggregate:t,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:ze({field:h,aggregate:e,type:"quantitative"},l,{allowDisabling:!1})}]}}else for(let t of((e.center||e.extent)&&OH((s=e.center,u=e.extent,`${u?"extent ":""}${u&&s?"and ":""}${s?"center ":""}${u&&s?"are ":"is "}not needed when data are aggregated.`)),"aggregated-upper-lower"===a?(f=[],d=[{calculate:C5(n.field),as:`upper_${h}`},{calculate:C5(h),as:`lower_${h}`}]):"aggregated-error"===a&&(f=[{fieldPrefix:"",titlePrefix:h}],d=[{calculate:`${C5(h)} + ${C5(i.field)}`,as:`upper_${h}`}],r?d.push({calculate:`${C5(h)} + ${C5(r.field)}`,as:`lower_${h}`}):d.push({calculate:`${C5(h)} - ${C5(i.field)}`,as:`lower_${h}`})),d))f.push({fieldPrefix:t.as.substring(0,6),titlePrefix:C9(C9(t.calculate,"datum['",""),"']","")});return{postAggregateCalculates:d,errorBarSpecificAggregate:c,tooltipSummary:f,tooltipTitleWithFieldName:p}}(s,c,d,h,p,f,t,n),{[m]:x,["x"===m?"x2":"y2"]:_,["x"===m?"xError":"yError"]:w,["x"===m?"xError2":"yError2"]:k,...E}=r,{bins:$,timeUnits:A,aggregate:S,groupby:M,encoding:C}=zS(E,n),D=[...S,...g],F="raw"!==f?[]:M,O=zF(v,c,C,b);return{transform:[...l.transform??[],...$,...A,...0===D.length?[]:[{aggregate:D,groupby:F}],...y],groupby:F,continuousAxisChannelDef:c,continuousAxis:m,encodingWithoutContinuousAxis:C,ticksOrient:"vertical"===u?"horizontal":"vertical",markDef:s,outerSpec:l,tooltipEncoding:O}}function zY(e,t,n){return`${C1(e)} ${n} ${t}`}let zV="errorband",zX=new zw(zV,zJ);function zJ(e,{config:t}){let{transform:n,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:a,markDef:o,outerSpec:l,tooltipEncoding:s}=zG(e={...e,encoding:zM(e.encoding,t)},zV,t),u=zN(o,r,i,a,t.errorband),f=void 0!==e.encoding.x&&void 0!==e.encoding.y,c={type:f?"area":"rect"},d={type:f?"line":"rule"},h={...o.interpolate?{interpolate:o.interpolate}:{},...o.tension&&o.interpolate?{tension:o.tension}:{}};return f?(c={...c,...h,ariaRoleDescription:"errorband"},d={...d,...h,aria:!1}):o.interpolate?OH(OI("interpolate")):o.tension&&OH(OI("tension")),{...l,transform:n,layer:[...u({partName:"band",mark:c,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:s}),...u({partName:"borders",mark:d,positionPrefix:"lower",extraEncoding:s}),...u({partName:"borders",mark:d,positionPrefix:"upper",extraEncoding:s})]}}let zQ={};function zZ(e,t,n){let i=new zw(e,t);zQ[e]={normalizer:i,parts:n}}zZ(zB,zj,["box","median","outliers","rule","ticks"]),zZ(zq,zH,["ticks","rule"]),zZ(zV,zJ,["band","borders"]);let zK=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],z0={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"},z1={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"},z2=CY(z0),z3=CY(z1),z5=CY({header:1,headerRow:1,headerColumn:1,headerFacet:1}),z6=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],z4="_vgsid_";function z8(e){return"legend"===e||!!e?.legend}function z9(e){return z8(e)&&e7(e)}function z7(e){return!!e?.select}function Re(e){let t=[];for(let n of e||[]){if(z7(n))continue;let{expr:e,bind:i,...r}=n;if(i&&e){let n={...r,bind:i,init:e};t.push(n)}else{let n={...r,...e?{update:e}:{},...i?{bind:i}:{}};t.push(n)}}return t}function Rt(e){return Dc(e,"concat")}function Rn(e){return Dc(e,"vconcat")}function Ri(e){return Dc(e,"hconcat")}function Rr({step:e,offsetIsDiscrete:t}){return t?e.for??"offset":"position"}function Ra(e){return Dc(e,"step")}function Ro(e){return Dc(e,"view")||Dc(e,"width")||Dc(e,"height")}let Rl=CY({align:1,bounds:1,center:1,columns:1,spacing:1});function Rs(e,t){return e[t]??e["width"===t?"continuousWidth":"continuousHeight"]}function Ru(e,t){let n=Rf(e,t);return Ra(n)?n.step:Rc}function Rf(e,t){return Dt(e[t]??e["width"===t?"discreteWidth":"discreteHeight"],{step:e.step})}let Rc=20,Rd={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:300,continuousHeight:300,step:20},mark:{color:"#4c78a8",invalid:"break-paths-show-path-domains",timeUnitBandSize:1},arc:{},area:{},bar:Tf,circle:{},geoshape:{},image:{},line:{},point:{},rect:Tu,rule:{color:"black"},square:{},text:{color:"black"},tick:Tc,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:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0,framesPerSecond:2,animationDuration:5},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:{point:{on:"click",fields:[z4],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}},style:{},title:{},facet:{spacing:20},concat:{spacing:20},normalizedNumberFormat:".0%"},Rh={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Rp={blue:"#4c78a8",orange:"#f58518",red:"#e45756",teal:"#72b7b2",green:"#54a24b",yellow:"#eeca3b",purple:"#b279a2",pink:"#ff9da6",brown:"#9d755d",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 Rm(e){let t=CY(e||{}),n={};for(let i of t){let t=e[i];n[i]=zm(t)?Oo(t):Ol(t)}return n}let Rg=[...To,...zx,...z5,"background","padding","legend","lineBreak","scale","style","title","view"];function Ry(e={}){let{color:t,font:n,fontSize:i,selection:r,...a}=e,o=tt({},CF(Rd),n?{text:{font:n},style:{"guide-label":{font:n},"guide-title":{font:n},"group-title":{font:n},"group-subtitle":{font:n}}}:{},t?function(e={}){return{signals:[{name:"color",value:e7(e)?{...Rp,...e}:Rp}],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"}]}}}(t):{},i?{signals:[{name:"fontSize",value:e7(i)?{...Rh,...i}:Rh}],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"}}}}:{},a||{});r&&tn(o,"selection",r,!0);let l=CT(o,Rg);for(let e of["background","lineBreak","padding"])o[e]&&(l[e]=Ol(o[e]));for(let e of To)o[e]&&(l[e]=F4(o[e]));for(let e of zx)o[e]&&(l[e]=Rm(o[e]));for(let e of z5)o[e]&&(l[e]=F4(o[e]));if(o.legend&&(l.legend=F4(o.legend)),o.scale){let{invalid:e,...t}=o.scale,n=F4(e,{level:1});l.scale={...F4(t),...CY(n).length>0?{invalid:n}:{}}}return o.style&&(l.style=function(e){let t=CY(e),n={};for(let i of t)n[i]=Rm(e[i]);return n}(o.style)),o.title&&(l.title=F4(o.title)),o.view&&(l.view=F4(o.view)),l}let Rv=new Set(["view",...Te]),Rb=["color","fontSize","background","padding","facet","concat","numberFormat","numberFormatType","normalizedNumberFormat","normalizedNumberFormatType","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],Rx={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],...Ta};function R_(e){return Dc(e,"layer")}class Rw{map(e,t){if(TR(e))return this.mapFacet(e,t);if(Dc(e,"repeat"))return this.mapRepeat(e,t);if(Ri(e))return this.mapHConcat(e,t);if(Rn(e))return this.mapVConcat(e,t);else if(Rt(e))return this.mapConcat(e,t);else return this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(R_(e))return this.mapLayer(e,t);if(z_(e))return this.mapUnit(e,t);throw Error(Ox(e))}mapLayer(e,t){return{...e,layer:e.layer.map(e=>this.mapLayerOrUnit(e,t))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map(e=>this.map(e,t))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map(e=>this.map(e,t))}}mapConcat(e,t){let{concat:n,...i}=e;return{...i,concat:n.map(e=>this.map(e,t))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}}let Rk={zero:1,center:1,normalize:1},RE=new Set([NV,NJ,NX,N1,NK,N6,N4,NZ,N2,N3]),R$=new Set([NJ,NX,NV]);function RA(e){return TG(e)&&"quantitative"===TY(e)&&!e.bin}function RS(e,t,{orient:n,type:i}){let r="x"===t?"y":"radius",a="x"===t&&["bar","area"].includes(i),o=e[t],l=e[r];if(TG(o)&&TG(l)){if(RA(o)&&RA(l)){if(o.stack)return t;if(l.stack)return r;let e=TG(o)&&!!o.aggregate;if(e!==(TG(l)&&!!l.aggregate))return e?t:r;if(a){if("vertical"===n)return r;else if("horizontal"===n)return t}}else if(RA(o))return t;else if(RA(l))return r}else if(RA(o)){if(a&&"vertical"===n)return;return t}else if(RA(l)){if(a&&"horizontal"===n)return;return r}}function RM(e,t){var n,i;let r,a=Tt(e)?e:{type:e},o=a.type;if(!RE.has(o))return null;let l=RS(t,"x",a)||RS(t,"theta",a);if(!l)return null;let s=t[l],u=TG(s)?T4(s,{}):void 0,f=function(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(l),c=[],d=new Set;if(t[f]){let e=t[f],n=TG(e)?T4(e,{}):void 0;n&&n!==u&&(c.push(f),d.add(n))}let h="x"===f?"xOffset":"yOffset",p=t[h],m=TG(p)?T4(p,{}):void 0;m&&m!==u&&(c.push(h),d.add(m));let g=Fb.reduce((e,n)=>{if("tooltip"!==n&&zk(t,n))for(let i of tw(t[n])){let t=zi(i);if(t.aggregate)continue;let r=T4(t,{});r&&d.has(r)||e.push({channel:n,fieldDef:t})}return e},[]);return(void 0!==s.stack?r=tj(s.stack)?s.stack?"zero":null:s.stack:R$.has(o)&&(r="zero"),!r||!tz(Rk,r)||zA(t)&&0===g.length)?null:(s?.scale?.type&&s?.scale?.type!==N_&&s?.stack&&OH((n=s.scale.type,`Stack is applied to a non-linear scale (${n}).`)),TZ(t[D7(l)]))?(void 0!==s.stack&&OH(`Cannot stack "${l}" if there is already "${l}2".`),null):(TG(s)&&s.aggregate&&!FZ.has(s.aggregate)&&OH((i=s.aggregate,`Stacking is applied even though the aggregate function is non-summative ("${i}").`)),{groupbyChannels:c,groupbyFields:d,fieldChannel:l,impute:null!==s.impute&&N9(o),stackBy:g,offset:r})}function RC(e,t,n){var i,r,a,o;let l=F4(e),s=Oh("orient",l,n);if(l.orient=function(e,t,n){switch(e){case NK:case N6:case N4:case N0:case NQ:return}let{x:i,y:r,x2:a,y2:o}=t;switch(e){case N2:case NJ:if(TG(i)&&(F2(i.bin)||TG(r)&&r.aggregate&&!i.aggregate))break;if(TG(r)&&(F2(r.bin)||TG(i)&&i.aggregate&&!r.aggregate))return"horizontal";if(o||a){if(n)return n;if(!a){if((TG(i)&&i.type===Ng&&!F1(i.bin)||TQ(i))&&TG(r)&&F2(r.bin))return"horizontal";return"vertical"}if(!o){if((TG(r)&&r.type===Ng&&!F1(r.bin)||TQ(r))&&TG(i)&&F2(i.bin))return"vertical";return"horizontal"}}case N1:if(a&&!(TG(i)&&F2(i.bin))&&o&&!(TG(r)&&F2(r.bin)))return;case NX:if(o)if(TG(r)&&F2(r.bin))return"horizontal";else break;if(a)if(!(TG(i)&&F2(i.bin)))return"horizontal";else break;if(e===N1){if(i&&!r)break;else if(r&&!i)return"horizontal"}case NZ:case N3:{let t=TJ(i),a=TJ(r);if(n)return n;{if(t&&!a)return"tick"!==e?"horizontal":"vertical";if(!t&&a)return"tick"!==e?"vertical":"horizontal";if(t&&a)return"vertical";let n=TK(i)&&i.type===Nv,o=TK(r)&&r.type===Nv;if(n&&!o)return"vertical";if(!n&&o)return"horizontal"}return}}return"vertical"}(l.type,t,s),void 0!==s&&s!==l.orient&&OH((i=l.orient,`Specified orient "${i}" overridden with "${s}".`)),"bar"===l.type&&l.orient){let e=Oh("cornerRadiusEnd",l,n);if(void 0!==e){for(let n of"horizontal"===l.orient&&t.x2||"vertical"===l.orient&&t.y2?["cornerRadius"]:Ts[l.orient])l[n]=e;void 0!==l.cornerRadiusEnd&&delete l.cornerRadiusEnd}}let u=Oh("opacity",l,n),f=Oh("fillOpacity",l,n);return void 0===u&&void 0===f&&(l.opacity=function(e,t){if(CL([NK,N3,N6,N4],e)&&!zA(t))return .7}(l.type,t)),void 0===Oh("cursor",l,n)&&(r=l,a=t,o=n,l.cursor=a.href||r.href||Oh("href",r,o)?"pointer":r.cursor),l}function RD(e,t={},n){return"transparent"===e.point?{opacity:0}:e.point?e7(e.point)?e.point:{}:void 0!==e.point?null:t.point||n.shape?e7(t.point)?t.point:{}:void 0}function RF(e,t={}){return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}class RO{name="path-overlay";hasMatchingType(e,t){if(z_(e)){let{mark:n,encoding:i}=e,r=Tt(n)?n:{type:n};switch(r.type){case"line":case"rule":case"trail":return!!RD(r,t[r.type],i);case"area":return!!RD(r,t[r.type],i)||!!RF(r,t[r.type])}}return!1}run(e,t,n){let{config:i}=t,{params:r,projection:a,mark:o,name:l,encoding:s,...u}=e,f=zM(s,i),c=Tt(o)?o:{type:o},d=RD(c,i[c.type],f),h="area"===c.type&&RF(c,i[c.type]),p=[{name:l,...r?{params:r}:{},mark:function(e){let{point:t,line:n,...i}=e;return CY(i).length>1?i:i.type}({..."area"===c.type&&void 0==Oh("opacity",c,i)&&void 0==Oh("fillOpacity",c,i)?{opacity:.7}:{},...c}),encoding:CT(f,["shape"])}],m=RM(RC(c,f,i),f),g=f;if(m){let{fieldChannel:e,offset:t}=m;g={...f,[e]:{...f[e],...t?{stack:t}:{}}}}return g=CT(g,["y2","x2"]),h&&p.push({...a?{projection:a}:{},mark:{type:"line",...CN(c,["clip","interpolate","tension","tooltip"]),...h},encoding:g}),d&&p.push({...a?{projection:a}:{},mark:{type:"point",opacity:1,filled:!0,...CN(c,["clip","tooltip"]),...d},encoding:g}),n({...u,layer:p},{...t,config:function(e){for(let t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:CT(e[t],["point","line"])});return e}(i)})}}function RN(e,t,n){var i;let r=t[e];if(!tG(r)&&Dc(r,"repeat"))if(r.repeat in n)return{...t,[e]:n[r.repeat]};else return void OH((i=r.repeat,`Unknown repeated value "${i}".`));return t}function RT(e,t){if(void 0!==(e=RN("field",e,t))){if(null===e)return null;if(TB(e)&&TN(e.sort)){let n=RN("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function Rz(e,t){if(TG(e))return RT(e,t);{let n=RN("datum",e,t);return n===e||n.type||(n.type="nominal"),n}}function RR(e,t){if(TZ(e)){let n=Rz(e,t);if(n)return n;if(Tq(e))return{condition:e.condition}}else{if(TH(e)){let n=Rz(e.condition,t);if(n)return{...e,condition:n};{let{condition:t,...n}=e;return n}}return e}}function RL(e,t){let n={};for(let i in e)if(Dc(e,i)){let r=e[i];if(e9(r))n[i]=r.map(e=>RR(e,t)).filter(e=>e);else{let e=RR(r,t);void 0!==e&&(n[i]=e)}}return n}class RB{name="RuleForRangedLine";hasMatchingType(e){if(z_(e)){let{encoding:t,mark:n}=e;if("line"===n||Tt(n)&&"line"===n.type)for(let e of D4){let n=t[D8(e)];if(t[e]&&(TG(n)&&!F2(n.bin)||TV(n)))return!0}}return!1}run(e,t,n){var i,r;let{encoding:a,mark:o}=e;return OH((i=!!a.x2,r=!!a.y2,`Line mark is for continuous lines and thus cannot be used with ${i&&r?"x2 and y2":i?"x2":"y2"}. We will use the rule mark (line segments) instead.`)),n({...e,mark:e7(o)?{...o,type:"rule"}:"rule"},t)}}class RP extends Rw{nonFacetUnitNormalizers=[zP,zW,zX,new RO,new RB];map(e,t){if(z_(e)){let n=zk(e.encoding,"row"),i=zk(e.encoding,Dd),r=zk(e.encoding,Dh);if(n||i||r)return this.mapFacetedUnit(e,t)}return super.map(e,t)}mapUnit(e,t){var n,i;let{parentEncoding:r,parentProjection:a}=t,o=(n=e.encoding,(i=t.repeater)?RL(n,i):n),l={...e,...e.name?{name:[t.repeaterPrefix,e.name].filter(e=>e).join("_")}:{},...o?{encoding:o}:{}};if(r||a)return this.mapUnitWithParentEncodingOrProjection(l,t);let s=this.mapLayerOrUnit.bind(this);for(let e of this.nonFacetUnitNormalizers)if(e.hasMatchingType(l,t.config))return e.run(l,t,s);return l}mapRepeat(e,t){return!e9(e.repeat)&&Dc(e.repeat,"layer")?this.mapLayerRepeat(e,t):this.mapNonLayerRepeat(e,t)}mapLayerRepeat(e,t){let{repeat:n,spec:i,...r}=e,{row:a,column:o,layer:l}=n,{repeater:s={},repeaterPrefix:u=""}=t;return a||o?this.mapRepeat({...e,repeat:{...a?{row:a}:{},...o?{column:o}:{}},spec:{repeat:{layer:l},spec:i}},t):{...r,layer:l.map(e=>{let n={...s,layer:e},r=`${(i.name?`${i.name}_`:"")+u}child__layer_${CZ(e)}`,a=this.mapLayerOrUnit(i,{...t,repeater:n,repeaterPrefix:r});return a.name=r,a})}}mapNonLayerRepeat(e,t){let{repeat:n,spec:i,data:r,...a}=e;!e9(n)&&e.columns&&(e=CT(e,["columns"]),OH(OS("repeat")));let o=[],{repeater:l={},repeaterPrefix:s=""}=t,u=!e9(n)&&n.row||[l?l.row:null],f=!e9(n)&&n.column||[l?l.column:null];for(let e of e9(n)&&n||[l?l.repeat:null])for(let r of u)for(let a of f){let u={repeat:e,row:r,column:a,layer:l.layer},f=`${(i.name?`${i.name}_`:"")+s}child__${e9(n)?`${CZ(e)}`:(n.row?`row_${CZ(r)}`:"")+(n.column?`column_${CZ(a)}`:"")}`,c=this.map(i,{...t,repeater:u,repeaterPrefix:f});c.name=f,o.push(CT(c,["data"]))}let c=e9(n)?e.columns:n.column?n.column.length:1;return{data:i.data??r,align:"all",...a,columns:c,concat:o}}mapFacet(e,t){let{facet:n}=e;return TT(n)&&e.columns&&(e=CT(e,["columns"]),OH(OS("facet"))),super.mapFacet(e,t)}mapUnitWithParentEncodingOrProjection(e,t){var n,i;let{encoding:r,projection:a}=e,{parentEncoding:o,parentProjection:l,config:s}=t,u=Rj({parentProjection:l,projection:a}),f=RI({parentEncoding:o,encoding:(n=r,(i=t.repeater)?RL(n,i):n)});return this.mapUnit({...e,...u?{projection:u}:{},...f?{encoding:f}:{}},{config:s})}mapFacetedUnit(e,t){var n,i;let{row:r,column:a,facet:o,...l}=e.encoding,{mark:s,width:u,projection:f,height:c,view:d,params:h,encoding:p,...m}=e,{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:r,column:a,facet:o},t),v=(n=l,(i=t.repeater)?RL(n,i):n);return this.mapFacet({...m,...y,facet:g,spec:{...u?{width:u}:{},...c?{height:c}:{},...d?{view:d}:{},...f?{projection:f}:{},mark:s,encoding:v,...h?{params:h}:{}}},t)}getFacetMappingAndLayout(e,t){var n,i;let{row:r,column:a,facet:o}=e;if(r||a){o&&OH((n=[...r?["row"]:[],...a?[Dd]:[]],`Facet encoding dropped as ${n.join(" and ")} ${n.length>1?"are":"is"} also specified.`));let t={},i={};for(let n of["row",Dd]){let r=e[n];if(r){let{align:e,center:a,spacing:o,columns:l,...s}=r;for(let e of(t[n]=s,["align","center","spacing"]))void 0!==r[e]&&(i[e]??={},i[e][n]=r[e])}}return{facetMapping:t,layout:i}}{let{align:e,center:n,spacing:r,columns:a,...l}=o;return{facetMapping:(i=t.repeater)?TT(l)?RL(l,i):RT(l,i):l,layout:{...e?{align:e}:{},...n?{center:n}:{},...r?{spacing:r}:{},...a?{columns:a}:{}}}}}mapLayer(e,{parentEncoding:t,parentProjection:n,...i}){let{encoding:r,projection:a,...o}=e,l={...i,parentEncoding:RI({parentEncoding:t,encoding:r,layer:!0}),parentProjection:Rj({parentProjection:n,projection:a})};return super.mapLayer({...o,...e.name?{name:[l.repeaterPrefix,e.name].filter(e=>e).join("_")}:{}},l)}}function RI({parentEncoding:e,encoding:t={},layer:n}){let i={};if(e)for(let r of new Set([...CY(e),...CY(t)])){let a=t[r],o=e[r];if(TZ(a)){let e={...o,...a};i[r]=e}else TH(a)?i[r]={...a,condition:{...o,...a.condition}}:a||null===a?i[r]=a:(n||T0(o)||F7(o)||TZ(o)||e9(o))&&(i[r]=o)}else i=t;return!i||CG(i)?void 0:i}function Rj(e){let{parentProjection:t,projection:n}=e;return t&&n&&OH(function(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${Df(t)} is overridden by a child projection ${Df(n)}.`}({parentProjection:t,projection:n})),n??t}function RU(e){return Dc(e,"filter")}function Rq(e){return Dc(e,"lookup")}function RW(e,t){let{transform:n,...i}=e;if(n){let e=n.map(e=>{if(RU(e))return{filter:RG(e,t)};if(Dc(e,"bin")&&e7(e.bin))return{...e,bin:RH(e.bin)};if(Rq(e)){let{selection:t,...n}=e.from;return t?{...e,from:{param:t,...n}}:e}return e});return{...i,transform:e}}return e}function RH(e){let t=e.extent;if(t?.selection){let{selection:n,...i}=t;return{...e,extent:{...i,param:n}}}return e}function RG(e,t){let n=e=>CD(e,e=>{let n=t.emptySelections[e]??!0,i={param:e,empty:n};return t.selectionPredicates[e]??=[],t.selectionPredicates[e].push(i),i});return e.selection?n(e.selection):CD(e.test||e.filter,e=>e.selection?n(e.selection):e)}class RY extends Rw{map(e,t){let n=t.selections??[];if(e.params&&!z_(e)){let t=[];for(let i of e.params)z7(i)?n.push(i):t.push(i);e.params=t}return t.selections=n,super.map(e,t)}mapUnit(e,t){let n=t.selections;if(!n||!n.length)return e;let i=(t.path??[]).concat(e.name),r=[];for(let t of n)if(t.views&&t.views.length)for(let n of t.views)(tG(n)&&(n===e.name||i.includes(n))||e9(n)&&n.map(e=>i.indexOf(e)).every((e,t,n)=>-1!==e&&(0===t||e>n[t-1])))&&r.push(t);else r.push(t);return r.length&&(e.params=r),e}}for(let e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let t=RY.prototype[e];RY.prototype[e]=function(e,n){var i,r;return t.call(this,e,(i=e,r=n,i.name?{...r,path:(r.path??[]).concat(i.name)}:r))}}function RV(e,t){void 0===t&&(t=Ry(e.config));let n=function(e,t={}){let n={config:t};return RQ.map(RX.map(RJ.map(e,n),n),n)}(e,t),{width:i,height:r}=e,a=function(e,t,n){let{width:i,height:r}=t,a=z_(e)||R_(e),o={};a?"container"==i&&"container"==r?(o.type="fit",o.contains="padding"):"container"==i?(o.type="fit-x",o.contains="padding"):"container"==r&&(o.type="fit-y",o.contains="padding"):("container"==i&&(OH(O_("width")),i=void 0),"container"==r&&(OH(O_("height")),r=void 0));let l={type:"pad",...o,...n?RZ(n.autosize):{},...RZ(e.autosize)};if("fit"!==l.type||a||(OH('Autosize "fit" only works for single views and layered views.'),l.type="pad"),"container"==i&&"fit"!=l.type&&"fit-x"!=l.type&&OH(Ow("width")),"container"==r&&"fit"!=l.type&&"fit-y"!=l.type&&OH(Ow("height")),!Du(l,{type:"pad"}))return l}(n,{width:i,height:r,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}let RX=new RP,RJ=new class extends Rw{map(e,t){return t.emptySelections??={},t.selectionPredicates??={},e=RW(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if((e=RW(e,t)).encoding){let n={};for(let[i,r]of CX(e.encoding))n[i]=function e(t,n){let i=CF(t);if(TG(i)&&e7(i.bin)&&(i.bin=RH(i.bin)),T1(i)&&i.scale?.domain?.selection){let{selection:e,...t}=i.scale.domain;i.scale.domain={...t,...e?{param:e}:{}}}if(Tq(i))if(e9(i.condition))i.condition=i.condition.map(e=>{let{selection:t,param:i,test:r,...a}=e;return i?e:{...a,test:RG(e,n)}});else{let{selection:t,param:r,test:a,...o}=e(i.condition,n);i.condition=r?i.condition:{...o,test:RG(i.condition,n)}}return i}(r,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){let{selection:n,...i}=e;return n?{...i,params:CX(n).map(([e,n])=>{let{init:i,bind:r,empty:a,...o}=n;for(let n of("single"===o.type?(o.type="point",o.toggle=!1):"multi"===o.type&&(o.type="point"),t.emptySelections[e]="none"!==a,CV(t.selectionPredicates[e]??{})))n.empty="none"!==a;return{name:e,value:i,select:o,bind:r}})}:e}},RQ=new RY;function RZ(e){return tG(e)?{type:e}:e??{}}let RK=["background","padding"];function R0(e,t){let n={};for(let t of RK)e&&void 0!==e[t]&&(n[t]=Ol(e[t]));return t&&(n.params=e.params),n}class R1{explicit;implicit;constructor(e={},t={}){this.explicit=e,this.implicit=t}clone(){return new R1(CF(this.explicit),CF(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(e){return Dt(this.explicit[e],this.implicit[e])}getWithExplicit(e){return void 0!==this.explicit[e]?{explicit:!0,value:this.explicit[e]}:void 0!==this.implicit[e]?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:t,explicit:n}){void 0!==t&&this.set(e,t,n)}set(e,t,n){return delete this[n?"implicit":"explicit"][e],this[n?"explicit":"implicit"][e]=t,this}copyKeyFromSplit(e,{explicit:t,implicit:n}){void 0!==t[e]?this.set(e,t[e],!0):void 0!==n[e]&&this.set(e,n[e],!1)}copyKeyFromObject(e,t){void 0!==t[e]&&this.set(e,t[e],!0)}copyAll(e){for(let t of CY(e.combine())){let n=e.getWithExplicit(t);this.setWithExplicit(t,n)}}}function R2(e){return{explicit:!0,value:e}}function R3(e){return{explicit:!1,value:e}}function R5(e){return(t,n,i,r)=>{let a=e(t.value,n.value);return a>0?t:a<0?n:R6(t,n,i,r)}}function R6(e,t,n,i){var r,a;return e.explicit&&t.explicit&&OH((r=e.value,a=t.value,`Conflicting ${i.toString()} property "${n.toString()}" (${Df(r)} and ${Df(a)}). Using ${Df(r)}.`)),e}function R4(e,t,n,i,r=R6){return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:Du(e.value,t.value)?e:r(e,t,n,i)}class R8 extends R1{explicit;implicit;parseNothing;constructor(e={},t={},n=!1){super(e,t),this.explicit=e,this.implicit=t,this.parseNothing=n}clone(){let e=super.clone();return e.parseNothing=this.parseNothing,e}}function R9(e){return Dc(e,"url")}function R7(e){return Dc(e,"values")}function Le(e){return Dc(e,"name")&&!R9(e)&&!R7(e)&&!Lt(e)}function Lt(e){return e&&(Ln(e)||Li(e)||Lr(e))}function Ln(e){return Dc(e,"sequence")}function Li(e){return Dc(e,"sphere")}function Lr(e){return Dc(e,"graticule")}function La({invalid:e,isPath:t}){switch(Td(e,{isPath:t})){case"filter":return{marks:"exclude-invalid-values",scales:"exclude-invalid-values"};case"break-paths-show-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"include-invalid-values"};case"break-paths-filter-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"exclude-invalid-values"};case"show":return{marks:"include-invalid-values",scales:"include-invalid-values"}}}(M=ea||(ea={}))[M.Raw=0]="Raw",M[M.Main=1]="Main",M[M.Row=2]="Row",M[M.Column=3]="Column",M[M.Lookup=4]="Lookup",M[M.PreFilterInvalid=5]="PreFilterInvalid",M[M.PostFilterInvalid=6]="PostFilterInvalid";class Lo{debugName;_children=[];_parent=null;_hash;constructor(e,t){this.debugName=t,e&&(this.parent=e)}clone(){throw 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,t){this._children.includes(e)?OH("Attempt to add the same child twice."):void 0!==t?this._children.splice(t,0,e):this._children.push(e)}removeChild(e){let t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(let t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){let t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){let e=this._parent,t=e.parent;for(let t of this._children)t.parent=e;this._children=[],e.removeChild(this);let n=e.parent.removeChild(e);this._parent=t,t.addChild(this,n),e.parent=this}}class Ll extends Lo{type;refCounts;_source;_name;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}constructor(e,t,n,i){super(e,t),this.type=n,this.refCounts=i,this._source=this._name=t,!this.refCounts||this._name in this.refCounts||(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${Di()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}function Ls(e){return void 0!==e.as}class Lu extends Lo{timeUnits;clone(){return new Lu(null,CF(this.timeUnits))}constructor(e,t){super(e),this.timeUnits=t}static makeFromEncoding(e,t){let n=t.reduceFieldDef((e,n,i)=>{let{field:r,timeUnit:a}=n;if(a){let o;if(O1(a)){if(In(t)){let{mark:e,markDef:i,config:l}=t,s=TP({fieldDef:n,markDef:i,config:l});(N7(e)||s)&&(o={timeUnit:O7(a),field:r})}}else o={as:T4(n,{forAs:!0}),field:r,timeUnit:a};if(In(t)){let{mark:e,markDef:r,config:a}=t,l=TP({fieldDef:n,markDef:r,config:a});N7(e)&&Fw(i)&&.5!==l&&(o.rectBandPosition=l)}o&&(e[Cz(o)]=o)}return e},{});return CG(n)?null:new Lu(e,n)}static makeFromTransform(e,t){let{timeUnit:n,...i}={...t},r=O7(n),a={...i,timeUnit:r};return new Lu(e,{[Cz(a)]:a})}merge(e){for(let t in this.timeUnits={...this.timeUnits},e.timeUnits)this.timeUnits[t]||(this.timeUnits[t]=e.timeUnits[t]);for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}removeFormulas(e){let t={};for(let[n,i]of CX(this.timeUnits)){let r=Ls(i)?i.as:`${i.field}_end`;e.has(r)||(t[n]=i)}this.timeUnits=t}producedFields(){return new Set(CV(this.timeUnits).map(e=>{var t;return Ls(e)?e.as:(t=e.field,`${t}_end`)}))}dependentFields(){return new Set(CV(this.timeUnits).map(e=>e.field))}hash(){return`TimeUnit ${Cz(this.timeUnits)}`}assemble(){let e=[];for(let t of CV(this.timeUnits)){let{rectBandPosition:n}=t,i=O7(t.timeUnit);if(Ls(t)){let{field:r,as:a}=t,{unit:o,utc:l,...s}=i,u=[a,`${a}_end`];e.push({field:C8(r),type:"timeunit",...o?{units:O6(o)}:{},...l?{timezone:"utc"}:{},...s,as:u}),e.push(...Lh(u,n,i))}else if(t){let{field:r}=t,a=C6(r),o=Ld({timeUnit:i,field:a}),l=`${a}_end`;e.push({type:"formula",expr:o,as:l}),e.push(...Lh([a,l],n,i))}}return e}}let Lf="offsetted_rect_start",Lc="offsetted_rect_end";function Ld({timeUnit:e,field:t,reverse:n}){let{unit:i,utc:r}=e,{part:a,step:o}=Nn(O4(i),e.step);return`${r?"utcOffset":"timeOffset"}('${a}', ${C5(t)}, ${n?-o:o})`}function Lh([e,t],n,i){if(void 0!==n&&.5!==n){let r=C5(e),a=C5(t);return[{type:"formula",expr:Lp([Ld({timeUnit:i,field:e,reverse:!0}),r],n+.5),as:`${e}_${Lf}`},{type:"formula",expr:Lp([r,a],n+.5),as:`${e}_${Lc}`}]}return[]}function Lp([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}let Lm="_tuple_fields";class Lg{hasChannel;hasField;hasSelectionId;timeUnit;items;constructor(...e){this.items=e,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}}let Ly="_curr",Lv="anim_value",Lb="anim_clock",Lx="eased_anim_clock",L_="min_extent",Lw="max_range_extent",Lk="last_tick_at",LE="is_playing",L$=1/60*1e3,LA={defined:e=>"point"===e.type,topLevelSignals:(e,t,n)=>(Bb(t)&&(n=n.concat([{name:Lb,init:"0",on:[{events:{type:"timer",throttle:L$},update:`${LE} ? (${Lb} + (now() - ${Lk}) > ${Lw} ? 0 : ${Lb} + (now() - ${Lk})) : ${Lb}`}]},{name:Lk,init:"now()",on:[{events:[{signal:Lb},{signal:LE}],update:"now()"}]},{name:LE,init:"true"}])),n),signals:(e,t,n)=>{let i=t.name,r=i+Lm,a=t.project,o="(item().isVoronoi ? datum.datum : datum)",l=CV(e.component.selection??{}).reduce((e,t)=>"interval"===t.type?e.concat(t.name+LT):e,[]).map(e=>`indexof(item().mark.name, '${e}') < 0`).join(" && "),s=`datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${l?` && ${l}`:""}`,u=`unit: ${Bg(e)}, `;if(t.project.hasSelectionId)u+=`${z4}: ${o}[${t0(z4)}]`;else if(Bb(t))u+=`fields: ${r}, values: [${Lv} ? ${Lv} : ${L_}]`;else{let t=a.items.map(t=>{let n=e.fieldDef(t.channel);return n?.bin?`[${o}[${t0(e.vgField(t.channel,{}))}], ${o}[${t0(e.vgField(t.channel,{binSuffix:"end"}))}]]`:`${o}[${t0(t.field)}]`}).join(", ");u+=`fields: ${r}, values: [${t}]`}if(Bb(t)){let r,a;return n.concat((r=t.name,a=e.scaleName(DE),[{name:Lx,update:Lb},{name:`${r}_domain`,init:`domain('${a}')`},{name:L_,init:`extent(${r}_domain)[0]`},{name:Lw,init:`extent(range('${a}'))[1]`},{name:Lv,update:`invert('${a}', ${Lx})`}]),[{name:i+Bh,on:[{events:[{signal:Lx},{signal:Lv}],update:`{${u}}`,force:!0}]}])}{let e=t.events;return n.concat([{name:i+Bh,on:e?[{events:e,update:`${s} ? {${u}} : null`,force:!0}]:[]}])}}};function LS(e){let{signals:t,hasLegend:n,index:i,...r}=e;return r.field=C8(r.field),r}function LM(e,t=!0,n=e0){if(e9(e)){let i=e.map(e=>LM(e,t,n));return t?`[${i.join(", ")}]`:i}if(OG(e))if(t)return n(OZ(e));else{let t;return n((t=OQ(e,!0),e.utc?+new Date(Date.UTC(...t)):+new Date(...t)))}return t?n(Df(e)):e}function LC(e,t){for(let n of CV(e.component.selection??{}))for(let i of Bm)i.defined(n)&&i.marks&&(t=i.marks(e,n,t));return t}function LD(e){return e.map(e=>(e.on&&!e.on.length&&delete e.on,e))}let LF={defined:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,t)=>{let n=t.scales=[];for(let i of t.project.items){let r=i.channel;if(!FI(r))continue;let a=e.getScaleComponent(r),o=a?a.get("type"):void 0;if("sequential"==o&&OH("Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc"),!a||!NN(o)){OH("Scale bindings are currently only supported for scales with unbinned, continuous domains.");continue}a.set("selectionExtent",{param:t.name,field:i.field},!0),n.push(i)}},topLevelSignals:(e,t,n)=>{let i=t.scales.filter(e=>0===n.filter(t=>t.name===e.signals.data).length);if(!e.parent||LN(e)||0===i.length)return n;let r=n.find(e=>e.name===t.name),a=r.update;if(a.includes(Bp))r.update=`{${i.map(e=>`${t0(C8(e.field))}: ${e.signals.data}`).join(", ")}}`;else{for(let e of i){let t=`${t0(C8(e.field))}: ${e.signals.data}`;a.includes(t)||(a=`${a.substring(0,a.length-1)}, ${t}}`)}r.update=a}return n.concat(i.map(e=>({name:e.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!LN(e))for(let e of t.scales){let t=n.find(t=>t.name===e.signals.data);t.push="outer",delete t.value,delete t.update}return n}};function LO(e,t){let n=t0(e.scaleName(t));return`domain(${n})`}function LN(e){return e.parent&&Ia(e.parent)&&(!e.parent.parent||LN(e.parent.parent))}let LT="_brush",Lz="_scale_trigger",LR="geo_interval_init_tick",LL="_init";function LB({model:e,channelDef:t,vgChannel:n,invalidValueRef:i,mainRefFn:r}){let a=Tq(t)&&t.condition,o=[];a&&(o=tw(a).map(t=>{let n=r(t);if(!Dc(t,"param"))return{test:BE(e,t.test),...n};{let{param:i,empty:r}=t;return{test:Bw(e,{param:i,empty:r}),...n}}})),void 0!==i&&o.push(i);let l=r(t);return(void 0!==l&&o.push(l),o.length>1||1===o.length&&o[0].test)?{[n]:o}:1===o.length?{[n]:o[0]}:{}}function LP(e,t="text"){let n=e.encoding[t];return LB({model:e,channelDef:n,vgChannel:t,mainRefFn:t=>LI(t,e.config),invalidValueRef:void 0})}function LI(e,t,n="datum"){if(e){if(T0(e))return Ou(e.value);if(TZ(e)){let{format:i,formatType:r}=zn(e);return Tk({fieldOrDatumDef:e,format:i,formatType:r,expr:n,config:t})}}}function Lj(e,t={}){let{encoding:n,markDef:i,config:r,stack:a}=e,o=n.tooltip;if(e9(o))return{tooltip:Lq({tooltip:o},a,r,t)};{let l=t.reactiveGeom?"datum.datum":"datum";return LB({model:e,channelDef:o,vgChannel:"tooltip",mainRefFn:e=>{let o=LW(e,r,l);if(o)return o;if(null===e)return;let s=Oh("tooltip",i,r);if(!0===s&&(s={content:"encoding"}),tG(s))return{value:s};if(e7(s))if(F7(s))return s;else if("encoding"===s.content)return Lq(n,a,r,t);else return{signal:l}},invalidValueRef:void 0})}}function LU(e,t,n,{reactiveGeom:i}={}){let r={...n,...n.tooltipFormat},a=new Set,o=i?"datum.datum":"datum",l=[];function s(n,i){let s,u=D8(i),f=TK(n)?n:{...n,type:e[u].type},c=tw(f.title||T7(f,r)).join(", ").replaceAll(/"/g,'\\"');if(Fw(i)){let t="x"===i?"x2":"y2",n=zi(e[t]);if(F2(f.bin)&&n){let e=T4(f,{expr:o}),i=T4(n,{expr:o}),{format:l,formatType:u}=zn(f);s=TF(e,i,l,u,r),a.add(t)}}if((Fw(i)||i===Dv||i===Dg)&&t&&t.fieldChannel===i&&"normalize"===t.offset){let{format:e,formatType:t}=zn(f);s=Tk({fieldOrDatumDef:f,format:e,formatType:t,expr:o,config:r,normalizeStack:!0}).signal}s??=LW(f,r,o).signal,l.push({channel:i,key:c,value:s})}zC(e,(e,t)=>{TG(e)?s(e,t):TW(e)&&s(e.condition,t)});let u={};for(let{channel:e,key:t,value:n}of l)a.has(e)||u[t]||(u[t]=n);return u}function Lq(e,t,n,{reactiveGeom:i}={}){let r=CX(LU(e,t,n,{reactiveGeom:i})).map(([e,t])=>`"${e}": ${t}`);return r.length>0?{signal:`{${r.join(", ")}}`}:void 0}function LW(e,t,n="datum"){if(TG(e)&&Nm(e.type)&&!zn(e).format&&!zn(e).formatType){let t=`${n}["${e.field}"]`;return{signal:`isValid(${t}) ? isArray(${t}) ? join(${t}, '\\n') : ${t} : ""+${t}`}}return LI(e,t,n)}function LH(e,t,n={}){let{markDef:i,encoding:r,config:a}=t,{vgChannel:o}=n,{defaultRef:l,defaultValue:s}=n,u=r[e];void 0===l&&void 0!==(s??=Oh(e,i,a,{vgChannel:o,ignoreVgConfig:!Tq(u)}))&&(l=Ou(s));let f={markDef:i,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e)},c=Tm({...f,scaleChannel:e,channelDef:u});return LB({model:t,channelDef:u,vgChannel:o??e,invalidValueRef:c,mainRefFn:t=>Tb({...f,channel:e,channelDef:t,stack:null,defaultRef:l})})}function LG(e,t={filled:void 0}){let{markDef:n,encoding:i,config:r}=e,{type:a}=n,o=t.filled??Oh("filled",n,r),l=CL(["bar","point","circle","square","geoshape"],a)?"transparent":void 0,s=Oh(!0===o?"color":void 0,n,r,{vgChannel:"fill"})??r.mark[!0===o&&"color"]??l,u=Oh(!1===o?"color":void 0,n,r,{vgChannel:"stroke"})??r.mark[!1===o&&"color"],f={...s?{fill:Ou(s)}:{},...u?{stroke:Ou(u)}:{}};return n.color&&(o?n.fill:n.stroke)&&OH(OO("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...LH("color",e,{vgChannel:o?"fill":"stroke",defaultValue:o?s:u}),...LH("fill",e,{defaultValue:i.fill?s:void 0}),...LH("stroke",e,{defaultValue:i.stroke?u:void 0})}}function LY({channel:e,markDef:t,encoding:n={},model:i,bandPosition:r}){let a=`${e}Offset`,o=t[a],l=n[a];if(("xOffset"===a||"yOffset"===a)&&l)return{offsetType:"encoding",offset:Tb({channel:a,channelDef:l,markDef:t,config:i?.config,scaleName:i.scaleName(a),scale:i.getScaleComponent(a),stack:null,defaultRef:Ou(o),bandPosition:r})};let s=t[a];return s?{offsetType:"visual",offset:s}:{}}function LV(e,t,{defaultPos:n,vgChannel:i}){let{encoding:r,markDef:a,config:o,stack:l}=t,s=r[e],u=r[D7(e)],f=t.scaleName(e),c=t.getScaleComponent(e),{offset:d,offsetType:h}=LY({channel:e,markDef:a,encoding:r,model:t,bandPosition:.5}),p=LX({model:t,defaultPos:n,channel:e,scaleName:f,scale:c}),m=!s&&Fw(e)&&(r.latitude||r.longitude)?{field:t.getName(e)}:function(e){let{channel:t,channelDef:n,scaleName:i,stack:r,offset:a,markDef:o}=e;if(TZ(n)&&r&&t===r.fieldChannel){if(TG(n)){let e=n.bandPosition;if(void 0===e&&"text"===o.type&&("radius"===t||"theta"===t)&&(e=.5),void 0!==e)return Tv({scaleName:i,fieldOrDatumDef:n,startSuffix:"start",bandPosition:e,offset:a})}return Ty(n,i,{suffix:"end"},{offset:a})}return Tg(e)}({channel:e,channelDef:s,channel2Def:u,markDef:a,config:o,scaleName:f,scale:c,stack:l,offset:d,defaultRef:p,bandPosition:"encoding"===h?0:void 0});return m?{[i||e]:m}:void 0}function LX({model:e,defaultPos:t,channel:n,scaleName:i,scale:r}){let{markDef:a,config:o}=e;return()=>{let l=D8(n),s=D9(n),u=Oh(n,a,o,{vgChannel:s});if(void 0!==u)return Tx(n,u);switch(t){case"zeroOrMin":return LJ({scaleName:i,scale:r,mode:"zeroOrMin",mainChannel:l,config:o});case"zeroOrMax":return LJ({scaleName:i,scale:r,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:l,config:o});case"mid":return{...e[Fe(n)],mult:.5}}}}function LJ({mainChannel:e,config:t,...n}){let i=Tp(n),{mode:r}=n;if(i)return i;switch(e){case"radius":{if("zeroOrMin"===r)return{value:0};let{widthSignal:e,heightSignal:t}=r.zeroOrMax;return{signal:`min(${e},${t})/2`}}case"theta":return"zeroOrMin"===r?{value:0}:{signal:"2*PI"};case"x":return"zeroOrMin"===r?{value:0}:{field:{group:"width"}};case"y":return"zeroOrMin"===r?{field:{group:"height"}}:{value:0}}}let LQ={left:"x",center:"xc",right:"x2"},LZ={top:"y",middle:"yc",bottom:"y2"};function LK(e,t,n,i="middle"){let r;if("radius"===e||"theta"===e)return D9(e);let a="x"===e?"align":"baseline",o=Oh(a,t,n);if(F7(o))OH(`The ${a} for range marks cannot be an expression`),r=void 0;else r=o;return"x"===e?LQ[r||("top"===i?"left":"center")]:LZ[r||i]}function L0(e,t,{defaultPos:n,defaultPos2:i,range:r}){return r?L1(e,t,{defaultPos:n,defaultPos2:i}):LV(e,t,{defaultPos:n})}function L1(e,t,{defaultPos:n,defaultPos2:i}){let{markDef:r,config:a}=t,o=D7(e),l=Fe(e),s=function(e,t,n){var i,r;let{encoding:a,mark:o,markDef:l,stack:s,config:u}=e,f=D8(n),c=Fe(n),d=D9(n),h=a[f],p=e.scaleName(f),m=e.getScaleComponent(f),{offset:g}=n in a||n in l?LY({channel:n,markDef:l,encoding:a,model:e}):LY({channel:f,markDef:l,encoding:a,model:e});if(!h&&("x2"===n||"y2"===n)&&(a.latitude||a.longitude)){let t=Fe(n),i=e.markDef[t];return null!=i?{[t]:{value:i}}:{[d]:{field:e.getName(n)}}}let y=function({channel:e,channelDef:t,channel2Def:n,markDef:i,config:r,scaleName:a,scale:o,stack:l,offset:s,defaultRef:u}){return TZ(t)&&l&&e.charAt(0)===l.fieldChannel.charAt(0)?Ty(t,a,{suffix:"start"},{offset:s}):Tg({channel:e,channelDef:n,scaleName:a,scale:o,stack:l,markDef:i,config:r,offset:s,defaultRef:u})}({channel:n,channelDef:h,channel2Def:a[n],markDef:l,config:u,scaleName:p,scale:m,stack:s,offset:g,defaultRef:void 0});return void 0!==y?{[d]:y}:L2(n,l)||L2(n,{[n]:(i=u.style,Om(n,Od(l),i)),[c]:(r=u.style,Om(c,Od(l),r))})||L2(n,u[o])||L2(n,u.mark)||{[d]:LX({model:e,defaultPos:t,channel:n,scaleName:p,scale:m})()}}(t,i,o),u=s[l]?LK(e,r,a):D9(e);return{...LV(e,t,{defaultPos:n,vgChannel:u}),...s}}function L2(e,t){let n=Fe(e),i=D9(e);if(void 0!==t[i])return{[i]:Tx(e,t[i])};if(void 0!==t[e])return{[i]:Tx(e,t[e])};if(t[n]){let i=t[n];if(!Tl(i))return{[n]:Tx(e,i)};OH(`Position range does not support relative band size for ${n}.`)}}function L3(e,t){let{config:n,encoding:i,markDef:r}=e,a=r.type,o=D7(t),l=Fe(t),s=i[t],u=i[o],f=e.getScaleComponent(t),c=f?f.get("type"):void 0,d=r.orient,h=i[l]??i.size??Oh("size",r,n,{vgChannel:l}),p=Ft(t),m="bar"===a&&("x"===t?"vertical"===d:"horizontal"===d)||"tick"===a&&("y"===t?"vertical"===d:"horizontal"===d);return TG(s)&&(F1(s.bin)||F2(s.bin)||s.timeUnit&&!u)&&!(h&&!Tl(h))&&!i[p]&&!NO(c)?function({fieldDef:e,fieldDef2:t,channel:n,model:i}){let{config:r,markDef:a,encoding:o}=i,l=i.getScaleComponent(n),s=i.scaleName(n),u=l?l.get("type"):void 0,f=l.get("reverse"),c=TI({channel:n,fieldDef:e,markDef:a,config:r,scaleType:u}),d=i.component.axes[n]?.[0],h=d?.get("translate")??.5,p=Fw(n)?Oh("binSpacing",a,r)??0:0,m=D7(n),g=D9(n),y=D9(m),v=Op("minBandSize",a,r),{offset:b}=LY({channel:n,markDef:a,encoding:o,model:i,bandPosition:0}),{offset:x}=LY({channel:m,markDef:a,encoding:o,model:i,bandPosition:0}),_=function({scaleName:e,fieldDef:t}){let n=T4(t,{expr:"datum"}),i=T4(t,{expr:"datum",suffix:"end"});return`abs(scale("${e}", ${i}) - scale("${e}", ${n}))`}({fieldDef:e,scaleName:s}),w=L5(n,p,f,h,b,v,_),k=L5(m,p,f,h,x??b,v,_),E=F7(c)?{signal:`(1-${c.signal})/2`}:Tl(c)?(1-c.band)/2:.5,$=TP({fieldDef:e,fieldDef2:t,markDef:a,config:r});if(F1(e.bin)||e.timeUnit){let t=e.timeUnit&&.5!==$;return{[y]:L6({fieldDef:e,scaleName:s,bandPosition:E,offset:k,useRectOffsetField:t}),[g]:L6({fieldDef:e,scaleName:s,bandPosition:F7(E)?{signal:`1-${E.signal}`}:1-E,offset:w,useRectOffsetField:t})}}if(F2(e.bin)){let n=Ty(e,s,{},{offset:k});if(TG(t))return{[y]:n,[g]:Ty(t,s,{},{offset:w})};if(e7(e.bin)&&e.bin.step)return{[y]:n,[g]:{signal:`scale("${s}", ${T4(e,{expr:"datum"})} + ${e.bin.step})`,offset:w}}}OH(Oj(m))}({fieldDef:s,fieldDef2:u,channel:t,model:e}):(TZ(s)&&NO(c)||m)&&!u?function(e,t,n){let i,{markDef:r,encoding:a,config:o,stack:l}=n,s=r.orient,u=n.scaleName(t),f=n.getScaleComponent(t),c=Fe(t),d=D7(t),h=Ft(t),p=n.scaleName(h),m=n.getScaleComponent(Fn(t)),g="tick"===r.type||"horizontal"===s&&"y"===t||"vertical"===s&&"x"===t;if(a.size||r.size)if(g)i=LH("size",n,{vgChannel:c,defaultRef:Ou(r.size)});else{var y;OH((y=r.type,`Cannot apply size to non-oriented mark "${y}".`))}let v=!!i,b=TI({channel:t,fieldDef:e,markDef:r,config:o,scaleType:(f||m)?.get("type"),useVlSizeChannel:g});i=i||{[c]:function(e,t,n,i,r,a,o){if(Tl(r))if(!n)return{mult:r.band,field:{group:e}};else{let e=n.get("type");if("band"===e){let e=`bandwidth('${t}')`;1!==r.band&&(e=`${r.band} * ${e}`);let n=Op("minBandSize",{type:o},i);return{signal:n?`max(${Oc(n)}, ${e})`:e}}1!==r.band&&(OH(`Cannot use the relative band size with ${e} scale.`),r=void 0)}else if(F7(r))return r;else if(r)return{value:r};if(n){let e=n.get("range");if(Oe(e)&&tW(e.step))return{value:e.step-2}}if(!a){let{bandPaddingInner:t,barBandPaddingInner:n,rectBandPaddingInner:r,tickBandPaddingInner:a}=i.scale,l=Dt(t,"tick"===o?a:"bar"===o?n:r);if(F7(l))return{signal:`(1 - (${l.signal})) * ${e}`};if(tW(l))return{signal:`${1-l} * ${e}`}}return{value:Ru(i.view,e)-2}}(c,p||u,m||f,o,b,!!e,r.type)};let x=LK(t,r,o,(f||m)?.get("type")==="band"&&Tl(b)&&!v?"top":"middle"),_="xc"===x||"yc"===x,{offset:w,offsetType:k}=LY({channel:t,markDef:r,encoding:a,model:n,bandPosition:.5*!!_}),E=Tg({channel:t,channelDef:e,markDef:r,config:o,scaleName:u,scale:f,stack:l,offset:w,defaultRef:LX({model:n,defaultPos:"mid",channel:t,scaleName:u,scale:f}),bandPosition:_?.5*("encoding"!==k):F7(b)?{signal:`(1-${b})/2`}:Tl(b)?(1-b.band)/2:0});if(c)return{[x]:E,...i};{let e=D9(d),t=i[c],n=w?{...t,offset:w}:t;return{[x]:E,[e]:e9(E)?[E[0],{...E[1],offset:n}]:{...E,offset:n}}}}(s,t,e):L1(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function L5(e,t,n,i,r,a,o){if(tz(DU,e))return 0;let l="x"===e||"y2"===e,s=l?-t/2:t/2;if(!(F7(n)||F7(r)||F7(i))&&!a)return r=r||0,i+(n?-r-s:+r+s);{let e=Oc(n),t=Oc(r),u=Oc(i),f=Oc(a),c=a?`(${o} < ${f} ? ${l?"":"-"}0.5 * (${f} - (${o})) : ${s})`:s;return{signal:(u?`${u} + `:"")+(e?`(${e} ? -1 : 1) * `:"")+(t?`(${t} + ${c})`:c)}}}function L6({fieldDef:e,scaleName:t,bandPosition:n,offset:i,useRectOffsetField:r}){return Tv({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:i,...r?{startSuffix:Lf,endSuffix:Lc}:{}})}let L4=new Set(["aria","width","height"]);function L8(e,t){var n,i,r,a;let{fill:o,stroke:l}="include"===t.color?LG(e):{};return{...(n=e.markDef,i=t,Oi.reduce((e,t)=>(!L4.has(t)&&Dc(n,t)&&"ignore"!==i[t]&&(e[t]=Ou(n[t])),e),{})),...(r=o)?{fill:r}:{},...(a=l)?{stroke:a}:{},...LH("opacity",e),...LH("fillOpacity",e),...LH("strokeOpacity",e),...LH("strokeWidth",e),...LH("strokeDash",e),...function(e){let{encoding:t,mark:n}=e,i=t.order;return!N9(n)&&T0(i)?LB({model:e,channelDef:i,vgChannel:"zindex",mainRefFn:e=>Ou(e.value),invalidValueRef:void 0}):{}}(e),...Lj(e),...LP(e,"href"),...function(e){let{markDef:t,config:n}=e,i=Oh("aria",t,n);return!1===i?{}:{...i?{aria:i}:{},...function(e){let{mark:t,markDef:n,config:i}=e;if(!1===i.aria)return{};let r=Oh("ariaRoleDescription",n,i);return null!=r?{ariaRoleDescription:{value:r}}:tz(Or,t)?{}:{ariaRoleDescription:{value:t}}}(e),...function(e){let{encoding:t,markDef:n,config:i,stack:r}=e,a=t.description;if(a)return LB({model:e,channelDef:a,vgChannel:"description",mainRefFn:t=>LI(t,e.config),invalidValueRef:void 0});let o=Oh("description",n,i);if(null!=o)return{description:Ou(o)};if(!1===i.aria)return{};let l=LU(t,r,i);if(!CG(l))return{description:{signal:CX(l).filter(([e])=>!e.startsWith("_")).map(([e,t])=>[e,t.replaceAll("\\n"," ")]).map(([e,t],n)=>`"${n>0?"; ":""}${e}: " + (${t})`).join(" + ")}}}(e)}}(e)}}function L9(e){let{config:t,markDef:n}=e,i=new Set;if(e.forEachFieldDef((r,a)=>{var o;let l;if(FI(a)&&(l=e.getScaleType(a))&&("break-paths-filter-domains"===(o=Th({scaleChannel:a,markDef:n,config:t,scaleType:l,isCountAggregate:FQ(r.aggregate)}))||"break-paths-show-domains"===o)){let t=e.vgField(a,{expr:"datum",binSuffix:e.stack?.impute?"mid":void 0});t&&i.add(t)}}),i.size>0)return{defined:{signal:[...i].map(e=>Nh(e,!0)).join(" && ")}}}function L7(e,t){if(void 0!==t)return{[e]:Ou(t)}}let Be="voronoi",Bt={defined:e=>"point"===e.type&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(Be)},marks:(e,t,n)=>{let{x:i,y:r}=t.project.hasChannel,a=e.mark;if(N9(a))return OH(`The "nearest" transform is not supported for ${a} marks.`),n;let o={name:e.getName(Be),type:"path",interactive:!0,aria:!1,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...Lj(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:i||!r?"datum.datum.x || 0":"0"},y:{expr:r||!i?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},l=0,s=!1;return n.forEach((t,n)=>{let i=t.name??"";i===e.component.mark[0].name?l=n:i.includes(Be)&&(s=!0)}),s||n.splice(l+1,0,o),n}},Bn={defined:e=>"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!z8(e.bind),parse:(e,t,n)=>Bv(t,n),topLevelSignals:(e,t,n)=>{let i=t.name,r=t.project,a=t.bind,o=t.init?.[0],l=Bt.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return r.items.forEach((e,r)=>{let s=CZ(`${i}_${e.field}`);n.filter(e=>e.name===s).length||n.unshift({name:s,...o?{init:LM(o[r])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${l}[${t0(e.field)}] : null`}]:[],bind:a[e.field]??a[e.channel]??a})}),n},signals:(e,t,n)=>{let i=t.name,r=t.project,a=n.find(e=>e.name===i+Bh),o=r.items.map(e=>CZ(`${i}_${e.field}`)),l=o.map(e=>`${e} !== null`).join(" && ");return o.length&&(a.update=`${l} ? {fields: ${i+Lm}, values: [${o.join(", ")}]} : null`),delete a.value,delete a.on,n}},Bi="_toggle",Br={defined:e=>"point"===e.type&&!Bb(e)&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+Bi,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+Bh,i=t.name+Bi;return`${i} ? null : ${n}, ${"global"===t.resolve?`${i} ? null : true, `:`${i} ? null : {unit: ${Bg(e)}}, `}${i} ? ${n} : null`}},Ba={defined:e=>{let t="global"===e.resolve&&e.bind&&z8(e.bind),n=1===e.project.items.length&&e.project.items[0].field!==z4;return t&&!n&&OH("Legend bindings are only supported for selections over an individual field or encoding channel."),t&&n},parse:(e,t,n)=>{let i=CF(n);if(i.select=tG(i.select)?{type:i.select,toggle:t.toggle}:{...i.select,toggle:t.toggle},Bv(t,i),e7(n.select)&&(n.select.on||n.select.clear)){let e='event.item && indexof(event.item.mark.role, "legend") < 0';for(let n of t.events)n.filter=tw(n.filter??[]),n.filter.includes(e)||n.filter.push(e)}let r=z9(t.bind)?t.bind.legend:"click";t.bind={legend:{merge:tG(r)?AP(r,"view"):tw(r)}}},topLevelSignals:(e,t,n)=>{let i=t.name,r=z9(t.bind)&&t.bind.legend,a=e=>t=>{let n=CF(t);return n.markname=e,n};for(let e of t.project.items){if(!e.hasLegend)continue;let o=`${CZ(e.field)}_legend`,l=`${i}_${o}`;if(0===n.filter(e=>e.name===l).length){let e=r.merge.map(a(`${o}_symbols`)).concat(r.merge.map(a(`${o}_labels`))).concat(r.merge.map(a(`${o}_entries`)));n.unshift({name:l,...!t.init?{value:null}:{},on:[{events:e,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:r.merge,update:`!event.item || !datum ? null : ${l}`,force:!0}]})}}return n},signals:(e,t,n)=>{let i=t.name,r=t.project,a=n.find(e=>e.name===i+Bh),o=r.items.filter(e=>e.hasLegend).map(e=>CZ(`${i}_${CZ(e.field)}_legend`)),l=o.map(e=>`${e} !== null`).join(" && "),s=`${l} ? {fields: ${i+Lm}, values: [${o.join(", ")}]} : null`;t.events&&o.length>0?a.on.push({events:o.map(e=>({signal:e})),update:s}):o.length>0&&(a.update=s,delete a.value,delete a.on);let u=n.find(e=>e.name===i+Bi),f=z9(t.bind)&&t.bind.legend;return u&&(t.events?u.on.push({...u.on[0],events:f}):u.on[0].events=f),n}},Bo="_translate_anchor",Bl="_translate_delta";function Bs(e,t,n,i,r){let a=t.name,o=a+Bl,l=n.channel,s=LF.defined(t),u=r.find(e=>e.name===n.signals[s?"data":"visual"]),f=e.getSizeSignalRef(i).signal,c=e.getScaleComponent(l),d=c?.get("type"),h=c?.get("reverse"),p=s?"x"===l?h?"":"-":h?"-":"":"",m=`${a+Bo}.extent_${l}`,g=`${p}${o}.${l} / ${s?`${f}`:`span(${m})`}`,y=s&&c?"log"===d?"panLog":"symlog"===d?"panSymlog":"pow"===d?"panPow":"panLinear":"panLinear",v=s?"pow"===d?`, ${c.get("exponent")??1}`:"symlog"===d?`, ${c.get("constant")??1}`:"":"",b=`${y}(${m}, ${g}${v})`;u.on.push({events:{signal:o},update:s?b:`clampRange(${b}, 0, ${f})`})}let Bu="_zoom_anchor",Bf="_zoom_delta";function Bc(e,t,n,i,r){let a=t.name,o=n.channel,l=LF.defined(t),s=r.find(e=>e.name===n.signals[l?"data":"visual"]),u=e.getSizeSignalRef(i).signal,f=e.getScaleComponent(o),c=f?.get("type"),d=l?LO(e,o):s.name,h=a+Bf,p=`${a}${Bu}.${o}`,m=l&&f?"log"===c?"zoomLog":"symlog"===c?"zoomSymlog":"pow"===c?"zoomPow":"zoomLinear":"zoomLinear",g=l?"pow"===c?`, ${f.get("exponent")??1}`:"symlog"===c?`, ${f.get("constant")??1}`:"":"",y=`${m}(${d}, ${p}, ${h}${g})`;s.on.push({events:{signal:h},update:l?y:`clampRange(${y}, 0, ${u})`})}let Bd="_store",Bh="_tuple",Bp="vlSelectionResolve",Bm=[LA,{defined:e=>"interval"===e.type,parse:(e,t,n)=>{if(e.hasProjection){let e={...e7(n.select)?n.select:{}};e.fields=[z4],e.encodings||(e.encodings=n.value?CY(n.value):[D_,Dx]),n.select={type:"interval",...e}}if(t.translate&&!LF.defined(t)){let e=`!event.item || event.item.mark.name !== ${t0(t.name+LT)}`;for(let n of t.events){if(!n.between){OH(`${n} is not an ordered event stream for interval selections.`);continue}let t=tw(n.between[0].filter??=[]);t.includes(e)||t.push(e)}}},signals:(e,t,n)=>{let i=t.name,r=i+Bh,a=CV(t.project.hasChannel).filter(e=>"x"===e.channel||"y"===e.channel),o=t.init?t.init[0]:null;if(n.push(...a.reduce((n,i)=>n.concat(function(e,t,n,i){let r=!e.hasProjection,a=n.channel,o=n.signals.visual,l=t0(r?e.scaleName(a):e.projectionName()),s=e=>`scale(${l}, ${e})`,u=e.getSizeSignalRef("x"===a?"width":"height").signal,f=`${a}(unit)`,c=t.events.reduce((e,t)=>[...e,{events:t.between[0],update:`[${f}, ${f}]`},{events:t,update:`[${o}[0], clamp(${f}, 0, ${u})]`}],[]);if(r){let r=n.signals.data,u=LF.defined(t),f=e.getScaleComponent(a),d=f?f.get("type"):void 0,h=i?{init:LM(i,!0,s)}:{value:[]};return c.push({events:{signal:t.name+Lz},update:NN(d)?`[${s(`${r}[0]`)}, ${s(`${r}[1]`)}]`:"[0, 0]"}),u?[{name:r,on:[]}]:[{name:o,...h,on:c},{name:r,...i?{init:LM(i)}:{},on:[{events:{signal:o},update:`${o}[0] === ${o}[1] ? null : invert(${l}, ${o})`}]}]}{let e=+("x"!==a),n=t.name+LL;return[{name:o,...i?{init:`[${n}[0][${e}], ${n}[1][${e}]]`}:{value:[]},on:c}]}}(e,t,i,o?.[i.index])),[])),e.hasProjection){let l=t0(e.projectionName()),s=e.projectionName()+"_center",{x:u,y:f}=t.project.hasChannel,c=u?.signals.visual,d=f?.signals.visual,h=u?o?.[u.index]:`${s}[0]`,p=f?o?.[f.index]:`${s}[1]`,m=`[[${c?`${c}[0]`:"0"}, ${d?`${d}[0]`:"0"}],[${c?`${c}[1]`:e.getSizeSignalRef("width").signal}, ${d?`${d}[1]`:e.getSizeSignalRef("height").signal}]]`;o&&(n.unshift({name:i+LL,init:`[scale(${l}, [${u?h[0]:h}, ${f?p[0]:p}]), scale(${l}, [${u?h[1]:h}, ${f?p[1]:p}])]`}),!u||!f)&&(n.find(e=>e.name===s)||n.unshift({name:s,update:`invert(${l}, [${e.getSizeSignalRef("width").signal}/2, ${e.getSizeSignalRef("height").signal}/2])`}));let g=`intersect(${m}, {markname: ${t0(e.getName("marks"))}}, unit.mark)`,y=`{unit: ${Bg(e)}}`,v=`vlSelectionTuples(${g}, ${y})`,b=a.map(e=>e.signals.visual);return n.concat({name:r,on:[{events:[...b.length?[{signal:b.join(" || ")}]:[],...o?[{signal:LR}]:[]],update:v}]})}{if(!LF.defined(t)){let t=i+Lz,r=a.map(t=>{let n=t.channel,{data:i,visual:r}=t.signals,a=t0(e.scaleName(n)),o=NN(e.getScaleComponent(n).get("type"))?"+":"";return`(!isArray(${i}) || (${o}invert(${a}, ${r})[0] === ${o}${i}[0] && ${o}invert(${a}, ${r})[1] === ${o}${i}[1]))`});r.length&&n.push({name:t,value:{},on:[{events:a.map(t=>({scale:e.scaleName(t.channel)})),update:`${r.join(" && ")} ? ${t} : {}`}]})}let l=a.map(e=>e.signals.data),s=`unit: ${Bg(e)}, fields: ${i+Lm}, values`;return n.concat({name:r,...o?{init:`{${s}: ${LM(o)}}`}:{},...l.length?{on:[{events:[{signal:l.join(" || ")}],update:`${l.join(" && ")} ? {${s}: [${l}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(In(e)&&e.hasProjection&&t.init&&(n.filter(e=>e.name===LR).length||n.unshift({name:LR,value:null,on:[{events:"timer{1}",update:`${LR} === null ? {} : ${LR}`}]})),n),marks:(e,t,n)=>{let i=t.name,{x:r,y:a}=t.project.hasChannel,o=r?.signals.visual,l=a?.signals.visual,s=`data(${t0(t.name+Bd)})`;if(LF.defined(t)||!r&&!a)return n;let u={x:void 0!==r?{signal:`${o}[0]`}:{value:0},y:void 0!==a?{signal:`${l}[0]`}:{value:0},x2:void 0!==r?{signal:`${o}[1]`}:{field:{group:"width"}},y2:void 0!==a?{signal:`${l}[1]`}:{field:{group:"height"}}};if("global"===t.resolve)for(let t of CY(u))u[t]=[{test:`${s}.length && ${s}[0].unit === ${Bg(e)}`,...u[t]},{value:0}];let{fill:f,fillOpacity:c,cursor:d,...h}=t.mark,p=CY(h).reduce((e,t)=>(e[t]=[{test:[void 0!==r&&`${o}[0] !== ${o}[1]`,void 0!==a&&`${l}[0] !== ${l}[1]`].filter(e=>e).join(" && "),value:h[t]},{value:null}],e),{}),m=d??(t.translate?"move":null);return[{name:`${i+LT}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:c}},update:u}},...n,{name:i+LT,type:"rect",clip:!0,encode:{enter:{...m?{cursor:{value:m}}:{},fill:{value:"transparent"}},update:{...u,...p}}}]}},{defined:()=>!0,parse:(e,t,n)=>{let i=t.name,r=t.project??=new Lg,a={},o={},l=new Set,s=(e,t)=>{let n="visual"===t?e.channel:e.field,r=CZ(`${i}_${n}`);for(let e=1;l.has(r);e++)r=CZ(`${i}_${n}_${e}`);return l.add(r),{[t]:r}},u=t.type,f=e.config.selection[u],c=void 0!==n.value?tw(n.value):null,{fields:d,encodings:h}=e7(n.select)?n.select:{};if(!d&&!h&&c){for(let e of c)if(e7(e))for(let t of CY(e))tz(D6,t)?(h||(h=[])).push(t):"interval"===u?(OH('Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.'),h=f.encodings):(d??=[]).push(t)}for(let t of(!d&&!h&&(h=f.encodings,"fields"in f&&(d=f.fields)),h??[])){let n=e.fieldDef(t);if(n){let i=n.field;if(n.aggregate){var p;OH((p=n.aggregate,`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${p}").`));continue}if(!i){OH(O$(t));continue}if(n.timeUnit&&!O1(n.timeUnit)){i=e.vgField(t);let r={timeUnit:n.timeUnit,as:i,field:n.field};o[Cz(r)]=r}if(!a[i]){let o="interval"===u&&FI(t)&&NN(e.getScaleComponent(t).get("type"))?"R":n.bin?"R-RE":"E",l={field:i,channel:t,type:o,index:r.items.length};(l.signals={...s(l,"data"),...s(l,"visual")},r.items.push(a[i]=l),r.hasField[i]=a[i],r.hasSelectionId=r.hasSelectionId||i===z4,tz(Dq,t))?(l.geoChannel=t,l.channel=DW(t),r.hasChannel[l.channel]=a[i]):r.hasChannel[t]=a[i]}}else OH(O$(t))}for(let e of d??[]){if(r.hasField[e])continue;let t={type:"E",field:e,index:r.items.length};t.signals={...s(t,"data")},r.items.push(t),r.hasField[e]=t,r.hasSelectionId=r.hasSelectionId||e===z4}c&&(t.init=c.map(e=>r.items.map(t=>e7(e)?void 0!==e[t.geoChannel||t.channel]?e[t.geoChannel||t.channel]:e[t.field]:e))),CG(o)||(r.timeUnit=new Lu(null,o))},signals:(e,t,n)=>{let i=t.name+Lm;return n.filter(e=>e.name===i).length>0||t.project.hasSelectionId?n:n.concat({name:i,value:t.project.items.map(LS)})}},Br,Bn,LF,Ba,{defined:e=>void 0!==e.clear&&!1!==e.clear&&!Bb(e),parse:(e,t)=>{t.clear&&(t.clear=tG(t.clear)?AP(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(Bn.defined(t))for(let e of t.project.items){let i=n.findIndex(n=>n.name===CZ(`${t.name}_${e.field}`));-1!==i&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function i(e,i){-1!==e&&n[e].on&&n[e].on.push({events:t.clear,update:i})}if("interval"===t.type)for(let e of t.project.items){let t=n.findIndex(t=>t.name===e.signals.visual);i(t,"[0, 0]"),-1===t&&i(n.findIndex(t=>t.name===e.signals.data),"null")}else{let e=n.findIndex(e=>e.name===t.name+Bh);i(e,"null"),Br.defined(t)&&i(e=n.findIndex(e=>e.name===t.name+Bi),"false")}return n}},{defined:e=>"interval"===e.type&&e.translate,signals:(e,t,n)=>{let i=t.name,r=LF.defined(t),a=i+Bo,{x:o,y:l}=t.project.hasChannel,s=AP(t.translate,"scope");return r||(s=s.map(e=>(e.between[0].markname=i+LT,e))),n.push({name:a,value:{},on:[{events:s.map(e=>e.between[0]),update:`{x: x(unit), y: y(unit)${void 0!==o?`, extent_x: ${r?LO(e,"x"):`slice(${o.signals.visual})`}`:""}${void 0!==l?`, extent_y: ${r?LO(e,"y"):`slice(${l.signals.visual})`}`:""}}`}]},{name:i+Bl,value:{},on:[{events:s,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),void 0!==o&&Bs(e,t,o,"width",n),void 0!==l&&Bs(e,t,l,"height",n),n}},{defined:e=>"interval"===e.type&&e.zoom,signals:(e,t,n)=>{let i=t.name,r=LF.defined(t),{x:a,y:o}=t.project.hasChannel,l=t0(e.scaleName("x")),s=t0(e.scaleName("y")),u=AP(t.zoom,"scope");return r||(u=u.map(e=>(e.markname=i+LT,e))),n.push({name:i+Bu,on:[{events:u,update:r?`{${[l?`x: invert(${l}, x(unit))`:"",s?`y: invert(${s}, y(unit))`:""].filter(e=>e).join(", ")}}`:"{x: x(unit), y: y(unit)}"}]},{name:i+Bf,on:[{events:u,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&Bc(e,t,a,"width",n),void 0!==o&&Bc(e,t,o,"height",n),n}},Bt];function Bg(e,{escape:t}={escape:!0}){let n=t?t0(e.name):e.name,i=function(e){let t=e.parent;for(;t&&!Ii(t);)t=t.parent;return t}(e);if(i){let{facet:e}=i;for(let t of DX)e[t]&&(n+=` + '__facet_${t}_' + (facet[${t0(i.vgField(t))}])`)}return n}function By(e){return CV(e.component.selection??{}).reduce((e,t)=>e||t.project.hasSelectionId,!1)}function Bv(e,t){(tG(t.select)||!t.select.on)&&delete e.events,(tG(t.select)||!t.select.clear)&&delete e.clear,(tG(t.select)||!t.select.toggle)&&delete e.toggle}function Bb(e){return e.events?.find(e=>"type"in e&&"timer"===e.type)}function Bx(e){let t=Ev(e),n=new Set;return t.visit(e=>{"MemberExpression"===e.type&&function e(t){return"MemberExpression"===t.object.type?e(t.object):"datum"===t.object.name}(e)&&n.add((function e(t){let n=[];return"Identifier"===t.type?[t.name]:"Literal"===t.type?[t.value]:("MemberExpression"===t.type&&(n.push(...e(t.object)),n.push(...e(t.property))),n)})(e).slice(1).join("."))}),n}class B_ extends Lo{model;filter;expr;_dependentFields;clone(){return new B_(null,this.model,CF(this.filter))}constructor(e,t,n){super(e),this.model=t,this.filter=n,this.expr=BE(this.model,this.filter,this),this._dependentFields=Bx(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Bw(e,t,n,i="datum"){let r,a=tG(t)?t:t.param,o=CZ(a),l=t0(o+Bd);try{r=e.getSelectionComponent(o,a)}catch{return`!!${o}`}if(r.project.timeUnit){let t=n??e.component.data.raw,i=r.project.timeUnit.clone();t.parent?i.insertAsParentOf(t):t.parent=i}let s=r.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest(",u="global"===r.resolve?")":`, ${t0(r.resolve)})`,f=`${s}${l}, ${i}${u}`,c=`length(data(${l}))`;return!1===t.empty?`${c} && ${f}`:`!${c} || ${f}`}function Bk(e,t,n){var i,r;let a,o=CZ(t),l=n.encoding,s=n.field;try{a=e.getSelectionComponent(o,t)}catch{return o}if(l||s){if(l&&!s){let e=a.project.items.filter(e=>e.channel===l);!e.length||e.length>1?OH((i=s=a.project.items[0].field,`${!e.length?"No ":"Multiple "}matching ${t0(l)} encoding found for selection ${t0(n.param)}. Using "field": ${t0(i)}.`)):s=e[0].field}}else s=a.project.items[0].field,a.project.items.length>1&&OH((r=s,`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${t0(r)}.`));return`${a.name}[${t0(C8(s))}]`}function BE(e,t,n){return CK(t,t=>tG(t)?t:Dc(t,"param")?Bw(e,t,n):Nd(t))}function B$(e,t,n,i){e.encode??={},e.encode[t]??={},e.encode[t].update??={},e.encode[t].update[n]=i}function BA(e,t,n,i={header:!1}){let{disable:r,orient:a,scale:o,labelExpr:l,title:s,zindex:u,...f}=e.combine();if(!r){for(let e in f){let n=zy[e],i=f[e];if(n&&n!==t&&"both"!==n)delete f[e];else if(zm(i)){let{condition:t,...n}=i,r=tw(t),a=zp[e];if(a){let{vgProp:t,part:i}=a;B$(f,i,t,[...r.map(e=>{let{test:t,...n}=e;return{test:BE(null,t),...n}}),n]),delete f[e]}else if(null===a){let t={signal:r.map(e=>{let{test:t,...n}=e;return`${BE(null,t)} ? ${Of(n)} : `}).join("")+Of(n)};f[e]=t}}else if(F7(i)){let t=zp[e];if(t){let{vgProp:n,part:r}=t;B$(f,r,n,i),delete f[e]}}CL(["labelAlign","labelBaseline"],e)&&null===f[e]&&delete f[e]}if("grid"===t){if(!f.grid)return;if(f.encode){let{grid:e}=f.encode;f.encode={...e?{grid:e}:{}},CG(f.encode)&&delete f.encode}return{scale:o,orient:a,...f,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Dt(u,0)}}{if(!i.header&&e.mainExtracted)return;if(void 0!==l){let e=l;f.encode?.labels?.update&&F7(f.encode.labels.update.text)&&(e=C9(l,"datum.label",f.encode.labels.update.text.signal)),B$(f,"labels","text",{signal:e})}if(null===f.labelAlign&&delete f.labelAlign,f.encode){for(let t of zg)e.hasAxisPart(t)||delete f.encode[t];CG(f.encode)&&delete f.encode}let t=function(e,t){if(e)return e9(e)&&!F9(e)?e.map(e=>T7(e,t)).join(", "):e}(s,n);return{scale:o,orient:a,grid:!1,...t?{title:t}:{},...f,...!1===n.aria?{aria:!1}:{},zindex:Dt(u,0)}}}}function BS(e){let{axes:t}=e.component,n=[];for(let i of F_)if(t[i]){for(let r of t[i])if(!r.get("disable")&&!r.get("gridScale")){let t="x"===i?"height":"width",r=e.getSizeSignalRef(t).signal;t!==r&&n.push({name:t,update:r})}}return n}function BM(e,t,n,i){return Object.assign.apply(null,[{},...e.map(e=>{if("axisOrient"===e){let e="x"===n?"bottom":"left",r=t["x"===n?"axisBottom":"axisLeft"]||{},a=t["x"===n?"axisTop":"axisRight"]||{},o=new Set([...CY(r),...CY(a)]),l={};for(let t of o.values())l[t]={signal:`${i.signal} === "${e}" ? ${Oc(r[t])} : ${Oc(a[t])}`};return l}return t[e]})])}function BC(e,t,n,i={}){let r=Om(e,n,t);if(void 0!==r)return{configFrom:"style",configValue:r};for(let t of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(i[t]?.[e]!==void 0)return{configFrom:t,configValue:i[t][e]};return{}}let BD={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>{var i,r;return t.grid??(i=n,r=e,!NO(i)&&TG(r)&&!F1(r?.bin)&&!F2(r?.bin))},gridScale:({model:e,channel:t})=>(function(e,t){let n="x"===t?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)})(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:i})=>e.labelAlign||BN(t,n,i),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:i})=>e.labelBaseline||BO(t,n,i),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??function(e,t){if("x"===t&&CL(["quantitative","temporal"],e))return!0}(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??function(e,t,n,i){if(n&&!e7(i)||"nominal"!==e&&"ordinal"!==e)return"log"!==t&&"symlog"!==t||"greedy"}(t.type,n,TG(t)&&!!t.timeUnit,TG(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:i,scaleType:r})=>{let a="x"===e?"width":"y"===e?"height":void 0,o=a?t.getSizeSignalRef(a):void 0;return n.tickCount??function({fieldOrDatumDef:e,scaleType:t,size:n,values:i}){if(!i&&!NO(t)&&"log"!==t){if(TG(e)){if(F1(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&CL(["month","hours","day","quarter"],O7(e.timeUnit)?.unit))return}return{signal:`ceil(${n.signal}/40)`}}}({fieldOrDatumDef:i,scaleType:r,size:o,values:n.values})},tickMinStep:({axis:e,format:t,fieldOrDatumDef:n})=>e.tickMinStep??function({format:e,fieldOrDatumDef:t}){if("d"===e)return 1;if(TG(t)){let{timeUnit:e}=t;if(e){let t=Ne(e);if(t)return{signal:t}}}}({format:t,fieldOrDatumDef:n}),title:({axis:e,model:t,channel:n})=>{if(void 0!==e.title)return e.title;let i=BT(t,n);if(void 0!==i)return i;let r=t.typedFieldDef(n),a=t.fieldDef("x"===n?"x2":"y2");return Oy(r?[TL(r)]:[],TG(a)?[TL(a)]:[])},values:({axis:e,fieldOrDatumDef:t})=>{var n,i;let r;return n=e,i=t,e9(r=n.values)?zd(i,r):F7(r)?r:void 0},zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>{var i,r;return e.zindex??(i=n,r=t,"rect"===i&&T8(r)?1:0)}};function BF(e){return`(((${e.signal} % 360) + 360) % 360)`}function BO(e,t,n,i){if(void 0!==e)if("x"===n){if(F7(e)){let n=BF(e),i=F7(t)?`(${t.signal} === "top")`:"top"===t;return{signal:`(45 < ${n} && ${n} < 135) || (225 < ${n} && ${n} < 315) ? "middle" :(${n} <= 45 || 315 <= ${n}) === ${i} ? "bottom" : "top"`}}if(45{if(T1(t)){var i;if((i=t.sort)&&e9(i)){let{field:i,timeUnit:r}=t,a=t.sort,o=a.map((e,t)=>`${Nd({field:i,timeUnit:r,equal:e})} ? ${t} : `).join("")+a.length;e=new Bz(e,{calculate:o,as:BR(t,n,{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 ${Cz(this.transform)}`}}function BR(e,t,n){return T4(e,{prefix:t,suffix:"sort_index",...n})}function BL(e,t){return CL(["top","bottom"],t)?"column":CL(["left","right"],t)||"row"===e?"row":"column"}function BB(e,t,n,i){let r="row"===i?n.headerRow:"column"===i?n.headerColumn:n.headerFacet;return Dt((t||{})[e],r[e],n.header[e])}function BP(e,t,n,i){let r={};for(let a of e){let e=BB(a,t||{},n,i);void 0!==e&&(r[a]=e)}return r}let BI=["row","column"],Bj=["header","footer"];function BU(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}let i=BN(t,"row"===e?"left":"top","row"===e?"y":"x");return i?{align:i}:{}}function Bq(e,t){let n=BO(e,"row"===t?"left":"top","row"===t?"y":"x",!0);return n?{baseline:n}:{}}function BW(e,t,n){let{format:i,formatType:r,labelAngle:a,labelAnchor:o,labelOrient:l,labelExpr:s}=BP(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),u=Tk({fieldOrDatumDef:e,format:i,formatType:r,expr:"parent",config:n}).signal,f=BL(t,l);return{text:{signal:s?C9(C9(s,"datum.label",u),"datum.value",T4(e,{expr:"parent"})):u},..."row"===t?{orient:"left"}:{},style:"guide-label",frame:"group",...Bq(a,f),...BU(f,a,o),...BG(n,e,t,z3,z1)}}let BH={column:{start:0,end:1},row:{start:1,end:0}};function BG(e,t,n,i,r){let a={};for(let o of i){if(!r[o])continue;let i=BB(o,t?.header,e,n);void 0!==i&&(a[r[o]]=i)}return a}function BY(e){return[...BV(e,"width"),...BV(e,"height"),...BV(e,"childWidth"),...BV(e,"childHeight")]}function BV(e,t){let n="width"===t?"x":"y",i=e.component.layoutSize.get(t);if(null==i||"merged"===i)return[];let r=e.getSizeSignalRef(t).signal;if("step"===i){let t=e.getScaleComponent(n);if(t){let i=t.get("type"),a=t.get("range");if(NO(i)&&Oe(a)){let i=e.scaleName(n);return Ii(e.parent)&&"independent"===e.parent.component.resolve.scale[n]?[BX(i,a)]:[BX(i,a),{name:r,update:BJ(i,t,`domain('${i}').length`)}]}}throw Error("layout size is step although width/height is not step.")}if("container"!=i)return[{name:r,value:i}];{let t=r.endsWith("width"),n=t?"containerSize()[0]":"containerSize()[1]",i=Rs(e.config.view,t?"width":"height"),a=`isFinite(${n}) ? ${n} : ${i}`;return[{name:r,init:a,on:[{update:a,events:"window:resize"}]}]}}function BX(e,t){let n=`${e}_step`;return F7(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function BJ(e,t,n){let i=t.get("type"),r=t.get("padding"),a=Dt(t.get("paddingOuter"),r),o=t.get("paddingInner");return o="band"===i?void 0!==o?o:r:1,`bandspace(${n}, ${Oc(o)}, ${Oc(a)}) * ${e}_step`}function BQ(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function BZ(e,t){return CY(e).reduce((n,i)=>({...n,...LB({model:t,channelDef:e[i],vgChannel:i,mainRefFn:e=>Ou(e.value),invalidValueRef:void 0})}),{})}function BK(e,t){if(Ii(t))return"theta"===e?"independent":"shared";if(Ia(t))return"shared";if(Ir(t))return Fw(e)||"theta"===e||"radius"===e?"independent":"shared";throw Error("invalid model type for resolve")}function B0(e,t){let n=e.scale[t],i=Fw(t)?"axis":"legend";if("independent"===n)return"shared"===e[i][t]&&OH(`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`),"independent";return e[i][t]||"shared"}let B1=CY({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,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1});class B2 extends R1{}let B3={symbols:function(e,{fieldOrDatumDef:t,model:n,channel:i,legendCmpt:r,legendType:a}){if("symbol"!==a)return;let{markDef:o,encoding:l,config:s,mark:u}=n,f=o.filled&&"trail"!==u,c={...function(e,t,n){for(let i of n){let n=Op(i,t.markDef,t.config);void 0!==n&&(e[i]=Ou(n))}return e}({},n,Tn),...LG(n,{filled:f})},d=r.get("symbolOpacity")??s.legend.symbolOpacity,h=r.get("symbolFillColor")??s.legend.symbolFillColor,p=r.get("symbolStrokeColor")??s.legend.symbolStrokeColor,m=void 0===d?B5(l.opacity)??o.opacity:void 0;if(c.fill){if("fill"===i||f&&i===D$)delete c.fill;else if(Dc(c.fill,"field"))h?delete c.fill:(c.fill=Ou(s.legend.symbolBaseFillColor??"black"),c.fillOpacity=Ou(m??1));else if(e9(c.fill)){let e=B6(l.fill??l.color)??o.fill??(f&&o.color);e&&(c.fill=Ou(e))}}if(c.stroke)if("stroke"!==i&&(f||i!==D$)){if(Dc(c.stroke,"field")||p)delete c.stroke;else if(e9(c.stroke)){let e=Dt(B6(l.stroke||l.color),o.stroke,f?o.color:void 0);e&&(c.stroke={value:e})}}else delete c.stroke;if(i!==DF){let e=TG(t)&&B8(n,r,t);e?c.opacity=[{test:e,...Ou(m??1)},Ou(s.legend.unselectedOpacity)]:m&&(c.opacity=Ou(m))}return CG(c={...c,...e})?void 0:c},gradient:function(e,{model:t,legendType:n,legendCmpt:i}){if("gradient"!==n)return;let{config:r,markDef:a,encoding:o}=t,l={},s=void 0===(i.get("gradientOpacity")??r.legend.gradientOpacity)?B5(o.opacity)||a.opacity:void 0;return s&&(l.opacity=Ou(s)),CG(l={...l,...e})?void 0:l},labels:function(e,{fieldOrDatumDef:t,model:n,channel:i,legendCmpt:r}){let a,o=n.legend(i)||{},l=n.config,s=TG(t)?B8(n,r,t):void 0,u=s?[{test:s,value:1},{value:l.legend.unselectedOpacity}]:void 0,{format:f,formatType:c}=o;T_(c)?a=T$({fieldOrDatumDef:t,field:"datum.value",format:f,formatType:c,config:l}):void 0===f&&void 0===c&&l.customFormatTypes&&("quantitative"===t.type&&l.numberFormatType?a=T$({fieldOrDatumDef:t,field:"datum.value",format:l.numberFormat,formatType:l.numberFormatType,config:l}):"temporal"===t.type&&l.timeFormatType&&TG(t)&&void 0===t.timeUnit&&(a=T$({fieldOrDatumDef:t,field:"datum.value",format:l.timeFormat,formatType:l.timeFormatType,config:l})));let d={...u?{opacity:u}:{},...a?{text:a}:{},...e};return CG(d)?void 0:d},entries:function(e,{legendCmpt:t}){let n=t.get("selections");return n?.length?{...e,fill:{value:"transparent"}}:e}};function B5(e){return B4(e,(e,t)=>Math.max(e,t.value))}function B6(e){return B4(e,(e,t)=>Dt(e,t.value))}function B4(e,t){let n;return(n=e?.condition)&&(e9(n)||T0(n))?tw(e.condition).reduce(t,e.value):T0(e)?e.value:void 0}function B8(e,t,n){let i=t.get("selections");if(!i?.length)return;let r=t0(n.field);return i.map(e=>{let t=t0(CZ(e)+Bd);return`(!length(data(${t})) || (${e}[${r}] && indexof(${e}[${r}], datum.value) >= 0))`}).join(" || ")}let B9={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:i,formatType:r}=t;return TA(e,e.type,i,r,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:i}=e;return TS(i,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??function({legendConfig:e,model:t,direction:n,orient:i,scaleType:r}){let{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:o,gradientVerticalMaxLength:l,gradientVerticalMinLength:s}=e;if(NT(r))if("horizontal"!==n)return B7(t,"height",s,l);else if("top"===i||"bottom"===i)return B7(t,"width",o,a);else return o}(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??function(e){if(CL(["quantile","threshold","log","symlog"],e))return"greedy"}(n),symbolType:({legend:e,markDef:t,channel:n,encoding:i})=>e.symbolType??function(e,t,n,i){if("shape"!==t){let e=B6(n)??i;if(e)return e}switch(e){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"}}(t.type,n,i.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>ze(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(DY(n)&&NT(t)){if("gradient"===e)return}else if("symbol"===e)return;return e},values:({fieldOrDatumDef:e,legend:t})=>{var n,i;let r;return n=t,i=e,e9(r=n.values)?zd(i,r):F7(r)?r:void 0}};function B7(e,t,n,i){let r=e.getSizeSignalRef(t).signal;return{signal:`clamp(${r}, ${n}, ${i})`}}function Pe(e,t){if(!e)return t.clone();let n=e.getWithExplicit("orient"),i=t.getWithExplicit("orient");if(n.explicit&&i.explicit&&n.value!==i.value)return;let r=!1;for(let n of B1){let i=R4(e.getWithExplicit(n),t.getWithExplicit(n),n,"legend",(e,t)=>{switch(n){case"symbolType":var i,a;return i=e,"circle"===(a=t).value?a:i;case"title":return Ob(e,t);case"type":return r=!0,R3("symbol")}return R6(e,t,n,"legend")});e.setWithExplicit(n,i)}return r&&(e.implicit?.encode?.gradient&&C0(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&C0(e.explicit,["encode","gradient"])),e}function Pt(e,t){return`${F0(e)}_${t}`}function Pn(e,t,n){let i=Pt(zs(n,void 0)??{},t);return e.getName(`${i}_bins`)}function Pi(e,t,n){let i,r;i="as"in e?tG(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[T4(e,{forAs:!0}),T4(e,{binSuffix:"end",forAs:!0})];let a={...zs(t,void 0)},o=Pt(a,e.field),{signal:l,extentSignal:s}={signal:n.getName(`${o}_bins`),extentSignal:n.getName(`${o}_extent`)};if(F3(a.extent)){let e=a.extent;r=Bk(n,e.param,e),delete a.extent}return{key:o,binComponent:{bin:a,field:e.field,as:[i],...l?{signal:l}:{},...s?{extentSignal:s}:{},...r?{span:r}:{}}}}class Pr extends Lo{bins;clone(){return new Pr(null,CF(this.bins))}constructor(e,t){super(e),this.bins=t}static makeFromEncoding(e,t){let n=t.reduceFieldDef((e,n,i)=>{if(TK(n)&&F1(n.bin)){let{key:r,binComponent:a}=Pi(n,n.bin,t);e[r]={...a,...e[r],...function(e,t,n,i){if(zh(t,n)){let r=In(e)?e.axis(n)??e.legend(n)??{}:{},a=T4(t,{expr:"datum"}),o=T4(t,{expr:"datum",binSuffix:"end"});return{formulaAs:T4(t,{binSuffix:"range",forAs:!0}),formula:TF(a,o,r.format,r.formatType,i)}}return{}}(t,n,i,t.config)}}return e},{});return CG(n)?null:new Pr(e,n)}static makeFromTransform(e,t,n){let{key:i,binComponent:r}=Pi(t,t.bin,n);return new Pr(e,{[i]:r})}merge(e,t){for(let n of CY(e.bins))n in this.bins?(t(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=Cj([...this.bins[n].as,...e.bins[n].as],Cz)):this.bins[n]=e.bins[n];for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(CV(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(CV(this.bins).map(e=>e.field))}hash(){return`Bin ${Cz(this.bins)}`}assemble(){return CV(this.bins).flatMap(e=>{let t=[],[n,...i]=e.as,{extent:r,...a}=e.bin,o={type:"bin",field:C8(e.field),as:n,signal:e.signal,...!F3(r)?{extent:r}:{extent:null},...e.span?{span:{signal:`span(${e.span})`}}:{},...a};for(let a of(!r&&e.extentSignal&&(t.push({type:"extent",field:C8(e.field),signal:e.extentSignal}),o.extent={signal:e.extentSignal}),t.push(o),i))for(let e=0;e<2;e++)t.push({type:"formula",expr:T4({field:n[e]},{expr:"datum"}),as:a[e]});return e.formula&&t.push({type:"formula",expr:e.formula,as:e.formulaAs}),t})}}class Pa extends Lo{dimensions;measures;clone(){return new Pa(null,new Set(this.dimensions),CF(this.measures))}constructor(e,t,n){super(e),this.dimensions=t,this.measures=n}get groupBy(){return this.dimensions}static makeFromEncoding(e,t){let n=!1;t.forEachFieldDef(e=>{e.aggregate&&(n=!0)});let i={},r=new Set;return n?(t.forEachFieldDef((e,n)=>{let{aggregate:a,field:o}=e;if(a)if("count"===a)i["*"]??={},i["*"].count=new Set([T4(e,{forAs:!0})]);else{if(FY(a)||FV(a)){let e=FY(a)?"argmin":"argmax",t=a[e];i[t]??={},i[t][e]=new Set([T4({op:e,field:t},{forAs:!0})])}else i[o]??={},i[o][a]=new Set([T4(e,{forAs:!0})]);FI(n)&&"unaggregated"===t.scaleDomain(n)&&(i[o]??={},i[o].min=new Set([T4({field:o,aggregate:"min"},{forAs:!0})]),i[o].max=new Set([T4({field:o,aggregate:"max"},{forAs:!0})]))}else!function(e,t,n,i){var r;let a=In(i)?i.encoding[D7(t)]:void 0;if(TK(n)&&In(i)&&Tj(n,a,i.markDef,i.config)){e.add(T4(n,{})),e.add(T4(n,{suffix:"end"}));let{mark:r,markDef:a,config:o}=i,l=TP({fieldDef:n,markDef:a,config:o});N7(r)&&.5!==l&&Fw(t)&&(e.add(T4(n,{suffix:Lf})),e.add(T4(n,{suffix:Lc}))),n.bin&&zh(n,t)&&e.add(T4(n,{binSuffix:"range"}))}else if(tz(Dq,t)){let n=DW(t);e.add(i.getName(n))}else e.add(T4(n));T1(n)&&e7(r=n.scale?.range)&&"field"in r&&e.add(n.scale.range.field)}(r,n,e,t)}),r.size+CY(i).length===0)?null:new Pa(e,r,i):null}static makeFromTransform(e,t){let n=new Set,i={};for(let e of t.aggregate){let{op:t,field:n,as:r}=e;t&&("count"===t?(i["*"]??={},i["*"].count=new Set([r||T4(e,{forAs:!0})])):(i[n]??={},i[n][t]??=new Set,i[n][t].add(r||T4(e,{forAs:!0}))))}for(let e of t.groupby??[])n.add(e);return n.size+CY(i).length===0?null:new Pa(e,n,i)}merge(e){return CU(this.dimensions,e.dimensions)?(!function(e,t){for(let n of CY(t)){let i=t[n];for(let t of CY(i))n in e?e[n][t]=new Set([...e[n][t]??[],...i[t]]):e[n]={[t]:i[t]}}}(this.measures,e.measures),!0):(!function(...e){Oq.debug(...e)}("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...CY(this.measures)])}producedFields(){let e=new Set;for(let t of CY(this.measures))for(let n of CY(this.measures[t])){let i=this.measures[t][n];0===i.size?e.add(`${n}_${t}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${Cz({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let e=[],t=[],n=[];for(let i of CY(this.measures))for(let r of CY(this.measures[i]))for(let a of this.measures[i][r])n.push(a),e.push(r),t.push("*"===i?null:C8(i));return{type:"aggregate",groupby:[...this.dimensions].map(C8),ops:e,fields:t,as:n}}}class Po extends Lo{model;name;data;column;row;facet;childModel;constructor(e,t,n,i){for(const r of(super(e),this.model=t,this.name=n,this.data=i,DX)){const e=t.facet[r];if(e){const{bin:n,sort:i}=e;this[r]={name:t.getName(`${r}_domain`),fields:[T4(e),...F1(n)?[T4(e,{binSuffix:"end"})]:[]],...TN(i)?{sortField:i}:e9(i)?{sortIndexField:BR(e,r)}:{}}}}this.childModel=t.child}hash(){let e="Facet";for(let t of DX)this[t]&&(e+=` ${t.charAt(0)}:${Cz(this[t])}`);return e}get fields(){let e=[];for(let t of DX)this[t]?.fields&&e.push(...this[t].fields);return e}dependentFields(){let e=new Set(this.fields);for(let t of DX)this[t]&&(this[t].sortField&&e.add(this[t].sortField.field),this[t].sortIndexField&&e.add(this[t].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let e={};for(let t of F_){let n=this.childModel.component.scales[t];if(n&&!n.merged){let i=n.get("type"),r=n.get("range");if(NO(i)&&Oe(r)){let n=Pq(PW(this.childModel,t));n?e[t]=n:OH(OE(t))}}}return e}assembleRowColumnHeaderData(e,t,n){let i={row:"y",column:"x",facet:void 0}[e],r=[],a=[],o=[];i&&n&&n[i]&&(t?(r.push(`distinct_${n[i]}`),a.push("max")):(r.push(n[i]),a.push("distinct")),o.push(`distinct_${n[i]}`));let{sortField:l,sortIndexField:s}=this[e];if(l){let{op:e="min",field:t}=l;r.push(t),a.push(e),o.push(T4(l,{forAs:!0}))}else s&&(r.push(s),a.push("max"),o.push(s));return{name:this[e].name,source:t??this.data,transform:[{type:"aggregate",groupby:this[e].fields,...r.length?{fields:r,ops:a,as:o}:{}}]}}assembleFacetHeaderData(e){let{columns:t}=this.model.layout,{layoutHeaders:n}=this.model.component,i=[],r={};for(let e of BI){for(let t of Bj)for(let i of n[e]?.[t]??[])if(i.axes?.length>0){r[e]=!0;break}if(r[e]){let n=`length(data("${this.facet.name}"))`,r="row"===e?t?{signal:`ceil(${n} / ${t})`}:1:t?{signal:`min(${n}, ${t})`}:{signal:n};i.push({name:`${this.facet.name}_${e}`,transform:[{type:"sequence",start:0,stop:r}]})}}let{row:a,column:o}=r;return(a||o)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,e)),i}assemble(){let e=[],t=null,n=this.getChildIndependentFieldsWithStep(),{column:i,row:r,facet:a}=this;if(i&&r&&(n.x||n.y)){t=`cross_${this.column.name}_${this.row.name}`;let i=[].concat(n.x??[],n.y??[]),r=i.map(()=>"distinct");e.push({name:t,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:i,ops:r}]})}for(let i of[Dd,"row"])this[i]&&e.push(this.assembleRowColumnHeaderData(i,t,n));if(a){let t=this.assembleFacetHeaderData(n);t&&e.push(...t)}return e}}function Pl(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}class Ps extends Lo{_parse;clone(){return new Ps(null,CF(this._parse))}constructor(e,t){super(e),this._parse=t}hash(){return`Parse ${Cz(this._parse)}`}static makeExplicit(e,t,n){let i={},r=t.data;return!Lt(r)&&r?.format?.parse&&(i=r.format.parse),this.makeWithAncestors(e,i,{},n)}static makeWithAncestors(e,t,n,i){for(let e of CY(n)){let t=i.getWithExplicit(e);void 0!==t.value&&(t.explicit||t.value===n[e]||"derived"===t.value||"flatten"===n[e]?delete n[e]:OH(OC(e,n[e],t.value)))}for(let e of CY(t)){let n=i.get(e);void 0!==n&&(n===t[e]?delete t[e]:OH(OC(e,t[e],n)))}let r=new R1(t,n);i.copyAll(r);let a={};for(let e of CY(r.combine())){let t=r.get(e);null!==t&&(a[e]=t)}return 0===CY(a).length||i.parseNothing?null:new Ps(e,a)}get parse(){return this._parse}merge(e){this._parse={...this._parse,...e.parse},e.remove()}assembleFormatParse(){let e={};for(let t of CY(this._parse)){let n=this._parse[t];1===De(t)&&(e[t]=n)}return e}producedFields(){return new Set(CY(this._parse))}dependentFields(){return new Set(CY(this._parse))}assembleTransforms(e=!1){return CY(this._parse).filter(t=>!e||De(t)>1).map(e=>{let t=function(e,t){let n=C2(e);if("number"===t)return`toNumber(${n})`;if("boolean"===t)return`toBoolean(${n})`;if("string"===t)return`toString(${n})`;if("date"===t)return`toDate(${n})`;if("flatten"===t)return n;else if(t.startsWith("date:")){let e=Pl(t.slice(5,t.length));return`timeParse(${n},'${e}')`}else if(t.startsWith("utc:")){let e=Pl(t.slice(4,t.length));return`utcParse(${n},'${e}')`}else return OH(`Unrecognized parse "${t}".`),null}(e,this._parse[e]);return t?{type:"formula",expr:t,as:C7(e)}:null}).filter(e=>null!==e)}}class Pu extends Lo{clone(){return new Pu(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([z4])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:z4}}}class Pf extends Lo{params;clone(){return new Pf(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${Cz(this.params)}`}assemble(){return{type:"graticule",...!0===this.params?{}:this.params}}}class Pc extends Lo{params;clone(){return new Pc(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${Cz(this.params)}`}assemble(){return{type:"sequence",...this.params}}}class Pd extends Lo{_data;_name;_generator;constructor(e){let t;if(super(null),Lt(e??={name:"source"})||(t=e.format?{...CT(e.format,["parse"])}:{}),R7(e))this._data={values:e.values};else if(R9(e)){if(this._data={url:e.url},!t.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];CL(["json","csv","tsv","dsv","topojson"],n)||(n="json"),t.type=n}}else Li(e)?this._data={values:[{type:"Sphere"}]}:(Le(e)||Lt(e))&&(this._data={});this._generator=Lt(e),e.name&&(this._name=e.name),t&&!CG(t)&&(this._data.format=t)}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 Error("Source nodes have to be roots.")}remove(){throw Error("Source nodes are roots and cannot be removed.")}hash(){throw Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}}function Ph(e){return e instanceof Pd||e instanceof Pf||e instanceof Pc}class Pp{#e;constructor(){this.#e=!1}setModified(){this.#e=!0}get modifiedFlag(){return this.#e}}class Pm extends Pp{getNodeDepths(e,t,n){for(let i of(n.set(e,t),e.children))this.getNodeDepths(i,t+1,n);return n}optimize(e){for(let t of[...this.getNodeDepths(e,0,new Map).entries()].sort((e,t)=>t[1]-e[1]))this.run(t[0]);return this.modifiedFlag}}class Pg extends Pp{optimize(e){for(let t of(this.run(e),e.children))this.optimize(t);return this.modifiedFlag}}class Py extends Pg{mergeNodes(e,t){let n=t.shift();for(let i of t)e.removeChild(i),i.parent=n,i.remove()}run(e){let t=e.children.map(e=>e.hash()),n={};for(let i=0;i1&&(this.setModified(),this.mergeNodes(e,n[t]))}}class Pv extends Pg{requiresSelectionId;constructor(e){super(),this.requiresSelectionId=e&&By(e)}run(e){e instanceof Pu&&!(this.requiresSelectionId&&(Ph(e.parent)||e.parent instanceof Pa||e.parent instanceof Ps))&&(this.setModified(),e.remove())}}class Pb extends Pp{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;for(let i of(e instanceof Lu&&Cq(n=e.producedFields(),t)&&(this.setModified(),e.removeFormulas(t),0===e.producedFields.length&&e.remove()),e.children))this.run(i,new Set([...t,...n]))}}class Px extends Pg{constructor(){super()}run(e){e instanceof Ll&&!e.isRequired()&&(this.setModified(),e.remove())}}class P_ extends Pm{run(e){if(!Ph(e)&&!(e.numChildren()>1)){for(let t of e.children)if(t instanceof Ps)if(e instanceof Ps)this.setModified(),e.merge(t);else{if(CH(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}}class Pw extends Pm{run(e){let t=[...e.children],n=e.children.filter(e=>e instanceof Ps);if(e.numChildren()>1&&n.length>=1){let i={},r=new Set;for(let e of n){let t=e.parse;for(let e of CY(t))e in i?i[e]!==t[e]&&r.add(e):i[e]=t[e]}for(let e of r)delete i[e];if(!CG(i)){this.setModified();let n=new Ps(e,i);for(let r of t){if(r instanceof Ps)for(let e of CY(i))delete r.parse[e];e.removeChild(r),r.parent=n,r instanceof Ps&&0===CY(r.parse).length&&r.remove()}}}}}class Pk extends Pm{run(e){e instanceof Ll||e.numChildren()>0||e instanceof Po||e instanceof Pd||(this.setModified(),e.remove())}}class PE extends Pm{run(e){let t=e.children.filter(e=>e instanceof Lu),n=t.pop();for(let e of t)this.setModified(),n.merge(e)}}class P$ extends Pm{run(e){let t=e.children.filter(e=>e instanceof Pa),n={};for(let e of t){let t=Cz(e.groupBy);t in n||(n[t]=[]),n[t].push(e)}for(let t of CY(n)){let i=n[t];if(i.length>1){let t=i.pop();for(let n of i)t.merge(n)&&(e.removeChild(n),n.parent=t,n.remove(),this.setModified())}}}}class PA extends Pm{model;constructor(e){super(),this.model=e}run(e){let t=!(Ph(e)||e instanceof B_||e instanceof Ps||e instanceof Pu),n=[],i=[];for(let r of e.children)r instanceof Pr&&(t&&!CH(e.producedFields(),r.dependentFields())?n.push(r):i.push(r));if(n.length>0){let t=n.pop();for(let e of n)t.merge(e,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Pr?e.merge(t,this.model.renameSignal.bind(this.model)):t.swapWithParent()}if(i.length>1){let e=i.pop();for(let t of i)e.merge(t,this.model.renameSignal.bind(this.model));this.setModified()}}}class PS extends Pm{run(e){let t,n=[...e.children];if(!CB(n,e=>e instanceof Ll)||1>=e.numChildren())return;let i=[];for(let r of n)if(r instanceof Ll){let n=r;for(;1===n.numChildren();){let[e]=n.children;if(e instanceof Ll)n=e;else break}i.push(...n.children),t?(e.removeChild(r),r.parent=t.parent,t.parent.removeChild(t),t.parent=n,this.setModified()):t=n}else i.push(r);if(i.length)for(let e of(this.setModified(),i))e.parent.removeChild(e),e.parent=t}}class PM extends Lo{transform;clone(){return new PM(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=Cj(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(e=>e.field).filter(e=>void 0!==e).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){return e.as??T4(e)}hash(){return`JoinAggregateTransform ${Cz(this.transform)}`}assemble(){let e=[],t=[],n=[];for(let i of this.transform.joinaggregate)t.push(i.op),n.push(this.getDefaultName(i)),e.push(void 0===i.field?null:i.field);let i=this.transform.groupby;return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==i?{groupby:i}:{}}}}class PC extends Lo{filter;clone(){return new PC(null,{...this.filter})}constructor(e,t){super(e),this.filter=t}static make(e,t,n){let{config:i,markDef:r}=t,{marks:a,scales:o}=n;if("include-invalid-values"===a&&"include-invalid-values"===o)return null;let l=t.reduceFieldDef((e,n,a)=>{let o=FI(a)&&t.getScaleComponent(a);if(o){let t=o.get("type"),{aggregate:l}=n,s=Th({scaleChannel:a,markDef:r,config:i,scaleType:t,isCountAggregate:FQ(l)});"show"!==s&&"always-valid"!==s&&(e[n.field]=n)}return e},{});return CY(l).length?new PC(e,l):null}dependentFields(){return new Set(CY(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${Cz(this.filter)}`}assemble(){let e=CY(this.filter).reduce((e,t)=>{let n=this.filter[t],i=T4(n,{expr:"datum"});return null!==n&&("temporal"===n.type?e.push(`(isDate(${i}) || (${PD(i)}))`):"quantitative"===n.type&&e.push(PD(i))),e},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}function PD(e){return`isValid(${e}) && isFinite(+${e})`}class PF extends Lo{_stack;clone(){return new PF(null,CF(this._stack))}constructor(e,t){super(e),this._stack=t}static makeFromTransform(e,t){let n,{stack:i,groupby:r,as:a,offset:o="zero"}=t,l=[],s=[];if(void 0!==t.sort)for(let e of t.sort)l.push(e.field),s.push(Dt(e.order,"ascending"));return new PF(e,{dimensionFieldDefs:[],stackField:i,groupby:r,offset:o,sort:{field:l,order:s},facetby:[],as:n=e9(a)&&a.every(e=>tG(e))&&a.length>1?a:tG(a)?[a,`${a}_end`]:[`${t.stack}_start`,`${t.stack}_end`]})}static makeFromEncoding(e,t){let n,i=t.stack,{encoding:r}=t;if(!i)return null;let{groupbyChannels:a,fieldChannel:o,offset:l,impute:s}=i,u=a.map(e=>zi(r[e])).filter(e=>!!e),f=t.stack.stackBy.reduce((e,t)=>{let n=T4(t.fieldDef);return n&&e.push(n),e},[]),c=t.encoding.order;if(e9(c)||TG(c))n=Og(c);else{let e=TU(c)?c.sort:"y"===o?"descending":"ascending";n=f.reduce((t,n)=>(t.field.includes(n)||(t.field.push(n),t.order.push(e)),t),{field:[],order:[]})}return new PF(e,{dimensionFieldDefs:u,stackField:t.vgField(o),facetby:[],stackby:f,sort:n,offset:l,impute:s,as:[t.vgField(o,{suffix:"start",forAs:!0}),t.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 ${Cz(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:e,impute:t,groupby:n}=this._stack;return e.length>0?e.map(e=>e.bin?t?[T4(e,{binSuffix:"mid"})]:[T4(e,{}),T4(e,{binSuffix:"end"})]:[T4(e)]).flat():n??[]}assemble(){let e=[],{facetby:t,dimensionFieldDefs:n,stackField:i,stackby:r,sort:a,offset:o,impute:l,as:s}=this._stack;if(l)for(let a of n){let{bandPosition:n=.5,bin:o}=a;if(o){let t=T4(a,{expr:"datum"}),i=T4(a,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${PD(t)} ? ${n}*${t}+${1-n}*${i} : ${t}`,as:T4(a,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...r,...t],key:T4(a,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...t],field:i,sort:a,as:s,offset:o}),e}}class PO extends Lo{transform;clone(){return new PO(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=Cj(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return(this.transform.groupby??[]).forEach(e.add,e),(this.transform.sort??[]).forEach(t=>e.add(t.field)),this.transform.window.map(e=>e.field).filter(e=>void 0!==e).forEach(e.add,e),e}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){return e.as??T4(e)}hash(){return`WindowTransform ${Cz(this.transform)}`}assemble(){let e=[],t=[],n=[],i=[];for(let r of this.transform.window)t.push(r.op),n.push(this.getDefaultName(r)),i.push(void 0===r.param?null:r.param),e.push(void 0===r.field?null:r.field);let r=this.transform.frame,a=this.transform.groupby;if(r&&null===r[0]&&null===r[1]&&t.every(e=>FX(e)))return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==a?{groupby:a}:{}};let o=[],l=[];if(void 0!==this.transform.sort)for(let e of this.transform.sort)o.push(e.field),l.push(e.order??"ascending");let s=this.transform.ignorePeers;return{type:"window",params:i,as:n,ops:t,fields:e,sort:{field:o,order:l},...void 0!==s?{ignorePeers:s}:{},...void 0!==a?{groupby:a}:{},...void 0!==r?{frame:r}:{}}}}let PN="scale_";function PT(e){for(let t of e){for(let e of t.children)if(e.parent!==t)return!1;if(!PT(t.children))return!1}return!0}function Pz(e,t){let n=!1;for(let i of t)n=e.optimize(i)||n;return n}function PR(e,t,n){let i=e.sources,r=!1;return r=Pz(new Px,i)||r,r=Pz(new Pv(t),i)||r,i=i.filter(e=>e.numChildren()>0),r=Pz(new Pk,i)||r,i=i.filter(e=>e.numChildren()>0),n||(r=Pz(new P_,i)||r,r=Pz(new PA(t),i)||r,r=Pz(new Pb,i)||r,r=Pz(new Pw,i)||r,r=Pz(new P$,i)||r,r=Pz(new PE,i)||r,r=Pz(new Py,i)||r,r=Pz(new PS,i)||r),e.sources=i,r}class PL{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}signal;static fromName(e,t){return new PL(()=>e(t))}}function PB(e,t,n){let i=O7(n)?.unit;if("temporal"===t||i)return e.map(e=>{let n=zc(e,{timeUnit:i,type:t});return{signal:`{data: ${n}}`}});return[e]}function PP(e,t,n,i){let{encoding:r,markDef:a,mark:o,config:l,stack:s}=n,u=zr(r[i]),{type:f}=u,c=u.timeUnit,d=function(e){let{marks:t,scales:n}=La(e);return t===n?ea.Main:"include-invalid-values"===n?ea.PreFilterInvalid:ea.PostFilterInvalid}({invalid:Op("invalid",a,l),isPath:N9(o)});if(Dc(t,"unionWith")){let r=PP(e,void 0,n,i);return R2([...PB(t.unionWith,f,c),...r.value])}if(F7(t))return R2([t]);if(t&&"unaggregated"!==t&&!NR(t))return R2(PB(t,f,c));if(s&&i===s.fieldChannel){if("normalize"===s.offset)return R3([[0,1]]);let e=n.requestDataName(d);return R3([{data:e,field:n.vgField(i,{suffix:"start"})},{data:e,field:n.vgField(i,{suffix:"end"})}])}let h=FI(i)&&TG(u)?function(e,t,n){if(!NO(n))return;let i=e.fieldDef(t),r=i.sort;if(r&&e9(r))return{op:"min",field:BR(i,t),order:"ascending"};let{stack:a}=e,o=a?new Set([...a.groupbyFields,...a.stackBy.map(e=>e.fieldDef.field)]):void 0;if(TN(r)){let e=a&&!o.has(r.field);return PI(r,e)}if(Dc(r,"encoding")){let{encoding:t,order:n}=r,i=e.fieldDef(t),{aggregate:l,field:s}=i,u=a&&!o.has(s);if(FY(l)||FV(l))return PI({field:T4(i),order:n},u);if(FX(l)||!l)return PI({op:l,field:s,order:n},u)}else if("descending"===r)return{op:"min",field:e.vgField(t),order:"descending"};else if(CL(["ascending",void 0],r))return!0}(n,i,e):void 0;if(TV(u))return R3(PB([u.datum],f,c));if("unaggregated"===t){let{field:e}=u;return R3([{data:n.requestDataName(d),field:T4({field:e,aggregate:"min"})},{data:n.requestDataName(d),field:T4({field:e,aggregate:"max"})}])}if(F1(u.bin))if(NO(e))return"bin-ordinal"===e?R3([]):R3([{data:CJ(h)?n.requestDataName(d):n.requestDataName(ea.Raw),field:n.vgField(i,zh(u,i)?{binSuffix:"range"}:{}),sort:!0!==h&&e7(h)?h:{field:n.vgField(i,{}),op:"min"}}]);else{let{bin:e}=u;if(!F1(e))return R3([{data:n.requestDataName(d),field:n.vgField(i,{})}]);{let t=Pn(n,u.field,e);return R3([new PL(()=>{let e=n.getSignalName(t);return`[${e}.start, ${e}.stop]`})])}}if(u.timeUnit&&CL(["time","utc"],e)){let e=r[D7(i)];if(Tj(u,e,a,l)){let t=n.requestDataName(d),r=TP({fieldDef:u,fieldDef2:e,markDef:a,config:l}),s=N7(o)&&.5!==r&&Fw(i);return R3([{data:t,field:n.vgField(i,s?{suffix:Lf}:{})},{data:t,field:n.vgField(i,{suffix:s?Lc:"end"})}])}}return h?R3([{data:CJ(h)?n.requestDataName(d):n.requestDataName(ea.Raw),field:n.vgField(i),sort:h}]):R3([{data:n.requestDataName(d),field:n.vgField(i)}])}function PI(e,t){let{op:n,field:i,order:r}=e;return{op:n??(t?"sum":"min"),...i?{field:C8(i)}:{},...r?{order:r}:{}}}function Pj(e,t){let{aggregate:n,type:i}=e;return n?tG(n)&&!FK.has(n)?{valid:!1,reason:`Unaggregated domain not applicable for "${n}" since it produces values outside the origin domain of the source data.`}:"quantitative"===i&&"log"===t?{valid:!1,reason:`Unaggregated domain is currently unsupported for log scale (${Df(e)}).`}:{valid:!0}:{valid:!1,reason:`Using unaggregated domain with raw field has no effect (${Df(e)}).`}}function PU(e,t,n,i){var r,a;return e.explicit&&t.explicit&&OH((r=e.value,a=t.value,`Conflicting ${i.toString()} property "${n.toString()}" (${Df(r)} and ${Df(a)}). Using the union of the two domains.`)),{explicit:e.explicit,value:[...e.value,...t.value]}}function Pq(e){if(On(e)&&tG(e.field))return e.field;if(Ot(e)){let t;for(let n of e.fields)if(On(n)&&tG(n.field))if(t){if(t!==n.field)return OH("Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect."),t}else t=n.field;return OH("Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect."),t}if(!e9(e)&&Dc(e,"fields")&&Dc(e,"data")){OH("Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.");let t=e.fields[0];return tG(t)?t:void 0}}function PW(e,t){return function(e){let t,n=Cj(e.map(e=>{if(On(e)){let{sort:t,...n}=e;return n}return e}),Cz),i=Cj(e.map(e=>{if(On(e)){let t=e.sort;return void 0===t||CJ(t)||("op"in t&&"count"===t.op&&delete t.field,"ascending"===t.order&&delete t.order),t}}).filter(e=>void 0!==e),Cz);if(0===n.length)return;if(1===n.length){let t=e[0];if(On(t)&&i.length>0){let e=i[0];if(i.length>1){OH(OB);let t=i.filter(e=>e7(e)&&"op"in e&&"min"!==e.op);e=!i.every(e=>e7(e)&&"op"in e)||1!==t.length||t[0]}else if(e7(e)&&"field"in e){let n=e.field;t.field===n&&(e=!e.order||{order:e.order})}return{...t,sort:e}}return t}let r=Cj(i.map(e=>CJ(e)||!("op"in e)||tG(e.op)&&tz(FG,e.op)?e:(OH(`Dropping sort property ${Df(e)} as unioned domains only support boolean or op "count", "min", and "max".`),!0)),Cz);1===r.length?t=r[0]:r.length>1&&(OH(OB),t=!0);let a=Cj(e.map(e=>On(e)?e.data:null),e=>e);return 1===a.length&&null!==a[0]?{data:a[0],fields:n.map(e=>e.field),...t?{sort:t}:{}}:{fields:n,...t?{sort:t}:{}}}(e.component.scales[t].get("domains").map(t=>(On(t)&&(t.data=e.lookupDataSource(t.data)),t)))}function PH(e,t){try{var n=PW(e,t);if(e9(n)){let e=n.filter(CQ);return e.length>0?e:null}if(Ot(n)){let e=[];if(e.push(...n.fields.flatMap(e=>e9(e)?e.filter(CQ):[])),e.length>0)return Cj(e,Cz)}return null}catch{return null}}function PG(e,t,n){if(t&&t.length>0){let i=e.getWithExplicit("values");i?.explicit||(n&&OH(n),e.set("values",t,!1))}}function PY(e){let t=e.component.legends,n={};for(let a of CY(t)){var i,r;let o=(i=function e(t,n){if(In(t)){let e=t.fieldDef(n);if(e?.field)return e.field}let i=(t.children??[]).map(t=>e(t,n)).filter(e=>!!e);if(i.length>0){let e=Cj(i,Cz);if(1===e.length)return e[0]}}(e,a),i?`field:${i}`:`channel:${String(a)}`);if(!n[o]){n[o]=[{channel:a,cmpt:t[a].clone()}];continue}let l=!1;for(let i of n[o])if(function(e,t,n){if(t===n)return!0;let i=e.getScaleType(t),r=e.getScaleType(n);return!!i&&!!r&&NO(i)===NO(r)}(e,i.channel,a)&&Pe(i.cmpt,t[a])){let t=e.getScaleType(i.channel),n=e.getScaleType(a);t&&n&&NO(t)&&NO(n)&&(function(e,t,n){let i=e.getScaleComponent(t),r=e.getScaleComponent(n);if(!i||!r)return!1;let a=i.getWithExplicit("domains"),o=r.getWithExplicit("domains");if(!(a?.explicit&&o?.explicit))return!1;let l=PW(e,t),s=PW(e,n);return Cz(l)===Cz(s)}(e,i.channel,a)?PG(i.cmpt,PH(e,i.channel)):PG(i.cmpt,function(e,t,n){let i=PH(e,t),r=PH(e,n);return i&&r?Cj([...i,...r],Cz):null}(e,i.channel,a),(r=i.channel,`Unioning discrete legend values from ${r} and ${a}.`))),l=!0;break}l||n[o].push({channel:a,cmpt:t[a].clone()})}return CV(n).flat().map(t=>(function(e,t){let{disable:n,labelExpr:i,selections:r,...a}=e.combine();if(!n){if(!1===t.aria&&void 0==a.aria&&(a.aria=!1),a.encode?.symbols){let e=a.encode.symbols.update;for(let t of(!e.fill||"transparent"===e.fill.value||e.stroke||a.stroke||(e.stroke={value:"transparent"}),z6))a[t]&&delete e[t]}if(a.title||delete a.title,void 0!==i){var o,l;let e=i;a.encode?.labels?.update&&F7(a.encode.labels.update.text)&&(e=C9(i,"datum.label",a.encode.labels.update.text.signal)),o="labels",l={signal:e},a.encode??={},a.encode[o]??={},a.encode[o].update??={},a.encode[o].update.text=l}return a}})(t.cmpt,e.config)).filter(e=>void 0!==e)}function PV(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:i}=n;if(!t.data)return[{name:i,translate:{signal:"[width / 2, height / 2]"},...n}];{let r={signal:`[${t.size.map(e=>e.signal).join(", ")}]`},a=t.data.reduce((t,n)=>{let i=F7(n)?n.signal:`data('${e.lookupDataSource(n)}')`;return CL(t,i)||t.push(i),t},[]);if(a.length<=0)throw Error("Projection's fit didn't find any data sources");return[{name:i,size:r,fit:{signal:a.length>1?`[${a.join(", ")}]`:a[0]},...n}]}}let PX=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class PJ extends R1{specifiedProjection;size;data;merged=!1;constructor(e,t,n,i){super({...t},{name:e}),this.specifiedProjection=t,this.size=n,this.data=i}get isFit(){return!!this.data}}function PQ(e){return CY(e.component.scales).reduce((t,n)=>{let i,r=e.component.scales[n];if(r.merged)return t;let a=r.combine(),{name:o,type:l,selectionExtent:s,domains:u,range:f,reverse:c,...d}=a,h=function(e,t,n,i){if(Fw(n)){if(Oe(e))return{step:{signal:`${t}_step`}}}else if(e7(e)&&On(e))return{...e,data:i.lookupDataSource(e.data)};return e}(a.range,o,n,e),p=PW(e,n),m=s?(i=Bk(e,s.param,s),{signal:NN(r.get("type"))&&e9(p)&&p[0]>p[1]?`isValid(${i}) && reverse(${i})`:i}):null;return t.push({name:o,type:l,...p?{domain:p}:{},...m?{domainRaw:m}:{},range:h,...void 0!==c?{reverse:c}:{},...d}),t},[])}class PZ extends R1{merged=!1;constructor(e,t){super({},{name:e}),this.setWithExplicit("type",t)}domainHasZero(){let e=this.get("type");if(CL(["log",Nw,"utc"],e))return"definitely-not";let t=this.get("zero");if(!0===t||void 0===t&&CL([N_,"sqrt","pow"],e))return"definitely";let n=this.get("domains");if(n.length>0){let e=!1,t=!1,i=!1;for(let r of n){if(e9(r)){let n=r[0],i=r[r.length-1];if(tW(n)&&tW(i))if(n<=0&&i>=0){e=!0;continue}else{t=!0;continue}}i=!0}if(e)return"definitely";if(t&&!i)return"definitely-not"}return"maybe"}}let PK=["range","scheme"];function P0(e,t){let n=e.fieldDef(t);if(n?.bin){let{bin:i,field:r}=n,a=Fe(t),o=e.getName(a);if(e7(i)&&i.binned&&void 0!==i.step)return new PL(()=>{let n=e.scaleName(t),r=`(domain("${n}")[1] - domain("${n}")[0]) / ${i.step}`;return`${e.getSignalName(o)} / (${r})`});if(F1(i)){let t=Pn(e,r,i);return new PL(()=>{let n=e.getSignalName(t),i=`(${n}.stop - ${n}.start) / ${n}.step`;return`${e.getSignalName(o)} / (${i})`})}}}function P1(e,t,n,{center:i}={}){let r=Fe(e),a=t.getName(r),o=t.getSignalName.bind(t);return"y"===e&&NN(n)?i?[PL.fromName(e=>`${o(e)}/2`,a),PL.fromName(e=>`-${o(e)}/2`,a)]:[PL.fromName(o,a),0]:i?[PL.fromName(e=>`-${o(e)}/2`,a),PL.fromName(e=>`${o(e)}/2`,a)]:[0,PL.fromName(o,a)]}function P2(e,t,n){let{encoding:i}=t,r=t.getScaleComponent(n),a=Fn(n),o=i[a];if(!("offset"===Rr({step:e,offsetIsDiscrete:TZ(o)&&Nm(o.type)})&&zE(i,a)))return e.step;{let n=t.getScaleComponent(a),i=t.scaleName(a),o=`domain('${i}').length`;if("band"===n.get("type")){let e=n.get("paddingInner")??n.get("padding")??0,t=n.get("paddingOuter")??n.get("padding")??0;o=`bandspace(${o}, ${e}, ${t})`}let l=r.get("paddingInner")??r.get("padding");return{signal:`${e.step} * ${o} / (1-${F7(l)?l.signal:t0(l)})`}}}function P3(e,t){if("offset"===Rr({step:e,offsetIsDiscrete:NO(t)}))return{step:e.step}}function P5(e,t,n){let i="x"===e?"width":"height",r=t[i];return void 0!==r?r:Rf(n,i)}function P6(e,t,n){let i=Ra(e.width)?e.width.step:Ru(n,"width"),r=Ra(e.height)?e.height.step:Ru(n,"height");return t.x||t.y?new PL(()=>{let e=[t.x?t.x.signal:i,t.y?t.y.signal:r];return`min(${e.join(", ")})`}):Math.min(i,r)}function P4(e,t){In(e)?function(e,t){let n=e.component.scales,{config:i,encoding:r,markDef:a,specifiedScales:o}=e;for(let l of CY(n)){let s=o[l],u=n[l],f=e.getScaleComponent(l),c=zr(r[l]),d=s[t],h=f.get("type"),p=f.get("padding"),m=f.get("paddingInner"),g=NH(h,t),y=NG(l,t);if(void 0!==d&&(g?y&&OH(y):OH(OR(h,t,l))),g&&void 0===y)if(void 0!==d){let e=c.timeUnit,n=c.type;switch(t){case"domainMax":case"domainMin":OG(s[t])||"temporal"===n||e?u.set(t,{signal:zc(s[t],{type:n,timeUnit:e})},!0):u.set(t,s[t],!0);break;default:u.copyKeyFromObject(t,s)}}else{let n=Dc(P8,t)?P8[t]({model:e,channel:l,fieldOrDatumDef:c,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:s.domain,domainMin:s.domainMin,domainMax:s.domainMax,markDef:a,config:i,hasNestedOffsetScale:z$(r,l),hasSecondaryRangeChannel:!!r[D7(l)]}):i.scale[t];void 0!==n&&u.set(t,n,!1)}}}(e,t):P7(e,t)}let P8={bins:({model:e,fieldOrDatumDef:t})=>TG(t)?function(e,t){let n=t.bin;if(F1(n)){let i=Pn(e,t.field,n);return new PL(()=>e.getSignalName(i))}if(F2(n)&&e7(n)&&void 0!==n.step)return{step:n.step}}(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>(function(e,t){if(CL([D$,DA,DS],e)&&"nominal"!==t)return"hcl"})(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:i,domainMax:r,fieldOrDatumDef:a})=>(function(e,t,n,i,r,a){if(!(zi(a)?.bin||e9(n)||null!=r||null!=i||CL([Nw,"utc"],e)))return!!Fw(t)||void 0})(e,t,n,i,r,a),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:i,config:r})=>(function(e,t,n,i,r,a){if(Fw(e)){if(NT(t)){if(void 0!==n.continuousPadding)return n.continuousPadding;let{type:t,orient:o}=r;if("bar"===t&&!(TG(i)&&(i.bin||i.timeUnit))&&("vertical"===o&&"x"===e||"horizontal"===o&&"y"===e))return a.continuousBandSize}if(t===Nk)return n.pointPadding}})(e,t,r.scale,n,i,r.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:i,config:r,hasNestedOffsetScale:a})=>(function(e,t,n,i,r,a=!1){if(void 0===e){if(Fw(t)){let{bandPaddingInner:e,barBandPaddingInner:t,rectBandPaddingInner:i,tickBandPaddingInner:o,bandWithNestedOffsetPaddingInner:l}=r;return a?l:Dt(e,"bar"===n?t:"tick"===n?o:i)}else if(tz(FA,t)&&i===NE)return r.offsetBandPaddingInner}})(e,t,n.type,i,r.scale,a),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:i,config:r,hasNestedOffsetScale:a})=>(function(e,t,n,i,r,a=!1){if(void 0===e){if(Fw(t)){let{bandPaddingOuter:e,bandWithNestedOffsetPaddingOuter:t}=r;if(a)return t;if(n===NE)return Dt(e,F7(i)?{signal:`${i.signal}/2`}:i/2)}else if(tz(FA,t)){if(n===Nk)return .5;else if(n===NE)return r.offsetBandPaddingOuter}}})(e,t,n,i,r.scale,a),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:i})=>(function(e,t,n,i){if("x"===n&&void 0!==i.xReverse){if(NN(e)&&"descending"===t)if(F7(i.xReverse))return{signal:`!${i.xReverse.signal}`};else return!i.xReverse;return i.xReverse}if(NN(e)&&"descending"===t)return!0})(t,TG(e)?e.sort:void 0,n,i.scale),zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:i,scaleType:r,config:a,hasSecondaryRangeChannel:o})=>(function(e,t,n,i,r,a,o){if(n&&"unaggregated"!==n&&NN(r)){if(e9(n)){let e=n[0],t=n[n.length-1];if(tW(e)&&e<=0&&tW(t)&&t>=0)return!0}return!1}if("size"===e&&"quantitative"===t.type&&!Nz(r))return!0;if(!(TG(t)&&t.bin)&&CL([...F_,...FE],e)){let{orient:t,type:n}=i;return(!CL(["bar","area","line","trail"],n)||("horizontal"!==t||"y"!==e)&&("vertical"!==t||"x"!==e))&&(!!CL(["bar","area"],n)&&!o||a?.zero)}return!1})(e,t,n,i,r,a.scale,o)};function P9(e){if(In(e)){let t=e.component.scales;for(let n of FP){let i=t[n];if(!i)continue;let r=function(e,t){let n=t.specifiedScales[e],{size:i}=t,r=t.getScaleComponent(e).get("type");for(let i of PK)if(void 0!==n[i]){let a=NH(r,i),o=NG(e,i);if(a)if(o)OH(o);else switch(i){case"range":{let i=n.range;if(e9(i)){if(Fw(e))return R2(i.map(e=>{if("width"===e||"height"===e){let n=t.getName(e),i=t.getSignalName.bind(t);return PL.fromName(i,n)}return e}))}else if(e7(i))return R2({data:t.requestDataName(ea.Main),field:i.field,sort:{op:"min",field:t.vgField(e)}});return R2(i)}case"scheme":return R2(function(e){return!tG(e)&&Dc(e,"name")?{scheme:e.name,...CT(e,["name"])}:{scheme:e}}(n[i]))}else OH(OR(r,i,e))}let a="x"===e||"xOffset"===e?"width":"height",o=i[a];if(Ra(o)){if(Fw(e))if(NO(r)){let n=P2(o,t,e);if(n)return R2({step:n})}else OH(OL(a));else if(tz(FA,e)){let n=e===Dp?"x":"y";if("band"===t.getScaleComponent(n).get("type")){let e=P3(o,r);if(e)return R2(e)}}}let{rangeMin:l,rangeMax:s}=n,u=function(e,t){let{size:n,config:i,mark:r,encoding:a}=t,{type:o}=zr(a[e]),l=t.getScaleComponent(e).get("type"),{domain:s,domainMid:u}=t.specifiedScales[e];switch(e){case"x":case"y":if(CL(["point","band"],l)){let r=P5(e,n,i.view);if(Ra(r))return{step:P2(r,t,e)}}return P1(e,t,l);case Dp:case Dm:return function(e,t,n){let i=e===Dp?"x":"y",r=t.getScaleComponent(i);if(!r)return P1(i,t,n,{center:!0});let a=r.get("type"),o=t.scaleName(i),{markDef:l,config:s}=t;if("band"===a){let e=P5(i,t.size,t.config.view);if(Ra(e)){let t=P3(e,n);if(t)return t}return[0,{signal:`bandwidth('${o}')`}]}{let n=t.encoding[i];if(TG(n)&&n.timeUnit){let e=Ne(n.timeUnit,e=>`scale('${o}', ${e})`),i=t.config.scale.bandWithNestedOffsetPaddingInner,r=TP({fieldDef:n,markDef:l,config:s})-.5,a=0!==r?` + ${r}`:"";if(i){let t=F7(i)?`${i.signal}/2${a}`:`${i/2+r}`,n=F7(i)?`(1 - ${i.signal}/2)${a}`:`${1-i/2+r}`;return[{signal:`${t} * (${e})`},{signal:`${n} * (${e})`}]}return[0,{signal:e}]}return CO(`Cannot use ${e} scale if ${i} scale is not discrete.`)}}(e,t,l);case DC:{let a=function(e,t){switch(e){case"bar":case"tick":return t.scale.minBandSize;case"line":case"trail":case"rule":return t.scale.minStrokeWidth;case"text":return t.scale.minFontSize;case"point":case"square":case"circle":return t.scale.minSize}throw Error(OT("size",e))}(r,i),o=function(e,t,n,i){let r={x:P0(n,"x"),y:P0(n,"y")};switch(e){case"bar":case"tick":{if(void 0!==i.scale.maxBandSize)return i.scale.maxBandSize;let e=P6(t,r,i.view);if(tW(e))return e-1;return new PL(()=>`${e.signal} - 1`)}case"line":case"trail":case"rule":return i.scale.maxStrokeWidth;case"text":return i.scale.maxFontSize;case"point":case"square":case"circle":{if(i.scale.maxSize)return i.scale.maxSize;let e=P6(t,r,i.view);if(tW(e))return Math.pow(.95*e,2);return new PL(()=>`pow(0.95 * ${e.signal}, 2)`)}}throw Error(OT("size",e))}(r,n,t,i);if(Nz(l))return function(e,t,n){let i=()=>{let i=Oc(t),r=Oc(e),a=`(${i} - ${r}) / (${n} - 1)`;return`sequence(${r}, ${i} + ${a}, ${a})`};return F7(t)?new PL(i):{signal:i()}}(a,o,function(e,t,n,i){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":if(void 0!==n&&e9(n))return n.length+1;return OH(`Domain for ${i} is required for threshold scale.`),3}}(l,i,s,e));return[a,o]}case Dv:return[0,2*Math.PI];case DD:return[0,360];case Dg:return[0,new PL(()=>{let e=t.getSignalName(Ii(t.parent)?"child_width":"width"),n=t.getSignalName(Ii(t.parent)?"child_height":"height");return`min(${e},${n})/2`})];case DE:return{step:1e3/i.scale.framesPerSecond};case DT:return[i.scale.minStrokeWidth,i.scale.maxStrokeWidth];case Dz:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case DM:return"symbol";case D$:case DA:case DS:if("ordinal"===l)return"nominal"===o?"category":"ordinal";if(void 0!==u)return"diverging";return"rect"===r||"geoshape"===r?"heatmap":"ramp";case DF:case DO:case DN:return[i.scale.minOpacity,i.scale.maxOpacity]}}(e,t);return(void 0!==l||void 0!==s)&&NH(r,"rangeMin")&&e9(u)&&2===u.length?R2([l??u[0],s??u[1]]):R3(u)}(n,e);i.setWithExplicit("range",r)}}else P7(e,"range")}function P7(e,t){let n=e.component.scales;for(let n of e.children)"range"===t?P9(n):P4(n,t);for(let i of CY(n)){let r;for(let n of e.children){let e=n.component.scales[i];e&&(r=R4(r,e.getWithExplicit(t),t,"scale",R5((e,n)=>"range"===t&&e.step&&n.step?e.step-n.step:0)))}n[i].setWithExplicit(t,r)}}let Ie=R5((e,t)=>NA[e]-NA[t]);class It{nameMap;constructor(){this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return void 0!==this.nameMap[e]}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function In(e){return e?.type==="unit"}function Ii(e){return e?.type==="facet"}function Ir(e){return e?.type==="concat"}function Ia(e){return e?.type==="layer"}class Io{type;parent;config;name;size;title;description;data;transforms;layout;scaleNameMap;projectionNameMap;signalNameMap;component;view;constructor(e,t,n,i,r,a,o){this.type=t,this.parent=n,this.config=r,this.parent=n,this.config=r,this.view=F4(o),this.name=e.name??i,this.title=F9(e.title)?{text:e.title}:e.title?F4(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new It,this.projectionNameMap=n?n.projectionNameMap:new It,this.signalNameMap=n?n.signalNameMap:new It,this.data=e.data,this.description=e.description,this.transforms=function(e){return e.map(e=>RU(e)?{filter:CD(e.filter,Np)}:e)}(e.transform??[]),this.layout="layer"===t||"unit"===t?{}:function(e,t,n){let i=n[t],r={},{spacing:a,columns:o}=i;for(let t of(void 0!==a&&(r.spacing=a),void 0!==o&&(TR(e)&&!TT(e.facet)||Rt(e))&&(r.columns=o),Rn(e)&&(r.columns=1),Rl))if(void 0!==e[t])if("spacing"===t){let n=e[t];r[t]=tW(n)?n:{row:n.row??a,column:n.column??a}}else r[t]=e[t];return r}(e,t,r),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:TR(e)||n?.component.data.isFaceted&&void 0===e.data},layoutSize:new R1,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?CF(a):{}},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(){!function(e,{ignoreRange:t}={}){for(let t of(function e(t){In(t)?t.component.scales=function(e){let{encoding:t,mark:n,markDef:i}=e,r={};for(let a of FP){let o=zr(t[a]);if(o&&n===N8&&a===DM&&o.type===Nx)continue;let l=o&&o.scale;if(o&&null!==l&&!1!==l){l??={};let n=z$(t,a),s=function(e,t,n,i,r=!1){let a=function(e,t,n,i){switch(t.type){case"nominal":case"ordinal":if(DY(e)||"discrete"===FW(e))return"shape"===e&&"ordinal"===t.type&&OH(Oz(e,"ordinal")),"ordinal";if(e in FS)return"band";if(Fw(e)||tz(FA,e)){if(CL(["rect","bar","image","rule","tick"],n.type)||i)return"band"}else if("arc"===n.type&&e in Fk)return"band";if(Tl(n[Fe(e)])||T2(t)&&t.axis?.tickBand)return"band";return"point";case"temporal":if(DY(e));else if("discrete"===FW(e))return OH(Oz(e,"temporal")),"ordinal";else if(TG(t)&&t.timeUnit&&O7(t.timeUnit).utc)return"utc";else if(e in FS)return"band";return"time";case"quantitative":if(DY(e)){if(TG(t)&&F1(t.bin))return"bin-ordinal"}else if("discrete"===FW(e))return OH(Oz(e,"quantitative")),"ordinal";else if(e in FS)return"band";return"linear";case"geojson":return}throw Error(OF(t.type))}(t,n,i,r),{type:o}=e;if(!FI(t))return null;if(void 0!==o)return!function(e,t,n=!1){if(!FI(e))return!1;switch(e){case"x":case"y":case Dp:case Dm:case Dv:case Dg:if(NT(t))return!0;if("band"===t)return!0;if("point"===t)return!n;return!1;case DE:return CL(["linear","band"],t);case DC:case DT:case DF:case DO:case DN:case DD:return NT(t)||Nz(t)||CL(["band","point","ordinal"],t);case D$:case DA:case DS:return"band"!==t;case Dz:case DM:return"ordinal"===t||Nz(t)}}(t,o)?(OH(`Channel "${t}" does not work with "${o}" scale. We are using "${a}" scale instead.`),a):TG(n)&&!function(e,t){if(CL([Ny,Nb],t))return void 0===e||NO(e);if(t===Nv)return CL([Nw,"utc",void 0],e);if(t===Ng)return NS.has(e)||Nz(e)||void 0===e;return!0}(o,n.type)?(OH(`FieldDef does not work with "${o}" scale. We are using "${a}" scale instead.`),a):o;return a}(l,a,o,i,n);r[a]=new PZ(e.scaleName(`${a}`,!0),{value:s,explicit:l.type===s})}}return r}(t):t.component.scales=function(t){let n=t.component.scales={},i={},r=t.component.resolve;for(let n of t.children)for(let a of(e(n),CY(n.component.scales)))if(r.scale[a]??=BK(a,t),"shared"===r.scale[a]){let e=i[a],t=n.component.scales[a].getWithExplicit("type");e?function(e,t){let n=N$[e],i=N$[t];return n===i||"ordinal-position"===n&&"time"===i||"ordinal-position"===i&&"time"===n}(e.value,t.value)?i[a]=R4(e,t,"type","scale",Ie):(r.scale[a]="independent",delete i[a]):i[a]=t}for(let e of CY(i)){let r=t.scaleName(e,!0),a=i[e];for(let i of(n[e]=new PZ(r,a),t.children)){let t=i.component.scales[e];t&&(i.renameScale(t.get("name"),r),t.merged=!0)}}return n}(t)}(e),function e(t){In(t)?function(e){let t=e.component.scales;for(let n of CY(t)){let i=function(e,t){let n=e.getScaleComponent(t).get("type"),{encoding:i}=e,r=function(e,t,n,i){if("unaggregated"===e){let{valid:e,reason:i}=Pj(t,n);if(!e)return void OH(i)}else if(void 0===e&&i.useUnaggregatedDomain){let{valid:e}=Pj(t,n);if(e)return"unaggregated"}return e}(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);if(r!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:r}),"x"===t&&zr(i.x2))if(zr(i.x))return R4(PP(n,r,e,"x"),PP(n,r,e,"x2"),"domain","scale",PU);else return PP(n,r,e,"x2");if("y"===t&&zr(i.y2))if(zr(i.y))return R4(PP(n,r,e,"y"),PP(n,r,e,"y2"),"domain","scale",PU);else return PP(n,r,e,"y2");return PP(n,r,e,t)}(e,n);if(t[n].setWithExplicit("domains",i),function(e,t){let n=e.component.scales[t],i=e.specifiedScales[t].domain,r=e.fieldDef(t)?.bin,a=NR(i)?i:void 0,o=e7(r)&&F3(r.extent)?r.extent:void 0;(a||o)&&n.set("selectionExtent",a??o,!0)}(e,n),e.component.data.isFaceted){let t=e;for(;!Ii(t)&&t.parent;)t=t.parent;if("shared"===t.component.resolve.scale[n])for(let e of i.value)On(e)&&(e.data=PN+e.data.replace(PN,""))}}}(t):function(t){for(let n of t.children)e(n);let n=t.component.scales;for(let e of CY(n)){let i,r=null;for(let n of t.children){let t=n.component.scales[e];if(t){i=void 0===i?t.getWithExplicit("domains"):R4(i,t.getWithExplicit("domains"),"domains","scale",PU);let e=t.get("selectionExtent");r&&e&&r.param!==e.param&&OH("The same selection must be used to override scale domains in a layered view."),r=e}}n[e].setWithExplicit("domains",i),r&&n[e].set("selectionExtent",r,!0)}}(t)}(e),NW))P4(e,t);t||P9(e)}(this)}parseProjection(){!function e(t){t.component.projection=In(t)?function(e){if(e.hasProjection){let t=F4(e.specifiedProjection),n=!(t&&(null!=t.scale||null!=t.translate)),i=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,r=n?function(e){let t=[],{encoding:n}=e;for(let i of[[D_,Dx],[Dk,Dw]])(zr(n[i[0]])||zr(n[i[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(DM)&&e.typedFieldDef(DM).type===Nx&&t.push({signal:e.getName(`geojson_${t.length}`)}),0===t.length&&t.push(e.requestDataName(ea.Main)),t}(e):void 0,a=new PJ(e.projectionName(!0),{...F4(e.config.projection),...t},i,r);return a.get("type")||a.set("type","equalEarth",!1),a}}(t):function(t){let n;if(0===t.children.length)return;for(let n of t.children)e(n);let i=CP(t.children,e=>{let t=e.component.projection;if(!t)return!0;if(!n)return n=t,!0;{let e=function(e,t){let n=CP(PX,n=>!!(!tz(e.explicit,n)&&!tz(t.explicit,n)||tz(e.explicit,n)&&tz(t.explicit,n)&&Du(e.get(n),t.get(n))));if(Du(e.size,t.size)){if(n)return e;else if(Du(e.explicit,{}))return t;else if(Du(t.explicit,{}))return e}return null}(n,t);return e&&(n=e),!!e}});if(n&&i){let e=t.projectionName(!0),i=new PJ(e,n.specifiedProjection,n.size,CF(n.data));for(let n of t.children){let t=n.component.projection;t&&(t.isFit&&i.data.push(...n.component.projection.data),n.renameProjection(t.get("name"),e),t.merged=!0)}return i}}(t)}(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){!function e(t){let n=In(t)?function(e){let{encoding:t}=e,n={};for(let i of[D$,...z6]){let r=zr(t[i]);r&&e.getScaleComponent(i)&&(i===DM&&TG(r)&&r.type===Nx||(n[i]=function(e,t){let n=e.legend(t),{markDef:i,encoding:r,config:a}=e,o=a.legend,l=new B2({},function(e,t){let n=e.scaleName(t);if("trail"===e.mark){if("color"===t)return{stroke:n};else if("size"===t)return{strokeWidth:n}}return"color"===t?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}(e,t)),s=e.fieldDef(t)?.field;for(let n of CV(e.component.selection??{})){let e=n.project.hasField[s]??n.project.hasChannel[t];if(e&&Ba.defined(n)){let t=l.get("selections")??[];t.push(n.name),l.set("selections",t,!1),e.hasLegend=!0}}let u=void 0!==n?!n:o.disable;if(l.set("disable",u,void 0!==n),u)return l;n=n||{};let f=e.getScaleComponent(t).get("type"),c=zr(r[t]),d=TG(c)?O7(c.timeUnit)?.unit:void 0,h=n.orient||a.legend.orient||"right",p=function(e){let{legend:t}=e;return Dt(t.type,function({channel:e,timeUnit:t,scaleType:n}){if(DY(e)){if(CL(["quarter","month","day"],t))return"symbol";if(NT(n))return"gradient"}return"symbol"}(e))}({legend:n,channel:t,timeUnit:d,scaleType:f}),m=function({legendConfig:e,legendType:t,orient:n,legend:i}){return i.direction??e[t?"gradientDirection":"symbolDirection"]??function(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(n,t)}({legend:n,legendType:p,orient:h,legendConfig:o}),g={legend:n,channel:t,model:e,markDef:i,encoding:r,fieldOrDatumDef:c,legendConfig:o,config:a,scaleType:f,orient:h,legendType:p,direction:m};for(let i of B1){if("gradient"===p&&i.startsWith("symbol")||"symbol"===p&&i.startsWith("gradient"))continue;let r=i in B9?B9[i](g):n[i];if(void 0!==r){let o=function(e,t,n,i){switch(t){case"disable":return void 0!==n;case"values":return!!n?.values;case"title":if("title"===t&&e===i?.title)return!0}return e===(n||{})[t]}(r,i,n,e.fieldDef(t));(o||void 0===a.legend[i])&&l.set(i,r,o)}}let y=n?.encoding??{},v=l.get("selections"),b={},x={fieldOrDatumDef:c,model:e,channel:t,legendCmpt:l,legendType:p};for(let t of["labels","legend","title","symbols","gradient","entries"]){let n=BZ(y[t]??{},e),i=t in B3?B3[t](n,x):n;void 0===i||CG(i)||(b[t]={...v?.length&&TG(c)?{name:`${CZ(c.field)}_legend_${t}`}:{},...v?.length?{interactive:!0}:{},update:v?.length?{...i,cursor:{value:"pointer"}}:i})}return CG(b)||l.set("encode",b,!!n?.encoding),l}(e,i)))}return n}(t):function(t){let{legends:n,resolve:i}=t.component;for(let r of t.children)for(let a of(e(r),CY(r.component.legends)))i.legend[a]=B0(t.component.resolve,a),"shared"===i.legend[a]&&(n[a]=Pe(n[a],r.component.legends[a]),n[a]||(i.legend[a]="independent",delete n[a]));for(let e of CY(n))for(let n of t.children)n.component.legends[e]&&"shared"===i.legend[e]&&delete n.component.legends[e];return n}(t);return t.component.legends=n,n}(this)}assembleEncodeFromView(e){let{style:t,...n}=e,i={};for(let e of CY(n)){let t=n[e];void 0!==t&&(i[e]=Ou(t))}return i}assembleGroupEncodeEntry(e){let t={};return(this.view&&(t=this.assembleEncodeFromView(this.view)),e||(this.description&&(t.description=Ou(this.description)),"unit"!==this.type&&"layer"!==this.type))?CG(t)?void 0:t:{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t}}assembleLayout(){if(!this.layout)return;let{spacing:e,...t}=this.layout,{component:n,config:i}=this,r=function(e,t){let n={};for(let i of DX){let r=e[i];if(r?.facetFieldDef){let{titleAnchor:e,titleOrient:a}=BP(["titleAnchor","titleOrient"],r.facetFieldDef.header,t,i),o=BL(i,a),l=BH[o][e];void 0!==l&&(n[o]=l)}}return CG(n)?void 0:n}(n.layoutHeaders,i);return{padding:e,...this.assembleDefaultLayout(),...t,...r?{titleBand:r}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,t=[];for(let n of DX)e[n].title&&t.push(function(e,t){let n=e.component.layoutHeaders[t].title,i=e.config?e.config:void 0,r=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:o,titleOrient:l}=BP(["titleAnchor","titleAngle","titleOrient"],r.header,i,t),s=BL(t,l),u=Do(o);return{name:`${t}-title`,type:"group",role:`${s}-title`,title:{text:n,..."row"===t?{orient:"left"}:{},style:"guide-title",...Bq(u,s),...BU(s,u,a),...BG(i,r,t,z2,z0)}}}(this,n));for(let e of BI)t=t.concat(function(e,t){let n=e.component.layoutHeaders[t],i=[];for(let r of Bj)if(n[r])for(let a of n[r]){let o=function(e,t,n,i,r){if(r){let a=null,{facetFieldDef:o}=i,l=e.config?e.config:void 0;if(o&&r.labels){let{labelOrient:e}=BP(["labelOrient"],o.header,l,t);("row"!==t||CL(["top","bottom"],e))&&("column"!==t||CL(["left","right"],e))||(a=BW(o,t,l))}let s=Ii(e)&&!TT(e.facet),u=r.axes,f=u?.length>0;if(a||f){let l="row"===t?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...i.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:function(e,t){let{sort:n}=e;return TN(n)?{field:T4(n,{expr:"datum"}),order:n.order??"ascending"}:e9(n)?{field:BR(e,t,{expr:"datum"}),order:"ascending"}:{field:T4(e,{expr:"datum"}),order:n??"ascending"}}(o,t)}:{},...f&&s?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...r.sizeSignal?{encode:{update:{[l]:r.sizeSignal}}}:{},...f?{axes:u}:{}}}}return null}(e,t,r,n,a);null!=o&&i.push(o)}return i}(this,e));return t}assembleAxes(){return function(e,t){let{x:n=[],y:i=[]}=e;return[...n.map(e=>BA(e,"grid",t)),...i.map(e=>BA(e,"grid",t)),...n.map(e=>BA(e,"main",t)),...i.map(e=>BA(e,"main",t))].filter(e=>e)}(this.component.axes,this.config)}assembleLegends(){return PY(this)}assembleProjections(){var e;return Ia(this)||Ir(this)?(e=this,e.children.reduce((e,t)=>e.concat(t.assembleProjections()),PV(e))):PV(this)}assembleTitle(){let{encoding:e,...t}=this.title??{},n={...F8(this.config.title).nonMarkTitleProperties,...t,...e?{encode:{update:e}}:{}};if(n.text)return CL(["unit","layer"],this.type)?CL(["middle",void 0],n.anchor)&&(n.frame??="group"):n.anchor??="start",CG(n)?void 0:n}assembleGroup(e=[]){let t={};(e=e.concat(this.assembleSignals())).length>0&&(t.signals=e);let n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let i=!this.parent||Ii(this.parent)?function e(t){return Ia(t)||Ir(t)?t.children.reduce((t,n)=>t.concat(e(n)),PQ(t)):PQ(t)}(this):[];i.length>0&&(t.scales=i);let r=this.assembleAxes();r.length>0&&(t.axes=r);let a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(e){return CZ((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(ea[e].toLowerCase())}requestDataName(e){let t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(Ii(this.parent)){let t=F$(BQ(e)),n=this.component.scales[t];if(n&&!n.merged){let e=n.get("type"),i=n.get("range");if(NO(e)&&Oe(i)){let e=n.get("name"),i=Pq(PW(this,t));return i?{signal:BJ(e,n,T4({aggregate:"distinct",field:i},{expr:"datum"}))}:(OH(OE(t)),null)}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){return t?this.getName(e):tz(DJ,e)&&FI(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e))?this.scaleNameMap.get(this.getName(e)):void 0}projectionName(e){return e?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}getScaleComponent(e){if(!this.component.scales)throw Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getScaleType(e){let t=this.getScaleComponent(e);return t?t.get("type"):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw Error(`Cannot find a selection named "${t}".`);return n}hasAxisOrientSignalRef(){return this.component.axes.x?.some(e=>e.hasOrientSignalRef())||this.component.axes.y?.some(e=>e.hasOrientSignalRef())}}class Il extends Io{vgField(e,t={}){let n=this.fieldDef(e);if(n)return T4(n,t)}reduceFieldDef(e,t){var n,i;return n=this.getMapping(),i=(t,n,i)=>{let r=zi(n);return r?e(t,r,i):t},n?CY(n).reduce((e,t)=>{let r=n[t];return e9(r)?r.reduce((e,n)=>i.call(void 0,e,n,t),e):i.call(void 0,e,r,t)},t):t}forEachFieldDef(e,t){zC(this.getMapping(),(t,n)=>{let i=zi(t);i&&e(i,n)},t)}}class Is extends Lo{transform;clone(){return new Is(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"value",n[1]??"density"];const i=this.transform.resolve??"shared";this.transform.resolve=i}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${Cz(this.transform)}`}assemble(){let{density:e,...t}=this.transform,n={type:"kde",field:e,...t};return n.resolve=this.transform.resolve,n}}class Iu extends Lo{transform;clone(){return new Iu(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${Cz(this.transform)}`}assemble(){let{extent:e,param:t}=this.transform;return{type:"extent",field:e,signal:t}}}class If extends Lo{transform;clone(){return new If(this.parent,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const{flatten:n,as:i=[]}=this.transform;this.transform.as=n.map((e,t)=>i[t]??e)}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${Cz(this.transform)}`}assemble(){let{flatten:e,as:t}=this.transform;return{type:"flatten",fields:e,as:t}}}class Ic extends Lo{transform;clone(){return new Ic(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"key",n[1]??"value"]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${Cz(this.transform)}`}assemble(){let{fold:e,as:t}=this.transform;return{type:"fold",fields:e,as:t}}}class Id extends Lo{fields;geojson;signal;clone(){return new Id(null,CF(this.fields),this.geojson,this.signal)}static parseAll(e,t){if(t.component.projection&&!t.component.projection.isFit)return e;let n=0;for(let i of[[D_,Dx],[Dk,Dw]]){let r=i.map(e=>{let n=zr(t.encoding[e]);return TG(n)?n.field:TV(n)?{expr:`${n.datum}`}:T0(n)?{expr:`${n.value}`}:void 0});(r[0]||r[1])&&(e=new Id(e,r,null,t.getName(`geojson_${n++}`)))}if(t.channelHasField(DM)){let i=t.typedFieldDef(DM);i.type===Nx&&(e=new Id(e,null,i.field,t.getName(`geojson_${n++}`)))}return e}constructor(e,t,n,i){super(e),this.fields=t,this.geojson=n,this.signal=i}dependentFields(){let e=(this.fields??[]).filter(tG);return new Set([...this.geojson?[this.geojson]:[],...e])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${Cz(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}}class Ih extends Lo{projection;fields;as;clone(){return new Ih(null,this.projection,CF(this.fields),CF(this.as))}constructor(e,t,n,i){super(e),this.projection=t,this.fields=n,this.as=i}static parseAll(e,t){if(!t.projectionName())return e;for(let n of[[D_,Dx],[Dk,Dw]]){let i=n.map(e=>{let n=zr(t.encoding[e]);return TG(n)?n.field:TV(n)?{expr:`${n.datum}`}:T0(n)?{expr:`${n.value}`}:void 0}),r=n[0]===Dk?"2":"";(i[0]||i[1])&&(e=new Ih(e,t.projectionName(),i,[t.getName(`x${r}`),t.getName(`y${r}`)]))}return e}dependentFields(){return new Set(this.fields.filter(tG))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${Cz(this.fields)} ${Cz(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Ip extends Lo{transform;clone(){return new Ip(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){let{start:t=0,stop:n,step:i}=e,r=[t,n,...i?[i]:[]].join(",");return{signal:`sequence(${r})`}}static makeFromTransform(e,t){return new Ip(e,t)}static makeFromEncoding(e,t){let n=t.encoding,i=n.x,r=n.y;if(TG(i)&&TG(r)){let a=i.impute?i:r.impute?r:void 0;if(void 0===a)return;let o=i.impute?r:r.impute?i:void 0,{method:l,value:s,frame:u,keyvals:f}=a.impute,c=zD(t.mark,n);return new Ip(e,{impute:a.field,key:o.field,...l?{method:l}:{},...void 0!==s?{value:s}:{},...u?{frame:u}:{},...void 0!==f?{keyvals:f}:{},...c.length?{groupby:c}:{}})}return null}hash(){return`Impute ${Cz(this.transform)}`}assemble(){let{impute:e,key:t,keyvals:n,method:i,groupby:r,value:a,frame:o=[null,null]}=this.transform,l={type:"impute",field:e,key:t,...n?{keyvals:Dc(n,"stop")?this.processSequence(n):n}:{},method:"value",...r?{groupby:r}:{},value:i&&"value"!==i?null:a};return i&&"value"!==i?[l,{type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:o,ignorePeers:!1,...r?{groupby:r}:{}},{type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e}]:[l]}}class Im extends Lo{transform;clone(){return new Im(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${Cz(this.transform)}`}assemble(){let{loess:e,on:t,...n}=this.transform;return{type:"loess",x:t,y:e,...n}}}class Ig extends Lo{transform;secondary;clone(){return new Ig(null,CF(this.transform),this.secondary)}constructor(e,t,n){super(e),this.transform=t,this.secondary=n}static make(e,t,n,i){let r=t.component.data.sources,{from:a}=n,o=null;if(Dc(a,"data")){let e=IM(a.data,r);e||(e=new Pd(a.data),r.push(e));let n=t.getName(`lookup_${i}`);o=new Ll(e,n,ea.Lookup,t.component.data.outputNodeRefCounts),t.component.data.outputNodes[n]=o}else if(Dc(a,"param")){let e,i=a.param;n={as:i,...n};try{e=t.getSelectionComponent(CZ(i),i)}catch{throw Error(`Lookups can only be performed on selection parameters. "${i}" is a variable parameter.`)}if(!(o=e.materialized))throw Error(`Cannot define and lookup the "${i}" selection in the same view. Try moving the lookup into a second, layered view?`)}return new Ig(e,n,o.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?tw(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${Cz({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e={values:this.transform.from.fields,...this.transform.as?{as:tw(this.transform.as)}:{}};else{let t=this.transform.as;tG(t)||(OH('If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.'),t="_lookup"),e={as:[t]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...e,...this.transform.default?{default:this.transform.default}:{}}}}class Iy extends Lo{transform;clone(){return new Iy(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"prob",n[1]??"value"]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${Cz(this.transform)}`}assemble(){let{quantile:e,...t}=this.transform;return{type:"quantile",field:e,...t}}}class Iv extends Lo{transform;clone(){return new Iv(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=CF(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${Cz(this.transform)}`}assemble(){let{regression:e,on:t,...n}=this.transform;return{type:"regression",x:t,y:e,...n}}}class Ib extends Lo{transform;clone(){return new Ib(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=Cj((this.transform.groupby??[]).concat(e),e=>e)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${Cz(this.transform)}`}assemble(){let{pivot:e,value:t,groupby:n,limit:i,op:r}=this.transform;return{type:"pivot",field:e,value:t,...void 0!==i?{limit:i}:{},...void 0!==r?{op:r}:{},...void 0!==n?{groupby:n}:{}}}}class Ix extends Lo{transform;clone(){return new Ix(null,CF(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${Cz(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function I_(e){let t=0;return function n(i,r){if(i instanceof Pd&&!i.isGenerator&&!R9(i.data)&&(e.push(r),r={name:null,source:r.name,transform:[]}),i instanceof Ps&&(i.parent instanceof Pd&&!r.source?(r.format={...r.format,parse:i.assembleFormatParse()},r.transform.push(...i.assembleTransforms(!0))):r.transform.push(...i.assembleTransforms())),i instanceof Po){r.name||(r.name=`data_${t++}`),!r.source||r.transform.length>0?(e.push(r),i.data=r.name):i.data=r.source,e.push(...i.assemble());return}switch((i instanceof Pf||i instanceof Pc||i instanceof PC||i instanceof B_||i instanceof Bz||i instanceof Ih||i instanceof Pa||i instanceof Ig||i instanceof PO||i instanceof PM||i instanceof Ic||i instanceof If||i instanceof Is||i instanceof Im||i instanceof Iy||i instanceof Iv||i instanceof Pu||i instanceof Ix||i instanceof Ib||i instanceof Iu)&&r.transform.push(i.assemble()),(i instanceof Pr||i instanceof Lu||i instanceof Ip||i instanceof PF||i instanceof Id)&&r.transform.push(...i.assemble()),i instanceof Ll&&(r.source&&0===r.transform.length?i.setSource(r.source):i.parent instanceof Ll?i.setSource(r.name):(!r.name&&(r.name=`data_${t++}`),i.setSource(r.name),1===i.numChildren()&&(e.push(r),r={name:null,source:r.name,transform:[]}))),i.numChildren()){case 0:i instanceof Ll&&(!r.source||r.transform.length>0)&&e.push(r);break;case 1:n(i.children[0],r);break;default:{r.name||(r.name=`data_${t++}`);let a=r.name;for(let t of(!r.source||r.transform.length>0?e.push(r):a=r.source,i.children))n(t,{name:null,source:a,transform:[]})}}}}function Iw(e,t,n){let i="row"===t?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(i)?e.child.getSizeSignalRef(i):void 0,axes:[]}}function Ik(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:r,resolve:a}=e.component;if(a.axis[t]=B0(a,t),"shared"===a.axis[t]){let a="x"===t?"column":"row",o=r[a];for(let r of n.component.axes[t]){var i;let t="top"===(i=r.get("orient"))||"left"===i||F7(i)?"header":"footer";o[t]??=[Iw(e,a,!1)];let n=BA(r,"main",e.config,{header:!0});n&&o[t][0].axes.push(n),r.mainExtracted=!0}}}}function IE(e){for(let t of e.children)t.parseLayoutSize()}function I$(e,t){let n,i=BQ(t),r=F$(i),a=e.component.resolve,o=e.component.layoutSize;for(let t of e.children){let o=t.component.layoutSize.getWithExplicit(i),l=a.scale[r]??BK(r,e);if("independent"===l&&"step"===o.value){n=void 0;break}if(n){if("independent"===l&&n.value!==o.value){n=void 0;break}n=R4(n,o,i,"")}else n=o}if(n){for(let n of e.children)e.renameSignal(n.getName(i),e.getName(t)),n.component.layoutSize.set(i,"merged",!1);o.setWithExplicit(t,n)}else o.setWithExplicit(t,{explicit:!1,value:void 0})}function IA(e,t,n){return T4(t,{suffix:`by_${T4(e)}`,...n})}class IS extends Il{facet;child;children;constructor(e,t,n,i){super(e,"facet",t,n,i,e.resolve),this.child=Iq(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!TT(e))return{facet:this.initFacetFieldDef(e,"facet")};let t=CY(e),n={};for(let i of t){if(!["row",Dd].includes(i)){OH(OT(i,"facet"));break}let t=e[i];if(void 0===t.field){OH(ON(t,i));break}n[i]=this.initFacetFieldDef(t,i)}return n}initFacetFieldDef(e,t){let n=zl(e,t);return n.header?n.header=F4(n.header):null===n.header&&(n.header=null),n}channelHasField(e){return Dc(this.facet,e)}fieldDef(e){return this.facet[e]}parseData(){this.component.data=IC(this),this.child.parseData()}parseLayoutSize(){IE(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection,CV(this.component.selection).some(e=>Bb(e))&&OW(OM)}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders();for(let e of DX)!function(e,t){let{facet:n,config:i,child:r,component:a}=e;if(e.channelHasField(t)){let o=n[t],l=BB("title",null,i,t),s=ze(o,i,{allowDisabling:!0,includeDefault:void 0===l||!!l});r.component.layoutHeaders[t].title&&(s=(e9(s)?s.join(", "):s)+` / ${r.component.layoutHeaders[t].title}`,r.component.layoutHeaders[t].title=null);let u=BB("labelOrient",o.header,i,t),f=null!==o.header&&Dt(o.header?.labels,i.header.labels,!0),c=CL(["bottom","right"],u)?"footer":"header";a.layoutHeaders[t]={title:null!==o.header?s:null,facetFieldDef:o,[c]:"facet"===t?[]:[Iw(e,t,f)]}}}(this,e);Ik(this,"x"),Ik(this,"y")}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){let e={};for(let t of DX)for(let n of Bj){let i=this.component.layoutHeaders[t],r=i[n],{facetFieldDef:a}=i;if(a){let n=BB("titleOrient",a.header,this.config,t);if(["right","bottom"].includes(n)){let i=BL(t,n);e.titleAnchor??={},e.titleAnchor[i]="end"}}if(r?.[0]){let r="row"===t?"height":"width",a="header"===n?"headerBand":"footerBand";"facet"===t||this.child.component.layoutSize.get(r)||(e[a]??={},e[a][t]=.5),i.title&&(e.offset??={},e.offset["row"===t?"rowTitle":"columnTitle"]=10)}}return e}assembleDefaultLayout(){let{column:e,row:t}=this.facet,n=e?this.columnDistinctSignal():t?1:void 0,i="all";return(t||"independent"!==this.component.resolve.scale.x)&&(e||"independent"!==this.component.resolve.scale.y)||(i="none"),{...this.getHeaderLayoutMixins(),...n?{columns:n}:{},bounds:"full",align:i}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!this.parent||!(this.parent instanceof IS)){let e=this.getName("column_domain");return{signal:`length(data('${e}'))`}}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof IS?{...this.channelHasField("column")?{encode:{update:{columns:{field:T4(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(e)}:super.assembleGroup(e)}getCardinalityAggregateForChild(){let e=[],t=[],n=[];if(this.child instanceof IS){if(this.child.channelHasField("column")){let i=T4(this.child.facet.column);e.push(i),t.push("distinct"),n.push(`distinct_${i}`)}}else for(let i of F_){let r=this.child.component.scales[i];if(r&&!r.merged){let a=r.get("type"),o=r.get("range");if(NO(a)&&Oe(o)){let r=Pq(PW(this.child,i));r?(e.push(r),t.push("distinct"),n.push(`distinct_${r}`)):OH(OE(i))}}}return{fields:e,ops:t,as:n}}assembleFacet(){let{name:e,data:t}=this.component.data.facetRoot,{row:n,column:i}=this.facet,{fields:r,ops:a,as:o}=this.getCardinalityAggregateForChild(),l=[];for(let e of DX){let t=this.facet[e];if(t){l.push(T4(t));let{bin:s,sort:u}=t;if(F1(s)&&l.push(T4(t,{binSuffix:"end"})),TN(u)){let{field:e,op:l="min"}=u,s=IA(t,u);n&&i?(r.push(s),a.push("max")):(r.push(e),a.push(l)),o.push(s)}else if(e9(u)){let n=BR(t,e);r.push(n),a.push("max"),o.push(n)}}}let s=!!n&&!!i;return{name:e,data:t,groupby:l,...s||r.length>0?{aggregate:{...s?{cross:s}:{},...r.length?{fields:r,ops:a,as:o}:{}}}:{}}}facetSortFields(e){let{facet:t}=this,n=t[e];return n?TN(n.sort)?[IA(n,n.sort,{expr:"datum"})]:e9(n.sort)?[BR(n,e,{expr:"datum"})]:[T4(n,{expr:"datum"})]:[]}facetSortOrder(e){let{facet:t}=this,n=t[e];if(n){let{sort:e}=n;return[(TN(e)?e.order:!e9(e)&&e)||"ascending"]}return[]}assembleLabelTitle(){let{facet:e,config:t}=this;if(e.facet)return BW(e.facet,"facet",t);let n={row:["top","bottom"],column:["left","right"]};for(let i of BI)if(e[i]){let r=BB("labelOrient",e[i]?.header,t,i);if(n[i].includes(r))return BW(e[i],i,t)}}assembleMarks(){let{child:e}=this,t=function(e){let t=[],n=I_(t);for(let t of e.children)n(t,{source:e.name,name:null,transform:[]});return t}(this.component.data.facetRoot),n=e.assembleGroupEncodeEntry(!1),i=this.assembleLabelTitle()||e.assembleTitle(),r=e.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...i?{title:i}:{},...r?{style:r}:{},from:{facet:this.assembleFacet()},sort:{field:DX.map(e=>this.facetSortFields(e)).flat(),order:DX.map(e=>this.facetSortOrder(e)).flat()},...t.length>0?{data:t}:{},...n?{encode:{update:n}}:{},...e.assembleGroup(function(e,t){if(e.component.selection&&CY(e.component.selection).length){let n=t0(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:AP("pointermove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return LD(t)}(this,[]))}]}getMapping(){return this.facet}}function IM(e,t){for(let n of t){let t=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;let i=e.format?.mesh,r=t.format?.feature;if(i&&r)continue;let a=e.format?.feature;if((a||r)&&a!==r)continue;let o=t.format?.mesh;if(!i&&!o||i===o){if(R7(e)&&R7(t)){if(Du(e.values,t.values))return n}else if(R9(e)&&R9(t)){if(e.url===t.url)return n}else if(Le(e)&&e.name===n.dataName)return n}}return null}function IC(e){let t,n,i,r=function(e,t){if(!e.data&&e.parent)return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main;{if(null===e.data){let e=new Pd({values:[]});return t.push(e),e}let n=IM(e.data,t);if(n)return Lt(e.data)||(n.data.format=CI({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let n=new Pd(e.data);return t.push(n),n}}}(e,e.component.data.sources),{outputNodes:a,outputNodeRefCounts:o}=e.component.data,l=e.data,s=!(l&&(Lt(l)||R9(l)||R7(l)))&&e.parent?e.parent.component.data.ancestorParse.clone():new R8;Lt(l)?(Ln(l)?r=new Pc(r,l.sequence):Lr(l)&&(r=new Pf(r,l.graticule)),s.parseNothing=!0):l?.format?.parse===null&&(s.parseNothing=!0),r=new Pu(r=Ps.makeExplicit(r,e,s)??r);let u=e.parent&&Ia(e.parent);(In(e)||Ii(e))&&u&&(r=Pr.makeFromEncoding(r,e)??r),e.transforms.length>0&&(r=function(e,t,n){let i=0;for(let r of t.transforms){let a,o;if(Dc(r,"calculate"))a=e=new Bz(e,r),o="derived";else if(RU(r)){let i=function(e){let t={};return!function e(t,n){if(CC(t))e(t.not,n);else if(CM(t))for(let i of t.and)e(i,n);else if(CS(t))for(let i of t.or)e(i,n);else n(t)}(e.filter,e=>{if(Nf(e)){let n=null;Ni(e)?n=Ol(e.equal):Na(e)?n=Ol(e.lte):Nr(e)?n=Ol(e.lt):No(e)?n=Ol(e.gt):Nl(e)?n=Ol(e.gte):Ns(e)?n=e.range[0]:Nu(e)&&(n=(e.oneOf??e.in)[0]),n&&(OG(n)?t[e.field]="date":tW(n)?t[e.field]="number":tG(n)&&(t[e.field]="string")),e.timeUnit&&(t[e.field]="date")}}),t}(r);a=e=Ps.makeWithAncestors(e,{},i,n)??e,e=new B_(e,t,r.filter)}else if(Dc(r,"bin"))a=e=Pr.makeFromTransform(e,r,t),o="number";else if(Dc(r,"timeUnit"))o="date",void 0===n.getWithExplicit(r.field).value&&(e=new Ps(e,{[r.field]:o}),n.set(r.field,o,!1)),a=e=Lu.makeFromTransform(e,r);else if(Dc(r,"aggregate"))a=e=Pa.makeFromTransform(e,r),o="number",By(t)&&(e=new Pu(e));else if(Rq(r))a=e=Ig.make(e,t,r,i++),o="derived";else if(Dc(r,"window"))a=e=new PO(e,r),o="number";else if(Dc(r,"joinaggregate"))a=e=new PM(e,r),o="number";else if(Dc(r,"stack"))a=e=PF.makeFromTransform(e,r),o="derived";else if(Dc(r,"fold"))a=e=new Ic(e,r),o="derived";else if(!Dc(r,"extent")||Dc(r,"density")||Dc(r,"regression"))if(Dc(r,"flatten"))a=e=new If(e,r),o="derived";else if(Dc(r,"pivot"))a=e=new Ib(e,r),o="derived";else if(Dc(r,"sample"))e=new Ix(e,r);else if(Dc(r,"impute"))a=e=Ip.makeFromTransform(e,r),o="derived";else if(Dc(r,"density"))a=e=new Is(e,r),o="derived";else if(Dc(r,"quantile"))a=e=new Iy(e,r),o="derived";else if(Dc(r,"regression"))a=e=new Iv(e,r),o="derived";else if(Dc(r,"loess"))a=e=new Im(e,r),o="derived";else{OH(`Ignoring an invalid transform: ${Df(r)}.`);continue}else a=e=new Iu(e,r),o="derived";if(a&&void 0!==o)for(let e of a.producedFields()??[])n.set(e,o,!1)}return e}(r,e,s));let f=function(e){let t={};if(In(e)&&e.component.selection)for(let n of CY(e.component.selection))for(let i of e.component.selection[n].project.items)!i.channel&&De(i.field)>1&&(t[i.field]="flatten");return t}(e),c=function(e){let t={};function n(e){if(zf(e))t[e.field]="date";else{var n;"quantitative"===e.type&&tG(n=e.aggregate)&&CL(["min","max"],n)?t[e.field]="number":De(e.field)>1?e.field in t||(t[e.field]="flatten"):T1(e)&&TN(e.sort)&&De(e.sort.field)>1&&!(e.sort.field in t)&&(t[e.sort.field]="flatten")}}if((In(e)||Ii(e))&&e.forEachFieldDef((t,i)=>{if(TK(t))n(t);else{let r=D8(i),a=e.fieldDef(r);n({...t,type:a.type})}}),In(e)){let{mark:n,markDef:i,encoding:r}=e;if(N9(n)&&!e.encoding.order){let e=r["horizontal"===i.orient?"y":"x"];!TG(e)||"quantitative"!==e.type||e.field in t||(t[e.field]="number")}}return t}(e);r=Ps.makeWithAncestors(r,{},{...f,...c},s)??r,In(e)&&(r=Id.parseAll(r,e),r=Ih.parseAll(r,e)),(In(e)||Ii(e))&&(u||(r=Pr.makeFromEncoding(r,e)??r),r=Lu.makeFromEncoding(r,e)??r,r=Bz.parseAllForSortIndex(r,e));let d=r=ID(ea.Raw,e,r);if(In(e)){let t=Pa.makeFromEncoding(r,e);t&&(r=t,By(e)&&(r=new Pu(r))),r=Ip.makeFromEncoding(r,e)??r,r=PF.makeFromEncoding(r,e)??r}if(In(e)){let{markDef:i,mark:a,config:o}=e,{marks:l,scales:s}=n=La({invalid:Oh("invalid",i,o),isPath:N9(a)});l!==s&&"include-invalid-values"===s&&(t=r=ID(ea.PreFilterInvalid,e,r)),"exclude-invalid-values"===l&&(r=PC.make(r,e,n)??r)}let h=r=ID(ea.Main,e,r);if(In(e)&&n){let{marks:t,scales:a}=n;"include-invalid-values"===t&&"exclude-invalid-values"===a&&(r=PC.make(r,e,n)??r,i=r=ID(ea.PostFilterInvalid,e,r))}In(e)&&function(e,t){for(let[n,i]of CX(e.component.selection??{})){let r=e.getName(`lookup_${n}`);e.component.data.outputNodes[r]=i.materialized=new Ll(new B_(t,e,{param:n}),r,ea.Lookup,e.component.data.outputNodeRefCounts)}}(e,h);let p=null;if(Ii(e)){let t=e.getName("facet");p=new Po(r=function(e,t){let{row:n,column:i}=t;if(n&&i){let t=null;for(let r of[n,i])if(TN(r.sort)){let{field:n,op:i="min"}=r.sort;e=t=new PM(e,{joinaggregate:[{op:i,field:n,as:IA(r,r.sort,{forAs:!0})}],groupby:[T4(r)]})}return t}return null}(r,e.facet)??r,e,t,h.getSource()),a[t]=p}return{...e.component.data,outputNodes:a,outputNodeRefCounts:o,raw:d,main:h,facetRoot:p,ancestorParse:s,preFilterInvalid:t,postFilterInvalid:i}}function ID(e,t,n){let{outputNodes:i,outputNodeRefCounts:r}=t.component.data,a=t.getDataName(e),o=new Ll(n,a,e,r);return i[a]=o,o}class IF extends Io{children;constructor(e,t,n,i){super(e,"concat",t,n,i,e.resolve),(e.resolve?.axis?.x==="shared"||e.resolve?.axis?.y==="shared")&&OH("Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415)."),this.children=this.getChildren(e).map((e,t)=>Iq(e,this,this.getName(`concat_${t}`),void 0,i))}parseData(){for(let e of(this.component.data=IC(this),this.children))e.parseData()}parseSelections(){for(let e of(this.component.selection={},this.children))for(let t of(e.parseSelections(),CY(e.component.selection)))this.component.selection[t]=e.component.selection[t];CV(this.component.selection).some(e=>Bb(e))&&OW(OM)}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(let e of this.children)e.parseAxesAndHeaders()}getChildren(e){return Rn(e)?e.vconcat:Ri(e)?e.hconcat:e.concat}parseLayoutSize(){let e,t;IE(this),e=1===this.layout.columns?"width":"childWidth",t=void 0===this.layout.columns?"height":"childHeight",I$(this,e),I$(this,t)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){let e=BY(this);for(let t of this.children)e.push(...t.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleMarks(){return this.children.map(e=>{let t=e.assembleTitle(),n=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return{type:"group",name:e.getName("group"),...t?{title:t}:{},...n?{style:n}:{},...i?{encode:{update:i}}:{},...e.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){let e=this.layout.columns;return{...null!=e?{columns:e}:{},bounds:"full",align:"each"}}}let IO=CY({disable:1,gridScale:1,scale:1,...zv,labelExpr:1,encode:1});class IN extends R1{explicit;implicit;mainExtracted;constructor(e={},t={},n=!1){super(),this.explicit=e,this.implicit=t,this.mainExtracted=n}clone(){return new IN(CF(this.explicit),CF(this.implicit),this.mainExtracted)}hasAxisPart(e){var t;return"axis"===e||("grid"===e||"title"===e?!!this.get(e):!1!==(t=this.get(e))&&null!==t)}hasOrientSignalRef(){return F7(this.explicit.orient)}}let IT={bottom:"top",top:"bottom",left:"right",right:"left"},Iz=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function IR(e,t){var n,i;let{config:r}=e;return{...L8(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...LV("x",e,{defaultPos:"mid"}),...LV("y",e,{defaultPos:"mid"}),...LH("size",e),...LH("angle",e),...(n=e,(i=t)?{shape:{value:i}}:LH("shape",n))}}let IL={arc:{vgMark:"arc",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...LV("x",e,{defaultPos:"mid"}),...LV("y",e,{defaultPos:"mid"}),...L3(e,"radius"),...L3(e,"theta")})},area:{vgMark:"area",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...L0("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient}),...L0("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient}),...L9(e)})},bar:{vgMark:"rect",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y")})},circle:{vgMark:"symbol",encodeEntry:e=>IR(e,"circle")},geoshape:{vgMark:"shape",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&TG(n)&&n.type===Nx?{field:T4(n,{expr:"datum"})}:{}}]}},image:{vgMark:"image",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y"),...LP(e,"url")})},line:{vgMark:"line",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...LV("x",e,{defaultPos:"mid"}),...LV("y",e,{defaultPos:"mid"}),...LH("size",e,{vgChannel:"strokeWidth"}),...L9(e)})},point:{vgMark:"symbol",encodeEntry:e=>IR(e)},rect:{vgMark:"rect",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y")})},rule:{vgMark:"rule",encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?{...L8(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L0("x",e,{defaultPos:"horizontal"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==n}),...L0("y",e,{defaultPos:"vertical"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==n}),...LH("size",e,{vgChannel:"strokeWidth"})}:{}}},square:{vgMark:"symbol",encodeEntry:e=>IR(e,"square")},text:{vgMark:"text",encodeEntry:e=>{let{config:t,encoding:n}=e;return{...L8(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...LV("x",e,{defaultPos:"mid"}),...LV("y",e,{defaultPos:"mid"}),...LP(e),...LH("size",e,{vgChannel:"fontSize"}),...LH("angle",e),...L7("align",function(e,t){if(void 0===Oh("align",e,t))return"center"}(e.markDef,t)),...L7("baseline",function(e,t){if(void 0===Oh("baseline",e,t))return"middle"}(e.markDef,t)),...LV("radius",e,{defaultPos:null}),...LV("theta",e,{defaultPos:null})}}},tick:{vgMark:"rect",encodeEntry:e=>{let{config:t,markDef:n}=e,i=n.orient,r="horizontal"===i?"y":"x";return{...L8(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"horizontal"===i?"x":"y"),...LV(r,e,{defaultPos:"mid",vgChannel:"y"===r?"yc":"xc"}),["horizontal"===i?"height":"width"]:Ou(Oh("thickness",n,t))}}},trail:{vgMark:"trail",encodeEntry:e=>({...L8(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...LV("x",e,{defaultPos:"mid"}),...LV("y",e,{defaultPos:"mid"}),...LH("size",e),...L9(e)})}},IB="faceted_path_",IP="stack_group_";function II(e,t={fromPrefix:""}){var n;let i,r,a,{mark:o,markDef:l,encoding:s,config:u}=e,f=Dt(l.clip,(i=(n=e).getScaleComponent("x"),r=n.getScaleComponent("y"),!!(i?.get("selectionExtent")||r?.get("selectionExtent"))||void 0),!!(a=e.component.projection)&&!a.isFit||void 0),c=Od(l),d=s.key,h=function(e){let{encoding:t,stack:n,mark:i,markDef:r,config:a}=e,o=t.order;if(!e9(o)&&T0(o)&&CR(o.value)||!o&&CR(Oh("order",r,a)));else if((e9(o)||TG(o))&&!n)return Og(o,{expr:"datum"});else if(N9(i)){let e="horizontal"===r.orient?"y":"x";if(TG(t[e]))return{field:e}}}(e),p=function(e){if(!e.component.selection)return null;let t=CY(e.component.selection).length,n=t,i=e.parent;for(;i&&0===n;)n=CY(i.component.selection).length,i=i.parent;return n?{interactive:t>0||"geoshape"===e.mark||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}(e);p&&Object.values(e.component.selection).some(e=>"point"===e.type&&!e.bind&&"pointerover"!==e.on)&&(e.markDef.cursor??="pointer");let m=Oh("aria",l,u),g=IL[o].postEncodingTransform?IL[o].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:IL[o].vgMark,...f?{clip:f}:{},...c?{style:c}:{},...d?{key:d.field}:{},...h?{sort:h}:{},...p||{},...!1===m?{aria:m}:{},from:{data:t.fromPrefix+e.requestDataName(ea.Main)},encode:{update:IL[o].encodeEntry(e)},...g?{transform:g}:{}}]}class Ij extends Il{markDef;encoding;specifiedScales={};stack;specifiedAxes={};specifiedLegends={};specifiedProjection={};selection=[];children=[];constructor(e,t,n,i={},r){super(e,"unit",t,n,r,void 0,Ro(e)?e.view:void 0);const a=Tt(e.mark)?{...e.mark}:{type:e.mark},o=a.type;void 0===a.filled&&(a.filled=function(e,t,{graticule:n}){if(n)return!1;let i=Op("filled",e,t),r=e.type;return Dt(i,r!==NK&&r!==NZ&&r!==N1)}(a,r,{graticule:e.data&&Lr(e.data)}));const l=this.encoding=function(e,t,n,i){var r;let a={};for(let t of CY(e))tz(DJ,t)||OH(`${t}-encoding is dropped as ${t} is not a valid encoding channel.`);for(let o of Fi){if(!e[o])continue;let l=e[o];if(tz(FA,o)){let e=function(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}(o),t=a[e];if(TG(t)&&("quantitative"===(r=t.type)||"temporal"===r)&&TG(l)&&!t.timeUnit){OH(`${e}Offset dropped because ${e} is continuous`);continue}}if("angle"!==o||"arc"!==t||e.theta||(OH("Arc marks uses theta channel rather than angle, replacing angle with theta."),o=Dv),!function(e,t,n){let i=function(e){switch(e){case D$:case DA:case DS:case Dj:case DB:case"key":case DP:case DI:case DL:case DF:case DO:case DN:case DT:case Dh:case"row":case Dd:return Fj;case"x":case"y":case Dp:case Dm:case Dx:case D_:case DE:return Fq;case"x2":case"y2":case Dw:case Dk:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case DC:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Dz:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case DM:return{point:"always",geoshape:"always"};case DR:return{text:"always"};case DD:return{point:"always",square:"always",text:"always"};case"url":return{image:"always"};case Dv:case Dg:return{text:"always",arc:"always"};case Db:case Dy:return{arc:"always"}}}(t)[n];if(!i)return!1;if("binned"===i){let n=e["x2"===t?"x":"y"];if(!(TG(n)&&TG(e[t])&&F2(n.bin)))return!1}return!0}(e,o,t)){OH(OT(o,t));continue}if(o===DC&&"line"===t){let t=zi(e[o]);if(t?.aggregate){OH("Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.");continue}}if(o===D$&&(n?"fill"in e:"stroke"in e)){OH(OO("encoding",{fill:"fill"in e,stroke:"stroke"in e}));continue}if(o===DB||o===DL&&!e9(l)&&!T0(l)||o===DP&&e9(l)){if(l){if(o===DL){let t=e[o];if(TU(t)){a[o]=t;continue}}a[o]=tw(l).reduce((e,t)=>(TG(t)?e.push(zl(t,o)):OH(ON(t,o)),e),[])}}else{if(o===DP&&null===l)a[o]=null;else if(!TG(l)&&!TV(l)&&!T0(l)&&!Tq(l)&&!F7(l)){OH(ON(l,o));continue}a[o]=za(l,o,i)}}return a}(e.encoding||{},o,a.filled,r);this.markDef=RC(a,l,r),this.size=function({encoding:e,size:t}){for(let n of F_){let i=Fe(n);Ra(t[i])&&TX(e[n])&&(delete t[i],OH(OL(i)))}return t}({encoding:l,size:Ro(e)?{...i,...void 0!==e.width?{width:e.width}:{},...void 0!==e.height?{height:e.height}:{}}:i}),this.stack=RM(this.markDef,l),this.specifiedScales=this.initScales(o,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=(e.params??[]).filter(e=>z7(e)),this.alignStackOrderWithColorDomain()}get hasProjection(){let{encoding:e}=this,t=this.mark===N8,n=e&&DH.some(t=>TZ(e[t]));return t||n}scaleDomain(e){let t=this.specifiedScales[e];return t?t.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,t){return FP.reduce((e,n)=>{let i=zr(t[n]);return i&&(e[n]=this.initScale(i.scale??{})),e},{})}initScale(e){let{domain:t,range:n}=e,i=F4(e);return e9(t)&&(i.domain=t.map(Ol)),e9(n)&&(i.range=n.map(Ol)),i}initAxes(e){return F_.reduce((t,n)=>{let i=e[n];if(TZ(i)||"x"===n&&TZ(e.x2)||"y"===n&&TZ(e.y2)){let e=TZ(i)?i.axis:void 0;t[n]=e?this.initAxis({...e}):e}return t},{})}initAxis(e){let t=CY(e),n={};for(let i of t){let t=e[i];n[i]=zm(t)?Oo(t):Ol(t)}return n}initLegends(e){return FL.reduce((t,n)=>{let i=zr(e[n]);if(i&&function(e){switch(e){case D$:case DA:case DS:case DC:case DM:case DF:case DT:case Dz:return!0;case DO:case DN:case DD:case DE:return!1}}(n)){let e=i.legend;t[n]=e?F4(e):e}return t},{})}alignStackOrderWithColorDomain(){let{color:e,fill:t,order:n,xOffset:i,yOffset:r}=this.encoding,a=t||e,o=TG(a)?a:void 0,l=o?.field,s=o?.scale,u=o?.type,f=s?.domain,c=i||r,d=TG(c)?c:void 0,h=`_${l}_sort_index`;if(!n&&Array.isArray(f)&&"string"==typeof l&&"nominal"===u)if(d&&!d.sort)d.sort=f;else{if(!this.stack)return;let e=`indexof(${t0(f)}, datum['${l}'])`,t=this.markDef?.orient==="horizontal"?"ascending":"descending";this.transforms.push({calculate:e,as:h}),this.encoding.order={field:h,type:"quantitative",sort:t}}}parseData(){this.component.data=IC(this)}parseLayoutSize(){!function(e){let{size:t,component:n}=e;for(let i of F_){let r=Fe(i);if(void 0!=t[r]&&null!=t[r]){let e=t[r];n.layoutSize.set(r,Ra(e)?"step":e,!0)}else{let t=function(e,t){let n="width"===t?"x":"y",i=e.config,r=e.getScaleComponent(n);if(r){let e=r.get("type"),n=r.get("range");if(!NO(e))return Rs(i.view,t);{let e=Rf(i.view,t);return Oe(n)||Ra(e)?"step":e}}{if(e.hasProjection||"arc"===e.mark)return Rs(i.view,t);let n=Rf(i.view,t);return Ra(n)?n.step:n}}(e,r);n.layoutSize.set(r,t,!1)}}}(this)}parseSelections(){this.component.selection=function(e,t){let n={},i=e.config.selection;if(!t||!t.length)return n;let r=0;for(let a of t){let t=CZ(a.name),o=a.select,l=tG(o)?o:o.type,s=e7(o)?CF(o):{type:l},u=i[l];for(let e in u)"fields"!==e&&"encodings"!==e&&("mark"===e&&(s.mark={...u.mark,...s.mark}),(void 0===s[e]||!0===s[e])&&(s[e]=CF(u[e]??s[e])));let f=n[t]={...s,name:t,type:l,init:a.value,bind:a.bind,events:tG(s.on)?AP(s.on,"scope"):tw(CF(s.on))};if(Bb(f)&&++r>1){delete n[t];continue}let c=CF(a);for(let t of Bm)t.defined(f)&&t.parse&&t.parse(e,f,c)}return r>1&&OH("Multiple timer selections in one unit spec are not supported. Ignoring all but the first."),n}(this,this.selection)}parseMarkGroup(){this.component.mark=function(e){if(CL([NZ,NX,N5],e.mark)){let i=zD(e.mark,e.encoding);if(i.length>0){var t,n;return t=e,n=i,[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:IB+t.requestDataName(ea.Main),data:t.requestDataName(ea.Main),groupby:n}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:II(t,{fromPrefix:IB})}]}}else if(e.mark===NJ){let t=Oa.some(t=>Oh(t,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return function(e){let t,n,[i]=II(e,{fromPrefix:IP}),r=e.scaleName(e.stack.fieldChannel),a=(t={})=>e.vgField(e.stack.fieldChannel,t),o=(e,t)=>{let n=[a({prefix:"min",suffix:"start",expr:t}),a({prefix:"max",suffix:"start",expr:t}),a({prefix:"min",suffix:"end",expr:t}),a({prefix:"max",suffix:"end",expr:t})];return`${e}(${n.map(e=>`scale('${r}',${e})`).join(",")})`};for(let r of("x"===e.stack.fieldChannel?(t={...CN(i.encode.update,["y","yc","y2","height",...Oa]),x:{signal:o("min","datum")},x2:{signal:o("max","datum")},clip:{value:!0}},n={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},i.encode.update={...CT(i.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(t={...CN(i.encode.update,["x","xc","x2","width"]),y:{signal:o("min","datum")},y2:{signal:o("max","datum")},clip:{value:!0}},n={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},i.encode.update={...CT(i.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}}),Oa)){let n=Op(r,e.markDef,e.config);i.encode.update[r]?(t[r]=i.encode.update[r],delete i.encode.update[r]):n&&(t[r]=Ou(n)),n&&(i.encode.update[r]={value:0})}let l=[];if(e.stack.groupbyChannels?.length>0)for(let t of e.stack.groupbyChannels){let n=e.fieldDef(t),i=T4(n);i&&l.push(i),(n?.bin||n?.timeUnit)&&l.push(T4(n,{binSuffix:"end"}))}return(t=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((t,n)=>{if(i.encode.update[n])return{...t,[n]:i.encode.update[n]};{let i=Op(n,e.markDef,e.config);return void 0!==i?{...t,[n]:Ou(i)}:t}},t)).stroke&&(t.strokeForeground={value:!0},t.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(ea.Main),name:IP+e.requestDataName(ea.Main),groupby:l,aggregate:{fields:[a({suffix:"start"}),a({suffix:"start"}),a({suffix:"end"}),a({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:t},marks:[{type:"group",encode:{update:n},marks:[i]}]}]}(e)}return II(e)}(this)}parseAxesAndHeaders(){var e;this.component.axes=(e=this,F_.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[function(e,t){var n;let i,r,a,o,l,s=t.axis(e),u=new IN,f=zr(t.encoding[e]),{mark:c,config:d}=t,h=s?.orient||d["x"===e?"axisX":"axisY"]?.orient||d.axis?.orient||("x"===e?"bottom":"left"),p=t.getScaleComponent(e).get("type"),m=(n=t.config,i="band"===p?["axisDiscrete","axisBand"]:"point"===p?["axisDiscrete","axisPoint"]:NS.has(p)?["axisQuantitative"]:"time"===p||"utc"===p?["axisTemporal"]:[],r="x"===e?"axisX":"axisY",a=F7(h)?"axisOrient":`axis${C1(h)}`,o=[...i,...i.map(e=>r+e.substr(4))],l=["axis",a,r],{vlOnlyAxisConfig:BM(o,n,e,h),vgAxisConfig:BM(l,n,e,h),axisConfigStyle:function(e,t){let n=[{}];for(let i of e){let e=t[i]?.style;if(e)for(let i of e=tw(e))n.push(t.style[i])}return Object.assign.apply(null,n)}([...l,...o],n)}),g=void 0!==s?!s:BC("disable",d.style,s?.style,m).configValue;if(u.set("disable",g,void 0!==s),g)return u;let y=function(e,t,n,i,r){let a=t?.labelAngle;if(void 0!==a)return F7(a)?a:Do(a);{let{configValue:a}=BC("labelAngle",i,t?.style,r);return void 0!==a?Do(a):"x"===n&&CL([Nb,Ny],e.type)&&!(TG(e)&&e.timeUnit)?270:void 0}}(f,s=s||{},e,d.style,m),v=TS(s.formatType,f,p),b=TA(f,f.type,s.format,s.formatType,d,!0),x={fieldOrDatumDef:f,axis:s,channel:e,model:t,scaleType:p,orient:h,labelAngle:y,format:b,formatType:v,mark:c,config:d};for(let n of IO){let i=n in BD?BD[n](x):tz(zb,n)?s[n]:void 0,r=void 0!==i,a=function(e,t,n,i,r){if("disable"===t)return void 0!==n;switch(n=n||{},t){case"titleAngle":case"labelAngle":return e===(F7(n.labelAngle)?n.labelAngle:Do(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===BT(i,r))return!0}return e===n[t]}(i,n,s,t,e);if(r&&a)u.set(n,i,a);else{let{configValue:e,configFrom:t}=tz(zb,n)&&"values"!==n?BC(n,d.style,s.style,m):{},o=void 0!==e;r&&!o?u.set(n,i,a):("vgAxisConfig"!==t||Iz.has(n)&&o||zm(e)||F7(e))&&u.set(n,e,!1)}}let _=s.encoding??{},w=zg.reduce((n,i)=>{if(!u.hasAxisPart(i))return n;let r=BZ(_[i]??{},t),a="labels"===i?function(e,t,n){let{encoding:i,config:r}=e,a=zr(i[t])??zr(i[D7(t)]),{format:o,formatType:l}=e.axis(t)||{};if(T_(l))return{text:T$({fieldOrDatumDef:a,field:"datum.value",format:o,formatType:l,config:r}),...n};if(void 0===o&&void 0===l&&r.customFormatTypes){if("quantitative"===TY(a)){if(T2(a)&&"normalize"===a.stack&&r.normalizedNumberFormatType)return{text:T$({fieldOrDatumDef:a,field:"datum.value",format:r.normalizedNumberFormat,formatType:r.normalizedNumberFormatType,config:r}),...n};else if(r.numberFormatType)return{text:T$({fieldOrDatumDef:a,field:"datum.value",format:r.numberFormat,formatType:r.numberFormatType,config:r}),...n}}if("temporal"===TY(a)&&r.timeFormatType&&TG(a)&&!a.timeUnit)return{text:T$({fieldOrDatumDef:a,field:"datum.value",format:r.timeFormat,formatType:r.timeFormatType,config:r}),...n}}return n}(t,e,r):r;return void 0===a||CG(a)||(n[i]={update:a}),n},{});return CG(w)||u.set("encode",w,!!s.encoding||void 0!==s.labelAngle),u}(n,e)]),t),{}))}assembleSelectionTopLevelSignals(e){return function(e,t){let n=!1;for(let i of CV(e.component.selection??{})){let r=i.name,a=t0(r+Bd);if(0===t.filter(e=>e.name===r).length){let e="global"===i.resolve?"union":i.resolve,n="point"===i.type?", true, true)":")";t.push({name:i.name,update:`${Bp}(${a}, ${t0(e)}${n}`})}for(let r of(n=!0,Bm))r.defined(i)&&r.topLevelSignals&&(t=r.topLevelSignals(e,i,t))}return n&&0===t.filter(e=>"unit"===e.name).length&&t.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),LD(t)}(this,e)}assembleSignals(){return[...BS(this),...function(e,t){for(let n of CV(e.component.selection??{})){let i=n.name,r=`${i}${Bh}, ${"global"===n.resolve?"true":`{unit: ${Bg(e)}}`}`;for(let i of Bm)i.defined(n)&&(i.signals&&(t=i.signals(e,n,t)),i.modifyExpr&&(r=i.modifyExpr(e,n,r)));t.push({name:i+"_modify",on:[{events:{signal:n.name+Bh},update:`modify(${t0(n.name+Bd)}, ${r})`}]})}return LD(t)}(this,[])]}assembleSelectionData(e){return function(e,t){let n=[],i=[],r=Bg(e,{escape:!1});for(let a of CV(e.component.selection??{})){let o={name:a.name+Bd};if(a.project.hasSelectionId&&(o.transform=[{type:"collect",sort:{field:z4}}]),a.init){let e=a.project.items.map(LS);o.values=a.project.hasSelectionId?a.init.map(e=>({unit:r,[z4]:LM(e,!1)[0]})):a.init.map(t=>({unit:r,fields:e,values:LM(t,!1)}))}if([...n,...t].filter(e=>e.name===a.name+Bd).length||n.push(o),Bb(a)&&t.length){let n=e.lookupDataSource(e.getDataName(ea.Main)),r=t.find(e=>e.name===n),a=r.transform.find(e=>"filter"===e.type&&e.expr.includes("vlSelectionTest"));if(a){r.transform=r.transform.filter(e=>e!==a);let e={name:r.name+Ly,source:r.name,transform:[a]};i.push(e)}}}return n.concat(t,i)}(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return BY(this)}correctDataNames=e=>(e.from?.data&&(e.from.data=this.lookupDataSource(e.from.data),"time"in this.encoding&&(e.from.data=e.from.data+Ly)),e.from?.facet?.data&&(e.from.facet.data=this.lookupDataSource(e.from.facet.data)),e);assembleMarks(){let e=this.component.mark??[];return this.parent&&Ia(this.parent)||(e=LC(this,e)),e.map(this.correctDataNames)}assembleGroupStyle(){let{style:e}=this.view||{};return void 0!==e?e:this.encoding.x||this.encoding.y?"cell":"view"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return zk(this.encoding,e)}fieldDef(e){return zi(this.encoding[e])}typedFieldDef(e){let t=this.fieldDef(e);return TK(t)?t:null}}class IU extends Io{children;constructor(e,t,n,i,r){super(e,"layer",t,n,r,e.resolve,e.view);const a={...i,...e.width?{width:e.width}:{},...e.height?{height:e.height}:{}};this.children=e.layer.map((e,t)=>{if(R_(e))return new IU(e,this,this.getName(`layer_${t}`),a,r);if(z_(e))return new Ij(e,this,this.getName(`layer_${t}`),a,r);throw Error(Ox(e))})}parseData(){for(let e of(this.component.data=IC(this),this.children))e.parseData()}parseLayoutSize(){IE(this),I$(this,"width"),I$(this,"height")}parseSelections(){for(let e of(this.component.selection={},this.children))for(let t of(e.parseSelections(),CY(e.component.selection)))this.component.selection[t]=e.component.selection[t];CV(this.component.selection).some(e=>Bb(e))&&OW(OM)}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){!function(e){let{axes:t,resolve:n}=e.component,i={top:0,bottom:0,right:0,left:0};for(let i of e.children)for(let r of(i.parseAxesAndHeaders(),CY(i.component.axes)))n.axis[r]=B0(e.component.resolve,r),"shared"===n.axis[r]&&(t[r]=function(e,t){if(!e)return t.map(e=>e.clone());{if(e.length!==t.length)return;let n=e.length;for(let i=0;i{switch(n){case"title":return Ob(e,t);case"gridScale":return{explicit:e.explicit,value:Dt(e.value,t.value)}}return R6(e,t,n,"axis")});e.setWithExplicit(n,i)}return e}(n,r)}}}return e}(t[r],i.component.axes[r]),t[r]||(n.axis[r]="independent",delete t[r]));for(let r of F_){for(let a of e.children)if(a.component.axes[r]){if("independent"===n.axis[r])for(let e of(t[r]=(t[r]??[]).concat(a.component.axes[r]),a.component.axes[r])){let{value:t,explicit:n}=e.getWithExplicit("orient");if(!F7(t)){if(i[t]>0&&!n){let n=IT[t];i[t]>i[n]&&e.set("orient",n,!1)}i[t]++}}delete a.component.axes[r]}if("independent"===n.axis[r]&&t[r]&&t[r].length>1)for(let[e,n]of(t[r]||[]).entries())e>0&&n.get("grid")&&!n.explicit.grid&&(n.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleSignals()),BS(this))}assembleLayoutSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleLayoutSignals()),BY(this))}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleGroupStyle(){let e=new Set;for(let t of this.children)for(let n of tw(t.assembleGroupStyle()))e.add(n);let t=Array.from(e);return t.length>1?t:1===t.length?t[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(let t of this.children)if(e=t.assembleTitle())return e}assembleLayout(){return null}assembleMarks(){var e=this.children.flatMap(e=>e.assembleMarks());for(let t of this.children)In(t)&&(e=LC(t,e));return e}assembleLegends(){return this.children.reduce((e,t)=>e.concat(t.assembleLegends()),PY(this))}}function Iq(e,t,n,i,r){if(TR(e))return new IS(e,t,n,r);if(R_(e))return new IU(e,t,n,i,r);if(z_(e))return new Ij(e,t,n,i,r);if(Rn(e)||Ri(e)||Rt(e))return new IF(e,t,n,r);throw Error(Ox(e))}e.s(["accessPathDepth",0,De,"accessPathWithDatum",0,C2,"accessWithDatumToUnescapedPath",0,C5,"compile",0,function(e,t={}){t.logger&&(Oq=t.logger),t.fieldTitle&&(T7=t.fieldTitle);try{let n=Ry(tt(t.config,e.config)),i=RV(e,n),r=Iq(i,null,"",void 0,n);return r.parse(),!function(e,t){PT(e.sources);let n=0,i=0;for(let i=0;i<5&&PR(e,t,!0);i++)n++;e.sources.map(function e(t){if(t instanceof Po)if(1!==t.numChildren()||t.children[0]instanceof Ll){let e=t.model.component.data.main;!function e(t){if(t instanceof Ll&&t.type===ea.Main&&1===t.numChildren()){let n=t.children[0];n instanceof Po||(n.swapWithParent(),e(t))}}(e);let n=function e(n){if(!(n instanceof Po)){let i=n.clone();if(i instanceof Ll){let e=PN+i.getSource();i.setSource(e),t.model.component.data.outputNodes[e]=i}else(i instanceof Pa||i instanceof PF||i instanceof PO||i instanceof PM)&&i.addDimensions(t.fields);for(let t of n.children.flatMap(e))t.parent=i;return[i]}return n.children.flatMap(e)};for(let i of t.children.map(n).flat())i.parent=e}else{let n=t.children[0];(n instanceof Pa||n instanceof PF||n instanceof PO||n instanceof PM)&&n.addDimensions(t.fields),n.swapWithParent(),e(t)}else t.children.map(e)});for(let n=0;n<5&&PR(e,t,!1);n++)i++;PT(e.sources),5===Math.max(n,i)&&OH("Maximum optimization runs(5) reached.")}(r.component.data,r),{spec:function(e,t,n={},i){let r=e.config?function(e){for(let t of(e=CF(e),Rb))delete e[t];if(e.axis)for(let t in e.axis)zm(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of zK)delete e.legend[t];if(e.mark){for(let t of Ti)delete e.mark[t];e.mark.tooltip&&e7(e.mark.tooltip)&&delete e.mark.tooltip}for(let t of(e.params&&(e.signals=(e.signals||[]).concat(Re(e.params)),delete e.params),Rv)){for(let n of Ti)delete e[t][n];let n=Rx[t];if(n)for(let i of n)delete e[t][i];!function(e,t,n){let i=e[t];"view"===t&&(n="cell");let r={...i,...e.style[n??t]};CG(r)||(e.style[n??t]=r),delete e[t]}(e,t)}for(let t of CY(zQ))delete e[t];for(let t in function(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:i}=F8(e.title);CG(t)||(e.style["group-title"]={...e.style["group-title"],...t}),CG(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n}),CG(i)?delete e.title:e.title=i}(e),e)e7(e[t])&&CG(e[t])&&delete e[t];return CG(e)?void 0:e}(e.config):void 0,a=function(e,t){let n=[],i=I_(n),r=0;for(let t of e.sources){t.hasName()||(t.dataName=`source_${r++}`);let e=t.assemble();i(t,e)}for(let e of n)0===e.transform.length&&delete e.transform;let a=0;for(let[e,t]of n.entries())0!==(t.transform??[]).length||t.source||n.splice(a++,0,n.splice(e,1)[0]);for(let t of n)for(let n of t.transform??[])"lookup"===n.type&&(n.from=e.outputNodes[n.from].getSource());for(let e of n)e.name in t&&(e.values=t[e.name]);return n}(e.component.data,n),o=e.assembleSelectionData(a),l=e.assembleProjections(),s=e.assembleTitle(),u=e.assembleGroupStyle(),f=e.assembleGroupEncodeEntry(!0),c=e.assembleLayoutSignals();c=c.filter(e=>"width"!==e.name&&"height"!==e.name||void 0===e.value||(t[e.name]=+e.value,!1));let{params:d,...h}=t;return{$schema:"https://vega.github.io/schema/vega/v6.json",...e.description?{description:e.description}:{},...h,...s?{title:s}:{},...u?{style:u}:{},...f?{encode:{update:f}}:{},data:o,...l.length>0?{projections:l}:{},...e.assembleGroup([...c,...e.assembleSelectionTopLevelSignals([]),...Re(d)]),...r?{config:r}:{},...i?{usermeta:i}:{}}}(r,function(e,t,n,i){let r=i.component.layoutSize.get("width"),a=i.component.layoutSize.get("height");if(void 0===t?(t={type:"pad"},i.hasAxisOrientSignalRef()&&(t.resize=!0)):tG(t)&&(t={type:t}),r&&a&&["fit","fit-x","fit-y"].includes(t.type)){if("step"===r&&"step"===a)OH(Ok()),t.type="pad";else if("step"===r||"step"===a){var o;let e="step"===r?"width":"height";OH(Ok(F$(e))),t.type=(o="width"===e?"height":"width")?`fit-${F$(o)}`:"fit"}}return{...1===CY(t).length&&t.type?"pad"===t.type?{}:{autosize:t.type}:{autosize:t},...R0(n,!1),...R0(e,!0)}}(e,i.autosize,n,r),e.datasets,e.usermeta),normalized:i}}finally{t.logger&&(Oq=OU),t.fieldTitle&&(T7=T9)}},"contains",0,CL,"deepEqual",0,Du,"deleteNestedProperty",0,C0,"duplicate",0,CF,"entries",0,CX,"every",0,CP,"fieldIntersection",0,CH,"flatAccessWithDatum",0,C3,"getFirstDefined",0,Dt,"hasIntersection",0,Cq,"hasProperty",0,Dc,"hash",0,Cz,"internalField",0,Dr,"isBoolean",0,CJ,"isEmpty",0,CG,"isEqual",0,function(e,t){let n=CY(e),i=CY(t);if(n.length!==i.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0},"isInternalField",0,Da,"isNullOrFalse",0,CR,"isNumeric",0,Dl,"isPrimitive",0,CQ,"keys",0,CY,"logicalExpr",0,CK,"mergeDeep",0,CI,"never",0,CO,"normalize",0,RV,"normalizeAngle",0,Do,"omit",0,CT,"pick",0,CN,"prefixGenerator",0,CW,"removePathFromField",0,C7,"replaceAll",0,C9,"replacePathInField",0,C8,"resetIdCounter",0,function(){Dn=42},"setEqual",0,CU,"some",0,CB,"stringify",0,Df,"titleCase",0,C1,"unescapeSingleQuoteAndPathDot",0,C6,"unique",0,Cj,"uniqueId",0,Di,"vals",0,CV,"varName",0,CZ,"version",0,"6.4.2"],86494);var IW=e.i(86494);let IH=function(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}},IG="#fff",IY="#888",IV="#4572a7",IX="#30a2da",IJ="#cbcbcb",IQ="#f0f0f0",IZ="#333",IK="#000",I0="Benton Gothic, sans-serif",I1="#82c6df",I2="Benton Gothic Bold, sans-serif",I3="normal",I5=["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],I6="#ab5787",I4="#979797",I8="#3e5c69",I9="#1696d2",I7="#000000",je="Lato",jt="Lato",jn=["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"],ji="#3366CC",jr="#ccc",ja="Arial, sans-serif",jo=e=>e*(1/3+1),jl=jo(9),js=jo(10),ju=jo(12),jf="Segoe UI",jc="wf_standard-font, helvetica, arial, sans-serif",jd="#252423",jh="#605E5C",jp="transparent",jm="#118DFF",jg="#DEEFFF",jy=[jg,jm],jv='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',jb={g90:"#f4f4f4",g100:"#f4f4f4",white:"#161616",g10:"#161616"},jx={g90:"#c6c6c6",g100:"#c6c6c6",white:"#525252",g10:"#525252"},j_={white:"#e0e0e0",g10:"#e0e0e0",g90:"#525252",g100:"#393939"},jw={white:"#ffffff",g10:"#ffffff",g90:"#161616",g100:"#161616"},jk=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],jE=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function j$({theme:e,background:t}){let n=["white","g10"].includes(e)?"light":"dark",i=jw[e],r=jb[e],a=jx[e],o="dark"===n?"#d4bbff":"#6929c4";return{background:t,arc:{fill:o},area:{fill:o},path:{stroke:o},rect:{fill:o},shape:{stroke:o},symbol:{stroke:o},circle:{fill:o},view:{fill:i,stroke:i},group:{fill:i},title:{color:r,anchor:"start",dy:-15,fontSize:16,font:jv,fontWeight:600},axis:{labelColor:a,labelFontSize:12,labelFont:'IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif',labelFontWeight:400,titleColor:r,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:j_[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:jv,fill:a,fontWeight:400},"guide-title":{font:jv,fill:a,fontWeight:400}},range:{category:"dark"===n?jk:jE,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}let jA=j$({theme:"white",background:"#ffffff"}),jS=j$({theme:"g10",background:"#f4f4f4"}),jM=j$({theme:"g90",background:"#262626"}),jC=j$({theme:"g100",background:"#161616"});e.s(["carbong10",0,jS,"carbong100",0,jC,"carbong90",0,jM,"carbonwhite",0,jA,"dark",0,{background:"#333",view:{stroke:IY},title:{color:IG,subtitleColor:IG},style:{"guide-label":{fill:IG},"guide-title":{fill:IG}},axis:{domainColor:IG,gridColor:IY,tickColor:IG}},"excel",0,{background:"#fff",arc:{fill:IV},area:{fill:IV},line:{stroke:IV,strokeWidth:2},path:{stroke:IV},rect:{fill:IV},shape:{stroke:IV},symbol:{fill:IV,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},"fivethirtyeight",0,{arc:{fill:IX},area:{fill:IX},axis:{domainColor:IJ,grid:!0,gridColor:IJ,gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:IJ,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:IQ,group:{fill:IQ},legend:{labelColor:IZ,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:IZ,titleFontSize:14,titlePadding:10},line:{stroke:IX,strokeWidth:2},path:{stroke:IX,strokeWidth:.5},rect:{fill:IX},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:IX},bar:{binSpacing:2,fill:IX,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},"ggplot2",0,{group:{fill:"#e5e5e5"},arc:{fill:IK},area:{fill:IK},line:{stroke:IK},path:{stroke:IK},rect:{fill:IK},shape:{stroke:IK},symbol:{fill:IK,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},"googlecharts",0,{arc:{fill:ji},area:{fill:ji},path:{stroke:ji},rect:{fill:ji},shape:{stroke:ji},symbol:{stroke:ji},circle:{fill:ji},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:ja,fontSize:12},"guide-title":{font:ja,fontSize:12},"group-title":{font:ja,fontSize:12}},title:{font:ja,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:jr,tickColor:jr,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},"latimes",0,{background:"#ffffff",title:{anchor:"start",color:"#000000",font:I2,fontSize:22,fontWeight:"normal"},arc:{fill:I1},area:{fill:I1},line:{stroke:I1,strokeWidth:2},path:{stroke:I1},rect:{fill:I1},shape:{stroke:I1},symbol:{fill:I1,size:30},axis:{labelFont:I0,labelFontSize:11.5,labelFontWeight:"normal",titleFont:I2,titleFontSize:13,titleFontWeight:I3},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:I0,labelFontSize:11.5,symbolType:"square",titleFont:I2,titleFontSize:13,titleFontWeight:I3},range:{category:["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],diverging:["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],heatmap:I5,ordinal:I5,ramp:I5}},"powerbi",0,{view:{stroke:jp},background:jp,font:jf,header:{titleFont:jc,titleFontSize:ju,titleColor:jd,labelFont:jf,labelFontSize:js,labelColor:jh},axis:{ticks:!1,grid:!1,domain:!1,labelColor:jh,labelFontSize:jl,titleFont:jc,titleColor:jd,titleFontSize:ju,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:"#C8C6C4",gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:jm},line:{stroke:jm,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:jf,fontSize:jl,fill:jh},arc:{fill:jm},area:{fill:jm,line:!0,opacity:.6},path:{stroke:jm},rect:{fill:jm},point:{fill:jm,filled:!0,size:75},shape:{stroke:jm},symbol:{fill:jm,strokeWidth:1.5,size:50},legend:{titleFont:jf,titleFontWeight:"bold",titleColor:jh,labelFont:jf,labelFontSize:js,labelColor:jh,symbolType:"circle",symbolSize:75},range:{category:[jm,"#12239E","#E66C37","#6B007B","#E044A7","#744EC2","#D9B300","#D64550"],diverging:jy,heatmap:jy,ordinal:[jg,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",jm]}},"quartz",0,{background:"#f9f9f9",arc:{fill:I6},area:{fill:I6},line:{stroke:I6},path:{stroke:I6},rect:{fill:I6},shape:{stroke:I6},symbol:{fill:I6,size:30},axis:{domainColor:I4,domainWidth:.5,gridWidth:.2,labelColor:I4,tickColor:I4,tickWidth:.2,titleColor:I4},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},"urbaninstitute",0,{background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:je},axisX:{domain:!0,domainColor:I7,domainWidth:1,grid:!1,labelFontSize:12,labelFont:jt,labelAngle:0,tickColor:I7,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:je},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:jt,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:je,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:jt,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:je,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],diverging:jn,heatmap:jn,ordinal:["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],ramp:["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"]},area:{fill:I9},rect:{fill:I9},line:{color:I9,stroke:I9,strokeWidth:5},trail:{color:I9,stroke:I9,strokeWidth:0,size:1},path:{stroke:I9,strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:I9,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:I9,stroke:null}},arc:{fill:I9},shape:{stroke:I9},symbol:{fill:I9,size:30}},"version",0,"2.15.0","vox",0,{background:"#fff",arc:{fill:I8},area:{fill:I8},line:{stroke:I8},path:{stroke:I8},rect:{fill:I8},shape:{stroke:I8},symbol:{fill:I8},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}}],53103);var jD=e.i(53103);function jF(e,t,n){return e.fields=t||[],e.fname=n,e}function jO(e){throw Error(e)}C=1===(v=function(e){let t=[],n=e.length,i=null,r=0,a="",o,l,s;function u(){t.push(a+e.substring(o,l)),a="",o=l+1}for(e+="",o=l=0;lo&&u(),r=o=l+1):"]"===s&&(r||jO("Access path missing open bracket: "+e),r>0&&u(),r=0,o=l+1):l>o?u():o=l+1}return r&&jO("Access path missing closing bracket: "+e),i&&jO("Access path missing closing quote: "+e),l>o&&(l++,u()),t}(C="id")).length?v[0]:C,jF(1===($=v).length?(_=$[0],function(e){return e[_]}):(w=(A=$).length,function(e){for(let t=0;te,[],"identity"),jF(()=>0,[],"zero"),jF(()=>1,[],"one"),jF(()=>!0,[],"true"),jF(()=>!1,[],"false"),Object.getOwnPropertyNames(Object.prototype);var jN=Array.isArray;function jT(e){return e===Object(e)}function jz(e,t){let n;return JSON.stringify(e,(n=[],function(e,i){if("object"!=typeof i||null===i)return i;let r=n.indexOf(this)+1;return(n.length=r,n.length>t)?"[Object]":n.indexOf(i)>=0?"[Circular]":(n.push(i),i)}))}var jR=`#vg-tooltip-element { visibility: hidden; padding: 8px; position: fixed; z-index: 1000; font-family: sans-serif; font-size: 11px; border-radius: 3px; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); /* The default theme is the light theme. */ background-color: rgba(255, 255, 255, 0.95); border: 1px solid #d9d9d9; color: black; } #vg-tooltip-element.visible { visibility: visible; } #vg-tooltip-element h2 { margin-top: 0; margin-bottom: 10px; font-size: 13px; } #vg-tooltip-element table { border-spacing: 0; } #vg-tooltip-element table tr { border: none; } #vg-tooltip-element table tr td { overflow: hidden; text-overflow: ellipsis; padding-top: 2px; padding-bottom: 2px; } #vg-tooltip-element table tr td.key { color: #808080; max-width: 150px; text-align: right; padding-right: 4px; } #vg-tooltip-element table tr td.value { display: block; max-width: 300px; max-height: 7em; text-align: left; } #vg-tooltip-element.dark-theme { background-color: rgba(32, 32, 32, 0.9); border: 1px solid #f5f5f5; color: white; } #vg-tooltip-element.dark-theme td.key { color: #bfbfbf; } `;let jL="vg-tooltip-element",jB={offsetX:10,offsetY:10,id:jL,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&").replace(/t("string"==typeof e?e:jz(e,n))).join(", ")}]`;if(jT(e)){let r="",{title:a,image:o,...l}=e;a&&(r+=`

${t(a)}

`),o&&(r+=``);let s=Object.keys(l);if(s.length>0){for(let e of(r+="",s)){let i=l[e];void 0!==i&&(jT(i)&&(i=jz(i,n)),r+=``)}r+="
${t(e)}${t(i)}
"}return r||"{}"}return t(e)},baseURL:"",anchor:"cursor",position:["top","bottom","left","right","top-left","top-right","bottom-left","bottom-right"]};function jP(e,t,{offsetX:n,offsetY:i}){let r=jI({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,i);for(let e of["bottom-right","bottom-left","top-right","top-left"])if(jj(r[e],t))return r[e];return r["top-left"]}function jI(e,t,n,i){let r=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,l=r-t.width/2,s=e.x2+n,u=e.y1-t.height-i,f=a-t.height/2,c=e.y2+i;return{top:{x:l,y:u},bottom:{x:l,y:c},left:{x:o,y:f},right:{x:s,y:f},"top-left":{x:o,y:u},"top-right":{x:s,y:u},"bottom-left":{x:o,y:c},"bottom-right":{x:s,y:c}}}function jj(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}class jU{constructor(e){this.options={...jB,...e};const t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const e=document.createElement("style");e.setAttribute("id",this.options.styleId),e.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error("Invalid HTML ID");return jR.toString().replace(jL,e)}(t);const n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,i){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),(document.fullscreenElement??document.body).appendChild(this.el)),null==i||""===i)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=this.options.formatTooltip(i,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add("visible",`${this.options.theme}-theme`);let{x:r,y:a}="mark"===this.options.anchor?function(e,t,n,i,r){let{position:a,offsetX:o,offsetY:l}=r,s=jI(function(e,t,n){let i=n.isVoronoi?n.datum.bounds:n.bounds,r=e.left+t[0]+i.x1,a=e.top+t[1]+i.y1,o=n;for(;o.mark.group;)r+=(o=o.mark.group).x??0,a+=o.y??0;return{x1:r,x2:r+(i.x2-i.x1),y1:a,y2:a+(i.y2-i.y1)}}(e._el.getBoundingClientRect(),e._origin,n),i,o,l);for(let e of Array.isArray(a)?a:[a]){var u,f,c;if(jj(s[e],i)&&(u=t,f=s[e],c=i,!(u.clientX>=f.x)||!(u.clientX<=f.x+c.width)||!(u.clientY>=f.y)||!(u.clientY<=f.y+c.height)))return s[e]}return jP(t,i,r)}(e,t,n,this.el.getBoundingClientRect(),this.options):jP(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${r}px`}}var jq=(D=function(e,t){return(D=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}D(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),jW=Object.prototype.hasOwnProperty;function jH(e,t){return jW.call(e,t)}function jG(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n=48&&t<=57){n++;continue}return!1}return!0}function jX(e){return -1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function jJ(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function jQ(e,t){var n=[e];for(var i in t){var r="object"==typeof t[i]?JSON.stringify(t[i],null,2):t[i];void 0!==r&&n.push(i+": "+r)}return n.join("\n")}var jZ=function(e){function t(t,n,i,r,a){var o=this.constructor,l=e.call(this,jQ(t,{name:n,index:i,operation:r,tree:a}))||this;return l.name=n,l.index=i,l.operation=r,l.tree=a,Object.setPrototypeOf(l,o.prototype),l.message=jQ(t,{name:n,index:i,operation:r,tree:a}),l}return jq(t,e),t}(Error),jK={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var i=e[t];return delete e[t],{newDocument:n,removed:i}},replace:function(e,t,n){var i=e[t];return e[t]=this.value,{newDocument:n,removed:i}},move:function(e,t,n){var i=j1(n,this.path);i&&(i=jY(i));var r=j2(n,{op:"remove",path:this.from}).removed;return j2(n,{op:"add",path:this.path,value:r}),{newDocument:n,removed:i}},copy:function(e,t,n){var i=j1(n,this.from);return j2(n,{op:"add",path:this.path,value:jY(i)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:j4(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},j0={add:function(e,t,n){return jV(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var i=e[t];return e[t]=this.value,{newDocument:n,removed:i}},move:jK.move,copy:jK.copy,test:jK.test,_get:jK._get};function j1(e,t){if(""==t)return e;var n={op:"_get",path:t};return j2(e,n),n.value}function j2(e,t,n,i,r,a){if(void 0===n&&(n=!1),void 0===i&&(i=!0),void 0===r&&(r=!0),void 0===a&&(a=0),n&&("function"==typeof n?n(t,0,e,t.path):j5(t,0)),""===t.path){var o={newDocument:e};if("add"===t.op)return o.newDocument=t.value,o;if("replace"===t.op)return o.newDocument=t.value,o.removed=e,o;if("move"===t.op||"copy"===t.op)return o.newDocument=j1(e,t.from),"move"===t.op&&(o.removed=e),o;else if("test"===t.op){if(o.test=j4(e,t.value),!1===o.test)throw new jZ("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o.newDocument=e,o}else if("remove"===t.op)return o.removed=e,o.newDocument=null,o;else if("_get"===t.op)return t.value=e,o;else if(!n)return o;else throw new jZ("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e)}i||(e=jY(e));var l=(t.path||"").split("/"),s=e,u=1,f=l.length,c=void 0,d=void 0,h=void 0;for(h="function"==typeof n?n:j5;;){if((d=l[u])&&-1!=d.indexOf("~")&&(d=jJ(d)),r&&("__proto__"==d||"prototype"==d&&u>0&&"constructor"==l[u-1]))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&void 0===c&&(void 0===s[d]?c=l.slice(0,u).join("/"):u==f-1&&(c=t.path),void 0!==c&&h(t,0,e,c)),u++,Array.isArray(s)){if("-"===d)d=s.length;else if(n&&!jV(d))throw new jZ("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);else jV(d)&&(d=~~d);if(u>=f){if(n&&"add"===t.op&&d>s.length)throw new jZ("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=j0[t.op].call(t,s,d,e);if(!1===o.test)throw new jZ("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(u>=f){var o=jK[t.op].call(t,s,d,e);if(!1===o.test)throw new jZ("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(s=s[d],n&&u0)throw new jZ('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);else if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new jZ("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);else if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new jZ("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);else if(("add"===e.op||"replace"===e.op||"test"===e.op)&&function e(t){if(void 0===t)return!0;if(t){if(Array.isArray(t)){for(var n=0,i=t.length;n0&&(e.patches=[],e.callback&&e.callback(i)),i}function Un(e,t,n,i,r){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var a=jG(t),o=jG(e),l=!1,s=o.length-1;s>=0;s--){var u=o[s],f=e[u];if(jH(t,u)&&(void 0!==t[u]||void 0===f||!1!==Array.isArray(t))){var c=t[u];"object"==typeof f&&null!=f&&"object"==typeof c&&null!=c&&Array.isArray(f)===Array.isArray(c)?Un(f,c,n,i+"/"+jX(u),r):f!==c&&(r&&n.push({op:"test",path:i+"/"+jX(u),value:jY(f)}),n.push({op:"replace",path:i+"/"+jX(u),value:jY(c)}))}else Array.isArray(e)===Array.isArray(t)?(r&&n.push({op:"test",path:i+"/"+jX(u),value:jY(f)}),n.push({op:"remove",path:i+"/"+jX(u)}),l=!0):(r&&n.push({op:"test",path:i,value:e}),n.push({op:"replace",path:i,value:t}))}if(l||a.length!=o.length)for(var s=0;sn?"object"!=typeof n?e:n:t}Object.assign({},j8,Object.freeze({__proto__:null,compare:function(e,t,n){void 0===n&&(n=!1);var i=[];return Un(e,t,i,"",n),i},generate:Ut,observe:function(e,t){var n=j9.get(e);if(n){var i,r=n.observers.get(t);i=r&&r.observer}else n=new j7(e),j9.set(e,n);if(i)return i;if(i={},n.value=jY(e),t){i.callback=t,i.next=null;var a=function(){Ut(i)},o=function(){clearTimeout(i.next),i.next=setTimeout(a)};"u">typeof window&&(window.addEventListener("mouseup",o),window.addEventListener("keyup",o),window.addEventListener("mousedown",o),window.addEventListener("keydown",o),window.addEventListener("change",o))}return i.patches=[],i.object=e,i.unobserve=function(){var e,t;Ut(i),clearTimeout(i.next),e=n,t=i,e.observers.delete(t.callback),"u">typeof window&&(window.removeEventListener("mouseup",o),window.removeEventListener("keyup",o),window.removeEventListener("mousedown",o),window.removeEventListener("keydown",o),window.removeEventListener("change",o))},n.observers.set(t,new Ue(t,i)),i},unobserve:function(e,t){t.unobserve()}}),{JsonPatchError:jZ,deepClone:jY,escapePathComponent:jX,unescapePathComponent:jJ});var Ur={exports:{}};function Ua(){return ec?ef:(ec=1,ef={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||0x1fffffffffffff,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2})}function Uo(){return eh?ed:(eh=1,ed="object"==typeof ej.default&&ej.default.env&&ej.default.env.NODE_DEBUG&&/\bsemver\b/i.test(ej.default.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{})}function Ul(){return ep||(ep=1,!function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:r}=Ua(),a=Uo(),o=(t=e.exports={}).re=[],l=t.safeRe=[],s=t.src=[],u=t.t={},f=0,c="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",r],[c,i]],h=(e,t,n)=>{let i=(e=>{for(let[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),r=f++;a(e,r,t),u[e]=r,s[r]=t,o[r]=new RegExp(t,n?"g":void 0),l[r]=new RegExp(i,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${c}*`),h("MAINVERSION",`(${s[u.NUMERICIDENTIFIER]})\\.(${s[u.NUMERICIDENTIFIER]})\\.(${s[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${s[u.NUMERICIDENTIFIERLOOSE]})\\.(${s[u.NUMERICIDENTIFIERLOOSE]})\\.(${s[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${s[u.NUMERICIDENTIFIER]}|${s[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${s[u.NUMERICIDENTIFIERLOOSE]}|${s[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${s[u.PRERELEASEIDENTIFIER]}(?:\\.${s[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${s[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${c}+`),h("BUILD",`(?:\\+(${s[u.BUILDIDENTIFIER]}(?:\\.${s[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${s[u.MAINVERSION]}${s[u.PRERELEASE]}?${s[u.BUILD]}?`),h("FULL",`^${s[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${s[u.MAINVERSIONLOOSE]}${s[u.PRERELEASELOOSE]}?${s[u.BUILD]}?`),h("LOOSE",`^${s[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${s[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${s[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${s[u.XRANGEIDENTIFIER]})(?:\\.(${s[u.XRANGEIDENTIFIER]})(?:\\.(${s[u.XRANGEIDENTIFIER]})(?:${s[u.PRERELEASE]})?${s[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${s[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[u.XRANGEIDENTIFIERLOOSE]})(?:${s[u.PRERELEASELOOSE]})?${s[u.BUILD]}?)?)?`),h("XRANGE",`^${s[u.GTLT]}\\s*${s[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${s[u.GTLT]}\\s*${s[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${s[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",s[u.COERCEPLAIN]+`(?:${s[u.PRERELEASE]})?`+`(?:${s[u.BUILD]})?`+"(?:$|[^\\d])"),h("COERCERTL",s[u.COERCE],!0),h("COERCERTLFULL",s[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${s[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${s[u.LONETILDE]}${s[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${s[u.LONETILDE]}${s[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${s[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${s[u.LONECARET]}${s[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${s[u.LONECARET]}${s[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${s[u.GTLT]}\\s*(${s[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${s[u.GTLT]}\\s*(${s[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${s[u.GTLT]}\\s*(${s[u.LOOSEPLAIN]}|${s[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${s[u.XRANGEPLAIN]})\\s+-\\s+(${s[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${s[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ur,Ur.exports)),Ur.exports}function Us(){if(ev)return ey;ev=1;let e=Uo(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Ua(),{safeRe:i,t:r}=Ul(),a=Ui(),{compareIdentifiers:o}=function(){if(eg)return em;eg=1;let e=/^[0-9]+$/,t=(t,n)=>{let i=e.test(t),r=e.test(n);return i&&r&&(t*=1,n*=1),t===n?0:i&&!r?-1:r&&!i?1:tt(n,e)}}();class l{constructor(o,s){if(s=a(s),o instanceof l)if(!!s.loose===o.loose&&!!s.includePrerelease===o.includePrerelease)return o;else o=o.version;else if("string"!=typeof o)throw TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw TypeError(`version is longer than ${t} characters`);e("SemVer",o,s),this.options=s,this.loose=!!s.loose,this.includePrerelease=!!s.includePrerelease;const u=o.trim().match(s.loose?i[r.LOOSE]:i[r.FULL]);if(!u)throw TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>n||this.major<0)throw TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);if(-1===i){if(t===this.prerelease.join(".")&&!1===n)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let i=[t,e];!1===n&&(i=[t]),0===o(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return ey=l}function Uu(){if(ex)return eb;ex=1;let e=Us();return eb=(t,n,i)=>new e(t,i).compare(new e(n,i))}var Uf=(F=function(){if(eI)return eP;eI=1;let e=function e(){if(eB)return eL;eB=1;let t=/\s+/g;class n{constructor(e,i){if(i=r(i),e instanceof n)if(!!i.loose===e.loose&&!!i.includePrerelease===e.includePrerelease)return e;else return new n(e.raw,i);if(e instanceof a)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease,this.raw=e.trim().replace(t," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter(e=>!m(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1){for(const e of this.set)if(1===e.length&&g(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let e=0;e0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let t=((this.options.includePrerelease&&h)|(this.options.loose&&p))+":"+e,n=i.get(t);if(n)return n;let r=this.options.loose,l=r?s[u.HYPHENRANGELOOSE]:s[u.HYPHENRANGE];o("hyphen replace",e=e.replace(l,M(this.options.includePrerelease))),o("comparator trim",e=e.replace(s[u.COMPARATORTRIM],f)),o("tilde trim",e=e.replace(s[u.TILDETRIM],c)),o("caret trim",e=e.replace(s[u.CARETTRIM],d));let g=e.split(" ").map(e=>v(e,this.options)).join(" ").split(/\s+/).map(e=>S(e,this.options));r&&(g=g.filter(e=>(o("loose invalid filter",e,this.options),!!e.match(s[u.COMPARATORLOOSE])))),o("range list",g);let y=new Map;for(let e of g.map(e=>new a(e,this.options))){if(m(e))return[e];y.set(e.value,e)}y.size>1&&y.has("")&&y.delete("");let b=[...y.values()];return i.set(t,b),b}intersects(e,t){if(!(e instanceof n))throw TypeError("a Range is required");return this.set.some(n=>y(n,t)&&e.set.some(e=>y(e,t)&&n.every(n=>e.every(e=>n.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}})),r=Ui(),a=function(){if(eR)return ez;eR=1;let t=Symbol("SemVer ANY");class n{static get ANY(){return t}constructor(e,r){if(r=i(r),e instanceof n)if(!!r.loose===e.loose)return e;else e=e.value;l("comparator",e=e.trim().split(/\s+/).join(" "),r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===t?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){let n=this.options.loose?r[a.COMPARATORLOOSE]:r[a.COMPARATOR],i=e.match(n);if(!i)throw TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==i[1]?i[1]:"","="===this.operator&&(this.operator=""),i[2]?this.semver=new s(i[2],this.options.loose):this.semver=t}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===t||e===t)return!0;if("string"==typeof e)try{e=new s(e,this.options)}catch(e){return!1}return o(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw TypeError("a Comparator is required");return""===this.operator?""===this.value||new u(e.value,t).test(this.value):""===e.operator?""===e.value||new u(this.value,t).test(e.semver):!((t=i(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||o(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||o(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">"))}}ez=n;let i=Ui(),{safeRe:r,t:a}=Ul(),o=function(){if(eT)return eN;eT=1;let e=function(){if(ew)return e_;ew=1;let e=Uu();return e_=(t,n,i)=>0===e(t,n,i)}(),t=function(){if(eE)return ek;eE=1;let e=Uu();return ek=(t,n,i)=>0!==e(t,n,i)}(),n=function(){if(eA)return e$;eA=1;let e=Uu();return e$=(t,n,i)=>e(t,n,i)>0}(),i=function(){if(eM)return eS;eM=1;let e=Uu();return eS=(t,n,i)=>e(t,n,i)>=0}(),r=function(){if(eD)return eC;eD=1;let e=Uu();return eC=(t,n,i)=>0>e(t,n,i)}(),a=function(){if(eO)return eF;eO=1;let e=Uu();return eF=(t,n,i)=>0>=e(t,n,i)}();return eN=(o,l,s,u)=>{switch(l){case"===":return"object"==typeof o&&(o=o.version),"object"==typeof s&&(s=s.version),o===s;case"!==":return"object"==typeof o&&(o=o.version),"object"==typeof s&&(s=s.version),o!==s;case"":case"=":case"==":return e(o,s,u);case"!=":return t(o,s,u);case">":return n(o,s,u);case">=":return i(o,s,u);case"<":return r(o,s,u);case"<=":return a(o,s,u);default:throw TypeError(`Invalid operator: ${l}`)}}}(),l=Uo(),s=Us(),u=e();return ez}(),o=Uo(),l=Us(),{safeRe:s,t:u,comparatorTrimReplace:f,tildeTrimReplace:c,caretTrimReplace:d}=Ul(),{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:p}=Ua(),m=e=>"<0.0.0-0"===e.value,g=e=>""===e.value,y=(e,t)=>{let n=!0,i=e.slice(),r=i.pop();for(;n&&i.length;)n=i.every(e=>r.intersects(e,t)),r=i.pop();return n},v=(e,t)=>(o("comp",e,t),o("caret",e=w(e,t)),o("tildes",e=x(e,t)),o("xrange",e=E(e,t)),o("stars",e=A(e,t)),e),b=e=>!e||"x"===e.toLowerCase()||"*"===e,x=(e,t)=>e.trim().split(/\s+/).map(e=>_(e,t)).join(" "),_=(e,t)=>{let n=t.loose?s[u.TILDELOOSE]:s[u.TILDE];return e.replace(n,(t,n,i,r,a)=>{let l;return o("tilde",e,t,n,i,r,a),b(n)?l="":b(i)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:b(r)?l=`>=${n}.${i}.0 <${n}.${+i+1}.0-0`:a?(o("replaceTilde pr",a),l=`>=${n}.${i}.${r}-${a} <${n}.${+i+1}.0-0`):l=`>=${n}.${i}.${r} <${n}.${+i+1}.0-0`,o("tilde return",l),l})},w=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(e,t)=>{o("caret",e,t);let n=t.loose?s[u.CARETLOOSE]:s[u.CARET],i=t.includePrerelease?"-0":"";return e.replace(n,(t,n,r,a,l)=>{let s;return o("caret",e,t,n,r,a,l),b(n)?s="":b(r)?s=`>=${n}.0.0${i} <${+n+1}.0.0-0`:b(a)?s="0"===n?`>=${n}.${r}.0${i} <${n}.${+r+1}.0-0`:`>=${n}.${r}.0${i} <${+n+1}.0.0-0`:l?(o("replaceCaret pr",l),s="0"===n?"0"===r?`>=${n}.${r}.${a}-${l} <${n}.${r}.${+a+1}-0`:`>=${n}.${r}.${a}-${l} <${n}.${+r+1}.0-0`:`>=${n}.${r}.${a}-${l} <${+n+1}.0.0-0`):(o("no pr"),s="0"===n?"0"===r?`>=${n}.${r}.${a}${i} <${n}.${r}.${+a+1}-0`:`>=${n}.${r}.${a}${i} <${n}.${+r+1}.0-0`:`>=${n}.${r}.${a} <${+n+1}.0.0-0`),o("caret return",s),s})},E=(e,t)=>(o("replaceXRanges",e,t),e.split(/\s+/).map(e=>$(e,t)).join(" ")),$=(e,t)=>{e=e.trim();let n=t.loose?s[u.XRANGELOOSE]:s[u.XRANGE];return e.replace(n,(n,i,r,a,l,s)=>{o("xRange",e,n,i,r,a,l,s);let u=b(r),f=u||b(a),c=f||b(l);return"="===i&&c&&(i=""),s=t.includePrerelease?"-0":"",u?n=">"===i||"<"===i?"<0.0.0-0":"*":i&&c?(f&&(a=0),l=0,">"===i?(i=">=",f?(r=+r+1,a=0):a=+a+1,l=0):"<="===i&&(i="<",f?r=+r+1:a=+a+1),"<"===i&&(s="-0"),n=`${i+r}.${a}.${l}${s}`):f?n=`>=${r}.0.0${s} <${+r+1}.0.0-0`:c&&(n=`>=${r}.${a}.0${s} <${r}.${+a+1}.0-0`),o("xRange return",n),n})},A=(e,t)=>(o("replaceStars",e,t),e.trim().replace(s[u.STAR],"")),S=(e,t)=>(o("replaceGTE0",e,t),e.trim().replace(s[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),M=e=>(t,n,i,r,a,o,l,s,u,f,c,d)=>(n=b(i)?"":b(r)?`>=${i}.0.0${e?"-0":""}`:b(a)?`>=${i}.${r}.0${e?"-0":""}`:o?`>=${n}`:`>=${n}${e?"-0":""}`,s=b(u)?"":b(f)?`<${+u+1}.0.0-0`:b(c)?`<${u}.${+f+1}.0-0`:d?`<=${u}.${f}.${c}-${d}`:e?`<${u}.${f}.${+c+1}-0`:`<=${s}`,`${n} ${s}`.trim()),C=(e,t,n)=>{for(let n=0;n0){let i=e[n].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0};return eL}();return eP=(t,n,i)=>{try{n=new e(n,i)}catch(e){return!1}return n.test(t)}}())&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")?F.default:F,Uc=`.vega-embed { position: relative; display: inline-block; box-sizing: border-box; } .vega-embed.has-actions { padding-right: 38px; } .vega-embed details:not([open]) > :not(summary) { display: none !important; } .vega-embed summary { list-style: none; position: absolute; top: 0; right: 0; padding: 6px; z-index: 1000; background: white; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); color: #1b1e23; border: 1px solid #aaa; border-radius: 999px; opacity: 0.2; transition: opacity 0.4s ease-in; cursor: pointer; line-height: 0px; } .vega-embed summary::-webkit-details-marker { display: none; } .vega-embed summary:active { box-shadow: #aaa 0px 0px 0px 1px inset; } .vega-embed summary svg { width: 14px; height: 14px; } .vega-embed details[open] summary { opacity: 0.7; } .vega-embed:hover summary, .vega-embed:focus-within summary { opacity: 1 !important; transition: opacity 0.2s ease; } .vega-embed .vega-actions { position: absolute; z-index: 1001; top: 35px; right: -9px; display: flex; flex-direction: column; padding-bottom: 8px; padding-top: 8px; border-radius: 4px; box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2); border: 1px solid #d9d9d9; background: white; animation-duration: 0.15s; animation-name: scale-in; animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); text-align: left; } .vega-embed .vega-actions a { padding: 8px 16px; font-family: sans-serif; font-size: 14px; font-weight: 600; white-space: nowrap; color: #434a56; text-decoration: none; } .vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus { background-color: #f7f7f9; color: black; } .vega-embed .vega-actions::before, .vega-embed .vega-actions::after { content: ""; display: inline-block; position: absolute; } .vega-embed .vega-actions::before { left: auto; right: 14px; top: -16px; border: 8px solid rgba(0, 0, 0, 0); border-bottom-color: #d9d9d9; } .vega-embed .vega-actions::after { left: auto; right: 15px; top: -14px; border: 7px solid rgba(0, 0, 0, 0); border-bottom-color: #fff; } .vega-embed .chart-wrapper.fit-x { width: 100%; } .vega-embed .chart-wrapper.fit-y { height: 100%; } .vega-embed-wrapper { max-width: 100%; overflow: auto; padding-right: 14px; } @keyframes scale-in { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: scale(1); } } `;function Ud(e,...t){for(let r of t){var n=e,i=r;for(let e of Object.keys(i))tn(n,e,i[e],!0)}return e}let Uh=IW,Up="u">typeof window?window:void 0;void 0===Uh&&Up?.vl?.compile&&(Uh=Up.vl);let Um={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},Ug={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},Uy={vega:"Vega","vega-lite":"Vega-Lite"},Uv={vega:Cc.version,"vega-lite":Uh?Uh.version:"not available"},Ub={vega:e=>e,"vega-lite":(e,t)=>Uh.compile(e,{config:t}).spec},Ux=` `;function U_(e,t,n,i){let r=`${t}
`,a=`
${n}`,o=window.open("");o.document.write(r+e+a),o.document.title=`${Uy[i]} JSON Source`}function Uw(e){return!!(e&&"load"in e)}function Uk(e){return Uw(e)?e:Cc.loader(e)}async function UE(e,t,n={}){var i;let r,a,o;tG(t)?(a=Uk(n.loader),r=JSON.parse(await a.load(t))):r=t;let l=(i=r,tG((o=i.usermeta?.embedOptions??{}).defaultStyle)&&(o.defaultStyle=!1),o),s=l.loader;(!a||s)&&(a=Uk(n.loader??s));let u=await U$(l,a),f=await U$(n,a),c={...Ud(f,u),config:tt(f.config??{},u.config??{})};return await UA(e,r,c,a)}async function U$(e,t){let n=tG(e.config)?JSON.parse(await t.load(e.config)):e.config??{},i=tG(e.patch)?JSON.parse(await t.load(e.patch)):e.patch;return{...e,...i?{patch:i}:{},...n?{config:n}:{}}}async function UA(e,t,n={},i){let r,a=n.theme?tt(jD[n.theme],n.config??{}):n.config,o=tj(n.actions)?n.actions:Ud({},Um,n.actions??{}),l={...Ug,...n.i18n},s=n.renderer??"canvas",u=n.logLevel??Cc.Warn,f=n.downloadFileName??"visualization",c="string"==typeof e?document.querySelector(e):e;if(!c)throw Error(`${e} does not exist`);if(!1!==n.defaultStyle){let e,t="vega-embed-style",{root:i,rootContainer:r}=(e=c.getRootNode?c.getRootNode():document)instanceof ShadowRoot?{root:e,rootContainer:e}:{root:document,rootContainer:document.head??document.body};if(!i.getElementById(t)){let e=document.createElement("style");e.id=t,e.innerHTML=void 0===n.defaultStyle||!0===n.defaultStyle?Uc.toString():n.defaultStyle,r.appendChild(e)}}let d=function(e,t){if(e.$schema){let n=IH(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${Uy[n.library]}, but mode argument sets ${Uy[t]??t}.`);let i=n.library;return Uf(Uv[i],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${Uy[i]} ${n.version}, but the current version of ${Uy[i]} is v${Uv[i]}.`),i}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t??"vega"}(t,n.mode),h=Ub[d](t,a);if("vega-lite"===d&&h.$schema){let e=IH(h.$schema);Uf(Uv.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${Uv.vega}.`)}c.classList.add("vega-embed"),o&&c.classList.add("has-actions"),c.innerHTML="";let p=c;if(o){let e=document.createElement("div");e.classList.add("chart-wrapper"),c.appendChild(e),p=e}let m=n.patch;if(m&&(h=m instanceof Function?m(h):j3(h,m,!0,!1).newDocument),n.formatLocale&&Cc.formatLocale(n.formatLocale),n.timeFormatLocale&&Cc.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(let e in n.expressionFunctions){let t=n.expressionFunctions[e];"fn"in t?Cc.expressionFunction(e,t.fn,t.visitor):t instanceof Function&&Cc.expressionFunction(e,t)}let{ast:g}=n,y=Cc.parse(h,"vega-lite"===d?{}:a,{ast:g}),v=new(n.viewClass||Cc.View)(y,{loader:i,logLevel:u,renderer:s,...g?{expr:Cc.expressionInterpreter??n.expr??CA}:{}});if(v.addSignalListener("autosize",(e,t)=>{let{type:n}=t;"fit-x"==n?(p.classList.add("fit-x"),p.classList.remove("fit-y")):"fit-y"==n?(p.classList.remove("fit-x"),p.classList.add("fit-y")):"fit"==n?p.classList.add("fit-x","fit-y"):p.classList.remove("fit-x","fit-y")}),!1!==n.tooltip){let{loader:e,tooltip:t}=n,i=e&&!Uw(e)?e?.baseURL:void 0,r="function"==typeof t?t:new jU({baseURL:i,...!0===t?{}:t}).call;v.tooltip(r)}let{hover:b}=n;if(void 0===b&&(b="vega"===d),b){let{hoverSet:e,updateSet:t}="boolean"==typeof b?{}:b;v.hover(e,t)}if(n&&(null!=n.width&&v.width(n.width),null!=n.height&&v.height(n.height),null!=n.padding&&v.padding(n.padding)),await v.initialize(p,n.bind).runAsync(),!1!==o){let e=c;if(!1!==n.defaultStyle||n.forceActionsMenu){let t=document.createElement("details");t.title=l.CLICK_TO_VIEW_ACTIONS,c.append(t),e=t;let n=document.createElement("summary");n.innerHTML=Ux,t.append(n),r=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",r)}let i=document.createElement("div");if(e.append(i),i.classList.add("vega-actions"),!0===o||!1!==o.export){for(let e of["svg","png"])if(!0===o||!0===o.export||o.export[e]){let t=l[`${e.toUpperCase()}_ACTION`],r=document.createElement("a"),a=e7(n.scaleFactor)?n.scaleFactor[e]:n.scaleFactor;r.text=t,r.href="#",r.target="_blank",r.download=`${f}.${e}`,r.addEventListener("mousedown",async function(t){t.preventDefault();let n=await v.toImageURL(e,a);this.href=n}),i.append(r)}}if(!0===o||!1!==o.source){let e=document.createElement("a");e.text=l.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){U_(eq(t),n.sourceHeader??"",n.sourceFooter??"",d),e.preventDefault()}),i.append(e)}if("vega-lite"===d&&(!0===o||!1!==o.compiled)){let e=document.createElement("a");e.text=l.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){U_(eq(h),n.sourceHeader??"",n.sourceFooter??"","vega"),e.preventDefault()}),i.append(e)}if(!0===o||!1!==o.editor){let e=n.editorUrl??"https://vega.github.io/editor/",r=document.createElement("a");r.text=l.EDITOR_ACTION,r.href="#",r.addEventListener("click",function(n){!function(e,t,n){let i=e.open(t),{origin:r}=new URL(t),a=40;e.addEventListener("message",function t(n){n.source===i&&(a=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){a<=0||(i.postMessage(n,r),setTimeout(e,250),a-=1)},250)}(window,e,{config:a,mode:m?"vega":d,renderer:s,spec:eq(m?h:t)}),n.preventDefault()}),i.append(r)}}return{view:v,spec:t,vgSpec:h,finalize:function(){r&&document.removeEventListener("click",r),v.finalize()},embedOptions:n}}e.s(["default",0,UE],9565)}]);