Socket
Socket
Sign inDemoInstall

vega-scenegraph

Package Overview
Dependencies
3
Maintainers
2
Versions
110
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.4 to 1.0.5

scripts/schema.js

10

package.json
{
"name": "vega-scenegraph",
"version": "1.0.4",
"version": "1.0.5",
"description": "Vega scenegraph and renderers.",

@@ -17,3 +17,3 @@ "repository": {

"datalib": "^1.3.1",
"canvas": "1.2.3"
"canvas": "^1.2.5"
},

@@ -28,2 +28,3 @@ "devDependencies": {

"mocha": "^2.2.5",
"tv4": "^1.1.12",
"uglify-js": "2.4.x",

@@ -35,6 +36,7 @@ "watchify": "^3.2.3"

"lint": "jshint src/",
"test": "mocha --recursive test/",
"cover": "istanbul cover _mocha -- --recursive test/",
"test": "npm run schema && mocha --timeout 5000 --recursive test/",
"cover": "npm run schema && istanbul cover _mocha -- --timeout 5000 --recursive test/",
"build": "browserify src/index.js -d -s vg.scene -o vega-scenegraph.js",
"postbuild": "uglifyjs vega-scenegraph.js -cm > vega-scenegraph.min.js",
"schema": "node scripts/schema.js > vega-scenegraph-schema.json",
"watch": "watchify src/index.js -v -d -s vg.scene -o vega-scenegraph.js"

@@ -41,0 +43,0 @@ },

4

src/path/parse.js
// Path parsing and rendering code adapted from fabric.js -- Thanks!
var cmdlen = { m:2, l:2, h:1, v:1, c:6, s:4, q:4, t:2, a:7 },
regexp = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\d)-/g, /\s|,|###/];
regexp = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\d)([-+])/g, /\s|,|###/];

@@ -26,3 +26,3 @@ module.exports = function(pathstr) {

.trim()
.replace(regexp[2],'$1###-')
.replace(regexp[2],'$1###$2')
.split(regexp[3]);

@@ -29,0 +29,0 @@ cmd = curr.charAt(0);

@@ -22,3 +22,3 @@ var bound = require('../util/bound');

'size', 'shape', // symbol
'text', 'angle', 'theta', 'radius', // text
'text', 'angle', 'theta', 'radius', 'dx', 'dy', // text
'font', 'fontSize', 'fontWeight', 'fontStyle', 'fontVariant' // font

@@ -25,0 +25,0 @@ ];

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

!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,(e.vg||(e.vg={})).scene=t()}}(function(){return function t(e,n,i){function r(s,o){if(!n[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(a)return a(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var h=n[s]={exports:{}};e[s][0].call(h.exports,function(t){var n=e[s][1][t];return r(n?n:t)},h,h.exports,t,e,n,i)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(t,e,n){},{}],2:[function(t,e,n){function i(e){var n=e.url;if(!n&&e.file)return c+e.file;if(e.baseURL&&!h.test(n)&&(u(n,"/")||"/"===e.baseURL[e.baseURL.length-1]||(n="/"+n),n=e.baseURL+n),!r.useXHR&&u(n,"//")&&(n=(e.defaultProtocol||"http")+":"+n),e.domainWhiteList){var i,a;if(r.useXHR){var s=document.createElement("a");s.href=n,""===s.host&&(s.href=s.href),i=s.hostname.toLowerCase(),a=window.location.hostname}else{var o=t("url").parse(n);i=o.hostname,a=null}if(a!==i){var l=e.domainWhiteList.some(function(t){var e=i.length-t.length;return t===i||e>1&&"."===i[e-1]&&i.lastIndexOf(t)===e});if(!l)throw"URL is not whitelisted: "+n}}return n}function r(t,e){var n,i=e||function(t){throw t};try{n=r.sanitizeUrl(t)}catch(a){return void i(a)}return n?r.useXHR?s(n,e):u(n,c)?o(n.slice(c.length),e):n.indexOf("://")<0?o(n,e):l(n,e):void i("Invalid URL: "+t.url)}function a(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function s(t,e){function n(){var t=r.status;!t&&a(r)||t>=200&&300>t||304===t?e(null,r.responseText):e(r,null)}var i=!!e,r=new XMLHttpRequest;return!this.XDomainRequest||"withCredentials"in r||!/^(http(s)?:)?\/\//.test(t)||(r=new XDomainRequest),i&&("onload"in r?r.onload=r.onerror=n:r.onreadystatechange=function(){r.readyState>3&&n()}),r.open("GET",t,i),r.send(),!i&&a(r)?r.responseText:void 0}function o(e,n){var i=t("fs");return n?void i.readFile(e,n):i.readFileSync(e,"utf8")}function l(e,n){return n?void t("request")(e,function(t,e,i){t||200!==e.statusCode?(t=t||"Load failed with response code "+e.statusCode+".",n(t,null)):n(null,i)}):t("sync-request")("GET",e).getBody()}function u(t,e){return null==t?!1:0===t.lastIndexOf(e,0)}var h=/^([A-Za-z]+:)?\/\//,c="file://";r.sanitizeUrl=i,r.useXHR="undefined"!=typeof XMLHttpRequest,e.exports=r},{fs:1,request:1,"sync-request":1,url:1}],3:[function(t,e,n){e.exports={path:t("./path"),render:t("./render"),Item:t("./util/Item"),bound:t("./util/bound"),Bounds:t("./util/Bounds"),Gradient:t("./util/Gradient"),toJSON:t("./util/scene").toJSON,fromJSON:t("./util/scene").fromJSON}},{"./path":6,"./render":26,"./util/Bounds":32,"./util/Gradient":33,"./util/Item":35,"./util/bound":36,"./util/scene":40}],4:[function(t,e,n){function i(t,e,n,i,r,s,l,u,h){var c=o.call(arguments);if(a[c])return a[c];var d=l*(Math.PI/180),f=Math.sin(d),p=Math.cos(d);n=Math.abs(n),i=Math.abs(i);var g=p*(u-t)*.5+f*(h-e)*.5,v=p*(h-e)*.5-f*(u-t)*.5,m=g*g/(n*n)+v*v/(i*i);m>1&&(m=Math.sqrt(m),n*=m,i*=m);var y=p/n,x=f/n,k=-f/i,b=p/i,_=y*u+x*h,w=k*u+b*h,M=y*t+x*e,T=k*t+b*e,C=(M-_)*(M-_)+(T-w)*(T-w),A=1/C-.25;0>A&&(A=0);var P=Math.sqrt(A);s==r&&(P=-P);var L=.5*(_+M)-P*(T-w),I=.5*(w+T)+P*(M-_),z=Math.atan2(w-I,_-L),R=Math.atan2(T-I,M-L),O=R-z;0>O&&1===s?O+=2*Math.PI:O>0&&0===s&&(O-=2*Math.PI);for(var S=Math.ceil(Math.abs(O/(.5*Math.PI+.001))),D=[],q=0;S>q;++q){var N=z+q*O/S,E=z+(q+1)*O/S;D[q]=[L,I,N,E,n,i,f,p]}return a[c]=D}function r(t){var e=o.call(t);if(s[e])return s[e];var n=t[0],i=t[1],r=t[2],a=t[3],l=t[4],u=t[5],h=t[6],c=t[7],d=c*l,f=-h*u,p=h*l,g=c*u,v=Math.cos(r),m=Math.sin(r),y=Math.cos(a),x=Math.sin(a),k=.5*(a-r),b=Math.sin(.5*k),_=8/3*b*b/Math.sin(k),w=n+v-_*m,M=i+m+_*v,T=n+y,C=i+x,A=T+_*x,P=C-_*y;return s[e]=[d*w+f*M,p*w+g*M,d*A+f*P,p*A+g*P,d*T+f*C,p*T+g*C]}var a={},s={},o=[].join;e.exports={segments:i,bezier:r,cache:{segments:a,bezier:s}}},{}],5:[function(t,e,n){function i(t,e,n,i){for(var a=r.segments(n[5],n[6],n[0],n[1],n[3],n[4],n[2],t,e),s=0;s<a.length;++s){var o=r.bezier(a[s]);i.add(o[0],o[1]),i.add(o[2],o[3]),i.add(o[4],o[5])}}var r=t("./arc");e.exports=function(t,e){var n,r,a,s,o,l,u,h=null,c=0,d=0,f=0,p=0;for(l=0,u=t.length;u>l;++l){switch(n=t[l],n[0]){case"l":c+=n[1],d+=n[2],e.add(c,d);break;case"L":c=n[1],d=n[2],e.add(c,d);break;case"h":c+=n[1],e.add(c,d);break;case"H":c=n[1],e.add(c,d);break;case"v":d+=n[1],e.add(c,d);break;case"V":d=n[1],e.add(c,d);break;case"m":c+=n[1],d+=n[2],e.add(c,d);break;case"M":c=n[1],d=n[2],e.add(c,d);break;case"c":r=c+n[5],a=d+n[6],f=c+n[3],p=d+n[4],e.add(c+n[1],d+n[2]),e.add(f,p),e.add(r,a),c=r,d=a;break;case"C":c=n[5],d=n[6],f=n[3],p=n[4],e.add(n[1],n[2]),e.add(f,p),e.add(c,d);break;case"s":r=c+n[3],a=d+n[4],f=2*c-f,p=2*d-p,e.add(f,p),e.add(c+n[1],d+n[2]),e.add(r,a),f=c+n[1],p=d+n[2],c=r,d=a;break;case"S":r=n[3],a=n[4],f=2*c-f,p=2*d-p,c=r,d=a,e.add(n[1],n[2]),e.add(f,p),e.add(r,a),f=n[1],p=n[2];break;case"q":r=c+n[3],a=d+n[4],f=c+n[1],p=d+n[2],c=r,d=a,e.add(f,p),e.add(r,a);break;case"Q":r=n[3],a=n[4],c=r,d=a,f=n[1],p=n[2],e.add(f,p),e.add(r,a);break;case"t":r=c+n[1],a=d+n[2],null===h[0].match(/[QqTt]/)?(f=c,p=d):"t"===h[0]?(f=2*c-s,p=2*d-o):"q"===h[0]&&(f=2*c-f,p=2*d-p),s=f,o=p,c=r,d=a,f=c+n[1],p=d+n[2],e.add(f,p),e.add(r,a);break;case"T":r=n[1],a=n[2],f=2*c-f,p=2*d-p,c=r,d=a,e.add(f,p),e.add(r,a);break;case"a":i(c,d,[n[1],n[2],n[3],n[4],n[5],n[6]+c,n[7]+d],e),c+=n[6],d+=n[7];break;case"A":i(c,d,[n[1],n[2],n[3],n[4],n[5],n[6],n[7]],e),c=n[6],d=n[7];break;case"z":case"Z":}h=n}return e}},{"./arc":4}],6:[function(t,e,n){e.exports={parse:t("./parse"),render:t("./render"),bounds:t("./bounds")}},{"./bounds":5,"./parse":7,"./render":8}],7:[function(t,e,n){var i={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},r=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)-/g,/\s|,|###/];e.exports=function(t){var e,n,a,s,o,l,u,h,c,d,f,p=[];for(e=t.slice().replace(r[0],"###$1").split(r[1]).slice(1),h=0,d=e.length;d>h;++h){for(n=e[h],a=n.slice(1).trim().replace(r[2],"$1###-").split(r[3]),l=n.charAt(0),s=[l],c=0,f=a.length;f>c;++c)(o=+a[c])===o&&s.push(o);if(u=i[l.toLowerCase()],s.length-1>u)for(c=1,f=s.length;f>c;c+=u)p.push([l].concat(s.slice(c,c+u)));else p.push(s)}return p}},{}],8:[function(t,e,n){function i(t,e,n,i){for(var a=r.segments(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),s=0;s<a.length;++s){var o=r.bezier(a[s]);t.bezierCurveTo.apply(t,o)}}var r=t("./arc");e.exports=function(t,e,n,r){var a,s,o,l,u,h=null,c=0,d=0,f=0,p=0;null==n&&(n=0),null==r&&(r=0),t.beginPath();for(var g=0,v=e.length;v>g;++g){switch(a=e[g],a[0]){case"l":c+=a[1],d+=a[2],t.lineTo(c+n,d+r);break;case"L":c=a[1],d=a[2],t.lineTo(c+n,d+r);break;case"h":c+=a[1],t.lineTo(c+n,d+r);break;case"H":c=a[1],t.lineTo(c+n,d+r);break;case"v":d+=a[1],t.lineTo(c+n,d+r);break;case"V":d=a[1],t.lineTo(c+n,d+r);break;case"m":c+=a[1],d+=a[2],t.moveTo(c+n,d+r);break;case"M":c=a[1],d=a[2],t.moveTo(c+n,d+r);break;case"c":s=c+a[5],o=d+a[6],f=c+a[3],p=d+a[4],t.bezierCurveTo(c+a[1]+n,d+a[2]+r,f+n,p+r,s+n,o+r),c=s,d=o;break;case"C":c=a[5],d=a[6],f=a[3],p=a[4],t.bezierCurveTo(a[1]+n,a[2]+r,f+n,p+r,c+n,d+r);break;case"s":s=c+a[3],o=d+a[4],f=2*c-f,p=2*d-p,t.bezierCurveTo(f+n,p+r,c+a[1]+n,d+a[2]+r,s+n,o+r),f=c+a[1],p=d+a[2],c=s,d=o;break;case"S":s=a[3],o=a[4],f=2*c-f,p=2*d-p,t.bezierCurveTo(f+n,p+r,a[1]+n,a[2]+r,s+n,o+r),c=s,d=o,f=a[1],p=a[2];break;case"q":s=c+a[3],o=d+a[4],f=c+a[1],p=d+a[2],t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o;break;case"Q":s=a[3],o=a[4],t.quadraticCurveTo(a[1]+n,a[2]+r,s+n,o+r),c=s,d=o,f=a[1],p=a[2];break;case"t":s=c+a[1],o=d+a[2],null===h[0].match(/[QqTt]/)?(f=c,p=d):"t"===h[0]?(f=2*c-l,p=2*d-u):"q"===h[0]&&(f=2*c-f,p=2*d-p),l=f,u=p,t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o,f=c+a[1],p=d+a[2];break;case"T":s=a[1],o=a[2],f=2*c-f,p=2*d-p,t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o;break;case"a":i(t,c+n,d+r,[a[1],a[2],a[3],a[4],a[5],a[6]+c+n,a[7]+d+r]),c+=a[6],d+=a[7];break;case"A":i(t,c+n,d+r,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+r]),c=a[6],d=a[7];break;case"z":case"Z":t.closePath()}h=a}}},{"./arc":4}],9:[function(t,e,n){function i(){this._active=null,this._handlers={}}var r=i.prototype;r.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.padding(e)},r.element=function(){return this._el},r.padding=function(t){return this._padding=t||{top:0,left:0,bottom:0,right:0},this},r.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},r.on=function(){},r.off=function(){},r.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},r.eventName=function(t){var e=t.indexOf(".");return 0>e?t:t.slice(0,e)},e.exports=i},{}],10:[function(t,e,n){function i(){this._el=null,this._bgcolor=null}var r=i.prototype;r.initialize=function(t,e,n,i){return this._el=t,this.resize(e,n,i)},r.element=function(){return this._el},r.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},r.resize=function(t,e,n){return this._width=t,this._height=e,this._padding=n||{top:0,left:0,bottom:0,right:0},this},r.render=function(){return this},e.exports=i},{}],11:[function(t,e,n){function i(){a.call(this),this._down=null,this._touch=null,this._first=!0}var r=t("../../util/dom"),a=t("../Handler"),s=t("./marks"),o=a.prototype,l=i.prototype=Object.create(o);l.constructor=i,l.initialize=function(t,e,n){var i=this._canvas=r.find(t,"canvas"),a=this;return this.events.forEach(function(t){i.addEventListener(t,function(e){l[t]?l[t].call(a,e):a.fire(t,e)})}),o.initialize.call(this,t,e,n)},l.canvas=function(){return this._canvas},l.context=function(){return this._canvas.getContext("2d")},l.events=["keydown","keypress","keyup","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],l.DOMMouseScroll=function(t){this.fire("mousewheel",t)},l.mousemove=function(t){var e=this._active,n=this.pickEvent(t);n===e?this.fire("mousemove",t):(this.fire("mouseout",t),this._active=n,this.fire("mouseover",t),this.fire("mousemove",t))},l.mouseout=function(t){this.fire("mouseout",t),this._active=null},l.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},l.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},l.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},l.touchmove=function(t){this.fire("touchmove",t,!0)},l.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},l.fire=function(t,e,n){var i,r,a=n?this._touch:this._active,s=this._handlers[t];if(s)for(e.vegaType=t,i=0,r=s.length;r>i;++i)s[i].handler.call(this._obj,e,a)},l.on=function(t,e){var n=this.eventName(t),i=this._handlers;return(i[n]||(i[n]=[])).push({type:t,handler:e}),this},l.off=function(t,e){var n,i=this.eventName(t),r=this._handlers[i];if(r){for(n=r.length;--n>=0;)r[n].type===t&&(e&&r[n].handler!==e||r.splice(n,1));return this}},l.pickEvent=function(t){var e,n,i=this._canvas.getBoundingClientRect(),r=this._padding;return this.pick(this._scene,e=t.clientX-i.left,n=t.clientY-i.top,e-r.left,n-r.top)},l.pick=function(t,e,n,i,r){var a=this.context(),o=s[t.marktype];return o.pick.call(this,a,t,e,n,i,r)},e.exports=i},{"../../util/dom":38,"../Handler":9,"./marks":18}],12:[function(t,e,n){function i(t){h.call(this),this._loader=new l(t)}function r(t,e){if(!e)return null;var n,i,r,s,l,u=new o;for(n=0,i=e.length;i>n;++n)r=e[n],s=r.mark,l=s.group,r=c[s.marktype].nested?s:r,u.union(a(r.bounds,l)),r["bounds:prev"]&&u.union(a(r["bounds:prev"],l));return u.round(),t.beginPath(),t.rect(u.x1,u.y1,u.width(),u.height()),t.clip(),u}function a(t,e){if(null==e)return t;for(var n=t.clone();null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}var s=t("../../util/dom"),o=t("../../util/Bounds"),l=t("../../util/ImageLoader"),u=t("../../util/canvas"),h=t("../Renderer"),c=t("./marks");i.RETINA=!0;var d=h.prototype,f=i.prototype=Object.create(d);f.constructor=i,f.initialize=function(t,e,n,i){return this._canvas=u.instance(e,n),t&&(s.clear(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),d.initialize.call(this,t,e,n,i)},f.resize=function(t,e,n){return d.resize.call(this,t,e,n),u.resize(this._canvas,this._width,this._height,this._padding,i.RETINA),this},f.canvas=function(){return this._canvas},f.context=function(){return this._canvas?this._canvas.getContext("2d"):null},f.pendingImages=function(){return this._loader.pending()},f.render=function(t,e){var n,i=this.context(),a=this._padding,s=this._width+a.left+a.right,o=this._height+a.top+a.bottom;return this._scene=t,i.save(),n=r(i,e),this.clear(-a.left,-a.top,s,o),this.draw(i,t,n),i.restore(),this._scene=null,this},f.draw=function(t,e,n){var i=c[e.marktype];i.draw.call(this,t,e,n)},f.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))},f.loadImage=function(t){var e=this,n=this._scene;return this._loader.loadImage(t,function(){e.renderAsync(n)})},f.renderAsync=function(t){var e=this;e._async_id&&clearTimeout(e._async_id),e._async_id=setTimeout(function(){e.render(t),delete e._async_id},10)},e.exports=i},{"../../util/Bounds":32,"../../util/ImageLoader":34,"../../util/canvas":37,"../../util/dom":38,"../Renderer":10,"./marks":18}],13:[function(t,e,n){e.exports={Handler:t("./CanvasHandler"),Renderer:t("./CanvasRenderer")}},{"./CanvasHandler":11,"./CanvasRenderer":12}],14:[function(t,e,n){function i(t,e){var n=e.x||0,i=e.y||0,r=e.innerRadius||0,s=e.outerRadius||0,o=(e.startAngle||0)-a,l=(e.endAngle||0)-a;t.beginPath(),0===r?t.moveTo(n,i):t.arc(n,i,r,o,l,0),t.arc(n,i,s,l,o,1),t.closePath()}var r=t("./util"),a=Math.PI/2;e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"./util":25}],15:[function(t,e,n){function i(t,e){var n=e[0],i=n.pathCache||(n.pathCache=s(l(e)));o(t,i)}function r(t,e,n,i,r,a){var s=e.items,o=e.bounds;return!s||!s.length||o&&!o.contains(r,a)?null:(null!=t.pixelratio&&1!==t.pixelratio&&(n*=t.pixelratio,i*=t.pixelratio),u(t,s,n,i)?s[0]:null)}var a=t("./util"),s=t("../../../path/parse"),o=t("../../../path/render"),l=t("../../../util/svg").path.area,u=a.testPath(i);e.exports={draw:a.drawOne(i),pick:r,nested:!0}},{"../../../path/parse":7,"../../../path/render":8,"../../../util/svg":41,"./util":25}],16:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length){var i,r,a,s,l,u,h,c,d,f,p=e.items,g=this;for(o.draw.call(g,t,e,n),h=0,c=p.length;c>h;++h){for(i=p[h],a=i.axisItems||[],r=i.items||[],s=i.legendItems||[],l=i.x||0,u=i.y||0,t.save(),t.translate(l,u),i.clip&&(t.beginPath(),t.rect(0,0,i.width||0,i.height||0),t.clip()),n&&n.translate(-l,-u),d=0,f=a.length;f>d;++d)"back"===a[d].layer&&g.draw(t,a[d],n);for(d=0,f=r.length;f>d;++d)g.draw(t,r[d],n);for(d=0,f=a.length;f>d;++d)"back"!==a[d].layer&&g.draw(t,a[d],n);for(d=0,f=s.length;f>d;++d)g.draw(t,s[d],n);n&&n.translate(l,u),t.restore()}}}function r(t,e){return e.fill||e.stroke}function a(t,e,n,i,r,a){if(e.bounds&&!e.bounds.contains(r,a))return null;var s,o,u,h,c,d,f,p=e.items||[];for(d=p.length;--d>=0;){for(o=p[d],h=o.x||0,c=o.y||0,t.save(),t.translate(h,c),f=o.items.length;--f>=0;)if(s=o.items[f],s.interactive!==!1&&(u=this.pick(s,n,i,r-h,a-c)))return t.restore(),u;t.restore()}return e.interactive!==!1?l(t,e,n,i,r,a):null}var s=t("./util"),o=t("./rect"),l=s.pick(r);e.exports={draw:i,pick:a}},{"./rect":21,"./util":25}],17:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r=this,a=e.items,s=0,o=a.length;o>s;++s)if(i=a[s],!n||n.intersects(i.bounds)){i.image&&i.image.url===i.url||(i.image=r.loadImage(i.url),i.image.url=i.url);var l,u=i.x||0,h=i.y||0,c=i.width||i.image&&i.image.width||0,d=i.height||i.image&&i.image.height||0;u-="center"===i.align?c/2:"right"===i.align?c:0,h-="middle"===i.baseline?d/2:"bottom"===i.baseline?d:0,i.image.loaded&&(t.globalAlpha=null!=(l=i.opacity)?l:1,t.drawImage(i.image,u,h,c,d))}}var r=t("./util");e.exports={draw:i,pick:r.pick()}},{"./util":25}],18:[function(t,e,n){e.exports={arc:t("./arc"),area:t("./area"),group:t("./group"),image:t("./image"),line:t("./line"),path:t("./path"),rect:t("./rect"),rule:t("./rule"),symbol:t("./symbol"),text:t("./text")}},{"./arc":14,"./area":15,"./group":16,"./image":17,"./line":19,"./path":20,"./rect":21,"./rule":22,"./symbol":23,"./text":24}],19:[function(t,e,n){function i(t,e){var n=e[0],i=n.pathCache||(n.pathCache=s(l(e)));o(t,i)}function r(t,e,n,i,r,a){var s=e.items,o=e.bounds;return!s||!s.length||o&&!o.contains(r,a)?null:(null!=t.pixelratio&&1!==t.pixelratio&&(n*=t.pixelratio,i*=t.pixelratio),u(t,s,n,i)?s[0]:null)}var a=t("./util"),s=t("../../../path/parse"),o=t("../../../path/render"),l=t("../../../util/svg").path.line,u=a.testPath(i,!1);e.exports={draw:a.drawOne(i),pick:r,nested:!0}},{"../../../path/parse":7,"../../../path/render":8,"../../../util/svg":41,"./util":25}],20:[function(t,e,n){function i(t,e){if(null==e.path)return!0;var n=e.pathCache||(e.pathCache=a(e.path));s(t,n,e.x,e.y)}var r=t("./util"),a=t("../../../path/parse"),s=t("../../../path/render");e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"../../../path/parse":7,"../../../path/render":8,"./util":25}],21:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,a,s,o,l,u,h=e.items,c=0,d=h.length;d>c;++c)i=h[c],(!n||n.intersects(i.bounds))&&(a=null==i.opacity?1:i.opacity,0!==a&&(s=i.x||0,o=i.y||0,l=i.width||0,u=i.height||0,i.fill&&r.fill(t,i,a)&&t.fillRect(s,o,l,u),i.stroke&&r.stroke(t,i,a)&&t.strokeRect(s,o,l,u)))}var r=t("./util");e.exports={draw:i,pick:r.pick()}},{"./util":25}],22:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r,a,o,l,u,h=e.items,c=0,d=h.length;d>c;++c)i=h[c],(!n||n.intersects(i.bounds))&&(r=null==i.opacity?1:i.opacity,0!==r&&(a=i.x||0,o=i.y||0,l=null!=i.x2?i.x2:a,u=null!=i.y2?i.y2:o,i.stroke&&s.stroke(t,i,r)&&(t.beginPath(),t.moveTo(a,o),t.lineTo(l,u),t.stroke())))}function r(t,e){var n=e.x||0,i=e.y||0,r=null!=e.x2?e.x2:n,a=null!=e.y2?e.y2:i,s=e.strokeWidth,o=e.strokeCap;t.lineWidth=null!=s?s:1,t.lineCap=null!=o?o:"butt",t.beginPath(),t.moveTo(n,i),t.lineTo(r,a)}function a(t,e,n,i){return t.isPointInStroke?(r(t,e),t.isPointInStroke(n,i)):!1}var s=t("./util");e.exports={draw:i,pick:s.pick(a)}},{"./util":25}],23:[function(t,e,n){function i(t,e){var n,i,r,o,l=null!=e.size?e.size:100,u=e.x,h=e.y;if(t.beginPath(),null==e.shape||"circle"===e.shape)return n=Math.sqrt(l/Math.PI),t.arc(u,h,n,0,2*Math.PI,0),void t.closePath();switch(e.shape){case"cross":n=Math.sqrt(l/5)/2,i=3*n,t.moveTo(u-i,h-n),t.lineTo(u-n,h-n),t.lineTo(u-n,h-i),t.lineTo(u+n,h-i),t.lineTo(u+n,h-n),t.lineTo(u+i,h-n),t.lineTo(u+i,h+n),t.lineTo(u+n,h+n),t.lineTo(u+n,h+i),t.lineTo(u-n,h+i),t.lineTo(u-n,h+n),t.lineTo(u-i,h+n);break;case"diamond":o=Math.sqrt(l/(2*s)),r=o*s,t.moveTo(u,h-o),t.lineTo(u+r,h),t.lineTo(u,h+o),t.lineTo(u-r,h);break;case"square":i=Math.sqrt(l),n=i/2,t.rect(u-n,h-n,i,i);break;case"triangle-down":r=Math.sqrt(l/a),o=r*a/2,t.moveTo(u,h+o),t.lineTo(u+r,h-o),t.lineTo(u-r,h-o);break;case"triangle-up":r=Math.sqrt(l/a),o=r*a/2,t.moveTo(u,h-o),t.lineTo(u+r,h+o),t.lineTo(u-r,h+o)}t.closePath()}var r=t("./util"),a=Math.sqrt(3),s=Math.tan(30*Math.PI/180);e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"./util":25}],24:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r,a,s,u,h,c=e.items,d=0,f=c.length;f>d;++d)i=c[d],(!n||n.intersects(i.bounds))&&(r=null==i.opacity?1:i.opacity,0!==r&&(t.font=o.string(i),t.textAlign=i.align||"left",a=i.x||0,s=i.y||0,(u=i.radius)&&(h=(i.theta||0)-Math.PI/2,a+=u*Math.cos(h),s+=u*Math.sin(h)),i.angle&&(t.save(),t.translate(a,s),t.rotate(i.angle*Math.PI/180),a=s=0),a+=i.dx||0,s+=(i.dy||0)+o.offset(i),i.fill&&l.fill(t,i,r)&&t.fillText(i.text,a,s),i.stroke&&l.stroke(t,i,r)&&t.strokeText(i.text,a,s),i.angle&&t.restore()))}function r(t,e,n,i,r,a){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var o=s(e,u,!0),l=-e.angle*Math.PI/180,h=Math.cos(l),c=Math.sin(l),d=e.x,f=e.y,p=h*r-c*a+(d-d*h+f*c),g=c*r+h*a+(f-d*c-f*h);return o.contains(p,g)}var a=t("../../../util/Bounds"),s=t("../../../util/bound").text,o=t("../../../util/font"),l=t("./util"),u=new a;e.exports={draw:i,pick:l.pick(r)}},{"../../../util/Bounds":32,"../../../util/bound":36,"../../../util/font":39,"./util":25}],25:[function(t,e,n){function i(t,e,n,i){if(!t(e,i)){var r=null==n.opacity?1:n.opacity;0!==r&&(n.fill&&h(e,n,r)&&e.fill(),n.stroke&&c(e,n,r)&&e.stroke())}}function r(t,e,n,r){var a,s,o;for(a=0,s=n.items.length;s>a;++a)o=n.items[a],(!r||r.intersects(o.bounds))&&i(t,e,o,o)}function a(t){return function(e,n,i){r(t,e,n,i)}}function s(t){return function(e,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&i(t,e,n.items[0],n.items)}}function o(t){return t||(t=p),function(e,n,i,r,a,s){if(!n.items.length)return null;var o,l,u;for(null!=e.pixelratio&&1!==e.pixelratio&&(i*=e.pixelratio,r*=e.pixelratio),u=n.items.length;--u>=0;)if(o=n.items[u],l=o.bounds,(!l||l.contains(a,s))&&l&&t(e,o,i,r,a,s))return o;return null}}function l(t,e){return function(n,i,r,a){var s,o,l=Array.isArray(i)?i[0]:i,u=null==e?l.fill:e,h=l.stroke&&n.isPointInStroke;return h&&(s=l.strokeWidth,o=l.strokeCap,n.lineWidth=null!=s?s:1,n.lineCap=null!=o?o:"butt"),t(n,i)?!1:u&&n.isPointInPath(r,a)||h&&n.isPointInStroke(r,a)}}function u(t){return o(l(t))}function h(t,e,n){return n*=null==e.fillOpacity?1:e.fillOpacity,n>0?(t.globalAlpha=n,t.fillStyle=d(t,e,e.fill),!0):!1}function c(t,e,n){var i,r=null!=(r=e.strokeWidth)?r:1;return 0>=r?!1:(n*=null==e.strokeOpacity?1:e.strokeOpacity,n>0?(t.globalAlpha=n,t.strokeStyle=d(t,e,e.stroke),t.lineWidth=r,t.lineCap=null!=(i=e.strokeCap)?i:"butt",t.vgLineDash(e.strokeDash||null),t.vgLineDashOffset(e.strokeDashOffset||0),!0):!1)}function d(t,e,n){return n.id?f(t,n,e.bounds):n}function f(t,e,n){var i,r,a=n.width(),s=n.height(),o=n.x1+e.x1*a,l=n.y1+e.y1*s,u=n.x1+e.x2*a,h=n.y1+e.y2*s,c=t.createLinearGradient(o,l,u,h),d=e.stops;for(i=0,r=d.length;r>i;++i)c.addColorStop(d[i].offset,d[i].color);return c}var p=function(){return!0};e.exports={drawOne:s,drawAll:a,pick:o,pickPath:u,testPath:l,stroke:c,fill:h,color:d,gradient:f}},{}],26:[function(t,e,n){e.exports={canvas:t("./canvas"),svg:t("./svg")}},{"./canvas":13,"./svg":30}],27:[function(t,e,n){function i(){a.call(this)}var r=t("../../util/dom"),a=t("../Handler"),s=a.prototype,o=i.prototype=Object.create(s);o.constructor=i,o.initialize=function(t,e,n){return this._svg=r.find(t,"svg"),s.initialize.call(this,t,e,n)},o.svg=function(){return this._svg},o.listener=function(t){var e=this;return function(n){var i=n.target,r=i.__data__;n.vegaType=n.type,r=Array.isArray(r)?r[0]:r,t.call(e._obj,n,r)}},o.on=function(t,e){var n=this.eventName(t),i=this._svg,r=this._handlers,a={type:t,handler:e,listener:this.listener(e)};return(r[n]||(r[n]=[])).push(a),i.addEventListener(n,a.listener),this},o.off=function(t,e){var n,i=this.eventName(t),r=this._svg,a=this._handlers[i];if(a){for(n=a.length;--n>=0;)(a[n].type===t&&!e||a[n].handler===e)&&(r.removeEventListener(i,a[n].listener),a.splice(n,1));return this}},e.exports=i},{"../../util/dom":38,"../Handler":9}],28:[function(t,e,n){function i(t){h.call(this),this._loader=new u(t),this._dirtyID=0}function r(t,e,n){var i,r,a;for(t=d.child(t,n,"linearGradient",p),t.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;r>i;++i)a=d.child(t,i,"stop",p),a.setAttribute("offset",e.stops[i].offset),a.setAttribute("stop-color",e.stops[i].color);d.clear(t,i)}function a(t,e,n){var i;t=d.child(t,n,"clipPath",p),t.setAttribute("id",e.id),i=d.child(t,0,"rect",p),i.setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height)}function s(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 o(t,e,n,i,r){var a=d.child(t,i,e.tag,p,null,r);if(a.__data__=n,a.__values__={fill:"default"},"g"===e.tag){var s=d.child(a,0,"rect",p,"background");s.__data__=n}return n._svg=a}function l(t,e,n){e!==k[t]&&(null!=e?n?x.setAttributeNS(n,t,e):x.setAttribute(t,e):n?x.removeAttributeNS(n,t):x.removeAttribute(t),k[t]=e)}var u=t("../../util/ImageLoader"),h=t("../Renderer"),c=t("../../util/font"),d=t("../../util/dom"),f=t("../../util/svg"),p=f.metadata.xmlns,g=t("./marks"),v=h.prototype,m=i.prototype=Object.create(v);m.constructor=i,m.initialize=function(t,e,n,i){return t&&(this._svg=d.child(t,0,"svg",p,"marks"),d.clear(t,1),this._root=d.child(this._svg,0,"g",p),d.clear(this._svg,1)),this._defs={clip_id:1,gradient:{},clipping:{}},this.background(this._bgcolor),v.initialize.call(this,t,e,n,i)},m.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),v.background.apply(this,arguments)},m.resize=function(t,e,n){if(v.resize.call(this,t,e,n),this._svg){var i=this._width,r=this._height,a=this._padding;this._svg.setAttribute("width",i+a.left+a.right),this._svg.setAttribute("height",r+a.top+a.bottom),this._root.setAttribute("transform","translate("+a.left+","+a.top+")")}return this},m.svg=function(){if(!this._svg)return null;var t={"class":"marks",width:this._width+this._padding.left+this._padding.right,height:this._height+this._padding.top+this._padding.bottom};for(var e in f.metadata)t[e]=f.metadata[e];return d.openTag("svg",t)+this._svg.innerHTML+d.closeTag("svg")},m.imageURL=function(t){return this._loader.imageURL(t)},m.render=function(t,e){return this._dirtyCheck(e)&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t,-1),d.clear(this._root,1)),this.updateDefs(),this},m.draw=function(t,e,n){this.drawMark(t,e,n,g[e.marktype])},m.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,s=0;for(t in n.gradient)i||(i=n.el=d.child(e,0,"defs",p)),r(i,n.gradient[t],s++);for(t in n.clipping)i||(i=n.el=d.child(e,0,"defs",p)),a(i,n.clipping[t],s++);i&&(0===s?(e.removeChild(i),n.el=null):d.clear(i,s))},m._resetDefs=function(){var t=this._defs;t.clip_id=1,t.gradient={},t.clipping={}},m.isDirty=function(t){return this._dirtyAll||t.dirty===this._dirtyID},m._dirtyCheck=function(t){if(this._dirtyAll=!0,!t)return!0;var e,n,i,r,a,o,l,u=++this._dirtyID;for(a=0,o=t.length;o>a;++a)e=t[a],n=e.mark,n.marktype!==i&&(i=n.marktype,r=g[i]),"exit"!==e.status?(e=r.nest?n.items[0]:e,e._update!==u&&(e._svg?this._update(r,e._svg,e):(this._dirtyAll=!1,s(e,u)),e._update=u)):e._svg&&(r.nest&&e.mark.items.length?(this._update(r,e._svg,e.mark.items[0]),l=e.mark.items[0],l._svg=e._svg,l._update=u):d.remove(e._svg),e._svg=null);return!this._dirtyAll},m.drawMark=function(t,e,n,i){if(this.isDirty(e)){var r,a,s,l,u,h,c=i.nest?e.items&&e.items.length?[e.items[0]]:[]:e.items||[],f=e.interactive===!1?"none":null,g="g"===i.tag,v=d.cssClass(e);for(r=d.child(t,n+1,"g",p,v),r.setAttribute("class",v),e._svg=r,!g&&f&&r.style.setProperty("pointer-events",f),a=0,s=c.length;s>a;++a)this.isDirty(u=c[a])&&(h=!(this._dirtyAll||u._svg),l=h?o(r,i,u,a,!0):r.childNodes[a]||o(r,i,u,a),this._update(i,l,u),g&&(h&&(this._dirtyAll=!0),this._recurse(l,u),h&&(this._dirtyAll=!1)));return d.clear(r,a),r}},m._recurse=function(t,e){var n,i,r=e.items||[],a=e.legendItems||[],s=e.axisItems||[],o=0;for(n=0,i=s.length;i>n;++n)"back"===s[n].layer&&this.drawMark(t,s[n],o++,g.group);for(n=0,i=r.length;i>n;++n)this.draw(t,r[n],o++);for(n=0,i=s.length;i>n;++n)"back"!==s[n].layer&&this.drawMark(t,s[n],o++,g.group);for(n=0,i=a.length;i>n;++n)this.drawMark(t,a[n],o++,g.group);d.clear(t,1+o)};var y="undefined"!=typeof window?window.location.href:"",x=null,k=null,b={group:function(t,e,n){x=e.childNodes[0],k=e.__values__,t.background(l,n,this);var i=n.mark.interactive===!1?"none":null;i!==k.events&&(x.style.setProperty("pointer-events",i),k.events=i)},text:function(t,e,n){n.text!==k.text&&(e.textContent=n.text||"",k.text=n.text);var i=c.string(n);i!==k.font&&(e.style.setProperty("font",i),k.font=i)}};m._update=function(t,e,n){x=e,k=e.__values__,t.attr(l,n,this);var i=b[t.type];i&&i(t,e,n),this.style(x,n)},m.style=function(t,e){if(null!=e){var n,i,r,a,s;for(n=0,i=f.styleProperties.length;i>n;++n)r=f.styleProperties[n],s=e[r],s!==k[r]&&(a=f.styles[r],null==s?"fill"===a?t.style.setProperty(a,"none"):t.style.removeProperty(a):(s.id&&(this._defs.gradient[s.id]=s,s="url("+y+"#"+s.id+")"),t.style.setProperty(a,s+"")),k[r]=s)}},e.exports=i},{"../../util/ImageLoader":34,"../../util/dom":38,"../../util/font":39,"../../util/svg":41,"../Renderer":10,"./marks":31}],29:[function(t,e,n){function i(t){o.call(this),this._loader=new l(t),this._text={head:"",root:"",foot:"",defs:"",body:""},this._defs={clip_id:1,gradient:{},clipping:{}}}function r(t,e,n,i){m[i||t]=e}function a(t,e,n,i){if(null==t)return"";var r,a,s,o,l,c="";for("bgrect"===n&&e.interactive===!1&&(c+="pointer-events: none;"),"text"===n&&(c+="font: "+h.string(t)+";"),r=0,a=u.styleProperties.length;a>r;++r)s=u.styleProperties[r],o=u.styles[s],l=t[s],null==l?"fill"===o&&(c+=(c.length?" ":"")+"fill: none;"):(l.id&&(i.gradient[l.id]=l,l="url(#"+l.id+")"),c+=(c.length?" ":"")+o+": "+l+";");return c?'style="'+c+'"':null}function s(t){return t=null==t?"":String(t),t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var o=t("../Renderer"),l=t("../../util/ImageLoader"),u=t("../../util/svg"),h=t("../../util/font"),c=t("../../util/dom"),d=c.openTag,f=c.closeTag,p=t("./marks"),g=o.prototype,v=i.prototype=Object.create(g);v.constructor=i,v.resize=function(t,e,n){g.resize.call(this,t,e,n);var i=this._padding,r=this._text,a={"class":"marks",width:this._width+i.left+i.right,height:this._height+i.top+i.bottom};for(var s in u.metadata)a[s]=u.metadata[s];return r.head=d("svg",a),r.root=d("g",{transform:"translate("+i.left+","+i.top+")"}),r.foot=f("g")+f("svg"),this},v.svg=function(){var t=this._text;return t.head+t.defs+t.root+t.body+t.foot},v.render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},v.reset=function(){return this._defs.clip_id=0,this},v.buildDefs=function(){var t,e,n,i,r=this._defs,a="";for(e in r.gradient){for(n=r.gradient[e],i=n.stops,a+=d("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)a+=d("stop",{offset:i[t].offset,"stop-color":i[t].color})+f("stop");a+=f("linearGradient")}for(e in r.clipping)n=r.clipping[e],a+=d("clipPath",{id:e}),a+=d("rect",{x:0,y:0,width:n.width,height:n.height})+f("rect"),a+=f("clipPath");return a.length>0?d("defs")+a+f("defs"):""},v.imageURL=function(t){return this._loader.imageURL(t)};var m;v.attributes=function(t,e){return m={},t(r,e,this),m},v.mark=function(t){var e,n,i,r=p[t.marktype],o=r.tag,l=r.attr,u=r.nest||!1,h=u?t.items&&t.items.length?[t.items[0]]:[]:t.items||[],g=this._defs,v="";for("g"!==o&&t.interactive===!1&&(e='style="pointer-events: none;"'),v+=d("g",{"class":c.cssClass(t)},e),n=0;n<h.length;++n)i=h[n],e="g"!==o?a(i,t,o,g):null,v+=d(o,this.attributes(l,i),e),"text"===o?v+=s(i.text):"g"===o&&(v+=d("rect",this.attributes(r.background,i),a(i,t,"bgrect",g))+f("rect"),v+=this.markGroup(i)),v+=f(o);return v+f("g")},v.markGroup=function(t){var e,n,i="",r=t.axisItems||[],a=t.items||[],s=t.legendItems||[];for(e=0,n=r.length;n>e;++e)"back"===r[e].layer&&(i+=this.mark(r[e]));for(e=0,n=a.length;n>e;++e)i+=this.mark(a[e]);for(e=0,n=r.length;n>e;++e)"back"!==r[e].layer&&(i+=this.mark(r[e]));for(e=0,n=s.length;n>e;++e)i+=this.mark(s[e]);return i},e.exports=i},{"../../util/ImageLoader":34,"../../util/dom":38,"../../util/font":39,"../../util/svg":41,"../Renderer":10,"./marks":31}],30:[function(t,e,n){e.exports={Handler:t("./SVGHandler"),Renderer:t("./SVGRenderer"),string:{Renderer:t("./SVGStringRenderer")}}},{"./SVGHandler":27,"./SVGRenderer":28,"./SVGStringRenderer":29}],31:[function(t,e,n){function i(t){return r(t.x||0,t.y||0)}function r(t,e){return"translate("+t+","+e+")"}var a=t("../../util/font"),s=t("../../util/svg"),o=s.textAlign,l=s.path;
e.exports={arc:{tag:"path",type:"arc",attr:function(t,e){t("transform",i(e)),t("d",l.arc(e))}},area:{tag:"path",type:"area",nest:!0,attr:function(t,e){var n=e.mark.items;n.length&&t("d",l.area(n))}},group:{tag:"g",type:"group",attr:function(t,e,n){var r,a,s=null;t("transform",i(e)),e.clip&&(r=n._defs,s=e.clip_id||(e.clip_id="clip"+r.clip_id++),a=r.clipping[s]||(r.clipping[s]={id:s}),a.width=e.width||0,a.height=e.height||0),t("clip-path",s?"url(#"+s+")":null)},background:function(t,e){t("class","background"),t("width",e.width||0),t("height",e.height||0)}},image:{tag:"image",type:"image",attr:function(t,e,n){var i=e.x||0,a=e.y||0,s=e.width||0,o=e.height||0,l=n.imageURL(e.url);i-="center"===e.align?s/2:"right"===e.align?s:0,a-="middle"===e.baseline?o/2:"bottom"===e.baseline?o:0,t("href",l,"http://www.w3.org/1999/xlink","xlink:href"),t("transform",r(i,a)),t("width",s),t("height",o)}},line:{tag:"path",type:"line",nest:!0,attr:function(t,e){var n=e.mark.items;n.length&&t("d",l.line(n))}},path:{tag:"path",type:"path",attr:function(t,e){t("transform",i(e)),t("d",e.path)}},rect:{tag:"rect",type:"rect",nest:!1,attr:function(t,e){t("transform",i(e)),t("width",e.width||0),t("height",e.height||0)}},rule:{tag:"line",type:"rule",attr:function(t,e){t("transform",i(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)}},symbol:{tag:"path",type:"symbol",attr:function(t,e){t("transform",i(e)),t("d",l.symbol(e))}},text:{tag:"text",type:"text",nest:!1,attr:function(t,e){var n,i=e.dx||0,s=(e.dy||0)+a.offset(e),l=e.x||0,u=e.y||0,h=e.angle||0,c=e.radius||0;c&&(n=(e.theta||0)-Math.PI/2,l+=c*Math.cos(n),u+=c*Math.sin(n)),t("text-anchor",o[e.align]||"start"),h?(n=r(l,u)+" rotate("+h+")",(i||s)&&(n+=" "+r(i,s))):n=r(l+i,u+s),t("transform",n)}}}},{"../../util/font":39,"../../util/svg":41}],32:[function(t,e,n){function i(t){this.clear(),t&&this.union(t)}var r=i.prototype;r.clone=function(){return new i(this)},r.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},r.set=function(t,e,n,i){return this.x1=t,this.y1=e,this.x2=n,this.y2=i,this},r.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},r.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},r.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},r.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},r.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),a=e-e*i+n*r,s=n-e*r-n*i,o=this.x1,l=this.x2,u=this.y1,h=this.y2;return this.clear().add(i*o-r*u+a,r*o+i*u+s).add(i*o-r*h+a,r*o+i*h+s).add(i*l-r*u+a,r*l+i*u+s).add(i*l-r*h+a,r*l+i*h+s)},r.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},r.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},r.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},r.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},r.width=function(){return this.x2-this.x1},r.height=function(){return this.y2-this.y1},e.exports=i},{}],33:[function(t,e,n){function i(t){this.id="gradient_"+r++,this.type=t||"linear",this.stops=[],this.x1=0,this.x2=1,this.y1=0,this.y2=0}var r=0,a=i.prototype;a.stop=function(t,e){return this.stops.push({offset:t,color:e}),this},e.exports=i},{}],34:[function(t,e,n){(function(n){function i(t){this._pending=0,this._config=t||i.Config}function r(t,e){var n=s.sanitizeUrl(this.params(t));if(!n)return e&&e(t,null),null;var i=this,r=new Image;return i._pending+=1,r.onload=function(){i._pending-=1,r.loaded=!0,e&&e(null,r)},r.src=n,r}function a(t,e){var i=this,r=new("undefined"!=typeof window?window.canvas:"undefined"!=typeof n?n.canvas:null).Image;return i._pending+=1,s(this.params(t),function(t,n){return i._pending-=1,t?(e&&e(t,null),null):(r.src=n,r.loaded=!0,void(e&&e(null,r)))}),r}var s=t("datalib/src/import/load");i.Config=null;var o=i.prototype;o.pending=function(){return this._pending},o.params=function(t){var e,n={url:t};for(e in this._config)n[e]=this._config[e];return n},o.imageURL=function(t){return s.sanitizeUrl(this.params(t))},o.loadImage=function(t,e){return s.useXHR?r.call(this,t,e):a.call(this,t,e)},e.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"datalib/src/import/load":2}],35:[function(t,e,n){function i(t){this.mark=t}var r=i.prototype;r.hasPropertySet=function(t){var e=this.mark.def.properties;return e&&null!=e[t]},r.cousin=function(t,e){if(0===t)return this;t=t||-1;var n=this.mark,i=n.group,r=null==e?n.items.indexOf(this):e,a=i.items.indexOf(n)+t;return i.items[a].items[r]},r.sibling=function(t){if(0===t)return this;t=t||-1;var e=this.mark,n=e.items.indexOf(this)+t;return e.items[n]},r.remove=function(){var t=this,e=t.mark.items,n=e.indexOf(t);return n>=0&&(n===e.length-1?e.pop():e.splice(n,1)),t},r.touch=function(){this.pathCache&&(this.pathCache=null)},e.exports=i},{}],36:[function(t,e,n){function i(){return I||(I=x.instance(1,1).getContext("2d"))}function r(t,e){return t.stroke&&0!==t.opacity&&0!==t.stokeOpacity&&e.expand(null!=t.strokeWidth?t.strokeWidth:1),e}function a(t,e,n){return null==e?n.set(0,0,0,0):(M(e,n),r(t,n)),n}function s(t,e){var n=t.path?t.pathCache||(t.pathCache=w(t.path)):null;return a(t,n,e).translate(t.x||0,t.y||0)}function o(t,e){if(0===t.items.length)return e;var n=t.items,i=n[0],r=i.pathCache||(i.pathCache=w(T(n)));return a(i,r,e)}function l(t,e){if(0===t.items.length)return e;var n=t.items,i=n[0],r=i.pathCache||(i.pathCache=w(C(n)));return a(i,r,e)}function u(t,e){var n,i;return r(t,e.set(n=t.x||0,i=t.y||0,n+t.width||0,i+t.height||0))}function h(t,e){var n=t.x||0,i=t.y||0,r=t.width||0,a=t.height||0;return n-="center"===t.align?r/2:"right"===t.align?r:0,i-="middle"===t.baseline?a/2:"bottom"===t.baseline?a:0,e.set(n,i,n+r,i+a)}function c(t,e){var n,i;return r(t,e.set(n=t.x||0,i=t.y||0,null!=t.x2?t.x2:n,null!=t.y2?t.y2:i))}function d(t,e){var n,i,a,s,o,l,u,h,c,d=t.x||0,f=t.y||0,p=t.innerRadius||0,g=t.outerRadius||0,v=(t.startAngle||0)-A,m=(t.endAngle||0)-A,y=1/0,x=-(1/0),k=1/0,b=-(1/0),_=[v,m],w=v-v%A;for(i=0;4>i&&m>w;++i,w+=A)_.push(w);for(i=0,a=_.length;a>i;++i)n=_[i],s=Math.cos(n),l=p*s,h=g*s,o=Math.sin(n),u=p*o,c=g*o,y=Math.min(y,l,h),x=Math.max(x,l,h),k=Math.min(k,u,c),b=Math.max(b,u,c);return r(t,e.set(d+y,f+k,d+x,f+b))}function f(t,e){var n,i,a,s,o=null!=t.size?t.size:100,l=t.x||0,u=t.y||0;switch(t.shape){case"cross":i=3*Math.sqrt(o/5)/2,e.set(l-i,u-i,l+i,u+i);break;case"diamond":s=Math.sqrt(o/(2*L)),a=s*L,e.set(l-a,u-s,l+a,u+s);break;case"square":i=Math.sqrt(o),n=i/2,e.set(l-n,u-n,l+n,u+n);break;case"triangle-down":a=Math.sqrt(o/P),s=a*P/2,e.set(l-a,u-s,l+a,u+s);break;case"triangle-up":a=Math.sqrt(o/P),s=a*P/2,e.set(l-a,u-s,l+a,u+s);break;default:n=Math.sqrt(o/Math.PI),e.set(l-n,u-n,l+n,u+n)}return r(t,e)}function p(t,e,n){var r,a,s=i(),o=b.size(t),l=t.align,u=t.radius||0,h=t.x||0,c=t.y||0,d=t.dx||0,f=(t.dy||0)+b.offset(t)-Math.round(.8*o);return u&&(a=(t.theta||0)-Math.PI/2,h+=u*Math.cos(a),c+=u*Math.sin(a)),s.font=b.string(t),r=s.measureText(t.text||"").width,"center"===l?d-=r/2:"right"===l&&(d-=r),e.set(d+=h,f+=c,d+r,f+o),t.angle&&!n&&e.rotate(t.angle*Math.PI/180,h,c),e.expand(n?0:1)}function g(t,e,n){var i,a,s=t.axisItems||[],o=t.items||[],l=t.legendItems||[];for(i=0,a=s.length;a>i;++i)e.union(s[i].bounds);for(i=0,a=o.length;a>i;++i)e.union(o[i].bounds);if(n)for(i=0,a=l.length;a>i;++i)e.union(l[i].bounds);return(t.width||t.height)&&r(t,e.add(0,0).add(t.width||0,t.height||0)),e.translate(t.x||0,t.y||0)}function v(t,e,n){var i=t.mark.marktype;e=e||z[i],e.nest&&(t=t.mark);var r=t.bounds,a=t["bounds:prev"]||(t["bounds:prev"]=new y);return r?(a.clear().union(r),r.clear()):t.bounds=new y,e(t,t.bounds,n),r||a.clear().union(t.bounds),t.bounds}function m(t,e,n){var i,r,a,s,o=t.marktype,l=z[o],u=t.items,h=u&&u.length;if(l.nest)return a=h?u[0]:(R.mark=t,R),s=v(a,l,n),e=e&&e.union(s)||s;if(e=e||t.bounds&&t.bounds.clear()||new y,h)for(i=0,r=u.length;r>i;++i)e.union(v(u[i],l,n));return t.bounds=e}var y=t("../util/Bounds"),x=t("../util/canvas"),k=t("../util/svg"),b=t("./font"),_=t("../path"),w=_.parse,M=_.bounds,T=k.path.area,C=k.path.line,A=Math.PI/2,P=Math.sqrt(3),L=Math.tan(30*Math.PI/180),I=null,z={group:g,symbol:f,image:h,rect:u,rule:c,arc:d,text:p,path:s,area:o,line:l};z.area.nest=!0,z.line.nest=!0;var R={mark:null};e.exports={mark:m,item:v,text:p,group:g}},{"../path":6,"../util/Bounds":32,"../util/canvas":37,"../util/svg":41,"./font":39}],37:[function(t,e,n){(function(t){function n(e,n){e=e||1,n=n||1;var i;if("undefined"!=typeof document&&document.createElement)i=document.createElement("canvas"),i.width=e,i.height=n;else{var r="undefined"!=typeof window?window.canvas:"undefined"!=typeof t?t.canvas:null;if(!r.prototype)return null;i=new r(e,n)}return a(i)}function i(t,e,n,i,a){var s=this._ctx=t.getContext("2d"),o=1;return t.width=e+i.left+i.right,t.height=n+i.top+i.bottom,a&&"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&(s.pixelratio=o=r(t)||1),s.setTransform(o,0,0,o,o*i.left,o*i.top),t}function r(t){var e=t.getContext("2d"),n=window&&window.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1,r=n/i;if(n!==i){var a=t.width,s=t.height;t.width=a*r,t.height=s*r,t.style.width=a+"px",t.style.height=s+"px"}return r}function a(t){var e=t.getContext("2d");if(!e.vgLineDash){var n=function(){},i=[];return e.setLineDash?(e.vgLineDash=function(t){this.setLineDash(t||i)},e.vgLineDashOffset=function(t){this.lineDashOffset=t}):void 0!==e.webkitLineDash?(e.vgLineDash=function(t){this.webkitLineDash=t||i},e.vgLineDashOffset=function(t){this.webkitLineDashOffset=t}):void 0!==e.mozDash?(e.vgLineDash=function(t){this.mozDash=t},e.vgLineDashOffset=n):(e.vgLineDash=n,e.vgLineDashOffset=n),t}}e.exports={instance:n,resize:i,lineDash:a}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],38:[function(t,e,n){function i(t,e,n){return n?t.createElementNS(n,e):t.createElement(e)}function r(t){if(t){var e=t.parentNode;e&&(e.removeChild(t),e.childNodes&&e.childNodes.length||r(e))}}e.exports={find:function(t,e){e=e.toLowerCase();for(var n=0,i=t.childNodes.length;i>n;++n)if(t.childNodes[n].tagName.toLowerCase()===e)return t.childNodes[n]},child:function(t,e,n,r,a,s){var o,l;return o=l=t.childNodes[e],(!o||s||o.tagName.toLowerCase()!==n.toLowerCase()||a&&o.getAttribute("class")!=a)&&(o=i(t.ownerDocument,n,r),t.insertBefore(o,l),a&&o.setAttribute("class",a)),o},clear:function(t,e){for(var n=t.childNodes.length;n>e;)t.removeChild(t.childNodes[--n]);return t},remove:r,cssClass:function(t){return"mark-"+t.marktype+(t.name?" "+t.name:"")},openTag:function(t,e,n){var i,r,a="<"+t;if(e)for(i in e)r=e[i],null!=r&&(a+=" "+i+'="'+r+'"');return n&&(a+=" "+n),a+">"},closeTag:function(t){return"</"+t+">"}}},{}],39:[function(t,e,n){function i(t){return null!=t.fontSize?t.fontSize:11}e.exports={size:i,string:function(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+" ":"")+i(t)+"px "+(n||"sans-serif")},offset:function(t){var e=t.baseline,n=i(t);return Math.round("top"===e?.93*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}}},{}],40:[function(t,e,n){function i(t,e){return JSON.stringify(t,l,e)}function r(t){var e="string"==typeof t?JSON.parse(t):t;return a(e)}function a(t){var e,n,i,r,l,u=t.marktype;for(i=0,r=o.length;r>i;++i)if(l=t[o[i]])for(e=0,n=l.length;n>e;++e)l[e][u?"mark":"group"]=t,u&&"group"!==u||a(l[e]);return u&&s.mark(t),t}var s=t("../util/bound"),o=["items","axisItems","legendItems"],l=["marktype","name","interactive","clip","items","axisItems","legendItems","layer","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","interpolate","tension","orient","url","path","x2","y2","size","shape","text","angle","theta","radius","font","fontSize","fontWeight","fontStyle","fontVariant"];e.exports={toJSON:i,fromJSON:r}},{"../util/bound":36}],41:[function(t,e,n){(function(t){function n(t){return t.x||0}function i(t){return t.y||0}function r(t){return(t.x||0)+(t.width||0)}function a(t){return(t.y||0)+(t.height||0)}function s(t){return null==t.size?100:t.size}function o(t){return t.shape||"circle"}var l=("undefined"!=typeof window?window.d3:"undefined"!=typeof t?t.d3:null).svg,u=l.area().x(n).y1(i).y0(a),h=l.area().y(i).x1(n).x0(r),c=l.line().x(n).y(i);e.exports={metadata:{version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},path:{arc:l.arc(),symbol:l.symbol().type(o).size(s),area:function(t){var e=t[0];return("horizontal"===e.orient?h:u).interpolate(e.interpolate||"linear").tension(e.tension||.7)(t)},line:function(t){var e=t[0];return c.interpolate(e.interpolate||"linear").tension(e.tension||.7)(t)}},textAlign:{left:"start",center:"middle",right:"end"},textBaseline:{top:"before-edge",bottom:"after-edge",middle:"central"},styles:{fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeWidth:"stroke-width",strokeOpacity:"stroke-opacity",strokeCap:"stroke-linecap",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",opacity:"opacity"},styleProperties:["fill","fillOpacity","stroke","strokeWidth","strokeOpacity","strokeCap","strokeDash","strokeDashOffset","opacity"]}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[3])(3)});
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,(e.vg||(e.vg={})).scene=t()}}(function(){return function t(e,n,i){function r(s,o){if(!n[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(a)return a(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var h=n[s]={exports:{}};e[s][0].call(h.exports,function(t){var n=e[s][1][t];return r(n?n:t)},h,h.exports,t,e,n,i)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(t,e,n){},{}],2:[function(t,e,n){function i(e){var n=e.url;if(!n&&e.file)return c+e.file;if(e.baseURL&&!h.test(n)&&(u(n,"/")||"/"===e.baseURL[e.baseURL.length-1]||(n="/"+n),n=e.baseURL+n),!r.useXHR&&u(n,"//")&&(n=(e.defaultProtocol||"http")+":"+n),e.domainWhiteList){var i,a;if(r.useXHR){var s=document.createElement("a");s.href=n,""===s.host&&(s.href=s.href),i=s.hostname.toLowerCase(),a=window.location.hostname}else{var o=t("url").parse(n);i=o.hostname,a=null}if(a!==i){var l=e.domainWhiteList.some(function(t){var e=i.length-t.length;return t===i||e>1&&"."===i[e-1]&&i.lastIndexOf(t)===e});if(!l)throw"URL is not whitelisted: "+n}}return n}function r(t,e){var n,i=e||function(t){throw t};try{n=r.sanitizeUrl(t)}catch(a){return void i(a)}return n?r.useXHR?s(n,e):u(n,c)?o(n.slice(c.length),e):n.indexOf("://")<0?o(n,e):l(n,e):void i("Invalid URL: "+t.url)}function a(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function s(t,e){function n(){var t=r.status;!t&&a(r)||t>=200&&300>t||304===t?e(null,r.responseText):e(r,null)}var i=!!e,r=new XMLHttpRequest;return!this.XDomainRequest||"withCredentials"in r||!/^(http(s)?:)?\/\//.test(t)||(r=new XDomainRequest),i&&("onload"in r?r.onload=r.onerror=n:r.onreadystatechange=function(){r.readyState>3&&n()}),r.open("GET",t,i),r.send(),!i&&a(r)?r.responseText:void 0}function o(e,n){var i=t("fs");return n?void i.readFile(e,n):i.readFileSync(e,"utf8")}function l(e,n){return n?void t("request")(e,function(t,e,i){t||200!==e.statusCode?(t=t||"Load failed with response code "+e.statusCode+".",n(t,null)):n(null,i)}):t("sync-request")("GET",e).getBody()}function u(t,e){return null==t?!1:0===t.lastIndexOf(e,0)}var h=/^([A-Za-z]+:)?\/\//,c="file://";r.sanitizeUrl=i,r.useXHR="undefined"!=typeof XMLHttpRequest,e.exports=r},{fs:1,request:1,"sync-request":1,url:1}],3:[function(t,e,n){e.exports={path:t("./path"),render:t("./render"),Item:t("./util/Item"),bound:t("./util/bound"),Bounds:t("./util/Bounds"),Gradient:t("./util/Gradient"),toJSON:t("./util/scene").toJSON,fromJSON:t("./util/scene").fromJSON}},{"./path":6,"./render":26,"./util/Bounds":32,"./util/Gradient":33,"./util/Item":35,"./util/bound":36,"./util/scene":40}],4:[function(t,e,n){function i(t,e,n,i,r,s,l,u,h){var c=o.call(arguments);if(a[c])return a[c];var d=l*(Math.PI/180),f=Math.sin(d),p=Math.cos(d);n=Math.abs(n),i=Math.abs(i);var g=p*(u-t)*.5+f*(h-e)*.5,v=p*(h-e)*.5-f*(u-t)*.5,m=g*g/(n*n)+v*v/(i*i);m>1&&(m=Math.sqrt(m),n*=m,i*=m);var y=p/n,x=f/n,k=-f/i,b=p/i,_=y*u+x*h,w=k*u+b*h,M=y*t+x*e,T=k*t+b*e,C=(M-_)*(M-_)+(T-w)*(T-w),A=1/C-.25;0>A&&(A=0);var P=Math.sqrt(A);s==r&&(P=-P);var L=.5*(_+M)-P*(T-w),I=.5*(w+T)+P*(M-_),z=Math.atan2(w-I,_-L),R=Math.atan2(T-I,M-L),O=R-z;0>O&&1===s?O+=2*Math.PI:O>0&&0===s&&(O-=2*Math.PI);for(var S=Math.ceil(Math.abs(O/(.5*Math.PI+.001))),D=[],q=0;S>q;++q){var N=z+q*O/S,E=z+(q+1)*O/S;D[q]=[L,I,N,E,n,i,f,p]}return a[c]=D}function r(t){var e=o.call(t);if(s[e])return s[e];var n=t[0],i=t[1],r=t[2],a=t[3],l=t[4],u=t[5],h=t[6],c=t[7],d=c*l,f=-h*u,p=h*l,g=c*u,v=Math.cos(r),m=Math.sin(r),y=Math.cos(a),x=Math.sin(a),k=.5*(a-r),b=Math.sin(.5*k),_=8/3*b*b/Math.sin(k),w=n+v-_*m,M=i+m+_*v,T=n+y,C=i+x,A=T+_*x,P=C-_*y;return s[e]=[d*w+f*M,p*w+g*M,d*A+f*P,p*A+g*P,d*T+f*C,p*T+g*C]}var a={},s={},o=[].join;e.exports={segments:i,bezier:r,cache:{segments:a,bezier:s}}},{}],5:[function(t,e,n){function i(t,e,n,i){for(var a=r.segments(n[5],n[6],n[0],n[1],n[3],n[4],n[2],t,e),s=0;s<a.length;++s){var o=r.bezier(a[s]);i.add(o[0],o[1]),i.add(o[2],o[3]),i.add(o[4],o[5])}}var r=t("./arc");e.exports=function(t,e){var n,r,a,s,o,l,u,h=null,c=0,d=0,f=0,p=0;for(l=0,u=t.length;u>l;++l){switch(n=t[l],n[0]){case"l":c+=n[1],d+=n[2],e.add(c,d);break;case"L":c=n[1],d=n[2],e.add(c,d);break;case"h":c+=n[1],e.add(c,d);break;case"H":c=n[1],e.add(c,d);break;case"v":d+=n[1],e.add(c,d);break;case"V":d=n[1],e.add(c,d);break;case"m":c+=n[1],d+=n[2],e.add(c,d);break;case"M":c=n[1],d=n[2],e.add(c,d);break;case"c":r=c+n[5],a=d+n[6],f=c+n[3],p=d+n[4],e.add(c+n[1],d+n[2]),e.add(f,p),e.add(r,a),c=r,d=a;break;case"C":c=n[5],d=n[6],f=n[3],p=n[4],e.add(n[1],n[2]),e.add(f,p),e.add(c,d);break;case"s":r=c+n[3],a=d+n[4],f=2*c-f,p=2*d-p,e.add(f,p),e.add(c+n[1],d+n[2]),e.add(r,a),f=c+n[1],p=d+n[2],c=r,d=a;break;case"S":r=n[3],a=n[4],f=2*c-f,p=2*d-p,c=r,d=a,e.add(n[1],n[2]),e.add(f,p),e.add(r,a),f=n[1],p=n[2];break;case"q":r=c+n[3],a=d+n[4],f=c+n[1],p=d+n[2],c=r,d=a,e.add(f,p),e.add(r,a);break;case"Q":r=n[3],a=n[4],c=r,d=a,f=n[1],p=n[2],e.add(f,p),e.add(r,a);break;case"t":r=c+n[1],a=d+n[2],null===h[0].match(/[QqTt]/)?(f=c,p=d):"t"===h[0]?(f=2*c-s,p=2*d-o):"q"===h[0]&&(f=2*c-f,p=2*d-p),s=f,o=p,c=r,d=a,f=c+n[1],p=d+n[2],e.add(f,p),e.add(r,a);break;case"T":r=n[1],a=n[2],f=2*c-f,p=2*d-p,c=r,d=a,e.add(f,p),e.add(r,a);break;case"a":i(c,d,[n[1],n[2],n[3],n[4],n[5],n[6]+c,n[7]+d],e),c+=n[6],d+=n[7];break;case"A":i(c,d,[n[1],n[2],n[3],n[4],n[5],n[6],n[7]],e),c=n[6],d=n[7];break;case"z":case"Z":}h=n}return e}},{"./arc":4}],6:[function(t,e,n){e.exports={parse:t("./parse"),render:t("./render"),bounds:t("./bounds")}},{"./bounds":5,"./parse":7,"./render":8}],7:[function(t,e,n){var i={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},r=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];e.exports=function(t){var e,n,a,s,o,l,u,h,c,d,f,p=[];for(e=t.slice().replace(r[0],"###$1").split(r[1]).slice(1),h=0,d=e.length;d>h;++h){for(n=e[h],a=n.slice(1).trim().replace(r[2],"$1###$2").split(r[3]),l=n.charAt(0),s=[l],c=0,f=a.length;f>c;++c)(o=+a[c])===o&&s.push(o);if(u=i[l.toLowerCase()],s.length-1>u)for(c=1,f=s.length;f>c;c+=u)p.push([l].concat(s.slice(c,c+u)));else p.push(s)}return p}},{}],8:[function(t,e,n){function i(t,e,n,i){for(var a=r.segments(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),s=0;s<a.length;++s){var o=r.bezier(a[s]);t.bezierCurveTo.apply(t,o)}}var r=t("./arc");e.exports=function(t,e,n,r){var a,s,o,l,u,h=null,c=0,d=0,f=0,p=0;null==n&&(n=0),null==r&&(r=0),t.beginPath();for(var g=0,v=e.length;v>g;++g){switch(a=e[g],a[0]){case"l":c+=a[1],d+=a[2],t.lineTo(c+n,d+r);break;case"L":c=a[1],d=a[2],t.lineTo(c+n,d+r);break;case"h":c+=a[1],t.lineTo(c+n,d+r);break;case"H":c=a[1],t.lineTo(c+n,d+r);break;case"v":d+=a[1],t.lineTo(c+n,d+r);break;case"V":d=a[1],t.lineTo(c+n,d+r);break;case"m":c+=a[1],d+=a[2],t.moveTo(c+n,d+r);break;case"M":c=a[1],d=a[2],t.moveTo(c+n,d+r);break;case"c":s=c+a[5],o=d+a[6],f=c+a[3],p=d+a[4],t.bezierCurveTo(c+a[1]+n,d+a[2]+r,f+n,p+r,s+n,o+r),c=s,d=o;break;case"C":c=a[5],d=a[6],f=a[3],p=a[4],t.bezierCurveTo(a[1]+n,a[2]+r,f+n,p+r,c+n,d+r);break;case"s":s=c+a[3],o=d+a[4],f=2*c-f,p=2*d-p,t.bezierCurveTo(f+n,p+r,c+a[1]+n,d+a[2]+r,s+n,o+r),f=c+a[1],p=d+a[2],c=s,d=o;break;case"S":s=a[3],o=a[4],f=2*c-f,p=2*d-p,t.bezierCurveTo(f+n,p+r,a[1]+n,a[2]+r,s+n,o+r),c=s,d=o,f=a[1],p=a[2];break;case"q":s=c+a[3],o=d+a[4],f=c+a[1],p=d+a[2],t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o;break;case"Q":s=a[3],o=a[4],t.quadraticCurveTo(a[1]+n,a[2]+r,s+n,o+r),c=s,d=o,f=a[1],p=a[2];break;case"t":s=c+a[1],o=d+a[2],null===h[0].match(/[QqTt]/)?(f=c,p=d):"t"===h[0]?(f=2*c-l,p=2*d-u):"q"===h[0]&&(f=2*c-f,p=2*d-p),l=f,u=p,t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o,f=c+a[1],p=d+a[2];break;case"T":s=a[1],o=a[2],f=2*c-f,p=2*d-p,t.quadraticCurveTo(f+n,p+r,s+n,o+r),c=s,d=o;break;case"a":i(t,c+n,d+r,[a[1],a[2],a[3],a[4],a[5],a[6]+c+n,a[7]+d+r]),c+=a[6],d+=a[7];break;case"A":i(t,c+n,d+r,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+r]),c=a[6],d=a[7];break;case"z":case"Z":t.closePath()}h=a}}},{"./arc":4}],9:[function(t,e,n){function i(){this._active=null,this._handlers={}}var r=i.prototype;r.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.padding(e)},r.element=function(){return this._el},r.padding=function(t){return this._padding=t||{top:0,left:0,bottom:0,right:0},this},r.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},r.on=function(){},r.off=function(){},r.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},r.eventName=function(t){var e=t.indexOf(".");return 0>e?t:t.slice(0,e)},e.exports=i},{}],10:[function(t,e,n){function i(){this._el=null,this._bgcolor=null}var r=i.prototype;r.initialize=function(t,e,n,i){return this._el=t,this.resize(e,n,i)},r.element=function(){return this._el},r.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},r.resize=function(t,e,n){return this._width=t,this._height=e,this._padding=n||{top:0,left:0,bottom:0,right:0},this},r.render=function(){return this},e.exports=i},{}],11:[function(t,e,n){function i(){a.call(this),this._down=null,this._touch=null,this._first=!0}var r=t("../../util/dom"),a=t("../Handler"),s=t("./marks"),o=a.prototype,l=i.prototype=Object.create(o);l.constructor=i,l.initialize=function(t,e,n){var i=this._canvas=r.find(t,"canvas"),a=this;return this.events.forEach(function(t){i.addEventListener(t,function(e){l[t]?l[t].call(a,e):a.fire(t,e)})}),o.initialize.call(this,t,e,n)},l.canvas=function(){return this._canvas},l.context=function(){return this._canvas.getContext("2d")},l.events=["keydown","keypress","keyup","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],l.DOMMouseScroll=function(t){this.fire("mousewheel",t)},l.mousemove=function(t){var e=this._active,n=this.pickEvent(t);n===e?this.fire("mousemove",t):(this.fire("mouseout",t),this._active=n,this.fire("mouseover",t),this.fire("mousemove",t))},l.mouseout=function(t){this.fire("mouseout",t),this._active=null},l.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},l.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},l.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},l.touchmove=function(t){this.fire("touchmove",t,!0)},l.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},l.fire=function(t,e,n){var i,r,a=n?this._touch:this._active,s=this._handlers[t];if(s)for(e.vegaType=t,i=0,r=s.length;r>i;++i)s[i].handler.call(this._obj,e,a)},l.on=function(t,e){var n=this.eventName(t),i=this._handlers;return(i[n]||(i[n]=[])).push({type:t,handler:e}),this},l.off=function(t,e){var n,i=this.eventName(t),r=this._handlers[i];if(r){for(n=r.length;--n>=0;)r[n].type===t&&(e&&r[n].handler!==e||r.splice(n,1));return this}},l.pickEvent=function(t){var e,n,i=this._canvas.getBoundingClientRect(),r=this._padding;return this.pick(this._scene,e=t.clientX-i.left,n=t.clientY-i.top,e-r.left,n-r.top)},l.pick=function(t,e,n,i,r){var a=this.context(),o=s[t.marktype];return o.pick.call(this,a,t,e,n,i,r)},e.exports=i},{"../../util/dom":38,"../Handler":9,"./marks":18}],12:[function(t,e,n){function i(t){h.call(this),this._loader=new l(t)}function r(t,e){if(!e)return null;var n,i,r,s,l,u=new o;for(n=0,i=e.length;i>n;++n)r=e[n],s=r.mark,l=s.group,r=c[s.marktype].nested?s:r,u.union(a(r.bounds,l)),r["bounds:prev"]&&u.union(a(r["bounds:prev"],l));return u.round(),t.beginPath(),t.rect(u.x1,u.y1,u.width(),u.height()),t.clip(),u}function a(t,e){if(null==e)return t;for(var n=t.clone();null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}var s=t("../../util/dom"),o=t("../../util/Bounds"),l=t("../../util/ImageLoader"),u=t("../../util/canvas"),h=t("../Renderer"),c=t("./marks");i.RETINA=!0;var d=h.prototype,f=i.prototype=Object.create(d);f.constructor=i,f.initialize=function(t,e,n,i){return this._canvas=u.instance(e,n),t&&(s.clear(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),d.initialize.call(this,t,e,n,i)},f.resize=function(t,e,n){return d.resize.call(this,t,e,n),u.resize(this._canvas,this._width,this._height,this._padding,i.RETINA),this},f.canvas=function(){return this._canvas},f.context=function(){return this._canvas?this._canvas.getContext("2d"):null},f.pendingImages=function(){return this._loader.pending()},f.render=function(t,e){var n,i=this.context(),a=this._padding,s=this._width+a.left+a.right,o=this._height+a.top+a.bottom;return this._scene=t,i.save(),n=r(i,e),this.clear(-a.left,-a.top,s,o),this.draw(i,t,n),i.restore(),this._scene=null,this},f.draw=function(t,e,n){var i=c[e.marktype];i.draw.call(this,t,e,n)},f.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))},f.loadImage=function(t){var e=this,n=this._scene;return this._loader.loadImage(t,function(){e.renderAsync(n)})},f.renderAsync=function(t){var e=this;e._async_id&&clearTimeout(e._async_id),e._async_id=setTimeout(function(){e.render(t),delete e._async_id},10)},e.exports=i},{"../../util/Bounds":32,"../../util/ImageLoader":34,"../../util/canvas":37,"../../util/dom":38,"../Renderer":10,"./marks":18}],13:[function(t,e,n){e.exports={Handler:t("./CanvasHandler"),Renderer:t("./CanvasRenderer")}},{"./CanvasHandler":11,"./CanvasRenderer":12}],14:[function(t,e,n){function i(t,e){var n=e.x||0,i=e.y||0,r=e.innerRadius||0,s=e.outerRadius||0,o=(e.startAngle||0)-a,l=(e.endAngle||0)-a;t.beginPath(),0===r?t.moveTo(n,i):t.arc(n,i,r,o,l,0),t.arc(n,i,s,l,o,1),t.closePath()}var r=t("./util"),a=Math.PI/2;e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"./util":25}],15:[function(t,e,n){function i(t,e){var n=e[0],i=n.pathCache||(n.pathCache=s(l(e)));o(t,i)}function r(t,e,n,i,r,a){var s=e.items,o=e.bounds;return!s||!s.length||o&&!o.contains(r,a)?null:(null!=t.pixelratio&&1!==t.pixelratio&&(n*=t.pixelratio,i*=t.pixelratio),u(t,s,n,i)?s[0]:null)}var a=t("./util"),s=t("../../../path/parse"),o=t("../../../path/render"),l=t("../../../util/svg").path.area,u=a.testPath(i);e.exports={draw:a.drawOne(i),pick:r,nested:!0}},{"../../../path/parse":7,"../../../path/render":8,"../../../util/svg":41,"./util":25}],16:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length){var i,r,a,s,l,u,h,c,d,f,p=e.items,g=this;for(o.draw.call(g,t,e,n),h=0,c=p.length;c>h;++h){for(i=p[h],a=i.axisItems||[],r=i.items||[],s=i.legendItems||[],l=i.x||0,u=i.y||0,t.save(),t.translate(l,u),i.clip&&(t.beginPath(),t.rect(0,0,i.width||0,i.height||0),t.clip()),n&&n.translate(-l,-u),d=0,f=a.length;f>d;++d)"back"===a[d].layer&&g.draw(t,a[d],n);for(d=0,f=r.length;f>d;++d)g.draw(t,r[d],n);for(d=0,f=a.length;f>d;++d)"back"!==a[d].layer&&g.draw(t,a[d],n);for(d=0,f=s.length;f>d;++d)g.draw(t,s[d],n);n&&n.translate(l,u),t.restore()}}}function r(t,e){return e.fill||e.stroke}function a(t,e,n,i,r,a){if(e.bounds&&!e.bounds.contains(r,a))return null;var s,o,u,h,c,d,f,p=e.items||[];for(d=p.length;--d>=0;){for(o=p[d],h=o.x||0,c=o.y||0,t.save(),t.translate(h,c),f=o.items.length;--f>=0;)if(s=o.items[f],s.interactive!==!1&&(u=this.pick(s,n,i,r-h,a-c)))return t.restore(),u;t.restore()}return e.interactive!==!1?l(t,e,n,i,r,a):null}var s=t("./util"),o=t("./rect"),l=s.pick(r);e.exports={draw:i,pick:a}},{"./rect":21,"./util":25}],17:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r=this,a=e.items,s=0,o=a.length;o>s;++s)if(i=a[s],!n||n.intersects(i.bounds)){i.image&&i.image.url===i.url||(i.image=r.loadImage(i.url),i.image.url=i.url);var l,u=i.x||0,h=i.y||0,c=i.width||i.image&&i.image.width||0,d=i.height||i.image&&i.image.height||0;u-="center"===i.align?c/2:"right"===i.align?c:0,h-="middle"===i.baseline?d/2:"bottom"===i.baseline?d:0,i.image.loaded&&(t.globalAlpha=null!=(l=i.opacity)?l:1,t.drawImage(i.image,u,h,c,d))}}var r=t("./util");e.exports={draw:i,pick:r.pick()}},{"./util":25}],18:[function(t,e,n){e.exports={arc:t("./arc"),area:t("./area"),group:t("./group"),image:t("./image"),line:t("./line"),path:t("./path"),rect:t("./rect"),rule:t("./rule"),symbol:t("./symbol"),text:t("./text")}},{"./arc":14,"./area":15,"./group":16,"./image":17,"./line":19,"./path":20,"./rect":21,"./rule":22,"./symbol":23,"./text":24}],19:[function(t,e,n){function i(t,e){var n=e[0],i=n.pathCache||(n.pathCache=s(l(e)));o(t,i)}function r(t,e,n,i,r,a){var s=e.items,o=e.bounds;return!s||!s.length||o&&!o.contains(r,a)?null:(null!=t.pixelratio&&1!==t.pixelratio&&(n*=t.pixelratio,i*=t.pixelratio),u(t,s,n,i)?s[0]:null)}var a=t("./util"),s=t("../../../path/parse"),o=t("../../../path/render"),l=t("../../../util/svg").path.line,u=a.testPath(i,!1);e.exports={draw:a.drawOne(i),pick:r,nested:!0}},{"../../../path/parse":7,"../../../path/render":8,"../../../util/svg":41,"./util":25}],20:[function(t,e,n){function i(t,e){if(null==e.path)return!0;var n=e.pathCache||(e.pathCache=a(e.path));s(t,n,e.x,e.y)}var r=t("./util"),a=t("../../../path/parse"),s=t("../../../path/render");e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"../../../path/parse":7,"../../../path/render":8,"./util":25}],21:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,a,s,o,l,u,h=e.items,c=0,d=h.length;d>c;++c)i=h[c],(!n||n.intersects(i.bounds))&&(a=null==i.opacity?1:i.opacity,0!==a&&(s=i.x||0,o=i.y||0,l=i.width||0,u=i.height||0,i.fill&&r.fill(t,i,a)&&t.fillRect(s,o,l,u),i.stroke&&r.stroke(t,i,a)&&t.strokeRect(s,o,l,u)))}var r=t("./util");e.exports={draw:i,pick:r.pick()}},{"./util":25}],22:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r,a,o,l,u,h=e.items,c=0,d=h.length;d>c;++c)i=h[c],(!n||n.intersects(i.bounds))&&(r=null==i.opacity?1:i.opacity,0!==r&&(a=i.x||0,o=i.y||0,l=null!=i.x2?i.x2:a,u=null!=i.y2?i.y2:o,i.stroke&&s.stroke(t,i,r)&&(t.beginPath(),t.moveTo(a,o),t.lineTo(l,u),t.stroke())))}function r(t,e){var n=e.x||0,i=e.y||0,r=null!=e.x2?e.x2:n,a=null!=e.y2?e.y2:i,s=e.strokeWidth,o=e.strokeCap;t.lineWidth=null!=s?s:1,t.lineCap=null!=o?o:"butt",t.beginPath(),t.moveTo(n,i),t.lineTo(r,a)}function a(t,e,n,i){return t.isPointInStroke?(r(t,e),t.isPointInStroke(n,i)):!1}var s=t("./util");e.exports={draw:i,pick:s.pick(a)}},{"./util":25}],23:[function(t,e,n){function i(t,e){var n,i,r,o,l=null!=e.size?e.size:100,u=e.x,h=e.y;if(t.beginPath(),null==e.shape||"circle"===e.shape)return n=Math.sqrt(l/Math.PI),t.arc(u,h,n,0,2*Math.PI,0),void t.closePath();switch(e.shape){case"cross":n=Math.sqrt(l/5)/2,i=3*n,t.moveTo(u-i,h-n),t.lineTo(u-n,h-n),t.lineTo(u-n,h-i),t.lineTo(u+n,h-i),t.lineTo(u+n,h-n),t.lineTo(u+i,h-n),t.lineTo(u+i,h+n),t.lineTo(u+n,h+n),t.lineTo(u+n,h+i),t.lineTo(u-n,h+i),t.lineTo(u-n,h+n),t.lineTo(u-i,h+n);break;case"diamond":o=Math.sqrt(l/(2*s)),r=o*s,t.moveTo(u,h-o),t.lineTo(u+r,h),t.lineTo(u,h+o),t.lineTo(u-r,h);break;case"square":i=Math.sqrt(l),n=i/2,t.rect(u-n,h-n,i,i);break;case"triangle-down":r=Math.sqrt(l/a),o=r*a/2,t.moveTo(u,h+o),t.lineTo(u+r,h-o),t.lineTo(u-r,h-o);break;case"triangle-up":r=Math.sqrt(l/a),o=r*a/2,t.moveTo(u,h-o),t.lineTo(u+r,h+o),t.lineTo(u-r,h+o)}t.closePath()}var r=t("./util"),a=Math.sqrt(3),s=Math.tan(30*Math.PI/180);e.exports={draw:r.drawAll(i),pick:r.pickPath(i)}},{"./util":25}],24:[function(t,e,n){function i(t,e,n){if(e.items&&e.items.length)for(var i,r,a,s,u,h,c=e.items,d=0,f=c.length;f>d;++d)i=c[d],(!n||n.intersects(i.bounds))&&(r=null==i.opacity?1:i.opacity,0!==r&&(t.font=o.string(i),t.textAlign=i.align||"left",a=i.x||0,s=i.y||0,(u=i.radius)&&(h=(i.theta||0)-Math.PI/2,a+=u*Math.cos(h),s+=u*Math.sin(h)),i.angle&&(t.save(),t.translate(a,s),t.rotate(i.angle*Math.PI/180),a=s=0),a+=i.dx||0,s+=(i.dy||0)+o.offset(i),i.fill&&l.fill(t,i,r)&&t.fillText(i.text,a,s),i.stroke&&l.stroke(t,i,r)&&t.strokeText(i.text,a,s),i.angle&&t.restore()))}function r(t,e,n,i,r,a){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var o=s(e,u,!0),l=-e.angle*Math.PI/180,h=Math.cos(l),c=Math.sin(l),d=e.x,f=e.y,p=h*r-c*a+(d-d*h+f*c),g=c*r+h*a+(f-d*c-f*h);return o.contains(p,g)}var a=t("../../../util/Bounds"),s=t("../../../util/bound").text,o=t("../../../util/font"),l=t("./util"),u=new a;e.exports={draw:i,pick:l.pick(r)}},{"../../../util/Bounds":32,"../../../util/bound":36,"../../../util/font":39,"./util":25}],25:[function(t,e,n){function i(t,e,n,i){if(!t(e,i)){var r=null==n.opacity?1:n.opacity;0!==r&&(n.fill&&h(e,n,r)&&e.fill(),n.stroke&&c(e,n,r)&&e.stroke())}}function r(t,e,n,r){var a,s,o;for(a=0,s=n.items.length;s>a;++a)o=n.items[a],(!r||r.intersects(o.bounds))&&i(t,e,o,o)}function a(t){return function(e,n,i){r(t,e,n,i)}}function s(t){return function(e,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&i(t,e,n.items[0],n.items)}}function o(t){return t||(t=p),function(e,n,i,r,a,s){if(!n.items.length)return null;var o,l,u;for(null!=e.pixelratio&&1!==e.pixelratio&&(i*=e.pixelratio,r*=e.pixelratio),u=n.items.length;--u>=0;)if(o=n.items[u],l=o.bounds,(!l||l.contains(a,s))&&l&&t(e,o,i,r,a,s))return o;return null}}function l(t,e){return function(n,i,r,a){var s,o,l=Array.isArray(i)?i[0]:i,u=null==e?l.fill:e,h=l.stroke&&n.isPointInStroke;return h&&(s=l.strokeWidth,o=l.strokeCap,n.lineWidth=null!=s?s:1,n.lineCap=null!=o?o:"butt"),t(n,i)?!1:u&&n.isPointInPath(r,a)||h&&n.isPointInStroke(r,a)}}function u(t){return o(l(t))}function h(t,e,n){return n*=null==e.fillOpacity?1:e.fillOpacity,n>0?(t.globalAlpha=n,t.fillStyle=d(t,e,e.fill),!0):!1}function c(t,e,n){var i,r=null!=(r=e.strokeWidth)?r:1;return 0>=r?!1:(n*=null==e.strokeOpacity?1:e.strokeOpacity,n>0?(t.globalAlpha=n,t.strokeStyle=d(t,e,e.stroke),t.lineWidth=r,t.lineCap=null!=(i=e.strokeCap)?i:"butt",t.vgLineDash(e.strokeDash||null),t.vgLineDashOffset(e.strokeDashOffset||0),!0):!1)}function d(t,e,n){return n.id?f(t,n,e.bounds):n}function f(t,e,n){var i,r,a=n.width(),s=n.height(),o=n.x1+e.x1*a,l=n.y1+e.y1*s,u=n.x1+e.x2*a,h=n.y1+e.y2*s,c=t.createLinearGradient(o,l,u,h),d=e.stops;for(i=0,r=d.length;r>i;++i)c.addColorStop(d[i].offset,d[i].color);return c}var p=function(){return!0};e.exports={drawOne:s,drawAll:a,pick:o,pickPath:u,testPath:l,stroke:c,fill:h,color:d,gradient:f}},{}],26:[function(t,e,n){e.exports={canvas:t("./canvas"),svg:t("./svg")}},{"./canvas":13,"./svg":30}],27:[function(t,e,n){function i(){a.call(this)}var r=t("../../util/dom"),a=t("../Handler"),s=a.prototype,o=i.prototype=Object.create(s);o.constructor=i,o.initialize=function(t,e,n){return this._svg=r.find(t,"svg"),s.initialize.call(this,t,e,n)},o.svg=function(){return this._svg},o.listener=function(t){var e=this;return function(n){var i=n.target,r=i.__data__;n.vegaType=n.type,r=Array.isArray(r)?r[0]:r,t.call(e._obj,n,r)}},o.on=function(t,e){var n=this.eventName(t),i=this._svg,r=this._handlers,a={type:t,handler:e,listener:this.listener(e)};return(r[n]||(r[n]=[])).push(a),i.addEventListener(n,a.listener),this},o.off=function(t,e){var n,i=this.eventName(t),r=this._svg,a=this._handlers[i];if(a){for(n=a.length;--n>=0;)(a[n].type===t&&!e||a[n].handler===e)&&(r.removeEventListener(i,a[n].listener),a.splice(n,1));return this}},e.exports=i},{"../../util/dom":38,"../Handler":9}],28:[function(t,e,n){function i(t){h.call(this),this._loader=new u(t),this._dirtyID=0}function r(t,e,n){var i,r,a;for(t=d.child(t,n,"linearGradient",p),t.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;r>i;++i)a=d.child(t,i,"stop",p),a.setAttribute("offset",e.stops[i].offset),a.setAttribute("stop-color",e.stops[i].color);d.clear(t,i)}function a(t,e,n){var i;t=d.child(t,n,"clipPath",p),t.setAttribute("id",e.id),i=d.child(t,0,"rect",p),i.setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height)}function s(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 o(t,e,n,i,r){var a=d.child(t,i,e.tag,p,null,r);if(a.__data__=n,a.__values__={fill:"default"},"g"===e.tag){var s=d.child(a,0,"rect",p,"background");s.__data__=n}return n._svg=a}function l(t,e,n){e!==k[t]&&(null!=e?n?x.setAttributeNS(n,t,e):x.setAttribute(t,e):n?x.removeAttributeNS(n,t):x.removeAttribute(t),k[t]=e)}var u=t("../../util/ImageLoader"),h=t("../Renderer"),c=t("../../util/font"),d=t("../../util/dom"),f=t("../../util/svg"),p=f.metadata.xmlns,g=t("./marks"),v=h.prototype,m=i.prototype=Object.create(v);m.constructor=i,m.initialize=function(t,e,n,i){return t&&(this._svg=d.child(t,0,"svg",p,"marks"),d.clear(t,1),this._root=d.child(this._svg,0,"g",p),d.clear(this._svg,1)),this._defs={clip_id:1,gradient:{},clipping:{}},this.background(this._bgcolor),v.initialize.call(this,t,e,n,i)},m.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),v.background.apply(this,arguments)},m.resize=function(t,e,n){if(v.resize.call(this,t,e,n),this._svg){var i=this._width,r=this._height,a=this._padding;this._svg.setAttribute("width",i+a.left+a.right),this._svg.setAttribute("height",r+a.top+a.bottom),this._root.setAttribute("transform","translate("+a.left+","+a.top+")")}return this},m.svg=function(){if(!this._svg)return null;var t={"class":"marks",width:this._width+this._padding.left+this._padding.right,height:this._height+this._padding.top+this._padding.bottom};for(var e in f.metadata)t[e]=f.metadata[e];return d.openTag("svg",t)+this._svg.innerHTML+d.closeTag("svg")},m.imageURL=function(t){return this._loader.imageURL(t)},m.render=function(t,e){return this._dirtyCheck(e)&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t,-1),d.clear(this._root,1)),this.updateDefs(),this},m.draw=function(t,e,n){this.drawMark(t,e,n,g[e.marktype])},m.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,s=0;for(t in n.gradient)i||(i=n.el=d.child(e,0,"defs",p)),r(i,n.gradient[t],s++);for(t in n.clipping)i||(i=n.el=d.child(e,0,"defs",p)),a(i,n.clipping[t],s++);i&&(0===s?(e.removeChild(i),n.el=null):d.clear(i,s))},m._resetDefs=function(){var t=this._defs;t.clip_id=1,t.gradient={},t.clipping={}},m.isDirty=function(t){return this._dirtyAll||t.dirty===this._dirtyID},m._dirtyCheck=function(t){if(this._dirtyAll=!0,!t)return!0;var e,n,i,r,a,o,l,u=++this._dirtyID;for(a=0,o=t.length;o>a;++a)e=t[a],n=e.mark,n.marktype!==i&&(i=n.marktype,r=g[i]),"exit"!==e.status?(e=r.nest?n.items[0]:e,e._update!==u&&(e._svg?this._update(r,e._svg,e):(this._dirtyAll=!1,s(e,u)),e._update=u)):e._svg&&(r.nest&&e.mark.items.length?(this._update(r,e._svg,e.mark.items[0]),l=e.mark.items[0],l._svg=e._svg,l._update=u):d.remove(e._svg),e._svg=null);return!this._dirtyAll},m.drawMark=function(t,e,n,i){if(this.isDirty(e)){var r,a,s,l,u,h,c=i.nest?e.items&&e.items.length?[e.items[0]]:[]:e.items||[],f=e.interactive===!1?"none":null,g="g"===i.tag,v=d.cssClass(e);for(r=d.child(t,n+1,"g",p,v),r.setAttribute("class",v),e._svg=r,!g&&f&&r.style.setProperty("pointer-events",f),a=0,s=c.length;s>a;++a)this.isDirty(u=c[a])&&(h=!(this._dirtyAll||u._svg),l=h?o(r,i,u,a,!0):r.childNodes[a]||o(r,i,u,a),this._update(i,l,u),g&&(h&&(this._dirtyAll=!0),this._recurse(l,u),h&&(this._dirtyAll=!1)));return d.clear(r,a),r}},m._recurse=function(t,e){var n,i,r=e.items||[],a=e.legendItems||[],s=e.axisItems||[],o=0;for(n=0,i=s.length;i>n;++n)"back"===s[n].layer&&this.drawMark(t,s[n],o++,g.group);for(n=0,i=r.length;i>n;++n)this.draw(t,r[n],o++);for(n=0,i=s.length;i>n;++n)"back"!==s[n].layer&&this.drawMark(t,s[n],o++,g.group);for(n=0,i=a.length;i>n;++n)this.drawMark(t,a[n],o++,g.group);d.clear(t,1+o)};var y="undefined"!=typeof window?window.location.href:"",x=null,k=null,b={group:function(t,e,n){x=e.childNodes[0],k=e.__values__,t.background(l,n,this);var i=n.mark.interactive===!1?"none":null;i!==k.events&&(x.style.setProperty("pointer-events",i),k.events=i)},text:function(t,e,n){n.text!==k.text&&(e.textContent=n.text||"",k.text=n.text);var i=c.string(n);i!==k.font&&(e.style.setProperty("font",i),k.font=i)}};m._update=function(t,e,n){x=e,k=e.__values__,t.attr(l,n,this);var i=b[t.type];i&&i(t,e,n),this.style(x,n)},m.style=function(t,e){if(null!=e){var n,i,r,a,s;for(n=0,i=f.styleProperties.length;i>n;++n)r=f.styleProperties[n],s=e[r],s!==k[r]&&(a=f.styles[r],null==s?"fill"===a?t.style.setProperty(a,"none"):t.style.removeProperty(a):(s.id&&(this._defs.gradient[s.id]=s,s="url("+y+"#"+s.id+")"),t.style.setProperty(a,s+"")),k[r]=s)}},e.exports=i},{"../../util/ImageLoader":34,"../../util/dom":38,"../../util/font":39,"../../util/svg":41,"../Renderer":10,"./marks":31}],29:[function(t,e,n){function i(t){o.call(this),this._loader=new l(t),this._text={head:"",root:"",foot:"",defs:"",body:""},this._defs={clip_id:1,gradient:{},clipping:{}}}function r(t,e,n,i){m[i||t]=e}function a(t,e,n,i){if(null==t)return"";var r,a,s,o,l,c="";for("bgrect"===n&&e.interactive===!1&&(c+="pointer-events: none;"),"text"===n&&(c+="font: "+h.string(t)+";"),r=0,a=u.styleProperties.length;a>r;++r)s=u.styleProperties[r],o=u.styles[s],l=t[s],null==l?"fill"===o&&(c+=(c.length?" ":"")+"fill: none;"):(l.id&&(i.gradient[l.id]=l,l="url(#"+l.id+")"),c+=(c.length?" ":"")+o+": "+l+";");return c?'style="'+c+'"':null}function s(t){return t=null==t?"":String(t),t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var o=t("../Renderer"),l=t("../../util/ImageLoader"),u=t("../../util/svg"),h=t("../../util/font"),c=t("../../util/dom"),d=c.openTag,f=c.closeTag,p=t("./marks"),g=o.prototype,v=i.prototype=Object.create(g);v.constructor=i,v.resize=function(t,e,n){g.resize.call(this,t,e,n);var i=this._padding,r=this._text,a={"class":"marks",width:this._width+i.left+i.right,height:this._height+i.top+i.bottom};for(var s in u.metadata)a[s]=u.metadata[s];return r.head=d("svg",a),r.root=d("g",{transform:"translate("+i.left+","+i.top+")"}),r.foot=f("g")+f("svg"),this},v.svg=function(){var t=this._text;return t.head+t.defs+t.root+t.body+t.foot},v.render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},v.reset=function(){return this._defs.clip_id=0,this},v.buildDefs=function(){var t,e,n,i,r=this._defs,a="";for(e in r.gradient){for(n=r.gradient[e],i=n.stops,a+=d("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)a+=d("stop",{offset:i[t].offset,"stop-color":i[t].color})+f("stop");a+=f("linearGradient")}for(e in r.clipping)n=r.clipping[e],a+=d("clipPath",{id:e}),a+=d("rect",{x:0,y:0,width:n.width,height:n.height})+f("rect"),a+=f("clipPath");return a.length>0?d("defs")+a+f("defs"):""},v.imageURL=function(t){return this._loader.imageURL(t)};var m;v.attributes=function(t,e){return m={},t(r,e,this),m},v.mark=function(t){var e,n,i,r=p[t.marktype],o=r.tag,l=r.attr,u=r.nest||!1,h=u?t.items&&t.items.length?[t.items[0]]:[]:t.items||[],g=this._defs,v="";for("g"!==o&&t.interactive===!1&&(e='style="pointer-events: none;"'),v+=d("g",{"class":c.cssClass(t)},e),n=0;n<h.length;++n)i=h[n],e="g"!==o?a(i,t,o,g):null,v+=d(o,this.attributes(l,i),e),"text"===o?v+=s(i.text):"g"===o&&(v+=d("rect",this.attributes(r.background,i),a(i,t,"bgrect",g))+f("rect"),v+=this.markGroup(i)),v+=f(o);return v+f("g")},v.markGroup=function(t){var e,n,i="",r=t.axisItems||[],a=t.items||[],s=t.legendItems||[];for(e=0,n=r.length;n>e;++e)"back"===r[e].layer&&(i+=this.mark(r[e]));for(e=0,n=a.length;n>e;++e)i+=this.mark(a[e]);for(e=0,n=r.length;n>e;++e)"back"!==r[e].layer&&(i+=this.mark(r[e]));for(e=0,n=s.length;n>e;++e)i+=this.mark(s[e]);return i},e.exports=i},{"../../util/ImageLoader":34,"../../util/dom":38,"../../util/font":39,"../../util/svg":41,"../Renderer":10,"./marks":31}],30:[function(t,e,n){e.exports={Handler:t("./SVGHandler"),Renderer:t("./SVGRenderer"),string:{Renderer:t("./SVGStringRenderer")}}},{"./SVGHandler":27,"./SVGRenderer":28,"./SVGStringRenderer":29}],31:[function(t,e,n){function i(t){return r(t.x||0,t.y||0)}function r(t,e){return"translate("+t+","+e+")"}var a=t("../../util/font"),s=t("../../util/svg"),o=s.textAlign,l=s.path;
e.exports={arc:{tag:"path",type:"arc",attr:function(t,e){t("transform",i(e)),t("d",l.arc(e))}},area:{tag:"path",type:"area",nest:!0,attr:function(t,e){var n=e.mark.items;n.length&&t("d",l.area(n))}},group:{tag:"g",type:"group",attr:function(t,e,n){var r,a,s=null;t("transform",i(e)),e.clip&&(r=n._defs,s=e.clip_id||(e.clip_id="clip"+r.clip_id++),a=r.clipping[s]||(r.clipping[s]={id:s}),a.width=e.width||0,a.height=e.height||0),t("clip-path",s?"url(#"+s+")":null)},background:function(t,e){t("class","background"),t("width",e.width||0),t("height",e.height||0)}},image:{tag:"image",type:"image",attr:function(t,e,n){var i=e.x||0,a=e.y||0,s=e.width||0,o=e.height||0,l=n.imageURL(e.url);i-="center"===e.align?s/2:"right"===e.align?s:0,a-="middle"===e.baseline?o/2:"bottom"===e.baseline?o:0,t("href",l,"http://www.w3.org/1999/xlink","xlink:href"),t("transform",r(i,a)),t("width",s),t("height",o)}},line:{tag:"path",type:"line",nest:!0,attr:function(t,e){var n=e.mark.items;n.length&&t("d",l.line(n))}},path:{tag:"path",type:"path",attr:function(t,e){t("transform",i(e)),t("d",e.path)}},rect:{tag:"rect",type:"rect",nest:!1,attr:function(t,e){t("transform",i(e)),t("width",e.width||0),t("height",e.height||0)}},rule:{tag:"line",type:"rule",attr:function(t,e){t("transform",i(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)}},symbol:{tag:"path",type:"symbol",attr:function(t,e){t("transform",i(e)),t("d",l.symbol(e))}},text:{tag:"text",type:"text",nest:!1,attr:function(t,e){var n,i=e.dx||0,s=(e.dy||0)+a.offset(e),l=e.x||0,u=e.y||0,h=e.angle||0,c=e.radius||0;c&&(n=(e.theta||0)-Math.PI/2,l+=c*Math.cos(n),u+=c*Math.sin(n)),t("text-anchor",o[e.align]||"start"),h?(n=r(l,u)+" rotate("+h+")",(i||s)&&(n+=" "+r(i,s))):n=r(l+i,u+s),t("transform",n)}}}},{"../../util/font":39,"../../util/svg":41}],32:[function(t,e,n){function i(t){this.clear(),t&&this.union(t)}var r=i.prototype;r.clone=function(){return new i(this)},r.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},r.set=function(t,e,n,i){return this.x1=t,this.y1=e,this.x2=n,this.y2=i,this},r.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},r.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},r.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},r.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},r.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),a=e-e*i+n*r,s=n-e*r-n*i,o=this.x1,l=this.x2,u=this.y1,h=this.y2;return this.clear().add(i*o-r*u+a,r*o+i*u+s).add(i*o-r*h+a,r*o+i*h+s).add(i*l-r*u+a,r*l+i*u+s).add(i*l-r*h+a,r*l+i*h+s)},r.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},r.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},r.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},r.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},r.width=function(){return this.x2-this.x1},r.height=function(){return this.y2-this.y1},e.exports=i},{}],33:[function(t,e,n){function i(t){this.id="gradient_"+r++,this.type=t||"linear",this.stops=[],this.x1=0,this.x2=1,this.y1=0,this.y2=0}var r=0,a=i.prototype;a.stop=function(t,e){return this.stops.push({offset:t,color:e}),this},e.exports=i},{}],34:[function(t,e,n){(function(n){function i(t){this._pending=0,this._config=t||i.Config}function r(t,e){var n=s.sanitizeUrl(this.params(t));if(!n)return e&&e(t,null),null;var i=this,r=new Image;return i._pending+=1,r.onload=function(){i._pending-=1,r.loaded=!0,e&&e(null,r)},r.src=n,r}function a(t,e){var i=this,r=new("undefined"!=typeof window?window.canvas:"undefined"!=typeof n?n.canvas:null).Image;return i._pending+=1,s(this.params(t),function(t,n){return i._pending-=1,t?(e&&e(t,null),null):(r.src=n,r.loaded=!0,void(e&&e(null,r)))}),r}var s=t("datalib/src/import/load");i.Config=null;var o=i.prototype;o.pending=function(){return this._pending},o.params=function(t){var e,n={url:t};for(e in this._config)n[e]=this._config[e];return n},o.imageURL=function(t){return s.sanitizeUrl(this.params(t))},o.loadImage=function(t,e){return s.useXHR?r.call(this,t,e):a.call(this,t,e)},e.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"datalib/src/import/load":2}],35:[function(t,e,n){function i(t){this.mark=t}var r=i.prototype;r.hasPropertySet=function(t){var e=this.mark.def.properties;return e&&null!=e[t]},r.cousin=function(t,e){if(0===t)return this;t=t||-1;var n=this.mark,i=n.group,r=null==e?n.items.indexOf(this):e,a=i.items.indexOf(n)+t;return i.items[a].items[r]},r.sibling=function(t){if(0===t)return this;t=t||-1;var e=this.mark,n=e.items.indexOf(this)+t;return e.items[n]},r.remove=function(){var t=this,e=t.mark.items,n=e.indexOf(t);return n>=0&&(n===e.length-1?e.pop():e.splice(n,1)),t},r.touch=function(){this.pathCache&&(this.pathCache=null)},e.exports=i},{}],36:[function(t,e,n){function i(){return I||(I=x.instance(1,1).getContext("2d"))}function r(t,e){return t.stroke&&0!==t.opacity&&0!==t.stokeOpacity&&e.expand(null!=t.strokeWidth?t.strokeWidth:1),e}function a(t,e,n){return null==e?n.set(0,0,0,0):(M(e,n),r(t,n)),n}function s(t,e){var n=t.path?t.pathCache||(t.pathCache=w(t.path)):null;return a(t,n,e).translate(t.x||0,t.y||0)}function o(t,e){if(0===t.items.length)return e;var n=t.items,i=n[0],r=i.pathCache||(i.pathCache=w(T(n)));return a(i,r,e)}function l(t,e){if(0===t.items.length)return e;var n=t.items,i=n[0],r=i.pathCache||(i.pathCache=w(C(n)));return a(i,r,e)}function u(t,e){var n,i;return r(t,e.set(n=t.x||0,i=t.y||0,n+t.width||0,i+t.height||0))}function h(t,e){var n=t.x||0,i=t.y||0,r=t.width||0,a=t.height||0;return n-="center"===t.align?r/2:"right"===t.align?r:0,i-="middle"===t.baseline?a/2:"bottom"===t.baseline?a:0,e.set(n,i,n+r,i+a)}function c(t,e){var n,i;return r(t,e.set(n=t.x||0,i=t.y||0,null!=t.x2?t.x2:n,null!=t.y2?t.y2:i))}function d(t,e){var n,i,a,s,o,l,u,h,c,d=t.x||0,f=t.y||0,p=t.innerRadius||0,g=t.outerRadius||0,v=(t.startAngle||0)-A,m=(t.endAngle||0)-A,y=1/0,x=-(1/0),k=1/0,b=-(1/0),_=[v,m],w=v-v%A;for(i=0;4>i&&m>w;++i,w+=A)_.push(w);for(i=0,a=_.length;a>i;++i)n=_[i],s=Math.cos(n),l=p*s,h=g*s,o=Math.sin(n),u=p*o,c=g*o,y=Math.min(y,l,h),x=Math.max(x,l,h),k=Math.min(k,u,c),b=Math.max(b,u,c);return r(t,e.set(d+y,f+k,d+x,f+b))}function f(t,e){var n,i,a,s,o=null!=t.size?t.size:100,l=t.x||0,u=t.y||0;switch(t.shape){case"cross":i=3*Math.sqrt(o/5)/2,e.set(l-i,u-i,l+i,u+i);break;case"diamond":s=Math.sqrt(o/(2*L)),a=s*L,e.set(l-a,u-s,l+a,u+s);break;case"square":i=Math.sqrt(o),n=i/2,e.set(l-n,u-n,l+n,u+n);break;case"triangle-down":a=Math.sqrt(o/P),s=a*P/2,e.set(l-a,u-s,l+a,u+s);break;case"triangle-up":a=Math.sqrt(o/P),s=a*P/2,e.set(l-a,u-s,l+a,u+s);break;default:n=Math.sqrt(o/Math.PI),e.set(l-n,u-n,l+n,u+n)}return r(t,e)}function p(t,e,n){var r,a,s=i(),o=b.size(t),l=t.align,u=t.radius||0,h=t.x||0,c=t.y||0,d=t.dx||0,f=(t.dy||0)+b.offset(t)-Math.round(.8*o);return u&&(a=(t.theta||0)-Math.PI/2,h+=u*Math.cos(a),c+=u*Math.sin(a)),s.font=b.string(t),r=s.measureText(t.text||"").width,"center"===l?d-=r/2:"right"===l&&(d-=r),e.set(d+=h,f+=c,d+r,f+o),t.angle&&!n&&e.rotate(t.angle*Math.PI/180,h,c),e.expand(n?0:1)}function g(t,e,n){var i,a,s=t.axisItems||[],o=t.items||[],l=t.legendItems||[];for(i=0,a=s.length;a>i;++i)e.union(s[i].bounds);for(i=0,a=o.length;a>i;++i)e.union(o[i].bounds);if(n)for(i=0,a=l.length;a>i;++i)e.union(l[i].bounds);return(t.width||t.height)&&r(t,e.add(0,0).add(t.width||0,t.height||0)),e.translate(t.x||0,t.y||0)}function v(t,e,n){var i=t.mark.marktype;e=e||z[i],e.nest&&(t=t.mark);var r=t.bounds,a=t["bounds:prev"]||(t["bounds:prev"]=new y);return r?(a.clear().union(r),r.clear()):t.bounds=new y,e(t,t.bounds,n),r||a.clear().union(t.bounds),t.bounds}function m(t,e,n){var i,r,a,s,o=t.marktype,l=z[o],u=t.items,h=u&&u.length;if(l.nest)return a=h?u[0]:(R.mark=t,R),s=v(a,l,n),e=e&&e.union(s)||s;if(e=e||t.bounds&&t.bounds.clear()||new y,h)for(i=0,r=u.length;r>i;++i)e.union(v(u[i],l,n));return t.bounds=e}var y=t("../util/Bounds"),x=t("../util/canvas"),k=t("../util/svg"),b=t("./font"),_=t("../path"),w=_.parse,M=_.bounds,T=k.path.area,C=k.path.line,A=Math.PI/2,P=Math.sqrt(3),L=Math.tan(30*Math.PI/180),I=null,z={group:g,symbol:f,image:h,rect:u,rule:c,arc:d,text:p,path:s,area:o,line:l};z.area.nest=!0,z.line.nest=!0;var R={mark:null};e.exports={mark:m,item:v,text:p,group:g}},{"../path":6,"../util/Bounds":32,"../util/canvas":37,"../util/svg":41,"./font":39}],37:[function(t,e,n){(function(t){function n(e,n){e=e||1,n=n||1;var i;if("undefined"!=typeof document&&document.createElement)i=document.createElement("canvas"),i.width=e,i.height=n;else{var r="undefined"!=typeof window?window.canvas:"undefined"!=typeof t?t.canvas:null;if(!r.prototype)return null;i=new r(e,n)}return a(i)}function i(t,e,n,i,a){var s=this._ctx=t.getContext("2d"),o=1;return t.width=e+i.left+i.right,t.height=n+i.top+i.bottom,a&&"undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&(s.pixelratio=o=r(t)||1),s.setTransform(o,0,0,o,o*i.left,o*i.top),t}function r(t){var e=t.getContext("2d"),n=window&&window.devicePixelRatio||1,i=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1,r=n/i;if(n!==i){var a=t.width,s=t.height;t.width=a*r,t.height=s*r,t.style.width=a+"px",t.style.height=s+"px"}return r}function a(t){var e=t.getContext("2d");if(!e.vgLineDash){var n=function(){},i=[];return e.setLineDash?(e.vgLineDash=function(t){this.setLineDash(t||i)},e.vgLineDashOffset=function(t){this.lineDashOffset=t}):void 0!==e.webkitLineDash?(e.vgLineDash=function(t){this.webkitLineDash=t||i},e.vgLineDashOffset=function(t){this.webkitLineDashOffset=t}):void 0!==e.mozDash?(e.vgLineDash=function(t){this.mozDash=t},e.vgLineDashOffset=n):(e.vgLineDash=n,e.vgLineDashOffset=n),t}}e.exports={instance:n,resize:i,lineDash:a}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],38:[function(t,e,n){function i(t,e,n){return n?t.createElementNS(n,e):t.createElement(e)}function r(t){if(t){var e=t.parentNode;e&&(e.removeChild(t),e.childNodes&&e.childNodes.length||r(e))}}e.exports={find:function(t,e){e=e.toLowerCase();for(var n=0,i=t.childNodes.length;i>n;++n)if(t.childNodes[n].tagName.toLowerCase()===e)return t.childNodes[n]},child:function(t,e,n,r,a,s){var o,l;return o=l=t.childNodes[e],(!o||s||o.tagName.toLowerCase()!==n.toLowerCase()||a&&o.getAttribute("class")!=a)&&(o=i(t.ownerDocument,n,r),t.insertBefore(o,l),a&&o.setAttribute("class",a)),o},clear:function(t,e){for(var n=t.childNodes.length;n>e;)t.removeChild(t.childNodes[--n]);return t},remove:r,cssClass:function(t){return"mark-"+t.marktype+(t.name?" "+t.name:"")},openTag:function(t,e,n){var i,r,a="<"+t;if(e)for(i in e)r=e[i],null!=r&&(a+=" "+i+'="'+r+'"');return n&&(a+=" "+n),a+">"},closeTag:function(t){return"</"+t+">"}}},{}],39:[function(t,e,n){function i(t){return null!=t.fontSize?t.fontSize:11}e.exports={size:i,string:function(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+" ":"")+i(t)+"px "+(n||"sans-serif")},offset:function(t){var e=t.baseline,n=i(t);return Math.round("top"===e?.93*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}}},{}],40:[function(t,e,n){function i(t,e){return JSON.stringify(t,l,e)}function r(t){var e="string"==typeof t?JSON.parse(t):t;return a(e)}function a(t){var e,n,i,r,l,u=t.marktype;for(i=0,r=o.length;r>i;++i)if(l=t[o[i]])for(e=0,n=l.length;n>e;++e)l[e][u?"mark":"group"]=t,u&&"group"!==u||a(l[e]);return u&&s.mark(t),t}var s=t("../util/bound"),o=["items","axisItems","legendItems"],l=["marktype","name","interactive","clip","items","axisItems","legendItems","layer","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","interpolate","tension","orient","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"];e.exports={toJSON:i,fromJSON:r}},{"../util/bound":36}],41:[function(t,e,n){(function(t){function n(t){return t.x||0}function i(t){return t.y||0}function r(t){return(t.x||0)+(t.width||0)}function a(t){return(t.y||0)+(t.height||0)}function s(t){return null==t.size?100:t.size}function o(t){return t.shape||"circle"}var l=("undefined"!=typeof window?window.d3:"undefined"!=typeof t?t.d3:null).svg,u=l.area().x(n).y1(i).y0(a),h=l.area().y(i).x1(n).x0(r),c=l.line().x(n).y(i);e.exports={metadata:{version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},path:{arc:l.arc(),symbol:l.symbol().type(o).size(s),area:function(t){var e=t[0];return("horizontal"===e.orient?h:u).interpolate(e.interpolate||"linear").tension(e.tension||.7)(t)},line:function(t){var e=t[0];return c.interpolate(e.interpolate||"linear").tension(e.tension||.7)(t)}},textAlign:{left:"start",center:"middle",right:"end"},textBaseline:{top:"before-edge",bottom:"after-edge",middle:"central"},styles:{fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeWidth:"stroke-width",strokeOpacity:"stroke-opacity",strokeCap:"stroke-linecap",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",opacity:"opacity"},styleProperties:["fill","fillOpacity","stroke","strokeWidth","strokeOpacity","strokeCap","strokeDash","strokeDashOffset","opacity"]}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[3])(3)});

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

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc