| 1 |
- !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).Coordinate={})}(this,function(t){"use strict";function g(t,n,r){if(r||2===arguments.length)for(var e,a=0,o=n.length;a<o;a++)!e&&a in n||((e=e||Array.prototype.slice.call(n,0,a))[a]=n[a]);return t.concat(e||Array.prototype.slice.call(n))}function C(t){return i(t,"Function")}var $={}.toString,i=function(t,n){return $.call(t)==="[object "+n+"]"},W=function(t){return Array.isArray?Array.isArray(t):i(t,"Array")};var u=function(t){if("object"!=typeof(n=t)||null===n||!i(t,"Object"))return!1;var n;if(null===Object.getPrototypeOf(t))return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(t)===r},B=(Object.values,5);function n(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];for(var e=0;e<n.length;e+=1)!function t(n,r,e,a){for(var o in e=e||0,a=a||B,r){var i;r.hasOwnProperty(o)&&(null!==(i=r[o])&&u(i)?(u(n[o])||(n[o]={}),e<a?t(n[o],i,e+1,a):n[o]=r[o]):W(i)?(n[o]=[],n[o]=n[o].concat(i)):void 0!==i&&(n[o]=i))}}(t,n[e]);return t}function m(t){return t}var s,r=function(t,n){var r=(n=void 0===n?{}:n).fontSize,e=n.fontFamily,a=n.fontWeight,o=n.fontStyle,n=n.fontVariant;return(s=s||document.createElement("canvas").getContext("2d")).font=[o,n,a,r+"px",e].join(" "),s.measureText(i(t,"String")?t:"").width};if(!C(r))throw new TypeError("Expected a function");new Map;var v="undefined"!=typeof Float32Array?Float32Array:Array;function y(){var t=new v(9);return v!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}Math.hypot||(Math.hypot=function(){for(var t=0,n=arguments.length;n--;)t+=arguments[n]*arguments[n];return Math.sqrt(t)});var E=function(t,n,r){var e=n[0],a=n[1],o=n[2],i=n[3],u=n[4],s=n[5],l=n[6],h=n[7],n=n[8],c=r[0],d=r[1],p=r[2],f=r[3],g=r[4],m=r[5],v=r[6],y=r[7],r=r[8];return t[0]=c*e+d*i+p*l,t[1]=c*a+d*u+p*h,t[2]=c*o+d*s+p*n,t[3]=f*e+g*i+m*l,t[4]=f*a+g*u+m*h,t[5]=f*o+g*s+m*n,t[6]=v*e+y*i+r*l,t[7]=v*a+y*u+r*h,t[8]=v*o+y*s+r*n,t};function f(t,n,r){for(;t<n;)t+=2*Math.PI;for(;r<t;)t-=2*Math.PI;return t}r=new v(3),v!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0);function K(t,n,r,e,a){var o=t[0],t=t[1],i=y();return o=[o,t],(t=i)[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=o[0],t[7]=o[1],t[8]=1,t}class e{constructor(t){this.options=n({},this.getDefaultOptions()),this.update(t)}getOptions(){return this.options}update(t={}){this.options=n({},this.options,t),this.rescale(t)}rescale(t){}}function a(n,r,e){for(let t=0;t<r.length;t+=1)n.has(r[t])||n.set(e(r[t]),t)}function o(t){const{value:n,from:r,to:e,mapper:a,notFoundReturn:o}=t;let i=a.get(n);if(void 0===i){if(o)return o;i=r.push(n)-1,a.set(n,i)}return e[i%e.length]}function l(t){return t instanceof Date?t=>""+t:"object"==typeof t?t=>JSON.stringify(t):t=>t}class h extends e{constructor(t){super(t)}getDefaultOptions(){return{domain:[],range:[]}}map(t){return 0===this.domainIndexMap.size&&a(this.domainIndexMap,this.getDomain(),this.domainKey),o({value:this.domainKey(t),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(t){return 0===this.rangeIndexMap.size&&a(this.rangeIndexMap,this.getRange(),this.rangeKey),o({value:this.rangeKey(t),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(t){var[n]=this.options.domain,[r]=this.options.range;this.domainKey=l(n),this.rangeKey=l(r),this.rangeIndexMap?(t&&!t.range||this.rangeIndexMap.clear(),t&&!t.domain&&!t.compare||(this.domainIndexMap.clear(),this.sortedDomain=void 0)):(this.rangeIndexMap=new Map,this.domainIndexMap=new Map)}clone(){return new h(this.options)}getRange(){return this.options.range}getDomain(){var t,n;return this.sortedDomain||({domain:t,compare:n}=this.options,this.sortedDomain=n?[...t].sort(n):t),this.sortedDomain}}function z(t){const n=t["domain"];var r=n.length;if(0===r)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};const{range:e,paddingOuter:a,paddingInner:o,flex:i=[],round:u,align:s}=t;t=i,h=n.length;var l=0<(l=h-t.length)?[...t,...new Array(l).fill(1)]:l<0?t.slice(0,h):t,[h,t]=e,t=t-h,c=t/(2/r*a+1-1/r*o);const d=c*o/r;c-=r*d;const p=function(t){const n=Math.min(...t);return t.map(t=>t/n)}(l),f=c/p.reduce((t,n)=>t+n);l=new Map(n.map((t,n)=>{n=p[n]*f;return[t,u?Math.floor(n):n]}));const g=new Map(n.map((t,n)=>{n=p[n]*f+d;return[t,u?Math.floor(n):n]}));c=Array.from(g.values()).reduce((t,n)=>t+n),h+=(t-(c-c/r*o))*s;let m=u?Math.round(h):h;const v=new Array(r);for(let t=0;t<r;t+=1){v[t]=(y=m,Math.round(1e12*y)/1e12);var y=n[t];m+=g.get(y)}return{valueBandWidth:l,valueStep:g,adjustedRange:v}}class c extends h{constructor(t){super(t)}getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:void 0,flex:[]}}clone(){return new c(this.options)}getStep(t){return void 0===this.valueStep?1:void 0===t?Array.from(this.valueStep.values())[0]:this.valueStep.get(t)}getBandWidth(t){return void 0===this.valueBandWidth?1:void 0===t?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(t)}getRange(){return this.adjustedRange}getPaddingInner(){var{padding:t,paddingInner:n}=this.options;return 0<t?t:n}getPaddingOuter(){var{padding:t,paddingOuter:n}=this.options;return 0<t?t:n}rescale(){super.rescale();var{align:t,domain:n,range:r,round:e,flex:a}=this.options,{adjustedRange:t,valueBandWidth:r,valueStep:e}=z({align:t,range:r,round:e,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:n});this.valueStep=e,this.valueBandWidth=r,this.adjustedRange=t}}function d(t,...n){return n.reduce((n,r)=>t=>n(r(t)),t)}function p(n,r){return r-n?t=>(t-n)/(r-n):t=>.5}const M=Math.sqrt(50),J=Math.sqrt(10),L=Math.sqrt(2);function w(t,n,r){n=(n-t)/Math.max(0,r),t=Math.floor(Math.log(n)/Math.LN10),r=n/10**t;return 0<=t?(r>=M?10:r>=J?5:r>=L?2:1)*10**t:-(10**-t)/(r>=M?10:r>=J?5:r>=L?2:1)}const _=(t,n,r=5)=>{const e=[t,n];let a=0,o=e.length-1,i=e[a],u=e[o],s;return u<i&&([i,u]=[u,i],[a,o]=[o,a]),0<(s=w(i,u,r))?(i=Math.floor(i/s)*s,u=Math.ceil(u/s)*s,s=w(i,u,r)):s<0&&(i=Math.ceil(i*s)/s,u=Math.floor(u*s)/s,s=w(i,u,r)),0<s?(e[a]=Math.floor(i/s)*s,e[o]=Math.ceil(u/s)*s):s<0&&(e[a]=Math.ceil(i*s)/s,e[o]=Math.floor(u*s)/s),e};function U(t){return null!=t&&!Number.isNaN(t)}var b,r={exports:{}},k={exports:{}},V=function(t){return!(!t||"string"==typeof t)&&(t instanceof Array||Array.isArray(t)||0<=t.length&&(t.splice instanceof Function||Object.getOwnPropertyDescriptor(t,t.length-1)&&"String"!==t.constructor.name))},G=Array.prototype.concat,H=Array.prototype.slice,Q=k.exports=function(t){for(var n=[],r=0,e=t.length;r<e;r++){var a=t[r];V(a)?n=G.call(n,H.call(a)):n.push(a)}return n},x=(Q.wrap=function(t){return function(){return t(Q(arguments))}},{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),O=k.exports,X=Object.hasOwnProperty,Y=Object.create(null);for(b in x)X.call(x,b)&&(Y[x[b]]=b);var A=r.exports={to:{},get:{}};function I(t,n,r){return Math.min(Math.max(n,t),r)}function F(t){t=Math.round(t).toString(16).toUpperCase();return t.length<2?"0"+t:t}A.get=function(t){var n,r;switch(t.substring(0,3).toLowerCase()){case"hsl":n=A.get.hsl(t),r="hsl";break;case"hwb":n=A.get.hwb(t),r="hwb";break;default:n=A.get.rgb(t),r="rgb"}return n?{model:r,value:n}:null},A.get.rgb=function(t){if(!t)return null;var n,r,e,a=[0,0,0,1];if(n=t.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(e=n[2],n=n[1],r=0;r<3;r++){var o=2*r;a[r]=parseInt(n.slice(o,2+o),16)}e&&(a[3]=parseInt(e,16)/255)}else if(n=t.match(/^#([a-f0-9]{3,4})$/i)){for(e=(n=n[1])[3],r=0;r<3;r++)a[r]=parseInt(n[r]+n[r],16);e&&(a[3]=parseInt(e+e,16)/255)}else{if(n=t.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/))for(r=0;r<3;r++)a[r]=parseInt(n[r+1],0);else{if(!(n=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(n=t.match(/^(\w+)$/))?"transparent"===n[1]?[0,0,0,0]:X.call(x,n[1])?((a=x[n[1]])[3]=1,a):null:null;for(r=0;r<3;r++)a[r]=Math.round(2.55*parseFloat(n[r+1]))}n[4]&&(n[5]?a[3]=.01*parseFloat(n[4]):a[3]=parseFloat(n[4]))}for(r=0;r<3;r++)a[r]=I(a[r],0,255);return a[3]=I(a[3],0,1),a},A.get.hsl=function(t){if(!t)return null;var n,t=t.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);return t?(n=parseFloat(t[4]),[(parseFloat(t[1])%360+360)%360,I(parseFloat(t[2]),0,100),I(parseFloat(t[3]),0,100),I(isNaN(n)?1:n,0,1)]):null},A.get.hwb=function(t){if(!t)return null;var n,t=t.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);return t?(n=parseFloat(t[4]),[(parseFloat(t[1])%360+360)%360,I(parseFloat(t[2]),0,100),I(parseFloat(t[3]),0,100),I(isNaN(n)?1:n,0,1)]):null},A.to.hex=function(){var t=O(arguments);return"#"+F(t[0])+F(t[1])+F(t[2])+(t[3]<1?F(Math.round(255*t[3])):"")},A.to.rgb=function(){var t=O(arguments);return t.length<4||1===t[3]?"rgb("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+")":"rgba("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+", "+t[3]+")"},A.to.rgb.percent=function(){var t=O(arguments),n=Math.round(t[0]/255*100),r=Math.round(t[1]/255*100),e=Math.round(t[2]/255*100);return t.length<4||1===t[3]?"rgb("+n+"%, "+r+"%, "+e+"%)":"rgba("+n+"%, "+r+"%, "+e+"%, "+t[3]+")"},A.to.hsl=function(){var t=O(arguments);return t.length<4||1===t[3]?"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)":"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+t[3]+")"},A.to.hwb=function(){var t=O(arguments),n="";return 4<=t.length&&1!==t[3]&&(n=", "+t[3]),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+n+")"},A.to.keyword=function(t){return Y[t.slice(0,3)]};var Z=r.exports;function j(t,n,r){let e=r;return e<0&&(e+=1),1<e&&--e,e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function tt(t){t=Z.get(t);if(!t)return null;var n,r,{model:t,value:e}=t;return"rgb"===t?e:"hsl"===t?(e=(t=e)[0]/360,n=t[1]/100,r=t[2]/100,t=t[3],0==n?[255*r,255*r,255*r,t]:[255*j(r=2*r-(n=r<.5?r*(1+n):r+n-r*n),n,e+1/3),255*j(r,n,e),255*j(r,n,e-1/3),t]):null}const S=(n,r)=>t=>n*(1-t)+r*t,nt=(t,n)=>{{if("number"==typeof t&&"number"==typeof n)return S(t,n);if("string"!=typeof t||"string"!=typeof n)return()=>t;{var r=t,e=n;const s=tt(r),l=tt(e);return null===s||null===l?s?()=>r:()=>e:n=>{const r=new Array(4);for(let t=0;t<4;t+=1){var e=s[t],a=l[t];r[t]=e*(1-n)+a*n}var[t,o,i,u]=r;return`rgba(${Math.round(t)}, ${Math.round(o)}, ${Math.round(i)}, ${u})`}}}},rt=(t,n)=>{const r=S(t,n);return t=>Math.round(r(t))},et=(t,n,r)=>{let e,a,o=t,i=n;if(o===i&&0<r)return[o];let u=w(o,i,r);if(0===u||!Number.isFinite(u))return[];if(0<u){o=Math.ceil(o/u),i=Math.floor(i/u),a=new Array(e=Math.ceil(i-o+1));for(let t=0;t<e;t+=1)a[t]=(o+t)*u}else{u=-u,o=Math.ceil(o*u),i=Math.floor(i*u),a=new Array(e=Math.ceil(i-o+1));for(let t=0;t<e;t+=1)a[t]=(o+t)/u}return a},at=(t,n,r)=>{var[t,e]=t,[n,a]=n;let o,i;return d(i=t<e?(o=p(t,e),r(n,a)):(o=p(e,t),r(a,n)),o)},ot=(e,t,n)=>{const a=Math.min(e.length,t.length)-1,o=new Array(a),i=new Array(a);var r=e[0]>e[a],u=r?[...e].reverse():e,s=r?[...t].reverse():t;for(let t=0;t<a;t+=1)o[t]=p(u[t],u[t+1]),i[t]=n(s[t],s[t+1]);return t=>{var n=function(t,n,r,e,a){let o=r||0,i=e||t.length;const u=a||(t=>t);for(;o<i;){var s=Math.floor((o+i)/2);u(t[s])>n?i=s:o=s+1}return o}(e,t,1,a)-1,r=o[n];return d(i[n],r)(t)}},it=(t,n,r,e)=>{const a=2<Math.min(t.length,n.length)?ot:at;e=e?rt:r;return a(t,n,e)};class ut extends e{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:S,tickCount:5}}map(t){return U(t)?this.output(t):this.options.unknown}invert(t){return U(t)?this.input(t):this.options.unknown}nice(){var t,n,r,e;this.options.nice&&([t,n,r,...e]=this.getTickMethodOptions(),this.options.domain=this.chooseNice()(t,n,r,...e))}getTicks(){const t=this.options["tickMethod"];var[n,r,e,...a]=this.getTickMethodOptions();return t(n,r,e,...a)}getTickMethodOptions(){var{domain:t,tickCount:n}=this.options;return[t[0],t[t.length-1],n]}chooseNice(){return _}rescale(){this.nice();var[t,n]=this.chooseTransforms();this.composeOutput(t,this.chooseClamp(t)),this.composeInput(t,n,this.chooseClamp(n))}chooseClamp(t){var{clamp:n,range:r}=this.options,t=this.options.domain.map(t),r=Math.min(t.length,r.length);if(n){n=t[0],t=t[r-1];const e=t<n?t:n,a=t<n?n:t;return t=>Math.min(Math.max(e,t),a)}return m}composeOutput(t,n){const{domain:r,range:e,round:a,interpolate:o}=this.options;var i=it(r.map(t),e,o,a);this.output=d(i,n,t)}composeInput(t,n,r){const{domain:e,range:a}=this.options;t=it(a,e.map(t),S);this.input=d(n,r,t)}}class P extends ut{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:nt,tickMethod:et,tickCount:5}}chooseTransforms(){return[m,m]}clone(){return new P(this.options)}}class st extends c{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,padding:0,unknown:void 0,paddingInner:1,paddingOuter:0}}constructor(t){super(t)}getPaddingInner(){return 1}clone(){return new st(this.options)}update(t){super.update(t)}getPaddingOuter(){return this.options.padding}}function lt(t,n){for(var r=[],e=0,a=t.length;e<a;e++)r.push(t[e].substr(0,n));return r}function ht(t,n,r,e,a){var o=new P({range:[n,n+e]}),i=new P({range:[r,r+a]});return{transform:function(t){var n=t[0],t=t[1];return[o.map(n),i.map(t)]},untransform:function(t){var n=t[0],t=t[1];return[o.invert(n),i.invert(t)]}}}function ct(t,n,r,e,a){return(0,t[0])(n,r,e,a)}function dt(t,n,r,e,a){return t[0]}function pt(t,n,r,e,a){var o=t[0],i=t[1],u=t[2],t=t[3],s=new P({range:[u,t]}),l=new P({range:[o,i]}),h=1<(u=a/e)?1:u,c=1<u?1/u:1;return{transform:function(t){var n=t[0],t=t[1],n=l.map(n),t=s.map(t);return[.5*(t*Math.cos(n)*h)+.5,.5*(t*Math.sin(n)*c)+.5]},untransform:function(t){var n=t[0],t=t[1],n=2*(n-.5)/h,t=2*(t-.5)/c,r=Math.sqrt(Math.pow(n,2)+Math.pow(t,2)),t=f(Math.atan2(t,n),o,i);return[l.invert(t),s.invert(r)]}}}function ft(t,n,r,e,a){return{transform:function(t){var n=t[0];return[t[1],n]},untransform:function(t){var n=t[0];return[t[1],n]}}}function gt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return D.apply(void 0,g([[-1,-1]],n,!1))}function mt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return D.apply(void 0,g([[-1,1]],n,!1))}function vt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return D.apply(void 0,g([[1,-1]],n,!1))}function yt(t,n,r,e,a){var o,t=t[0],i=y();return i=i,t=t,o=Math.sin(t),t=Math.cos(t),i[0]=t,i[1]=o,i[2]=0,i[3]=-o,i[4]=t,i[5]=0,i[6]=0,i[7]=0,i[8]=1,i}function Mt(t,n,r,e,a){var o=t[0],i=t[1],u=t[2],s=(t[3]-u)/(+i/(2*Math.PI)+1),l=s/(2*Math.PI),h=new P({range:[u,u+.99*s]}),c=new P({range:[o,i]}),d=1<(t=a/e)?1:t,p=1<t?1/t:1;return{transform:function(t){var n=t[0],t=t[1],n=c.map(n),t=h.map(t);return[.5*(Math.cos(n)*(l*n+t)*d)+.5,.5*(Math.sin(n)*(l*n+t)*p)+.5]},untransform:function(t){var n=t[0],t=t[1],n=2*(n-.5)/d,t=2*(t-.5)/p,r=Math.sqrt(Math.pow(n,2)+Math.pow(t,2)),t=f(Math.atan2(t,n)+Math.floor(r/s)*Math.PI*2,o,i),n=r-l*t;return[c.invert(t),h.invert(n)]}}}function wt(t,n,r,e,a){var u=t[0],s=t[1],o=t[2],t=t[3],l=new P({range:[o,t]});return{transform:function(t){for(var n=[],r=t.length,e=new st({domain:new Array(r).fill(0).map(function(t,n){return n}),range:[u,s]}),a=0;a<r;a++){var o=t[a],i=e.map(a),o=l.map(o);n.push(i,o)}return n},untransform:function(t){for(var n=[],r=0;r<t.length;r+=2){var e=t[r+1];n.push(l.invert(e))}return n}}}var k=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r=["January","February","March","April","May","June","July","August","September","October","November","December"],bt=lt(r,3),D=(!function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];for(var e=0,a=n;e<a.length;e++){var o,i=a[e];for(o in i)t[o]=i[o]}}({},{dayNamesShort:lt(k,3),dayNames:k,monthNamesShort:bt,monthNames:r,amPm:["am","pm"],DoFn:function(t){return t+["th","st","nd","rd"][3<t%10?0:(t-t%10!=10?1:0)*t%10]}}),function(t,n,r,e,a){var o=t[0],t=t[1],i=y();return o=[o,t],(t=i)[0]=o[0],t[1]=0,t[2]=0,t[3]=0,t[4]=o[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t});function kt(t){return 1/Math.tan(t)}function xt(t,n,r,e,a){var o=kt(t[0]);return{transform:function(t){var n=t[0],t=t[1];return[n+t*o,t]},untransform:function(t){var n=t[0],t=t[1];return[n-t*o,t]}}}function Ot(t,n,r,e,a){var o=kt(t[0]);return{transform:function(t){var n=t[0];return[n,t[1]+n*o]},untransform:function(t){var n=t[0];return[n,t[1]-n*o]}}}function q(t,n,r,e,a){var o=t<n,a=(o?n-e:a-n)||a-e,e=o?-1:1;return e*a*(r+1)/(r+a/((t-n)*e))+n}function N(t,n,r,e,a){var o=t<n,a=(o?n-e:a-n)||a-e;return a/(a*(r+1)/(t-n)-r*(o?-1:1))+n}function T(t,n,r){return r?new P({range:[0,1],domain:[0,n]}).map(t):t}function At(t,n,r,e,a){var o=t[0],i=t[1],t=t[2],u=T(o,e,void 0!==t&&t);return{transform:function(t){var n=t[0],t=t[1];return[q(n,u,i,0,1),t]},untransform:function(t){var n=t[0],t=t[1];return[N(n,u,i,0,1),t]}}}function It(t,n,r,e,a){var o=t[0],i=t[1],t=t[2],u=T(o,a,void 0!==t&&t);return{transform:function(t){return[t[0],q(t[1],u,i,0,1)]},untransform:function(t){return[t[0],N(t[1],u,i,0,1)]}}}function Ft(t,n,r,e,a){var o=t[0],i=t[1],u=t[2],s=t[3],t=t[4],l=T(o,e,t=void 0!==t&&t),h=T(i,a,t);return{transform:function(t){var n=t[0],t=t[1];return[q(n,l,u,0,1),q(t,h,s,0,1)]},untransform:function(t){var n=t[0],t=t[1];return[N(n,l,u,0,1),N(t,h,s,0,1)]}}}function jt(t,n,r,e,a){var o=t[0],i=t[1],u=t[2],s=t[3],t=void 0!==(t=t[4])&&t,l=new P({range:[0,e]}),h=new P({range:[0,a]}),c=t?o:l.map(o),d=t?i:h.map(i);return{transform:function(t){var n=t[0],t=t[1],r=l.map(n)-c,e=h.map(t)-d,a=Math.sqrt(r*r+e*e);if(u<a)return[n,t];n=q(a,0,s,0,u),t=Math.atan2(e,r),a=c+n*Math.cos(t),e=d+n*Math.sin(t);return[l.invert(a),h.invert(e)]},untransform:function(t){var n=t[0],t=t[1],r=l.map(n)-c,e=h.map(t)-d,a=Math.sqrt(r*r+e*e);if(u<a)return[n,t];n=N(a,0,s,0,u),t=Math.atan2(e,r),a=c+n*Math.cos(t),e=d+n*Math.sin(t);return[l.invert(a),h.invert(e)]}}}function R(t){this.options={x:0,y:0,width:300,height:150,transformations:[]},this.transformers={cartesian:ht,translate:K,custom:ct,matrix:dt,polar:pt,transpose:ft,scale:D,"shear.x":xt,"shear.y":Ot,reflect:gt,"reflect.x":mt,"reflect.y":vt,rotate:yt,helix:Mt,parallel:wt,fisheye:Ft,"fisheye.x":At,"fisheye.y":It,"fisheye.circular":jt},this.update(t)}R.prototype.update=function(t){this.options=n({},this.options,t),this.recoordinate()},R.prototype.clone=function(){return new R(this.options)},R.prototype.getOptions=function(){return this.options},R.prototype.clear=function(){this.update({transformations:[]})},R.prototype.getSize=function(){var t=this.options;return[t.width,t.height]},R.prototype.getCenter=function(){var t=this.options,n=t.x,r=t.y;return[(2*n+t.width)/2,(2*r+t.height)/2]},R.prototype.transform=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=this.options.transformations;return this.update({transformations:g(g([],r,!0),[g([],t,!0)],!1)}),this},R.prototype.map=function(t){return this.output(t)},R.prototype.invert=function(t){return this.input(t)},R.prototype.recoordinate=function(){this.output=this.compose(),this.input=this.compose(!0)},R.prototype.compose=function(t){for(var n=(t=void 0===t?!1:t)?g([],this.options.transformations,!0).reverse():this.options.transformations,r=t?function(t){return t.untransform}:function(t){return t.transform},e=[],o=[],a=function(t,n){return o.push((n=void 0===n?!0:n)?(a=t,function(t){for(var n=[],r=0;r<t.length-1;r+=2){var e=[t[r],t[r+1]],e=a(e);n.push.apply(n,e)}return n}):t);var a},i=0,u=n;i<u.length;i++){var s,l,h,c,d=u[i],p=d[0],d=d.slice(1),f=this.transformers[p];f&&(s=(c=this.options).x,l=c.y,h=c.width,c=c.height,f=f(g([],d,!0),s,l,h,c),(d=f)instanceof Float32Array||d instanceof Array?e.push(f):(e.length&&(a(this.createMatrixTransform(e,t)),e.splice(0,e.length)),a(r(f)||m,"parallel"!==p)))}return e.length&&a(this.createMatrixTransform(e,t)),function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return t?n.reduce(function(n,r){return function(t){return r(n(t))}},t):m}.apply(void 0,o)},R.prototype.createMatrixTransform=function(t,n){var r,e,a,o,i,u,s,l,h,c,d,p,f=y();return n&&t.reverse(),t.forEach(function(t){return E(f,f,t)}),n&&(n=t=f,(p=new v(9))[0]=n[0],p[1]=n[1],p[2]=n[2],p[3]=n[3],p[4]=n[4],p[5]=n[5],p[6]=n[6],p[7]=n[7],p[8]=n[8],p=(n=p)[0],r=n[1],e=n[2],a=n[3],o=n[4],i=n[5],u=n[6],s=n[7],l=(n=n[8])*o-i*s,(d=p*l+r*(h=-n*a+i*u)+e*(c=s*a-o*u))&&(t[0]=l*(d=1/d),t[1]=(-n*r+e*s)*d,t[2]=(i*r-e*o)*d,t[3]=h*d,t[4]=(n*p-e*u)*d,t[5]=(-i*p+e*a)*d,t[6]=c*d,t[7]=(-s*p+r*u)*d,t[8]=(o*p-r*a)*d)),function(t){var n,r,e,a,o,t=[t[0],t[1],1];return e=f,a=(r=n=t)[0],o=r[1],r=r[2],n[0]=a*e[0]+o*e[3]+r*e[6],n[1]=a*e[1]+o*e[4]+r*e[7],n[2]=a*e[2]+o*e[5]+r*e[8],[t[0],t[1]]}},t.Coordinate=R,Object.defineProperty(t,"__esModule",{value:!0})});
|