Socket
Socket
Sign inDemoInstall

vega-scenegraph

Package Overview
Dependencies
Maintainers
2
Versions
110
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vega-scenegraph - npm Package Compare versions

Comparing version 2.3.1 to 2.4.0

2

build/vega-scenegraph.min.js

@@ -1,1 +0,1 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("vega-util"),require("vega-canvas"),require("vega-loader"),require("d3-shape"),require("d3-path")):"function"==typeof define&&define.amd?define(["exports","vega-util","vega-canvas","vega-loader","d3-shape","d3-path"],e):e(t.vega=t.vega||{},t.vega,t.vega,t.vega,t.d3,t.d3)}(this,function(t,e,n,i,r,o){"use strict";function s(t){this.clear(),t&&this.union(t)}var a=s.prototype;a.clone=function(){return new s(this)},a.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},a.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},a.set=function(t,e,n,i){return n<t?(this.x2=t,this.x1=n):(this.x1=t,this.x2=n),i<e?(this.y2=e,this.y1=i):(this.y1=e,this.y2=i),this},a.add=function(t,e){return t<this.x1&&(this.x1=t),e<this.y1&&(this.y1=e),t>this.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},a.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},a.round=function(){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},a.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},a.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),o=e-e*i+n*r,s=n-e*r-n*i,a=this.x1,u=this.x2,l=this.y1,h=this.y2;return this.clear().add(i*a-r*l+o,r*a+i*l+s).add(i*a-r*h+o,r*a+i*h+s).add(i*u-r*l+o,r*u+i*l+s).add(i*u-r*h+o,r*u+i*h+s)},a.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},a.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},a.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},a.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},a.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},a.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},a.width=function(){return this.x2-this.x1},a.height=function(){return this.y2-this.y1};var u=0;function l(t){this.mark=t,this.bounds=this.bounds||new s}function h(t){l.call(this,t),this.items=this.items||[]}function c(t){this._pending=0,this._loader=t||i.loader()}e.inherits(h,l);var f=c.prototype;function d(t){t._pending+=1}function v(t){t._pending-=1}f.pending=function(){return this._pending},f.sanitizeURL=function(t){var e=this;return d(e),e._loader.sanitize(t,{context:"href"}).then(function(t){return v(e),t}).catch(function(){return v(e),null})},f.loadImage=function(t){var e=this,i=n.image();return d(e),e._loader.sanitize(t,{context:"image"}).then(function(t){var n=t.href;if(!n||!i)throw{url:n};var r=new i;return r.onload=function(){v(e),r.loaded=!0},r.onerror=function(){v(e),r.loaded=!1},r.src=n,r}).catch(function(t){return v(e),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},f.ready=function(){var t=this;return new Promise(function(e){!function n(i){t.pending()?setTimeout(function(){n(!0)},10):e(i)}(!1)})};var g={basis:{curve:r.curveBasis},"basis-closed":{curve:r.curveBasisClosed},"basis-open":{curve:r.curveBasisOpen},bundle:{curve:r.curveBundle,tension:"beta",value:.85},cardinal:{curve:r.curveCardinal,tension:"tension",value:0},"cardinal-open":{curve:r.curveCardinalOpen,tension:"tension",value:0},"cardinal-closed":{curve:r.curveCardinalClosed,tension:"tension",value:0},"catmull-rom":{curve:r.curveCatmullRom,tension:"alpha",value:.5},"catmull-rom-closed":{curve:r.curveCatmullRomClosed,tension:"alpha",value:.5},"catmull-rom-open":{curve:r.curveCatmullRomOpen,tension:"alpha",value:.5},linear:{curve:r.curveLinear},"linear-closed":{curve:r.curveLinearClosed},monotone:{horizontal:r.curveMonotoneY,vertical:r.curveMonotoneX},natural:{curve:r.curveNatural},step:{curve:r.curveStep},"step-after":{curve:r.curveStepAfter},"step-before":{curve:r.curveStepBefore}};function p(t,e,n){var i=g.hasOwnProperty(t)&&g[t],r=null;return i&&(r=i.curve||i[e||"vertical"],i.tension&&null!=n&&(r=r[i.tension](n))),r}var y={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},_=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/],m=function(t){var e,n,i,r,o,s,a,u,l,h,c,f=[];for(u=0,h=(e=t.slice().replace(_[0],"###$1").split(_[1]).slice(1)).length;u<h;++u){for(i=(n=e[u]).slice(1).trim().replace(_[2],"$1###$2").split(_[3]),r=[s=n.charAt(0)],l=0,c=i.length;l<c;++l)(o=+i[l])===o&&r.push(o);if(a=y[s.toLowerCase()],r.length-1>a)for(l=1,c=r.length;l<c;l+=a)f.push([s].concat(r.slice(l,l+a)));else f.push(r)}return f},x={},b={},k=[].join;function w(t){var e=k.call(t);if(b[e])return b[e];var n=t[0],i=t[1],r=t[2],o=t[3],s=t[4],a=t[5],u=t[6],l=t[7],h=l*s,c=-u*a,f=u*s,d=l*a,v=Math.cos(r),g=Math.sin(r),p=Math.cos(o),y=Math.sin(o),_=.5*(o-r),m=Math.sin(.5*_),x=8/3*m*m/Math.sin(_),w=n+v-x*g,M=i+g+x*v,T=n+p,A=i+y,C=T+x*y,z=A-x*p;return b[e]=[h*w+c*M,f*w+d*M,h*C+c*z,f*C+d*z,h*T+c*A,f*T+d*A]}var M=["l",0,0,0,0,0,0,0];function T(t,e){var n=M[0]=t[0];if("a"===n||"A"===n)M[1]=e*t[1],M[2]=e*t[2],M[6]=e*t[6],M[7]=e*t[7];else for(var i=1,r=t.length;i<r;++i)M[i]=e*t[i];return M}var A=function(t,e,n,i,r){var o,s,a,u,l,h=null,c=0,f=0,d=0,v=0;null==n&&(n=0),null==i&&(i=0),null==r&&(r=1),t.beginPath&&t.beginPath();for(var g=0,p=e.length;g<p;++g){switch(o=e[g],1!==r&&(o=T(o,r)),o[0]){case"l":c+=o[1],f+=o[2],t.lineTo(c+n,f+i);break;case"L":c=o[1],f=o[2],t.lineTo(c+n,f+i);break;case"h":c+=o[1],t.lineTo(c+n,f+i);break;case"H":c=o[1],t.lineTo(c+n,f+i);break;case"v":f+=o[1],t.lineTo(c+n,f+i);break;case"V":f=o[1],t.lineTo(c+n,f+i);break;case"m":c+=o[1],f+=o[2],t.moveTo(c+n,f+i);break;case"M":c=o[1],f=o[2],t.moveTo(c+n,f+i);break;case"c":s=c+o[5],a=f+o[6],d=c+o[3],v=f+o[4],t.bezierCurveTo(c+o[1]+n,f+o[2]+i,d+n,v+i,s+n,a+i),c=s,f=a;break;case"C":c=o[5],f=o[6],d=o[3],v=o[4],t.bezierCurveTo(o[1]+n,o[2]+i,d+n,v+i,c+n,f+i);break;case"s":s=c+o[3],a=f+o[4],d=2*c-d,v=2*f-v,t.bezierCurveTo(d+n,v+i,c+o[1]+n,f+o[2]+i,s+n,a+i),d=c+o[1],v=f+o[2],c=s,f=a;break;case"S":s=o[3],a=o[4],d=2*c-d,v=2*f-v,t.bezierCurveTo(d+n,v+i,o[1]+n,o[2]+i,s+n,a+i),c=s,f=a,d=o[1],v=o[2];break;case"q":s=c+o[3],a=f+o[4],d=c+o[1],v=f+o[2],t.quadraticCurveTo(d+n,v+i,s+n,a+i),c=s,f=a;break;case"Q":s=o[3],a=o[4],t.quadraticCurveTo(o[1]+n,o[2]+i,s+n,a+i),c=s,f=a,d=o[1],v=o[2];break;case"t":s=c+o[1],a=f+o[2],null===h[0].match(/[QqTt]/)?(d=c,v=f):"t"===h[0]?(d=2*c-u,v=2*f-l):"q"===h[0]&&(d=2*c-d,v=2*f-v),u=d,l=v,t.quadraticCurveTo(d+n,v+i,s+n,a+i),f=a,d=(c=s)+o[1],v=f+o[2];break;case"T":s=o[1],a=o[2],d=2*c-d,v=2*f-v,t.quadraticCurveTo(d+n,v+i,s+n,a+i),c=s,f=a;break;case"a":C(t,c+n,f+i,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+f+i]),c+=o[6],f+=o[7];break;case"A":C(t,c+n,f+i,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+i]),c=o[6],f=o[7];break;case"z":case"Z":t.closePath()}h=o}};function C(t,e,n,i){for(var r=function(t,e,n,i,r,o,s,a,u){var l=k.call(arguments);if(x[l])return x[l];var h=s*(Math.PI/180),c=Math.sin(h),f=Math.cos(h),d=f*(a-t)*.5+c*(u-e)*.5,v=f*(u-e)*.5-c*(a-t)*.5,g=d*d/((n=Math.abs(n))*n)+v*v/((i=Math.abs(i))*i);g>1&&(n*=g=Math.sqrt(g),i*=g);var p=f/n,y=c/n,_=-c/i,m=f/i,b=p*a+y*u,w=_*a+m*u,M=p*t+y*e,T=_*t+m*e,A=1/((M-b)*(M-b)+(T-w)*(T-w))-.25;A<0&&(A=0);var C=Math.sqrt(A);o==r&&(C=-C);var z=.5*(b+M)-C*(T-w),P=.5*(w+T)+C*(M-b),S=Math.atan2(w-P,b-z),L=Math.atan2(T-P,M-z)-S;L<0&&1===o?L+=2*Math.PI:L>0&&0===o&&(L-=2*Math.PI);for(var I=Math.ceil(Math.abs(L/(.5*Math.PI+.001))),R=[],q=0;q<I;++q){var N=S+q*L/I,O=S+(q+1)*L/I;R[q]=[z,P,N,O,n,i,c,f]}return x[l]=R}(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),o=0;o<r.length;++o){var s=w(r[o]);t.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5])}}var z=2*Math.PI,P=Math.sqrt(3)/2,S={circle:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(n,0),t.arc(0,0,n,0,z)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i),t.lineTo(-n,i),t.lineTo(-i,i),t.lineTo(-i,n),t.lineTo(i,n),t.lineTo(i,i),t.lineTo(n,i),t.lineTo(n,-i),t.lineTo(i,-i),t.lineTo(i,-n),t.lineTo(-i,-n),t.lineTo(-i,-i),t.closePath()}},diamond:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(-n,0),t.lineTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(0,-i),t.lineTo(-n,i),t.lineTo(n,i),t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(0,i),t.lineTo(-n,-i),t.lineTo(n,-i),t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(i,0),t.lineTo(-i,-n),t.lineTo(-i,n),t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(-i,0),t.lineTo(i,-n),t.lineTo(i,n),t.closePath()}}};function L(t){return S.hasOwnProperty(t)?S[t]:function(t){if(!I.hasOwnProperty(t)){var e=m(t);I[t]={draw:function(t,n){A(t,e,0,0,Math.sqrt(n)/2)}}}return I[t]}(t)}var I={};function R(t){return t.x}function q(t){return t.y}function N(t){return t.width}function O(t){return t.height}function E(t){return function(){return t}}var D=function(){var t=R,e=q,n=N,i=O,r=E(0),s=null;function a(a,u,l){var h,c=null!=u?u:+t.call(this,a),f=null!=l?l:+e.call(this,a),d=+n.call(this,a),v=+i.call(this,a),g=+r.call(this,a);if(s||(s=h=o.path()),g<=0)s.rect(c,f,d,v);else{var p=c+d,y=f+v;s.moveTo(c+g,f),s.lineTo(p-g,f),s.quadraticCurveTo(p,f,p,f+g),s.lineTo(p,y-g),s.quadraticCurveTo(p,y,p-g,y),s.lineTo(c+g,y),s.quadraticCurveTo(c,y,c,y-g),s.lineTo(c,f+g),s.quadraticCurveTo(c,f,c+g,f),s.closePath()}if(h)return s=null,h+""||null}return a.x=function(e){return arguments.length?(t="function"==typeof e?e:E(+e),a):t},a.y=function(t){return arguments.length?(e="function"==typeof t?t:E(+t),a):e},a.width=function(t){return arguments.length?(n="function"==typeof t?t:E(+t),a):n},a.height=function(t){return arguments.length?(i="function"==typeof t?t:E(+t),a):i},a.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:E(+t),a):r},a.context=function(t){return arguments.length?(s=null==t?null:t,a):s},a},V=Math.PI,H=function(){var t,e,n,i,r,s,a,u,l=null;function h(t,e,n){var i=n/2;if(r){var o=a-e,h=t-s;if(o||h){var c=Math.sqrt(o*o+h*h),f=(o/=c)*u,d=(h/=c)*u,v=Math.atan2(h,o);l.moveTo(s-f,a-d),l.lineTo(t-o*i,e-h*i),l.arc(t,e,i,v-V,v),l.lineTo(s+f,a+d),l.arc(s,a,u,v,v+V)}else l.arc(t,e,i,0,2*V);l.closePath()}else r=1;s=t,a=e,u=i}function c(s){var a,u,c,f=s.length,d=!1;for(null==l&&(l=c=o.path()),a=0;a<=f;++a)!(a<f&&i(u=s[a],a,s))===d&&(d=!d)&&(r=0),d&&h(+t(u,a,s),+e(u,a,s),+n(u,a,s));if(c)return l=null,c+""||null}return c.x=function(e){return arguments.length?(t=e,c):t},c.y=function(t){return arguments.length?(e=t,c):e},c.size=function(t){return arguments.length?(n=t,c):n},c.defined=function(t){return arguments.length?(i=t,c):i},c.context=function(t){return arguments.length?(l=null==t?null:t,c):l},c};function G(t){return t.x||0}function W(t){return t.y||0}function j(t){return t.cornerRadius||0}function B(t){return!(!1===t.defined)}var U=r.arc().startAngle(function(t){return t.startAngle||0}).endAngle(function(t){return t.endAngle||0}).padAngle(function(t){return t.padAngle||0}).innerRadius(function(t){return t.innerRadius||0}).outerRadius(function(t){return t.outerRadius||0}).cornerRadius(j),X=r.area().x(G).y1(W).y0(function(t){return(t.y||0)+(t.height||0)}).defined(B),J=r.area().y(W).x1(G).x0(function(t){return(t.x||0)+(t.width||0)}).defined(B),F=r.line().x(G).y(W).defined(B),Q=D().x(G).y(W).width(function(t){return t.width||0}).height(function(t){return t.height||0}).cornerRadius(j),Y=r.symbol().type(function(t){return L(t.shape||"circle")}).size(function(t){return null==t.size?64:t.size}),Z=H().x(G).y(W).defined(B).size(function(t){return t.size||1});function $(t,e,n,i){return Q.context(t)(e,n,i)}var K,tt=function(t,e){return e.stroke&&0!==e.opacity&&0!==e.strokeOpacity&&t.expand(null!=e.strokeWidth?+e.strokeWidth:1),t},et=2*Math.PI,nt=et/4,it=et-1e-8;function rt(t){return K=t,rt}function ot(){}function st(t,e){K.add(t,e)}rt.beginPath=ot,rt.closePath=ot,rt.moveTo=st,rt.lineTo=st,rt.rect=function(t,e,n,i){st(t,e),st(t+n,e+i)},rt.quadraticCurveTo=function(t,e,n,i){st(t,e),st(n,i)},rt.bezierCurveTo=function(t,e,n,i,r,o){st(t,e),st(n,i),st(r,o)},rt.arc=function(t,e,n,i,r,o){if(Math.abs(r-i)>it)return st(t-n,e-n),void st(t+n,e+n);var s,a,u,l,h=1/0,c=-1/0,f=1/0,d=-1/0;function v(t){u=n*Math.cos(t),l=n*Math.sin(t),u<h&&(h=u),u>c&&(c=u),l<f&&(f=l),l>d&&(d=l)}if(v(i),v(r),r!==i)if((i%=et)<0&&(i+=et),(r%=et)<0&&(r+=et),r<i&&(o=!o,s=i,i=r,r=s),o)for(r-=et,s=i-i%nt,a=0;a<4&&s>r;++a,s-=nt)v(s);else for(s=i-i%nt+nt,a=0;a<4&&s<r;++a,s+=nt)v(s);st(t+h,e+f),st(t+c,e+d)};var at=function(t,e,n){return n.id?function(t,e,n){for(var i=n.width(),r=n.height(),o=n.x1+e.x1*i,s=n.y1+e.y1*r,a=n.x1+e.x2*i,u=n.y1+e.y2*r,l=e.stops,h=0,c=l.length,f=t.createLinearGradient(o,s,a,u);h<c;++h)f.addColorStop(l[h].offset,l[h].color);return f}(t,n,e.bounds):n},ut=function(t,e,n){return(n*=null==e.fillOpacity?1:e.fillOpacity)>0&&(t.globalAlpha=n,t.fillStyle=at(t,e,e.fill),!0)},lt=[],ht=function(t,e,n){var i=null!=(i=e.strokeWidth)?i:1;return!(i<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=at(t,e,e.stroke),t.lineWidth=i,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||lt),t.lineDashOffset=e.strokeDashOffset||0),!0))};function ct(t,e){return t.zindex-e.zindex||t.index-e.index}function ft(t){if(!t.zdirty)return t.zitems;var e,n,i,r=t.items,o=[];for(n=0,i=r.length;n<i;++n)(e=r[n]).index=n,e.zindex&&o.push(e);return t.zdirty=!1,t.zitems=o.sort(ct)}function dt(t,e){var n,i,r=t.items;if(r&&r.length){var o=ft(t);if(o&&o.length){for(n=0,i=r.length;n<i;++n)r[n].zindex||e(r[n]);r=o}for(n=0,i=r.length;n<i;++n)e(r[n])}}function vt(t,e){var n,i,r=t.items;if(!r||!r.length)return null;var o=ft(t);for(o&&o.length&&(r=o),i=r.length;--i>=0;)if(n=e(r[i]))return n;if(r===o)for(i=(r=t.items).length;--i>=0;)if(!r[i].zindex&&(n=e(r[i])))return n;return null}function gt(t){return function(e,n,i){dt(n,function(n){i&&!i.intersects(n.bounds)||pt(t,e,n,n)})}}function pt(t,e,n,i){var r=null==n.opacity?1:n.opacity;0!==r&&(t(e,i)||(n.fill&&ut(e,n,r)&&e.fill(),n.stroke&&ht(e,n,r)&&e.stroke()))}var yt=function(){return!0};function _t(t){return t||(t=yt),function(e,n,i,r,o,s){return e.pixelRatio>1&&(i*=e.pixelRatio,r*=e.pixelRatio),vt(n,function(n){var a=n.bounds;if((!a||a.contains(o,s))&&a)return t(e,n,i,r,o,s)?n:void 0})}}function mt(t,e){return function(n,i,r,o){var s,a,u=Array.isArray(i)?i[0]:i,l=null==e?u.fill:e,h=u.stroke&&n.isPointInStroke;return h&&(s=u.strokeWidth,a=u.strokeCap,n.lineWidth=null!=s?s:1,n.lineCap=null!=a?a:"butt"),!t(n,i)&&(l&&n.isPointInPath(r,o)||h&&n.isPointInStroke(r,o))}}function xt(t){return _t(mt(t))}var bt=function(t,e){return"translate("+t+","+e+")"},kt=function(t){return bt(t.x||0,t.y||0)},wt=function(t,e){function n(t,n){var i=n.x||0,r=n.y||0;t.translate(i,r),t.beginPath(),e(t,n),t.translate(-i,-r)}return{type:t,tag:"path",nested:!1,attr:function(t,n){t("transform",kt(n)),t("d",e(null,n))},bound:function(t,n){return e(rt(t),n),tt(t,n).translate(n.x||0,n.y||0)},draw:gt(n),pick:xt(n)}},Mt=wt("arc",function(t,e){return U.context(t)(e)}),Tt=function(t,e){function n(t,n){t.beginPath(),e(t,n)}var i,r=mt(n);return{type:t,tag:"path",nested:!0,attr:function(t,n){var i=n.mark.items;i.length&&t("d",e(null,i))},bound:function(t,n){var i=n.items;return 0===i.length?t:(e(rt(t),i),tt(t,i[0]))},draw:(i=n,function(t,e,n){!e.items.length||n&&!n.intersects(e.bounds)||pt(i,t,e.items[0],e.items)}),pick:function(t,e,n,i,o,s){var a=e.items,u=e.bounds;return!a||!a.length||u&&!u.contains(o,s)?null:(t.pixelRatio>1&&(n*=t.pixelRatio,i*=t.pixelRatio),r(t,a,n,i)?a[0]:null)}}},At=Tt("area",function(t,e){var n=e[0],i=n.interpolate||"linear";return("horizontal"===n.orient?J:X).curve(p(i,n.orient,n.tension)).context(t)(e)}),Ct=1;var zt=function(t,n,i){var r=n.clip,o=t._defs,s=n.clip_id||(n.clip_id="clip"+Ct++),a=o.clipping[s]||(o.clipping[s]={id:s});return e.isFunction(r)?a.path=r(null):(a.width=i.width||0,a.height=i.height||0),"url(#"+s+")"},Pt=.5;var St={type:"group",tag:"g",nested:!1,attr:function(t,e){t("transform",kt(e))},bound:function(t,e){if(!e.clip&&e.items)for(var n=e.items,i=0,r=n.length;i<r;++i)t.union(n[i].bounds);return(e.clip||e.width||e.height)&&tt(t.add(0,0).add(e.width||0,e.height||0),e),t.translate(e.x||0,e.y||0)},draw:function(t,e,n){var i=this;dt(e,function(e){var r,o,s=e.x||0,a=e.y||0,u=e.width||0,l=e.height||0;t.save(),t.translate(s,a),(e.stroke||e.fill)&&(o=null==e.opacity?1:e.opacity)>0&&(t.beginPath(),r=e.stroke?Pt:0,$(t,e,r,r),e.fill&&ut(t,e,o)&&t.fill(),e.stroke&&ht(t,e,o)&&t.stroke()),e.clip&&(t.beginPath(),t.rect(0,0,u,l),t.clip()),n&&n.translate(-s,-a),dt(e,function(e){i.draw(t,e,n)}),n&&n.translate(s,a),t.restore()})},pick:function(t,e,n,i,r,o){if(e.bounds&&!e.bounds.contains(r,o)||!e.items)return null;var s=this;return vt(e,function(a){var u,l,h,c;if(!(c=a.bounds)||c.contains(r,o))return l=a.x||0,h=a.y||0,t.save(),t.translate(l,h),l=r-l,h=o-h,u=vt(a,function(t){return r=l,o=h,(!1!==(e=t).interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(r,o)?s.pick(t,n,i,l,h):null;var e,r,o}),t.restore(),u||((u=!1!==e.interactive&&(a.fill||a.stroke)&&l>=0&&l<=a.width&&h>=0&&h<=a.height)?a:null)})},background:function(t,e){var n=e.stroke?Pt:0;t("class","background"),t("d",$(null,e,n,n))},foreground:function(t,e,n){t("clip-path",e.clip?zt(n,e,e):null)}};function Lt(t,e){var n=t.image;return n&&n.url===t.url||(n={loaded:!1,width:0,height:0},e.loadImage(t.url).then(function(e){t.image=e,t.image.url=t.url})),n}function It(t,e){return"center"===t?e/2:"right"===t?e:0}function Rt(t,e){return"middle"===t?e/2:"bottom"===t?e:0}var qt={type:"image",tag:"image",nested:!1,attr:function(t,e,n){var i=Lt(e,n),r=e.x||0,o=e.y||0,s=(null!=e.width?e.width:i.width)||0,a=(null!=e.height?e.height:i.height)||0,u=!1===e.aspect?"none":"xMidYMid";r-=It(e.align,s),o-=Rt(e.baseline,a),t("href",i.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",bt(r,o)),t("width",s),t("height",a),t("preserveAspectRatio",u)},bound:function(t,e){var n=e.image,i=e.x||0,r=e.y||0,o=(null!=e.width?e.width:n&&n.width)||0,s=(null!=e.height?e.height:n&&n.height)||0;return i-=It(e.align,o),r-=Rt(e.baseline,s),t.set(i,r,i+o,r+s)},draw:function(t,e,n){var i=this;dt(e,function(e){if(!n||n.intersects(e.bounds)){var r,o,s,a,u=Lt(e,i),l=e.x||0,h=e.y||0,c=(null!=e.width?e.width:u.width)||0,f=(null!=e.height?e.height:u.height)||0;l-=It(e.align,c),h-=Rt(e.baseline,f),!1!==e.aspect&&(o=u.width/u.height,s=e.width/e.height,o==o&&s==s&&o!==s&&(s<o?(h+=(f-(a=c/o))/2,f=a):(l+=(c-(a=f*o))/2,c=a))),u.loaded&&(t.globalAlpha=null!=(r=e.opacity)?r:1,t.drawImage(u,l,h,c,f))}})},pick:_t(),get:Lt,xOffset:It,yOffset:Rt},Nt=Tt("line",function(t,e){var n=e[0],i=n.interpolate||"linear";return F.curve(p(i,n.orient,n.tension)).context(t)(e)});function Ot(t,e){var n=e.path;if(null==n)return!0;var i=e.pathCache;i&&i.path===n||((e.pathCache=i=m(n)).path=n),A(t,i,e.x,e.y)}var Et={type:"path",tag:"path",nested:!1,attr:function(t,e){t("transform",kt(e)),t("d",e.path)},bound:function(t,e){return Ot(rt(t),e)?t.set(0,0,0,0):tt(t,e)},draw:gt(Ot),pick:xt(Ot)};function Dt(t,e){t.beginPath(),$(t,e)}var Vt={type:"rect",tag:"path",nested:!1,attr:function(t,e){t("d",$(null,e))},bound:function(t,e){var n,i;return tt(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)},draw:gt(Dt),pick:xt(Dt)};function Ht(t,e,n){var i,r,o,s;return!(!e.stroke||!ht(t,e,n))&&(i=e.x||0,r=e.y||0,o=null!=e.x2?e.x2:i,s=null!=e.y2?e.y2:r,t.beginPath(),t.moveTo(i,r),t.lineTo(o,s),!0)}var Gt,Wt,jt={type:"rule",tag:"line",nested:!1,attr:function(t,e){t("transform",kt(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)},bound:function(t,e){var n,i;return tt(t.set(n=e.x||0,i=e.y||0,null!=e.x2?e.x2:n,null!=e.y2?e.y2:i),e)},draw:function(t,e,n){dt(e,function(e){if(!n||n.intersects(e.bounds)){var i=null==e.opacity?1:e.opacity;i&&Ht(t,e,i)&&t.stroke()}})},pick:_t(function(t,e,n,i){return!!t.isPointInStroke&&Ht(t,e,1)&&t.isPointInStroke(n,i)})},Bt=wt("shape",function(t,e){return(e.mark.shape||e.shape).context(t)(e)}),Ut=wt("symbol",function(t,e){return Y.context(t)(e)}),Xt={height:Zt,measureWidth:Qt,estimateWidth:Jt,width:Jt,canvas:$t};function Jt(t){return Wt=Zt(t),Ft(Kt(t))}function Ft(t){return~~(.8*t.length*Wt)}function Qt(t){return Gt.font=te(t),Yt(Kt(t))}function Yt(t){return Gt.measureText(t).width}function Zt(t){return null!=t.fontSize?t.fontSize:11}function $t(t){Gt=t&&(Gt=n.canvas(1,1))?Gt.getContext("2d"):null,Xt.width=Gt?Qt:Jt}function Kt(t){var e=t.text;return null==e?"":t.limit>0?function(t){var e,n=+t.limit,i=t.text+"";Gt?(Gt.font=te(t),e=Yt):(Wt=Zt(t),e=Ft);if(e(i)<n)return i;var r,o=t.ellipsis||"…",s="rtl"===t.dir,a=0,u=i.length;{if(n-=e(o),s){for(;a<u;)r=a+u>>>1,e(i.slice(r))>n?a=r+1:u=r;return o+i.slice(a)}for(;a<u;)r=1+(a+u>>>1),e(i.slice(0,r))<n?a=r:u=r-1;return i.slice(0,a)+o}}(t):e+""}function te(t,e){var n=t.font;return e&&n&&(n=String(n).replace(/"/g,"'")),(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Zt(t)+"px "+(n||"sans-serif")}function ee(t){var e=t.baseline,n=Zt(t);return Math.round("top"===e?.79*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}$t(!0);var ne={left:"start",center:"middle",right:"end"},ie=new s;function re(t,e,n){var i,r,o=Xt.height(e),s=e.align,a=e.radius||0,u=e.x||0,l=e.y||0,h=e.dx||0,c=(e.dy||0)+ee(e)-Math.round(.8*o);return a&&(r=(e.theta||0)-Math.PI/2,u+=a*Math.cos(r),l+=a*Math.sin(r)),i=Xt.width(e),"center"===s?h-=i/2:"right"===s&&(h-=i),t.set(h+=u,c+=l,h+i,c+o),e.angle&&!n&&t.rotate(e.angle*Math.PI/180,u,l),t.expand(n||!i?0:1)}var oe={arc:Mt,area:At,group:St,image:qt,line:Nt,path:Et,rect:Vt,rule:jt,shape:Bt,symbol:Ut,text:{type:"text",tag:"text",nested:!1,attr:function(t,e){var n,i=e.dx||0,r=(e.dy||0)+ee(e),o=e.x||0,s=e.y||0,a=e.angle||0,u=e.radius||0;u&&(n=(e.theta||0)-Math.PI/2,o+=u*Math.cos(n),s+=u*Math.sin(n)),t("text-anchor",ne[e.align]||"start"),a?(n=bt(o,s)+" rotate("+a+")",(i||r)&&(n+=" "+bt(i,r))):n=bt(o+i,s+r),t("transform",n)},bound:re,draw:function(t,e,n){dt(e,function(e){var i,r,o,s,a,u;n&&!n.intersects(e.bounds)||(u=Kt(e))&&0!==(i=null==e.opacity?1:e.opacity)&&(t.font=te(e),t.textAlign=e.align||"left",r=e.x||0,o=e.y||0,(s=e.radius)&&(a=(e.theta||0)-Math.PI/2,r+=s*Math.cos(a),o+=s*Math.sin(a)),e.angle&&(t.save(),t.translate(r,o),t.rotate(e.angle*Math.PI/180),r=o=0),r+=e.dx||0,o+=(e.dy||0)+ee(e),e.fill&&ut(t,e,i)&&t.fillText(u,r,o),e.stroke&&ht(t,e,i)&&t.strokeText(u,r,o),e.angle&&t.restore())})},pick:_t(function(t,e,n,i,r,o){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var s=re(ie,e,!0),a=-e.angle*Math.PI/180,u=Math.cos(a),l=Math.sin(a),h=e.x,c=e.y,f=u*r-l*o+(h-h*u+c*l),d=l*r+u*o+(c-h*l-c*u);return s.contains(f,d)})},trail:Tt("trail",function(t,e){return Z.context(t)(e)})},se=function(t,e,n){var i=oe[t.mark.marktype],r=e||i.bound;return i.nested&&(t=t.mark),r(t.bounds||(t.bounds=new s),t,n)},ae={mark:null},ue=function(t,e,n){var i,r,o,a,u=oe[t.marktype],l=u.bound,h=t.items,c=h&&h.length;if(u.nested)return c?o=h[0]:(ae.mark=t,o=ae),a=se(o,l,n),e=e&&e.union(a)||a;if(e=e||t.bounds&&t.bounds.clear()||new s,c)for(i=0,r=h.length;i<r;++i)e.union(se(h[i],l,n));return t.bounds=e},le=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"];function he(t,e){return JSON.stringify(t,le,e)}function ce(t){return function t(e){var n,i,r,o=e.marktype,s=e.items;if(s)for(i=0,r=s.length;i<r;++i)n=o?"mark":"group",s[i][n]=e,s[i].zindex&&(s[i][n].zdirty=!0),"group"===(o||n)&&t(s[i]);o&&ue(e);return e}("string"==typeof t?JSON.parse(t):t)}function fe(t){arguments.length?this.root=ce(t):(this.root=ve({marktype:"group",name:"root",role:"frame"}),this.root.items=[new h(this.root)])}var de=fe.prototype;function ve(t,e){return{bounds:new s,clip:!!t.clip,group:e,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}function ge(t,e,n){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?n?t.createElementNS(n,e):t.createElement(e):null}function pe(t,e){e=e.toLowerCase();for(var n=t.childNodes,i=0,r=n.length;i<r;++i)if(n[i].tagName.toLowerCase()===e)return n[i]}function ye(t,e,n,i){var r,o=t.childNodes[e];return o&&o.tagName.toLowerCase()===n.toLowerCase()||(r=o||null,o=ge(t.ownerDocument,n,i),t.insertBefore(o,r)),o}function _e(t,e){for(var n=t.childNodes,i=n.length;i>e;)t.removeChild(n[--i]);return t}function me(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function xe(t){this._active=null,this._handlers={},this._loader=t||i.loader()}de.toJSON=function(t){return he(this.root,t||0)},de.mark=function(t,e,n){var i=ve(t,e=e||this.root.items[0]);return e.items[n]=i,i.zindex&&(i.group.zdirty=!0),i};var be=xe.prototype;function ke(t){this._el=null,this._bgcolor=null,this._loader=new c(t)}be.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},be.element=function(){return this._el},be.origin=function(t){return this._origin=t||[0,0],this},be.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},be.on=function(){},be.off=function(){},be._handlerIndex=function(t,e,n){for(var i=t?t.length:0;--i>=0;)if(t[i].type===e&&!n||t[i].handler===n)return i;return-1},be.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},be.eventName=function(t){var e=t.indexOf(".");return e<0?t:t.slice(0,e)},be.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then(function(e){var n=new MouseEvent(t.type,t),i=ge(null,"a");for(var r in e)i.setAttribute(r,e[r]);i.dispatchEvent(n)}).catch(function(){})},be.handleTooltip=function(t,e,n){this._el.setAttribute("title",n||"")};var we=ke.prototype;we.initialize=function(t,e,n,i,r){return this._el=t,this.resize(e,n,i,r)},we.element=function(){return this._el},we.scene=function(){return this._el&&this._el.firstChild},we.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},we.resize=function(t,e,n,i){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=i||1,this},we.dirty=function(){},we.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},we._render=function(){},we.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then(function(){return e}):Promise.resolve(e)},we._load=function(t,e){var n=this,i=n._loader[t](e);if(!n._ready){var r=n._call;n._ready=n._loader.ready().then(function(t){t&&r(),n._ready=null})}return i},we.sanitizeURL=function(t){return this._load("sanitizeURL",t)},we.loadImage=function(t){return this._load("loadImage",t)};var Me=function(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]};function Te(t){xe.call(this,t),this._down=null,this._touch=null,this._first=!0}var Ae=e.inherits(Te,xe);function Ce(t,e,n){return function(i){var r=this._active,o=this.pickEvent(i);o===r?this.fire(t,i):(r&&r.exit||this.fire(n,i),this._active=o,this.fire(e,i),this.fire(t,i))}}function ze(t){return function(e){this.fire(t,e),this._active=null}}Ae.initialize=function(t,e,n){var i=this._canvas=t&&pe(t,"canvas");if(i){var r=this;this.events.forEach(function(t){i.addEventListener(t,function(e){Ae[t]?Ae[t].call(r,e):r.fire(t,e)})})}return xe.prototype.initialize.call(this,t,e,n)},Ae.canvas=function(){return this._canvas},Ae.context=function(){return this._canvas.getContext("2d")},Ae.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],Ae.DOMMouseScroll=function(t){this.fire("mousewheel",t)},Ae.mousemove=Ce("mousemove","mouseover","mouseout"),Ae.dragover=Ce("dragover","dragenter","dragleave"),Ae.mouseout=ze("mouseout"),Ae.dragleave=ze("dragleave"),Ae.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},Ae.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},Ae.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},Ae.touchmove=function(t){this.fire("touchmove",t,!0)},Ae.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},Ae.fire=function(t,e,n){var i,r,o=n?this._touch:this._active,s=this._handlers[t];if("click"===t&&o&&o.href?this.handleHref(e,o,o.href):("mouseover"===t||"mouseout"===t)&&o&&o.tooltip&&this.handleTooltip(e,o,"mouseover"===t?o.tooltip:null),s)for(e.vegaType=t,i=0,r=s.length;i<r;++i)s[i].handler.call(this._obj,e,o)},Ae.on=function(t,e){var n=this.eventName(t),i=this._handlers;return this._handlerIndex(i[n],t,e)<0&&(i[n]||(i[n]=[])).push({type:t,handler:e}),this},Ae.off=function(t,e){var n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);return r>=0&&i.splice(r,1),this},Ae.pickEvent=function(t){var e=Me(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},Ae.pick=function(t,e,n,i,r){var o=this.context();return oe[t.marktype].pick.call(this,o,t,e,n,i,r)};var Pe="undefined"!=typeof window&&window.devicePixelRatio||1;function Se(t){ke.call(this,t),this._redraw=!1,this._dirty=new s}var Le=e.inherits(Se,ke),Ie=ke.prototype,Re=new s;function qe(t){xe.call(this,t);var e=this;e._hrefHandler=Oe(e,function(t,n){n&&n.href&&e.handleHref(t,n,n.href)}),e._tooltipHandler=Oe(e,function(t,n){n&&n.tooltip&&e.handleTooltip(t,n,"mouseover"===t.type?n.tooltip:null)})}Le.initialize=function(t,e,i,r,o){return this._canvas=n.canvas(1,1),t&&(_e(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Ie.initialize.call(this,t,e,i,r,o)},Le.resize=function(t,e,n,i){var r,o,s,a,u,l,h,c;return Ie.resize.call(this,t,e,n,i),r=this._canvas,o=this._width,s=this._height,a=this._origin,u=this._scale,l="undefined"!=typeof HTMLElement&&r instanceof HTMLElement&&null!=r.parentNode,h=r.getContext("2d"),c=l?Pe:u,r.width=o*c,r.height=s*c,l&&1!==c&&(r.style.width=o+"px",r.style.height=s+"px"),h.pixelRatio=c,h.setTransform(c,0,0,c,c*a[0],c*a[1]),this._redraw=!0,this},Le.canvas=function(){return this._canvas},Le.context=function(){return this._canvas?this._canvas.getContext("2d"):null},Le.dirty=function(t){var e=function(t,e){if(null==e)return t;for(var n=Re.clear().union(t);null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}(t.bounds,t.mark.group);this._dirty.union(e)},Le._render=function(t){var e,n,i,r=this.context(),o=this._origin,s=this._width,a=this._height,u=this._dirty;return r.save(),this._redraw||u.empty()?(this._redraw=!1,u=null):(e=r,i=o,(n=u).expand(1).round(),n.translate(-i[0]%1,-i[1]%1),e.beginPath(),e.rect(n.x1,n.y1,n.width(),n.height()),e.clip(),u=n),this.clear(-o[0],-o[1],s,a),this.draw(r,t,u),r.restore(),this._dirty.clear(),this},Le.draw=function(t,n,i){var r=oe[n.marktype];n.clip&&function(t,n){var i=n.clip;if(t.save(),t.beginPath(),e.isFunction(i))i(t);else{var r=n.group;t.rect(0,0,r.width||0,r.height||0)}t.clip()}(t,n),r.draw.call(this,t,n,i),n.clip&&t.restore()},Le.clear=function(t,e,n,i){var r=this.context();r.clearRect(t,e,n,i),null!=this._bgcolor&&(r.fillStyle=this._bgcolor,r.fillRect(t,e,n,i))};var Ne=e.inherits(qe,xe);function Oe(t,e){return function(n){var i=n.target.__data__;n.vegaType=n.type,i=Array.isArray(i)?i[0]:i,e.call(t._obj,n,i)}}function Ee(t,e,n){var i,r,o="<"+t;if(e)for(i in e)null!=(r=e[i])&&(o+=" "+i+'="'+r+'"');return n&&(o+=" "+n),o+">"}function De(t){return"</"+t+">"}Ne.initialize=function(t,e,n){var i=this._svg;return i&&(i.removeEventListener("click",this._hrefHandler),i.removeEventListener("mouseover",this._tooltipHandler),i.removeEventListener("mouseout",this._tooltipHandler)),this._svg=i=t&&pe(t,"svg"),i&&(i.addEventListener("click",this._hrefHandler),i.addEventListener("mouseover",this._tooltipHandler),i.addEventListener("mouseout",this._tooltipHandler)),xe.prototype.initialize.call(this,t,e,n)},Ne.svg=function(){return this._svg},Ne.on=function(t,e){var n=this.eventName(t),i=this._handlers;if(this._handlerIndex(i[n],t,e)<0){var r={type:t,handler:e,listener:Oe(this,e)};(i[n]||(i[n]=[])).push(r),this._svg&&this._svg.addEventListener(n,r.listener)}return this},Ne.off=function(t,e){var n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);return r>=0&&(this._svg&&this._svg.removeEventListener(n,i[r].listener),i.splice(r,1)),this};var Ve={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},He={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},Ge=Object.keys(He),We=Ve.xmlns;function je(t){ke.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var Be=e.inherits(je,ke),Ue=ke.prototype;function Xe(t,e,n){var i,r,o;for((t=ye(t,n,"linearGradient",We)).setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2),i=0,r=e.stops.length;i<r;++i)(o=ye(t,i,"stop",We)).setAttribute("offset",e.stops[i].offset),o.setAttribute("stop-color",e.stops[i].color);_e(t,i)}function Je(t,e,n){var i;(t=ye(t,n,"clipPath",We)).setAttribute("id",e.id),e.path?(i=ye(t,0,"path",We)).setAttribute("d",e.path):((i=ye(t,0,"rect",We)).setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height))}function Fe(t,e){for(;t&&t.dirty!==e;t=t.mark.group){if(t.dirty=e,!t.mark||t.mark.dirty===e)return;t.mark.dirty=e}}function Qe(t,e,n,i){var r,o=t._svg;if(!o&&(o=ge(r=e.ownerDocument,i,We),t._svg=o,t.mark&&(o.__data__=t,o.__values__={fill:"default"},"g"===i))){var s=ge(r,"path",We);s.setAttribute("class","background"),o.appendChild(s),s.__data__=t;var a=ge(r,"g",We);o.appendChild(a),a.__data__=t}return!r&&o.previousSibling===n&&n||e.insertBefore(o,n?n.nextSibling:e.firstChild),o}Be.initialize=function(t,e,n,i){return t&&(this._svg=ye(t,0,"svg",We),this._svg.setAttribute("class","marks"),_e(t,1),this._root=ye(this._svg,0,"g",We),_e(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),Ue.initialize.call(this,t,e,n,i)},Be.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),Ue.background.apply(this,arguments)},Be.resize=function(t,e,n,i){return Ue.resize.call(this,t,e,n,i),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},Be.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var e in Ve)t[e]=Ve[e];var n=this._bgcolor?Ee("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+De("rect"):"";return Ee("svg",t)+n+this._svg.innerHTML+De("svg")},Be._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),_e(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},Be.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,r=0;for(t in n.gradient)i||(n.el=i=ye(e,0,"defs",We)),Xe(i,n.gradient[t],r++);for(t in n.clipping)i||(n.el=i=ye(e,0,"defs",We)),Je(i,n.clipping[t],r++);i&&(0===r?(e.removeChild(i),n.el=null):_e(i,r))},Be._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},Be.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},Be.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},Be._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var e,n,i,r,o,s,a,u=++this._dirtyID;for(o=0,s=t.length;o<s;++o)(n=(e=t[o]).mark).marktype!==i&&(i=n.marktype,r=oe[i]),n.zdirty&&n.dirty!==u&&(this._dirtyAll=!1,n.dirty=u,Fe(n.group,u)),e.exit?(r.nested&&n.items.length?(a=n.items[0])._svg&&this._update(r,a._svg,a):e._svg&&(a=e._svg.parentNode)&&a.removeChild(e._svg),e._svg=null):(e=r.nested?n.items[0]:e)._update!==u&&(e._svg&&e._svg.ownerSVGElement?this._update(r,e._svg,e):(this._dirtyAll=!1,Fe(e,u)),e._update=u);return!this._dirtyAll},Be.draw=function(t,e,n){if(!this.isDirty(e))return e._svg;var i,r=this,o=oe[e.marktype],s=!1===e.interactive?"none":null,a="g"===o.tag,u=null,l=0;function h(t){var e=r.isDirty(t),n=Qe(t,i,u,o.tag);e&&(r._update(o,n,t),a&&function(t,e,n){e=e.lastChild;var i,r=0;dt(n,function(n){i=t.draw(e,n,i),++r}),_e(e,1+r)}(r,n,t)),u=n,++l}return(i=Qe(e,t,n,"g")).setAttribute("class",me(e)),a||i.style.setProperty("pointer-events",s),e.clip?i.setAttribute("clip-path",zt(r,e,e.group)):i.removeAttribute("clip-path"),o.nested?e.items.length&&h(e.items[0]):dt(e,h),_e(i,l),i};var Ye=null,Ze=null,$e={group:function(t,e,n){Ze=e.__values__,Ye=e.childNodes[1],t.foreground(Ke,n,this),Ye=e.childNodes[0],t.background(Ke,n,this);var i=!1===n.mark.interactive?"none":null;i!==Ze.events&&(Ye.style.setProperty("pointer-events",i),Ze.events=i)},text:function(t,e,n){var i=Kt(n);i!==Ze.text&&(e.textContent=i,Ze.text=i),(i=te(n))!==Ze.font&&(e.style.setProperty("font",i),Ze.font=i)}};function Ke(t,e,n){e!==Ze[t]&&(null!=e?n?Ye.setAttributeNS(n,t,e):Ye.setAttribute(t,e):n?Ye.removeAttributeNS(n,t):Ye.removeAttribute(t),Ze[t]=e)}function tn(t){ke.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}Be._update=function(t,e,n){Ye=e,Ze=e.__values__,t.attr(Ke,n,this);var i=$e[t.type];i&&i.call(this,t,e,n),this.style(Ye,n)},Be.style=function(t,e){var n,i,r,o,s,a;if(null!=e)for(n=0,i=Ge.length;n<i;++n)(s=e[r=Ge[n]])!==Ze[r]&&(o=He[r],null==s?"fill"===o?t.style.setProperty(o,"none"):t.style.removeProperty(o):(s.id&&(this._defs.gradient[s.id]=s,s="url("+(a=void 0,"undefined"==typeof window?"":(a=window.location).hash?a.href.slice(0,-a.hash.length):a.href)+"#"+s.id+")"),t.style.setProperty(o,s+"")),Ze[r]=s)};var en,nn=e.inherits(tn,ke),rn=ke.prototype;function on(t,e,n,i){en[i||t]=e}function sn(t,e,n,i){if(null==t)return"";var r,o,s,a,u,l="";for("bgrect"===n&&!1===e.interactive&&(l+="pointer-events: none; "),"text"===n&&(l+="font: "+te(t)+"; "),r=0,o=Ge.length;r<o;++r)s=Ge[r],a=He[s],null==(u=t[s])?"fill"===a&&(l+="fill: none; "):"transparent"!==u||"fill"!==a&&"stroke"!==a?(u.id&&(i.gradient[u.id]=u,u="url(#"+u.id+")"),l+=a+": "+u+"; "):l+=a+": none; ";return l?'style="'+l.trim()+'"':null}nn.resize=function(t,e,n,i){rn.resize.call(this,t,e,n,i);var r=this._origin,o=this._text,s={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var a in Ve)s[a]=Ve[a];o.head=Ee("svg",s);var u=this._bgcolor;return"transparent"!==u&&"none"!==u||(u=null),o.bg=u?Ee("rect",{width:this._width,height:this._height,style:"fill: "+u+";"})+De("rect"):"",o.root=Ee("g",{transform:"translate("+r+")"}),o.foot=De("g")+De("svg"),this},nn.background=function(){var t=rn.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},nn.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},nn._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},nn.buildDefs=function(){var t,e,n,i,r=this._defs,o="";for(e in r.gradient){for(i=(n=r.gradient[e]).stops,o+=Ee("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)o+=Ee("stop",{offset:i[t].offset,"stop-color":i[t].color})+De("stop");o+=De("linearGradient")}for(e in r.clipping)n=r.clipping[e],o+=Ee("clipPath",{id:e}),n.path?o+=Ee("path",{d:n.path})+De("path"):o+=Ee("rect",{x:0,y:0,width:n.width,height:n.height})+De("rect"),o+=De("clipPath");return o.length>0?Ee("defs")+o+De("defs"):""},nn.attributes=function(t,e){return en={},t(on,e,this),en},nn.href=function(t){var e,n=this,i=t.href;if(i){if(e=n._hrefs&&n._hrefs[i])return e;n.sanitizeURL(i).then(function(t){t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[i]=t})}return null},nn.mark=function(t){var e,n=this,i=oe[t.marktype],r=i.tag,o=this._defs,s="";function a(a){var u=n.href(a);u&&(s+=Ee("a",u)),e="g"!==r?sn(a,t,r,o):null,s+=Ee(r,n.attributes(i.attr,a),e),"text"===r?s+=Kt(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):"g"===r&&(s+=Ee("path",n.attributes(i.background,a),sn(a,t,"bgrect",o))+De("path"),s+=Ee("g",n.attributes(i.foreground,a))+n.markGroup(a)+De("g")),s+=De(r),u&&(s+=De("a"))}return"g"!==r&&!1===t.interactive&&(e='style="pointer-events: none;"'),s+=Ee("g",{class:me(t),"clip-path":t.clip?zt(n,t,t.group):null},e),i.nested?t.items&&t.items.length&&a(t.items[0]):dt(t,a),s+De("g")},nn.markGroup=function(t){var e=this,n="";return dt(t,function(t){n+=e.mark(t)}),n};var an={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},un={};un.canvas=un.png={renderer:Se,headless:Se,handler:Te},un.svg={renderer:je,headless:tn,handler:qe},un.none={};var ln=new s,hn=1e-9;function cn(t,n,i){return t===n||("path"===i?fn(t,n):t instanceof Date&&n instanceof Date?+t==+n:e.isNumber(t)&&e.isNumber(n)?Math.abs(t-n)<=hn:t&&n&&(e.isObject(t)||e.isObject(n))?null!=t&&null!=n&&function(t,e){var n,i,r=Object.keys(t),o=Object.keys(e);if(r.length!==o.length)return!1;for(r.sort(),o.sort(),i=r.length-1;i>=0;i--)if(r[i]!=o[i])return!1;for(i=r.length-1;i>=0;i--)if(n=r[i],!cn(t[n],e[n],n))return!1;return typeof t==typeof e}(t,n):t==n)}function fn(t,e){return cn(m(t),m(e))}t.Bounds=s,t.Gradient=function(t,e){var n,i=[];return n={id:"gradient_"+u++,x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:i,stop:function(t,e){return i.push({offset:t,color:e}),n}}},t.GroupItem=h,t.ResourceLoader=c,t.Item=l,t.Scenegraph=fe,t.Handler=xe,t.Renderer=ke,t.CanvasHandler=Te,t.CanvasRenderer=Se,t.SVGHandler=qe,t.SVGRenderer=je,t.SVGStringRenderer=tn,t.RenderType=an,t.renderModule=function(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(un[t]=e,this):un[t]},t.Marks=oe,t.boundClip=function(t){var n=t.clip;if(e.isFunction(n))n(rt(ln.clear()));else{if(!n)return;ln.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(ln)},t.boundContext=rt,t.boundStroke=tt,t.boundItem=se,t.boundMark=ue,t.pathCurves=p,t.pathSymbols=L,t.pathRectangle=D,t.pathTrail=H,t.pathParse=m,t.pathRender=A,t.point=Me,t.domCreate=ge,t.domFind=pe,t.domChild=ye,t.domClear=_e,t.openTag=Ee,t.closeTag=De,t.font=te,t.textMetrics=Xt,t.resetSVGClipId=function(){Ct=1},t.sceneEqual=cn,t.pathEqual=fn,t.sceneToJSON=he,t.sceneFromJSON=ce,t.sceneZOrder=ft,t.sceneVisit=dt,t.scenePickVisit=vt,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("vega-util"),require("vega-canvas"),require("vega-loader"),require("d3-shape"),require("d3-path")):"function"==typeof define&&define.amd?define(["exports","vega-util","vega-canvas","vega-loader","d3-shape","d3-path"],e):e(t.vega=t.vega||{},t.vega,t.vega,t.vega,t.d3,t.d3)}(this,function(t,e,n,i,r,o){"use strict";function s(t){this.clear(),t&&this.union(t)}var a=s.prototype;a.clone=function(){return new s(this)},a.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},a.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},a.set=function(t,e,n,i){return n<t?(this.x2=t,this.x1=n):(this.x1=t,this.x2=n),i<e?(this.y2=e,this.y1=i):(this.y1=e,this.y2=i),this},a.add=function(t,e){return t<this.x1&&(this.x1=t),e<this.y1&&(this.y1=e),t>this.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},a.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},a.round=function(){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},a.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},a.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),o=e-e*i+n*r,s=n-e*r-n*i,a=this.x1,u=this.x2,l=this.y1,h=this.y2;return this.clear().add(i*a-r*l+o,r*a+i*l+s).add(i*a-r*h+o,r*a+i*h+s).add(i*u-r*l+o,r*u+i*l+s).add(i*u-r*h+o,r*u+i*h+s)},a.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},a.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},a.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},a.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},a.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},a.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},a.width=function(){return this.x2-this.x1},a.height=function(){return this.y2-this.y1};var u=0;function l(t){this.mark=t,this.bounds=this.bounds||new s}function h(t){l.call(this,t),this.items=this.items||[]}function c(t){this._pending=0,this._loader=t||i.loader()}e.inherits(h,l);var f=c.prototype;function d(t){t._pending+=1}function v(t){t._pending-=1}f.pending=function(){return this._pending},f.sanitizeURL=function(t){var e=this;return d(e),e._loader.sanitize(t,{context:"href"}).then(function(t){return v(e),t}).catch(function(){return v(e),null})},f.loadImage=function(t){var e=this,i=n.image();return d(e),e._loader.sanitize(t,{context:"image"}).then(function(t){var n=t.href;if(!n||!i)throw{url:n};var r=new i;return r.onload=function(){v(e),r.loaded=!0},r.onerror=function(){v(e),r.loaded=!1},r.src=n,r}).catch(function(t){return v(e),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},f.ready=function(){var t=this;return new Promise(function(e){!function n(i){t.pending()?setTimeout(function(){n(!0)},10):e(i)}(!1)})};var g={basis:{curve:r.curveBasis},"basis-closed":{curve:r.curveBasisClosed},"basis-open":{curve:r.curveBasisOpen},bundle:{curve:r.curveBundle,tension:"beta",value:.85},cardinal:{curve:r.curveCardinal,tension:"tension",value:0},"cardinal-open":{curve:r.curveCardinalOpen,tension:"tension",value:0},"cardinal-closed":{curve:r.curveCardinalClosed,tension:"tension",value:0},"catmull-rom":{curve:r.curveCatmullRom,tension:"alpha",value:.5},"catmull-rom-closed":{curve:r.curveCatmullRomClosed,tension:"alpha",value:.5},"catmull-rom-open":{curve:r.curveCatmullRomOpen,tension:"alpha",value:.5},linear:{curve:r.curveLinear},"linear-closed":{curve:r.curveLinearClosed},monotone:{horizontal:r.curveMonotoneY,vertical:r.curveMonotoneX},natural:{curve:r.curveNatural},step:{curve:r.curveStep},"step-after":{curve:r.curveStepAfter},"step-before":{curve:r.curveStepBefore}};function p(t,e,n){var i=g.hasOwnProperty(t)&&g[t],r=null;return i&&(r=i.curve||i[e||"vertical"],i.tension&&null!=n&&(r=r[i.tension](n))),r}var y={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},_=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/],m=function(t){var e,n,i,r,o,s,a,u,l,h,c,f=[];for(u=0,h=(e=t.slice().replace(_[0],"###$1").split(_[1]).slice(1)).length;u<h;++u){for(i=(n=e[u]).slice(1).trim().replace(_[2],"$1###$2").split(_[3]),r=[s=n.charAt(0)],l=0,c=i.length;l<c;++l)(o=+i[l])===o&&r.push(o);if(a=y[s.toLowerCase()],r.length-1>a)for(l=1,c=r.length;l<c;l+=a)f.push([s].concat(r.slice(l,l+a)));else f.push(r)}return f},x={},b={},k=[].join;function w(t){var e=k.call(t);if(b[e])return b[e];var n=t[0],i=t[1],r=t[2],o=t[3],s=t[4],a=t[5],u=t[6],l=t[7],h=l*s,c=-u*a,f=u*s,d=l*a,v=Math.cos(r),g=Math.sin(r),p=Math.cos(o),y=Math.sin(o),_=.5*(o-r),m=Math.sin(.5*_),x=8/3*m*m/Math.sin(_),w=n+v-x*g,M=i+g+x*v,T=n+p,A=i+y,C=T+x*y,z=A-x*p;return b[e]=[h*w+c*M,f*w+d*M,h*C+c*z,f*C+d*z,h*T+c*A,f*T+d*A]}var M=["l",0,0,0,0,0,0,0];function T(t,e){var n=M[0]=t[0];if("a"===n||"A"===n)M[1]=e*t[1],M[2]=e*t[2],M[6]=e*t[6],M[7]=e*t[7];else for(var i=1,r=t.length;i<r;++i)M[i]=e*t[i];return M}var A=function(t,e,n,i,r){var o,s,a,u,l,h=null,c=0,f=0,d=0,v=0;null==n&&(n=0),null==i&&(i=0),null==r&&(r=1),t.beginPath&&t.beginPath();for(var g=0,p=e.length;g<p;++g){switch(o=e[g],1!==r&&(o=T(o,r)),o[0]){case"l":c+=o[1],f+=o[2],t.lineTo(c+n,f+i);break;case"L":c=o[1],f=o[2],t.lineTo(c+n,f+i);break;case"h":c+=o[1],t.lineTo(c+n,f+i);break;case"H":c=o[1],t.lineTo(c+n,f+i);break;case"v":f+=o[1],t.lineTo(c+n,f+i);break;case"V":f=o[1],t.lineTo(c+n,f+i);break;case"m":c+=o[1],f+=o[2],t.moveTo(c+n,f+i);break;case"M":c=o[1],f=o[2],t.moveTo(c+n,f+i);break;case"c":s=c+o[5],a=f+o[6],d=c+o[3],v=f+o[4],t.bezierCurveTo(c+o[1]+n,f+o[2]+i,d+n,v+i,s+n,a+i),c=s,f=a;break;case"C":c=o[5],f=o[6],d=o[3],v=o[4],t.bezierCurveTo(o[1]+n,o[2]+i,d+n,v+i,c+n,f+i);break;case"s":s=c+o[3],a=f+o[4],d=2*c-d,v=2*f-v,t.bezierCurveTo(d+n,v+i,c+o[1]+n,f+o[2]+i,s+n,a+i),d=c+o[1],v=f+o[2],c=s,f=a;break;case"S":s=o[3],a=o[4],d=2*c-d,v=2*f-v,t.bezierCurveTo(d+n,v+i,o[1]+n,o[2]+i,s+n,a+i),c=s,f=a,d=o[1],v=o[2];break;case"q":s=c+o[3],a=f+o[4],d=c+o[1],v=f+o[2],t.quadraticCurveTo(d+n,v+i,s+n,a+i),c=s,f=a;break;case"Q":s=o[3],a=o[4],t.quadraticCurveTo(o[1]+n,o[2]+i,s+n,a+i),c=s,f=a,d=o[1],v=o[2];break;case"t":s=c+o[1],a=f+o[2],null===h[0].match(/[QqTt]/)?(d=c,v=f):"t"===h[0]?(d=2*c-u,v=2*f-l):"q"===h[0]&&(d=2*c-d,v=2*f-v),u=d,l=v,t.quadraticCurveTo(d+n,v+i,s+n,a+i),f=a,d=(c=s)+o[1],v=f+o[2];break;case"T":s=o[1],a=o[2],d=2*c-d,v=2*f-v,t.quadraticCurveTo(d+n,v+i,s+n,a+i),c=s,f=a;break;case"a":C(t,c+n,f+i,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+f+i]),c+=o[6],f+=o[7];break;case"A":C(t,c+n,f+i,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+i]),c=o[6],f=o[7];break;case"z":case"Z":t.closePath()}h=o}};function C(t,e,n,i){for(var r=function(t,e,n,i,r,o,s,a,u){var l=k.call(arguments);if(x[l])return x[l];var h=s*(Math.PI/180),c=Math.sin(h),f=Math.cos(h),d=f*(a-t)*.5+c*(u-e)*.5,v=f*(u-e)*.5-c*(a-t)*.5,g=d*d/((n=Math.abs(n))*n)+v*v/((i=Math.abs(i))*i);g>1&&(n*=g=Math.sqrt(g),i*=g);var p=f/n,y=c/n,_=-c/i,m=f/i,b=p*a+y*u,w=_*a+m*u,M=p*t+y*e,T=_*t+m*e,A=1/((M-b)*(M-b)+(T-w)*(T-w))-.25;A<0&&(A=0);var C=Math.sqrt(A);o==r&&(C=-C);var z=.5*(b+M)-C*(T-w),P=.5*(w+T)+C*(M-b),S=Math.atan2(w-P,b-z),L=Math.atan2(T-P,M-z)-S;L<0&&1===o?L+=2*Math.PI:L>0&&0===o&&(L-=2*Math.PI);for(var I=Math.ceil(Math.abs(L/(.5*Math.PI+.001))),R=[],q=0;q<I;++q){var N=S+q*L/I,O=S+(q+1)*L/I;R[q]=[z,P,N,O,n,i,c,f]}return x[l]=R}(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),o=0;o<r.length;++o){var s=w(r[o]);t.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5])}}var z=2*Math.PI,P=Math.sqrt(3)/2,S={circle:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(n,0),t.arc(0,0,n,0,z)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i),t.lineTo(-n,i),t.lineTo(-i,i),t.lineTo(-i,n),t.lineTo(i,n),t.lineTo(i,i),t.lineTo(n,i),t.lineTo(n,-i),t.lineTo(i,-i),t.lineTo(i,-n),t.lineTo(-i,-n),t.lineTo(-i,-i),t.closePath()}},diamond:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(-n,0),t.lineTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(0,-i),t.lineTo(-n,i),t.lineTo(n,i),t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(0,i),t.lineTo(-n,-i),t.lineTo(n,-i),t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(i,0),t.lineTo(-i,-n),t.lineTo(-i,n),t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=P*n;t.moveTo(-i,0),t.lineTo(i,-n),t.lineTo(i,n),t.closePath()}}};function L(t){return S.hasOwnProperty(t)?S[t]:function(t){if(!I.hasOwnProperty(t)){var e=m(t);I[t]={draw:function(t,n){A(t,e,0,0,Math.sqrt(n)/2)}}}return I[t]}(t)}var I={};function R(t){return t.x}function q(t){return t.y}function N(t){return t.width}function O(t){return t.height}function E(t){return function(){return t}}var D=function(){var t=R,e=q,n=N,i=O,r=E(0),s=null;function a(a,u,l){var h,c=null!=u?u:+t.call(this,a),f=null!=l?l:+e.call(this,a),d=+n.call(this,a),v=+i.call(this,a),g=+r.call(this,a);if(s||(s=h=o.path()),g<=0)s.rect(c,f,d,v);else{var p=c+d,y=f+v;s.moveTo(c+g,f),s.lineTo(p-g,f),s.quadraticCurveTo(p,f,p,f+g),s.lineTo(p,y-g),s.quadraticCurveTo(p,y,p-g,y),s.lineTo(c+g,y),s.quadraticCurveTo(c,y,c,y-g),s.lineTo(c,f+g),s.quadraticCurveTo(c,f,c+g,f),s.closePath()}if(h)return s=null,h+""||null}return a.x=function(e){return arguments.length?(t="function"==typeof e?e:E(+e),a):t},a.y=function(t){return arguments.length?(e="function"==typeof t?t:E(+t),a):e},a.width=function(t){return arguments.length?(n="function"==typeof t?t:E(+t),a):n},a.height=function(t){return arguments.length?(i="function"==typeof t?t:E(+t),a):i},a.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:E(+t),a):r},a.context=function(t){return arguments.length?(s=null==t?null:t,a):s},a},V=Math.PI,H=function(){var t,e,n,i,r,s,a,u,l=null;function h(t,e,n){var i=n/2;if(r){var o=a-e,h=t-s;if(o||h){var c=Math.sqrt(o*o+h*h),f=(o/=c)*u,d=(h/=c)*u,v=Math.atan2(h,o);l.moveTo(s-f,a-d),l.lineTo(t-o*i,e-h*i),l.arc(t,e,i,v-V,v),l.lineTo(s+f,a+d),l.arc(s,a,u,v,v+V)}else l.arc(t,e,i,0,2*V);l.closePath()}else r=1;s=t,a=e,u=i}function c(s){var a,u,c,f=s.length,d=!1;for(null==l&&(l=c=o.path()),a=0;a<=f;++a)!(a<f&&i(u=s[a],a,s))===d&&(d=!d)&&(r=0),d&&h(+t(u,a,s),+e(u,a,s),+n(u,a,s));if(c)return l=null,c+""||null}return c.x=function(e){return arguments.length?(t=e,c):t},c.y=function(t){return arguments.length?(e=t,c):e},c.size=function(t){return arguments.length?(n=t,c):n},c.defined=function(t){return arguments.length?(i=t,c):i},c.context=function(t){return arguments.length?(l=null==t?null:t,c):l},c};function G(t){return t.x||0}function W(t){return t.y||0}function j(t){return t.cornerRadius||0}function B(t){return!(!1===t.defined)}var U=r.arc().startAngle(function(t){return t.startAngle||0}).endAngle(function(t){return t.endAngle||0}).padAngle(function(t){return t.padAngle||0}).innerRadius(function(t){return t.innerRadius||0}).outerRadius(function(t){return t.outerRadius||0}).cornerRadius(j),X=r.area().x(G).y1(W).y0(function(t){return(t.y||0)+(t.height||0)}).defined(B),J=r.area().y(W).x1(G).x0(function(t){return(t.x||0)+(t.width||0)}).defined(B),F=r.line().x(G).y(W).defined(B),Q=D().x(G).y(W).width(function(t){return t.width||0}).height(function(t){return t.height||0}).cornerRadius(j),Y=r.symbol().type(function(t){return L(t.shape||"circle")}).size(function(t){return null==t.size?64:t.size}),Z=H().x(G).y(W).defined(B).size(function(t){return t.size||1});function $(t,e,n,i){return Q.context(t)(e,n,i)}var K,tt=function(t,e){return e.stroke&&0!==e.opacity&&0!==e.strokeOpacity&&t.expand(null!=e.strokeWidth?+e.strokeWidth:1),t},et=2*Math.PI,nt=et/4,it=et-1e-8;function rt(t){return K=t,rt}function ot(){}function st(t,e){K.add(t,e)}rt.beginPath=ot,rt.closePath=ot,rt.moveTo=st,rt.lineTo=st,rt.rect=function(t,e,n,i){st(t,e),st(t+n,e+i)},rt.quadraticCurveTo=function(t,e,n,i){st(t,e),st(n,i)},rt.bezierCurveTo=function(t,e,n,i,r,o){st(t,e),st(n,i),st(r,o)},rt.arc=function(t,e,n,i,r,o){if(Math.abs(r-i)>it)return st(t-n,e-n),void st(t+n,e+n);var s,a,u,l,h=1/0,c=-1/0,f=1/0,d=-1/0;function v(t){u=n*Math.cos(t),l=n*Math.sin(t),u<h&&(h=u),u>c&&(c=u),l<f&&(f=l),l>d&&(d=l)}if(v(i),v(r),r!==i)if((i%=et)<0&&(i+=et),(r%=et)<0&&(r+=et),r<i&&(o=!o,s=i,i=r,r=s),o)for(r-=et,s=i-i%nt,a=0;a<4&&s>r;++a,s-=nt)v(s);else for(s=i-i%nt+nt,a=0;a<4&&s<r;++a,s+=nt)v(s);st(t+h,e+f),st(t+c,e+d)};var at=function(t,e,n){return n.id?function(t,e,n){for(var i=n.width(),r=n.height(),o=n.x1+e.x1*i,s=n.y1+e.y1*r,a=n.x1+e.x2*i,u=n.y1+e.y2*r,l=e.stops,h=0,c=l.length,f=t.createLinearGradient(o,s,a,u);h<c;++h)f.addColorStop(l[h].offset,l[h].color);return f}(t,n,e.bounds):n},ut=function(t,e,n){return(n*=null==e.fillOpacity?1:e.fillOpacity)>0&&(t.globalAlpha=n,t.fillStyle=at(t,e,e.fill),!0)},lt=[],ht=function(t,e,n){var i=null!=(i=e.strokeWidth)?i:1;return!(i<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=at(t,e,e.stroke),t.lineWidth=i,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||lt),t.lineDashOffset=e.strokeDashOffset||0),!0))};function ct(t,e){return t.zindex-e.zindex||t.index-e.index}function ft(t){if(!t.zdirty)return t.zitems;var e,n,i,r=t.items,o=[];for(n=0,i=r.length;n<i;++n)(e=r[n]).index=n,e.zindex&&o.push(e);return t.zdirty=!1,t.zitems=o.sort(ct)}function dt(t,e){var n,i,r=t.items;if(r&&r.length){var o=ft(t);if(o&&o.length){for(n=0,i=r.length;n<i;++n)r[n].zindex||e(r[n]);r=o}for(n=0,i=r.length;n<i;++n)e(r[n])}}function vt(t,e){var n,i,r=t.items;if(!r||!r.length)return null;var o=ft(t);for(o&&o.length&&(r=o),i=r.length;--i>=0;)if(n=e(r[i]))return n;if(r===o)for(i=(r=t.items).length;--i>=0;)if(!r[i].zindex&&(n=e(r[i])))return n;return null}function gt(t){return function(e,n,i){dt(n,function(n){i&&!i.intersects(n.bounds)||pt(t,e,n,n)})}}function pt(t,e,n,i){var r=null==n.opacity?1:n.opacity;0!==r&&(t(e,i)||(n.fill&&ut(e,n,r)&&e.fill(),n.stroke&&ht(e,n,r)&&e.stroke()))}var yt=function(){return!0};function _t(t){return t||(t=yt),function(e,n,i,r,o,s){return 1!==e.pixelRatio&&(i*=e.pixelRatio,r*=e.pixelRatio),vt(n,function(n){var a=n.bounds;if((!a||a.contains(o,s))&&a)return t(e,n,i,r,o,s)?n:void 0})}}function mt(t,e){return function(n,i,r,o){var s,a,u=Array.isArray(i)?i[0]:i,l=null==e?u.fill:e,h=u.stroke&&n.isPointInStroke;return h&&(s=u.strokeWidth,a=u.strokeCap,n.lineWidth=null!=s?s:1,n.lineCap=null!=a?a:"butt"),!t(n,i)&&(l&&n.isPointInPath(r,o)||h&&n.isPointInStroke(r,o))}}function xt(t){return _t(mt(t))}var bt=function(t,e){return"translate("+t+","+e+")"},kt=function(t){return bt(t.x||0,t.y||0)},wt=function(t,e){function n(t,n){var i=n.x||0,r=n.y||0;t.translate(i,r),t.beginPath(),e(t,n),t.translate(-i,-r)}return{type:t,tag:"path",nested:!1,attr:function(t,n){t("transform",kt(n)),t("d",e(null,n))},bound:function(t,n){return e(rt(t),n),tt(t,n).translate(n.x||0,n.y||0)},draw:gt(n),pick:xt(n)}},Mt=wt("arc",function(t,e){return U.context(t)(e)}),Tt=function(t,e){function n(t,n){t.beginPath(),e(t,n)}var i,r=mt(n);return{type:t,tag:"path",nested:!0,attr:function(t,n){var i=n.mark.items;i.length&&t("d",e(null,i))},bound:function(t,n){var i=n.items;return 0===i.length?t:(e(rt(t),i),tt(t,i[0]))},draw:(i=n,function(t,e,n){!e.items.length||n&&!n.intersects(e.bounds)||pt(i,t,e.items[0],e.items)}),pick:function(t,e,n,i,o,s){var a=e.items,u=e.bounds;return!a||!a.length||u&&!u.contains(o,s)?null:(1!==t.pixelRatio&&(n*=t.pixelRatio,i*=t.pixelRatio),r(t,a,n,i)?a[0]:null)}}},At=Tt("area",function(t,e){var n=e[0],i=n.interpolate||"linear";return("horizontal"===n.orient?J:X).curve(p(i,n.orient,n.tension)).context(t)(e)}),Ct=1;var zt=function(t,n,i){var r=n.clip,o=t._defs,s=n.clip_id||(n.clip_id="clip"+Ct++),a=o.clipping[s]||(o.clipping[s]={id:s});return e.isFunction(r)?a.path=r(null):(a.width=i.width||0,a.height=i.height||0),"url(#"+s+")"},Pt=.5;var St={type:"group",tag:"g",nested:!1,attr:function(t,e){t("transform",kt(e))},bound:function(t,e){if(!e.clip&&e.items)for(var n=e.items,i=0,r=n.length;i<r;++i)t.union(n[i].bounds);return(e.clip||e.width||e.height)&&tt(t.add(0,0).add(e.width||0,e.height||0),e),t.translate(e.x||0,e.y||0)},draw:function(t,e,n){var i=this;dt(e,function(e){var r,o,s=e.x||0,a=e.y||0,u=e.width||0,l=e.height||0;t.save(),t.translate(s,a),(e.stroke||e.fill)&&(o=null==e.opacity?1:e.opacity)>0&&(t.beginPath(),r=e.stroke?Pt:0,$(t,e,r,r),e.fill&&ut(t,e,o)&&t.fill(),e.stroke&&ht(t,e,o)&&t.stroke()),e.clip&&(t.beginPath(),t.rect(0,0,u,l),t.clip()),n&&n.translate(-s,-a),dt(e,function(e){i.draw(t,e,n)}),n&&n.translate(s,a),t.restore()})},pick:function(t,e,n,i,r,o){if(e.bounds&&!e.bounds.contains(r,o)||!e.items)return null;var s=this;return vt(e,function(a){var u,l,h,c;if(!(c=a.bounds)||c.contains(r,o))return l=a.x||0,h=a.y||0,t.save(),t.translate(l,h),l=r-l,h=o-h,u=vt(a,function(t){return r=l,o=h,(!1!==(e=t).interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(r,o)?s.pick(t,n,i,l,h):null;var e,r,o}),t.restore(),u||((u=!1!==e.interactive&&(a.fill||a.stroke)&&l>=0&&l<=a.width&&h>=0&&h<=a.height)?a:null)})},background:function(t,e){var n=e.stroke?Pt:0;t("class","background"),t("d",$(null,e,n,n))},foreground:function(t,e,n){t("clip-path",e.clip?zt(n,e,e):null)}};function Lt(t,e){var n=t.image;return n&&n.url===t.url||(n={loaded:!1,width:0,height:0},e.loadImage(t.url).then(function(e){t.image=e,t.image.url=t.url})),n}function It(t,e){return"center"===t?e/2:"right"===t?e:0}function Rt(t,e){return"middle"===t?e/2:"bottom"===t?e:0}var qt={type:"image",tag:"image",nested:!1,attr:function(t,e,n){var i=Lt(e,n),r=e.x||0,o=e.y||0,s=(null!=e.width?e.width:i.width)||0,a=(null!=e.height?e.height:i.height)||0,u=!1===e.aspect?"none":"xMidYMid";r-=It(e.align,s),o-=Rt(e.baseline,a),t("href",i.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",bt(r,o)),t("width",s),t("height",a),t("preserveAspectRatio",u)},bound:function(t,e){var n=e.image,i=e.x||0,r=e.y||0,o=(null!=e.width?e.width:n&&n.width)||0,s=(null!=e.height?e.height:n&&n.height)||0;return i-=It(e.align,o),r-=Rt(e.baseline,s),t.set(i,r,i+o,r+s)},draw:function(t,e,n){var i=this;dt(e,function(e){if(!n||n.intersects(e.bounds)){var r,o,s,a,u=Lt(e,i),l=e.x||0,h=e.y||0,c=(null!=e.width?e.width:u.width)||0,f=(null!=e.height?e.height:u.height)||0;l-=It(e.align,c),h-=Rt(e.baseline,f),!1!==e.aspect&&(o=u.width/u.height,s=e.width/e.height,o==o&&s==s&&o!==s&&(s<o?(h+=(f-(a=c/o))/2,f=a):(l+=(c-(a=f*o))/2,c=a))),u.loaded&&(t.globalAlpha=null!=(r=e.opacity)?r:1,t.drawImage(u,l,h,c,f))}})},pick:_t(),get:Lt,xOffset:It,yOffset:Rt},Nt=Tt("line",function(t,e){var n=e[0],i=n.interpolate||"linear";return F.curve(p(i,n.orient,n.tension)).context(t)(e)});function Ot(t,e){var n=e.path;if(null==n)return!0;var i=e.pathCache;i&&i.path===n||((e.pathCache=i=m(n)).path=n),A(t,i,e.x,e.y)}var Et={type:"path",tag:"path",nested:!1,attr:function(t,e){t("transform",kt(e)),t("d",e.path)},bound:function(t,e){return Ot(rt(t),e)?t.set(0,0,0,0):tt(t,e)},draw:gt(Ot),pick:xt(Ot)};function Dt(t,e){t.beginPath(),$(t,e)}var Vt={type:"rect",tag:"path",nested:!1,attr:function(t,e){t("d",$(null,e))},bound:function(t,e){var n,i;return tt(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)},draw:gt(Dt),pick:xt(Dt)};function Ht(t,e,n){var i,r,o,s;return!(!e.stroke||!ht(t,e,n))&&(i=e.x||0,r=e.y||0,o=null!=e.x2?e.x2:i,s=null!=e.y2?e.y2:r,t.beginPath(),t.moveTo(i,r),t.lineTo(o,s),!0)}var Gt,Wt,jt={type:"rule",tag:"line",nested:!1,attr:function(t,e){t("transform",kt(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)},bound:function(t,e){var n,i;return tt(t.set(n=e.x||0,i=e.y||0,null!=e.x2?e.x2:n,null!=e.y2?e.y2:i),e)},draw:function(t,e,n){dt(e,function(e){if(!n||n.intersects(e.bounds)){var i=null==e.opacity?1:e.opacity;i&&Ht(t,e,i)&&t.stroke()}})},pick:_t(function(t,e,n,i){return!!t.isPointInStroke&&Ht(t,e,1)&&t.isPointInStroke(n,i)})},Bt=wt("shape",function(t,e){return(e.mark.shape||e.shape).context(t)(e)}),Ut=wt("symbol",function(t,e){return Y.context(t)(e)}),Xt={height:Zt,measureWidth:Qt,estimateWidth:Jt,width:Jt,canvas:$t};function Jt(t){return Wt=Zt(t),Ft(Kt(t))}function Ft(t){return~~(.8*t.length*Wt)}function Qt(t){return Gt.font=te(t),Yt(Kt(t))}function Yt(t){return Gt.measureText(t).width}function Zt(t){return null!=t.fontSize?t.fontSize:11}function $t(t){Gt=t&&(Gt=n.canvas(1,1))?Gt.getContext("2d"):null,Xt.width=Gt?Qt:Jt}function Kt(t){var e=t.text;return null==e?"":t.limit>0?function(t){var e,n=+t.limit,i=t.text+"";Gt?(Gt.font=te(t),e=Yt):(Wt=Zt(t),e=Ft);if(e(i)<n)return i;var r,o=t.ellipsis||"…",s="rtl"===t.dir,a=0,u=i.length;{if(n-=e(o),s){for(;a<u;)r=a+u>>>1,e(i.slice(r))>n?a=r+1:u=r;return o+i.slice(a)}for(;a<u;)r=1+(a+u>>>1),e(i.slice(0,r))<n?a=r:u=r-1;return i.slice(0,a)+o}}(t):e+""}function te(t,e){var n=t.font;return e&&n&&(n=String(n).replace(/"/g,"'")),(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Zt(t)+"px "+(n||"sans-serif")}function ee(t){var e=t.baseline,n=Zt(t);return Math.round("top"===e?.79*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}$t(!0);var ne={left:"start",center:"middle",right:"end"},ie=new s;function re(t,e,n){var i,r,o=Xt.height(e),s=e.align,a=e.radius||0,u=e.x||0,l=e.y||0,h=e.dx||0,c=(e.dy||0)+ee(e)-Math.round(.8*o);return a&&(r=(e.theta||0)-Math.PI/2,u+=a*Math.cos(r),l+=a*Math.sin(r)),i=Xt.width(e),"center"===s?h-=i/2:"right"===s&&(h-=i),t.set(h+=u,c+=l,h+i,c+o),e.angle&&!n&&t.rotate(e.angle*Math.PI/180,u,l),t.expand(n||!i?0:1)}var oe={arc:Mt,area:At,group:St,image:qt,line:Nt,path:Et,rect:Vt,rule:jt,shape:Bt,symbol:Ut,text:{type:"text",tag:"text",nested:!1,attr:function(t,e){var n,i=e.dx||0,r=(e.dy||0)+ee(e),o=e.x||0,s=e.y||0,a=e.angle||0,u=e.radius||0;u&&(n=(e.theta||0)-Math.PI/2,o+=u*Math.cos(n),s+=u*Math.sin(n)),t("text-anchor",ne[e.align]||"start"),a?(n=bt(o,s)+" rotate("+a+")",(i||r)&&(n+=" "+bt(i,r))):n=bt(o+i,s+r),t("transform",n)},bound:re,draw:function(t,e,n){dt(e,function(e){var i,r,o,s,a,u;n&&!n.intersects(e.bounds)||(u=Kt(e))&&0!==(i=null==e.opacity?1:e.opacity)&&(t.font=te(e),t.textAlign=e.align||"left",r=e.x||0,o=e.y||0,(s=e.radius)&&(a=(e.theta||0)-Math.PI/2,r+=s*Math.cos(a),o+=s*Math.sin(a)),e.angle&&(t.save(),t.translate(r,o),t.rotate(e.angle*Math.PI/180),r=o=0),r+=e.dx||0,o+=(e.dy||0)+ee(e),e.fill&&ut(t,e,i)&&t.fillText(u,r,o),e.stroke&&ht(t,e,i)&&t.strokeText(u,r,o),e.angle&&t.restore())})},pick:_t(function(t,e,n,i,r,o){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var s=re(ie,e,!0),a=-e.angle*Math.PI/180,u=Math.cos(a),l=Math.sin(a),h=e.x,c=e.y,f=u*r-l*o+(h-h*u+c*l),d=l*r+u*o+(c-h*l-c*u);return s.contains(f,d)})},trail:Tt("trail",function(t,e){return Z.context(t)(e)})},se=function(t,e,n){var i=oe[t.mark.marktype],r=e||i.bound;return i.nested&&(t=t.mark),r(t.bounds||(t.bounds=new s),t,n)},ae={mark:null},ue=function(t,e,n){var i,r,o,a,u=oe[t.marktype],l=u.bound,h=t.items,c=h&&h.length;if(u.nested)return c?o=h[0]:(ae.mark=t,o=ae),a=se(o,l,n),e=e&&e.union(a)||a;if(e=e||t.bounds&&t.bounds.clear()||new s,c)for(i=0,r=h.length;i<r;++i)e.union(se(h[i],l,n));return t.bounds=e},le=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"];function he(t,e){return JSON.stringify(t,le,e)}function ce(t){return function t(e){var n,i,r,o=e.marktype,s=e.items;if(s)for(i=0,r=s.length;i<r;++i)n=o?"mark":"group",s[i][n]=e,s[i].zindex&&(s[i][n].zdirty=!0),"group"===(o||n)&&t(s[i]);o&&ue(e);return e}("string"==typeof t?JSON.parse(t):t)}function fe(t){arguments.length?this.root=ce(t):(this.root=ve({marktype:"group",name:"root",role:"frame"}),this.root.items=[new h(this.root)])}var de=fe.prototype;function ve(t,e){return{bounds:new s,clip:!!t.clip,group:e,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}function ge(t,e,n){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?n?t.createElementNS(n,e):t.createElement(e):null}function pe(t,e){e=e.toLowerCase();for(var n=t.childNodes,i=0,r=n.length;i<r;++i)if(n[i].tagName.toLowerCase()===e)return n[i]}function ye(t,e,n,i){var r,o=t.childNodes[e];return o&&o.tagName.toLowerCase()===n.toLowerCase()||(r=o||null,o=ge(t.ownerDocument,n,i),t.insertBefore(o,r)),o}function _e(t,e){for(var n=t.childNodes,i=n.length;i>e;)t.removeChild(n[--i]);return t}function me(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function xe(t,e){this._active=null,this._handlers={},this._loader=t||i.loader(),this._tooltip=e||be}function be(t,e,n,i){t.element().setAttribute("title",i||"")}de.toJSON=function(t){return he(this.root,t||0)},de.mark=function(t,e,n){var i=ve(t,e=e||this.root.items[0]);return e.items[n]=i,i.zindex&&(i.group.zdirty=!0),i};var ke=xe.prototype;function we(t){this._el=null,this._bgcolor=null,this._loader=new c(t)}ke.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},ke.element=function(){return this._el},ke.origin=function(t){return this._origin=t||[0,0],this},ke.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},ke.on=function(){},ke.off=function(){},ke._handlerIndex=function(t,e,n){for(var i=t?t.length:0;--i>=0;)if(t[i].type===e&&!n||t[i].handler===n)return i;return-1},ke.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},ke.eventName=function(t){var e=t.indexOf(".");return e<0?t:t.slice(0,e)},ke.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then(function(e){var n=new MouseEvent(t.type,t),i=ge(null,"a");for(var r in e)i.setAttribute(r,e[r]);i.dispatchEvent(n)}).catch(function(){})},ke.handleTooltip=function(t,e,n){e&&null!=e.tooltip&&this._tooltip.call(this._obj,this,t,e,n?e.tooltip:null)};var Me=we.prototype;Me.initialize=function(t,e,n,i,r){return this._el=t,this.resize(e,n,i,r)},Me.element=function(){return this._el},Me.scene=function(){return this._el&&this._el.firstChild},Me.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},Me.resize=function(t,e,n,i){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=i||1,this},Me.dirty=function(){},Me.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},Me._render=function(){},Me.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then(function(){return e}):Promise.resolve(e)},Me._load=function(t,e){var n=this,i=n._loader[t](e);if(!n._ready){var r=n._call;n._ready=n._loader.ready().then(function(t){t&&r(),n._ready=null})}return i},Me.sanitizeURL=function(t){return this._load("sanitizeURL",t)},Me.loadImage=function(t){return this._load("loadImage",t)};var Te=function(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]};function Ae(t,e){xe.call(this,t,e),this._down=null,this._touch=null,this._first=!0}var Ce=e.inherits(Ae,xe);function ze(t,e,n){return function(i){var r=this._active,o=this.pickEvent(i);o===r?this.fire(t,i):(r&&r.exit||this.fire(n,i),this._active=o,this.fire(e,i),this.fire(t,i))}}function Pe(t){return function(e){this.fire(t,e),this._active=null}}Ce.initialize=function(t,e,n){var i=this._canvas=t&&pe(t,"canvas");if(i){var r=this;this.events.forEach(function(t){i.addEventListener(t,function(e){Ce[t]?Ce[t].call(r,e):r.fire(t,e)})})}return xe.prototype.initialize.call(this,t,e,n)},Ce.canvas=function(){return this._canvas},Ce.context=function(){return this._canvas.getContext("2d")},Ce.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],Ce.DOMMouseScroll=function(t){this.fire("mousewheel",t)},Ce.mousemove=ze("mousemove","mouseover","mouseout"),Ce.dragover=ze("dragover","dragenter","dragleave"),Ce.mouseout=Pe("mouseout"),Ce.dragleave=Pe("dragleave"),Ce.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},Ce.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},Ce.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},Ce.touchmove=function(t){this.fire("touchmove",t,!0)},Ce.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},Ce.fire=function(t,e,n){var i,r,o=n?this._touch:this._active,s=this._handlers[t];if("click"===t&&o&&o.href?this.handleHref(e,o,o.href):"mouseover"!==t&&"mouseout"!==t||this.handleTooltip(e,o,"mouseover"===t),s)for(e.vegaType=t,i=0,r=s.length;i<r;++i)s[i].handler.call(this._obj,e,o)},Ce.on=function(t,e){var n=this.eventName(t),i=this._handlers;return this._handlerIndex(i[n],t,e)<0&&(i[n]||(i[n]=[])).push({type:t,handler:e}),this},Ce.off=function(t,e){var n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);return r>=0&&i.splice(r,1),this},Ce.pickEvent=function(t){var e=Te(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},Ce.pick=function(t,e,n,i,r){var o=this.context();return oe[t.marktype].pick.call(this,o,t,e,n,i,r)};var Se="undefined"!=typeof window&&window.devicePixelRatio||1;function Le(t){we.call(this,t),this._redraw=!1,this._dirty=new s}var Ie=e.inherits(Le,we),Re=we.prototype,qe=new s;function Ne(t,e){xe.call(this,t,e);var n=this;n._hrefHandler=Ee(n,function(t,e){e&&e.href&&n.handleHref(t,e,e.href)}),n._tooltipHandler=Ee(n,function(t,e){n.handleTooltip(t,e,"mouseover"===t.type)})}Ie.initialize=function(t,e,i,r,o){return this._canvas=n.canvas(1,1),t&&(_e(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Re.initialize.call(this,t,e,i,r,o)},Ie.resize=function(t,e,n,i){var r,o,s,a,u,l,h,c;return Re.resize.call(this,t,e,n,i),r=this._canvas,o=this._width,s=this._height,a=this._origin,u=this._scale,l="undefined"!=typeof HTMLElement&&r instanceof HTMLElement&&null!=r.parentNode,h=r.getContext("2d"),c=l?Se:u,r.width=o*c,r.height=s*c,l&&1!==c&&(r.style.width=o+"px",r.style.height=s+"px"),h.pixelRatio=c,h.setTransform(c,0,0,c,c*a[0],c*a[1]),this._redraw=!0,this},Ie.canvas=function(){return this._canvas},Ie.context=function(){return this._canvas?this._canvas.getContext("2d"):null},Ie.dirty=function(t){var e=function(t,e){if(null==e)return t;for(var n=qe.clear().union(t);null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}(t.bounds,t.mark.group);this._dirty.union(e)},Ie._render=function(t){var e,n,i,r=this.context(),o=this._origin,s=this._width,a=this._height,u=this._dirty;return r.save(),this._redraw||u.empty()?(this._redraw=!1,u=null):(e=r,i=o,(n=u).expand(1).round(),n.translate(-i[0]%1,-i[1]%1),e.beginPath(),e.rect(n.x1,n.y1,n.width(),n.height()),e.clip(),u=n),this.clear(-o[0],-o[1],s,a),this.draw(r,t,u),r.restore(),this._dirty.clear(),this},Ie.draw=function(t,n,i){var r=oe[n.marktype];n.clip&&function(t,n){var i=n.clip;if(t.save(),t.beginPath(),e.isFunction(i))i(t);else{var r=n.group;t.rect(0,0,r.width||0,r.height||0)}t.clip()}(t,n),r.draw.call(this,t,n,i),n.clip&&t.restore()},Ie.clear=function(t,e,n,i){var r=this.context();r.clearRect(t,e,n,i),null!=this._bgcolor&&(r.fillStyle=this._bgcolor,r.fillRect(t,e,n,i))};var Oe=e.inherits(Ne,xe);function Ee(t,e){return function(n){var i=n.target.__data__;n.vegaType=n.type,i=Array.isArray(i)?i[0]:i,e.call(t._obj,n,i)}}function De(t,e,n){var i,r,o="<"+t;if(e)for(i in e)null!=(r=e[i])&&(o+=" "+i+'="'+r+'"');return n&&(o+=" "+n),o+">"}function Ve(t){return"</"+t+">"}Oe.initialize=function(t,e,n){var i=this._svg;return i&&(i.removeEventListener("click",this._hrefHandler),i.removeEventListener("mouseover",this._tooltipHandler),i.removeEventListener("mouseout",this._tooltipHandler)),this._svg=i=t&&pe(t,"svg"),i&&(i.addEventListener("click",this._hrefHandler),i.addEventListener("mouseover",this._tooltipHandler),i.addEventListener("mouseout",this._tooltipHandler)),xe.prototype.initialize.call(this,t,e,n)},Oe.svg=function(){return this._svg},Oe.on=function(t,e){var n=this.eventName(t),i=this._handlers;if(this._handlerIndex(i[n],t,e)<0){var r={type:t,handler:e,listener:Ee(this,e)};(i[n]||(i[n]=[])).push(r),this._svg&&this._svg.addEventListener(n,r.listener)}return this},Oe.off=function(t,e){var n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);return r>=0&&(this._svg&&this._svg.removeEventListener(n,i[r].listener),i.splice(r,1)),this};var He={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Ge={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},We=Object.keys(Ge),je=He.xmlns;function Be(t){we.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var Ue=e.inherits(Be,we),Xe=we.prototype;function Je(t,e,n){var i,r,o;for((t=ye(t,n,"linearGradient",je)).setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2),i=0,r=e.stops.length;i<r;++i)(o=ye(t,i,"stop",je)).setAttribute("offset",e.stops[i].offset),o.setAttribute("stop-color",e.stops[i].color);_e(t,i)}function Fe(t,e,n){var i;(t=ye(t,n,"clipPath",je)).setAttribute("id",e.id),e.path?(i=ye(t,0,"path",je)).setAttribute("d",e.path):((i=ye(t,0,"rect",je)).setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height))}function Qe(t,e){for(;t&&t.dirty!==e;t=t.mark.group){if(t.dirty=e,!t.mark||t.mark.dirty===e)return;t.mark.dirty=e}}function Ye(t,e,n,i,r){var o,s,a,u=t._svg;if(!u&&(u=ge(o=e.ownerDocument,i,je),t._svg=u,t.mark&&(u.__data__=t,u.__values__={fill:"default"},"g"===i))){var l=ge(o,"path",je);l.setAttribute("class","background"),u.appendChild(l),l.__data__=t;var h=ge(o,"g",je);u.appendChild(h),h.__data__=t}return(u.ownerSVGElement!==r||(a=(s=t).mark||s.group)&&a.items.length>1&&u.previousSibling!==n)&&e.insertBefore(u,n?n.nextSibling:e.firstChild),u}Ue.initialize=function(t,e,n,i){return t&&(this._svg=ye(t,0,"svg",je),this._svg.setAttribute("class","marks"),_e(t,1),this._root=ye(this._svg,0,"g",je),_e(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),Xe.initialize.call(this,t,e,n,i)},Ue.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),Xe.background.apply(this,arguments)},Ue.resize=function(t,e,n,i){return Xe.resize.call(this,t,e,n,i),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},Ue.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var e in He)t[e]=He[e];var n=this._bgcolor?De("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+Ve("rect"):"";return De("svg",t)+n+this._svg.innerHTML+Ve("svg")},Ue._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),_e(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},Ue.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,r=0;for(t in n.gradient)i||(n.el=i=ye(e,0,"defs",je)),Je(i,n.gradient[t],r++);for(t in n.clipping)i||(n.el=i=ye(e,0,"defs",je)),Fe(i,n.clipping[t],r++);i&&(0===r?(e.removeChild(i),n.el=null):_e(i,r))},Ue._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},Ue.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},Ue.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},Ue._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var e,n,i,r,o,s,a,u=++this._dirtyID;for(o=0,s=t.length;o<s;++o)(n=(e=t[o]).mark).marktype!==i&&(i=n.marktype,r=oe[i]),n.zdirty&&n.dirty!==u&&(this._dirtyAll=!1,Qe(e,u),n.items.forEach(function(t){t.dirty=u})),n.zdirty||(e.exit?(r.nested&&n.items.length?(a=n.items[0])._svg&&this._update(r,a._svg,a):e._svg&&(a=e._svg.parentNode)&&a.removeChild(e._svg),e._svg=null):(e=r.nested?n.items[0]:e)._update!==u&&(e._svg&&e._svg.ownerSVGElement?this._update(r,e._svg,e):(this._dirtyAll=!1,Qe(e,u)),e._update=u));return!this._dirtyAll},Ue.draw=function(t,e,n){if(!this.isDirty(e))return e._svg;var i,r=this,o=this._svg,s=oe[e.marktype],a=!1===e.interactive?"none":null,u="g"===s.tag,l=null,h=0;function c(t){var e=r.isDirty(t),n=Ye(t,i,l,s.tag,o);e&&(r._update(s,n,t),u&&function(t,e,n){e=e.lastChild;var i,r=0;dt(n,function(n){i=t.draw(e,n,i),++r}),_e(e,1+r)}(r,n,t)),l=n,++h}return(i=Ye(e,t,n,"g",o)).setAttribute("class",me(e)),u||i.style.setProperty("pointer-events",a),e.clip?i.setAttribute("clip-path",zt(r,e,e.group)):i.removeAttribute("clip-path"),s.nested?e.items.length&&c(e.items[0]):dt(e,c),_e(i,h),i};var Ze=null,$e=null,Ke={group:function(t,e,n){$e=e.__values__,Ze=e.childNodes[1],t.foreground(tn,n,this),Ze=e.childNodes[0],t.background(tn,n,this);var i=!1===n.mark.interactive?"none":null;i!==$e.events&&(Ze.style.setProperty("pointer-events",i),$e.events=i)},text:function(t,e,n){var i=Kt(n);i!==$e.text&&(e.textContent=i,$e.text=i),(i=te(n))!==$e.font&&(e.style.setProperty("font",i),$e.font=i)}};function tn(t,e,n){e!==$e[t]&&(null!=e?n?Ze.setAttributeNS(n,t,e):Ze.setAttribute(t,e):n?Ze.removeAttributeNS(n,t):Ze.removeAttribute(t),$e[t]=e)}function en(t){we.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}Ue._update=function(t,e,n){Ze=e,$e=e.__values__,t.attr(tn,n,this);var i=Ke[t.type];i&&i.call(this,t,e,n),this.style(Ze,n)},Ue.style=function(t,e){var n,i,r,o,s,a;if(null!=e)for(n=0,i=We.length;n<i;++n)(s=e[r=We[n]])!==$e[r]&&(o=Ge[r],null==s?"fill"===o?t.style.setProperty(o,"none"):t.style.removeProperty(o):(s.id&&(this._defs.gradient[s.id]=s,s="url("+(a=void 0,"undefined"==typeof window?"":(a=window.location).hash?a.href.slice(0,-a.hash.length):a.href)+"#"+s.id+")"),t.style.setProperty(o,s+"")),$e[r]=s)};var nn,rn=e.inherits(en,we),on=we.prototype;function sn(t,e,n,i){nn[i||t]=e}function an(t,e,n,i){if(null==t)return"";var r,o,s,a,u,l="";for("bgrect"===n&&!1===e.interactive&&(l+="pointer-events: none; "),"text"===n&&(l+="font: "+te(t)+"; "),r=0,o=We.length;r<o;++r)s=We[r],a=Ge[s],null==(u=t[s])?"fill"===a&&(l+="fill: none; "):"transparent"!==u||"fill"!==a&&"stroke"!==a?(u.id&&(i.gradient[u.id]=u,u="url(#"+u.id+")"),l+=a+": "+u+"; "):l+=a+": none; ";return l?'style="'+l.trim()+'"':null}rn.resize=function(t,e,n,i){on.resize.call(this,t,e,n,i);var r=this._origin,o=this._text,s={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var a in He)s[a]=He[a];o.head=De("svg",s);var u=this._bgcolor;return"transparent"!==u&&"none"!==u||(u=null),o.bg=u?De("rect",{width:this._width,height:this._height,style:"fill: "+u+";"})+Ve("rect"):"",o.root=De("g",{transform:"translate("+r+")"}),o.foot=Ve("g")+Ve("svg"),this},rn.background=function(){var t=on.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},rn.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},rn._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},rn.buildDefs=function(){var t,e,n,i,r=this._defs,o="";for(e in r.gradient){for(i=(n=r.gradient[e]).stops,o+=De("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)o+=De("stop",{offset:i[t].offset,"stop-color":i[t].color})+Ve("stop");o+=Ve("linearGradient")}for(e in r.clipping)n=r.clipping[e],o+=De("clipPath",{id:e}),n.path?o+=De("path",{d:n.path})+Ve("path"):o+=De("rect",{x:0,y:0,width:n.width,height:n.height})+Ve("rect"),o+=Ve("clipPath");return o.length>0?De("defs")+o+Ve("defs"):""},rn.attributes=function(t,e){return nn={},t(sn,e,this),nn},rn.href=function(t){var e,n=this,i=t.href;if(i){if(e=n._hrefs&&n._hrefs[i])return e;n.sanitizeURL(i).then(function(t){t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[i]=t})}return null},rn.mark=function(t){var e,n=this,i=oe[t.marktype],r=i.tag,o=this._defs,s="";function a(a){var u=n.href(a);u&&(s+=De("a",u)),e="g"!==r?an(a,t,r,o):null,s+=De(r,n.attributes(i.attr,a),e),"text"===r?s+=Kt(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):"g"===r&&(s+=De("path",n.attributes(i.background,a),an(a,t,"bgrect",o))+Ve("path"),s+=De("g",n.attributes(i.foreground,a))+n.markGroup(a)+Ve("g")),s+=Ve(r),u&&(s+=Ve("a"))}return"g"!==r&&!1===t.interactive&&(e='style="pointer-events: none;"'),s+=De("g",{class:me(t),"clip-path":t.clip?zt(n,t,t.group):null},e),i.nested?t.items&&t.items.length&&a(t.items[0]):dt(t,a),s+Ve("g")},rn.markGroup=function(t){var e=this,n="";return dt(t,function(t){n+=e.mark(t)}),n};var un={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},ln={};ln.canvas=ln.png={renderer:Le,headless:Le,handler:Ae},ln.svg={renderer:Be,headless:en,handler:Ne},ln.none={};var hn=new s,cn=1e-9;function fn(t,n,i){return t===n||("path"===i?dn(t,n):t instanceof Date&&n instanceof Date?+t==+n:e.isNumber(t)&&e.isNumber(n)?Math.abs(t-n)<=cn:t&&n&&(e.isObject(t)||e.isObject(n))?null!=t&&null!=n&&function(t,e){var n,i,r=Object.keys(t),o=Object.keys(e);if(r.length!==o.length)return!1;for(r.sort(),o.sort(),i=r.length-1;i>=0;i--)if(r[i]!=o[i])return!1;for(i=r.length-1;i>=0;i--)if(n=r[i],!fn(t[n],e[n],n))return!1;return typeof t==typeof e}(t,n):t==n)}function dn(t,e){return fn(m(t),m(e))}t.Bounds=s,t.Gradient=function(t,e){var n,i=[];return n={id:"gradient_"+u++,x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:i,stop:function(t,e){return i.push({offset:t,color:e}),n}}},t.GroupItem=h,t.ResourceLoader=c,t.Item=l,t.Scenegraph=fe,t.Handler=xe,t.Renderer=we,t.CanvasHandler=Ae,t.CanvasRenderer=Le,t.SVGHandler=Ne,t.SVGRenderer=Be,t.SVGStringRenderer=en,t.RenderType=un,t.renderModule=function(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(ln[t]=e,this):ln[t]},t.Marks=oe,t.boundClip=function(t){var n=t.clip;if(e.isFunction(n))n(rt(hn.clear()));else{if(!n)return;hn.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(hn)},t.boundContext=rt,t.boundStroke=tt,t.boundItem=se,t.boundMark=ue,t.pathCurves=p,t.pathSymbols=L,t.pathRectangle=D,t.pathTrail=H,t.pathParse=m,t.pathRender=A,t.point=Te,t.domCreate=ge,t.domFind=pe,t.domChild=ye,t.domClear=_e,t.openTag=De,t.closeTag=Ve,t.font=te,t.textMetrics=Xt,t.resetSVGClipId=function(){Ct=1},t.sceneEqual=fn,t.pathEqual=dn,t.sceneToJSON=he,t.sceneFromJSON=ce,t.sceneZOrder=ft,t.sceneVisit=dt,t.scenePickVisit=vt,Object.defineProperty(t,"__esModule",{value:!0})});
{
"name": "vega-scenegraph",
"version": "2.3.1",
"version": "2.4.0",
"description": "Vega scenegraph and renderers.",

@@ -5,0 +5,0 @@ "license": "BSD-3-Clause",

@@ -7,4 +7,4 @@ import Handler from './Handler';

export default function CanvasHandler(loader) {
Handler.call(this, loader);
export default function CanvasHandler(loader, tooltip) {
Handler.call(this, loader, tooltip);
this._down = null;

@@ -147,4 +147,4 @@ this._touch = null;

this.handleHref(evt, a, a.href);
} else if ((type === 'mouseover' || type === 'mouseout') && a && a.tooltip) {
this.handleTooltip(evt, a, type === 'mouseover' ? a.tooltip : null);
} else if ((type === 'mouseover' || type === 'mouseout')) {
this.handleTooltip(evt, a, type === 'mouseover');
}

@@ -151,0 +151,0 @@

import {domCreate} from './util/dom';
import {loader} from 'vega-loader';
export default function Handler(customLoader) {
export default function Handler(customLoader, customTooltip) {
this._active = null;
this._handlers = {};
this._loader = customLoader || loader();
this._tooltip = customTooltip || defaultTooltip;
}
function defaultTooltip(handler, event, item, value) {
handler.element().setAttribute('title', value || '');
}
var prototype = Handler.prototype;

@@ -76,4 +81,7 @@

prototype.handleTooltip = function(event, item, tooltipText) {
this._el.setAttribute('title', tooltipText || '');
prototype.handleTooltip = function(event, item, show) {
if (item && item.tooltip != null) {
this._tooltip.call(this._obj, this, event, item,
show ? item.tooltip : null);
}
};

@@ -38,3 +38,3 @@ import boundStroke from '../bound/boundStroke';

if (context.pixelRatio > 1) {
if (context.pixelRatio !== 1) {
x *= context.pixelRatio;

@@ -41,0 +41,0 @@ y *= context.pixelRatio;

@@ -5,4 +5,4 @@ import Handler from './Handler';

export default function SVGHandler(loader) {
Handler.call(this, loader);
export default function SVGHandler(loader, tooltip) {
Handler.call(this, loader, tooltip);
var h = this;

@@ -13,5 +13,3 @@ h._hrefHandler = listener(h, function(evt, item) {

h._tooltipHandler = listener(h, function(evt, item) {
if (item && item.tooltip) {
h.handleTooltip(evt, item, evt.type === 'mouseover' ? item.tooltip : null);
}
h.handleTooltip(evt, item, evt.type === 'mouseover');
});

@@ -18,0 +16,0 @@ }

@@ -219,5 +219,6 @@ import Renderer from './Renderer';

this._dirtyAll = false;
mark.dirty = id;
dirtyParents(mark.group, id);
dirtyParents(item, id);
mark.items.forEach(function(i) { i.dirty = id; });
}
if (mark.zdirty) continue; // handle in standard drawing pass

@@ -271,2 +272,3 @@ if (item.exit) { // EXIT

var renderer = this,
svg = this._svg,
mdef = marks[scene.marktype],

@@ -279,3 +281,3 @@ events = scene.interactive === false ? 'none' : null,

parent = bind(scene, el, prev, 'g');
parent = bind(scene, el, prev, 'g', svg);
parent.setAttribute('class', cssClass(scene));

@@ -293,3 +295,3 @@ if (!isGroup) {

var dirty = renderer.isDirty(item),
node = bind(item, parent, sibling, mdef.tag);
node = bind(item, parent, sibling, mdef.tag, svg);

@@ -331,3 +333,3 @@ if (dirty) {

// Create new SVG elements as needed.
function bind(item, el, sibling, tag) {
function bind(item, el, sibling, tag, svg) {
var node = item._svg, doc;

@@ -359,3 +361,4 @@

if (doc || node.previousSibling !== sibling || !sibling) {
// (re-)insert if (a) not contained in SVG or (b) sibling order has changed
if (node.ownerSVGElement !== svg || hasSiblings(item) && node.previousSibling !== sibling) {
el.insertBefore(node, sibling ? sibling.nextSibling : el.firstChild);

@@ -367,3 +370,8 @@ }

function hasSiblings(item) {
var parent = item.mark || item.group;
return parent && parent.items.length > 1;
}
// -- Set attributes & styles on SVG elements ---

@@ -370,0 +378,0 @@

@@ -9,3 +9,3 @@ import {pickVisit} from '../visit';

return function(context, scene, x, y, gx, gy) {
if (context.pixelRatio > 1) {
if (context.pixelRatio !== 1) {
x *= context.pixelRatio;

@@ -12,0 +12,0 @@ y *= context.pixelRatio;

@@ -1,4 +0,7 @@

export var devicePixelRatio = typeof window !== 'undefined'
? window.devicePixelRatio || 1 : 1;
function devicePixelRatio() {
return typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;
}
var pixelRatio = devicePixelRatio();
export default function(canvas, width, height, origin, scaleFactor) {

@@ -10,3 +13,3 @@ var inDOM = typeof HTMLElement !== 'undefined'

var context = canvas.getContext('2d'),
ratio = inDOM ? devicePixelRatio : scaleFactor;
ratio = inDOM ? pixelRatio : scaleFactor;

@@ -13,0 +16,0 @@ canvas.width = width * ratio;

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc