{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "if (window['jquery'] === undefined || window['highcharts'] === undefined) {\n", " \n", " /* BEGIN highcharts.js */\n", "/*\n", " Highcharts JS v5.0.2 (2016-10-26)\n", "\n", " (c) 2009-2016 Torstein Honsi\n", "\n", " License: www.highcharts.com/license\n", "*/\n", "(function(M,a){\"object\"===typeof module&&module.exports?module.exports=M.document?a(M):a:M.Highcharts=a(M)})(\"undefined\"!==typeof window?window:this,function(M){M=function(){var a=window,D=a.document,z=a.navigator&&a.navigator.userAgent||\"\",F=D&&D.createElementNS&&!!D.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGRect,J=/(edge|msie|trident)/i.test(z)&&!window.opera,m=!F,f=/Firefox/.test(z),h=f&&4>parseInt(z.split(\"Firefox/\")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:\"Highcharts\",\n", "version:\"5.0.2\",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:h,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:J,isWebKit:/AppleWebKit/.test(z),isFirefox:f,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(z),SVG_NS:\"http://www.w3.org/2000/svg\",idCounter:0,chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,vml:m,win:a,charts:[],marginNames:[\"plotTop\",\"marginRight\",\"marginBottom\",\"plotLeft\"],noop:function(){}}}();(function(a){var D=[],z=a.charts,F=a.doc,J=a.win;a.error=function(a,f){a=\"Highcharts error #\"+\n", "a+\": www.highcharts.com/errors/\"+a;if(f)throw Error(a);J.console&&console.log(a)};a.Fx=function(a,f,h){this.options=f;this.elem=a;this.prop=h};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],h=[],q=this.now,n=a.length,k;if(1===q)h=this.toD;else if(n===f.length&&1>q)for(;n--;)k=parseFloat(a[n]),h[n]=isNaN(k)?a[n]:q*parseFloat(f[n]-k)+k;else h=f;this.elem.attr(\"d\",h)},update:function(){var a=this.elem,f=this.prop,h=this.now,q=this.options.step;if(this[f+\"Setter\"])this[f+\"Setter\"]();\n", "else a.attr?a.element&&a.attr(f,h):a.style[f]=h+this.unit;q&&q.call(a,h,this)},run:function(a,f,h){var m=this,n=function(a){return n.stopped?!1:m.step(a)},k;this.startTime=+new Date;this.start=a;this.end=f;this.unit=h;this.now=this.start;this.pos=0;n.elem=this.elem;n()&&1===D.push(n)&&(n.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=v[this.prop]=!0;for(d in v)!0!==v[d]&&(a=!1);a&&n&&n.call(h);h=!1}else this.pos=m.easing((f-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0;return h},initPath:function(m,f,h){function q(a){for(l=a.length;l--;)\"M\"!==a[l]&&\"L\"!==a[l]||a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])}function n(a,b){for(;a.lengthv?\"AM\":\"PM\",P:12>v?\"am\":\"pm\",S:u(n.getSeconds()),L:u(Math.round(f%1E3),3)},a.dateFormats);for(k in q)for(;-1!==m.indexOf(\"%\"+k);)m=m.replace(\"%\"+k,\"function\"===typeof q[k]?q[k](f):q[k]);return h?m.substr(0,1).toUpperCase()+m.substr(1):\n", "m};a.formatSingle=function(m,f){var h=/\\.([0-9])/,q=a.defaultOptions.lang;/f$/.test(m)?(h=(h=m.match(h))?h[1]:-1,null!==f&&(f=a.numberFormat(f,h,q.decimalPoint,-1=h&&(f=[1/h])));for(q=0;q=m||!n&&k<=(f[q]+(f[q+1]||f[q]))/2);q++);return v*h};a.stableSort=function(a,f){var h=a.length,m,n;for(n=0;nh&&(h=a[f]);return h};a.destroyObjectProperties=function(a,f){for(var h in a)a[h]&&a[h]!==f&&a[h].destroy&&a[h].destroy(),delete a[h]};a.discardElement=function(m){var f=a.garbageBin;f||(f=a.createElement(\"div\"));m&&f.appendChild(m);f.innerHTML=\"\"};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=\n", "function(m,f){f.renderer.globalAnimation=a.pick(m,f.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,f,h,q){m=+m||0;f=+f;var n=a.defaultOptions.lang,k=(m.toString().split(\".\")[1]||\"\").length,v,d,g=Math.abs(m);-1===f?f=Math.min(k,20):a.isNumber(f)||(f=2);v=String(a.pInt(g.toFixed(f)));d=3m?\"-\":\"\")+(d?v.substr(0,d)+q:\"\");m+=v.substr(d).replace(/(\\d{3})(?=\\d)/g,\"$1\"+q);f&&(q=Math.abs(g-v+Math.pow(10,-Math.max(f,k)-1)),m+=h+q.toFixed(f).slice(2));return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(m,f){return\"width\"===f?Math.min(m.offsetWidth,m.scrollWidth)-a.getStyle(m,\"padding-left\")-a.getStyle(m,\"padding-right\"):\"height\"===f?Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,\n", "\"padding-top\")-a.getStyle(m,\"padding-bottom\"):(m=J.getComputedStyle(m,void 0))&&a.pInt(m.getPropertyValue(f))};a.inArray=function(a,f){return f.indexOf?f.indexOf(a):[].indexOf.call(f,a)};a.grep=function(a,f){return[].filter.call(a,f)};a.map=function(a,f){for(var h=[],q=0,n=a.length;qh;h++)f[h]+=m(255*a),0>f[h]&&(f[h]=0),255C.width)C={width:0,height:0}}else C=this.htmlGetBBox();E.isSVG&&(a=C.width,E=C.height,b&&c&&\"11px\"===c.fontSize&&\"16.9\"===E.toPrecision(3)&&(C.height=E=14),p&&(C.width=Math.abs(E*Math.sin(e))+Math.abs(a*Math.cos(e)),C.height=Math.abs(E*Math.cos(e))+Math.abs(a*Math.sin(e))));if(k&&0]*>/g,\n", "\"\")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,p){\"string\"===typeof a?p.setAttribute(b,a):a&&this.colorGradient(a,b,p)},visibilitySetter:function(a,b,p){\"inherit\"===a?p.removeAttribute(b):p.setAttribute(b,a)},zIndexSetter:function(a,b){var p=this.renderer,e=this.parentGroup,C=(e||p).element||p.box,E,A=this.element,c;E=this.added;var d;k(a)&&(A.zIndex=a,a=+a,this[b]===a&&(E=!1),this[b]=a);if(E){(a=\n", "this.zIndex)&&e&&(e.handleZ=!0);b=C.childNodes;for(d=0;da||!k(a)&&k(E)||0>a&&!k(E)&&C!==p.box)&&(C.insertBefore(A,e),c=!0);c||C.appendChild(A)}return c},_defaultSetter:function(a,b,p){p.setAttribute(b,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=\n", "!0};D.prototype[\"stroke-widthSetter\"]=D.prototype.strokeSetter=function(a,b,p){this[b]=a;this.stroke&&this[\"stroke-width\"]?(D.prototype.fillSetter.call(this,this.stroke,\"stroke\",p),p.setAttribute(\"stroke-width\",this[\"stroke-width\"]),this.hasStroke=!0):\"stroke-width\"===b&&0===a&&this.hasStroke&&(p.removeAttribute(\"stroke\"),this.hasStroke=!1)};z=a.SVGRenderer=function(){this.init.apply(this,arguments)};z.prototype={Element:D,SVG_NS:A,init:function(a,b,p,e,A,c){var E;e=this.createElement(\"svg\").attr({version:\"1.1\",\n", "\"class\":\"highcharts-root\"}).css(this.getStyle(e));E=e.element;a.appendChild(E);-1===a.innerHTML.indexOf(\"xmlns\")&&m(E,\"xmlns\",this.SVG_NS);this.isSVG=!0;this.box=E;this.boxWrapper=e;this.alignedObjects=[];this.url=(L||K)&&g.getElementsByTagName(\"base\").length?O.location.href.replace(/#.*?$/,\"\").replace(/([\\('\\)])/g,\"\\\\$1\").replace(/ /g,\"%20\"):\"\";this.createElement(\"desc\").add().element.appendChild(g.createTextNode(\"Created with Highcharts 5.0.2\"));this.defs=this.createElement(\"defs\").add();this.allowHTML=\n", "c;this.forExport=A;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,p,!1);var C;L&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){q(a,{left:0,top:0});C=a.getBoundingClientRect();q(a,{left:Math.ceil(C.left)-C.left+\"px\",top:Math.ceil(C.top)-C.top+\"px\"})},b(),F(O,\"resize\",b))},getStyle:function(a){return this.style=B({fontFamily:'\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',fontSize:\"12px\"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},\n", "isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&H(O,\"resize\",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:I,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=\n", "a.element,c=this,d=c.forExport,C=r(a.textStr,\"\").toString(),t=-1!==C.indexOf(\"\\x3c\"),l=b.childNodes,y,u,x,k,n=m(b,\"x\"),H=a.styles,f=a.textWidth,K=H&&H.lineHeight,h=H&&H.textShadow,v=H&&\"ellipsis\"===H.textOverflow,O=l.length,B=f&&!a.added&&this.box,P=function(a){var b;b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:H&&H.fontSize||c.style.fontSize||12;return K?G(K):c.fontMetrics(b,a).h};O--;)b.removeChild(l[O]);t||h||v||f||-1!==C.indexOf(\" \")?(y=/<.*class=\"([^\"]+)\".*>/,u=/<.*style=\"([^\"]+)\".*>/,\n", "x=/<.*href=\"(http[^\"]+)\".*>/,B&&B.appendChild(b),C=t?C.replace(/<(b|strong)>/g,'\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g,'\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(//g,\"\\x3c/span\\x3e\").split(//g):[C],C=e(C,function(a){return\"\"!==a}),w(C,function(e,E){var C,t=0;e=e.replace(/^\\s+|\\s+$/g,\"\").replace(//g,\"\\x3c/span\\x3e|||\");C=e.split(\"|||\");w(C,function(e){if(\"\"!==e||1===C.length){var l=\n", "{},r=g.createElementNS(c.SVG_NS,\"tspan\"),w,S;y.test(e)&&(w=e.match(y)[1],m(r,\"class\",w));u.test(e)&&(S=e.match(u)[1].replace(/(;| |^)color([ :])/,\"$1fill$2\"),m(r,\"style\",S));x.test(e)&&!d&&(m(r,\"onclick\",'location.href\\x3d\"'+e.match(x)[1]+'\"'),q(r,{cursor:\"pointer\"}));e=(e.replace(/<(.|\\n)*?>/g,\"\")||\" \").replace(/</g,\"\\x3c\").replace(/>/g,\"\\x3e\");if(\" \"!==e){r.appendChild(g.createTextNode(e));t?l.dx=0:E&&null!==n&&(l.x=n);m(r,l);b.appendChild(r);!t&&E&&(!p&&d&&q(r,{display:\"block\"}),m(r,\"dy\",\n", "P(r)));if(f){l=e.replace(/([^\\^])-/g,\"$1- \").split(\" \");w=\"nowrap\"===H.whiteSpace;for(var G=1f,void 0===k&&(k=K),v&&k?(Q/=2,\"\"===I||!K&&.5>Q?l=[]:(I=e.substring(0,I.length+(K?-1:1)*Math.ceil(Q)),l=[I+(3f&&(f=h)),l.length&&r.appendChild(g.createTextNode(l.join(\" \").replace(/- /g,\"-\")));a.rotation=R}t++}}})}),k&&a.attr(\"title\",a.textStr),B&&B.removeChild(b),h&&a.applyTextShadow&&a.applyTextShadow(h)):b.appendChild(g.createTextNode(C.replace(/</g,\"\\x3c\").replace(/>/g,\"\\x3e\")))},getContrast:function(a){a=h(a).rgba;return 510p&&c>b+d&&ct&&c>b+d&&ce&&t>a+d&&tc&&t>a+d&&ta?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,p){var e=a;b&&p&&(e=Math.max(e*Math.cos(b*v),4));return{x:-a/3*Math.sin(b*v),y:e}},label:function(a,b,p,e,c,A,d,t,l){var y=this,r=y.g(\"button\"!==l&&\"label\"),g=r.text=y.text(\"\",0,0,d).attr({zIndex:1}),E,u,n=0,K=3,G=0,C,f,h,O,v,I={},P,S,q=/^url\\((.*?)\\)$/.test(e),N=q,L,m,R,Q;l&&r.addClass(\"highcharts-\"+l);N=q;L=function(){return(P||0)%2/2};m=function(){var a=g.element.style,b={};u=(void 0===C||void 0===f||v)&&k(g.textStr)&&\n", "g.getBBox();r.width=(C||u.width||0)+2*K+G;r.height=(f||u.height||0)+2*K;S=K+y.fontMetrics(a&&a.fontSize,g).b;N&&(E||(r.box=E=y.symbols[e]||q?y.symbol(e):y.rect(),E.addClass((\"button\"===l?\"\":\"highcharts-label-box\")+(l?\" highcharts-\"+l+\"-box\":\"\")),E.add(r),a=L(),b.x=a,b.y=(t?-S:0)+a),b.width=Math.round(r.width),b.height=Math.round(r.height),E.attr(B(b,I)),I={})};R=function(){var a=G+K,b;b=t?0:S;k(C)&&u&&(\"center\"===v||\"right\"===v)&&(a+={center:.5,right:1}[v]*(C-u.width));if(a!==g.x||b!==g.y)g.attr(\"x\",\n", "a),void 0!==b&&g.attr(\"y\",b);g.x=a;g.y=b};Q=function(a,b){E?E.attr(a,b):I[a]=b};r.onAdd=function(){g.add(r);r.attr({text:a||0===a?a:\"\",x:b,y:p});E&&k(c)&&r.attr({anchorX:c,anchorY:A})};r.widthSetter=function(a){C=a};r.heightSetter=function(a){f=a};r[\"text-alignSetter\"]=function(a){v=a};r.paddingSetter=function(a){k(a)&&a!==K&&(K=r.padding=a,R())};r.paddingLeftSetter=function(a){k(a)&&a!==G&&(G=a,R())};r.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==n&&(n=a,u&&r.attr({x:h}))};r.textSetter=\n", "function(a){void 0!==a&&g.textSetter(a);m();R()};r[\"stroke-widthSetter\"]=function(a,b){a&&(N=!0);P=this[\"stroke-width\"]=a;Q(b,a)};r.strokeSetter=r.fillSetter=r.rSetter=function(a,b){\"fill\"===b&&a&&(N=!0);Q(b,a)};r.anchorXSetter=function(a,b){c=a;Q(b,Math.round(a)-L()-h)};r.anchorYSetter=function(a,b){A=a;Q(b,a-O)};r.xSetter=function(a){r.x=a;n&&(a-=n*((C||u.width)+2*K));h=Math.round(a);r.attr(\"translateX\",h)};r.ySetter=function(a){O=r.y=Math.round(a);r.attr(\"translateY\",O)};var T=r.css;return B(r,\n", "{css:function(a){if(a){var b={};a=x(a);w(r.textProps,function(p){void 0!==a[p]&&(b[p]=a[p],delete a[p])});g.css(b)}return T.call(r,a)},getBBox:function(){return{width:u.width+2*K,height:u.height+2*K,x:u.x-K,y:u.y-K}},shadow:function(a){a&&(m(),E&&E.shadow(a));return r},destroy:function(){H(r.element,\"mouseenter\");H(r.element,\"mouseleave\");g&&(g=g.destroy());E&&(E=E.destroy());D.prototype.destroy.call(r);r=y=m=R=Q=null}})}};a.Renderer=z})(M);(function(a){var D=a.attr,z=a.createElement,F=a.css,J=a.defined,\n", "m=a.each,f=a.extend,h=a.isFirefox,q=a.isMS,n=a.isWebKit,k=a.pInt,v=a.SVGRenderer,d=a.win,g=a.wrap;f(a.SVGElement.prototype,{htmlCss:function(a){var d=this.element;if(d=a&&\"SPAN\"===d.tagName&&a.width)delete a.width,this.textWidth=d,this.updateTransform();a&&\"ellipsis\"===a.textOverflow&&(a.whiteSpace=\"nowrap\",a.overflow=\"hidden\");this.styles=f(this.styles,a);F(this.element,a);return this},htmlGetBBox:function(){var a=this.element;\"text\"===a.nodeName&&(a.style.position=\"absolute\");return{x:a.offsetLeft,\n", "y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,d=this.element,c=this.translateX||0,e=this.translateY||0,l=this.x||0,g=this.y||0,f=this.textAlign||\"left\",b={left:0,center:.5,right:1}[f],t=this.styles;F(d,{marginLeft:c,marginTop:e});this.shadows&&m(this.shadows,function(a){F(a,{marginLeft:c+1,marginTop:e+1})});this.inverted&&m(d.childNodes,function(b){a.invertChild(b,d)});if(\"SPAN\"===d.tagName){var y=this.rotation,K=k(this.textWidth),\n", "x=t&&t.whiteSpace,h=[y,f,d.innerHTML,this.textWidth,this.textAlign].join();h!==this.cTT&&(t=a.fontMetrics(d.style.fontSize).b,J(y)&&this.setSpanRotation(y,b,t),F(d,{width:\"\",whiteSpace:x||\"nowrap\"}),d.offsetWidth>K&&/[ \\-]/.test(d.textContent||d.innerText)&&F(d,{width:K+\"px\",display:\"block\",whiteSpace:x||\"normal\"}),this.getSpanCorrection(d.offsetWidth,t,b,y,f));F(d,{left:l+(this.xCorr||0)+\"px\",top:g+(this.yCorr||0)+\"px\"});n&&(t=d.offsetHeight);this.cTT=h}}else this.alignOnAdd=!0},setSpanRotation:function(a,\n", "g,c){var e={},l=q?\"-ms-transform\":n?\"-webkit-transform\":h?\"MozTransform\":d.opera?\"-o-transform\":\"\";e[l]=e.transform=\"rotate(\"+a+\"deg)\";e[l+(h?\"Origin\":\"-origin\")]=e.transformOrigin=100*g+\"% \"+c+\"px\";F(this.element,e)},getSpanCorrection:function(a,d,c){this.xCorr=-a*c;this.yCorr=-d}});f(v.prototype,{html:function(a,d,c){var e=this.createElement(\"span\"),l=e.element,u=e.renderer,k=u.isSVG,b=function(a,b){m([\"opacity\",\"visibility\"],function(e){g(a,e+\"Setter\",function(a,e,c,d){a.call(this,e,c,d);b[c]=\n", "e})})};e.textSetter=function(a){a!==l.innerHTML&&delete this.bBox;l.innerHTML=this.textStr=a;e.htmlUpdateTransform()};k&&b(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){\"align\"===b&&(b=\"textAlign\");e[b]=a;e.htmlUpdateTransform()};e.attr({text:a,x:Math.round(d),y:Math.round(c)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:\"absolute\"});l.style.whiteSpace=\"nowrap\";e.css=e.htmlCss;k&&(e.add=function(a){var c,d=u.box.parentNode,t=[];\n", "if(this.parentGroup=a){if(c=a.div,!c){for(;a;)t.push(a),a=a.parentGroup;m(t.reverse(),function(a){var e,t=D(a.element,\"class\");t&&(t={className:t});c=a.div=a.div||z(\"div\",t,{position:\"absolute\",left:(a.translateX||0)+\"px\",top:(a.translateY||0)+\"px\",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||d);e=c.style;f(a,{translateXSetter:function(b,c){e.left=b+\"px\";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){e.top=b+\"px\";a[c]=b;a.doTransform=!0}});b(a,e)})}}else c=\n", "d;c.appendChild(l);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(M);(function(a){var D,z,F=a.createElement,J=a.css,m=a.defined,f=a.deg2rad,h=a.discardElement,q=a.doc,n=a.each,k=a.erase,v=a.extend;D=a.extendClass;var d=a.isArray,g=a.isNumber,w=a.isObject,B=a.merge;z=a.noop;var c=a.pick,e=a.pInt,l=a.SVGElement,u=a.SVGRenderer,L=a.win;a.svg||(z={docMode8:q&&8===q.documentMode,init:function(a,e){var b=[\"\\x3c\",e,' filled\\x3d\"f\" stroked\\x3d\"f\"'],c=[\"position: \",\"absolute\",\";\"],\n", "d=\"div\"===e;(\"shape\"===e||d)&&c.push(\"left:0;top:0;width:1px;height:1px;\");c.push(\"visibility: \",d?\"hidden\":\"visible\");b.push(' style\\x3d\"',c.join(\"\"),'\"/\\x3e');e&&(b=d||\"span\"===e||\"img\"===e?b.join(\"\"):a.prepVML(b),this.element=F(b));this.renderer=a},add:function(a){var b=this.renderer,e=this.element,c=b.box,d=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);d&&b.invertChild(e,c);c.appendChild(e);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();\n", "this.className&&this.attr(\"class\",this.className);return this},updateTransform:l.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,e=Math.cos(a*f),c=Math.sin(a*f);J(this.element,{filter:a?[\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\",e,\", M12\\x3d\",-c,\", M21\\x3d\",c,\", M22\\x3d\",e,\", sizingMethod\\x3d'auto expand')\"].join(\"\"):\"none\"})},getSpanCorrection:function(a,e,d,l,g){var b=l?Math.cos(l*f):1,t=l?Math.sin(l*f):0,y=c(this.elemHeight,this.element.offsetHeight),u;this.xCorr=\n", "0>b&&-a;this.yCorr=0>t&&-y;u=0>b*t;this.xCorr+=t*e*(u?1-d:d);this.yCorr-=b*e*(l?u?d:1-d:1);g&&\"left\"!==g&&(this.xCorr-=a*d*(0>b?-1:1),l&&(this.yCorr-=y*d*(0>t?-1:1)),J(this.element,{textAlign:g}))},pathToVML:function(a){for(var b=a.length,e=[];b--;)g(a[b])?e[b]=Math.round(10*a[b])-5:\"Z\"===a[b]?e[b]=\"x\":(e[b]=a[b],!a.isArc||\"wa\"!==a[b]&&\"at\"!==a[b]||(e[b+5]===e[b+7]&&(e[b+7]+=a[b+7]>a[b+5]?1:-1),e[b+6]===e[b+8]&&(e[b+8]+=a[b+8]>a[b+6]?1:-1)));return e.join(\" \")||\"x\"},clip:function(a){var b=this,e;\n", "a?(e=a.members,k(e,b),e.push(b),b.destroyClip=function(){k(e,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?\"inherit\":\"rect(auto)\"});return b.css(a)},css:l.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&h(a)},destroy:function(){this.destroyClip&&this.destroyClip();return l.prototype.destroy.apply(this)},on:function(a,e){this.element[\"on\"+a]=function(){var a=L.event;a.target=a.srcElement;e(a)};return this},cutOffPath:function(a,c){var b;a=a.split(/[ ,]/);b=a.length;\n", "if(9===b||11===b)a[b-4]=a[b-2]=e(a[b-2])-10*c;return a.join(\" \")},shadow:function(a,d,l){var b=[],g,t=this.element,r=this.renderer,u,y=t.style,k,p=t.path,A,n,f,C;p&&\"string\"!==typeof p.value&&(p=\"x\");n=p;if(a){f=c(a.width,3);C=(a.opacity||.15)/f;for(g=1;3>=g;g++)A=2*f+1-2*g,l&&(n=this.cutOffPath(p.value,A+.5)),k=['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"',A,'\" filled\\x3d\"false\" path\\x3d\"',n,'\" coordsize\\x3d\"10 10\" style\\x3d\"',t.style.cssText,'\" /\\x3e'],u=F(r.prepVML(k),null,{left:e(y.left)+\n", "c(a.offsetX,1),top:e(y.top)+c(a.offsetY,1)}),l&&(u.cutOff=A+1),k=['\\x3cstroke color\\x3d\"',a.color||\"#000000\",'\" opacity\\x3d\"',C*g,'\"/\\x3e'],F(r.prepVML(k),null,null,u),d?d.element.appendChild(u):t.parentNode.insertBefore(u,t),b.push(u);this.shadows=b}return this},updateShadows:z,setAttr:function(a,e){this.docMode8?this.element[a]=e:this.element.setAttribute(a,e)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,e,c){(c.getElementsByTagName(\"stroke\")[0]||\n", "F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]),null,null,c))[e]=a||\"solid\";this[e]=a},dSetter:function(a,e,c){var b=this.shadows;a=a||[];this.d=a.join&&a.join(\" \");c.path=a=this.pathToVML(a);if(b)for(c=b.length;c--;)b[c].path=b[c].cutOff?this.cutOffPath(a,b[c].cutOff):a;this.setAttr(e,a)},fillSetter:function(a,e,c){var b=c.nodeName;\"SPAN\"===b?c.style.color=a:\"IMG\"!==b&&(c.filled=\"none\"!==a,this.setAttr(\"fillcolor\",this.renderer.color(a,c,e,this)))},\"fill-opacitySetter\":function(a,e,c){F(this.renderer.prepVML([\"\\x3c\",\n", "e.split(\"-\")[0],' opacity\\x3d\"',a,'\"/\\x3e']),null,null,c)},opacitySetter:z,rotationSetter:function(a,e,c){c=c.style;this[e]=c[e]=a;c.left=-Math.round(Math.sin(a*f)+1)+\"px\";c.top=Math.round(Math.cos(a*f))+\"px\"},strokeSetter:function(a,e,c){this.setAttr(\"strokecolor\",this.renderer.color(a,c,e,this))},\"stroke-widthSetter\":function(a,e,c){c.stroked=!!a;this[e]=a;g(a)&&(a+=\"px\");this.setAttr(\"strokeweight\",a)},titleSetter:function(a,e){this.setAttr(e,a)},visibilitySetter:function(a,e,c){\"inherit\"===a&&\n", "(a=\"visible\");this.shadows&&n(this.shadows,function(b){b.style[e]=a});\"DIV\"===c.nodeName&&(a=\"hidden\"===a?\"-999em\":0,this.docMode8||(c.style[e]=a?\"visible\":\"hidden\"),e=\"top\");c.style[e]=a},xSetter:function(a,e,c){this[e]=a;\"x\"===e?e=\"left\":\"y\"===e&&(e=\"top\");this.updateClipping?(this[e]=a,this.updateClipping()):c.style[e]=a},zIndexSetter:function(a,e,c){c.style[e]=a}},z[\"stroke-opacitySetter\"]=z[\"fill-opacitySetter\"],a.VMLElement=z=D(l,z),z.prototype.ySetter=z.prototype.widthSetter=z.prototype.heightSetter=\n", "z.prototype.xSetter,z={Element:z,isIE8:-1K[0]&&b.push([1,K[1]]);n(b,function(b,e){r.test(b[1])?(g=a.color(b[1]),p=g.get(\"rgb\"),A=g.get(\"a\")):(p=b[1],A=1);B.push(100*b[0]+\"% \"+p);e?(E=A,y=p):(C=A,w=p)});if(\"fill\"===c)if(\"gradient\"===t)c=f.x1||f[0]||0,b=f.y1||f[1]||0,h=f.x2||f[2]||0,f=f.y2||f[3]||0,v='angle\\x3d\"'+(90-180*Math.atan((f-b)/(h-c))/Math.PI)+'\"',\n", "q();else{var k=f.r,L=2*k,m=2*k,z=f.cx,D=f.cy,J=e.radialReference,U,k=function(){J&&(U=d.getBBox(),z+=(J[0]-U.x)/U.width-.5,D+=(J[1]-U.y)/U.height-.5,L*=J[2]/U.width,m*=J[2]/U.height);v='src\\x3d\"'+a.getOptions().global.VMLRadialGradientURL+'\" size\\x3d\"'+L+\",\"+m+'\" origin\\x3d\"0.5,0.5\" position\\x3d\"'+z+\",\"+D+'\" color2\\x3d\"'+w+'\" ';q()};d.added?k():d.onAdd=k;k=y}else k=p}else r.test(b)&&\"IMG\"!==e.tagName?(g=a.color(b),d[c+\"-opacitySetter\"](g.get(\"a\"),c,e),k=g.get(\"rgb\")):(k=e.getElementsByTagName(c),\n", "k.length&&(k[0].opacity=1,k[0].type=\"solid\"),k=b);return k},prepVML:function(a){var b=this.isIE8;a=a.join(\"\");b?(a=a.replace(\"/\\x3e\",' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'),a=-1===a.indexOf('style\\x3d\"')?a.replace(\"/\\x3e\",' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e'):a.replace('style\\x3d\"','style\\x3d\"display:inline-block;behavior:url(#default#VML);')):a=a.replace(\"\\x3c\",\"\\x3chcv:\");return a},text:u.prototype.html,path:function(a){var b={coordsize:\"10 10\"};d(a)?b.d=\n", "a:w(a)&&v(b,a);return this.createElement(\"shape\").attr(b)},circle:function(a,e,c){var b=this.symbol(\"circle\");w(a)&&(c=a.r,e=a.y,a=a.x);b.isCircle=!0;b.r=c;return b.attr({x:a,y:e})},g:function(a){var b;a&&(b={className:\"highcharts-\"+a,\"class\":\"highcharts-\"+a});return this.createElement(\"div\").attr(b)},image:function(a,e,c,d,l){var b=this.createElement(\"img\").attr({src:a});1c&&h-e*lg&&(t=Math.round((d-h)/Math.cos(c*q)));else if(d=h+(1-e)*l,h-e*lg&&(m=g-a.x+m*e,b=-1),m=Math.min(u,\n", "m),mm||k.autoRotation&&(n.styles||{}).width)t=m;t&&(y.width=t,(k.options.labels.style||{}).textOverflow||(y.textOverflow=\"ellipsis\"),n.css(y))},getPosition:function(a,k,f,d){var g=this.axis,h=g.chart,n=d&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+f,null,null,d)+g.transB:g.left+g.offset+(g.opposite?(d&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?n-g.bottom+g.offset-(g.opposite?g.height:0):n-g.translate(k+f,null,\n", "null,d)-g.transB}},getLabelPosition:function(a,k,f,d,g,h,B,c){var e=this.axis,l=e.transA,u=e.reversed,w=e.staggerLines,b=e.tickRotCorr||{x:0,y:0},t=g.y;z(t)||(t=0===e.side?f.rotation?-8:-f.getBBox().height:2===e.side?b.y+8:Math.cos(f.rotation*q)*(b.y-f.getBBox(!1,0).height/2));a=a+g.x+b.x-(h&&d?h*l*(u?-1:1):0);k=k+t-(h&&!d?h*l*(u?1:-1):0);w&&(f=B/(c||1)%w,e.opposite&&(f=w-f-1),k+=e.labelOffset/w*f);return{x:a,y:Math.round(k)}},getMarkPath:function(a,f,h,d,g,w){return w.crispLine([\"M\",a,f,\"L\",a+(g?\n", "0:-h),f+(g?h:0)],d)},render:function(a,k,v){var d=this.axis,g=d.options,w=d.chart.renderer,n=d.horiz,c=this.type,e=this.label,l=this.pos,u=g.labels,q=this.gridLine,b=c?c+\"Tick\":\"tick\",t=d.tickSize(b),y=this.mark,K=!y,x=u.step,m={},r=!0,G=d.tickmarkOffset,H=this.getPosition(n,l,G,k),N=H.x,H=H.y,p=n&&N===d.pos+d.len||!n&&H===d.pos?-1:1,A=c?c+\"Grid\":\"grid\",P=g[A+\"LineWidth\"],O=g[A+\"LineColor\"],C=g[A+\"LineDashStyle\"],A=f(g[b+\"Width\"],!c&&d.isXAxis?1:0),b=g[b+\"Color\"];v=f(v,1);this.isActive=!0;q||(m.stroke=\n", "O,m[\"stroke-width\"]=P,C&&(m.dashstyle=C),c||(m.zIndex=1),k&&(m.opacity=0),this.gridLine=q=w.path().attr(m).addClass(\"highcharts-\"+(c?c+\"-\":\"\")+\"grid-line\").add(d.gridGroup));if(!k&&q&&(l=d.getPlotLinePath(l+G,q.strokeWidth()*p,k,!0)))q[this.isNew?\"attr\":\"animate\"]({d:l,opacity:v});t&&(d.opposite&&(t[0]=-t[0]),K&&(this.mark=y=w.path().addClass(\"highcharts-\"+(c?c+\"-\":\"\")+\"tick\").add(d.axisGroup),y.attr({stroke:b,\"stroke-width\":A})),y[K?\"attr\":\"animate\"]({d:this.getMarkPath(N,H,t[0],y.strokeWidth()*\n", "p,n,w),opacity:v}));e&&J(N)&&(e.xy=H=this.getLabelPosition(N,H,e,n,u,G,a,x),this.isFirst&&!this.isLast&&!f(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!f(g.showLastLabel,1)?r=!1:!n||d.isRadial||u.step||u.rotation||k||0===v||this.handleOverflow(H),x&&a%x&&(r=!1),r&&J(H.y)?(H.opacity=v,e[this.isNew?\"attr\":\"animate\"](H)):(h(e),e.attr(\"y\",-9999)),this.isNew=!1)},destroy:function(){F(this,this.axis)}}})(M);(function(a){var D=a.addEvent,z=a.animObject,F=a.arrayMax,J=a.arrayMin,m=a.AxisPlotLineOrBandExtension,\n", "f=a.color,h=a.correctFloat,q=a.defaultOptions,n=a.defined,k=a.deg2rad,v=a.destroyObjectProperties,d=a.each,g=a.error,w=a.extend,B=a.fireEvent,c=a.format,e=a.getMagnitude,l=a.grep,u=a.inArray,L=a.isArray,b=a.isNumber,t=a.isString,y=a.merge,K=a.normalizeTickInterval,x=a.pick,I=a.PlotLineOrBand,r=a.removeEvent,G=a.splat,H=a.syncTimeout,N=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:\"%H:%M:%S.%L\",second:\"%H:%M:%S\",minute:\"%H:%M\",\n", "hour:\"%H:%M\",day:\"%e. %b\",week:\"%e. %b\",month:\"%b '%y\",year:\"%Y\"},endOnTick:!1,labels:{enabled:!0,style:{color:\"#666666\",cursor:\"default\",fontSize:\"11px\"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:\"outside\",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:\"between\",tickPixelInterval:100,tickPosition:\"outside\",title:{align:\"middle\",style:{color:\"#666666\"}},type:\"linear\",minorGridLineColor:\"#f2f2f2\",minorGridLineWidth:1,minorTickColor:\"#999999\",lineColor:\"#ccd6eb\",\n", "lineWidth:1,gridLineColor:\"#e6e6e6\",tickColor:\"#ccd6eb\"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:\"Values\"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:\"11px\",fontWeight:\"bold\",color:\"#000000\",textShadow:\"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast\"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},\n", "title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var e=b.isX;this.chart=a;this.horiz=a.inverted?!e:e;this.isXAxis=e;this.coll=this.coll||(e?\"xAxis\":\"yAxis\");this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var c=this.options,p=c.type;\n", "this.labelFormatter=c.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=c.reversed;this.visible=!1!==c.visible;this.zoomEnabled=!1!==c.zoomEnabled;this.hasNames=\"category\"===p||!0===c.categories;this.categories=c.categories||this.hasNames;this.names=this.names||[];this.isLog=\"logarithmic\"===p;this.isDatetimeAxis=\"datetime\"===p;this.isLinked=n(c.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands=\n", "{};this.len=0;this.minRange=this.userMinRange=c.minRange||c.maxZoom;this.range=c.range;this.offset=c.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(c.crosshair,G(a.options.tooltip.crosshairs)[e?0:1],!1);var d;b=this.options.events;-1===u(this,a.axes)&&(e?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&e&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=\n", "this.removePlotBandOrLine;for(d in b)D(this,d,b[d]);this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=y(this.defaultOptions,\"yAxis\"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],y(q[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,e=this.value,d=b.categories,l=this.dateTimeLabelFormat,g=q.lang.numericSymbols,r=g&&\n", "g.length,u,f=b.options.labels.format,b=b.isLog?e:b.tickInterval;if(f)u=c(f,this);else if(d)u=e;else if(l)u=a.dateFormat(l,e);else if(r&&1E3<=b)for(;r--&&void 0===u;)d=Math.pow(1E3,r+1),b>=d&&0===10*e%d&&null!==g[r]&&0!==e&&(u=a.numberFormat(e/d,-1)+g[r]);void 0===u&&(u=1E4<=Math.abs(e)?a.numberFormat(e,-1):a.numberFormat(e,-1,void 0,\"\"));return u},getSeriesExtremes:function(){var a=this,e=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&\n", "a.buildStacks();d(a.series,function(c){if(c.visible||!e.options.chart.ignoreHiddenSeries){var p=c.options,d=p.threshold,A;a.hasVisibleSeries=!0;a.isLog&&0>=d&&(d=null);if(a.isXAxis)p=c.xData,p.length&&(c=J(p),b(c)||c instanceof Date||(p=l(p,function(a){return b(a)}),c=J(p)),a.dataMin=Math.min(x(a.dataMin,p[0]),c),a.dataMax=Math.max(x(a.dataMax,p[0]),F(p)));else if(c.getExtremes(),A=c.dataMax,c=c.dataMin,n(c)&&n(A)&&(a.dataMin=Math.min(x(a.dataMin,c),c),a.dataMax=Math.max(x(a.dataMax,A),A)),n(d)&&\n", "(a.threshold=d),!p.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,e,c,d,l,g){var p=this.linkedParent||this,A=1,r=0,u=d?p.oldTransA:p.transA;d=d?p.oldMin:p.min;var E=p.minPixelPadding;l=(p.isOrdinal||p.isBroken||p.isLog&&l)&&p.lin2val;u||(u=p.transA);c&&(A*=-1,r=p.len);p.reversed&&(A*=-1,r-=A*(p.sector||p.len));e?(a=(a*A+r-E)/u+d,l&&(a=p.lin2val(a))):(l&&(a=p.val2lin(a)),\"between\"===g&&(g=.5),a=A*(a-d)*u+r+A*E+(b(g)?u*g*p.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,\n", "!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,e,c,d,l){var p=this.chart,A=this.left,g=this.top,r,u,f=c&&p.oldChartHeight||p.chartHeight,k=c&&p.oldChartWidth||p.chartWidth,h;r=this.transB;var t=function(a,b,e){if(ae)d?a=Math.min(Math.max(b,a),e):h=!0;return a};l=x(l,this.translate(a,null,null,c));a=c=Math.round(l+r);r=u=Math.round(f-l-r);b(l)?this.horiz?(r=g,u=f-this.bottom,a=c=t(a,A,A+\n", "this.width)):(a=A,c=k-this.right,r=u=t(r,g,g+this.height)):h=!0;return h&&!d?null:p.renderer.crispLine([\"M\",a,r,\"L\",c,u],e||1)},getLinearTickPositions:function(a,e,c){var p,d=h(Math.floor(e/a)*a),A=h(Math.ceil(c/a)*a),l=[];if(e===c&&b(e))return[e];for(e=d;e<=A;){l.push(e);e=h(e+a);if(e===p)break;p=e}return l},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,e=this.minorTickInterval,c=[],d,l=this.pointRangePadding||0;d=this.min-l;var l=this.max+l,g=l-d;if(g&&g/e=this.minRange,g,r,u,f,k,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&\n", "(n(a.min)||n(a.max)?this.minRange=null:(d(this.series,function(a){f=a.xData;for(r=k=a.xIncrement?1:f.length-1;0=q?(I=q,w=0):c.dataMax<=q&&(L=q,H=0)),c.min=x(N,I,c.dataMin),c.max=x(z,\n", "L,c.dataMax));r&&(!a&&0>=Math.min(c.min,x(c.dataMin,c.min))&&g(10,1),c.min=h(u(c.min),15),c.max=h(u(c.max),15));c.range&&n(c.max)&&(c.userMin=c.min=N=Math.max(c.min,c.minFromRange()),c.userMax=z=c.max,c.range=null);B(c,\"foundExtremes\");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(v||c.axisPointRange||c.usePercentage||t)&&n(c.min)&&n(c.max)&&(u=c.max-c.min)&&(!n(N)&&w&&(c.min-=u*w),!n(z)&&H&&(c.max+=u*H));b(l.floor)?c.min=Math.max(c.min,l.floor):b(l.softMin)&&(c.min=Math.min(c.min,l.softMin));\n", "b(l.ceiling)?c.max=Math.min(c.max,l.ceiling):b(l.softMax)&&(c.max=Math.max(c.max,l.softMax));m&&n(c.dataMin)&&(q=q||0,!n(N)&&c.min=q?c.min=q:!n(z)&&c.max>q&&c.dataMax<=q&&(c.max=q));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:t&&!y&&G===c.linkedParent.options.tickPixelInterval?y=c.linkedParent.tickInterval:x(y,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,v?1:(c.max-c.min)*G/Math.max(c.len,G));k&&!a&&d(c.series,function(a){a.processData(c.min!==\n", "c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!y&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));a=x(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!y&&c.tickIntervalc.tickInterval&&1E3c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,e=a.tickPositioner,d=a.startOnTick,l=a.endOnTick,g;this.tickmarkOffset=this.categories&&\"between\"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=\"auto\"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,\n", "a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=b=e);this.isLinked||(this.trimTicks(b,d,l),this.min===this.max&&n(this.min)&&!this.tickAmount&&(g=!0,this.min-=.5,this.max+=.5),this.single=g,c||e||this.adjustTickAmount())},\n", "trimTicks:function(a,b,c){var e=a[0],d=a[a.length-1],p=this.minPointOffset||0;if(b)this.min=e;else for(;this.min-p>a[0];)a.shift();if(c)this.max=d;else for(;this.max+pb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,e=this.finalTickAmt,d=b&&b.length;if(dc&&(this.tickInterval*=\n", "2,this.setTickPositions());if(n(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&0=d&&(b=d)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:\"zoom\"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,e=this.horiz,d=x(b.width,a.plotWidth-c+(b.offsetRight||0)),l=x(b.height,a.plotHeight),g=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(l)&&(l=Math.round(parseFloat(l)/\n", "100*a.plotHeight));c.test(g)&&(g=Math.round(parseFloat(g)/100*a.plotHeight+a.plotTop));this.left=b;this.top=g;this.width=d;this.height=l;this.bottom=a.chartHeight-l-g;this.right=a.chartWidth-d-b;this.len=Math.max(e?d:l,0);this.pos=e?b:g},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?h(b(this.min)):this.min,max:a?h(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,\n", "e=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=e:e>a?a=e:ba?\"right\":195a?\"left\":\"center\"},tickSize:function(a){var b=this.options,c=b[a+\"Length\"],e=x(b[a+\"Width\"],\"tick\"===a&&this.isXAxis?1:0);if(e&&c)return\"inside\"===b[a+\"Position\"]&&(c=-c),[c,e]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,\n", "this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,l=this.len/(((this.categories?1:0)+this.max-this.min)/c),g,r=a.rotation,u=this.labelMetrics(),f,h=Number.MAX_VALUE,t,H=function(a){a/=l||1;a=1=a)f=H(Math.abs(u.h/Math.sin(k*a))),b=f+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/e||!b&&(d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,e=this.ticks,l=this.options.labels,g=this.horiz,r=this.getSlotWidth(),u=Math.max(1,\n", "Math.round(r-2*(l.padding||5))),f={},h=this.labelMetrics(),k=l.style&&l.style.textOverflow,H,w=0,x,G;t(l.rotation)||(f.rotation=l.rotation||0);d(c,function(a){(a=e[a])&&a.labelLength>w&&(w=a.labelLength)});this.maxLabelLength=w;if(this.autoRotation)w>u&&w>h.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(H={width:u+\"px\"},!k))for(H.textOverflow=\"clip\",x=c.length;!g&&x--;)if(G=c[x],u=e[G].label)u.styles&&\"ellipsis\"===u.styles.textOverflow?u.css({textOverflow:\"clip\"}):e[G].labelLength>\n", "r&&u.css({width:r+\"px\"}),u.getBBox().height>this.len/c.length-(h.h-h.f)&&(u.specCss={textOverflow:\"ellipsis\"});f.rotation&&(H={width:(w>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+\"px\"},k||(H.textOverflow=\"ellipsis\"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;d(c,function(a){var b=(a=e[a])&&a.label;b&&(b.attr(f),H&&b.css(y(H,b.specCss)),delete b.specCss,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)},\n", "hasData:function(){return this.hasVisibleSeries||n(this.min)&&n(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,l=a.tickPositions,g=a.ticks,r=a.horiz,u=a.side,f=b.inverted?[1,0,3,2][u]:u,h,k,t=0,H,w=0,y=e.title,G=e.labels,K=0,v=a.opposite,q=b.axisOffset,b=b.clipOffset,m=[-1,1,1,-1][u],B,I=e.className,L=a.axisParent,z=this.tickSize(\"tick\");h=a.hasData();a.showAxis=k=h||x(e.showEmpty,!0);a.staggerLines=a.horiz&&G.staggerLines;a.axisGroup||(a.gridGroup=\n", "c.g(\"grid\").attr({zIndex:e.gridZIndex||1}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\"-grid \"+(I||\"\")).add(L),a.axisGroup=c.g(\"axis\").attr({zIndex:e.zIndex||2}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\" \"+(I||\"\")).add(L),a.labelGroup=c.g(\"axis-labels\").attr({zIndex:G.zIndex||7}).addClass(\"highcharts-\"+a.coll.toLowerCase()+\"-labels \"+(I||\"\")).add(L));if(h||a.isLinked)d(l,function(b){g[b]?g[b].addLabel():g[b]=new N(a,b)}),a.renderUnsquish(),!1===G.reserveSpace||0!==u&&2!==u&&{1:\"left\",3:\"right\"}[u]!==\n", "a.labelAlign&&\"center\"!==a.labelAlign||d(l,function(a){K=Math.max(g[a].getLabelSize(),K)}),a.staggerLines&&(K*=a.staggerLines,a.labelOffset=K*(a.opposite?-1:1));else for(B in g)g[B].destroy(),delete g[B];y&&y.text&&!1!==y.enabled&&(a.axisTitle||((B=y.textAlign)||(B=(r?{low:\"left\",middle:\"center\",high:\"right\"}:{low:v?\"right\":\"left\",middle:\"center\",high:v?\"left\":\"right\"})[y.align]),a.axisTitle=c.text(y.text,0,0,y.useHTML).attr({zIndex:7,rotation:y.rotation||0,align:B}).addClass(\"highcharts-axis-title\").css(y.style).add(a.axisGroup),\n", "a.axisTitle.isNew=!0),k&&(t=a.axisTitle.getBBox()[r?\"height\":\"width\"],H=y.offset,w=n(H)?0:x(y.margin,r?5:10)),a.axisTitle[k?\"show\":\"hide\"](!0));a.renderLine();a.offset=m*x(e.offset,q[u]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===u?-a.labelMetrics().h:2===u?a.tickRotCorr.y:0;w=Math.abs(K)+w;K&&(w=w-c+m*(r?x(G.y,a.tickRotCorr.y+8*m):G.x));a.axisTitleMargin=x(H,w);q[u]=Math.max(q[u],a.axisTitleMargin+t+m*a.offset,w,h&&l.length&&z?z[0]:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[f]=\n", "Math.max(b[f],e)},getLinePath:function(a){var b=this.chart,c=this.opposite,e=this.offset,d=this.horiz,l=this.left+(c?this.width:0)+e,e=b.chartHeight-this.bottom-(c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine([\"M\",d?this.left:l,d?e:this.top,\"L\",d?b.chartWidth-this.right:l,d?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,\n", "\"stroke-width\":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,d=this.options.title,l=a?b:c,g=this.opposite,r=this.offset,u=d.x||0,f=d.y||0,h=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,this.axisTitle).f,e={low:l+(a?0:e),middle:l+e/2,high:l+(a?e:0)}[d.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(2===this.side?h:0);return{x:a?e+u:b+(g?this.width:0)+r+u,y:a?b+f-(g?this.height:0)+r:e+f}},render:function(){var a=\n", "this,c=a.chart,e=c.renderer,l=a.options,g=a.isLog,r=a.lin2log,u=a.isLinked,f=a.tickPositions,h=a.axisTitle,k=a.ticks,t=a.minorTicks,w=a.alternateBands,y=l.stackLabels,x=l.alternateGridColor,G=a.tickmarkOffset,n=a.axisLine,K=c.hasRendered&&b(a.oldMin),v=a.showAxis,q=z(e.globalAnimation),m,B;a.labelEdge.length=0;a.overlap=!1;d([k,t,w],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||u)a.minorTickInterval&&!a.categories&&d(a.getMinorTickPositions(),function(b){t[b]||(t[b]=new N(a,b,\"minor\"));\n", "K&&t[b].isNew&&t[b].render(null,!0);t[b].render(null,!1,1)}),f.length&&(d(f,function(b,c){if(!u||b>=a.min&&b<=a.max)k[b]||(k[b]=new N(a,b)),K&&k[b].isNew&&k[b].render(c,!0,.1),k[b].render(c)}),G&&(0===a.min||a.single)&&(k[-1]||(k[-1]=new N(a,-1,null,!0)),k[-1].render(-1))),x&&d(f,function(b,e){B=void 0!==f[e+1]?f[e+1]+G:a.max-G;0===e%2&&b=d.second?0:x*Math.floor(b.getMilliseconds()/x));if(K>=d.second)b[z.hcSetSeconds](K>=d.minute?0:x*Math.floor(b.getSeconds()/\n", "x));if(K>=d.minute)b[z.hcSetMinutes](K>=d.hour?0:x*Math.floor(b[z.hcGetMinutes]()/x));K>=d.hour&&(b[z.hcSetHours](K>=d.day?0:x*Math.floor(b[z.hcGetHours]()/x)),t=b[z.hcGetHours]());if(K>=d.day)b[z.hcSetDate](K>=d.month?1:x*Math.floor(b[z.hcGetDate]()/x));K>=d.month&&(b[z.hcSetMonth](K>=d.year?0:x*Math.floor(b[z.hcGetMonth]()/x)),w=b[z.hcGetFullYear]());if(K>=d.year)b[z.hcSetFullYear](w-w%x);if(K===d.week)b[z.hcSetDate](b[z.hcGetDate]()-b[z.hcGetDay]()+v(c,1));c=1;if(z.hcTimezoneOffset||z.hcGetTimezoneOffset)B=\n", "(!g||!!z.hcGetTimezoneOffset)&&(q-k>4*d.month||n(k)!==n(q)),b=b.getTime(),b=new z(b+n(b));w=b[z.hcGetFullYear]();k=b.getTime();g=b[z.hcGetMonth]();for(b=b[z.hcGetDate]();kh&&(!n||l<=q)&&void 0!==l&&w.push(l),l>q&&(u=!0),l=e;else h=d(h),q=d(q),a=f[n?\"minorTickInterval\":\n", "\"tickInterval\"],a=m(\"auto\"===a?null:a,this._minorAutoInterval,f.tickPixelInterval/(n?5:1)*(q-h)/((n?v/this.tickPositions.length:v)||1)),a=J(a,null,z(a)),w=F(this.getLinearTickPositions(a,h,q),g),n||(this._minorAutoInterval=a/5);n||(this.tickInterval=a);return w};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(M);(function(a){var D=a.dateFormat,z=a.each,F=a.extend,J=a.format,m=a.isNumber,f=a.map,h=a.merge,q=a.pick,n=a.splat,k=a.stop,\n", "v=a.syncTimeout,d=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split},cleanSplit:function(a){z(this.chart.series,function(d){var g=d&&d.tt;g&&(!g.isActive||a?d.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,d=this.options;this.label||(this.split?this.label=a.g(\"tooltip\"):\n", "(this.label=a.label(\"\",0,0,d.shape||\"callout\",null,null,d.useHTML,null,\"tooltip\").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor,\"stroke-width\":d.borderWidth}).css(d.style).shadow(d.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());\n", "clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,d,f,c){var e=this,l=e.now,g=!1!==e.options.animation&&!e.isHidden&&(1h-g?h:h-g);else if(f)l[a]=Math.max(r,d+g+c>b?d:d+g);else return!1},x=function(a,b,c,d){var g;db-e?g=!1:l[a]=db-c/2?b-c-2:d-c/2;return g},w=function(a){var c=b;b=k;k=c;h=a},r=function(){!1!==n.apply(0,b)?!1!==x.apply(0,k)||h||(w(!0),r()):h?l.x=l.y=0:(w(!0),r())};(c.inverted||1r&&(u=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=e.plotTop;\n", "c.push({target:d.isHeader?e.plotHeight+b:a,rank:d.isHeader?1:0,size:t.tt.getBBox().height+1,point:d,x:r,tt:y})});this.cleanSplit();a.distribute(c,e.plotHeight+b);z(c,function(a){var b=a.point,c=a.tt,d;d={visibility:void 0===a.pos?\"hidden\":\"inherit\",x:u||b.isHeader?a.x:b.plotX+e.plotLeft+q(h.distance,16),y:a.pos+e.plotTop};b.isHeader&&(d.anchorX=b.plotX+e.plotLeft,d.anchorY=d.y-100);c.attr(d);b.isHeader||c.connector.attr({d:[\"M\",b.plotX+e.plotLeft-d.x,b.plotY+b.series.yAxis.pos-d.y,\"L\",(u?-1:1)*q(h.distance,\n", "16)+b.plotX+e.plotLeft-d.x,a.pos+e.plotTop+c.getBBox().height/2-d.y]})})},updatePosition:function(a){var d=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getXDateFormat:function(a,f,h){var c;f=f.dateTimeLabelFormats;var e=h&&h.closestPointRange,l,g={millisecond:15,second:12,minute:9,hour:6,day:3},k,b=\"millisecond\";if(e){k=D(\"%m-%d %H:%M:%S.%L\",a.x);for(l in d){if(e===\n", "d.week&&+D(\"%w\",a.x)===h.options.startOfWeek&&\"00:00:00.000\"===k.substr(6)){l=\"week\";break}if(d[l]>e){l=b;break}if(g[l]&&k.substr(g[l])!==\"01-01 00:00:00.000\".substr(g[l]))break;\"week\"!==l&&(b=l)}l&&(c=f[l])}else c=f.day;return c||f.year},tooltipFooterHeaderFormatter:function(a,d){var g=d?\"footer\":\"header\";d=a.series;var c=d.tooltipOptions,e=c.xDateFormat,l=d.xAxis,u=l&&\"datetime\"===l.options.type&&m(a.key),g=c[g+\"Format\"];u&&!e&&(e=this.getXDateFormat(a,c,l));u&&e&&(g=g.replace(\"{point.key}\",\"{point.key:\"+\n", "e+\"}\"));return J(g,{point:a,series:d})},bodyFormatter:function(a){return f(a,function(a){var d=a.series.tooltipOptions;return(d.pointFormatter||a.point.tooltipFormatter).call(a.point,d.pointFormat)})}}})(M);(function(a){var D=a.addEvent,z=a.attr,F=a.charts,J=a.color,m=a.css,f=a.defined,h=a.doc,q=a.each,n=a.extend,k=a.fireEvent,v=a.offset,d=a.pick,g=a.removeEvent,w=a.splat,B=a.Tooltip,c=a.win;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=\n", "a;this.runChartClick=c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};B&&c.tooltip.enabled&&(a.tooltip=new B(a,c.tooltip),this.followTouchMove=d(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(){var a=this.chart,c=a.options.chart.zoomType,d=/x/.test(c),c=/y/.test(c),a=a.inverted;this.zoomX=d;this.zoomY=c;this.zoomHor=d&&!a||c&&a;this.zoomVert=c&&!a||d&&a;this.hasZoom=d||c},normalize:function(a,d){var e,l;a=a||c.event;a.target||(a.target=a.srcElement);\n", "l=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;d||(this.chartPosition=d=v(this.chart.container));void 0===l.pageX?(e=Math.max(a.x,a.clientX-d.left),d=a.y):(e=l.pageX-d.left,d=l.pageY-d.top);return n(a,{chartX:Math.round(e),chartY:Math.round(d)})},getCoordinates:function(a){var c={xAxis:[],yAxis:[]};q(this.chart.axes,function(e){c[e.isXAxis?\"xAxis\":\"yAxis\"].push({axis:e,value:e.toValue(a[e.horiz?\"chartX\":\"chartY\"])})});return c},runPointActions:function(c){var e=this.chart,g=\n", "e.series,f=e.tooltip,b=f?f.shared:!1,k=!0,y=e.hoverPoint,n=e.hoverSeries,x,v,r,G=[],H;if(!b&&!n)for(x=0;xc.series.group.zIndex?-1:1}));if(b)for(x=G.length;x--;)(G[x].x!==G[0].x||G[x].series.noSharedTooltip)&&G.splice(x,1);if(G[0]&&(G[0]!==this.prevKDPoint||f&&f.isHidden)){if(b&&!G[0].series.noSharedTooltip){for(x=0;xh+n&&(d=h+n),bk+r&&(b=k+r),this.hasDragged=Math.sqrt(Math.pow(v-d,2)+Math.pow(p-b,2)),10x.max&&(f=x.max-b,p=!0);p?(G-=.8*(G-g[c][0]),I||(N-=.8*(N-g[c][1])),n()):g[c]=[G,N];m||(d[c]=t-q,d[u]=b);d=m?1/y:y;v[u]=b;v[c]=f;k[m?a?\"scaleY\":\"scaleX\":\"scale\"+e]=y;k[\"translate\"+e]=d*q+(G-d*r)},pinch:function(a){var h=this,n=h.chart,k=h.pinchDown,v=a.touches,d=v.length,g=h.lastValidTouch,w=h.hasZoom,B=h.selectionMarker,c={},e=1===\n", "d&&(h.inClass(a.target,\"highcharts-tracker\")&&n.runTrackerClick||h.runChartClick),l={};1d-6&&l(G||c.chartWidth-2*x-p-g.x)&&(this.itemX=p,this.itemY+=q+this.lastLineHeight+H,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,b);this.lastItemY=q+this.itemY+H;this.lastLineHeight=\n", "Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=b:(this.itemY+=q+h+H,this.lastLineHeight=h);this.offsetWidth=G||Math.max((f?this.itemX-p-w:b)+x,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(c){var e=c&&c.options;c&&v(e.showInLegend,m(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||(\"point\"===e.legendType?c.data:c)))});return a},adjustMargins:function(a,e){var c=this.chart,d=this.options,g=d.align.charAt(0)+d.verticalAlign.charAt(0)+\n", "d.layout.charAt(0);d.floating||f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(b,f){b.test(g)&&!m(a[f])&&(c[n[f]]=Math.max(c[n[f]],c.legend[(f+1)%2?\"legendHeight\":\"legendWidth\"]+[1,-1,-1,1][f]*d[f%2?\"x\":\"y\"]+v(d.margin,12)+e[f]))})},render:function(){var a=this,e=a.chart,d=e.renderer,k=a.group,n,b,t,v,m=a.box,x=a.options,w=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;k||(a.group=k=d.g(\"legend\").attr({zIndex:7}).add(),a.contentGroup=\n", "d.g().attr({zIndex:1}).add(k),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();n=a.getAllItems();g(n,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&n.reverse();a.allItems=n;a.display=b=!!n.length;a.lastLineHeight=0;f(n,function(b){a.renderItem(b)});t=(x.width||a.offsetWidth)+w;v=a.lastItemY+a.lastLineHeight+a.titleHeight;v=a.handleOverflow(v);v+=w;m||(a.box=m=d.rect().addClass(\"highcharts-legend-box\").attr({r:x.borderRadius}).add(k),\n", "m.isNew=!0);m.attr({stroke:x.borderColor,\"stroke-width\":x.borderWidth||0,fill:x.backgroundColor||\"none\"}).shadow(x.shadow);0b&&!1!==x.enabled?(this.clipHeight=n=Math.max(b-20-this.titleHeight-q,0),this.currentPage=v(this.currentPage,1),this.fullHeight=\n", "a,f(A,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=H.length;if(!d||c-H[d-1]>n&&(p||c)!==H[d-1])H.push(p||c),d++;b===A.length-1&&c+a-H[d-1]>n&&H.push(c);c!==p&&(p=c)}),m||(m=c.clipRect=g.clipRect(0,q,9999,0),c.contentGroup.clip(m)),B(n),G||(this.nav=G=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol(\"triangle\",0,0,r,r).on(\"click\",function(){c.scroll(-1,w)}).add(G),this.pager=g.text(\"\",15,10).addClass(\"highcharts-legend-navigation\").css(x.style).add(G),\n", "this.down=g.symbol(\"triangle-down\",0,0,r,r).on(\"click\",function(){c.scroll(1,w)}).add(G)),c.scroll(0),a=b):G&&(B(d.chartHeight),G.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,e){var c=this.pages,g=c.length;a=this.currentPage+a;var f=this.clipHeight,b=this.options.navigation,h=this.pager,k=this.padding;a>g&&(a=g);0c&&(g=typeof a[0],\"string\"===g?d.name=a[0]:\"number\"===g&&(d.x=a[0]),e++);l=f.value;)f=d[++g];f&&f.color&&!this.options.color&&(this.color=f.color);return f},destroy:function(){var a=this.series.chart,d=a.hoverPoints,g;a.pointCount--;d&&(this.setState(),J(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=[\"graphic\",\"dataLabel\",\"dataLabelUpper\",\n", "\"connector\",\"shadowGroup\"],d,g=6;g--;)d=a[g],this[d]&&(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,g=d.tooltipOptions,h=n(g.valueDecimals,\"\"),k=g.valuePrefix||\"\",c=g.valueSuffix||\"\";z(d.pointArrayMap||[\"y\"],function(d){d=\"{point.\"+d;if(k||c)a=a.replace(d+\"}\",k+d+\"}\"+c);a=a.replace(d+\n", "\"}\",d+\":,.\"+h+\"f}\")});return f(a,{point:this,series:this.series})},firePointEvent:function(a,d,g){var f=this,h=this.series.options;(h.point.events[a]||f.options&&f.options.events&&f.options.events[a])&&this.importEvents();\"click\"===a&&h.allowPointSelect&&(g=function(a){f.select&&f.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,d,g)},visible:!0}})(M);(function(a){var D=a.addEvent,z=a.animObject,F=a.arrayMax,J=a.arrayMin,m=a.correctFloat,f=a.Date,h=a.defaultOptions,q=a.defaultPlotOptions,\n", "n=a.defined,k=a.each,v=a.erase,d=a.error,g=a.extend,w=a.fireEvent,B=a.grep,c=a.isArray,e=a.isNumber,l=a.isString,u=a.merge,L=a.pick,b=a.removeEvent,t=a.splat,y=a.stableSort,K=a.SVGElement,x=a.syncTimeout,I=a.win;a.Series=a.seriesType(\"line\",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:\"#ffffff\",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:\"#cccccc\",lineColor:\"#000000\",\n", "lineWidth:2}}},point:{events:{}},dataLabels:{align:\"center\",formatter:function(){return null===this.y?\"\":a.numberFormat(this.y,-1)},style:{fontSize:\"11px\",fontWeight:\"bold\",color:\"contrast\",textShadow:\"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast\"},verticalAlign:\"bottom\",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,\n", "pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:[\"xAxis\",\"yAxis\"],colorCounter:0,parallelArrays:[\"x\",\"y\"],coll:\"series\",init:function(a,b){var c=this,d,e,f=a.series,r=function(a,b){return L(a.options.index,a._i)-L(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:\"\",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||\n", "b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+\"Data\"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.push(c);c._i=f.length-1;y(f,r);this.yAxis&&y(this.yAxis.series,r);k(f,function(a,b){a.index=b;a.name=a.name||\"Series \"+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart,e;k(a.axisTypes||[],function(g){k(c[g],function(c){e=c.options;if(b[g]===e.index||void 0!==b[g]&&b[g]===e.id||void 0===b[g]&&0===e.index)c.series.push(a),\n", "a[g]=c,c.isDirty=!0});a[g]||a.optionalAxis===g||d(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,g=e(b)?function(d){var e=\"y\"===d&&c.toYData?c.toYData(a):a[d];c[d+\"Data\"][b]=e}:function(a){Array.prototype[b].apply(c[a+\"Data\"],Array.prototype.slice.call(d,2))};k(c.parallelArrays,g)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,b=L(b,a.pointStart,0);this.pointInterval=c=L(this.pointInterval,a.pointInterval,1);d&&(a=new f(b),\"day\"===d?\n", "a=+a[f.hcSetDate](a[f.hcGetDate]()+c):\"month\"===d?a=+a[f.hcSetMonth](a[f.hcGetMonth]()+c):\"year\"===d&&(a=+a[f.hcSetFullYear](a[f.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=u(e,c.series,a);this.tooltipOptions=u(h.tooltip,h.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&\n", "delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+\"Threshold\"]||c.threshold||0,className:\"highcharts-negative\",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&n(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d,e=this.userOptions,g=a+\"Index\",f=a+\"Counter\",h=c?c.length:L(this.chart.options.chart[a+\"Count\"],this.chart[a+\n", "\"Count\"]);b||(d=L(e[g],e[\"_\"+g]),n(d)||(e[\"_\"+g]=d=this.chart[f]%h,this.chart[f]+=1),c&&(b=c[d]));void 0!==d&&(this[g]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic(\"color\",this.options.color||q[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic(\"symbol\",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,b,g,f){var h=this,r=h.points,n=r&&r.length||\n", "0,t,u=h.options,x=h.chart,m=null,y=h.xAxis,G=u.turboThreshold,q=this.xData,w=this.yData,v=(t=h.pointArrayMap)&&t.length;a=a||[];t=a.length;b=L(b,!0);if(!1!==f&&t&&n===t&&!h.cropped&&!h.hasGroupedData&&h.visible)k(a,function(a,b){r[b].update&&a!==u.data[b]&&r[b].update(a,!1,null,!1)});else{h.xIncrement=null;h.colorCounter=0;k(this.parallelArrays,function(a){h[a+\"Data\"].length=0});if(G&&t>G){for(g=0;null===m&&gk||this.forceCrop))if(b[e-1]x)b=[],c=[];else if(b[0]x)g=this.cropData(this.xData,this.yData,m,x),b=g.xData,c=g.yData,\n", "g=g.start,f=!0;for(k=b.length||1;--k;)e=u?r(b[k])-r(b[k-1]):b[k]-b[k-1],0e&&this.requireSorting&&d(15);this.cropped=f;this.cropStart=g;this.processedXData=b;this.processedYData=c;this.closestPointRange=h},cropData:function(a,b,c,d){var e=a.length,g=0,f=e,h=L(this.cropShoulder,1),l;for(l=0;l=c){g=Math.max(0,l-h);break}for(c=l;cd){f=c+h;break}return{xData:a.slice(g,f),yData:b.slice(g,f),start:g,end:f}},generatePoints:function(){var a=this.options.data,\n", "b=this.data,c,d=this.processedXData,e=this.processedYData,g=this.pointClass,f=d.length,h=this.cropStart||0,l,k=this.hasGroupedData,n,u=[],m;b||k||(b=[],b.length=a.length,b=this.data=b);for(m=0;m=l&&(d[m-1]||n)<=k,r&&n)if(r=t.length)for(;r--;)null!==t[r]&&(f[h++]=t[r]);else f[h++]=t;this.dataMin=J(f);this.dataMax=F(f)},translate:function(){this.processedXData||\n", "this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,g=this.yAxis,f=this.points,h=f.length,l=!!this.modifyValue,k=a.pointPlacement,t=\"between\"===k||e(k),u=a.threshold,x=a.startFromThreshold?u:0,y,q,w,v,K=Number.MAX_VALUE,a=0;a=z&&(I.isNull=!0);I.plotX=y=m(Math.min(Math.max(-1E5,c.translate(B,0,0,0,1,k,\"flags\"===this.type)),\n", "1E5));b&&this.visible&&!I.isNull&&D&&D[B]&&(v=this.getStackIndicator(v,B,this.index),F=D[B],z=F.points[v.key],q=z[0],z=z[1],q===x&&v.key===D[B].base&&(q=L(u,g.min)),g.isLog&&0>=q&&(q=null),I.total=I.stackTotal=F.total,I.percentage=F.total&&I.y/F.total*100,I.stackY=z,F.setOffset(this.pointXOffset||0,this.barW||0));I.yBottom=n(q)?g.translate(q,0,1,0,1):null;l&&(z=this.modifyValue(z,I));I.plotY=q=\"number\"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,g.translate(z,0,1,0,1)),1E5):void 0;I.isInside=\n", "void 0!==q&&0<=q&&q<=g.len&&0<=y&&y<=c.len;I.clientX=t?m(c.translate(B,0,0,0,1,k)):y;I.negative=I.y<(u||0);I.category=d&&void 0!==d[I.x]?d[I.x]:I.x;I.isNull||(void 0!==w&&(K=Math.min(K,Math.abs(y-w))),w=y)}this.closestPointRangePx=K},getValidPoints:function(a,b){var c=this.chart;return B(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,g=this.clipBox,f=g||b.clipBox,h=this.sharedClipKey||\n", "[\"_sharedClip\",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),l=b[h],k=b[h+\"m\"];l||(a&&(f.width=0,b[h+\"m\"]=k=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[h]=l=d.clipRect(f),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);!1!==c.clip&&(this.group.clip(a||g?l:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=h);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&b[h]&&(g||\n", "(b[h]=b[h].destroy()),b[h+\"m\"]&&(b[h+\"m\"]=b[h+\"m\"].destroy())))},animate:function(a){var b=this.chart,c=z(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+\"m\"]&&b[d+\"m\"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();w(this,\"afterAnimate\")},drawPoints:function(){var a=this.points,b=this.chart,c,d,g,f,h=this.options.marker,l,k,n,t,m=this.markerGroup,u=L(h.enabled,this.xAxis.isRadial?!0:null,\n", "this.closestPointRangePx>2*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(d=a.length;d--;)g=a[d],c=g.plotY,f=g.graphic,l=g.marker||{},k=!!g.marker,n=u&&void 0===l.enabled||l.enabled,t=g.isInside,n&&e(c)&&null!==g.y?(c=L(l.symbol,this.symbol),g.hasImage=0===c.indexOf(\"url\"),n=this.markerAttribs(g,g.selected&&\"select\"),f?f[t?\"show\":\"hide\"](!0).animate(n):t&&(0e&&b.shadow));f&&(f.startX=c.xMap,f.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,g,f=this.clips||[],h,l=this.graph,n=this.area,t=Math.max(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||\"y\")+\"Axis\"],u,x,y=b.inverted,q,w,v,K,I=!1;d.length&&(l||n)&&m&&void 0!==m.min&&(x=\n", "m.reversed,q=m.horiz,l&&l.hide(),n&&n.hide(),u=m.getExtremes(),k(d,function(d,k){e=x?q?b.plotWidth:0:q?0:m.toPixels(u.min);e=Math.min(Math.max(L(g,e),0),t);g=Math.min(Math.max(Math.round(m.toPixels(L(d.value,u.max),!0)),0),t);I&&(e=g=m.toPixels(u.max));w=Math.abs(e-g);v=Math.min(e,g);K=Math.max(e,g);m.isXAxis?(h={x:y?K:v,y:0,width:w,height:t},q||(h.x=b.plotHeight-h.x)):(h={x:0,y:y?K:v,width:t,height:w},q&&(h.y=b.plotWidth-h.y));y&&c.isVML&&(h=m.isXAxis?{x:0,y:x?v:K,height:h.width,width:b.chartWidth}:\n", "{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});f[k]?f[k].animate(h):(f[k]=c.clipRect(h),l&&a[\"zone-graph-\"+k].clip(f[k]),n&&a[\"zone-area-\"+k].clip(f[k]));I=d.value>u.max}),this.clips=f)},invertGroups:function(a){function c(){var b={width:d.yAxis.len,height:d.xAxis.len};k([\"group\",\"markerGroup\"],function(c){d[c]&&d[c].attr(b).invert(a)})}var d=this,e=d.chart;d.xAxis&&(D(e,\"resize\",c),D(d,\"destroy\",function(){b(e,\"resize\",c)}),c(a),d.invertGroups=c)},plotGroup:function(a,\n", "b,c,d,e){var g=this[a],f=!g;f&&(this[a]=g=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),g.addClass(\"highcharts-series-\"+this.index+\" highcharts-\"+this.type+\"-series highcharts-color-\"+this.colorIndex+\" \"+(this.options.className||\"\")));g.attr({visibility:c})[f?\"attr\":\"animate\"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=\n", "this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&z(d.animation).duration,g=a.visible?\"inherit\":\"hidden\",f=d.zIndex,h=a.hasRendered,l=b.seriesGroup,k=b.inverted;c=a.plotGroup(\"group\",\"series\",g,f,l);a.markerGroup=a.plotGroup(\"markerGroup\",\"markers\",g,f,l);e&&a.animate(!0);c.inverted=a.isCartesian?k:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(k);\n", "!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);e&&a.animate();h||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:L(d&&d.left,a.plotLeft),translateY:L(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:[\"clientX\",\n", "\"plotY\"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,e){var g,f;if(f=c&&c.length)return g=b.kdAxisArray[d%e],c.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),d+1,e),right:a(c.slice(f+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,\n", "!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,l){var k=b.point,t=d.kdAxisArray[h%l],m,u,r=k;u=n(a[e])&&n(k[e])?Math.pow(a[e]-k[e],2):null;m=n(a[g])&&n(k[g])?Math.pow(a[g]-k[g],2):null;m=(u||0)+(m||0);k.dist=n(m)?Math.sqrt(m):Number.MAX_VALUE;k.distX=n(u)?Math.sqrt(u):Number.MAX_VALUE;t=a[t]-k[t];m=0>t?\"left\":\"right\";u=0>t?\"right\":\"left\";b[m]&&(m=c(a,b[m],h+1,l),r=m[f]t;)u--;this.updateParallelArrays(k,\"splice\",u,0,0);this.updateParallelArrays(k,u);h&&k.name&&(h[t]=k.name);l.splice(u,0,a);n&&(this.data.splice(u,0,null),this.processData());\"point\"===b.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):\n", "(f.shift(),this.updateParallelArrays(k,\"shift\"),l.shift()));this.isDirtyData=this.isDirty=!0;c&&g.redraw(e)},removePoint:function(a,c,d){var b=this,e=b.data,f=e[a],g=b.points,h=b.chart,l=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);b.options.data.splice(a,1);b.updateParallelArrays(f||{series:b},\"splice\",a,1);f&&f.destroy();b.isDirty=!0;b.isDirtyData=!0;c&&h.redraw()};u(d,h);c=B(c,!0);f?f.firePointEvent(\"remove\",null,l):l()},remove:function(a,c,d){function b(){e.destroy();f.isDirtyLegend=\n", "f.isDirtyBox=!0;f.linkSeries();B(a,!0)&&f.redraw(c)}var e=this,f=e.chart;!1!==d?k(e,\"remove\",null,b):b()},update:function(a,c){var b=this,d=this.chart,e=this.userOptions,f=this.type,g=a.type||e.type||d.options.chart.type,k=l[f].prototype,m=[\"group\",\"markerGroup\",\"dataLabelsGroup\"],u;if(g&&g!==f||void 0!==a.zIndex)m.length=0;h(m,function(a){m[a]=b[a];delete b[a]});a=w(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(u in k)this[u]=void 0;\n", "n(this,l[g||f].prototype);h(m,function(a){b[a]=m[a]});this.init(d,a);d.linkSeries();B(c,!0)&&d.redraw(!1)}});n(F.prototype,{update:function(a,c){var b=this.chart;a=b.options[this.coll][this.options.index]=w(this.userOptions,a);this.destroy(!0);this.init(b,n(a,{events:void 0}));b.isDirtyBox=!0;B(c,!0)&&b.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);q(b.axes,this);q(b[c],this);b.options[c].splice(this.options.index,1);h(b[c],function(a,\n", "b){a.options.index=b});this.destroy();b.isDirtyBox=!0;B(a,!0)&&b.redraw()},setTitle:function(a,c){this.update({title:a},c)},setCategories:function(a,c){this.update({categories:a},c)}})})(M);(function(a){var D=a.color,z=a.each,F=a.map,J=a.pick,m=a.Series,f=a.seriesType;f(\"area\",\"line\",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],f=[],n=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],d={},g=this.points,w=this.index,B=k.series,c=B.length,e,l=J(k.options.reversedStacks,\n", "!0)?1:-1,u,L;if(this.options.stacking){for(u=0;ua&&g>k?(g=Math.max(a,k),B=2*k-g):gm&&B>k?(B=Math.max(m,k),g=2*k-B):B=Math.abs(f)&&.5a.closestPointRange*a.xAxis.transA,m=a.borderWidth=\n", "h(k.borderWidth,m?0:1),c=a.yAxis,e=a.translatedThreshold=c.getThreshold(k.threshold),l=h(k.minPointLength,5),n=a.getColumnMetrics(),v=n.width,b=a.barW=Math.max(v,1+2*m),t=a.pointXOffset=n.offset;f.inverted&&(e-=.5);k.pointPadding&&(b=Math.ceil(b));q.prototype.translate.apply(a);F(a.points,function(d){var g=h(d.yBottom,e),k=999+Math.abs(g),k=Math.min(Math.max(-k,d.plotY),c.len+k),m=d.plotX+t,n=b,u=Math.min(k,g),q,y=Math.max(k,g)-u;Math.abs(y)l?g-l:e-(q?l:0));d.barX=m;d.pointWidth=v;d.tooltipPos=f.inverted?[c.len+c.pos-f.plotLeft-k,a.xAxis.len-m-n/2,y]:[m+n/2,k+c.pos-f.plotTop,y];d.shapeType=\"rect\";d.shapeArgs=a.crispCol.apply(a,d.isNull?[d.plotX,c.len/2,0,0]:[m,u,n,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?\"addClass\":\"removeClass\"](\"highcharts-dense-data\")},pointAttribs:function(a,f){var d=this.options,g=this.pointAttrToOptions||{},c=g.stroke||\n", "\"borderColor\",e=g[\"stroke-width\"]||\"borderWidth\",h=a&&a.color||this.color,k=a[c]||d[c]||this.color||h,g=d.dashStyle,m;a&&this.zones.length&&(h=(h=a.getZone())&&h.color||a.options.color||this.color);f&&(f=d.states[f],m=f.brightness,h=f.color||void 0!==m&&z(h).brighten(f.brightness).get()||h,k=f[c]||k,g=f.dashStyle||g);a={fill:h,stroke:k,\"stroke-width\":a[e]||d[e]||this[e]||0};d.borderRadius&&(a.r=d.borderRadius);g&&(a.dashstyle=g);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,\n", "n=g.renderer,c=h.animationLimit||250,e;F(a.points,function(d){var l=d.graphic;m(d.plotY)&&null!==d.y?(e=d.shapeArgs,l?(k(l),l[g.pointCountn;++n)k=h[n],a=2>n||2===n&&/%$/.test(k),h[n]=z(k,[f,J,q,h[2]][n])+(a?m:0);h[3]>h[2]&&(h[3]=h[2]);return h}}})(M);(function(a){var D=a.addEvent,z=a.defined,F=a.each,J=a.extend,\n", "m=a.inArray,f=a.noop,h=a.pick,q=a.Point,n=a.Series,k=a.seriesType,v=a.setAnimation;k(\"pie\",\"line\",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:\"point\",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:\"#ffffff\",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,\n", "noSharedTooltip:!0,trackerGroups:[\"group\",\"dataLabelsGroup\"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,f=d.points,h=d.startAngleRad;a||(F(f,function(a){var c=a.graphic,f=a.shapeArgs;c&&(c.attr({r:a.startR||d.center[3]/2,start:h,end:h}),c.animate({r:f.r,start:f.start,end:f.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,f=0,h=this.points,k=h.length,c,e=this.options.ignoreHiddenPoint;for(a=0;ac.y&&\n", "(c.y=null),f+=e&&!c.visible?0:c.y;this.total=f;for(a=0;a1.5*Math.PI?m-=2*Math.PI:m<-Math.PI/2&&(m+=2*Math.PI);I.slicedTranslation={translateX:Math.round(Math.cos(m)*k),translateY:Math.round(Math.sin(m)*\n", "k)};e=Math.cos(m)*a[2]/2;l=Math.sin(m)*a[2]/2;I.tooltipPos=[a[0]+.7*e,a[1]+.7*l];I.half=m<-Math.PI/2||m>Math.PI/2?1:0;I.angle=m;c=Math.min(c,q/5);I.labelPos=[a[0]+e+Math.cos(m)*q,a[1]+l+Math.sin(m)*q,a[0]+e+Math.cos(m)*c,a[1]+l+Math.sin(m)*c,a[0]+e,a[1]+l,0>q?\"center\":I.half?\"right\":\"left\",m]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,h,k,c,e,l=a.options.shadow;l&&!a.shadowGroup&&(a.shadowGroup=f.g(\"shadow\").add(a.group));F(a.points,function(d){if(null!==d.y){k=d.graphic;\n", "e=d.shapeArgs;h=d.sliced?d.slicedTranslation:{};var g=d.shadowGroup;l&&!g&&(g=d.shadowGroup=f.g(\"shadow\").add(a.shadowGroup));g&&g.attr(h);c=a.pointAttribs(d,d.selected&&\"select\");k?k.setRadialReference(a.center).attr(c).animate(J(e,h)):(d.graphic=k=f[d.shapeType](e).addClass(d.getClassName()).setRadialReference(a.center).attr(h).add(a.group),d.visible||k.attr({visibility:\"hidden\"}),k.attr(c).attr({\"stroke-linejoin\":\"round\"}).shadow(l,g))}})},searchPoint:f,sortByAngle:function(a,f){a.sort(function(a,\n", "d){return void 0!==a.angle&&(d.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:f},{init:function(){q.prototype.init.apply(this,arguments);var a=this,f;a.name=h(a.name,\"Slice\");f=function(d){a.slice(\"select\"===d.type)};D(a,\"select\",f);D(a,\"unselect\",f);return a},setVisible:function(a,f){var d=this,g=d.series,c=g.chart,e=g.options.ignoreHiddenPoint;f=h(f,e);a!==d.visible&&(d.visible=d.options.visible=a=void 0===a?!d.visible:\n", "a,g.options.data[m(d,g.data)]=d.options,F([\"graphic\",\"dataLabel\",\"connector\",\"shadowGroup\"],function(c){if(d[c])d[c][a?\"show\":\"hide\"](!0)}),d.legendItem&&c.legend.colorizeItem(d,a),a||\"hover\"!==d.state||d.setState(\"\"),e&&(g.isDirty=!0),f&&c.redraw())},slice:function(a,f,k){var d=this.series;v(k,d.chart);h(f,!0);this.sliced=this.options.sliced=a=z(a)?a:!this.sliced;d.options.data[m(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&\n", "this.shadowGroup.animate(a)},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(M);(function(a){var D=a.addEvent,z=a.arrayMax,F=a.defined,J=a.each,m=a.extend,f=a.format,h=a.map,q=a.merge,n=a.noop,k=a.pick,v=a.relativeLength,d=a.Series,g=a.seriesTypes,w=a.stableSort,B=a.stop;a.distribute=function(a,d){function c(a,b){return a.target-b.target}var e,f=!0,b=a,\n", "g=[],k;k=0;for(e=a.length;e--;)k+=a[e].size;if(k>d){w(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=e=0;k<=d;)k+=a[e].size,e++;g=a.splice(e-1,a.length)}w(a,c);for(a=h(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f=a[e],k=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,k-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),\n", "a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;J(a,function(a){var c=0;J(a.targets,function(){b[e].pos=a.pos+c;c+=b[e].size;e++})});b.push.apply(b,g);w(b,c)};d.prototype.drawDataLabels=function(){var a=this,d=a.options,g=d.dataLabels,h=a.points,n,b,t=a.hasRendered||0,y,v,x=k(g.defer,!0),w=a.chart.renderer;if(g.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(g),v=a.plotGroup(\"dataLabelsGroup\",\"data-labels\",x&&!t?\"hidden\":\"visible\",g.zIndex||6),x&&(v.attr({opacity:+t}),\n", "t||D(a,\"afterAnimate\",function(){a.visible&&v.show(!0);v[d.animation?\"animate\":\"attr\"]({opacity:1},{duration:200})})),b=g,J(h,function(c){var e,h=c.dataLabel,l,t,r=c.connector,u=!0,x,I={};n=c.dlOptions||c.options&&c.options.dataLabels;e=k(n&&n.enabled,b.enabled)&&null!==c.y;if(h&&!e)c.dataLabel=h.destroy();else if(e){g=q(b,n);x=g.style;e=g.rotation;l=c.getLabelConfig();y=g.format?f(g.format,l):g.formatter.call(l,g);x.color=k(g.color,x.color,a.color,\"#000000\");if(h)F(y)?(h.attr({text:y}),u=!1):(c.dataLabel=\n", "h=h.destroy(),r&&(c.connector=r.destroy()));else if(F(y)){h={fill:g.backgroundColor,stroke:g.borderColor,\"stroke-width\":g.borderWidth,r:g.borderRadius||0,rotation:e,padding:g.padding,zIndex:1};\"contrast\"===x.color&&(I.color=g.inside||0>g.distance||d.stacking?w.getContrast(c.color||a.color):\"#000000\");d.cursor&&(I.cursor=d.cursor);for(t in h)void 0===h[t]&&delete h[t];h=c.dataLabel=w[e?\"text\":\"label\"](y,0,-9999,g.shape,null,null,g.useHTML,null,\"data-label\").attr(h);h.addClass(\"highcharts-data-label-color-\"+\n", "c.colorIndex+\" \"+(g.className||\"\"));h.css(m(x,I));h.add(v);h.shadow(g.shadow)}h&&a.alignDataLabel(c,h,g,null,u)}})};d.prototype.alignDataLabel=function(a,d,f,g,h){var b=this.chart,c=b.inverted,e=k(a.plotX,-9999),l=k(a.plotY,-9999),n=d.getBBox(),q,r=f.rotation,u=f.align,v=this.visible&&(a.series.forceDL||b.isInsidePlot(e,Math.round(l),c)||g&&b.isInsidePlot(e,c?g.x+1:g.y+g.height-1,c)),w=\"justify\"===k(f.overflow,\"justify\");v&&(q=f.style.fontSize,q=b.renderer.fontMetrics(q,d).b,g=m({x:c?b.plotWidth-\n", "l:e,y:Math.round(c?b.plotHeight-e:l),width:0,height:0},g),m(f,{width:n.width,height:n.height}),r?(w=!1,c=b.renderer.rotCorr(q,r),c={x:g.x+f.x+g.width/2+c.x,y:g.y+f.y+{top:0,middle:.5,bottom:1}[f.verticalAlign]*g.height},d[h?\"attr\":\"animate\"](c).attr({align:u}),e=(r+720)%360,e=180e,\"left\"===u?c.y-=e?n.height:0:\"center\"===u?(c.x-=n.width/2,c.y-=n.height/2):\"right\"===u&&(c.x-=n.width,c.y-=e?0:n.height)):(d.align(f,null,g),c=d.alignAttr),w?this.justifyDataLabel(d,f,c,n,g,h):k(f.crop,!0)&&(v=b.isInsidePlot(c.x,\n", "c.y)&&b.isInsidePlot(c.x+n.width,c.y+n.height)),f.shape&&!r&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));v||(B(d),d.attr({y:-9999}),d.placed=!1)};d.prototype.justifyDataLabel=function(a,d,f,g,h,b){var c=this.chart,e=d.align,k=d.verticalAlign,l,m,n=a.box?0:a.padding||0;l=f.x+n;0>l&&(\"right\"===e?d.align=\"left\":d.x=-l,m=!0);l=f.x+g.width-n;l>c.plotWidth&&(\"left\"===e?d.align=\"right\":d.x=c.plotWidth-l,m=!0);l=f.y+n;0>l&&(\"bottom\"===k?d.verticalAlign=\"top\":d.y=-l,m=!0);l=f.y+g.height-n;l>c.plotHeight&&(\"top\"===\n", "k?d.verticalAlign=\"bottom\":d.y=c.plotHeight-l,m=!0);m&&(a.placed=!b,a.align(d,null,h))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var c=this,e=c.data,f,g=c.chart,m=c.options.dataLabels,b=k(m.connectorPadding,10),n=k(m.connectorWidth,1),q=g.plotWidth,v=g.plotHeight,x,w=m.distance,r=c.center,B=r[2]/2,H=r[1],D=0l-2?u:M,e),p._attr=\n", "{visibility:Q,align:F[6]},p._pos={x:E+m.x+({left:b,right:-b}[F[6]]||0),y:M+m.y-10},F.x=E,F.y=M,null===c.options.size&&(A=p.width,E-Aq-b&&(T[1]=Math.max(Math.round(E+A-q+b),T[1])),0>M-O/2?T[0]=Math.max(Math.round(-M+O/2),T[0]):M+O/2>v&&(T[2]=Math.max(Math.round(M+O/2-v),T[2])))}),0===z(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),D&&n&&J(this.points,function(a){var b;x=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible){Q=p._attr.visibility;\n", "if(b=!x)a.connector=x=g.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\"+a.colorIndex).add(c.dataLabelsGroup),x.attr({\"stroke-width\":n,stroke:m.connectorColor||a.color||\"#666666\"});x[b?\"attr\":\"animate\"]({d:c.connectorPath(a.labelPos)});x.attr(\"visibility\",Q)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var c=a.x,d=a.y;return k(this.options.softConnector,!0)?[\"M\",c+(\"left\"===a[6]?5:-5),d,\"C\",c,d,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],\"L\",a[4],\n", "a[5]]:[\"M\",c+(\"left\"===a[6]?5:-5),d,\"L\",a[2],a[3],\"L\",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){J(this.points,function(a){var c=a.dataLabel;c&&a.visible&&((a=c._pos)?(c.attr(c._attr),c[c.moved?\"animate\":\"attr\"](a),c.moved=!0):c&&c.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=n,g.pie.prototype.verifyDataLabelOverflow=function(a){var c=this.center,d=this.options,f=d.center,g=d.minSize||80,b,h;null!==f[0]?b=Math.max(c[2]-Math.max(a[1],a[3]),g):(b=Math.max(c[2]-a[1]-a[3],g),c[0]+=(a[3]-\n", "a[1])/2);null!==f[1]?b=Math.max(Math.min(b,c[2]-Math.max(a[0],a[2])),g):(b=Math.max(Math.min(b,c[2]-a[0]-a[2]),g),c[1]+=(a[0]-a[2])/2);bk(this.translatedThreshold,c.yAxis.len)),n=k(f.inside,!!this.options.stacking);l&&(g=q(l),0>\n", "g.y&&(g.height+=g.y,g.y=0),l=g.y+g.height-c.yAxis.len,0a+d||b+hc+f||g+kthis.pointCount))},pan:function(a,c){var b=this,d=b.hoverPoints,e;d&&h(d,function(a){a.setState()});h(\"xy\"===c?[1,0]:[1],function(c){c=b[c?\"xAxis\":\"yAxis\"][0];var d=c.horiz,f=a[d?\"chartX\":\"chartY\"],d=d?\"mouseDownX\":\"mouseDownY\",g=b[d],h=(c.pointRange||0)/2,k=c.getExtremes(),l=c.toValue(g-f,!0)+h,h=\n", "c.toValue(g+c.len-f,!0)-h,g=g>f;c.series.length&&(g||l>Math.min(k.dataMin,k.min))&&(!g||h=m(k.minWidth,0)&&this.chartHeight>=m(k.minHeight,0)};void 0===f._id&&(f._id=\n", "a.idCounter++);v=v.call(this);!h[f._id]&&v?f.chartOptions&&(h[f._id]=this.currentOptions(f.chartOptions),this.update(f.chartOptions,q)):h[f._id]&&!v&&(this.update(h[f._id],q),delete h[f._id])};D.prototype.currentOptions=function(a){function h(a,m,d){var g,k;for(g in a)if(-1parseInt(z.split(\\\"Firefox/\\\")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:\\\"Highcharts\\\",\\nversion:\\\"5.0.2\\\",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:h,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:J,isWebKit:/AppleWebKit/.test(z),isFirefox:f,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(z),SVG_NS:\\\"http://www.w3.org/2000/svg\\\",idCounter:0,chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,vml:m,win:a,charts:[],marginNames:[\\\"plotTop\\\",\\\"marginRight\\\",\\\"marginBottom\\\",\\\"plotLeft\\\"],noop:function(){}}}();(function(a){var D=[],z=a.charts,F=a.doc,J=a.win;a.error=function(a,f){a=\\\"Highcharts error #\\\"+\\na+\\\": www.highcharts.com/errors/\\\"+a;if(f)throw Error(a);J.console&&console.log(a)};a.Fx=function(a,f,h){this.options=f;this.elem=a;this.prop=h};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],h=[],q=this.now,n=a.length,k;if(1===q)h=this.toD;else if(n===f.length&&1>q)for(;n--;)k=parseFloat(a[n]),h[n]=isNaN(k)?a[n]:q*parseFloat(f[n]-k)+k;else h=f;this.elem.attr(\\\"d\\\",h)},update:function(){var a=this.elem,f=this.prop,h=this.now,q=this.options.step;if(this[f+\\\"Setter\\\"])this[f+\\\"Setter\\\"]();\\nelse a.attr?a.element&&a.attr(f,h):a.style[f]=h+this.unit;q&&q.call(a,h,this)},run:function(a,f,h){var m=this,n=function(a){return n.stopped?!1:m.step(a)},k;this.startTime=+new Date;this.start=a;this.end=f;this.unit=h;this.now=this.start;this.pos=0;n.elem=this.elem;n()&&1===D.push(n)&&(n.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=v[this.prop]=!0;for(d in v)!0!==v[d]&&(a=!1);a&&n&&n.call(h);h=!1}else this.pos=m.easing((f-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0;return h},initPath:function(m,f,h){function q(a){for(l=a.length;l--;)\\\"M\\\"!==a[l]&&\\\"L\\\"!==a[l]||a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])}function n(a,b){for(;a.lengthv?\\\"AM\\\":\\\"PM\\\",P:12>v?\\\"am\\\":\\\"pm\\\",S:u(n.getSeconds()),L:u(Math.round(f%1E3),3)},a.dateFormats);for(k in q)for(;-1!==m.indexOf(\\\"%\\\"+k);)m=m.replace(\\\"%\\\"+k,\\\"function\\\"===typeof q[k]?q[k](f):q[k]);return h?m.substr(0,1).toUpperCase()+m.substr(1):\\nm};a.formatSingle=function(m,f){var h=/\\\\.([0-9])/,q=a.defaultOptions.lang;/f$/.test(m)?(h=(h=m.match(h))?h[1]:-1,null!==f&&(f=a.numberFormat(f,h,q.decimalPoint,-1=h&&(f=[1/h])));for(q=0;q=m||!n&&k<=(f[q]+(f[q+1]||f[q]))/2);q++);return v*h};a.stableSort=function(a,f){var h=a.length,m,n;for(n=0;nh&&(h=a[f]);return h};a.destroyObjectProperties=function(a,f){for(var h in a)a[h]&&a[h]!==f&&a[h].destroy&&a[h].destroy(),delete a[h]};a.discardElement=function(m){var f=a.garbageBin;f||(f=a.createElement(\\\"div\\\"));m&&f.appendChild(m);f.innerHTML=\\\"\\\"};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=\\nfunction(m,f){f.renderer.globalAnimation=a.pick(m,f.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,f,h,q){m=+m||0;f=+f;var n=a.defaultOptions.lang,k=(m.toString().split(\\\".\\\")[1]||\\\"\\\").length,v,d,g=Math.abs(m);-1===f?f=Math.min(k,20):a.isNumber(f)||(f=2);v=String(a.pInt(g.toFixed(f)));d=3m?\\\"-\\\":\\\"\\\")+(d?v.substr(0,d)+q:\\\"\\\");m+=v.substr(d).replace(/(\\\\d{3})(?=\\\\d)/g,\\\"$1\\\"+q);f&&(q=Math.abs(g-v+Math.pow(10,-Math.max(f,k)-1)),m+=h+q.toFixed(f).slice(2));return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(m,f){return\\\"width\\\"===f?Math.min(m.offsetWidth,m.scrollWidth)-a.getStyle(m,\\\"padding-left\\\")-a.getStyle(m,\\\"padding-right\\\"):\\\"height\\\"===f?Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,\\n\\\"padding-top\\\")-a.getStyle(m,\\\"padding-bottom\\\"):(m=J.getComputedStyle(m,void 0))&&a.pInt(m.getPropertyValue(f))};a.inArray=function(a,f){return f.indexOf?f.indexOf(a):[].indexOf.call(f,a)};a.grep=function(a,f){return[].filter.call(a,f)};a.map=function(a,f){for(var h=[],q=0,n=a.length;qh;h++)f[h]+=m(255*a),0>f[h]&&(f[h]=0),255C.width)C={width:0,height:0}}else C=this.htmlGetBBox();E.isSVG&&(a=C.width,E=C.height,b&&c&&\\\"11px\\\"===c.fontSize&&\\\"16.9\\\"===E.toPrecision(3)&&(C.height=E=14),p&&(C.width=Math.abs(E*Math.sin(e))+Math.abs(a*Math.cos(e)),C.height=Math.abs(E*Math.cos(e))+Math.abs(a*Math.sin(e))));if(k&&0]*>/g,\\n\\\"\\\")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,p){\\\"string\\\"===typeof a?p.setAttribute(b,a):a&&this.colorGradient(a,b,p)},visibilitySetter:function(a,b,p){\\\"inherit\\\"===a?p.removeAttribute(b):p.setAttribute(b,a)},zIndexSetter:function(a,b){var p=this.renderer,e=this.parentGroup,C=(e||p).element||p.box,E,A=this.element,c;E=this.added;var d;k(a)&&(A.zIndex=a,a=+a,this[b]===a&&(E=!1),this[b]=a);if(E){(a=\\nthis.zIndex)&&e&&(e.handleZ=!0);b=C.childNodes;for(d=0;da||!k(a)&&k(E)||0>a&&!k(E)&&C!==p.box)&&(C.insertBefore(A,e),c=!0);c||C.appendChild(A)}return c},_defaultSetter:function(a,b,p){p.setAttribute(b,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=\\n!0};D.prototype[\\\"stroke-widthSetter\\\"]=D.prototype.strokeSetter=function(a,b,p){this[b]=a;this.stroke&&this[\\\"stroke-width\\\"]?(D.prototype.fillSetter.call(this,this.stroke,\\\"stroke\\\",p),p.setAttribute(\\\"stroke-width\\\",this[\\\"stroke-width\\\"]),this.hasStroke=!0):\\\"stroke-width\\\"===b&&0===a&&this.hasStroke&&(p.removeAttribute(\\\"stroke\\\"),this.hasStroke=!1)};z=a.SVGRenderer=function(){this.init.apply(this,arguments)};z.prototype={Element:D,SVG_NS:A,init:function(a,b,p,e,A,c){var E;e=this.createElement(\\\"svg\\\").attr({version:\\\"1.1\\\",\\n\\\"class\\\":\\\"highcharts-root\\\"}).css(this.getStyle(e));E=e.element;a.appendChild(E);-1===a.innerHTML.indexOf(\\\"xmlns\\\")&&m(E,\\\"xmlns\\\",this.SVG_NS);this.isSVG=!0;this.box=E;this.boxWrapper=e;this.alignedObjects=[];this.url=(L||K)&&g.getElementsByTagName(\\\"base\\\").length?O.location.href.replace(/#.*?$/,\\\"\\\").replace(/([\\\\('\\\\)])/g,\\\"\\\\\\\\$1\\\").replace(/ /g,\\\"%20\\\"):\\\"\\\";this.createElement(\\\"desc\\\").add().element.appendChild(g.createTextNode(\\\"Created with Highcharts 5.0.2\\\"));this.defs=this.createElement(\\\"defs\\\").add();this.allowHTML=\\nc;this.forExport=A;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,p,!1);var C;L&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){q(a,{left:0,top:0});C=a.getBoundingClientRect();q(a,{left:Math.ceil(C.left)-C.left+\\\"px\\\",top:Math.ceil(C.top)-C.top+\\\"px\\\"})},b(),F(O,\\\"resize\\\",b))},getStyle:function(a){return this.style=B({fontFamily:'\\\"Lucida Grande\\\", \\\"Lucida Sans Unicode\\\", Arial, Helvetica, sans-serif',fontSize:\\\"12px\\\"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},\\nisHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&H(O,\\\"resize\\\",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:I,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=\\na.element,c=this,d=c.forExport,C=r(a.textStr,\\\"\\\").toString(),t=-1!==C.indexOf(\\\"\\\\x3c\\\"),l=b.childNodes,y,u,x,k,n=m(b,\\\"x\\\"),H=a.styles,f=a.textWidth,K=H&&H.lineHeight,h=H&&H.textShadow,v=H&&\\\"ellipsis\\\"===H.textOverflow,O=l.length,B=f&&!a.added&&this.box,P=function(a){var b;b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:H&&H.fontSize||c.style.fontSize||12;return K?G(K):c.fontMetrics(b,a).h};O--;)b.removeChild(l[O]);t||h||v||f||-1!==C.indexOf(\\\" \\\")?(y=/<.*class=\\\"([^\\\"]+)\\\".*>/,u=/<.*style=\\\"([^\\\"]+)\\\".*>/,\\nx=/<.*href=\\\"(http[^\\\"]+)\\\".*>/,B&&B.appendChild(b),C=t?C.replace(/<(b|strong)>/g,'\\\\x3cspan style\\\\x3d\\\"font-weight:bold\\\"\\\\x3e').replace(/<(i|em)>/g,'\\\\x3cspan style\\\\x3d\\\"font-style:italic\\\"\\\\x3e').replace(//g,\\\"\\\\x3c/span\\\\x3e\\\").split(//g):[C],C=e(C,function(a){return\\\"\\\"!==a}),w(C,function(e,E){var C,t=0;e=e.replace(/^\\\\s+|\\\\s+$/g,\\\"\\\").replace(//g,\\\"\\\\x3c/span\\\\x3e|||\\\");C=e.split(\\\"|||\\\");w(C,function(e){if(\\\"\\\"!==e||1===C.length){var l=\\n{},r=g.createElementNS(c.SVG_NS,\\\"tspan\\\"),w,S;y.test(e)&&(w=e.match(y)[1],m(r,\\\"class\\\",w));u.test(e)&&(S=e.match(u)[1].replace(/(;| |^)color([ :])/,\\\"$1fill$2\\\"),m(r,\\\"style\\\",S));x.test(e)&&!d&&(m(r,\\\"onclick\\\",'location.href\\\\x3d\\\"'+e.match(x)[1]+'\\\"'),q(r,{cursor:\\\"pointer\\\"}));e=(e.replace(/<(.|\\\\n)*?>/g,\\\"\\\")||\\\" \\\").replace(/</g,\\\"\\\\x3c\\\").replace(/>/g,\\\"\\\\x3e\\\");if(\\\" \\\"!==e){r.appendChild(g.createTextNode(e));t?l.dx=0:E&&null!==n&&(l.x=n);m(r,l);b.appendChild(r);!t&&E&&(!p&&d&&q(r,{display:\\\"block\\\"}),m(r,\\\"dy\\\",\\nP(r)));if(f){l=e.replace(/([^\\\\^])-/g,\\\"$1- \\\").split(\\\" \\\");w=\\\"nowrap\\\"===H.whiteSpace;for(var G=1f,void 0===k&&(k=K),v&&k?(Q/=2,\\\"\\\"===I||!K&&.5>Q?l=[]:(I=e.substring(0,I.length+(K?-1:1)*Math.ceil(Q)),l=[I+(3f&&(f=h)),l.length&&r.appendChild(g.createTextNode(l.join(\\\" \\\").replace(/- /g,\\\"-\\\")));a.rotation=R}t++}}})}),k&&a.attr(\\\"title\\\",a.textStr),B&&B.removeChild(b),h&&a.applyTextShadow&&a.applyTextShadow(h)):b.appendChild(g.createTextNode(C.replace(/</g,\\\"\\\\x3c\\\").replace(/>/g,\\\"\\\\x3e\\\")))},getContrast:function(a){a=h(a).rgba;return 510p&&c>b+d&&ct&&c>b+d&&ce&&t>a+d&&tc&&t>a+d&&ta?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,p){var e=a;b&&p&&(e=Math.max(e*Math.cos(b*v),4));return{x:-a/3*Math.sin(b*v),y:e}},label:function(a,b,p,e,c,A,d,t,l){var y=this,r=y.g(\\\"button\\\"!==l&&\\\"label\\\"),g=r.text=y.text(\\\"\\\",0,0,d).attr({zIndex:1}),E,u,n=0,K=3,G=0,C,f,h,O,v,I={},P,S,q=/^url\\\\((.*?)\\\\)$/.test(e),N=q,L,m,R,Q;l&&r.addClass(\\\"highcharts-\\\"+l);N=q;L=function(){return(P||0)%2/2};m=function(){var a=g.element.style,b={};u=(void 0===C||void 0===f||v)&&k(g.textStr)&&\\ng.getBBox();r.width=(C||u.width||0)+2*K+G;r.height=(f||u.height||0)+2*K;S=K+y.fontMetrics(a&&a.fontSize,g).b;N&&(E||(r.box=E=y.symbols[e]||q?y.symbol(e):y.rect(),E.addClass((\\\"button\\\"===l?\\\"\\\":\\\"highcharts-label-box\\\")+(l?\\\" highcharts-\\\"+l+\\\"-box\\\":\\\"\\\")),E.add(r),a=L(),b.x=a,b.y=(t?-S:0)+a),b.width=Math.round(r.width),b.height=Math.round(r.height),E.attr(B(b,I)),I={})};R=function(){var a=G+K,b;b=t?0:S;k(C)&&u&&(\\\"center\\\"===v||\\\"right\\\"===v)&&(a+={center:.5,right:1}[v]*(C-u.width));if(a!==g.x||b!==g.y)g.attr(\\\"x\\\",\\na),void 0!==b&&g.attr(\\\"y\\\",b);g.x=a;g.y=b};Q=function(a,b){E?E.attr(a,b):I[a]=b};r.onAdd=function(){g.add(r);r.attr({text:a||0===a?a:\\\"\\\",x:b,y:p});E&&k(c)&&r.attr({anchorX:c,anchorY:A})};r.widthSetter=function(a){C=a};r.heightSetter=function(a){f=a};r[\\\"text-alignSetter\\\"]=function(a){v=a};r.paddingSetter=function(a){k(a)&&a!==K&&(K=r.padding=a,R())};r.paddingLeftSetter=function(a){k(a)&&a!==G&&(G=a,R())};r.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==n&&(n=a,u&&r.attr({x:h}))};r.textSetter=\\nfunction(a){void 0!==a&&g.textSetter(a);m();R()};r[\\\"stroke-widthSetter\\\"]=function(a,b){a&&(N=!0);P=this[\\\"stroke-width\\\"]=a;Q(b,a)};r.strokeSetter=r.fillSetter=r.rSetter=function(a,b){\\\"fill\\\"===b&&a&&(N=!0);Q(b,a)};r.anchorXSetter=function(a,b){c=a;Q(b,Math.round(a)-L()-h)};r.anchorYSetter=function(a,b){A=a;Q(b,a-O)};r.xSetter=function(a){r.x=a;n&&(a-=n*((C||u.width)+2*K));h=Math.round(a);r.attr(\\\"translateX\\\",h)};r.ySetter=function(a){O=r.y=Math.round(a);r.attr(\\\"translateY\\\",O)};var T=r.css;return B(r,\\n{css:function(a){if(a){var b={};a=x(a);w(r.textProps,function(p){void 0!==a[p]&&(b[p]=a[p],delete a[p])});g.css(b)}return T.call(r,a)},getBBox:function(){return{width:u.width+2*K,height:u.height+2*K,x:u.x-K,y:u.y-K}},shadow:function(a){a&&(m(),E&&E.shadow(a));return r},destroy:function(){H(r.element,\\\"mouseenter\\\");H(r.element,\\\"mouseleave\\\");g&&(g=g.destroy());E&&(E=E.destroy());D.prototype.destroy.call(r);r=y=m=R=Q=null}})}};a.Renderer=z})(M);(function(a){var D=a.attr,z=a.createElement,F=a.css,J=a.defined,\\nm=a.each,f=a.extend,h=a.isFirefox,q=a.isMS,n=a.isWebKit,k=a.pInt,v=a.SVGRenderer,d=a.win,g=a.wrap;f(a.SVGElement.prototype,{htmlCss:function(a){var d=this.element;if(d=a&&\\\"SPAN\\\"===d.tagName&&a.width)delete a.width,this.textWidth=d,this.updateTransform();a&&\\\"ellipsis\\\"===a.textOverflow&&(a.whiteSpace=\\\"nowrap\\\",a.overflow=\\\"hidden\\\");this.styles=f(this.styles,a);F(this.element,a);return this},htmlGetBBox:function(){var a=this.element;\\\"text\\\"===a.nodeName&&(a.style.position=\\\"absolute\\\");return{x:a.offsetLeft,\\ny:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,d=this.element,c=this.translateX||0,e=this.translateY||0,l=this.x||0,g=this.y||0,f=this.textAlign||\\\"left\\\",b={left:0,center:.5,right:1}[f],t=this.styles;F(d,{marginLeft:c,marginTop:e});this.shadows&&m(this.shadows,function(a){F(a,{marginLeft:c+1,marginTop:e+1})});this.inverted&&m(d.childNodes,function(b){a.invertChild(b,d)});if(\\\"SPAN\\\"===d.tagName){var y=this.rotation,K=k(this.textWidth),\\nx=t&&t.whiteSpace,h=[y,f,d.innerHTML,this.textWidth,this.textAlign].join();h!==this.cTT&&(t=a.fontMetrics(d.style.fontSize).b,J(y)&&this.setSpanRotation(y,b,t),F(d,{width:\\\"\\\",whiteSpace:x||\\\"nowrap\\\"}),d.offsetWidth>K&&/[ \\\\-]/.test(d.textContent||d.innerText)&&F(d,{width:K+\\\"px\\\",display:\\\"block\\\",whiteSpace:x||\\\"normal\\\"}),this.getSpanCorrection(d.offsetWidth,t,b,y,f));F(d,{left:l+(this.xCorr||0)+\\\"px\\\",top:g+(this.yCorr||0)+\\\"px\\\"});n&&(t=d.offsetHeight);this.cTT=h}}else this.alignOnAdd=!0},setSpanRotation:function(a,\\ng,c){var e={},l=q?\\\"-ms-transform\\\":n?\\\"-webkit-transform\\\":h?\\\"MozTransform\\\":d.opera?\\\"-o-transform\\\":\\\"\\\";e[l]=e.transform=\\\"rotate(\\\"+a+\\\"deg)\\\";e[l+(h?\\\"Origin\\\":\\\"-origin\\\")]=e.transformOrigin=100*g+\\\"% \\\"+c+\\\"px\\\";F(this.element,e)},getSpanCorrection:function(a,d,c){this.xCorr=-a*c;this.yCorr=-d}});f(v.prototype,{html:function(a,d,c){var e=this.createElement(\\\"span\\\"),l=e.element,u=e.renderer,k=u.isSVG,b=function(a,b){m([\\\"opacity\\\",\\\"visibility\\\"],function(e){g(a,e+\\\"Setter\\\",function(a,e,c,d){a.call(this,e,c,d);b[c]=\\ne})})};e.textSetter=function(a){a!==l.innerHTML&&delete this.bBox;l.innerHTML=this.textStr=a;e.htmlUpdateTransform()};k&&b(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){\\\"align\\\"===b&&(b=\\\"textAlign\\\");e[b]=a;e.htmlUpdateTransform()};e.attr({text:a,x:Math.round(d),y:Math.round(c)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:\\\"absolute\\\"});l.style.whiteSpace=\\\"nowrap\\\";e.css=e.htmlCss;k&&(e.add=function(a){var c,d=u.box.parentNode,t=[];\\nif(this.parentGroup=a){if(c=a.div,!c){for(;a;)t.push(a),a=a.parentGroup;m(t.reverse(),function(a){var e,t=D(a.element,\\\"class\\\");t&&(t={className:t});c=a.div=a.div||z(\\\"div\\\",t,{position:\\\"absolute\\\",left:(a.translateX||0)+\\\"px\\\",top:(a.translateY||0)+\\\"px\\\",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||d);e=c.style;f(a,{translateXSetter:function(b,c){e.left=b+\\\"px\\\";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){e.top=b+\\\"px\\\";a[c]=b;a.doTransform=!0}});b(a,e)})}}else c=\\nd;c.appendChild(l);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(M);(function(a){var D,z,F=a.createElement,J=a.css,m=a.defined,f=a.deg2rad,h=a.discardElement,q=a.doc,n=a.each,k=a.erase,v=a.extend;D=a.extendClass;var d=a.isArray,g=a.isNumber,w=a.isObject,B=a.merge;z=a.noop;var c=a.pick,e=a.pInt,l=a.SVGElement,u=a.SVGRenderer,L=a.win;a.svg||(z={docMode8:q&&8===q.documentMode,init:function(a,e){var b=[\\\"\\\\x3c\\\",e,' filled\\\\x3d\\\"f\\\" stroked\\\\x3d\\\"f\\\"'],c=[\\\"position: \\\",\\\"absolute\\\",\\\";\\\"],\\nd=\\\"div\\\"===e;(\\\"shape\\\"===e||d)&&c.push(\\\"left:0;top:0;width:1px;height:1px;\\\");c.push(\\\"visibility: \\\",d?\\\"hidden\\\":\\\"visible\\\");b.push(' style\\\\x3d\\\"',c.join(\\\"\\\"),'\\\"/\\\\x3e');e&&(b=d||\\\"span\\\"===e||\\\"img\\\"===e?b.join(\\\"\\\"):a.prepVML(b),this.element=F(b));this.renderer=a},add:function(a){var b=this.renderer,e=this.element,c=b.box,d=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);d&&b.invertChild(e,c);c.appendChild(e);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();\\nthis.className&&this.attr(\\\"class\\\",this.className);return this},updateTransform:l.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,e=Math.cos(a*f),c=Math.sin(a*f);J(this.element,{filter:a?[\\\"progid:DXImageTransform.Microsoft.Matrix(M11\\\\x3d\\\",e,\\\", M12\\\\x3d\\\",-c,\\\", M21\\\\x3d\\\",c,\\\", M22\\\\x3d\\\",e,\\\", sizingMethod\\\\x3d'auto expand')\\\"].join(\\\"\\\"):\\\"none\\\"})},getSpanCorrection:function(a,e,d,l,g){var b=l?Math.cos(l*f):1,t=l?Math.sin(l*f):0,y=c(this.elemHeight,this.element.offsetHeight),u;this.xCorr=\\n0>b&&-a;this.yCorr=0>t&&-y;u=0>b*t;this.xCorr+=t*e*(u?1-d:d);this.yCorr-=b*e*(l?u?d:1-d:1);g&&\\\"left\\\"!==g&&(this.xCorr-=a*d*(0>b?-1:1),l&&(this.yCorr-=y*d*(0>t?-1:1)),J(this.element,{textAlign:g}))},pathToVML:function(a){for(var b=a.length,e=[];b--;)g(a[b])?e[b]=Math.round(10*a[b])-5:\\\"Z\\\"===a[b]?e[b]=\\\"x\\\":(e[b]=a[b],!a.isArc||\\\"wa\\\"!==a[b]&&\\\"at\\\"!==a[b]||(e[b+5]===e[b+7]&&(e[b+7]+=a[b+7]>a[b+5]?1:-1),e[b+6]===e[b+8]&&(e[b+8]+=a[b+8]>a[b+6]?1:-1)));return e.join(\\\" \\\")||\\\"x\\\"},clip:function(a){var b=this,e;\\na?(e=a.members,k(e,b),e.push(b),b.destroyClip=function(){k(e,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?\\\"inherit\\\":\\\"rect(auto)\\\"});return b.css(a)},css:l.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&h(a)},destroy:function(){this.destroyClip&&this.destroyClip();return l.prototype.destroy.apply(this)},on:function(a,e){this.element[\\\"on\\\"+a]=function(){var a=L.event;a.target=a.srcElement;e(a)};return this},cutOffPath:function(a,c){var b;a=a.split(/[ ,]/);b=a.length;\\nif(9===b||11===b)a[b-4]=a[b-2]=e(a[b-2])-10*c;return a.join(\\\" \\\")},shadow:function(a,d,l){var b=[],g,t=this.element,r=this.renderer,u,y=t.style,k,p=t.path,A,n,f,C;p&&\\\"string\\\"!==typeof p.value&&(p=\\\"x\\\");n=p;if(a){f=c(a.width,3);C=(a.opacity||.15)/f;for(g=1;3>=g;g++)A=2*f+1-2*g,l&&(n=this.cutOffPath(p.value,A+.5)),k=['\\\\x3cshape isShadow\\\\x3d\\\"true\\\" strokeweight\\\\x3d\\\"',A,'\\\" filled\\\\x3d\\\"false\\\" path\\\\x3d\\\"',n,'\\\" coordsize\\\\x3d\\\"10 10\\\" style\\\\x3d\\\"',t.style.cssText,'\\\" /\\\\x3e'],u=F(r.prepVML(k),null,{left:e(y.left)+\\nc(a.offsetX,1),top:e(y.top)+c(a.offsetY,1)}),l&&(u.cutOff=A+1),k=['\\\\x3cstroke color\\\\x3d\\\"',a.color||\\\"#000000\\\",'\\\" opacity\\\\x3d\\\"',C*g,'\\\"/\\\\x3e'],F(r.prepVML(k),null,null,u),d?d.element.appendChild(u):t.parentNode.insertBefore(u,t),b.push(u);this.shadows=b}return this},updateShadows:z,setAttr:function(a,e){this.docMode8?this.element[a]=e:this.element.setAttribute(a,e)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,e,c){(c.getElementsByTagName(\\\"stroke\\\")[0]||\\nF(this.renderer.prepVML([\\\"\\\\x3cstroke/\\\\x3e\\\"]),null,null,c))[e]=a||\\\"solid\\\";this[e]=a},dSetter:function(a,e,c){var b=this.shadows;a=a||[];this.d=a.join&&a.join(\\\" \\\");c.path=a=this.pathToVML(a);if(b)for(c=b.length;c--;)b[c].path=b[c].cutOff?this.cutOffPath(a,b[c].cutOff):a;this.setAttr(e,a)},fillSetter:function(a,e,c){var b=c.nodeName;\\\"SPAN\\\"===b?c.style.color=a:\\\"IMG\\\"!==b&&(c.filled=\\\"none\\\"!==a,this.setAttr(\\\"fillcolor\\\",this.renderer.color(a,c,e,this)))},\\\"fill-opacitySetter\\\":function(a,e,c){F(this.renderer.prepVML([\\\"\\\\x3c\\\",\\ne.split(\\\"-\\\")[0],' opacity\\\\x3d\\\"',a,'\\\"/\\\\x3e']),null,null,c)},opacitySetter:z,rotationSetter:function(a,e,c){c=c.style;this[e]=c[e]=a;c.left=-Math.round(Math.sin(a*f)+1)+\\\"px\\\";c.top=Math.round(Math.cos(a*f))+\\\"px\\\"},strokeSetter:function(a,e,c){this.setAttr(\\\"strokecolor\\\",this.renderer.color(a,c,e,this))},\\\"stroke-widthSetter\\\":function(a,e,c){c.stroked=!!a;this[e]=a;g(a)&&(a+=\\\"px\\\");this.setAttr(\\\"strokeweight\\\",a)},titleSetter:function(a,e){this.setAttr(e,a)},visibilitySetter:function(a,e,c){\\\"inherit\\\"===a&&\\n(a=\\\"visible\\\");this.shadows&&n(this.shadows,function(b){b.style[e]=a});\\\"DIV\\\"===c.nodeName&&(a=\\\"hidden\\\"===a?\\\"-999em\\\":0,this.docMode8||(c.style[e]=a?\\\"visible\\\":\\\"hidden\\\"),e=\\\"top\\\");c.style[e]=a},xSetter:function(a,e,c){this[e]=a;\\\"x\\\"===e?e=\\\"left\\\":\\\"y\\\"===e&&(e=\\\"top\\\");this.updateClipping?(this[e]=a,this.updateClipping()):c.style[e]=a},zIndexSetter:function(a,e,c){c.style[e]=a}},z[\\\"stroke-opacitySetter\\\"]=z[\\\"fill-opacitySetter\\\"],a.VMLElement=z=D(l,z),z.prototype.ySetter=z.prototype.widthSetter=z.prototype.heightSetter=\\nz.prototype.xSetter,z={Element:z,isIE8:-1K[0]&&b.push([1,K[1]]);n(b,function(b,e){r.test(b[1])?(g=a.color(b[1]),p=g.get(\\\"rgb\\\"),A=g.get(\\\"a\\\")):(p=b[1],A=1);B.push(100*b[0]+\\\"% \\\"+p);e?(E=A,y=p):(C=A,w=p)});if(\\\"fill\\\"===c)if(\\\"gradient\\\"===t)c=f.x1||f[0]||0,b=f.y1||f[1]||0,h=f.x2||f[2]||0,f=f.y2||f[3]||0,v='angle\\\\x3d\\\"'+(90-180*Math.atan((f-b)/(h-c))/Math.PI)+'\\\"',\\nq();else{var k=f.r,L=2*k,m=2*k,z=f.cx,D=f.cy,J=e.radialReference,U,k=function(){J&&(U=d.getBBox(),z+=(J[0]-U.x)/U.width-.5,D+=(J[1]-U.y)/U.height-.5,L*=J[2]/U.width,m*=J[2]/U.height);v='src\\\\x3d\\\"'+a.getOptions().global.VMLRadialGradientURL+'\\\" size\\\\x3d\\\"'+L+\\\",\\\"+m+'\\\" origin\\\\x3d\\\"0.5,0.5\\\" position\\\\x3d\\\"'+z+\\\",\\\"+D+'\\\" color2\\\\x3d\\\"'+w+'\\\" ';q()};d.added?k():d.onAdd=k;k=y}else k=p}else r.test(b)&&\\\"IMG\\\"!==e.tagName?(g=a.color(b),d[c+\\\"-opacitySetter\\\"](g.get(\\\"a\\\"),c,e),k=g.get(\\\"rgb\\\")):(k=e.getElementsByTagName(c),\\nk.length&&(k[0].opacity=1,k[0].type=\\\"solid\\\"),k=b);return k},prepVML:function(a){var b=this.isIE8;a=a.join(\\\"\\\");b?(a=a.replace(\\\"/\\\\x3e\\\",' xmlns\\\\x3d\\\"urn:schemas-microsoft-com:vml\\\" /\\\\x3e'),a=-1===a.indexOf('style\\\\x3d\\\"')?a.replace(\\\"/\\\\x3e\\\",' style\\\\x3d\\\"display:inline-block;behavior:url(#default#VML);\\\" /\\\\x3e'):a.replace('style\\\\x3d\\\"','style\\\\x3d\\\"display:inline-block;behavior:url(#default#VML);')):a=a.replace(\\\"\\\\x3c\\\",\\\"\\\\x3chcv:\\\");return a},text:u.prototype.html,path:function(a){var b={coordsize:\\\"10 10\\\"};d(a)?b.d=\\na:w(a)&&v(b,a);return this.createElement(\\\"shape\\\").attr(b)},circle:function(a,e,c){var b=this.symbol(\\\"circle\\\");w(a)&&(c=a.r,e=a.y,a=a.x);b.isCircle=!0;b.r=c;return b.attr({x:a,y:e})},g:function(a){var b;a&&(b={className:\\\"highcharts-\\\"+a,\\\"class\\\":\\\"highcharts-\\\"+a});return this.createElement(\\\"div\\\").attr(b)},image:function(a,e,c,d,l){var b=this.createElement(\\\"img\\\").attr({src:a});1c&&h-e*lg&&(t=Math.round((d-h)/Math.cos(c*q)));else if(d=h+(1-e)*l,h-e*lg&&(m=g-a.x+m*e,b=-1),m=Math.min(u,\\nm),mm||k.autoRotation&&(n.styles||{}).width)t=m;t&&(y.width=t,(k.options.labels.style||{}).textOverflow||(y.textOverflow=\\\"ellipsis\\\"),n.css(y))},getPosition:function(a,k,f,d){var g=this.axis,h=g.chart,n=d&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+f,null,null,d)+g.transB:g.left+g.offset+(g.opposite?(d&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?n-g.bottom+g.offset-(g.opposite?g.height:0):n-g.translate(k+f,null,\\nnull,d)-g.transB}},getLabelPosition:function(a,k,f,d,g,h,B,c){var e=this.axis,l=e.transA,u=e.reversed,w=e.staggerLines,b=e.tickRotCorr||{x:0,y:0},t=g.y;z(t)||(t=0===e.side?f.rotation?-8:-f.getBBox().height:2===e.side?b.y+8:Math.cos(f.rotation*q)*(b.y-f.getBBox(!1,0).height/2));a=a+g.x+b.x-(h&&d?h*l*(u?-1:1):0);k=k+t-(h&&!d?h*l*(u?1:-1):0);w&&(f=B/(c||1)%w,e.opposite&&(f=w-f-1),k+=e.labelOffset/w*f);return{x:a,y:Math.round(k)}},getMarkPath:function(a,f,h,d,g,w){return w.crispLine([\\\"M\\\",a,f,\\\"L\\\",a+(g?\\n0:-h),f+(g?h:0)],d)},render:function(a,k,v){var d=this.axis,g=d.options,w=d.chart.renderer,n=d.horiz,c=this.type,e=this.label,l=this.pos,u=g.labels,q=this.gridLine,b=c?c+\\\"Tick\\\":\\\"tick\\\",t=d.tickSize(b),y=this.mark,K=!y,x=u.step,m={},r=!0,G=d.tickmarkOffset,H=this.getPosition(n,l,G,k),N=H.x,H=H.y,p=n&&N===d.pos+d.len||!n&&H===d.pos?-1:1,A=c?c+\\\"Grid\\\":\\\"grid\\\",P=g[A+\\\"LineWidth\\\"],O=g[A+\\\"LineColor\\\"],C=g[A+\\\"LineDashStyle\\\"],A=f(g[b+\\\"Width\\\"],!c&&d.isXAxis?1:0),b=g[b+\\\"Color\\\"];v=f(v,1);this.isActive=!0;q||(m.stroke=\\nO,m[\\\"stroke-width\\\"]=P,C&&(m.dashstyle=C),c||(m.zIndex=1),k&&(m.opacity=0),this.gridLine=q=w.path().attr(m).addClass(\\\"highcharts-\\\"+(c?c+\\\"-\\\":\\\"\\\")+\\\"grid-line\\\").add(d.gridGroup));if(!k&&q&&(l=d.getPlotLinePath(l+G,q.strokeWidth()*p,k,!0)))q[this.isNew?\\\"attr\\\":\\\"animate\\\"]({d:l,opacity:v});t&&(d.opposite&&(t[0]=-t[0]),K&&(this.mark=y=w.path().addClass(\\\"highcharts-\\\"+(c?c+\\\"-\\\":\\\"\\\")+\\\"tick\\\").add(d.axisGroup),y.attr({stroke:b,\\\"stroke-width\\\":A})),y[K?\\\"attr\\\":\\\"animate\\\"]({d:this.getMarkPath(N,H,t[0],y.strokeWidth()*\\np,n,w),opacity:v}));e&&J(N)&&(e.xy=H=this.getLabelPosition(N,H,e,n,u,G,a,x),this.isFirst&&!this.isLast&&!f(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!f(g.showLastLabel,1)?r=!1:!n||d.isRadial||u.step||u.rotation||k||0===v||this.handleOverflow(H),x&&a%x&&(r=!1),r&&J(H.y)?(H.opacity=v,e[this.isNew?\\\"attr\\\":\\\"animate\\\"](H)):(h(e),e.attr(\\\"y\\\",-9999)),this.isNew=!1)},destroy:function(){F(this,this.axis)}}})(M);(function(a){var D=a.addEvent,z=a.animObject,F=a.arrayMax,J=a.arrayMin,m=a.AxisPlotLineOrBandExtension,\\nf=a.color,h=a.correctFloat,q=a.defaultOptions,n=a.defined,k=a.deg2rad,v=a.destroyObjectProperties,d=a.each,g=a.error,w=a.extend,B=a.fireEvent,c=a.format,e=a.getMagnitude,l=a.grep,u=a.inArray,L=a.isArray,b=a.isNumber,t=a.isString,y=a.merge,K=a.normalizeTickInterval,x=a.pick,I=a.PlotLineOrBand,r=a.removeEvent,G=a.splat,H=a.syncTimeout,N=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:\\\"%H:%M:%S.%L\\\",second:\\\"%H:%M:%S\\\",minute:\\\"%H:%M\\\",\\nhour:\\\"%H:%M\\\",day:\\\"%e. %b\\\",week:\\\"%e. %b\\\",month:\\\"%b '%y\\\",year:\\\"%Y\\\"},endOnTick:!1,labels:{enabled:!0,style:{color:\\\"#666666\\\",cursor:\\\"default\\\",fontSize:\\\"11px\\\"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:\\\"outside\\\",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:\\\"between\\\",tickPixelInterval:100,tickPosition:\\\"outside\\\",title:{align:\\\"middle\\\",style:{color:\\\"#666666\\\"}},type:\\\"linear\\\",minorGridLineColor:\\\"#f2f2f2\\\",minorGridLineWidth:1,minorTickColor:\\\"#999999\\\",lineColor:\\\"#ccd6eb\\\",\\nlineWidth:1,gridLineColor:\\\"#e6e6e6\\\",tickColor:\\\"#ccd6eb\\\"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:\\\"Values\\\"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:\\\"11px\\\",fontWeight:\\\"bold\\\",color:\\\"#000000\\\",textShadow:\\\"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast\\\"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},\\ntitle:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var e=b.isX;this.chart=a;this.horiz=a.inverted?!e:e;this.isXAxis=e;this.coll=this.coll||(e?\\\"xAxis\\\":\\\"yAxis\\\");this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var c=this.options,p=c.type;\\nthis.labelFormatter=c.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=c.reversed;this.visible=!1!==c.visible;this.zoomEnabled=!1!==c.zoomEnabled;this.hasNames=\\\"category\\\"===p||!0===c.categories;this.categories=c.categories||this.hasNames;this.names=this.names||[];this.isLog=\\\"logarithmic\\\"===p;this.isDatetimeAxis=\\\"datetime\\\"===p;this.isLinked=n(c.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands=\\n{};this.len=0;this.minRange=this.userMinRange=c.minRange||c.maxZoom;this.range=c.range;this.offset=c.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(c.crosshair,G(a.options.tooltip.crosshairs)[e?0:1],!1);var d;b=this.options.events;-1===u(this,a.axes)&&(e?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&e&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=\\nthis.removePlotBandOrLine;for(d in b)D(this,d,b[d]);this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=y(this.defaultOptions,\\\"yAxis\\\"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],y(q[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,e=this.value,d=b.categories,l=this.dateTimeLabelFormat,g=q.lang.numericSymbols,r=g&&\\ng.length,u,f=b.options.labels.format,b=b.isLog?e:b.tickInterval;if(f)u=c(f,this);else if(d)u=e;else if(l)u=a.dateFormat(l,e);else if(r&&1E3<=b)for(;r--&&void 0===u;)d=Math.pow(1E3,r+1),b>=d&&0===10*e%d&&null!==g[r]&&0!==e&&(u=a.numberFormat(e/d,-1)+g[r]);void 0===u&&(u=1E4<=Math.abs(e)?a.numberFormat(e,-1):a.numberFormat(e,-1,void 0,\\\"\\\"));return u},getSeriesExtremes:function(){var a=this,e=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&\\na.buildStacks();d(a.series,function(c){if(c.visible||!e.options.chart.ignoreHiddenSeries){var p=c.options,d=p.threshold,A;a.hasVisibleSeries=!0;a.isLog&&0>=d&&(d=null);if(a.isXAxis)p=c.xData,p.length&&(c=J(p),b(c)||c instanceof Date||(p=l(p,function(a){return b(a)}),c=J(p)),a.dataMin=Math.min(x(a.dataMin,p[0]),c),a.dataMax=Math.max(x(a.dataMax,p[0]),F(p)));else if(c.getExtremes(),A=c.dataMax,c=c.dataMin,n(c)&&n(A)&&(a.dataMin=Math.min(x(a.dataMin,c),c),a.dataMax=Math.max(x(a.dataMax,A),A)),n(d)&&\\n(a.threshold=d),!p.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,e,c,d,l,g){var p=this.linkedParent||this,A=1,r=0,u=d?p.oldTransA:p.transA;d=d?p.oldMin:p.min;var E=p.minPixelPadding;l=(p.isOrdinal||p.isBroken||p.isLog&&l)&&p.lin2val;u||(u=p.transA);c&&(A*=-1,r=p.len);p.reversed&&(A*=-1,r-=A*(p.sector||p.len));e?(a=(a*A+r-E)/u+d,l&&(a=p.lin2val(a))):(l&&(a=p.val2lin(a)),\\\"between\\\"===g&&(g=.5),a=A*(a-d)*u+r+A*E+(b(g)?u*g*p.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,\\n!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,e,c,d,l){var p=this.chart,A=this.left,g=this.top,r,u,f=c&&p.oldChartHeight||p.chartHeight,k=c&&p.oldChartWidth||p.chartWidth,h;r=this.transB;var t=function(a,b,e){if(ae)d?a=Math.min(Math.max(b,a),e):h=!0;return a};l=x(l,this.translate(a,null,null,c));a=c=Math.round(l+r);r=u=Math.round(f-l-r);b(l)?this.horiz?(r=g,u=f-this.bottom,a=c=t(a,A,A+\\nthis.width)):(a=A,c=k-this.right,r=u=t(r,g,g+this.height)):h=!0;return h&&!d?null:p.renderer.crispLine([\\\"M\\\",a,r,\\\"L\\\",c,u],e||1)},getLinearTickPositions:function(a,e,c){var p,d=h(Math.floor(e/a)*a),A=h(Math.ceil(c/a)*a),l=[];if(e===c&&b(e))return[e];for(e=d;e<=A;){l.push(e);e=h(e+a);if(e===p)break;p=e}return l},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,e=this.minorTickInterval,c=[],d,l=this.pointRangePadding||0;d=this.min-l;var l=this.max+l,g=l-d;if(g&&g/e=this.minRange,g,r,u,f,k,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&\\n(n(a.min)||n(a.max)?this.minRange=null:(d(this.series,function(a){f=a.xData;for(r=k=a.xIncrement?1:f.length-1;0=q?(I=q,w=0):c.dataMax<=q&&(L=q,H=0)),c.min=x(N,I,c.dataMin),c.max=x(z,\\nL,c.dataMax));r&&(!a&&0>=Math.min(c.min,x(c.dataMin,c.min))&&g(10,1),c.min=h(u(c.min),15),c.max=h(u(c.max),15));c.range&&n(c.max)&&(c.userMin=c.min=N=Math.max(c.min,c.minFromRange()),c.userMax=z=c.max,c.range=null);B(c,\\\"foundExtremes\\\");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(v||c.axisPointRange||c.usePercentage||t)&&n(c.min)&&n(c.max)&&(u=c.max-c.min)&&(!n(N)&&w&&(c.min-=u*w),!n(z)&&H&&(c.max+=u*H));b(l.floor)?c.min=Math.max(c.min,l.floor):b(l.softMin)&&(c.min=Math.min(c.min,l.softMin));\\nb(l.ceiling)?c.max=Math.min(c.max,l.ceiling):b(l.softMax)&&(c.max=Math.max(c.max,l.softMax));m&&n(c.dataMin)&&(q=q||0,!n(N)&&c.min=q?c.min=q:!n(z)&&c.max>q&&c.dataMax<=q&&(c.max=q));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:t&&!y&&G===c.linkedParent.options.tickPixelInterval?y=c.linkedParent.tickInterval:x(y,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,v?1:(c.max-c.min)*G/Math.max(c.len,G));k&&!a&&d(c.series,function(a){a.processData(c.min!==\\nc.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!y&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));a=x(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!y&&c.tickIntervalc.tickInterval&&1E3c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,e=a.tickPositioner,d=a.startOnTick,l=a.endOnTick,g;this.tickmarkOffset=this.categories&&\\\"between\\\"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=\\\"auto\\\"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,\\na.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=b=e);this.isLinked||(this.trimTicks(b,d,l),this.min===this.max&&n(this.min)&&!this.tickAmount&&(g=!0,this.min-=.5,this.max+=.5),this.single=g,c||e||this.adjustTickAmount())},\\ntrimTicks:function(a,b,c){var e=a[0],d=a[a.length-1],p=this.minPointOffset||0;if(b)this.min=e;else for(;this.min-p>a[0];)a.shift();if(c)this.max=d;else for(;this.max+pb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,e=this.finalTickAmt,d=b&&b.length;if(dc&&(this.tickInterval*=\\n2,this.setTickPositions());if(n(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&0=d&&(b=d)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:\\\"zoom\\\"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,e=this.horiz,d=x(b.width,a.plotWidth-c+(b.offsetRight||0)),l=x(b.height,a.plotHeight),g=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(l)&&(l=Math.round(parseFloat(l)/\\n100*a.plotHeight));c.test(g)&&(g=Math.round(parseFloat(g)/100*a.plotHeight+a.plotTop));this.left=b;this.top=g;this.width=d;this.height=l;this.bottom=a.chartHeight-l-g;this.right=a.chartWidth-d-b;this.len=Math.max(e?d:l,0);this.pos=e?b:g},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?h(b(this.min)):this.min,max:a?h(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,\\ne=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=e:e>a?a=e:ba?\\\"right\\\":195a?\\\"left\\\":\\\"center\\\"},tickSize:function(a){var b=this.options,c=b[a+\\\"Length\\\"],e=x(b[a+\\\"Width\\\"],\\\"tick\\\"===a&&this.isXAxis?1:0);if(e&&c)return\\\"inside\\\"===b[a+\\\"Position\\\"]&&(c=-c),[c,e]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,\\nthis.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,l=this.len/(((this.categories?1:0)+this.max-this.min)/c),g,r=a.rotation,u=this.labelMetrics(),f,h=Number.MAX_VALUE,t,H=function(a){a/=l||1;a=1=a)f=H(Math.abs(u.h/Math.sin(k*a))),b=f+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/e||!b&&(d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,e=this.ticks,l=this.options.labels,g=this.horiz,r=this.getSlotWidth(),u=Math.max(1,\\nMath.round(r-2*(l.padding||5))),f={},h=this.labelMetrics(),k=l.style&&l.style.textOverflow,H,w=0,x,G;t(l.rotation)||(f.rotation=l.rotation||0);d(c,function(a){(a=e[a])&&a.labelLength>w&&(w=a.labelLength)});this.maxLabelLength=w;if(this.autoRotation)w>u&&w>h.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(H={width:u+\\\"px\\\"},!k))for(H.textOverflow=\\\"clip\\\",x=c.length;!g&&x--;)if(G=c[x],u=e[G].label)u.styles&&\\\"ellipsis\\\"===u.styles.textOverflow?u.css({textOverflow:\\\"clip\\\"}):e[G].labelLength>\\nr&&u.css({width:r+\\\"px\\\"}),u.getBBox().height>this.len/c.length-(h.h-h.f)&&(u.specCss={textOverflow:\\\"ellipsis\\\"});f.rotation&&(H={width:(w>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+\\\"px\\\"},k||(H.textOverflow=\\\"ellipsis\\\"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;d(c,function(a){var b=(a=e[a])&&a.label;b&&(b.attr(f),H&&b.css(y(H,b.specCss)),delete b.specCss,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)},\\nhasData:function(){return this.hasVisibleSeries||n(this.min)&&n(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,l=a.tickPositions,g=a.ticks,r=a.horiz,u=a.side,f=b.inverted?[1,0,3,2][u]:u,h,k,t=0,H,w=0,y=e.title,G=e.labels,K=0,v=a.opposite,q=b.axisOffset,b=b.clipOffset,m=[-1,1,1,-1][u],B,I=e.className,L=a.axisParent,z=this.tickSize(\\\"tick\\\");h=a.hasData();a.showAxis=k=h||x(e.showEmpty,!0);a.staggerLines=a.horiz&&G.staggerLines;a.axisGroup||(a.gridGroup=\\nc.g(\\\"grid\\\").attr({zIndex:e.gridZIndex||1}).addClass(\\\"highcharts-\\\"+this.coll.toLowerCase()+\\\"-grid \\\"+(I||\\\"\\\")).add(L),a.axisGroup=c.g(\\\"axis\\\").attr({zIndex:e.zIndex||2}).addClass(\\\"highcharts-\\\"+this.coll.toLowerCase()+\\\" \\\"+(I||\\\"\\\")).add(L),a.labelGroup=c.g(\\\"axis-labels\\\").attr({zIndex:G.zIndex||7}).addClass(\\\"highcharts-\\\"+a.coll.toLowerCase()+\\\"-labels \\\"+(I||\\\"\\\")).add(L));if(h||a.isLinked)d(l,function(b){g[b]?g[b].addLabel():g[b]=new N(a,b)}),a.renderUnsquish(),!1===G.reserveSpace||0!==u&&2!==u&&{1:\\\"left\\\",3:\\\"right\\\"}[u]!==\\na.labelAlign&&\\\"center\\\"!==a.labelAlign||d(l,function(a){K=Math.max(g[a].getLabelSize(),K)}),a.staggerLines&&(K*=a.staggerLines,a.labelOffset=K*(a.opposite?-1:1));else for(B in g)g[B].destroy(),delete g[B];y&&y.text&&!1!==y.enabled&&(a.axisTitle||((B=y.textAlign)||(B=(r?{low:\\\"left\\\",middle:\\\"center\\\",high:\\\"right\\\"}:{low:v?\\\"right\\\":\\\"left\\\",middle:\\\"center\\\",high:v?\\\"left\\\":\\\"right\\\"})[y.align]),a.axisTitle=c.text(y.text,0,0,y.useHTML).attr({zIndex:7,rotation:y.rotation||0,align:B}).addClass(\\\"highcharts-axis-title\\\").css(y.style).add(a.axisGroup),\\na.axisTitle.isNew=!0),k&&(t=a.axisTitle.getBBox()[r?\\\"height\\\":\\\"width\\\"],H=y.offset,w=n(H)?0:x(y.margin,r?5:10)),a.axisTitle[k?\\\"show\\\":\\\"hide\\\"](!0));a.renderLine();a.offset=m*x(e.offset,q[u]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===u?-a.labelMetrics().h:2===u?a.tickRotCorr.y:0;w=Math.abs(K)+w;K&&(w=w-c+m*(r?x(G.y,a.tickRotCorr.y+8*m):G.x));a.axisTitleMargin=x(H,w);q[u]=Math.max(q[u],a.axisTitleMargin+t+m*a.offset,w,h&&l.length&&z?z[0]:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[f]=\\nMath.max(b[f],e)},getLinePath:function(a){var b=this.chart,c=this.opposite,e=this.offset,d=this.horiz,l=this.left+(c?this.width:0)+e,e=b.chartHeight-this.bottom-(c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine([\\\"M\\\",d?this.left:l,d?e:this.top,\\\"L\\\",d?b.chartWidth-this.right:l,d?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass(\\\"highcharts-axis-line\\\").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,\\n\\\"stroke-width\\\":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,d=this.options.title,l=a?b:c,g=this.opposite,r=this.offset,u=d.x||0,f=d.y||0,h=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,this.axisTitle).f,e={low:l+(a?0:e),middle:l+e/2,high:l+(a?e:0)}[d.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(2===this.side?h:0);return{x:a?e+u:b+(g?this.width:0)+r+u,y:a?b+f-(g?this.height:0)+r:e+f}},render:function(){var a=\\nthis,c=a.chart,e=c.renderer,l=a.options,g=a.isLog,r=a.lin2log,u=a.isLinked,f=a.tickPositions,h=a.axisTitle,k=a.ticks,t=a.minorTicks,w=a.alternateBands,y=l.stackLabels,x=l.alternateGridColor,G=a.tickmarkOffset,n=a.axisLine,K=c.hasRendered&&b(a.oldMin),v=a.showAxis,q=z(e.globalAnimation),m,B;a.labelEdge.length=0;a.overlap=!1;d([k,t,w],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||u)a.minorTickInterval&&!a.categories&&d(a.getMinorTickPositions(),function(b){t[b]||(t[b]=new N(a,b,\\\"minor\\\"));\\nK&&t[b].isNew&&t[b].render(null,!0);t[b].render(null,!1,1)}),f.length&&(d(f,function(b,c){if(!u||b>=a.min&&b<=a.max)k[b]||(k[b]=new N(a,b)),K&&k[b].isNew&&k[b].render(c,!0,.1),k[b].render(c)}),G&&(0===a.min||a.single)&&(k[-1]||(k[-1]=new N(a,-1,null,!0)),k[-1].render(-1))),x&&d(f,function(b,e){B=void 0!==f[e+1]?f[e+1]+G:a.max-G;0===e%2&&b=d.second?0:x*Math.floor(b.getMilliseconds()/x));if(K>=d.second)b[z.hcSetSeconds](K>=d.minute?0:x*Math.floor(b.getSeconds()/\\nx));if(K>=d.minute)b[z.hcSetMinutes](K>=d.hour?0:x*Math.floor(b[z.hcGetMinutes]()/x));K>=d.hour&&(b[z.hcSetHours](K>=d.day?0:x*Math.floor(b[z.hcGetHours]()/x)),t=b[z.hcGetHours]());if(K>=d.day)b[z.hcSetDate](K>=d.month?1:x*Math.floor(b[z.hcGetDate]()/x));K>=d.month&&(b[z.hcSetMonth](K>=d.year?0:x*Math.floor(b[z.hcGetMonth]()/x)),w=b[z.hcGetFullYear]());if(K>=d.year)b[z.hcSetFullYear](w-w%x);if(K===d.week)b[z.hcSetDate](b[z.hcGetDate]()-b[z.hcGetDay]()+v(c,1));c=1;if(z.hcTimezoneOffset||z.hcGetTimezoneOffset)B=\\n(!g||!!z.hcGetTimezoneOffset)&&(q-k>4*d.month||n(k)!==n(q)),b=b.getTime(),b=new z(b+n(b));w=b[z.hcGetFullYear]();k=b.getTime();g=b[z.hcGetMonth]();for(b=b[z.hcGetDate]();kh&&(!n||l<=q)&&void 0!==l&&w.push(l),l>q&&(u=!0),l=e;else h=d(h),q=d(q),a=f[n?\\\"minorTickInterval\\\":\\n\\\"tickInterval\\\"],a=m(\\\"auto\\\"===a?null:a,this._minorAutoInterval,f.tickPixelInterval/(n?5:1)*(q-h)/((n?v/this.tickPositions.length:v)||1)),a=J(a,null,z(a)),w=F(this.getLinearTickPositions(a,h,q),g),n||(this._minorAutoInterval=a/5);n||(this.tickInterval=a);return w};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(M);(function(a){var D=a.dateFormat,z=a.each,F=a.extend,J=a.format,m=a.isNumber,f=a.map,h=a.merge,q=a.pick,n=a.splat,k=a.stop,\\nv=a.syncTimeout,d=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split},cleanSplit:function(a){z(this.chart.series,function(d){var g=d&&d.tt;g&&(!g.isActive||a?d.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,d=this.options;this.label||(this.split?this.label=a.g(\\\"tooltip\\\"):\\n(this.label=a.label(\\\"\\\",0,0,d.shape||\\\"callout\\\",null,null,d.useHTML,null,\\\"tooltip\\\").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor,\\\"stroke-width\\\":d.borderWidth}).css(d.style).shadow(d.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());\\nclearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,d,f,c){var e=this,l=e.now,g=!1!==e.options.animation&&!e.isHidden&&(1h-g?h:h-g);else if(f)l[a]=Math.max(r,d+g+c>b?d:d+g);else return!1},x=function(a,b,c,d){var g;db-e?g=!1:l[a]=db-c/2?b-c-2:d-c/2;return g},w=function(a){var c=b;b=k;k=c;h=a},r=function(){!1!==n.apply(0,b)?!1!==x.apply(0,k)||h||(w(!0),r()):h?l.x=l.y=0:(w(!0),r())};(c.inverted||1r&&(u=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=e.plotTop;\\nc.push({target:d.isHeader?e.plotHeight+b:a,rank:d.isHeader?1:0,size:t.tt.getBBox().height+1,point:d,x:r,tt:y})});this.cleanSplit();a.distribute(c,e.plotHeight+b);z(c,function(a){var b=a.point,c=a.tt,d;d={visibility:void 0===a.pos?\\\"hidden\\\":\\\"inherit\\\",x:u||b.isHeader?a.x:b.plotX+e.plotLeft+q(h.distance,16),y:a.pos+e.plotTop};b.isHeader&&(d.anchorX=b.plotX+e.plotLeft,d.anchorY=d.y-100);c.attr(d);b.isHeader||c.connector.attr({d:[\\\"M\\\",b.plotX+e.plotLeft-d.x,b.plotY+b.series.yAxis.pos-d.y,\\\"L\\\",(u?-1:1)*q(h.distance,\\n16)+b.plotX+e.plotLeft-d.x,a.pos+e.plotTop+c.getBBox().height/2-d.y]})})},updatePosition:function(a){var d=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getXDateFormat:function(a,f,h){var c;f=f.dateTimeLabelFormats;var e=h&&h.closestPointRange,l,g={millisecond:15,second:12,minute:9,hour:6,day:3},k,b=\\\"millisecond\\\";if(e){k=D(\\\"%m-%d %H:%M:%S.%L\\\",a.x);for(l in d){if(e===\\nd.week&&+D(\\\"%w\\\",a.x)===h.options.startOfWeek&&\\\"00:00:00.000\\\"===k.substr(6)){l=\\\"week\\\";break}if(d[l]>e){l=b;break}if(g[l]&&k.substr(g[l])!==\\\"01-01 00:00:00.000\\\".substr(g[l]))break;\\\"week\\\"!==l&&(b=l)}l&&(c=f[l])}else c=f.day;return c||f.year},tooltipFooterHeaderFormatter:function(a,d){var g=d?\\\"footer\\\":\\\"header\\\";d=a.series;var c=d.tooltipOptions,e=c.xDateFormat,l=d.xAxis,u=l&&\\\"datetime\\\"===l.options.type&&m(a.key),g=c[g+\\\"Format\\\"];u&&!e&&(e=this.getXDateFormat(a,c,l));u&&e&&(g=g.replace(\\\"{point.key}\\\",\\\"{point.key:\\\"+\\ne+\\\"}\\\"));return J(g,{point:a,series:d})},bodyFormatter:function(a){return f(a,function(a){var d=a.series.tooltipOptions;return(d.pointFormatter||a.point.tooltipFormatter).call(a.point,d.pointFormat)})}}})(M);(function(a){var D=a.addEvent,z=a.attr,F=a.charts,J=a.color,m=a.css,f=a.defined,h=a.doc,q=a.each,n=a.extend,k=a.fireEvent,v=a.offset,d=a.pick,g=a.removeEvent,w=a.splat,B=a.Tooltip,c=a.win;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=\\na;this.runChartClick=c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};B&&c.tooltip.enabled&&(a.tooltip=new B(a,c.tooltip),this.followTouchMove=d(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(){var a=this.chart,c=a.options.chart.zoomType,d=/x/.test(c),c=/y/.test(c),a=a.inverted;this.zoomX=d;this.zoomY=c;this.zoomHor=d&&!a||c&&a;this.zoomVert=c&&!a||d&&a;this.hasZoom=d||c},normalize:function(a,d){var e,l;a=a||c.event;a.target||(a.target=a.srcElement);\\nl=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;d||(this.chartPosition=d=v(this.chart.container));void 0===l.pageX?(e=Math.max(a.x,a.clientX-d.left),d=a.y):(e=l.pageX-d.left,d=l.pageY-d.top);return n(a,{chartX:Math.round(e),chartY:Math.round(d)})},getCoordinates:function(a){var c={xAxis:[],yAxis:[]};q(this.chart.axes,function(e){c[e.isXAxis?\\\"xAxis\\\":\\\"yAxis\\\"].push({axis:e,value:e.toValue(a[e.horiz?\\\"chartX\\\":\\\"chartY\\\"])})});return c},runPointActions:function(c){var e=this.chart,g=\\ne.series,f=e.tooltip,b=f?f.shared:!1,k=!0,y=e.hoverPoint,n=e.hoverSeries,x,v,r,G=[],H;if(!b&&!n)for(x=0;xc.series.group.zIndex?-1:1}));if(b)for(x=G.length;x--;)(G[x].x!==G[0].x||G[x].series.noSharedTooltip)&&G.splice(x,1);if(G[0]&&(G[0]!==this.prevKDPoint||f&&f.isHidden)){if(b&&!G[0].series.noSharedTooltip){for(x=0;xh+n&&(d=h+n),bk+r&&(b=k+r),this.hasDragged=Math.sqrt(Math.pow(v-d,2)+Math.pow(p-b,2)),10x.max&&(f=x.max-b,p=!0);p?(G-=.8*(G-g[c][0]),I||(N-=.8*(N-g[c][1])),n()):g[c]=[G,N];m||(d[c]=t-q,d[u]=b);d=m?1/y:y;v[u]=b;v[c]=f;k[m?a?\\\"scaleY\\\":\\\"scaleX\\\":\\\"scale\\\"+e]=y;k[\\\"translate\\\"+e]=d*q+(G-d*r)},pinch:function(a){var h=this,n=h.chart,k=h.pinchDown,v=a.touches,d=v.length,g=h.lastValidTouch,w=h.hasZoom,B=h.selectionMarker,c={},e=1===\\nd&&(h.inClass(a.target,\\\"highcharts-tracker\\\")&&n.runTrackerClick||h.runChartClick),l={};1d-6&&l(G||c.chartWidth-2*x-p-g.x)&&(this.itemX=p,this.itemY+=q+this.lastLineHeight+H,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,b);this.lastItemY=q+this.itemY+H;this.lastLineHeight=\\nMath.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=b:(this.itemY+=q+h+H,this.lastLineHeight=h);this.offsetWidth=G||Math.max((f?this.itemX-p-w:b)+x,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(c){var e=c&&c.options;c&&v(e.showInLegend,m(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||(\\\"point\\\"===e.legendType?c.data:c)))});return a},adjustMargins:function(a,e){var c=this.chart,d=this.options,g=d.align.charAt(0)+d.verticalAlign.charAt(0)+\\nd.layout.charAt(0);d.floating||f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(b,f){b.test(g)&&!m(a[f])&&(c[n[f]]=Math.max(c[n[f]],c.legend[(f+1)%2?\\\"legendHeight\\\":\\\"legendWidth\\\"]+[1,-1,-1,1][f]*d[f%2?\\\"x\\\":\\\"y\\\"]+v(d.margin,12)+e[f]))})},render:function(){var a=this,e=a.chart,d=e.renderer,k=a.group,n,b,t,v,m=a.box,x=a.options,w=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;k||(a.group=k=d.g(\\\"legend\\\").attr({zIndex:7}).add(),a.contentGroup=\\nd.g().attr({zIndex:1}).add(k),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();n=a.getAllItems();g(n,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&n.reverse();a.allItems=n;a.display=b=!!n.length;a.lastLineHeight=0;f(n,function(b){a.renderItem(b)});t=(x.width||a.offsetWidth)+w;v=a.lastItemY+a.lastLineHeight+a.titleHeight;v=a.handleOverflow(v);v+=w;m||(a.box=m=d.rect().addClass(\\\"highcharts-legend-box\\\").attr({r:x.borderRadius}).add(k),\\nm.isNew=!0);m.attr({stroke:x.borderColor,\\\"stroke-width\\\":x.borderWidth||0,fill:x.backgroundColor||\\\"none\\\"}).shadow(x.shadow);0b&&!1!==x.enabled?(this.clipHeight=n=Math.max(b-20-this.titleHeight-q,0),this.currentPage=v(this.currentPage,1),this.fullHeight=\\na,f(A,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=H.length;if(!d||c-H[d-1]>n&&(p||c)!==H[d-1])H.push(p||c),d++;b===A.length-1&&c+a-H[d-1]>n&&H.push(c);c!==p&&(p=c)}),m||(m=c.clipRect=g.clipRect(0,q,9999,0),c.contentGroup.clip(m)),B(n),G||(this.nav=G=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol(\\\"triangle\\\",0,0,r,r).on(\\\"click\\\",function(){c.scroll(-1,w)}).add(G),this.pager=g.text(\\\"\\\",15,10).addClass(\\\"highcharts-legend-navigation\\\").css(x.style).add(G),\\nthis.down=g.symbol(\\\"triangle-down\\\",0,0,r,r).on(\\\"click\\\",function(){c.scroll(1,w)}).add(G)),c.scroll(0),a=b):G&&(B(d.chartHeight),G.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,e){var c=this.pages,g=c.length;a=this.currentPage+a;var f=this.clipHeight,b=this.options.navigation,h=this.pager,k=this.padding;a>g&&(a=g);0c&&(g=typeof a[0],\\\"string\\\"===g?d.name=a[0]:\\\"number\\\"===g&&(d.x=a[0]),e++);l=f.value;)f=d[++g];f&&f.color&&!this.options.color&&(this.color=f.color);return f},destroy:function(){var a=this.series.chart,d=a.hoverPoints,g;a.pointCount--;d&&(this.setState(),J(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=[\\\"graphic\\\",\\\"dataLabel\\\",\\\"dataLabelUpper\\\",\\n\\\"connector\\\",\\\"shadowGroup\\\"],d,g=6;g--;)d=a[g],this[d]&&(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,g=d.tooltipOptions,h=n(g.valueDecimals,\\\"\\\"),k=g.valuePrefix||\\\"\\\",c=g.valueSuffix||\\\"\\\";z(d.pointArrayMap||[\\\"y\\\"],function(d){d=\\\"{point.\\\"+d;if(k||c)a=a.replace(d+\\\"}\\\",k+d+\\\"}\\\"+c);a=a.replace(d+\\n\\\"}\\\",d+\\\":,.\\\"+h+\\\"f}\\\")});return f(a,{point:this,series:this.series})},firePointEvent:function(a,d,g){var f=this,h=this.series.options;(h.point.events[a]||f.options&&f.options.events&&f.options.events[a])&&this.importEvents();\\\"click\\\"===a&&h.allowPointSelect&&(g=function(a){f.select&&f.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,d,g)},visible:!0}})(M);(function(a){var D=a.addEvent,z=a.animObject,F=a.arrayMax,J=a.arrayMin,m=a.correctFloat,f=a.Date,h=a.defaultOptions,q=a.defaultPlotOptions,\\nn=a.defined,k=a.each,v=a.erase,d=a.error,g=a.extend,w=a.fireEvent,B=a.grep,c=a.isArray,e=a.isNumber,l=a.isString,u=a.merge,L=a.pick,b=a.removeEvent,t=a.splat,y=a.stableSort,K=a.SVGElement,x=a.syncTimeout,I=a.win;a.Series=a.seriesType(\\\"line\\\",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:\\\"#ffffff\\\",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:\\\"#cccccc\\\",lineColor:\\\"#000000\\\",\\nlineWidth:2}}},point:{events:{}},dataLabels:{align:\\\"center\\\",formatter:function(){return null===this.y?\\\"\\\":a.numberFormat(this.y,-1)},style:{fontSize:\\\"11px\\\",fontWeight:\\\"bold\\\",color:\\\"contrast\\\",textShadow:\\\"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast\\\"},verticalAlign:\\\"bottom\\\",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,\\npointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:[\\\"xAxis\\\",\\\"yAxis\\\"],colorCounter:0,parallelArrays:[\\\"x\\\",\\\"y\\\"],coll:\\\"series\\\",init:function(a,b){var c=this,d,e,f=a.series,r=function(a,b){return L(a.options.index,a._i)-L(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:\\\"\\\",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||\\nb.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+\\\"Data\\\"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.push(c);c._i=f.length-1;y(f,r);this.yAxis&&y(this.yAxis.series,r);k(f,function(a,b){a.index=b;a.name=a.name||\\\"Series \\\"+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart,e;k(a.axisTypes||[],function(g){k(c[g],function(c){e=c.options;if(b[g]===e.index||void 0!==b[g]&&b[g]===e.id||void 0===b[g]&&0===e.index)c.series.push(a),\\na[g]=c,c.isDirty=!0});a[g]||a.optionalAxis===g||d(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,g=e(b)?function(d){var e=\\\"y\\\"===d&&c.toYData?c.toYData(a):a[d];c[d+\\\"Data\\\"][b]=e}:function(a){Array.prototype[b].apply(c[a+\\\"Data\\\"],Array.prototype.slice.call(d,2))};k(c.parallelArrays,g)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,b=L(b,a.pointStart,0);this.pointInterval=c=L(this.pointInterval,a.pointInterval,1);d&&(a=new f(b),\\\"day\\\"===d?\\na=+a[f.hcSetDate](a[f.hcGetDate]()+c):\\\"month\\\"===d?a=+a[f.hcSetMonth](a[f.hcGetMonth]()+c):\\\"year\\\"===d&&(a=+a[f.hcSetFullYear](a[f.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=u(e,c.series,a);this.tooltipOptions=u(h.tooltip,h.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&\\ndelete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+\\\"Threshold\\\"]||c.threshold||0,className:\\\"highcharts-negative\\\",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&n(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d,e=this.userOptions,g=a+\\\"Index\\\",f=a+\\\"Counter\\\",h=c?c.length:L(this.chart.options.chart[a+\\\"Count\\\"],this.chart[a+\\n\\\"Count\\\"]);b||(d=L(e[g],e[\\\"_\\\"+g]),n(d)||(e[\\\"_\\\"+g]=d=this.chart[f]%h,this.chart[f]+=1),c&&(b=c[d]));void 0!==d&&(this[g]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic(\\\"color\\\",this.options.color||q[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic(\\\"symbol\\\",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,b,g,f){var h=this,r=h.points,n=r&&r.length||\\n0,t,u=h.options,x=h.chart,m=null,y=h.xAxis,G=u.turboThreshold,q=this.xData,w=this.yData,v=(t=h.pointArrayMap)&&t.length;a=a||[];t=a.length;b=L(b,!0);if(!1!==f&&t&&n===t&&!h.cropped&&!h.hasGroupedData&&h.visible)k(a,function(a,b){r[b].update&&a!==u.data[b]&&r[b].update(a,!1,null,!1)});else{h.xIncrement=null;h.colorCounter=0;k(this.parallelArrays,function(a){h[a+\\\"Data\\\"].length=0});if(G&&t>G){for(g=0;null===m&&gk||this.forceCrop))if(b[e-1]x)b=[],c=[];else if(b[0]x)g=this.cropData(this.xData,this.yData,m,x),b=g.xData,c=g.yData,\\ng=g.start,f=!0;for(k=b.length||1;--k;)e=u?r(b[k])-r(b[k-1]):b[k]-b[k-1],0e&&this.requireSorting&&d(15);this.cropped=f;this.cropStart=g;this.processedXData=b;this.processedYData=c;this.closestPointRange=h},cropData:function(a,b,c,d){var e=a.length,g=0,f=e,h=L(this.cropShoulder,1),l;for(l=0;l=c){g=Math.max(0,l-h);break}for(c=l;cd){f=c+h;break}return{xData:a.slice(g,f),yData:b.slice(g,f),start:g,end:f}},generatePoints:function(){var a=this.options.data,\\nb=this.data,c,d=this.processedXData,e=this.processedYData,g=this.pointClass,f=d.length,h=this.cropStart||0,l,k=this.hasGroupedData,n,u=[],m;b||k||(b=[],b.length=a.length,b=this.data=b);for(m=0;m=l&&(d[m-1]||n)<=k,r&&n)if(r=t.length)for(;r--;)null!==t[r]&&(f[h++]=t[r]);else f[h++]=t;this.dataMin=J(f);this.dataMax=F(f)},translate:function(){this.processedXData||\\nthis.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,g=this.yAxis,f=this.points,h=f.length,l=!!this.modifyValue,k=a.pointPlacement,t=\\\"between\\\"===k||e(k),u=a.threshold,x=a.startFromThreshold?u:0,y,q,w,v,K=Number.MAX_VALUE,a=0;a=z&&(I.isNull=!0);I.plotX=y=m(Math.min(Math.max(-1E5,c.translate(B,0,0,0,1,k,\\\"flags\\\"===this.type)),\\n1E5));b&&this.visible&&!I.isNull&&D&&D[B]&&(v=this.getStackIndicator(v,B,this.index),F=D[B],z=F.points[v.key],q=z[0],z=z[1],q===x&&v.key===D[B].base&&(q=L(u,g.min)),g.isLog&&0>=q&&(q=null),I.total=I.stackTotal=F.total,I.percentage=F.total&&I.y/F.total*100,I.stackY=z,F.setOffset(this.pointXOffset||0,this.barW||0));I.yBottom=n(q)?g.translate(q,0,1,0,1):null;l&&(z=this.modifyValue(z,I));I.plotY=q=\\\"number\\\"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,g.translate(z,0,1,0,1)),1E5):void 0;I.isInside=\\nvoid 0!==q&&0<=q&&q<=g.len&&0<=y&&y<=c.len;I.clientX=t?m(c.translate(B,0,0,0,1,k)):y;I.negative=I.y<(u||0);I.category=d&&void 0!==d[I.x]?d[I.x]:I.x;I.isNull||(void 0!==w&&(K=Math.min(K,Math.abs(y-w))),w=y)}this.closestPointRangePx=K},getValidPoints:function(a,b){var c=this.chart;return B(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,g=this.clipBox,f=g||b.clipBox,h=this.sharedClipKey||\\n[\\\"_sharedClip\\\",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),l=b[h],k=b[h+\\\"m\\\"];l||(a&&(f.width=0,b[h+\\\"m\\\"]=k=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[h]=l=d.clipRect(f),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);!1!==c.clip&&(this.group.clip(a||g?l:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=h);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&b[h]&&(g||\\n(b[h]=b[h].destroy()),b[h+\\\"m\\\"]&&(b[h+\\\"m\\\"]=b[h+\\\"m\\\"].destroy())))},animate:function(a){var b=this.chart,c=z(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+\\\"m\\\"]&&b[d+\\\"m\\\"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();w(this,\\\"afterAnimate\\\")},drawPoints:function(){var a=this.points,b=this.chart,c,d,g,f,h=this.options.marker,l,k,n,t,m=this.markerGroup,u=L(h.enabled,this.xAxis.isRadial?!0:null,\\nthis.closestPointRangePx>2*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(d=a.length;d--;)g=a[d],c=g.plotY,f=g.graphic,l=g.marker||{},k=!!g.marker,n=u&&void 0===l.enabled||l.enabled,t=g.isInside,n&&e(c)&&null!==g.y?(c=L(l.symbol,this.symbol),g.hasImage=0===c.indexOf(\\\"url\\\"),n=this.markerAttribs(g,g.selected&&\\\"select\\\"),f?f[t?\\\"show\\\":\\\"hide\\\"](!0).animate(n):t&&(0e&&b.shadow));f&&(f.startX=c.xMap,f.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,g,f=this.clips||[],h,l=this.graph,n=this.area,t=Math.max(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||\\\"y\\\")+\\\"Axis\\\"],u,x,y=b.inverted,q,w,v,K,I=!1;d.length&&(l||n)&&m&&void 0!==m.min&&(x=\\nm.reversed,q=m.horiz,l&&l.hide(),n&&n.hide(),u=m.getExtremes(),k(d,function(d,k){e=x?q?b.plotWidth:0:q?0:m.toPixels(u.min);e=Math.min(Math.max(L(g,e),0),t);g=Math.min(Math.max(Math.round(m.toPixels(L(d.value,u.max),!0)),0),t);I&&(e=g=m.toPixels(u.max));w=Math.abs(e-g);v=Math.min(e,g);K=Math.max(e,g);m.isXAxis?(h={x:y?K:v,y:0,width:w,height:t},q||(h.x=b.plotHeight-h.x)):(h={x:0,y:y?K:v,width:t,height:w},q&&(h.y=b.plotWidth-h.y));y&&c.isVML&&(h=m.isXAxis?{x:0,y:x?v:K,height:h.width,width:b.chartWidth}:\\n{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});f[k]?f[k].animate(h):(f[k]=c.clipRect(h),l&&a[\\\"zone-graph-\\\"+k].clip(f[k]),n&&a[\\\"zone-area-\\\"+k].clip(f[k]));I=d.value>u.max}),this.clips=f)},invertGroups:function(a){function c(){var b={width:d.yAxis.len,height:d.xAxis.len};k([\\\"group\\\",\\\"markerGroup\\\"],function(c){d[c]&&d[c].attr(b).invert(a)})}var d=this,e=d.chart;d.xAxis&&(D(e,\\\"resize\\\",c),D(d,\\\"destroy\\\",function(){b(e,\\\"resize\\\",c)}),c(a),d.invertGroups=c)},plotGroup:function(a,\\nb,c,d,e){var g=this[a],f=!g;f&&(this[a]=g=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),g.addClass(\\\"highcharts-series-\\\"+this.index+\\\" highcharts-\\\"+this.type+\\\"-series highcharts-color-\\\"+this.colorIndex+\\\" \\\"+(this.options.className||\\\"\\\")));g.attr({visibility:c})[f?\\\"attr\\\":\\\"animate\\\"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=\\nthis,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&z(d.animation).duration,g=a.visible?\\\"inherit\\\":\\\"hidden\\\",f=d.zIndex,h=a.hasRendered,l=b.seriesGroup,k=b.inverted;c=a.plotGroup(\\\"group\\\",\\\"series\\\",g,f,l);a.markerGroup=a.plotGroup(\\\"markerGroup\\\",\\\"markers\\\",g,f,l);e&&a.animate(!0);c.inverted=a.isCartesian?k:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(k);\\n!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);e&&a.animate();h||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:L(d&&d.left,a.plotLeft),translateY:L(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:[\\\"clientX\\\",\\n\\\"plotY\\\"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,e){var g,f;if(f=c&&c.length)return g=b.kdAxisArray[d%e],c.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),d+1,e),right:a(c.slice(f+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,\\n!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,l){var k=b.point,t=d.kdAxisArray[h%l],m,u,r=k;u=n(a[e])&&n(k[e])?Math.pow(a[e]-k[e],2):null;m=n(a[g])&&n(k[g])?Math.pow(a[g]-k[g],2):null;m=(u||0)+(m||0);k.dist=n(m)?Math.sqrt(m):Number.MAX_VALUE;k.distX=n(u)?Math.sqrt(u):Number.MAX_VALUE;t=a[t]-k[t];m=0>t?\\\"left\\\":\\\"right\\\";u=0>t?\\\"right\\\":\\\"left\\\";b[m]&&(m=c(a,b[m],h+1,l),r=m[f]t;)u--;this.updateParallelArrays(k,\\\"splice\\\",u,0,0);this.updateParallelArrays(k,u);h&&k.name&&(h[t]=k.name);l.splice(u,0,a);n&&(this.data.splice(u,0,null),this.processData());\\\"point\\\"===b.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):\\n(f.shift(),this.updateParallelArrays(k,\\\"shift\\\"),l.shift()));this.isDirtyData=this.isDirty=!0;c&&g.redraw(e)},removePoint:function(a,c,d){var b=this,e=b.data,f=e[a],g=b.points,h=b.chart,l=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);b.options.data.splice(a,1);b.updateParallelArrays(f||{series:b},\\\"splice\\\",a,1);f&&f.destroy();b.isDirty=!0;b.isDirtyData=!0;c&&h.redraw()};u(d,h);c=B(c,!0);f?f.firePointEvent(\\\"remove\\\",null,l):l()},remove:function(a,c,d){function b(){e.destroy();f.isDirtyLegend=\\nf.isDirtyBox=!0;f.linkSeries();B(a,!0)&&f.redraw(c)}var e=this,f=e.chart;!1!==d?k(e,\\\"remove\\\",null,b):b()},update:function(a,c){var b=this,d=this.chart,e=this.userOptions,f=this.type,g=a.type||e.type||d.options.chart.type,k=l[f].prototype,m=[\\\"group\\\",\\\"markerGroup\\\",\\\"dataLabelsGroup\\\"],u;if(g&&g!==f||void 0!==a.zIndex)m.length=0;h(m,function(a){m[a]=b[a];delete b[a]});a=w(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(u in k)this[u]=void 0;\\nn(this,l[g||f].prototype);h(m,function(a){b[a]=m[a]});this.init(d,a);d.linkSeries();B(c,!0)&&d.redraw(!1)}});n(F.prototype,{update:function(a,c){var b=this.chart;a=b.options[this.coll][this.options.index]=w(this.userOptions,a);this.destroy(!0);this.init(b,n(a,{events:void 0}));b.isDirtyBox=!0;B(c,!0)&&b.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);q(b.axes,this);q(b[c],this);b.options[c].splice(this.options.index,1);h(b[c],function(a,\\nb){a.options.index=b});this.destroy();b.isDirtyBox=!0;B(a,!0)&&b.redraw()},setTitle:function(a,c){this.update({title:a},c)},setCategories:function(a,c){this.update({categories:a},c)}})})(M);(function(a){var D=a.color,z=a.each,F=a.map,J=a.pick,m=a.Series,f=a.seriesType;f(\\\"area\\\",\\\"line\\\",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],f=[],n=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],d={},g=this.points,w=this.index,B=k.series,c=B.length,e,l=J(k.options.reversedStacks,\\n!0)?1:-1,u,L;if(this.options.stacking){for(u=0;ua&&g>k?(g=Math.max(a,k),B=2*k-g):gm&&B>k?(B=Math.max(m,k),g=2*k-B):B=Math.abs(f)&&.5a.closestPointRange*a.xAxis.transA,m=a.borderWidth=\\nh(k.borderWidth,m?0:1),c=a.yAxis,e=a.translatedThreshold=c.getThreshold(k.threshold),l=h(k.minPointLength,5),n=a.getColumnMetrics(),v=n.width,b=a.barW=Math.max(v,1+2*m),t=a.pointXOffset=n.offset;f.inverted&&(e-=.5);k.pointPadding&&(b=Math.ceil(b));q.prototype.translate.apply(a);F(a.points,function(d){var g=h(d.yBottom,e),k=999+Math.abs(g),k=Math.min(Math.max(-k,d.plotY),c.len+k),m=d.plotX+t,n=b,u=Math.min(k,g),q,y=Math.max(k,g)-u;Math.abs(y)l?g-l:e-(q?l:0));d.barX=m;d.pointWidth=v;d.tooltipPos=f.inverted?[c.len+c.pos-f.plotLeft-k,a.xAxis.len-m-n/2,y]:[m+n/2,k+c.pos-f.plotTop,y];d.shapeType=\\\"rect\\\";d.shapeArgs=a.crispCol.apply(a,d.isNull?[d.plotX,c.len/2,0,0]:[m,u,n,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?\\\"addClass\\\":\\\"removeClass\\\"](\\\"highcharts-dense-data\\\")},pointAttribs:function(a,f){var d=this.options,g=this.pointAttrToOptions||{},c=g.stroke||\\n\\\"borderColor\\\",e=g[\\\"stroke-width\\\"]||\\\"borderWidth\\\",h=a&&a.color||this.color,k=a[c]||d[c]||this.color||h,g=d.dashStyle,m;a&&this.zones.length&&(h=(h=a.getZone())&&h.color||a.options.color||this.color);f&&(f=d.states[f],m=f.brightness,h=f.color||void 0!==m&&z(h).brighten(f.brightness).get()||h,k=f[c]||k,g=f.dashStyle||g);a={fill:h,stroke:k,\\\"stroke-width\\\":a[e]||d[e]||this[e]||0};d.borderRadius&&(a.r=d.borderRadius);g&&(a.dashstyle=g);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,\\nn=g.renderer,c=h.animationLimit||250,e;F(a.points,function(d){var l=d.graphic;m(d.plotY)&&null!==d.y?(e=d.shapeArgs,l?(k(l),l[g.pointCountn;++n)k=h[n],a=2>n||2===n&&/%$/.test(k),h[n]=z(k,[f,J,q,h[2]][n])+(a?m:0);h[3]>h[2]&&(h[3]=h[2]);return h}}})(M);(function(a){var D=a.addEvent,z=a.defined,F=a.each,J=a.extend,\\nm=a.inArray,f=a.noop,h=a.pick,q=a.Point,n=a.Series,k=a.seriesType,v=a.setAnimation;k(\\\"pie\\\",\\\"line\\\",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:\\\"point\\\",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:\\\"#ffffff\\\",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,\\nnoSharedTooltip:!0,trackerGroups:[\\\"group\\\",\\\"dataLabelsGroup\\\"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,f=d.points,h=d.startAngleRad;a||(F(f,function(a){var c=a.graphic,f=a.shapeArgs;c&&(c.attr({r:a.startR||d.center[3]/2,start:h,end:h}),c.animate({r:f.r,start:f.start,end:f.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,f=0,h=this.points,k=h.length,c,e=this.options.ignoreHiddenPoint;for(a=0;ac.y&&\\n(c.y=null),f+=e&&!c.visible?0:c.y;this.total=f;for(a=0;a1.5*Math.PI?m-=2*Math.PI:m<-Math.PI/2&&(m+=2*Math.PI);I.slicedTranslation={translateX:Math.round(Math.cos(m)*k),translateY:Math.round(Math.sin(m)*\\nk)};e=Math.cos(m)*a[2]/2;l=Math.sin(m)*a[2]/2;I.tooltipPos=[a[0]+.7*e,a[1]+.7*l];I.half=m<-Math.PI/2||m>Math.PI/2?1:0;I.angle=m;c=Math.min(c,q/5);I.labelPos=[a[0]+e+Math.cos(m)*q,a[1]+l+Math.sin(m)*q,a[0]+e+Math.cos(m)*c,a[1]+l+Math.sin(m)*c,a[0]+e,a[1]+l,0>q?\\\"center\\\":I.half?\\\"right\\\":\\\"left\\\",m]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,h,k,c,e,l=a.options.shadow;l&&!a.shadowGroup&&(a.shadowGroup=f.g(\\\"shadow\\\").add(a.group));F(a.points,function(d){if(null!==d.y){k=d.graphic;\\ne=d.shapeArgs;h=d.sliced?d.slicedTranslation:{};var g=d.shadowGroup;l&&!g&&(g=d.shadowGroup=f.g(\\\"shadow\\\").add(a.shadowGroup));g&&g.attr(h);c=a.pointAttribs(d,d.selected&&\\\"select\\\");k?k.setRadialReference(a.center).attr(c).animate(J(e,h)):(d.graphic=k=f[d.shapeType](e).addClass(d.getClassName()).setRadialReference(a.center).attr(h).add(a.group),d.visible||k.attr({visibility:\\\"hidden\\\"}),k.attr(c).attr({\\\"stroke-linejoin\\\":\\\"round\\\"}).shadow(l,g))}})},searchPoint:f,sortByAngle:function(a,f){a.sort(function(a,\\nd){return void 0!==a.angle&&(d.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:f},{init:function(){q.prototype.init.apply(this,arguments);var a=this,f;a.name=h(a.name,\\\"Slice\\\");f=function(d){a.slice(\\\"select\\\"===d.type)};D(a,\\\"select\\\",f);D(a,\\\"unselect\\\",f);return a},setVisible:function(a,f){var d=this,g=d.series,c=g.chart,e=g.options.ignoreHiddenPoint;f=h(f,e);a!==d.visible&&(d.visible=d.options.visible=a=void 0===a?!d.visible:\\na,g.options.data[m(d,g.data)]=d.options,F([\\\"graphic\\\",\\\"dataLabel\\\",\\\"connector\\\",\\\"shadowGroup\\\"],function(c){if(d[c])d[c][a?\\\"show\\\":\\\"hide\\\"](!0)}),d.legendItem&&c.legend.colorizeItem(d,a),a||\\\"hover\\\"!==d.state||d.setState(\\\"\\\"),e&&(g.isDirty=!0),f&&c.redraw())},slice:function(a,f,k){var d=this.series;v(k,d.chart);h(f,!0);this.sliced=this.options.sliced=a=z(a)?a:!this.sliced;d.options.data[m(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&\\nthis.shadowGroup.animate(a)},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(M);(function(a){var D=a.addEvent,z=a.arrayMax,F=a.defined,J=a.each,m=a.extend,f=a.format,h=a.map,q=a.merge,n=a.noop,k=a.pick,v=a.relativeLength,d=a.Series,g=a.seriesTypes,w=a.stableSort,B=a.stop;a.distribute=function(a,d){function c(a,b){return a.target-b.target}var e,f=!0,b=a,\\ng=[],k;k=0;for(e=a.length;e--;)k+=a[e].size;if(k>d){w(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=e=0;k<=d;)k+=a[e].size,e++;g=a.splice(e-1,a.length)}w(a,c);for(a=h(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f=a[e],k=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,k-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),\\na[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;J(a,function(a){var c=0;J(a.targets,function(){b[e].pos=a.pos+c;c+=b[e].size;e++})});b.push.apply(b,g);w(b,c)};d.prototype.drawDataLabels=function(){var a=this,d=a.options,g=d.dataLabels,h=a.points,n,b,t=a.hasRendered||0,y,v,x=k(g.defer,!0),w=a.chart.renderer;if(g.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(g),v=a.plotGroup(\\\"dataLabelsGroup\\\",\\\"data-labels\\\",x&&!t?\\\"hidden\\\":\\\"visible\\\",g.zIndex||6),x&&(v.attr({opacity:+t}),\\nt||D(a,\\\"afterAnimate\\\",function(){a.visible&&v.show(!0);v[d.animation?\\\"animate\\\":\\\"attr\\\"]({opacity:1},{duration:200})})),b=g,J(h,function(c){var e,h=c.dataLabel,l,t,r=c.connector,u=!0,x,I={};n=c.dlOptions||c.options&&c.options.dataLabels;e=k(n&&n.enabled,b.enabled)&&null!==c.y;if(h&&!e)c.dataLabel=h.destroy();else if(e){g=q(b,n);x=g.style;e=g.rotation;l=c.getLabelConfig();y=g.format?f(g.format,l):g.formatter.call(l,g);x.color=k(g.color,x.color,a.color,\\\"#000000\\\");if(h)F(y)?(h.attr({text:y}),u=!1):(c.dataLabel=\\nh=h.destroy(),r&&(c.connector=r.destroy()));else if(F(y)){h={fill:g.backgroundColor,stroke:g.borderColor,\\\"stroke-width\\\":g.borderWidth,r:g.borderRadius||0,rotation:e,padding:g.padding,zIndex:1};\\\"contrast\\\"===x.color&&(I.color=g.inside||0>g.distance||d.stacking?w.getContrast(c.color||a.color):\\\"#000000\\\");d.cursor&&(I.cursor=d.cursor);for(t in h)void 0===h[t]&&delete h[t];h=c.dataLabel=w[e?\\\"text\\\":\\\"label\\\"](y,0,-9999,g.shape,null,null,g.useHTML,null,\\\"data-label\\\").attr(h);h.addClass(\\\"highcharts-data-label-color-\\\"+\\nc.colorIndex+\\\" \\\"+(g.className||\\\"\\\"));h.css(m(x,I));h.add(v);h.shadow(g.shadow)}h&&a.alignDataLabel(c,h,g,null,u)}})};d.prototype.alignDataLabel=function(a,d,f,g,h){var b=this.chart,c=b.inverted,e=k(a.plotX,-9999),l=k(a.plotY,-9999),n=d.getBBox(),q,r=f.rotation,u=f.align,v=this.visible&&(a.series.forceDL||b.isInsidePlot(e,Math.round(l),c)||g&&b.isInsidePlot(e,c?g.x+1:g.y+g.height-1,c)),w=\\\"justify\\\"===k(f.overflow,\\\"justify\\\");v&&(q=f.style.fontSize,q=b.renderer.fontMetrics(q,d).b,g=m({x:c?b.plotWidth-\\nl:e,y:Math.round(c?b.plotHeight-e:l),width:0,height:0},g),m(f,{width:n.width,height:n.height}),r?(w=!1,c=b.renderer.rotCorr(q,r),c={x:g.x+f.x+g.width/2+c.x,y:g.y+f.y+{top:0,middle:.5,bottom:1}[f.verticalAlign]*g.height},d[h?\\\"attr\\\":\\\"animate\\\"](c).attr({align:u}),e=(r+720)%360,e=180e,\\\"left\\\"===u?c.y-=e?n.height:0:\\\"center\\\"===u?(c.x-=n.width/2,c.y-=n.height/2):\\\"right\\\"===u&&(c.x-=n.width,c.y-=e?0:n.height)):(d.align(f,null,g),c=d.alignAttr),w?this.justifyDataLabel(d,f,c,n,g,h):k(f.crop,!0)&&(v=b.isInsidePlot(c.x,\\nc.y)&&b.isInsidePlot(c.x+n.width,c.y+n.height)),f.shape&&!r&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));v||(B(d),d.attr({y:-9999}),d.placed=!1)};d.prototype.justifyDataLabel=function(a,d,f,g,h,b){var c=this.chart,e=d.align,k=d.verticalAlign,l,m,n=a.box?0:a.padding||0;l=f.x+n;0>l&&(\\\"right\\\"===e?d.align=\\\"left\\\":d.x=-l,m=!0);l=f.x+g.width-n;l>c.plotWidth&&(\\\"left\\\"===e?d.align=\\\"right\\\":d.x=c.plotWidth-l,m=!0);l=f.y+n;0>l&&(\\\"bottom\\\"===k?d.verticalAlign=\\\"top\\\":d.y=-l,m=!0);l=f.y+g.height-n;l>c.plotHeight&&(\\\"top\\\"===\\nk?d.verticalAlign=\\\"bottom\\\":d.y=c.plotHeight-l,m=!0);m&&(a.placed=!b,a.align(d,null,h))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var c=this,e=c.data,f,g=c.chart,m=c.options.dataLabels,b=k(m.connectorPadding,10),n=k(m.connectorWidth,1),q=g.plotWidth,v=g.plotHeight,x,w=m.distance,r=c.center,B=r[2]/2,H=r[1],D=0l-2?u:M,e),p._attr=\\n{visibility:Q,align:F[6]},p._pos={x:E+m.x+({left:b,right:-b}[F[6]]||0),y:M+m.y-10},F.x=E,F.y=M,null===c.options.size&&(A=p.width,E-Aq-b&&(T[1]=Math.max(Math.round(E+A-q+b),T[1])),0>M-O/2?T[0]=Math.max(Math.round(-M+O/2),T[0]):M+O/2>v&&(T[2]=Math.max(Math.round(M+O/2-v),T[2])))}),0===z(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),D&&n&&J(this.points,function(a){var b;x=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible){Q=p._attr.visibility;\\nif(b=!x)a.connector=x=g.renderer.path().addClass(\\\"highcharts-data-label-connector highcharts-color-\\\"+a.colorIndex).add(c.dataLabelsGroup),x.attr({\\\"stroke-width\\\":n,stroke:m.connectorColor||a.color||\\\"#666666\\\"});x[b?\\\"attr\\\":\\\"animate\\\"]({d:c.connectorPath(a.labelPos)});x.attr(\\\"visibility\\\",Q)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var c=a.x,d=a.y;return k(this.options.softConnector,!0)?[\\\"M\\\",c+(\\\"left\\\"===a[6]?5:-5),d,\\\"C\\\",c,d,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],\\\"L\\\",a[4],\\na[5]]:[\\\"M\\\",c+(\\\"left\\\"===a[6]?5:-5),d,\\\"L\\\",a[2],a[3],\\\"L\\\",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){J(this.points,function(a){var c=a.dataLabel;c&&a.visible&&((a=c._pos)?(c.attr(c._attr),c[c.moved?\\\"animate\\\":\\\"attr\\\"](a),c.moved=!0):c&&c.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=n,g.pie.prototype.verifyDataLabelOverflow=function(a){var c=this.center,d=this.options,f=d.center,g=d.minSize||80,b,h;null!==f[0]?b=Math.max(c[2]-Math.max(a[1],a[3]),g):(b=Math.max(c[2]-a[1]-a[3],g),c[0]+=(a[3]-\\na[1])/2);null!==f[1]?b=Math.max(Math.min(b,c[2]-Math.max(a[0],a[2])),g):(b=Math.max(Math.min(b,c[2]-a[0]-a[2]),g),c[1]+=(a[0]-a[2])/2);bk(this.translatedThreshold,c.yAxis.len)),n=k(f.inside,!!this.options.stacking);l&&(g=q(l),0>\\ng.y&&(g.height+=g.y,g.y=0),l=g.y+g.height-c.yAxis.len,0a+d||b+hc+f||g+kthis.pointCount))},pan:function(a,c){var b=this,d=b.hoverPoints,e;d&&h(d,function(a){a.setState()});h(\\\"xy\\\"===c?[1,0]:[1],function(c){c=b[c?\\\"xAxis\\\":\\\"yAxis\\\"][0];var d=c.horiz,f=a[d?\\\"chartX\\\":\\\"chartY\\\"],d=d?\\\"mouseDownX\\\":\\\"mouseDownY\\\",g=b[d],h=(c.pointRange||0)/2,k=c.getExtremes(),l=c.toValue(g-f,!0)+h,h=\\nc.toValue(g+c.len-f,!0)-h,g=g>f;c.series.length&&(g||l>Math.min(k.dataMin,k.min))&&(!g||h=m(k.minWidth,0)&&this.chartHeight>=m(k.minHeight,0)};void 0===f._id&&(f._id=\\na.idCounter++);v=v.call(this);!h[f._id]&&v?f.chartOptions&&(h[f._id]=this.currentOptions(f.chartOptions),this.update(f.chartOptions,q)):h[f._id]&&!v&&(this.update(h[f._id],q),delete h[f._id])};D.prototype.currentOptions=function(a){function h(a,m,d){var g,k;for(g in a)if(-1\"column\", :name=>\"Jane\", :data=>[3, 2, 1, 3, 4]}, {:type=>\"column\", :name=>\"John\", :data=>[2, 3, 5, 7, 6]}, {:type=>\"column\", :name=>\"Joe\", :data=>[4, 3, 3, 9, 0]}, {:type=>\"spline\", :name=>\"Average\", :data=>[3, 2.67, 3, 6.33, 3.33]}, {:type=>\"pie\", :name=>\"Total consumption\", :data=>[{:name=>\"Jane\", :y=>13, :color=>\"red\"}, {:name=>\"John\", :y=>23, :color=>\"green\"}, {:name=>\"Joe\", :y=>19, :color=>\"blue\"}], :center=>[100, 80], :size=>100, :showInLegend=>false}], @options={:title=>{:text=>\"Combination chart\"}, :legend=>{:layout=>\"vertical\", :style=>{}}, :xAxis=>{:categories=>[\"Apples\", \"Oranges\", \"Pears\", \"Bananas\", \"Plums\"]}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"line\", :renderTo=>nil}, :subtitle=>{}, :labels=>{:items=>[{:html=>\"Total fruit consumption\", :style=>{:left=>\"40px\", :top=>\"8px\", :color=>\"black\"}}]}}, @html_options={}, @placeholder=\"graph\">" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart = LazyHighCharts::HighChart.new('graph') do |f|\n", " f.title({ :text=>\"Combination chart\"})\n", " f.options[:xAxis][:categories] = ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']\n", " f.labels(:items=>[:html=>\"Total fruit consumption\", :style=>{:left=>\"40px\", :top=>\"8px\", :color=>\"black\"} ])\n", " f.series(:type=> 'column',:name=> 'Jane',:data=> [3, 2, 1, 3, 4])\n", " f.series(:type=> 'column',:name=> 'John',:data=> [2, 3, 5, 7, 6])\n", " f.series(:type=> 'column', :name=> 'Joe',:data=> [4, 3, 3, 9, 0])\n", " f.series(:type=> 'spline',:name=> 'Average', :data=> [3, 2.67, 3, 6.33, 3.33])\n", " f.series(:type=> 'pie',:name=> 'Total consumption',\n", " :data=> [\n", " {:name=> 'Jane', :y=> 13, :color=> 'red'},\n", " {:name=> 'John', :y=> 23,:color=> 'green'},\n", " {:name=> 'Joe', :y=> 19,:color=> 'blue'}\n", " ],\n", " :center=> [100, 80], :size=> 100, :showInLegend=> false)\n", " end" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"GDP in Billions\", :yAxis=>0, :data=>[14119, 5068, 4985, 3339, 2656]}, {:name=>\"Population in Millions\", :yAxis=>1, :data=>[310, 127, 1340, 81, 65]}], @options={:title=>{:text=>\"Population vs GDP For 5 Big Countries [2009]\"}, :legend=>{:align=>\"right\", :verticalAlign=>\"top\", :y=>75, :x=>-50, :layout=>\"vertical\"}, :xAxis=>{:categories=>[\"United States\", \"Japan\", \"China\", \"Germany\", \"France\"]}, :yAxis=>[{:title=>{:text=>\"GDP in Billions\", :margin=>70}}, {:title=>{:text=>\"Population in Millions\"}, :opposite=>true}], :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"column\"}, :subtitle=>{}}, @html_options={}, @placeholder=\"graph\">" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart2 = LazyHighCharts::HighChart.new('graph') do |f|\n", " f.title(:text => \"Population vs GDP For 5 Big Countries [2009]\")\n", " f.xAxis(:categories => [\"United States\", \"Japan\", \"China\", \"Germany\", \"France\"])\n", " f.series(:name => \"GDP in Billions\", :yAxis => 0, :data => [14119, 5068, 4985, 3339, 2656])\n", " f.series(:name => \"Population in Millions\", :yAxis => 1, :data => [310, 127, 1340, 81, 65])\n", "\n", " f.yAxis [\n", " {:title => {:text => \"GDP in Billions\", :margin => 70} },\n", " {:title => {:text => \"Population in Millions\"}, :opposite => true},\n", " ]\n", "\n", " f.legend(:align => 'right', :verticalAlign => 'top', :y => 75, :x => -50, :layout => 'vertical',)\n", " f.chart({:defaultSeriesType=>\"column\"})\n", " end" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart2.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"pie\", :name=>\"Browser share\", :data=>[[\"Firefox\", 45.0], [\"IE\", 26.8], {:name=>\"Chrome\", :y=>12.8, :sliced=>true, :selected=>true}, [\"Safari\", 8.5], [\"Opera\", 6.2], [\"Others\", 0.7]]}], @options={:title=>{:text=>\"THA PIE\"}, :legend=>{:layout=>\"vertical\", :style=>{:left=>\"auto\", :bottom=>\"auto\", :right=>\"50px\", :top=>\"1000px\"}}, :xAxis=>{}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"pie\", :margin=>[50, 200, 60, 170]}, :subtitle=>{}, :plot_options=>{:pie=>{:allowPointSelect=>true, :cursor=>\"pointer\", :dataLabels=>{:enabled=>true, :color=>\"red\", :style=>{:font=>\"13px Trebuchet MS, Verdana, sans-serif\"}}}}}, @html_options={}, @placeholder=\"pie\">" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3 = LazyHighCharts::HighChart.new('pie') do |f|\n", " f.chart({:defaultSeriesType=>\"pie\" , :margin=> [50, 200, 60, 170]} )\n", " series = {\n", " :type=> 'pie',\n", " :name=> 'Browser share',\n", " :data=> [\n", " ['Firefox', 45.0],\n", " ['IE', 26.8],\n", " {\n", " :name=> 'Chrome',\n", " :y=> 12.8,\n", " :sliced=> true,\n", " :selected=> true\n", " },\n", " ['Safari', 8.5],\n", " ['Opera', 6.2],\n", " ['Others', 0.7]\n", " ]\n", " }\n", " f.series(series)\n", " f.options[:title][:text] = \"THA PIE\"\n", " f.legend(:layout=> 'vertical',:style=> {:left=> 'auto', :bottom=> 'auto',:right=> '50px',:top=> '1000px'})\n", " f.plot_options(:pie=>{\n", " :allowPointSelect=>true,\n", " :cursor=>\"pointer\" ,\n", " :dataLabels=>{\n", " :enabled=>true,\n", " :color=>\"red\",\n", " :style=>{\n", " :font=>\"13px Trebuchet MS, Verdana, sans-serif\"\n", " }\n", " }\n", " })\n", " end" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"John\", :data=>[3, 20, 3, 5, 4, 10, 12]}, {:name=>\"Jane\", :data=>[1, 3, 4, 3, 3, 5, 4, -46]}], @options={:title=>{:text=>\"example test title from controller\"}, :legend=>{:layout=>\"vertical\", :style=>{}}, :xAxis=>{}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"column\", :renderTo=>nil}, :subtitle=>{}, :plot_options=>{:column=>{:stacking=>\"percent\"}}}, @html_options={}, @placeholder=\"column\">" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart4 = LazyHighCharts::HighChart.new('column') do |f|\n", " f.series(:name=>'John',:data=> [3, 20, 3, 5, 4, 10, 12 ])\n", " f.series(:name=>'Jane',:data=>[1, 3, 4, 3, 3, 5, 4,-46] )\n", " f.title({ :text=>\"example test title from controller\"})\n", " f.options[:chart][:defaultSeriesType] = \"column\"\n", " f.plot_options({:column=>{:stacking=>\"percent\"}})\n", " end" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart4.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"Correct\", :data=>[1, 2, 3, 4, 5]}, {:name=>\"Incorrect\", :data=>[10, 2, 3, 1, 4]}], @options={:title=>{:text=>\"clickable bar chart\"}, :legend=>{:align=>\"right\", :x=>-100, :verticalAlign=>\"top\", :y=>20, :floating=>\"true\", :backgroundColor=>\"#FFFFFF\", :borderColor=>\"#CCC\", :borderWidth=>1, :shadow=>\"false\"}, :xAxis=>{:plot_bands=>\"none\", :title=>{:text=>\"Time\"}, :categories=>[\"1.1.2011\", \"2.1.2011\", \"3.1.2011\", \"4.1.2011\", \"5.1.2011\"]}, :yAxis=>{:title=>{:text=>\"Answers\"}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:series=>{:cursor=>\"pointer\", :point=>{:events=>{:click=>\"click_function\"}}}}, :chart=>{:defaultSeriesType=>\"column\", :renderTo=>nil}, :subtitle=>{}}, @html_options={}, @placeholder=\"column\">" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "graph1 = LazyHighCharts::HighChart.new('column') do |f|\n", " f.series(:name=>'Correct',:data=> [1, 2, 3, 4, 5])\n", " f.series(:name=>'Incorrect',:data=> [10, 2, 3, 1, 4])\n", " f.title({ :text=>\"clickable bar chart\"})\n", " f.legend({:align => 'right',\n", " :x => -100,\n", " :verticalAlign=>'top',\n", " :y=>20,\n", " :floating=>\"true\",\n", " :backgroundColor=>'#FFFFFF',\n", " :borderColor=>'#CCC',\n", " :borderWidth=>1,\n", " :shadow=>\"false\"\n", " })\n", " f.options[:chart][:defaultSeriesType] = \"column\"\n", " f.options[:xAxis] = {:plot_bands => \"none\", :title=>{:text=>\"Time\"}, :categories => [\"1.1.2011\", \"2.1.2011\", \"3.1.2011\", \"4.1.2011\", \"5.1.2011\"]}\n", " f.options[:yAxis][:title] = {:text=>\"Answers\"}\n", " f.plotOptions(series: {\n", " :cursor => 'pointer',\n", " :point => {:events => {:click => \"click_function\"} }\n", " })\n", " end" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "graph1.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"Unique users\", :data=>[[\"Website visits\", 15654], [\"Website visits bounces\", 6954], [\"View contact info\", 1987], [\"Requested info\", 987]]}], @options={:title=>{:text=>\"Sales funnel\", :x=>-50}, :legend=>{:enabled=>false}, :xAxis=>{}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:series=>{:dataLabels=>{:enabled=>true, :format=>\"{point.name} ({point.y:,.0f})\", :color=>\"black\", :softConnector=>true}, :neckWidth=>\"30%\", :neckHeight=>\"25%\"}}, :chart=>{:type=>\"funnel\", :marginRight=>100}, :subtitle=>{}}, @html_options={}, @placeholder=\"graph\">" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "funnel_chart = LazyHighCharts::HighChart.new('graph') do |f|\n", " f.chart(type: \"funnel\", marginRight: 100)\n", " f.title({ text: 'Sales funnel', x: -50})\n", " f.plotOptions( series: {\n", " dataLabels: {\n", " enabled: true,\n", " format: '{point.name} ({point.y:,.0f})',\n", " color: 'black',\n", " softConnector: true},\n", " neckWidth: '30%',\n", " neckHeight: '25%'\n", " })\n", " f.legend( { enabled: false })\n", " f.series( name: 'Unique users',\n", " data: [\n", " ['Website visits', 15654],\n", " ['Website visits bounces', 6954],\n", " #['Downloads', 4064],\n", " ['View contact info', 1987],\n", " ['Requested info', 987]\n", " ]\n", " )\n", " end" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "funnel_chart.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"pie\", :name=>\"Browser share\", :data=>[[\"Firefox\", 45.0], [\"IE\", 26.8], {:name=>\"Chrome\", :y=>12.8, :sliced=>true, :selected=>true}, [\"Safari\", 8.5], [\"Opera\", 6.2], [\"Others\", 0.7]]}], @options={:title=>{:text=>\"THA PIE\"}, :legend=>{:layout=>\"vertical\", :style=>{:left=>\"auto\", :bottom=>\"auto\", :right=>\"50px\", :top=>\"100px\"}}, :xAxis=>{}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"pie\", :margin=>[50, 200, 60, 170], :options3d=>{:enabled=>true, :alpha=>15, :beta=>15, :depth=>50, :viewDistance=>25}}, :subtitle=>{}, :plot_options=>{:pie=>{:allowPointSelect=>true, :cursor=>\"pointer\", :dataLabels=>{:enabled=>true, :color=>\"black\", :style=>{:font=>\"13px Trebuchet MS, Verdana, sans-serif\"}}, :depth=>25}}}, @html_options={}, @placeholder=\"pie\">" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3d_1 = LazyHighCharts::HighChart.new('pie') do |f|\n", " f.chart({:defaultSeriesType=>\"pie\" , :margin=> [50, 200, 60, 170], options3d: {\n", " enabled: true,\n", " alpha: 15,\n", " beta: 15,\n", " depth: 50,\n", " viewDistance: 25}} )\n", " series = {\n", " :type=> 'pie',\n", " :name=> 'Browser share',\n", " :data=> [\n", " ['Firefox', 45.0],\n", " ['IE', 26.8],\n", " {\n", " :name=> 'Chrome',\n", " :y=> 12.8,\n", " :sliced=> true,\n", " :selected=> true\n", " },\n", " ['Safari', 8.5],\n", " ['Opera', 6.2],\n", " ['Others', 0.7]\n", " ]\n", " }\n", " f.series(series)\n", " f.options[:title][:text] = \"THA PIE\"\n", " f.legend(:layout=> 'vertical',:style=> {:left=> 'auto', :bottom=> 'auto',:right=> '50px',:top=> '100px'})\n", " f.plot_options(:pie=>{\n", " :allowPointSelect=>true,\n", " :cursor=>\"pointer\" ,\n", " :dataLabels=>{\n", " :enabled=>true,\n", " :color=>\"black\",\n", " :style=>{\n", " :font=>\"13px Trebuchet MS, Verdana, sans-serif\"\n", " }\n", " },\n", " depth: 25\n", "\n", " })\n", " end\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3d_1.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"column\", :name=>\"Browser share\", :data=>[29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]}], @options={:title=>{:text=>\"THA PIE\"}, :legend=>{:layout=>\"vertical\", :style=>{:left=>\"auto\", :bottom=>\"auto\", :right=>\"50px\", :top=>\"100px\"}}, :xAxis=>{}, :yAxis=>{:title=>{:text=>nil}, :labels=>{}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:areaspline=>{}}, :chart=>{:defaultSeriesType=>\"column\", :margin=>75, :options3d=>{:enabled=>true, :alpha=>15, :beta=>15, :depth=>50, :viewDistance=>25}}, :subtitle=>{}, :plot_options=>{:column=>{:allowPointSelect=>true, :cursor=>\"pointer\", :dataLabels=>{:enabled=>true, :color=>\"black\", :style=>{:font=>\"13px Trebuchet MS, Verdana, sans-serif\"}}, :depth=>25}}}, @html_options={}, @placeholder=\"column\">" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3d_2 = LazyHighCharts::HighChart.new('column') do |f|\n", " f.chart({:defaultSeriesType=>\"column\" , :margin=> 75, options3d: {\n", " enabled: true,\n", " alpha: 15,\n", " beta: 15,\n", " depth: 50,\n", " viewDistance: 25}} )\n", " series = {\n", " :type=> 'column',\n", " :name=> 'Browser share',\n", " :data=> [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n", " }\n", " f.series(series)\n", " f.options[:title][:text] = \"THA PIE\"\n", " f.legend(:layout=> 'vertical',:style=> {:left=> 'auto', :bottom=> 'auto',:right=> '50px',:top=> '100px'})\n", " f.plot_options(:column=>{\n", " :allowPointSelect=>true,\n", " :cursor=>\"pointer\" ,\n", " :dataLabels=>{\n", " :enabled=>true,\n", " :color=>\"black\",\n", " :style=>{\n", " :font=>\"13px Trebuchet MS, Verdana, sans-serif\"\n", " }\n", " },\n", " depth: 25\n", "\n", " })\n", " end" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chart3d_2.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"Tokyo\", :data=>[7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}, {:name=>\"London\", :data=>[3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]}], @options={:title=>{:text=>\"Monthly Average Temperature\"}, :legend=>{:layout=>\"vertical\", :style=>{}}, :xAxis=>{:categories=>[\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]}, :yAxis=>{:title=>{:text=>\"Temperature (°C)\"}}, :tooltip=>{:enabled=>true}, :credits=>{:enabled=>false}, :plotOptions=>{:line=>{:dataLabels=>{:enabled=>true}, :enableMouseTracking=>false}}, :chart=>{:defaultSeriesType=>\"line\"}, :subtitle=>{:text=>\"Source: WorldClimate.com\"}}, @html_options={}, @placeholder=\"line\">" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "line1 = LazyHighCharts::HighChart.new('line') do |f|\n", " f.chart({:defaultSeriesType=>\"line\" } )\n", " f.title( {\n", " :text=> 'Monthly Average Temperature'\n", " })\n", " f.subtitle( {\n", " :text=> 'Source: WorldClimate.com'\n", " })\n", " f.xAxis( {\n", " :categories => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n", " })\n", " f.yAxis( {\n", " :title=> {\n", " :text=> 'Temperature (°C)'\n", " }\n", "\n", " })\n", " f.plotOptions({\n", " :line=> {\n", " :dataLabels=> {\n", " :enabled=> true\n", " },\n", " :enableMouseTracking=> false\n", " }\n", " })\n", " f.series( {\n", " :name=> 'Tokyo',\n", " :data=> [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]\n", " })\n", " f.series({\n", " :name=> 'London',\n", " :data=> [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]\n", " })\n", " end" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "
" ], "text/plain": [ "\" \\n\\n
\"" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "line1.show_in_iruby" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "#\"USA\", :data=>[0, 0, 0, 0, 0, 6, 11, 32, 110, 235, 369, 640, 1005, 1436, 2063, 3057, 4618, 6444, 9822, 15468, 20434, 24126, 27387, 29459, 31056, 31982, 32040, 31233, 29224, 27342, 26662, 26956, 27912, 28999, 28965, 27826, 25579, 25722, 24826, 24605, 24304, 23464, 23708, 24099, 24357, 24237, 24401, 24344, 23586, 22380, 21004, 17287, 14747, 13076, 12555, 12144, 11009, 10950, 10871, 10824, 10577, 10527, 10475, 10421, 10358, 10295, 10104]}, {:name=>\"USSR/Russia\", :data=>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 25, 50, 120, 150, 200, 426, 660, 869, 1060, 1605, 2471, 3322, 4238, 5221, 6129, 7089, 8339, 9399, 10538, 11643, 13092, 14478, 15915, 17385, 19055, 21205, 23044, 25393, 27935, 30062, 32049, 33952, 35804, 37431, 39197, 45000, 43000, 41000, 39000, 37000, 35000, 33000, 31000, 29000, 27000, 25000, 24000, 23000, 22000, 21000, 20000, 19000, 18000, 18000, 17000, 16000]}], @options={:title=>{:text=>\"US and USSR nuclear stockpiles\"}, :legend=>{:layout=>\"vertical\", :style=>{}}, :xAxis=>{:allowDecimals=>false, :labels=>{:formatter=>\"function () {return this.value;}\"}}, :yAxis=>{:title=>{:text=>\"Nuclear weapon states\"}, :labels=>{:formatter=>\"function () {return this.value / 1000 + 'k';}\"}}, :tooltip=>{:pointFormat=>\"{series.name} produced {point.y:,.0f}
warheads in {point.x}\"}, :credits=>{:enabled=>false}, :plotOptions=>{:area=>{:pointStart=>1940, :marker=>{:enabled=>false, :symbol=>\"circle\", :radius=>2, :states=>{:hover=>{:enabled=>true}}}}}, :chart=>{:defaultSeriesType=>\"area\"}, :subtitle=>{:text=>\"Source:
thebulletin.metapress.com\"}}, @html_options={}, @placeholder=\"my_id8\">" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "area1 = LazyHighCharts::HighChart.new('my_id8') do |f|\n", " f.chart( {\n", " :defaultSeriesType=>\"area\"\n", " })\n", " f.title( {\n", " :text => 'US and USSR nuclear stockpiles'\n", " })\n", " f.subtitle( {\n", " :text => 'Source: ' +\n", " 'thebulletin.metapress.com'\n", " })\n", " f.xAxis( {\n", " :allowDecimals => false,\n", " :labels => {\n", " :formatter => \"function () {return this.value;}\".js_code\n", " }\n", " })\n", " f.yAxis( {\n", " :title => {\n", " :text=> 'Nuclear weapon states'\n", " },\n", " :labels => {\n", " :formatter=> \"function () {return this.value / 1000 + 'k';}\".js_code\n", " }\n", " })\n", " f.tooltip( {\n", " :pointFormat => '{series.name} produced {point.y:,.0f}
warheads in {point.x}'\n", " })\n", " f.plotOptions( {\n", " :area => {\n", " :pointStart => 1940,\n", " :marker => {\n", " :enabled => false,\n", " :symbol => 'circle',\n", " :radius => 2,\n", " :states => {\n", " :hover => {\n", " :enabled => true\n", " }\n", " }\n", " }\n", " }\n", " })\n", " f.series(\n", " :name => 'USA',\n", " :data => [0, 0, 0, 0, 0, 6, 11, 32, 110, 235, 369, 640,\n", " 1005, 1436, 2063, 3057, 4618, 6444, 9822, 15468, 20434, 24126,\n", " 27387, 29459, 31056, 31982, 32040, 31233, 29224, 27342, 26662,\n", " 26956, 27912, 28999, 28965, 27826, 25579, 25722, 24826, 24605,\n", " 24304, 23464, 23708, 24099, 24357, 24237, 24401, 24344, 23586,\n", " 22380, 21004, 17287, 14747, 13076, 12555, 12144, 11009, 10950,\n", " 10871, 10824, 10577, 10527, 10475, 10421, 10358, 10295, 10104]\n", " )\n", " f.series(\n", " :name => 'USSR/Russia',\n", " :data => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 5, 25, 50, 120, 150, 200, 426, 660, 869, 1060, 1605, 2471, 3322,\n", " 4238, 5221, 6129, 7089, 8339, 9399, 10538, 11643, 13092, 14478,\n", " 15915, 17385, 19055, 21205, 23044, 25393, 27935, 30062, 32049,\n", " 33952, 35804, 37431, 39197, 45000, 43000, 41000, 39000, 37000,\n", " 35000, 33000, 31000, 29000, 27000, 25000, 24000, 23000, 22000,\n", " 21000, 20000, 19000, 18000, 18000, 17000, 16000]\n", " )\n", " end\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "ename": "NoMethodError", "evalue": "undefined method `year' for 1940:Fixnum", "output_type": "error", "traceback": [ "\u001b[31mNoMethodError\u001b[0m: undefined method `year' for 1940:Fixnum", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:38:in `date_to_js_code'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:24:in `block (3 levels) in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:23:in `each'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:23:in `block (2 levels) in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `each'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `block in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `tap'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:19:in `block (2 levels) in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `each'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `block in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `tap'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:19:in `block (2 levels) in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `each'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:17:in `block in filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `tap'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/options_key_filter.rb:16:in `filter'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/layout_helper.rb:89:in `options_collection_as_string'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/layout_helper.rb:35:in `build_html_output'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/layout_helper.rb:24:in `high_graph'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/layout_helper.rb:10:in `high_chart'\u001b[0m", "\u001b[37m/Users/shekharrajak/Desktop/gsoc17-daru/lazy_high_charts/lib/lazy_high_charts/high_chart.rb:107:in `show'\u001b[0m", "\u001b[37m
:in `
'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/backend.rb:44:in `eval'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/backend.rb:44:in `eval'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/backend.rb:12:in `eval'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/kernel.rb:87:in `execute_request'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/kernel.rb:47:in `dispatch'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/kernel.rb:37:in `run'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/command.rb:70:in `run_kernel'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/lib/iruby/command.rb:34:in `run'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/iruby-0.3/bin/iruby:5:in `'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.1/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/shekharrajak/.rbenv/versions/2.3.1/bin/iruby:23:in `
'\u001b[0m" ] } ], "source": [ "area1.show" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.3.1", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": ".rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.3.1" } }, "nbformat": 4, "nbformat_minor": 2 }