timelines-chart
Version:
A parallel (swimlanes) timelines D3 chart for representing state of time-series over time.
2 lines • 146 kB
JavaScript
// Version 2.14.2 timelines-chart - https://github.com/vasturiano/timelines-chart
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).TimelinesChart=n()}(this,(function(){"use strict";function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function n(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(n,e){if(n){if("string"==typeof n)return t(n,e);var r={}.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}!function(t,n){void 0===n&&(n={});var e=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===e&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}('.timelines-chart {\n\n text-align: center;\n\n /* Cancel selection interaction */\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n .timelines-chart .axises line, .timelines-chart .axises path {\n stroke: #808080;\n }\n\n .timelines-chart .axises .x-axis {\n font: 12px sans-serif;\n }\n\n .timelines-chart .axises .x-grid line {\n stroke: #D3D3D3;\n }\n\n .timelines-chart .axises .y-axis line, .timelines-chart .axises .y-axis path, .timelines-chart .axises .grp-axis line, .timelines-chart .axises .grp-axis path {\n stroke: none;\n }\n\n .timelines-chart .axises .y-axis text, .timelines-chart .axises .grp-axis text {\n fill: #2F4F4F;\n }\n\n .timelines-chart line.x-axis-date-marker {\n stroke-width: 1;\n stroke: #293cb7;\n fill: "none";\n }\n\n .timelines-chart .series-group {\n fill-opacity: 0.6;\n stroke: #808080;\n stroke-opacity: 0.2;\n }\n\n .timelines-chart .series-segment {\n stroke: none;\n }\n\n .timelines-chart .series-group, .timelines-chart .series-segment {\n cursor: crosshair;\n }\n\n .timelines-chart .legend {\n font-family: Sans-Serif;\n }\n\n .timelines-chart .legend .legendText {\n fill: #666;\n }\n\n .timelines-chart .reset-zoom-btn {\n font-family: sans-serif;\n fill: blue;\n opacity: .6;\n cursor: pointer;\n }\n\n.brusher .grid-background {\n fill: lightgrey;\n }\n\n.brusher .axis path {\n display: none;\n }\n\n.brusher .tick text {\n text-anchor: middle;\n }\n\n.brusher .grid line, .brusher .grid path {\n stroke: #fff;\n }\n\n.chart-zoom-selection, .brusher .brush .selection {\n stroke: blue;\n stroke-opacity: 0.6;\n fill: blue;\n fill-opacity: 0.3;\n shape-rendering: crispEdges;\n}\n\n.chart-tooltip {\n color: #eee;\n background: rgba(0,0,140,0.85);\n padding: 5px;\n border-radius: 3px;\n font: 11px sans-serif;\n z-index: 4000;\n}\n\n.chart-tooltip.group-tooltip {\n font-size: 14px;\n }\n\n.chart-tooltip.line-tooltip {\n font-size: 13px;\n }\n\n.chart-tooltip.group-tooltip, .chart-tooltip.line-tooltip {\n font-weight: bold;\n }\n\n.chart-tooltip.segment-tooltip {\n text-align: center;\n }');var r="object"==typeof global&&global&&global.Object===Object&&global,i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")(),o=function(){return a.Date.now()},u=/\s/;var l=/^\s+/;function s(t){return t?t.slice(0,function(t){for(var n=t.length;n--&&u.test(t.charAt(n)););return n}(t)+1).replace(l,""):t}var c=a.Symbol,f=Object.prototype,h=f.hasOwnProperty,g=f.toString,p=c?c.toStringTag:void 0;var d=Object.prototype.toString;var m=c?c.toStringTag:void 0;function v(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?function(t){var n=h.call(t,p),e=t[p];try{t[p]=void 0;var r=!0}catch(t){}var i=g.call(t);return r&&(n?t[p]=e:delete t[p]),i}(t):function(t){return d.call(t)}(t)}var y=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,w=/^0o[0-7]+$/i,x=parseInt;function _(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==v(t)}(t))return NaN;if(e(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=e(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=s(t);var r=b.test(t);return r||w.test(t)?x(t.slice(2),r?2:8):y.test(t)?NaN:+t}var M=Math.max,S=Math.min;function A(t,n,r){var i,a,u,l,s,c,f=0,h=!1,g=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(n){var e=i,r=a;return i=a=void 0,f=n,l=t.apply(r,e)}function m(t){var e=t-c;return void 0===c||e>=n||e<0||g&&t-f>=u}function v(){var t=o();if(m(t))return y(t);s=setTimeout(v,function(t){var e=n-(t-c);return g?S(e,u-(t-f)):e}(t))}function y(t){return s=void 0,p&&i?d(t):(i=a=void 0,l)}function b(){var t=o(),e=m(t);if(i=arguments,a=this,c=t,e){if(void 0===s)return function(t){return f=t,s=setTimeout(v,n),h?d(t):l}(c);if(g)return clearTimeout(s),s=setTimeout(v,n),d(c)}return void 0===s&&(s=setTimeout(v,n)),l}return n=_(n)||0,e(r)&&(h=!!r.leading,u=(g="maxWait"in r)?M(_(r.maxWait)||0,n):u,p="trailing"in r?!!r.trailing:p),b.cancel=function(){void 0!==s&&clearTimeout(s),f=0,i=c=a=s=void 0},b.flush=function(){return void 0===s?l:y(o())},b}function k(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function C(t,n,e){return Object.defineProperty(t,"prototype",{writable:!1}),t}function T(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,a,o,u=[],l=!0,s=!1;try{if(a=(e=e.call(t)).next,0===n);else for(;!(l=(r=a.call(e)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(t){s=!0,i=t}finally{try{if(!l&&null!=e.return&&(o=e.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}(t,n)||function(t,n){if(t){if("string"==typeof t)return k(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?k(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var D=C((function t(n,e){var r=e.default,i=void 0===r?null:r,a=e.triggerUpdate,o=void 0===a||a,u=e.onChange,l=void 0===u?function(t,n){}:u;!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.name=n,this.defaultVal=i,this.triggerUpdate=o,this.onChange=l}));function z(t){var n=t.stateInit,e=void 0===n?function(){return{}}:n,r=t.props,i=void 0===r?{}:r,a=t.methods,o=void 0===a?{}:a,u=t.aliases,l=void 0===u?{}:u,s=t.init,c=void 0===s?function(){}:s,f=t.update,h=void 0===f?function(){}:f,g=Object.keys(i).map((function(t){return new D(t,i[t])}));return function t(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=!!(this instanceof t?this.constructor:void 0),u=a?r.shift():void 0,s=r[0],f=void 0===s?{}:s,p=Object.assign({},e instanceof Function?e(f):e,{initialised:!1}),d={};function m(t){return v(t,f),y(),m}var v=function(t,n){c.call(m,t,p,n),p.initialised=!0},y=A((function(){p.initialised&&(h.call(m,p,d),d={})}),1);return g.forEach((function(t){m[t.name]=function(t){var n=t.name,e=t.triggerUpdate,r=void 0!==e&&e,i=t.onChange,a=void 0===i?function(t,n){}:i,o=t.defaultVal,u=void 0===o?null:o;return function(t){var e=p[n];if(!arguments.length)return e;var i=void 0===t?u:t;return p[n]=i,a.call(m,i,p,e),!d.hasOwnProperty(n)&&(d[n]=e),r&&y(),m}}(t)})),Object.keys(o).forEach((function(t){m[t]=function(){for(var n,e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return(n=o[t]).call.apply(n,[m,p].concat(r))}})),Object.entries(l).forEach((function(t){var n=T(t,2),e=n[0],r=n[1];return m[e]=m[r]})),m.resetProps=function(){return g.forEach((function(t){m[t.name](t.defaultVal)})),m},m.resetProps(),p._rerender=y,a&&u&&m(u),m}}function N(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function F(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function H(t){let n,e,r;function i(t,r,i=0,a=t.length){if(i<a){if(0!==n(r,r))return a;do{const n=i+a>>>1;e(t[n],r)<0?i=n+1:a=n}while(i<a)}return i}return 2!==t.length?(n=N,e=(n,e)=>N(t(n),e),r=(n,e)=>t(n)-e):(n=t===N||t===F?t:E,e=t,r=t),{left:i,center:function(t,n,e=0,a=t.length){const o=i(t,n,e,a-1);return o>e&&r(t[o-1],n)>-r(t[o],n)?o-1:o},right:function(t,r,i=0,a=t.length){if(i<a){if(0!==n(r,r))return a;do{const n=i+a>>>1;e(t[n],r)<=0?i=n+1:a=n}while(i<a)}return i}}}function E(){return 0}const L=H(N).right;H((function(t){return null===t?NaN:+t})).center;class U extends Map{constructor(t,n=Y){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,e]of t)this.set(n,e)}get(t){return super.get(R(this,t))}has(t){return super.has(R(this,t))}set(t,n){return super.set(function({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):(t.set(r,e),e)}(this,t),n)}delete(t){return super.delete(function({_intern:t,_key:n},e){const r=n(e);t.has(r)&&(e=t.get(r),t.delete(r));return e}(this,t))}}function R({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):e}function Y(t){return null!==t&&"object"==typeof t?t.valueOf():t}const O=Math.sqrt(50),P=Math.sqrt(10),j=Math.sqrt(2);function $(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=O?10:a>=P?5:a>=j?2:1;let u,l,s;return i<0?(s=Math.pow(10,-i)/o,u=Math.round(t*s),l=Math.round(n*s),u/s<t&&++u,l/s>n&&--l,s=-s):(s=Math.pow(10,i)*o,u=Math.round(t/s),l=Math.round(n/s),u*s<t&&++u,l*s>n&&--l),l<u&&.5<=e&&e<2?$(t,n,2*e):[u,l,s]}function I(t,n,e){return $(t=+t,n=+n,e=+e)[2]}function X(t,n,e){e=+e;const r=(n=+n)<(t=+t),i=r?I(n,t,e):I(t,n,e);return(r?-1:1)*(i<0?1/-i:i)}function q(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e<n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e<i||void 0===e&&i>=i)&&(e=i)}return e}function B(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}function V(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}function W(t){return t}var G=1e-6;function Z(t){return"translate("+t+",0)"}function Q(t){return"translate(0,"+t+")"}function J(t){return n=>+t(n)}function K(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function tt(){return!this.__axis}function nt(t,n){var e=[],r=null,i=null,a=6,o=6,u=3,l="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,s=1===t||4===t?-1:1,c=4===t||2===t?"x":"y",f=1===t||3===t?Z:Q;function h(h){var g=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):W:i,d=Math.max(a,0)+u,m=n.range(),v=+m[0]+l,y=+m[m.length-1]+l,b=(n.bandwidth?K:J)(n.copy(),l),w=h.selection?h.selection():h,x=w.selectAll(".domain").data([null]),_=w.selectAll(".tick").data(g,n).order(),M=_.exit(),S=_.enter().append("g").attr("class","tick"),A=_.select("line"),k=_.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(S),A=A.merge(S.append("line").attr("stroke","currentColor").attr(c+"2",s*a)),k=k.merge(S.append("text").attr("fill","currentColor").attr(c,s*d).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==w&&(x=x.transition(h),_=_.transition(h),A=A.transition(h),k=k.transition(h),M=M.transition(h).attr("opacity",G).attr("transform",(function(t){return isFinite(t=b(t))?f(t+l):this.getAttribute("transform")})),S.attr("opacity",G).attr("transform",(function(t){var n=this.parentNode.__axis;return f((n&&isFinite(n=n(t))?n:b(t))+l)}))),M.remove(),x.attr("d",4===t||2===t?o?"M"+s*o+","+v+"H"+l+"V"+y+"H"+s*o:"M"+l+","+v+"V"+y:o?"M"+v+","+s*o+"V"+l+"H"+y+"V"+s*o:"M"+v+","+l+"H"+y),_.attr("opacity",1).attr("transform",(function(t){return f(b(t)+l)})),A.attr(c+"2",s*a),k.attr(c,s*d).text(p),w.filter(tt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),w.each((function(){this.__axis=b}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Array.from(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(a=o=+t,h):a},h.tickSizeInner=function(t){return arguments.length?(a=+t,h):a},h.tickSizeOuter=function(t){return arguments.length?(o=+t,h):o},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(l=+t,h):l},h}function et(t){return nt(3,t)}function rt(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function it(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}const at=Symbol("implicit");function ot(){var t=new U,n=[],e=[],r=at;function i(i){let a=t.get(i);if(void 0===a){if(r!==at)return r;t.set(i,a=n.push(i)-1)}return e[a%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new U;for(const r of e)t.has(r)||t.set(r,n.push(r)-1);return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return ot(n,e).unknown(r)},rt.apply(i,arguments),i}function ut(){var t,n,e=ot().unknown(void 0),r=e.domain,i=e.range,a=0,o=1,u=!1,l=0,s=0,c=.5;function f(){var e=r().length,f=o<a,h=f?o:a,g=f?a:o;t=(g-h)/Math.max(1,e-l+2*s),u&&(t=Math.floor(t)),h+=(g-h-t*(e-l))*c,n=t*(1-l),u&&(h=Math.round(h),n=Math.round(n));var p=V(e).map((function(n){return h+t*n}));return i(f?p.reverse():p)}return delete e.unknown,e.domain=function(t){return arguments.length?(r(t),f()):r()},e.range=function(t){return arguments.length?([a,o]=t,a=+a,o=+o,f()):[a,o]},e.rangeRound=function(t){return[a,o]=t,a=+a,o=+o,u=!0,f()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(u=!!t,f()):u},e.padding=function(t){return arguments.length?(l=Math.min(1,s=+t),f()):l},e.paddingInner=function(t){return arguments.length?(l=Math.min(1,t),f()):l},e.paddingOuter=function(t){return arguments.length?(s=+t,f()):s},e.align=function(t){return arguments.length?(c=Math.max(0,Math.min(1,t)),f()):c},e.copy=function(){return ut(r(),[a,o]).round(u).paddingInner(l).paddingOuter(s).align(c)},rt.apply(f(),arguments)}function lt(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return lt(n())},t}function st(){return lt(ut.apply(null,arguments).paddingInner(1))}function ct(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function ft(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ht(){}var gt=.7,pt=1/gt,dt="\\s*([+-]?\\d+)\\s*",mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",vt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",yt=/^#([0-9a-f]{3,8})$/,bt=new RegExp(`^rgb\\(${dt},${dt},${dt}\\)$`),wt=new RegExp(`^rgb\\(${vt},${vt},${vt}\\)$`),xt=new RegExp(`^rgba\\(${dt},${dt},${dt},${mt}\\)$`),_t=new RegExp(`^rgba\\(${vt},${vt},${vt},${mt}\\)$`),Mt=new RegExp(`^hsl\\(${mt},${vt},${vt}\\)$`),St=new RegExp(`^hsla\\(${mt},${vt},${vt},${mt}\\)$`),At={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function kt(){return this.rgb().formatHex()}function Ct(){return this.rgb().formatRgb()}function Tt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=yt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?Dt(n):3===e?new Ft(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?zt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?zt(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=bt.exec(t))?new Ft(n[1],n[2],n[3],1):(n=wt.exec(t))?new Ft(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=xt.exec(t))?zt(n[1],n[2],n[3],n[4]):(n=_t.exec(t))?zt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Mt.exec(t))?Yt(n[1],n[2]/100,n[3]/100,1):(n=St.exec(t))?Yt(n[1],n[2]/100,n[3]/100,n[4]):At.hasOwnProperty(t)?Dt(At[t]):"transparent"===t?new Ft(NaN,NaN,NaN,0):null}function Dt(t){return new Ft(t>>16&255,t>>8&255,255&t,1)}function zt(t,n,e,r){return r<=0&&(t=n=e=NaN),new Ft(t,n,e,r)}function Nt(t,n,e,r){return 1===arguments.length?((i=t)instanceof ht||(i=Tt(i)),i?new Ft((i=i.rgb()).r,i.g,i.b,i.opacity):new Ft):new Ft(t,n,e,null==r?1:r);var i}function Ft(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ht(){return`#${Rt(this.r)}${Rt(this.g)}${Rt(this.b)}`}function Et(){const t=Lt(this.opacity);return`${1===t?"rgb(":"rgba("}${Ut(this.r)}, ${Ut(this.g)}, ${Ut(this.b)}${1===t?")":`, ${t})`}`}function Lt(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ut(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Rt(t){return((t=Ut(t))<16?"0":"")+t.toString(16)}function Yt(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Pt(t,n,e,r)}function Ot(t){if(t instanceof Pt)return new Pt(t.h,t.s,t.l,t.opacity);if(t instanceof ht||(t=Tt(t)),!t)return new Pt;if(t instanceof Pt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),o=NaN,u=a-i,l=(a+i)/2;return u?(o=n===a?(e-r)/u+6*(e<r):e===a?(r-n)/u+2:(n-e)/u+4,u/=l<.5?a+i:2-a-i,o*=60):u=l>0&&l<1?0:o,new Pt(o,u,l,t.opacity)}function Pt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function jt(t){return(t=(t||0)%360)<0?t+360:t}function $t(t){return Math.max(0,Math.min(1,t||0))}function It(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}ct(ht,Tt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:kt,formatHex:kt,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ot(this).formatHsl()},formatRgb:Ct,toString:Ct}),ct(Ft,Nt,ft(ht,{brighter(t){return t=null==t?pt:Math.pow(pt,t),new Ft(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?gt:Math.pow(gt,t),new Ft(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ft(Ut(this.r),Ut(this.g),Ut(this.b),Lt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ht,formatHex:Ht,formatHex8:function(){return`#${Rt(this.r)}${Rt(this.g)}${Rt(this.b)}${Rt(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Et,toString:Et})),ct(Pt,(function(t,n,e,r){return 1===arguments.length?Ot(t):new Pt(t,n,e,null==r?1:r)}),ft(ht,{brighter(t){return t=null==t?pt:Math.pow(pt,t),new Pt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?gt:Math.pow(gt,t),new Pt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Ft(It(t>=240?t-240:t+120,i,r),It(t,i,r),It(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Pt(jt(this.h),$t(this.s),$t(this.l),Lt(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(){const t=Lt(this.opacity);return`${1===t?"hsl(":"hsla("}${jt(this.h)}, ${100*$t(this.s)}%, ${100*$t(this.l)}%${1===t?")":`, ${t})`}`}}));var Xt=t=>()=>t;function qt(t){return 1==(t=+t)?Bt:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Xt(isNaN(n)?e:n)}}function Bt(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):Xt(isNaN(t)?n:t)}var Vt=function t(n){var e=qt(n);function r(t,n){var r=e((t=Nt(t)).r,(n=Nt(n)).r),i=e(t.g,n.g),a=e(t.b,n.b),o=Bt(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=a(n),t.opacity=o(n),t+""}}return r.gamma=t,r}(1);var Wt,Gt=(Wt=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,u=r<n-1?t[r+2]:2*a-i;return function(t,n,e,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*n+(4-6*a+3*o)*e+(1+3*t+3*a-3*o)*r+o*i)/6}((e-r/n)*n,o,i,a,u)}},function(t){var n,e,r=t.length,i=new Array(r),a=new Array(r),o=new Array(r);for(n=0;n<r;++n)e=Nt(t[n]),i[n]=e.r||0,a[n]=e.g||0,o[n]=e.b||0;return i=Wt(i),a=Wt(a),o=Wt(o),e.opacity=1,function(t){return e.r=i(t),e.g=a(t),e.b=o(t),e+""}});function Zt(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(a){for(e=0;e<r;++e)i[e]=t[e]*(1-a)+n[e]*a;return i}}function Qt(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(e=0;e<i;++e)a[e]=an(t[e],n[e]);for(;e<r;++e)o[e]=n[e];return function(t){for(e=0;e<i;++e)o[e]=a[e](t);return o}}function Jt(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function Kt(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function tn(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=an(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var nn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,en=new RegExp(nn.source,"g");function rn(t,n){var e,r,i,a=nn.lastIndex=en.lastIndex=0,o=-1,u=[],l=[];for(t+="",n+="";(e=nn.exec(t))&&(r=en.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(e=e[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,l.push({i:o,x:Kt(e,r)})),a=en.lastIndex;return a<n.length&&(i=n.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?l[0]?function(t){return function(n){return t(n)+""}}(l[0].x):function(t){return function(){return t}}(n):(n=l.length,function(t){for(var e,r=0;r<n;++r)u[(e=l[r]).i]=e.x(t);return u.join("")})}function an(t,n){var e,r,i=typeof n;return null==n||"boolean"===i?Xt(n):("number"===i?Kt:"string"===i?(e=Tt(n))?(n=e,Vt):rn:n instanceof Tt?Vt:n instanceof Date?Jt:(r=n,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(n)?Qt:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?tn:Kt:Zt))(t,n)}function on(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}var un,ln=180/Math.PI,sn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cn(t,n,e,r,i,a){var o,u,l;return(o=Math.sqrt(t*t+n*n))&&(t/=o,n/=o),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(n,t)*ln,skewX:Math.atan(l)*ln,scaleX:o,scaleY:u}}function fn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var u=[],l=[];return a=t(a),o=t(o),function(t,r,i,a,o,u){if(t!==i||r!==a){var l=o.push("translate(",null,n,null,e);u.push({i:l-4,x:Kt(t,i)},{i:l-2,x:Kt(r,a)})}else(i||a)&&o.push("translate("+i+n+a+e)}(a.translateX,a.translateY,o.translateX,o.translateY,u,l),function(t,n,e,a){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),a.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Kt(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(a.rotate,o.rotate,u,l),function(t,n,e,a){t!==n?a.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Kt(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(a.skewX,o.skewX,u,l),function(t,n,e,r,a,o){if(t!==e||n!==r){var u=a.push(i(a)+"scale(",null,",",null,")");o.push({i:u-4,x:Kt(t,e)},{i:u-2,x:Kt(n,r)})}else 1===e&&1===r||a.push(i(a)+"scale("+e+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,u,l),a=o=null,function(t){for(var n,e=-1,r=l.length;++e<r;)u[(n=l[e]).i]=n.x(t);return u.join("")}}}var hn=fn((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?sn:cn(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),gn=fn((function(t){return null==t?sn:(un||(un=document.createElementNS("http://www.w3.org/2000/svg","g")),un.setAttribute("transform",t),(t=un.transform.baseVal.consolidate())?cn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):sn)}),", ",")",")");function pn(t){return+t}var dn=[0,1];function mn(t){return t}function vn(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function yn(t,n,e){var r=t[0],i=t[1],a=n[0],o=n[1];return i<r?(r=vn(i,r),a=e(o,a)):(r=vn(r,i),a=e(a,o)),function(t){return a(r(t))}}function bn(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),a=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++o<r;)i[o]=vn(t[o],t[o+1]),a[o]=e(n[o],n[o+1]);return function(n){var e=L(t,n,1,r)-1;return a[e](i[e](n))}}function wn(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function xn(){var t,n,e,r,i,a,o=dn,u=dn,l=an,s=mn;function c(){var t,n,e,l=Math.min(o.length,u.length);return s!==mn&&(t=o[0],n=o[l-1],t>n&&(e=t,t=n,n=e),s=function(e){return Math.max(t,Math.min(n,e))}),r=l>2?bn:yn,i=a=null,f}function f(n){return null==n||isNaN(n=+n)?e:(i||(i=r(o.map(t),u,l)))(t(s(n)))}return f.invert=function(e){return s(n((a||(a=r(u,o.map(t),Kt)))(e)))},f.domain=function(t){return arguments.length?(o=Array.from(t,pn),c()):o.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),c()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),l=on,c()},f.clamp=function(t){return arguments.length?(s=!!t||mn,c()):s!==mn},f.interpolate=function(t){return arguments.length?(l=t,c()):l},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,c()}}function _n(){return xn()(mn,mn)}function Mn(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Sn(t){return(t=Mn(Math.abs(t)))?t[1]:NaN}var An,kn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Cn(t){if(!(n=kn.exec(t)))throw new Error("invalid format: "+t);var n;return new Tn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Tn(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Dn(t,n){var e=Mn(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Cn.prototype=Tn.prototype,Tn.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};var zn={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Dn(100*t,n),r:Dn,s:function(t,n){var e=Mn(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(An=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Mn(t,Math.max(0,n+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Nn(t){return t}var Fn,Hn,En,Ln=Array.prototype.map,Un=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Nn:(n=Ln.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,u=n[0],l=0;i>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),a.push(t.substring(i-=u,i+u)),!((l+=u+1)>r));)u=n[o=(o+1)%n.length];return a.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?Nn:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Ln.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=Cn(t)).fill,e=t.align,f=t.sign,h=t.symbol,g=t.zero,p=t.width,d=t.comma,m=t.precision,v=t.trim,y=t.type;"n"===y?(d=!0,y="g"):zn[y]||(void 0===m&&(m=12),v=!0,y="g"),(g||"0"===n&&"="===e)&&(g=!0,n="0",e="=");var b="$"===h?i:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",w="$"===h?a:/[%p]/.test(y)?l:"",x=zn[y],_=/[defgprs%]/.test(y);function M(t){var i,a,l,h=b,M=w;if("c"===y)M=x(t)+M,t="";else{var S=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:x(Math.abs(t),m),v&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),S&&0==+t&&"+"!==f&&(S=!1),h=(S?"("===f?f:s:"-"===f||"("===f?"":f)+h,M=("s"===y?Un[8+An/3]:"")+M+(S&&"("===f?")":""),_)for(i=-1,a=t.length;++i<a;)if(48>(l=t.charCodeAt(i))||l>57){M=(46===l?o+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}d&&!g&&(t=r(t,1/0));var A=h.length+t.length+M.length,k=A<p?new Array(p-A+1).join(n):"";switch(d&&g&&(t=r(k+t,k.length?p-M.length:1/0),k=""),e){case"<":t=h+t+M+k;break;case"=":t=h+k+t+M;break;case"^":t=k.slice(0,A=k.length>>1)+h+t+M+k.slice(A);break;default:t=k+h+t+M}return u(t)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),M.toString=function(){return t+""},M}return{format:f,formatPrefix:function(t,n){var e=f(((t=Cn(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Sn(n)/3))),i=Math.pow(10,-r),a=Un[8+r/3];return function(t){return e(i*t)+a}}}}function Yn(t,n,e,r){var i,a=X(t,n,e);switch((r=Cn(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Sn(n)/3)))-Sn(Math.abs(t)))}(a,o))||(r.precision=i),En(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Sn(n)-Sn(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Sn(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return Hn(r)}function On(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){if(!((e=+e)>0))return[];if((t=+t)==(n=+n))return[t];const r=n<t,[i,a,o]=r?$(n,t,e):$(t,n,e);if(!(a>=i))return[];const u=a-i+1,l=new Array(u);if(r)if(o<0)for(let t=0;t<u;++t)l[t]=(a-t)/-o;else for(let t=0;t<u;++t)l[t]=(a-t)*o;else if(o<0)for(let t=0;t<u;++t)l[t]=(i+t)/-o;else for(let t=0;t<u;++t)l[t]=(i+t)*o;return l}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Yn(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i,a=n(),o=0,u=a.length-1,l=a[o],s=a[u],c=10;for(s<l&&(i=l,l=s,s=i,i=o,o=u,u=i);c-- >0;){if((i=I(l,s,e))===r)return a[o]=l,a[u]=s,n(a);if(i>0)l=Math.floor(l/i)*i,s=Math.ceil(s/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,s=Math.floor(s*i)/i}r=i}return t},t}function Pn(){var t=_n();return t.copy=function(){return wn(t,Pn())},rt.apply(t,arguments),On(t)}Fn=Rn({thousands:",",grouping:[3],currency:["$",""]}),Hn=Fn.format,En=Fn.formatPrefix;const jn=new Date,$n=new Date;function In(t,n,e,r){function i(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return i.floor=n=>(t(n=new Date(+n)),n),i.ceil=e=>(t(e=new Date(e-1)),n(e,1),t(e),e),i.round=t=>{const n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=(t,e)=>(n(t=new Date(+t),null==e?1:Math.floor(e)),t),i.range=(e,r,a)=>{const o=[];if(e=i.ceil(e),a=null==a?1:Math.floor(a),!(e<r&&a>0))return o;let u;do{o.push(u=new Date(+e)),n(e,a),t(e)}while(u<e&&e<r);return o},i.filter=e=>In((n=>{if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})),e&&(i.count=(n,r)=>(jn.setTime(+n),$n.setTime(+r),t(jn),t($n),Math.floor(e(jn,$n))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?n=>r(n)%t==0:n=>i.count(0,n)%t==0):i:null)),i}const Xn=In((()=>{}),((t,n)=>{t.setTime(+t+n)}),((t,n)=>n-t));Xn.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?In((n=>{n.setTime(Math.floor(n/t)*t)}),((n,e)=>{n.setTime(+n+e*t)}),((n,e)=>(e-n)/t)):Xn:null),Xn.range;const qn=1e3,Bn=6e4,Vn=36e5,Wn=864e5,Gn=6048e5,Zn=2592e6,Qn=31536e6,Jn=In((t=>{t.setTime(t-t.getMilliseconds())}),((t,n)=>{t.setTime(+t+n*qn)}),((t,n)=>(n-t)/qn),(t=>t.getUTCSeconds()));Jn.range;const Kn=In((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*qn)}),((t,n)=>{t.setTime(+t+n*Bn)}),((t,n)=>(n-t)/Bn),(t=>t.getMinutes()));Kn.range;const te=In((t=>{t.setUTCSeconds(0,0)}),((t,n)=>{t.setTime(+t+n*Bn)}),((t,n)=>(n-t)/Bn),(t=>t.getUTCMinutes()));te.range;const ne=In((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*qn-t.getMinutes()*Bn)}),((t,n)=>{t.setTime(+t+n*Vn)}),((t,n)=>(n-t)/Vn),(t=>t.getHours()));ne.range;const ee=In((t=>{t.setUTCMinutes(0,0,0)}),((t,n)=>{t.setTime(+t+n*Vn)}),((t,n)=>(n-t)/Vn),(t=>t.getUTCHours()));ee.range;const re=In((t=>t.setHours(0,0,0,0)),((t,n)=>t.setDate(t.getDate()+n)),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Bn)/Wn),(t=>t.getDate()-1));re.range;const ie=In((t=>{t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+n)}),((t,n)=>(n-t)/Wn),(t=>t.getUTCDate()-1));ie.range;const ae=In((t=>{t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+n)}),((t,n)=>(n-t)/Wn),(t=>Math.floor(t/Wn)));function oe(t){return In((n=>{n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),((t,n)=>{t.setDate(t.getDate()+7*n)}),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Bn)/Gn))}ae.range;const ue=oe(0),le=oe(1),se=oe(2),ce=oe(3),fe=oe(4),he=oe(5),ge=oe(6);function pe(t){return In((n=>{n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+7*n)}),((t,n)=>(n-t)/Gn))}ue.range,le.range,se.range,ce.range,fe.range,he.range,ge.range;const de=pe(0),me=pe(1),ve=pe(2),ye=pe(3),be=pe(4),we=pe(5),xe=pe(6);de.range,me.range,ve.range,ye.range,be.range,we.range,xe.range;const _e=In((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,n)=>{t.setMonth(t.getMonth()+n)}),((t,n)=>n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())),(t=>t.getMonth()));_e.range;const Me=In((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCMonth(t.getUTCMonth()+n)}),((t,n)=>n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()));Me.range;const Se=In((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n)}),((t,n)=>n.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));Se.every=t=>isFinite(t=Math.floor(t))&&t>0?In((n=>{n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),((n,e)=>{n.setFullYear(n.getFullYear()+e*t)})):null,Se.range;const Ae=In((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n)}),((t,n)=>n.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));function ke(t,n,e,r,i,a){const o=[[Jn,1,qn],[Jn,5,5e3],[Jn,15,15e3],[Jn,30,3e4],[a,1,Bn],[a,5,3e5],[a,15,9e5],[a,30,18e5],[i,1,Vn],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,Wn],[r,2,1728e5],[e,1,Gn],[n,1,Zn],[n,3,7776e6],[t,1,Qn]];function u(n,e,r){const i=Math.abs(e-n)/r,a=H((([,,t])=>t)).right(o,i);if(a===o.length)return t.every(X(n/Qn,e/Qn,r));if(0===a)return Xn.every(Math.max(X(n,e,r),1));const[u,l]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return u.every(l)}return[function(t,n,e){const r=n<t;r&&([t,n]=[n,t]);const i=e&&"function"==typeof e.range?e:u(t,n,e),a=i?i.range(t,+n+1):[];return r?a.reverse():a},u]}Ae.every=t=>isFinite(t=Math.floor(t))&&t>0?In((n=>{n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),((n,e)=>{n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null,Ae.range;const[Ce,Te]=ke(Ae,Me,de,ae,ee,te),[De,ze]=ke(Se,_e,ue,re,ne,Kn);function Ne(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Fe(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function He(t,n,e){return{y:t,m:n,d:e,H:0,M:0,S:0,L:0}}var Ee,Le,Ue,Re={"-":"",_:" ",0:"0"},Ye=/^\s*\d+/,Oe=/^%/,Pe=/[\\^$*+?|[\]().{}]/g;function je(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<e?new Array(e-a+1).join(n)+i:i)}function $e(t){return t.replace(Pe,"\\$&")}function Ie(t){return new RegExp("^(?:"+t.map($e).join("|")+")","i")}function Xe(t){return new Map(t.map(((t,n)=>[t.toLowerCase(),n])))}function qe(t,n,e){var r=Ye.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Be(t,n,e){var r=Ye.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function Ve(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function We(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function Ge(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Ze(t,n,e){var r=Ye.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Qe(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Je(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Ke(t,n,e){var r=Ye.exec(n.slice(e,e+1));return r?(t.q=3*r[0]-3,e+r[0].length):-1}function tr(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function nr(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function er(t,n,e){var r=Ye.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function rr(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function ir(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function ar(t,n,e){var r=Ye.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function or(t,n,e){var r=Ye.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function ur(t,n,e){var r=Ye.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function lr(t,n,e){var r=Oe.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function sr(t,n,e){var r=Ye.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function cr(t,n,e){var r=Ye.exec(n.slice(e));return r?(t.s=+r[0],e+r[0].length):-1}function fr(t,n){return je(t.getDate(),n,2)}function hr(t,n){return je(t.getHours(),n,2)}function gr(t,n){return je(t.getHours()%12||12,n,2)}function pr(t,n){return je(1+re.count(Se(t),t),n,3)}function dr(t,n){return je(t.getMilliseconds(),n,3)}function mr(t,n){return dr(t,n)+"000"}function vr(t,n){return je(t.getMonth()+1,n,2)}function yr(t,n){return je(t.getMinutes(),n,2)}function br(t,n){return je(t.getSeconds(),n,2)}function wr(t){var n=t.getDay();return 0===n?7:n}function xr(t,n){return je(ue.count(Se(t)-1,t),n,2)}function _r(t){var n=t.getDay();return n>=4||0===n?fe(t):fe.ceil(t)}function Mr(t,n){return t=_r(t),je(fe.count(Se(t),t)+(4===Se(t).getDay()),n,2)}function Sr(t){return t.getDay()}function Ar(t,n){return je(le.count(Se(t)-1,t),n,2)}function kr(t,n){return je(t.getFullYear()%100,n,2)}function Cr(t,n){return je((t=_r(t)).getFullYear()%100,n,2)}function Tr(t,n){return je(t.getFullYear()%1e4,n,4)}function Dr(t,n){var e=t.getDay();return je((t=e>=4||0===e?fe(t):fe.ceil(t)).getFullYear()%1e4,n,4)}function zr(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+je(n/60|0,"0",2)+je(n%60,"0",2)}function Nr(t,n){return je(t.getUTCDate(),n,2)}function Fr(t,n){return je(t.getUTCHours(),n,2)}function Hr(t,n){return je(t.getUTCHours()%12||12,n,2)}function Er(t,n){return je(1+ie.count(Ae(t),t),n,3)}function Lr(t,n){return je(t.getUTCMilliseconds(),n,3)}function Ur(t,n){return Lr(t,n)+"000"}function Rr(t,n){return je(t.getUTCMonth()+1,n,2)}function Yr(t,n){return je(t.getUTCMinutes(),n,2)}function Or(t,n){return je(t.getUTCSeconds(),n,2)}function Pr(t){var n=t.getUTCDay();return 0===n?7:n}function jr(t,n){return je(de.count(Ae(t)-1,t),n,2)}function $r(t){var n=t.getUTCDay();return n>=4||0===n?be(t):be.ceil(t)}function Ir(t,n){return t=$r(t),je(be.count(Ae(t),t)+(4===Ae(t).getUTCDay()),n,2)}function Xr(t){return t.getUTCDay()}function qr(t,n){return je(me.count(Ae(t)-1,t),n,2)}function Br(t,n){return je(t.getUTCFullYear()%100,n,2)}function Vr(t,n){return je((t=$r(t)).getUTCFullYear()%100,n,2)}function Wr(t,n){return je(t.getUTCFullYear()%1e4,n,4)}function Gr(t,n){var e=t.getUTCDay();return je((t=e>=4||0===e?be(t):be.ceil(t)).getUTCFullYear()%1e4,n,4)}function Zr(){return"+0000"}function Qr(){return"%"}function Jr(t){return+t}function Kr(t){return Math.floor(+t/1e3)}function ti(t){return new Date(t)}function ni(t){return t instanceof Date?+t:+new Date(+t)}function ei(t,n,e,r,i,a,o,u,l,s){var c=_n(),f=c.invert,h=c.domain,g=s(".%L"),p=s(":%S"),d=s("%I:%M"),m=s("%I %p"),v=s("%a %d"),y=s("%b %d"),b=s("%B"),w=s("%Y");function x(t){return(l(t)<t?g:u(t)<t?p:o(t)<t?d:a(t)<t?m:r(t)<t?i(t)<t?v:y:e(t)<t?b:w)(t)}return c.invert=function(t){return new Date(f(t))},c.domain=function(t){return arguments.length?h(Array.from(t,ni)):h().map(ti)},c.ticks=function(n){var e=h();return t(e[0],e[e.length-1],null==n?10:n)},c.tickFormat=function(t,n){return null==n?x:s(n)},c.nice=function(t){var e=h();return t&&"function"==typeof t.range||(t=n(e[0],e[e.length-1],null==t?10:t)),t?h(function(t,n){var e,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(e=r,r=i,i=e,e=a,a=o,o=e),t[r]=n.floor(a),t[i]=n.ceil(o),t}(e,t)):c},c.copy=function(){return wn(c,ei(t,n,e,r,i,a,o,u,l,s))},c}function ri(){return rt.apply(ei(De,ze,Se,_e,ue,re,ne,Kn,Jn,Le).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ii(){return rt.apply(ei(Ce,Te,Ae,Me,de,ie,ee,te,Jn,Ue).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function ai(){var t=On(function(){var t,n,e,r,i,a=0,o=1,u=mn,l=!1;function s(n){return null==n||isNaN(n=+n)?i:u(0===e?.5:(n=(r(n)-t)*e,l?Math.max(0,Math.min(1,n)):n))}function c(t){return function(n){var e,r;return arguments.length?([e,r]=n,u=t(e,r),s):[u(0),u(1)]}}return s.domain=function(i){return arguments.length?([a,o]=i,t=r(a=+a),n=r(o=+o),e=t===n?0:1/(n-t),s):[a,o]},s.clamp=function(t){return arguments.length?(l=!!t,s):l},s.interpolator=function(t){return arguments.length?(u=t,s):u},s.range=c(an),s.rangeRound=c(on),s.unknown=function(t){return arguments.length?(i=t,s):i},function(i){return r=i,t=i(a),n=i(o),e=t===n?0:1/(n-t),s}}()(mn));return t.copy=function(){return n=t,ai().domain(n.domain()).interpolator(n.interpolator()).clamp(n.clamp()).unknown(n.unknown());var n},it.apply(t,arguments)}!function(t){Ee=function(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,u=t.months,l=t.shortMonths,s=Ie(i),c=Xe(i),f=Ie(a),h=Xe(a),g=Ie(o),p=Xe(o),d=Ie(u),m=Xe(u),v=Ie(l),y=Xe(l),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:fr,e:fr,f:mr,g:Cr,G:Dr,H:hr,I:gr,j:pr,L:dr,m:vr,M:yr,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Jr,s:Kr,S:br,u:wr,U:xr,V:Mr,w:Sr,W:Ar,x:null,X:null,y:kr,Y:Tr,Z:zr,"%":Qr},w={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Nr,e:Nr,f:Ur,g:Vr,G:Gr,H:Fr,I:Hr,j:Er,L:Lr,m:Rr,M:Yr,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Jr,s:Kr,S:Or,u:Pr,U:jr,V:Ir,w:Xr,W:qr,x:null,X:null,y:Br,Y:Wr,Z:Zr,"%":Qr},x={a:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.w=p.get(r[0].toLowerCase()),e+r[0].length):-1},A:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.w=h.get(r[0].toLowerCase()),e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y.get(r[0].toLowerCase()),e+r[0].length):-1},B:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.m=m.get(r[0].toLowerCase()),e+r[0].length):-1},c:function(t,e,r){return S(t,n,e,r)},d:nr,e:nr,f:ur,g:Qe,G:Ze,H:rr,I:rr,j:er,L:or,m:tr,M:ir,p:function(t,n,e){var r=s.exec(n.slice(e));return r?(t.p=c.get(r[0].toLowerCase()),e+r[0].length):-1},q:Ke,Q:sr,s:cr,S:ar,u:Be,U:Ve,V:We,w:qe,W:Ge,x:function(t,n,r){return S(t,e,n,r)},X:function(t,n,e){return S(t,r,n,e)},y:Qe,Y:Ze,Z:Je,"%":lr};function _(t,n){return function(e){var r,i,a,o=[],u=-1,l=0,s=t.length;for(e instanceof Date||(e=new Date(+e));++u<s;)37===t.charCodeAt(u)&&(o.push(t.slice(l,u)),null!=(i=Re[r=t.charAt(++u)])?r=t.charAt(++u):i="e"===r?" ":"0",(a=n[r])&&(r=a(e,i)),o.push(r),l=u+1);return o.push(t.slice(l,u)),o.join("")}}function M(t,n){return function(e){var r,i,a=He(1900,void 0,1);if(S(a,t,e+="",0)!=e.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(n&&!("Z"in a)&&(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=Fe(He(a.y,0,1))).getUTCDay(),r=i>4||0===i?me.ceil(r):me(r),r=ie.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=Ne(He(a.y,0,1))).getDay(),r=i>4||0===i?le.ceil(r):le(r),r=re.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.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?1:0),i="Z"in a?Fe(He(a.y,0,1)).getUTCDay():Ne(He(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Fe(a)):Ne(a)}}function S(t,n,e,r){for(var i,a,o=0,u=n.length,l=e.length;o<u;){if(r>=l)return-1;if(37===(i=n.charCodeAt(o++))){if(i=n.charAt(o++),!(a=x[i in Re?n.charAt(o++):i])||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return b.x=_(e,b),b.X=_(r,b),b.c=_(n,b),w.x=_(e,w),w.X=_(r,w),w.c=_(n,w),{format:function(t){var n=_(t+="",b);ret