/*
 Highmaps JS v7.0.3 (2019-02-06)

 (c) 2011-2018 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(M,G){"object"===typeof module&&module.exports?(G["default"]=G,module.exports=M.document?G(M):G):"function"===typeof define&&define.amd?define(function(){return G(M)}):M.Highcharts=G(M)})("undefined"!==typeof window?window:this,function(M){var G=function(){var a="undefined"===typeof M?"undefined"!==typeof window?window:{}:M,B=a.document,C=a.navigator&&a.navigator.userAgent||"",A=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,h=/(edge|msie|trident)/i.test(C)&&
!a.opera,d=-1!==C.indexOf("Firefox"),u=-1!==C.indexOf("Chrome"),x=d&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"7.0.3",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:x,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:h,isWebKit:-1!==C.indexOf("AppleWebKit"),isFirefox:d,isChrome:u,isSafari:!u&&-1!==C.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},
symbolSizes:{},svg:A,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var B=a.charts,C=a.doc,A=a.win;a.error=function(h,d,u){var x=a.isNumber(h)?"Highcharts error #"+h+": www.highcharts.com/errors/"+h:h;u&&a.fireEvent(u,"displayError",{code:h});if(d)throw Error(x);A.console&&console.log(x)};a.Fx=function(a,d,u){this.options=d;this.elem=a;this.prop=u};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],
u=[],x=this.now,t=a.length,w;if(1===x)u=this.toD;else if(t===d.length&&1>x)for(;t--;)w=parseFloat(a[t]),u[t]=isNaN(w)?d[t]:x*parseFloat(d[t]-w)+w;else u=d;this.elem.attr("d",u,null,!0)},update:function(){var a=this.elem,d=this.prop,u=this.now,x=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,u,null,!0):a.style[d]=u+this.unit;x&&x.call(a,u,this)},run:function(h,d,u){var x=this,t=x.options,w=function(a){return w.stopped?!1:x.step(a)},n=A.requestAnimationFrame||
function(a){setTimeout(a,13)},l=function(){for(var m=0;m<a.timers.length;m++)a.timers[m]()||a.timers.splice(m--,1);a.timers.length&&n(l)};h!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=h,this.end=d,this.unit=u,this.now=this.start,this.pos=0,w.elem=this.elem,w.prop=this.prop,w()&&1===a.timers.push(w)&&n(l)):(delete t.curAnim[this.prop],t.complete&&0===Object.keys(t.curAnim).length&&t.complete.call(this.elem))},step:function(h){var d=+new Date,u,x=this.options,t=this.elem,
w=x.complete,n=x.duration,l=x.curAnim;t.attr&&!t.element?h=!1:h||d>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=l[this.prop]=!0,a.objectEach(l,function(a){!0!==a&&(u=!1)}),u&&w&&w.call(t),h=!1):(this.pos=x.easing((d-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0);return h},initPath:function(h,d,u){function x(a){var c,f;for(b=a.length;b--;)c="M"===a[b]||"L"===a[b],f=/[a-zA-Z]/.test(a[b+3]),c&&f&&a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}
function t(a,f){for(;a.length<c;){a[0]=f[c-a.length];var e=a.slice(0,k);[].splice.apply(a,[0,0].concat(e));q&&(e=a.slice(a.length-k),[].splice.apply(a,[a.length,0].concat(e)),b--)}a[0]="M"}function w(a,b){for(var p=(c-a.length)/k;0<p&&p--;)f=a.slice().splice(a.length/r-k,k*r),f[0]=b[c-k-p*k],e&&(f[k-6]=f[k-2],f[k-5]=f[k-1]),[].splice.apply(a,[a.length/r,0].concat(f)),q&&p--}d=d||"";var n,l=h.startX,m=h.endX,e=-1<d.indexOf("C"),k=e?7:3,c,f,b;d=d.split(" ");u=u.slice();var q=h.isArea,r=q?2:1,v;e&&(x(d),
x(u));if(l&&m){for(b=0;b<l.length;b++)if(l[b]===m[0]){n=b;break}else if(l[0]===m[m.length-l.length+b]){n=b;v=!0;break}void 0===n&&(d=[])}d.length&&a.isNumber(n)&&(c=u.length+n*r*k,v?(t(d,u),w(u,d)):(t(u,d),w(d,u)));return[d,u]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var h,d=arguments,u,x={},t=function(h,n){"object"!==typeof h&&(h=
{});a.objectEach(n,function(l,m){!a.isObject(l,!0)||a.isClass(l)||a.isDOMElement(l)?h[m]=n[m]:h[m]=t(h[m]||{},l)});return h};!0===d[0]&&(x=d[1],d=Array.prototype.slice.call(d,2));u=d.length;for(h=0;h<u;h++)x=t(x,d[h]);return x};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(h,d){return!!h&&"object"===typeof h&&(!d||
!a.isArray(h))};a.isDOMElement=function(h){return a.isObject(h)&&"number"===typeof h.nodeType};a.isClass=function(h){var d=h&&h.constructor;return!(!a.isObject(h,!0)||a.isDOMElement(h)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var h=a.length;h--;)if(a[h]===d){a.splice(h,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(h,d,u){var x;a.isString(d)?a.defined(u)?h.setAttribute(d,
u):h&&h.getAttribute&&((x=h.getAttribute(d))||"class"!==d||(x=h.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&a.objectEach(d,function(a,d){h.setAttribute(d,a)});return x};a.splat=function(h){return a.isArray(h)?h:[h]};a.syncTimeout=function(a,d,u){if(d)return setTimeout(a,d,u);a.call(0,u)};a.clearTimeout=function(h){a.defined(h)&&clearTimeout(h)};a.extend=function(a,d){var h;a||(a={});for(h in d)a[h]=d[h];return a};a.pick=function(){var a=arguments,d,u,x=a.length;for(d=0;d<x;d++)if(u=a[d],
void 0!==u&&null!==u)return u};a.css=function(h,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(h.style,d)};a.createElement=function(h,d,u,x,t){h=C.createElement(h);var w=a.css;d&&a.extend(h,d);t&&w(h,{padding:0,border:"none",margin:0});u&&w(h,u);x&&x.appendChild(h);return h};a.extendClass=function(h,d){var u=function(){};u.prototype=new h;a.extend(u.prototype,d);return u};a.pad=function(a,d,u){return Array((d||2)+1-String(a).replace("-","").length).join(u||
0)+a};a.relativeLength=function(a,d,u){return/%$/.test(a)?d*parseFloat(a)/100+(u||0):parseFloat(a)};a.wrap=function(a,d,u){var h=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,n=this;n.proceed=function(){h.apply(n,arguments.length?arguments:d)};a.unshift(h);a=u.apply(this,a);n.proceed=null;return a}};a.datePropsToTimestamps=function(h){a.objectEach(h,function(d,u){a.isObject(d)&&"function"===typeof d.getTime?h[u]=d.getTime():(a.isObject(d)||a.isArray(d))&&a.datePropsToTimestamps(d)})};
a.formatSingle=function(h,d,u){var x=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(h)?(u=(u=h.match(x))?u[1]:-1,null!==d&&(d=a.numberFormat(d,u,t.decimalPoint,-1<h.indexOf(",")?t.thousandsSep:""))):d=(u||a.time).dateFormat(h,d);return d};a.format=function(h,d,u){for(var x="{",t=!1,w,n,l,m,e=[],k;h;){x=h.indexOf(x);if(-1===x)break;w=h.slice(0,x);if(t){w=w.split(":");n=w.shift().split(".");m=n.length;k=d;for(l=0;l<m;l++)k&&(k=k[n[l]]);w.length&&(k=a.formatSingle(w.join(":"),k,u));e.push(k)}else e.push(w);
h=h.slice(x+1);x=(t=!t)?"}":"{"}e.push(h);return e.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(h,d,u,x,t){var w,n=h;u=a.pick(u,1);w=h/u;d||(d=t?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===x&&(1===u?d=d.filter(function(a){return 0===a%1}):.1>=u&&(d=[1/u])));for(x=0;x<d.length&&!(n=d[x],t&&n*u>=h||!t&&w<=(d[x]+(d[x+1]||d[x]))/2);x++);return n=a.correctFloat(n*u,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=
function(a,d){var h=a.length,x,t;for(t=0;t<h;t++)a[t].safeI=t;a.sort(function(a,n){x=d(a,n);return 0===x?a.safeI-n.safeI:x});for(t=0;t<h;t++)delete a[t].safeI};a.arrayMin=function(a){for(var d=a.length,h=a[0];d--;)a[d]<h&&(h=a[d]);return h};a.arrayMax=function(a){for(var d=a.length,h=a[0];d--;)a[d]>h&&(h=a[d]);return h};a.destroyObjectProperties=function(h,d){a.objectEach(h,function(a,x){a&&a!==d&&a.destroy&&a.destroy();delete h[x]})};a.discardElement=function(h){var d=a.garbageBin;d||(d=a.createElement("div"));
h&&d.appendChild(h);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(h,d){d.renderer.globalAnimation=a.pick(h,d.options.chart.animation,!0)};a.animObject=function(h){return a.isObject(h)?a.merge(h):{duration:h?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(h,d,u,x){h=+h||0;d=+d;var t=a.defaultOptions.lang,w=(h.toString().split(".")[1]||"").split("e")[0].length,
n,l,m=h.toString().split("e");-1===d?d=Math.min(w,20):a.isNumber(d)?d&&m[1]&&0>m[1]&&(n=d+ +m[1],0<=n?(m[0]=(+m[0]).toExponential(n).split("e")[0],d=n):(m[0]=m[0].split(".")[0]||0,h=20>d?(m[0]*Math.pow(10,m[1])).toFixed(d):0,m[1]=0)):d=2;l=(Math.abs(m[1]?m[0]:h)+Math.pow(10,-Math.max(d,w)-1)).toFixed(d);w=String(a.pInt(l));n=3<w.length?w.length%3:0;u=a.pick(u,t.decimalPoint);x=a.pick(x,t.thousandsSep);h=(0>h?"-":"")+(n?w.substr(0,n)+x:"");h+=w.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+x);d&&(h+=u+l.slice(-d));
m[1]&&0!==+h&&(h+="e"+m[1]);return h};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(h,d,u){if("width"===d)return Math.max(0,Math.min(h.offsetWidth,h.scrollWidth,h.getBoundingClientRect&&"none"===a.getStyle(h,"transform",!1)?Math.floor(h.getBoundingClientRect().width):Infinity)-a.getStyle(h,"padding-left")-a.getStyle(h,"padding-right"));if("height"===d)return Math.max(0,Math.min(h.offsetHeight,h.scrollHeight)-a.getStyle(h,"padding-top")-a.getStyle(h,"padding-bottom"));
A.getComputedStyle||a.error(27,!0);if(h=A.getComputedStyle(h,void 0))h=h.getPropertyValue(d),a.pick(u,"opacity"!==d)&&(h=a.pInt(h));return h};a.inArray=function(a,d,u){return d.indexOf(a,u)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:function(a,d){var h,x=a.length;for(h=0;h<x;h++)if(d(a[h],h))return a[h]};a.keys=Object.keys;a.offset=function(a){var d=C.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(A.pageYOffset||d.scrollTop)-
(d.clientTop||0),left:a.left+(A.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(h,d){for(var u=a.timers.length;u--;)a.timers[u].elem!==h||d&&d!==a.timers[u].prop||(a.timers[u].stopped=!0)};a.objectEach=function(a,d,u){for(var h in a)a.hasOwnProperty(h)&&d.call(u||a[h],a[h],h,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(h,d){a[d]=function(a){return Array.prototype[h].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(h,d,u,x){var t,
w=h.addEventListener||a.addEventListenerPolyfill;t="function"===typeof h&&h.prototype?h.prototype.protoEvents=h.prototype.protoEvents||{}:h.hcEvents=h.hcEvents||{};a.Point&&h instanceof a.Point&&h.series&&h.series.chart&&(h.series.chart.runTrackerClick=!0);w&&w.call(h,d,u,!1);t[d]||(t[d]=[]);t[d].push(u);x&&a.isNumber(x.order)&&(u.order=x.order,t[d].sort(function(a,l){return a.order-l.order}));return function(){a.removeEvent(h,d,u)}};a.removeEvent=function(h,d,u){function x(l,m){var e=h.removeEventListener||
a.removeEventListenerPolyfill;e&&e.call(h,l,m,!1)}function t(l){var m,e;h.nodeName&&(d?(m={},m[d]=!0):m=l,a.objectEach(m,function(a,c){if(l[c])for(e=l[c].length;e--;)x(c,l[c][e])}))}var w,n;["protoEvents","hcEvents"].forEach(function(a){var l=h[a];l&&(d?(w=l[d]||[],u?(n=w.indexOf(u),-1<n&&(w.splice(n,1),l[d]=w),x(d,u)):(t(l),l[d]=[])):(t(l),h[a]={}))})};a.fireEvent=function(h,d,u,x){var t,w,n,l,m;u=u||{};C.createEvent&&(h.dispatchEvent||h.fireEvent)?(t=C.createEvent("Events"),t.initEvent(d,!0,!0),
a.extend(t,u),h.dispatchEvent?h.dispatchEvent(t):h.fireEvent(d,t)):["protoEvents","hcEvents"].forEach(function(e){if(h[e])for(w=h[e][d]||[],n=w.length,u.target||a.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:h,type:d}),l=0;l<n;l++)(m=w[l])&&!1===m.call(h,u)&&u.preventDefault()});x&&!u.defaultPrevented&&x.call(h,u)};a.animate=function(h,d,u){var x,t="",w,n,l;a.isObject(u)||(l=arguments,u={duration:l[2],easing:l[3],complete:l[4]});a.isNumber(u.duration)||(u.duration=400);u.easing=
"function"===typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine;u.curAnim=a.merge(d);a.objectEach(d,function(l,e){a.stop(h,e);n=new a.Fx(h,u,e);w=null;"d"===e?(n.paths=n.initPath(h,h.d,d.d),n.toD=d.d,x=0,w=1):h.attr?x=h.attr(e):(x=parseFloat(a.getStyle(h,e))||0,"opacity"!==e&&(t="px"));w||(w=l);w&&w.match&&w.match("px")&&(w=w.replace(/px/g,""));n.run(x,w,t)})};a.seriesType=function(h,d,u,x,t){var w=a.getOptions(),n=a.seriesTypes;w.plotOptions[h]=a.merge(w.plotOptions[d],u);n[h]=a.extendClass(n[d]||
function(){},x);n[h].prototype.type=h;t&&(n[h].prototype.pointClass=a.extendClass(a.Point,t));return n[h]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();a.isFunction=function(a){return"function"===typeof a};A.jQuery&&(A.jQuery.fn.highcharts=function(){var h=[].slice.call(arguments);if(this[0])return h[0]?(new (a[a.isString(h[0])?h.shift():"Chart"])(this[0],h[0],h[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})})(G);
(function(a){var B=a.isNumber,C=a.merge,A=a.pInt;a.Color=function(h){if(!(this instanceof a.Color))return new a.Color(h);this.init(h)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[A(a[1]),A(a[2]),A(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[A(a[1]),A(a[2]),A(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},
init:function(h){var d,u,x,t;if((this.input=h=this.names[h&&h.toLowerCase?h.toLowerCase():""]||h)&&h.stops)this.stops=h.stops.map(function(d){return new a.Color(d[1])});else if(h&&h.charAt&&"#"===h.charAt()&&(d=h.length,h=parseInt(h.substr(1),16),7===d?u=[(h&16711680)>>16,(h&65280)>>8,h&255,1]:4===d&&(u=[(h&3840)>>4|(h&3840)>>8,(h&240)>>4|h&240,(h&15)<<4|h&15,1])),!u)for(x=this.parsers.length;x--&&!u;)t=this.parsers[x],(d=t.regex.exec(h))&&(u=t.parse(d));this.rgba=u||[]},get:function(a){var d=this.input,
h=this.rgba,x;this.stops?(x=C(d),x.stops=[].concat(x.stops),this.stops.forEach(function(d,w){x.stops[w]=[x.stops[w][0],d.get(a)]})):x=h&&B(h[0])?"rgb"===a||!a&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===a?h[3]:"rgba("+h.join(",")+")":d;return x},brighten:function(a){var d,h=this.rgba;if(this.stops)this.stops.forEach(function(d){d.brighten(a)});else if(B(a)&&0!==a)for(d=0;3>d;d++)h[d]+=A(255*a),0>h[d]&&(h[d]=0),255<h[d]&&(h[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},
tweenTo:function(a,d){var h=this.rgba,x=a.rgba;x.length&&h&&h.length?(a=1!==x[3]||1!==h[3],d=(a?"rgba(":"rgb(")+Math.round(x[0]+(h[0]-x[0])*(1-d))+","+Math.round(x[1]+(h[1]-x[1])*(1-d))+","+Math.round(x[2]+(h[2]-x[2])*(1-d))+(a?","+(x[3]+(h[3]-x[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(h){return new a.Color(h)}})(G);(function(a){var B=a.defined,C=a.extend,A=a.merge,h=a.pick,d=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var d=
h(a&&a.useUTC,!0),w=this;this.options=a=A(!0,this.options||{},a);this.Date=a.Date||u.Date||Date;this.timezoneOffset=(this.useUTC=d)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(d&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,l){var n=l.getTime(),e=n-w.getTimezoneOffset(l);l.setTime(e);a=l["getUTC"+a]();l.setTime(n);return a},this.set=function(a,l,m){var e;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===l.getTimezoneOffset()%
60)l["set"+a](m);else e=w.getTimezoneOffset(l),e=l.getTime()-e,l.setTime(e),l["setUTC"+a](m),a=w.getTimezoneOffset(l),e=l.getTime()+a,l.setTime(e)}):d?(this.get=function(a,l){return l["getUTC"+a]()},this.set=function(a,l,m){return l["setUTC"+a](m)}):(this.get=function(a,l){return l["get"+a]()},this.set=function(a,l,m){return l["set"+a](m)})},makeTime:function(d,t,w,n,l,m){var e,k,c;this.useUTC?(e=this.Date.UTC.apply(0,arguments),k=this.getTimezoneOffset(e),e+=k,c=this.getTimezoneOffset(e),k!==c?e+=
c-k:k-36E5!==this.getTimezoneOffset(e-36E5)||a.isSafari||(e-=36E5)):e=(new this.Date(d,t,h(w,1),h(n,0),h(l,0),h(m,0))).getTime();return e},timezoneOffsetFunction:function(){var d=this,h=this.options,w=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(h.timezone){if(w)return function(a){return 6E4*-w.tz(a,h.timezone).utcOffset()};a.error(25)}return this.useUTC&&h.getTimezoneOffset?function(a){return 6E4*h.getTimezoneOffset(a)}:function(){return 6E4*(d.timezoneOffset||
0)}},dateFormat:function(d,h,w){if(!a.defined(h)||isNaN(h))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var n=this,l=new this.Date(h),m=this.get("Hours",l),e=this.get("Day",l),k=this.get("Date",l),c=this.get("Month",l),f=this.get("FullYear",l),b=a.defaultOptions.lang,q=b.weekdays,r=b.shortWeekdays,v=a.pad,l=a.extend({a:r?r[e]:q[e].substr(0,3),A:q[e],d:v(k),e:v(k,2," "),w:e,b:b.shortMonths[c],B:b.months[c],m:v(c+1),o:c+1,y:f.toString().substr(2,2),Y:f,H:v(m),k:m,I:v(m%
12||12),l:m%12||12,M:v(n.get("Minutes",l)),p:12>m?"AM":"PM",P:12>m?"am":"pm",S:v(l.getSeconds()),L:v(Math.floor(h%1E3),3)},a.dateFormats);a.objectEach(l,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+b,"function"===typeof a?a.call(n,h):a)});return w?d.substr(0,1).toUpperCase()+d.substr(1):d},resolveDTLFormat:function(d){return a.isObject(d,!0)?d:(d=a.splat(d),{main:d[0],from:d[1],to:d[2]})},getTimeTicks:function(a,t,w,n){var l=this,m=[],e,k={},c;e=new l.Date(t);var f=a.unitRange,b=a.count||
1,q;n=h(n,1);if(B(t)){l.set("Milliseconds",e,f>=d.second?0:b*Math.floor(l.get("Milliseconds",e)/b));f>=d.second&&l.set("Seconds",e,f>=d.minute?0:b*Math.floor(l.get("Seconds",e)/b));f>=d.minute&&l.set("Minutes",e,f>=d.hour?0:b*Math.floor(l.get("Minutes",e)/b));f>=d.hour&&l.set("Hours",e,f>=d.day?0:b*Math.floor(l.get("Hours",e)/b));f>=d.day&&l.set("Date",e,f>=d.month?1:Math.max(1,b*Math.floor(l.get("Date",e)/b)));f>=d.month&&(l.set("Month",e,f>=d.year?0:b*Math.floor(l.get("Month",e)/b)),c=l.get("FullYear",
e));f>=d.year&&l.set("FullYear",e,c-c%b);f===d.week&&(c=l.get("Day",e),l.set("Date",e,l.get("Date",e)-c+n+(c<n?-7:0)));c=l.get("FullYear",e);n=l.get("Month",e);var r=l.get("Date",e),v=l.get("Hours",e);t=e.getTime();l.variableTimezone&&(q=w-t>4*d.month||l.getTimezoneOffset(t)!==l.getTimezoneOffset(w));t=e.getTime();for(e=1;t<w;)m.push(t),t=f===d.year?l.makeTime(c+e*b,0):f===d.month?l.makeTime(c,n+e*b):!q||f!==d.day&&f!==d.week?q&&f===d.hour&&1<b?l.makeTime(c,n,r,v+e*b):t+f*b:l.makeTime(c,n,r+e*b*(f===
d.day?1:7)),e++;m.push(t);f<=d.hour&&1E4>m.length&&m.forEach(function(a){0===a%18E5&&"000000000"===l.dateFormat("%H%M%S%L",a)&&(k[a]="day")})}m.info=C(a,{higherRanks:k,totalRange:f*b});return m}}})(G);(function(a){var B=a.color,C=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",
x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},
itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,
animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',
backgroundColor:B("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(A){a.defaultOptions=C(!0,a.defaultOptions,A);a.time.update(C(a.defaultOptions.global,a.defaultOptions.time),
!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(C(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,h,d){return a.time.dateFormat(A,h,d)}})(G);(function(a){var B,C,A=a.addEvent,h=a.animate,d=a.attr,u=a.charts,x=a.color,t=a.css,w=a.createElement,n=a.defined,l=a.deg2rad,m=a.destroyObjectProperties,e=a.doc,k=a.extend,c=a.erase,f=a.hasTouch,b=a.isArray,q=a.isFirefox,r=a.isMS,v=a.isObject,
D=a.isString,E=a.isWebKit,p=a.merge,z=a.noop,F=a.objectEach,H=a.pick,g=a.pInt,y=a.removeEvent,L=a.splat,J=a.stop,S=a.svg,K=a.SVG_NS,N=a.symbolSizes,Q=a.win;B=a.SVGElement=function(){return this};k(B.prototype,{opacity:1,SVG_NS:K,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(g,b){this.element="span"===b?w(b):e.createElementNS(this.SVG_NS,b);this.renderer=g;a.fireEvent(this,"afterInit")},
animate:function(g,b,c){var I=a.animObject(H(b,this.renderer.globalAnimation,!0));H(e.hidden,e.msHidden,e.webkitHidden,!1)&&(I.duration=0);0!==I.duration?(c&&(I.complete=c),h(this,g,I)):(this.attr(g,null,c),a.objectEach(g,function(a,g){I.step&&I.step.call(this,a,{prop:g,pos:1})},this));return this},complexColor:function(g,c,y){var I=this.renderer,f,k,e,q,r,z,l,K,d,m,P,v=[],J;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){g.radialGradient?k="radialGradient":g.linearGradient&&
(k="linearGradient");k&&(e=g[k],r=I.gradients,l=g.stops,m=y.radialReference,b(e)&&(g[k]=e={x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===k&&m&&!n(e.gradientUnits)&&(q=e,e=p(e,I.getRadialAttr(m,q),{gradientUnits:"userSpaceOnUse"})),F(e,function(a,g){"id"!==g&&v.push(g,a)}),F(l,function(a){v.push(a)}),v=v.join(","),r[v]?P=r[v].attr("id"):(e.id=P=a.uniqueKey(),r[v]=z=I.createElement(k).attr(e).add(I.defs),z.radAttr=q,z.stops=[],l.forEach(function(g){0===g[1].indexOf("rgba")?
(f=a.color(g[1]),K=f.get("rgb"),d=f.get("a")):(K=g[1],d=1);g=I.createElement("stop").attr({offset:g[0],"stop-color":K,"stop-opacity":d}).add(z);z.stops.push(g)})),J="url("+I.url+"#"+P+")",y.setAttribute(c,J),y.gradient=v,g.toString=function(){return J})})},applyTextOutline:function(g){var b=this.element,I,y,f,k,e;-1!==g.indexOf("contrast")&&(g=g.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));g=g.split(" ");y=g[g.length-1];if((f=g[0])&&"none"!==f&&a.svg){this.fakeTS=!0;g=[].slice.call(b.getElementsByTagName("tspan"));
this.ySetter=this.xSetter;f=f.replace(/(^[\d\.]+)(.*?)$/g,function(a,g,b){return 2*g+b});for(e=g.length;e--;)I=g[e],"highcharts-text-outline"===I.getAttribute("class")&&c(g,b.removeChild(I));k=b.firstChild;g.forEach(function(a,g){0===g&&(a.setAttribute("x",b.getAttribute("x")),g=b.getAttribute("y"),a.setAttribute("y",g||0),null===g&&b.setAttribute("y",0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:y,stroke:y,"stroke-width":f,"stroke-linejoin":"round"});b.insertBefore(a,k)})}},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),
attr:function(g,b,c,y){var I,f=this.element,k,e=this,p,q,r=this.symbolCustomAttribs;"string"===typeof g&&void 0!==b&&(I=g,g={},g[I]=b);"string"===typeof g?e=(this[g+"Getter"]||this._defaultGetter).call(this,g,f):(F(g,function(b,c){p=!1;y||J(this,c);this.symbolName&&-1!==a.inArray(c,r)&&(k||(this.symbolAttr(g),k=!0),p=!0);!this.rotation||"x"!==c&&"y"!==c||(this.doTransform=!0);p||(q=this[c+"Setter"]||this._defaultSetter,q.call(this,b,c,f),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c)&&
this.updateShadows(c,b,q))},this),this.afterSetters());c&&c.call(this);return e},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,g,b){for(var c=this.shadows,I=c.length;I--;)b.call(c[I],"height"===a?Math.max(g-(c[I].cutHeight||0),0):"d"===a?this.d:g,a,c[I])},addClass:function(a,g){var b=this.attr("class")||"";-1===b.indexOf(a)&&(g||(a=(b+(b?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==
(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var g=this;"x y r start end width height innerR anchorX anchorY".split(" ").forEach(function(b){g[b]=H(a[b],g[b])});g.attr({d:g.renderer.symbols[g.symbolName](g.x,g.y,g.width,g.height,g)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,g){var b;g=g||a.strokeWidth||0;b=Math.round(g)%
2/2;a.x=Math.floor(a.x||this.x||0)+b;a.y=Math.floor(a.y||this.y||0)+b;a.width=Math.floor((a.width||this.width||0)-2*b);a.height=Math.floor((a.height||this.height||0)-2*b);n(a.strokeWidth)&&(a.strokeWidth=g);return a},css:function(a){var b=this.styles,c={},y=this.element,f,I="",e,p=!b,q=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&F(a,function(a,g){a!==b[g]&&(c[g]=a,p=!0)});p&&(b&&(a=k(b,c)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===y.nodeName.toLowerCase()&&
a.width&&(f=this.textWidth=g(a.width))),this.styles=a,f&&!S&&this.renderer.forExport&&delete a.width,y.namespaceURI===this.SVG_NS?(e=function(a,g){return"-"+g.toLowerCase()},F(a,function(a,g){-1===q.indexOf(g)&&(I+=g.replace(/([A-Z])/g,e)+":"+a+";")}),I&&d(y,"style",I)):t(y,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return Q.getComputedStyle(this.element||this,"").getPropertyValue(a)},
strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=g(a):(b=e.createElementNS(K,"rect"),d(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,g){var b=this,c=b.element;f&&"click"===a?(c.ontouchstart=function(a){b.touchEventFired=Date.now();a.preventDefault();g.call(c,a)},c.onclick=function(a){(-1===Q.navigator.userAgent.indexOf("Android")||
1100<Date.now()-(b.touchEventFired||0))&&g.call(c,a)}):c["on"+a]=g;return this},setRadialReference:function(a){var g=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;g&&g.radAttr&&g.animate(this.renderer.getRadialAttr(a,g.radAttr));return this},translate:function(a,g){return this.attr({translateX:a,translateY:g})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,g=this.translateY||0,b=this.scaleX,
c=this.scaleY,y=this.inverted,f=this.rotation,k=this.matrix,e=this.element;y&&(a+=this.width,g+=this.height);a=["translate("+a+","+g+")"];n(k)&&a.push("matrix("+k.join(",")+")");y?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+H(this.rotationOriginX,e.getAttribute("x"),0)+" "+H(this.rotationOriginY,e.getAttribute("y")||0)+")");(n(b)||n(c))&&a.push("scale("+H(b,1)+" "+H(c,1)+")");a.length&&e.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);
return this},align:function(a,g,b){var y,f,k,e,p={};f=this.renderer;k=f.alignedObjects;var I,q;if(a){if(this.alignOptions=a,this.alignByTranslate=g,!b||D(b))this.alignTo=y=b||"renderer",c(k,this),k.push(this),b=null}else a=this.alignOptions,g=this.alignByTranslate,y=this.alignTo;b=H(b,f[y],f);y=a.align;f=a.verticalAlign;k=(b.x||0)+(a.x||0);e=(b.y||0)+(a.y||0);"right"===y?I=1:"center"===y&&(I=2);I&&(k+=(b.width-(a.width||0))/I);p[g?"translateX":"x"]=Math.round(k);"bottom"===f?q=1:"middle"===f&&(q=
2);q&&(e+=(b.height-(a.height||0))/q);p[g?"translateY":"y"]=Math.round(e);this[this.placed?"animate":"attr"](p);this.placed=!0;this.alignAttr=p;return this},getBBox:function(a,g){var b,c=this.renderer,y,f=this.element,e=this.styles,p,I=this.textStr,q,r=c.cache,z=c.cacheKeys,K=f.namespaceURI===this.SVG_NS,d;g=H(g,this.rotation);y=g*l;p=c.styledMode?f&&B.prototype.getStyle.call(f,"font-size"):e&&e.fontSize;n(I)&&(d=I.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,"0")),d+=["",g||0,p,this.textWidth,
e&&e.textOverflow].join());d&&!a&&(b=r[d]);if(!b){if(K||c.forExport){try{(q=this.fakeTS&&function(a){[].forEach.call(f.querySelectorAll(".highcharts-text-outline"),function(g){g.style.display=a})})&&q("none"),b=f.getBBox?k({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},q&&q("")}catch(Z){}if(!b||0>b.width)b={width:0,height:0}}else b=this.htmlGetBBox();c.isSVG&&(a=b.width,c=b.height,K&&(b.height=c={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(c)]||c),g&&(b.width=Math.abs(c*Math.sin(y))+
Math.abs(a*Math.cos(y)),b.height=Math.abs(c*Math.cos(y))+Math.abs(a*Math.sin(y))));if(d&&0<b.height){for(;250<z.length;)delete r[z.shift()];r[d]||z.push(d);r[d]=b}}return b},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var g=this;g.animate({opacity:0},{duration:a||150,complete:function(){g.attr({y:-9999})}})},add:function(a){var g=this.renderer,b=this.element,c;a&&(this.parentGroup=a);this.parentInverted=
a&&a.inverted;void 0!==this.textStr&&g.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)c=this.zIndexSetter();c||(a?a.element:g.box).appendChild(b);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var g=a.parentNode;g&&g.removeChild(a)},destroy:function(){var a=this,g=a.element||{},b=a.renderer,y=b.isSVG&&"SPAN"===g.nodeName&&a.parentGroup,f=g.ownerSVGElement,e=a.clipPath;g.onclick=g.onmouseout=g.onmouseover=g.onmousemove=g.point=null;J(a);e&&f&&([].forEach.call(f.querySelectorAll("[clip-path],[CLIP-PATH]"),
function(a){var g=a.getAttribute("clip-path"),b=e.element.id;(-1<g.indexOf("(#"+b+")")||-1<g.indexOf('("#'+b+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=e.destroy());if(a.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops[f].destroy();a.stops=null}a.safeRemoveChild(g);for(b.styledMode||a.destroyShadows();y&&y.div&&0===y.div.childNodes.length;)g=y.parentGroup,a.safeRemoveChild(y.div),delete y.div,y=g;a.alignTo&&c(b.alignedObjects,a);F(a,function(g,b){delete a[b]});return null},shadow:function(a,
g,b){var c=[],y,f,e=this.element,k,p,q,I;if(!a)this.destroyShadows();else if(!this.shadows){p=H(a.width,3);q=(a.opacity||.15)/p;I=this.parentInverted?"(-1,-1)":"("+H(a.offsetX,1)+", "+H(a.offsetY,1)+")";for(y=1;y<=p;y++)f=e.cloneNode(0),k=2*p+1-2*y,d(f,{stroke:a.color||"#000000","stroke-opacity":q*y,"stroke-width":k,transform:"translate"+I,fill:"none"}),f.setAttribute("class",(f.getAttribute("class")||"")+" highcharts-shadow"),b&&(d(f,"height",Math.max(d(f,"height")-k,0)),f.cutHeight=k),g?g.element.appendChild(f):
e.parentNode&&e.parentNode.insertBefore(f,e),c.push(f);this.shadows=c}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=H(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,g,b){a&&
a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[g]!==a&&(b.setAttribute(g,a),this[g]=a)},dashstyleSetter:function(a){var b,c=this["stroke-width"];"inherit"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=g(a[b])*c;a=a.join(",").replace(/NaN/g,
"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var g={left:"start",center:"middle",right:"end"};g[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",g[a]))},opacitySetter:function(a,g,b){this[g]=a;b.setAttribute(g,a)},titleSetter:function(a){var g=this.element.getElementsByTagName("title")[0];g||(g=e.createElementNS(this.SVG_NS,"title"),this.element.appendChild(g));g.firstChild&&g.removeChild(g.firstChild);g.appendChild(e.createTextNode(String(H(a),"").replace(/<[^>]*>/g,
"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,g,b){"string"===typeof a?b.setAttribute(g,a):a&&this.complexColor(a,g,b)},visibilitySetter:function(a,g,b){"inherit"===a?b.removeAttribute(g):this[g]!==a&&b.setAttribute(g,a);this[g]=a},zIndexSetter:function(a,b){var c=this.renderer,y=this.parentGroup,f=(y||c).element||c.box,e,k=this.element,p,q,c=f===c.box;
e=this.added;var r;n(a)?(k.setAttribute("data-z-index",a),a=+a,this[b]===a&&(e=!1)):n(this[b])&&k.removeAttribute("data-z-index");this[b]=a;if(e){(a=this.zIndex)&&y&&(y.handleZ=!0);b=f.childNodes;for(r=b.length-1;0<=r&&!p;r--)if(y=b[r],e=y.getAttribute("data-z-index"),q=!n(e),y!==k)if(0>a&&q&&!c&&!r)f.insertBefore(k,b[r]),p=!0;else if(g(e)<=a||q&&(!n(a)||0<=a))f.insertBefore(k,b[r+1]||null),p=!0;p||(f.insertBefore(k,b[c?3:0]||null),p=!0)}return p},_defaultSetter:function(a,g,b){b.setAttribute(g,a)}});
B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,g){this[g]=a;this.doTransform=!0};B.prototype["stroke-widthSetter"]=B.prototype.strokeSetter=function(a,g,b){this[g]=a;this.stroke&&this["stroke-width"]?(B.prototype.fillSetter.call(this,this.stroke,
"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===g&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),this.hasStroke=!1)};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};k(C.prototype,{Element:B,SVG_NS:K,init:function(a,g,b,c,y,f,k){var p;p=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});k||p.css(this.getStyle(c));c=p.element;a.appendChild(c);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(c,"xmlns",this.SVG_NS);
this.isSVG=!0;this.box=c;this.boxWrapper=p;this.alignedObjects=[];this.url=(q||E)&&e.getElementsByTagName("base").length?Q.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highmaps 7.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=y;this.styledMode=k;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(g,
b,!1);var r;q&&a.getBoundingClientRect&&(g=function(){t(a,{left:0,top:0});r=a.getBoundingClientRect();t(a,{left:Math.ceil(r.left)-r.left+"px",top:Math.ceil(r.top)-r.top+"px"})},g(),this.unSubPixelFix=A(Q,"resize",g))},definition:function(a){function g(a,c){var y;L(a).forEach(function(a){var f=b.createElement(a.tagName),k={};F(a,function(a,g){"tagName"!==g&&"children"!==g&&"textContent"!==g&&(k[g]=a)});f.attr(k);f.add(c||b.defs);a.textContent&&f.element.appendChild(e.createTextNode(a.textContent));
g(a.children||[],f);y=f});return y}var b=this;return g(a)},getStyle:function(a){return this.style=k({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();m(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&
this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var g=new this.Element;g.init(this,a);return g},draw:z,getRadialAttr:function(a,g){return{cx:a[0]-a[2]/2+g.cx*a[2],cy:a[1]-a[2]/2+g.cy*a[2],r:g.r*a[2]}},truncate:function(a,g,b,c,y,f,k){var p=this,q=a.rotation,r,z=c?1:0,d=(b||c).length,l=d,K=[],m=function(a){g.firstChild&&g.removeChild(g.firstChild);a&&g.appendChild(e.createTextNode(a))},I=function(f,e){e=e||f;if(void 0===K[e])if(g.getSubStringLength)try{K[e]=y+g.getSubStringLength(0,
c?e+1:e)}catch(aa){}else p.getSpanWidth&&(m(k(b||c,f)),K[e]=y+p.getSpanWidth(a,g));return K[e]},v,n;a.rotation=0;v=I(g.textContent.length);if(n=y+v>f){for(;z<=d;)l=Math.ceil((z+d)/2),c&&(r=k(c,l)),v=I(l,r&&r.length-1),z===d?z=d+1:v>f?d=l-1:z=l;0===d?m(""):b&&d===b.length-1||m(r||k(b||c,l))}c&&c.splice(0,l);a.actualWidth=v;a.rotation=q;return n},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,c=this,y=c.forExport,f=
H(a.textStr,"").toString(),k=-1!==f.indexOf("\x3c"),p=b.childNodes,q,r=d(b,"x"),z=a.styles,l=a.textWidth,m=z&&z.lineHeight,v=z&&z.textOutline,n=z&&"ellipsis"===z.textOverflow,I=z&&"nowrap"===z.whiteSpace,J=z&&z.fontSize,L,w,h=p.length,z=l&&!a.added&&this.box,D=function(a){var y;c.styledMode||(y=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:J||c.style.fontSize||12);return m?g(m):c.fontMetrics(y,a.getAttribute("style")?a:b).h},E=function(a,g){F(c.escapes,function(b,c){g&&-1!==g.indexOf(b)||
(a=a.toString().replace(new RegExp(b,"g"),c))});return a},N=function(a,g){var b;b=a.indexOf("\x3c");a=a.substring(b,a.indexOf("\x3e")-b);b=a.indexOf(g+"\x3d");if(-1!==b&&(b=b+g.length+1,g=a.charAt(b),'"'===g||"'"===g))return a=a.substring(b+1),a.substring(0,a.indexOf(g))};L=[f,n,I,m,v,J,l].join();if(L!==a.textCache){for(a.textCache=L;h--;)b.removeChild(p[h]);k||v||n||l||-1!==f.indexOf(" ")?(z&&z.appendChild(b),k?(f=c.styledMode?f.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,
'\x3cspan class\x3d"highcharts-emphasized"\x3e'):f.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),f=f.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):f=[f],f=f.filter(function(a){return""!==a}),f.forEach(function(g,f){var k,p=0,z=0;g=g.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");k=g.split("|||");k.forEach(function(g){if(""!==
g||1===k.length){var m={},v=e.createElementNS(c.SVG_NS,"tspan"),F,L;(F=N(g,"class"))&&d(v,"class",F);if(F=N(g,"style"))F=F.replace(/(;| |^)color([ :])/,"$1fill$2"),d(v,"style",F);(L=N(g,"href"))&&!y&&(d(v,"onclick",'location.href\x3d"'+L+'"'),d(v,"class","highcharts-anchor"),c.styledMode||t(v,{cursor:"pointer"}));g=E(g.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==g){v.appendChild(e.createTextNode(g));p?m.dx=0:f&&null!==r&&(m.x=r);d(v,m);b.appendChild(v);!p&&w&&(!S&&y&&t(v,{display:"block"}),
d(v,"dy",D(v)));if(l){var h=g.replace(/([^\^])-/g,"$1- ").split(" "),m=!I&&(1<k.length||f||1<h.length);L=0;var H=D(v);if(n)q=c.truncate(a,v,g,void 0,0,Math.max(0,l-parseInt(J||12,10)),function(a,g){return a.substring(0,g)+"\u2026"});else if(m)for(;h.length;)h.length&&!I&&0<L&&(v=e.createElementNS(K,"tspan"),d(v,{dy:H,x:r}),F&&d(v,"style",F),v.appendChild(e.createTextNode(h.join(" ").replace(/- /g,"-"))),b.appendChild(v)),c.truncate(a,v,null,h,0===L?z:0,l,function(a,g){return h.slice(0,g).join(" ").replace(/- /g,
"-")}),z=a.actualWidth,L++}p++}}});w=w||b.childNodes.length}),n&&q&&a.attr("title",E(a.textStr,["\x26lt;","\x26gt;"])),z&&z.removeChild(b),v&&a.applyTextOutline&&a.applyTextOutline(v)):b.appendChild(e.createTextNode(E(f)))}},getContrast:function(a){a=x(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,g,b,c,y,f,e,q,z){var l=this.label(a,g,b,z,null,null,null,null,"button"),d=0,K=this.styledMode;l.attr(p({padding:8,r:2},y));if(!K){var v,m,n,F;y=p({fill:"#f7f7f7",
stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},y);v=y.style;delete y.style;f=p(y,{fill:"#e6e6e6"},f);m=f.style;delete f.style;e=p(y,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e);n=e.style;delete e.style;q=p(y,{style:{color:"#cccccc"}},q);F=q.style;delete q.style}A(l.element,r?"mouseover":"mouseenter",function(){3!==d&&l.setState(1)});A(l.element,r?"mouseout":"mouseleave",function(){3!==d&&l.setState(d)});l.setState=function(a){1!==a&&
(l.state=d=a);l.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);K||l.attr([y,f,e,q][a||0]).css([v,m,n,F][a||0])};K||l.attr(y).css(k({cursor:"default"},v));return l.on("click",function(a){3!==d&&c.call(l,a)})},crispLine:function(a,g){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-g%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+g%2/2);return a},path:function(a){var g=this.styledMode?{}:{fill:"none"};b(a)?g.d=a:v(a)&&
k(g,a);return this.createElement("path").attr(g)},circle:function(a,g,b){a=v(a)?a:void 0===a?{}:{x:a,y:g,r:b};g=this.createElement("circle");g.xSetter=g.ySetter=function(a,g,b){b.setAttribute("c"+g,a)};return g.attr(a)},arc:function(a,g,b,c,y,f){v(a)?(c=a,g=c.y,b=c.r,a=c.x):c={innerR:c,start:y,end:f};a=this.symbol("arc",a,g,b,b,c);a.r=b;return a},rect:function(a,g,b,c,y,f){y=v(a)?a.r:y;var e=this.createElement("rect");a=v(a)?a:void 0===a?{}:{x:a,y:g,width:Math.max(b,0),height:Math.max(c,0)};this.styledMode||
(void 0!==f&&(a.strokeWidth=f,a=e.crisp(a)),a.fill="none");y&&(a.r=y);e.rSetter=function(a,g,b){d(b,{rx:a,ry:a})};return e.attr(a)},setSize:function(a,g,b){var c=this.alignedObjects,y=c.length;this.width=a;this.height=g;for(this.boxWrapper.animate({width:a,height:g},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:H(b,!0)?void 0:0});y--;)c[y].align()},g:function(a){var g=this.createElement("g");return a?g.attr({"class":"highcharts-"+a}):g},image:function(a,
g,b,c,y,f){var e={preserveAspectRatio:"none"},p,q=function(a,g){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",g):a.setAttribute("hc-svg-href",g)},r=function(g){q(p.element,a);f.call(p,g)};1<arguments.length&&k(e,{x:g,y:b,width:c,height:y});p=this.createElement("image").attr(e);f?(q(p.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),e=new Q.Image,A(e,"load",r),e.src=a,e.complete&&r({})):q(p.element,a);return p},symbol:function(a,
g,b,c,y,f){var p=this,q,r=/^url\((.*?)\)$/,z=r.test(a),l=!z&&(this.symbols[a]?a:"circle"),d=l&&this.symbols[l],K=n(g)&&d&&d.call(this.symbols,Math.round(g),Math.round(b),c,y,f),v,m;d?(q=this.path(K),p.styledMode||q.attr("fill","none"),k(q,{symbolName:l,x:g,y:b,width:c,height:y}),f&&k(q,f)):z&&(v=a.match(r)[1],q=this.image(v),q.imgwidth=H(N[v]&&N[v].width,f&&f.width),q.imgheight=H(N[v]&&N[v].height,f&&f.height),m=function(){q.attr({width:q.width,height:q.height})},["width","height"].forEach(function(a){q[a+
"Setter"]=function(a,g){var b={},c=this["img"+g],y="width"===g?"translateX":"translateY";this[g]=a;n(c)&&(this.element&&this.element.setAttribute(g,c),this.alignByTranslate||(b[y]=((this[g]||0)-c)/2,this.attr(b)))}}),n(g)&&q.attr({x:g,y:b}),q.isImg=!0,n(q.imgwidth)&&n(q.imgheight)?m():(q.attr({width:0,height:0}),w("img",{onload:function(){var a=u[p.chartIndex];0===this.width&&(t(this,{position:"absolute",top:"-999em"}),e.body.appendChild(this));N[v]={width:this.width,height:this.height};q.imgwidth=
this.width;q.imgheight=this.height;q.element&&m();this.parentNode&&this.parentNode.removeChild(this);p.imgCount--;if(!p.imgCount&&a&&a.onload)a.onload()},src:v}),this.imgCount++));return q},symbols:{circle:function(a,g,b,c){return this.arc(a+b/2,g+c/2,b/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,g,b,c){return["M",a,g,"L",a+b,g,a+b,g+c,a,g+c,"Z"]},triangle:function(a,g,b,c){return["M",a+b/2,g,"L",a+b,g+c,a,g+c,"Z"]},"triangle-down":function(a,g,b,c){return["M",a,g,"L",a+b,g,a+b/2,g+
c,"Z"]},diamond:function(a,g,b,c){return["M",a+b/2,g,"L",a+b,g+c/2,a+b/2,g+c,a,g+c/2,"Z"]},arc:function(a,g,b,c,y){var f=y.start,e=y.r||b,k=y.r||c||b,p=y.end-.001;b=y.innerR;c=H(y.open,.001>Math.abs(y.end-y.start-2*Math.PI));var q=Math.cos(f),r=Math.sin(f),z=Math.cos(p),p=Math.sin(p);y=.001>y.end-f-Math.PI?0:1;e=["M",a+e*q,g+k*r,"A",e,k,0,y,1,a+e*z,g+k*p];n(b)&&e.push(c?"M":"L",a+b*z,g+b*p,"A",b,b,0,y,0,a+b*q,g+b*r);e.push(c?"":"Z");return e},callout:function(a,g,b,c,y){var f=Math.min(y&&y.r||0,b,
c),e=f+6,k=y&&y.anchorX;y=y&&y.anchorY;var p;p=["M",a+f,g,"L",a+b-f,g,"C",a+b,g,a+b,g,a+b,g+f,"L",a+b,g+c-f,"C",a+b,g+c,a+b,g+c,a+b-f,g+c,"L",a+f,g+c,"C",a,g+c,a,g+c,a,g+c-f,"L",a,g+f,"C",a,g,a,g,a+f,g];k&&k>b?y>g+e&&y<g+c-e?p.splice(13,3,"L",a+b,y-6,a+b+6,y,a+b,y+6,a+b,g+c-f):p.splice(13,3,"L",a+b,c/2,k,y,a+b,c/2,a+b,g+c-f):k&&0>k?y>g+e&&y<g+c-e?p.splice(33,3,"L",a,y+6,a-6,y,a,y-6,a,g+f):p.splice(33,3,"L",a,c/2,k,y,a,c/2,a,g+f):y&&y>c&&k>a+e&&k<a+b-e?p.splice(23,3,"L",k+6,g+c,k,g+c+6,k-6,g+c,a+f,
g+c):y&&0>y&&k>a+e&&k<a+b-e&&p.splice(3,3,"L",k-6,g,k,g-6,k+6,g,b-f,g);return p}},clipRect:function(g,b,c,y){var f=a.uniqueKey(),e=this.createElement("clipPath").attr({id:f}).add(this.defs);g=this.rect(g,b,c,y,0).add(e);g.id=f;g.clipPath=e;g.count=0;return g},text:function(a,g,b,c){var y={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,g,b);y.x=Math.round(g||0);b&&(y.y=Math.round(b));n(a)&&(y.text=a);a=this.createElement("text").attr(y);c||(a.xSetter=function(a,g,b){var c=b.getElementsByTagName("tspan"),
y,f=b.getAttribute(g),e;for(e=0;e<c.length;e++)y=c[e],y.getAttribute(g)===f&&y.setAttribute(g,a);b.setAttribute(g,a)});return a},fontMetrics:function(a,b){a=!this.styledMode&&/px/.test(a)||!Q.getComputedStyle?a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize:b&&B.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?g(a):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,g,b){var c=a;g&&b&&(c=Math.max(c*Math.cos(g*l),4));return{x:-a/3*Math.sin(g*
l),y:c}},label:function(g,b,c,f,e,q,r,z,l){var d=this,K=d.styledMode,v=d.g("button"!==l&&"label"),m=v.text=d.text("",0,0,r).attr({zIndex:1}),F,J,L=0,w=3,h=0,D,E,H,N,S,t={},I,Q,u=/^url\((.*?)\)$/.test(f),x=K||u,P=function(){return K?F.strokeWidth()%2/2:(I?parseInt(I,10):0)%2/2},T,A,O;l&&v.addClass("highcharts-"+l);T=function(){var a=m.element.style,g={};J=(void 0===D||void 0===E||S)&&n(m.textStr)&&m.getBBox();v.width=(D||J.width||0)+2*w+h;v.height=(E||J.height||0)+2*w;Q=w+Math.min(d.fontMetrics(a&&
a.fontSize,m).b,J?J.height:Infinity);x&&(F||(v.box=F=d.symbols[f]||u?d.symbol(f):d.rect(),F.addClass(("button"===l?"":"highcharts-label-box")+(l?" highcharts-"+l+"-box":"")),F.add(v),a=P(),g.x=a,g.y=(z?-Q:0)+a),g.width=Math.round(v.width),g.height=Math.round(v.height),F.attr(k(g,t)),t={})};A=function(){var a=h+w,g;g=z?0:Q;n(D)&&J&&("center"===S||"right"===S)&&(a+={center:.5,right:1}[S]*(D-J.width));if(a!==m.x||g!==m.y)m.attr("x",a),m.hasBoxWidthChanged&&(J=m.getBBox(!0),T()),void 0!==g&&m.attr("y",
g);m.x=a;m.y=g};O=function(a,g){F?F.attr(a,g):t[a]=g};v.onAdd=function(){m.add(v);v.attr({text:g||0===g?g:"",x:b,y:c});F&&n(e)&&v.attr({anchorX:e,anchorY:q})};v.widthSetter=function(g){D=a.isNumber(g)?g:null};v.heightSetter=function(a){E=a};v["text-alignSetter"]=function(a){S=a};v.paddingSetter=function(a){n(a)&&a!==w&&(w=v.padding=a,A())};v.paddingLeftSetter=function(a){n(a)&&a!==h&&(h=a,A())};v.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==L&&(L=a,J&&v.attr({x:H}))};v.textSetter=function(a){void 0!==
a&&m.textSetter(a);T();A()};v["stroke-widthSetter"]=function(a,g){a&&(x=!0);I=this["stroke-width"]=a;O(g,a)};K?v.rSetter=function(a,g){O(g,a)}:v.strokeSetter=v.fillSetter=v.rSetter=function(a,g){"r"!==g&&("fill"===g&&a&&(x=!0),v[g]=a);O(g,a)};v.anchorXSetter=function(a,g){e=v.anchorX=a;O(g,Math.round(a)-P()-H)};v.anchorYSetter=function(a,g){q=v.anchorY=a;O(g,a-N)};v.xSetter=function(a){v.x=a;L&&(a-=L*((D||J.width)+2*w),v["forceAnimate:x"]=!0);H=Math.round(a);v.attr("translateX",H)};v.ySetter=function(a){N=
v.y=Math.round(a);v.attr("translateY",N)};var C=v.css;r={css:function(a){if(a){var g={};a=p(a);v.textProps.forEach(function(b){void 0!==a[b]&&(g[b]=a[b],delete a[b])});m.css(g);"width"in g&&T();"fontSize"in g&&(T(),A())}return C.call(v,a)},getBBox:function(){return{width:J.width+2*w,height:J.height+2*w,x:J.x-w,y:J.y-w}},destroy:function(){y(v.element,"mouseenter");y(v.element,"mouseleave");m&&(m=m.destroy());F&&(F=F.destroy());B.prototype.destroy.call(v);v=d=T=A=O=null}};K||(r.shadow=function(a){a&&
(T(),F&&F.shadow(a));return v});return k(v,r)}});a.Renderer=C})(G);(function(a){var B=a.attr,C=a.createElement,A=a.css,h=a.defined,d=a.extend,u=a.isFirefox,x=a.isMS,t=a.isWebKit,w=a.pick,n=a.pInt,l=a.SVGElement,m=a.SVGRenderer,e=a.win;d(l.prototype,{htmlCss:function(a){var c="SPAN"===this.element.tagName&&a&&"width"in a,f=w(c&&a.width,void 0),b;c&&(delete a.width,this.textWidth=f,b=!0);a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);A(this.element,
a);b&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,f=this.translateX||0,b=this.translateY||0,e=this.x||0,r=this.y||0,v=this.textAlign||"left",l={left:0,center:.5,right:1}[v],d=this.styles,p=d&&d.whiteSpace;A(c,{marginLeft:f,marginTop:b});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){A(a,
{marginLeft:f+1,marginTop:b+1})});this.inverted&&[].forEach.call(c.childNodes,function(g){a.invertChild(g,c)});if("SPAN"===c.tagName){var d=this.rotation,z=this.textWidth&&n(this.textWidth),m=[d,v,c.innerHTML,this.textWidth,this.textAlign].join(),w;(w=z!==this.oldTextWidth)&&!(w=z>this.oldTextWidth)&&((w=this.textPxLength)||(A(c,{width:"",whiteSpace:p||"nowrap"}),w=c.offsetWidth),w=w>z);w&&(/[ \-]/.test(c.textContent||c.innerText)||"ellipsis"===c.style.textOverflow)?(A(c,{width:z+"px",display:"block",
whiteSpace:p||"normal"}),this.oldTextWidth=z,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;m!==this.cTT&&(p=a.fontMetrics(c.style.fontSize,c).b,!h(d)||d===(this.oldRotation||0)&&v===this.oldAlign||this.setSpanRotation(d,l,p),this.getSpanCorrection(!h(d)&&this.textPxLength||c.offsetWidth,p,l,d,v));A(c,{left:e+(this.xCorr||0)+"px",top:r+(this.yCorr||0)+"px"});this.cTT=m;this.oldRotation=d;this.oldAlign=v}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,f){var b={},e=this.renderer.getTransformKey();
b[e]=b.transform="rotate("+a+"deg)";b[e+(u?"Origin":"-origin")]=b.transformOrigin=100*c+"% "+f+"px";A(this.element,b)},getSpanCorrection:function(a,c,f){this.xCorr=-a*f;this.yCorr=-c}});d(m.prototype,{getTransformKey:function(){return x&&!/Edge/.test(e.navigator.userAgent)?"-ms-transform":t?"-webkit-transform":u?"MozTransform":e.opera?"-o-transform":""},html:function(e,c,f){var b=this.createElement("span"),k=b.element,r=b.renderer,v=r.isSVG,m=function(a,b){["opacity","visibility"].forEach(function(c){a[c+
"Setter"]=function(a,g,y){l.prototype[c+"Setter"].call(this,a,g,y);b[g]=a}});a.addedSetters=!0},n=a.charts[r.chartIndex],n=n&&n.styledMode;b.textSetter=function(a){a!==k.innerHTML&&delete this.bBox;this.textStr=a;k.innerHTML=w(a,"");b.doTransform=!0};v&&m(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,c){"align"===c&&(c="textAlign");b[c]=a;b.doTransform=!0};b.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};b.attr({text:e,
x:Math.round(c),y:Math.round(f)}).css({position:"absolute"});n||b.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});k.style.whiteSpace="nowrap";b.css=b.htmlCss;v&&(b.add=function(a){var c,f=r.box.parentNode,e=[];if(this.parentGroup=a){if(c=a.div,!c){for(;a;)e.push(a),a=a.parentGroup;e.reverse().forEach(function(a){function g(g,b){a[b]=g;"translateX"===b?k.left=g+"px":k.top=g+"px";a.doTransform=!0}var k,p=B(a.element,"class");p&&(p={className:p});c=a.div=a.div||C("div",p,{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||f);k=c.style;d(a,{classSetter:function(a){return function(g){this.element.setAttribute("class",g);a.className=g}}(c),on:function(){e[0].div&&b.on.apply({element:e[0].div},arguments);return a},translateXSetter:g,translateYSetter:g});a.addedSetters||m(a,k)})}}else c=f;c.appendChild(k);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(G);
(function(a){var B=a.correctFloat,C=a.defined,A=a.destroyObjectProperties,h=a.fireEvent,d=a.isNumber,u=a.merge,x=a.pick,t=a.deg2rad;a.Tick=function(a,d,l,m,e){this.axis=a;this.pos=d;this.type=l||"";this.isNewLabel=this.isNew=!0;this.parameters=e||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;l||m||this.addLabel()};a.Tick.prototype={addLabel:function(){var d=this,n=d.axis,l=n.options,m=n.chart,e=n.categories,k=n.names,c=d.pos,f=x(d.options&&d.options.labels,
l.labels),b=n.tickPositions,q=c===b[0],r=c===b[b.length-1],e=this.parameters.category||(e?x(e[c],k[c],c):c),v=d.label,b=b.info,h,E,p,z;n.isDatetimeAxis&&b&&(E=m.time.resolveDTLFormat(l.dateTimeLabelFormats[!l.grid&&b.higherRanks[c]||b.unitName]),h=E.main);d.isFirst=q;d.isLast=r;d.formatCtx={axis:n,chart:m,isFirst:q,isLast:r,dateTimeLabelFormat:h,tickPositionInfo:b,value:n.isLog?B(n.lin2log(e)):e,pos:c};l=n.labelFormatter.call(d.formatCtx,this.formatCtx);if(z=E&&E.list)d.shortenLabel=function(){for(p=
0;p<z.length;p++)if(v.attr({text:n.labelFormatter.call(a.extend(d.formatCtx,{dateTimeLabelFormat:z[p]}))}),v.getBBox().width<n.getSlotWidth(d)-2*x(f.padding,5))return;v.attr({text:""})};if(C(v))v&&v.textStr!==l&&(!v.textWidth||f.style&&f.style.width||v.styles.width||v.css({width:null}),v.attr({text:l}));else{if(d.label=v=C(l)&&f.enabled?m.renderer.text(l,0,0,f.useHTML).add(n.labelGroup):null)m.styledMode||v.css(u(f.style)),v.textPxLength=v.getBBox().width;d.rotation=0}},getLabelSize:function(){return this.label?
this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var d=this.axis,l=d.options.labels,m=a.x,e=d.chart.chartWidth,k=d.chart.spacing,c=x(d.labelLeft,Math.min(d.pos,k[3])),k=x(d.labelRight,Math.max(d.isRadial?0:d.pos+d.len,e-k[1])),f=this.label,b=this.rotation,q={left:0,center:.5,right:1}[d.labelAlign||f.attr("align")],r=f.getBBox().width,v=d.getSlotWidth(this),h=v,w=1,p,z={};if(b||"justify"!==x(l.overflow,"justify"))0>b&&m-q*r<c?p=Math.round(m/Math.cos(b*t)-c):0<b&&
m+q*r>k&&(p=Math.round((e-m)/Math.cos(b*t)));else if(e=m+(1-q)*r,m-q*r<c?h=a.x+h*(1-q)-c:e>k&&(h=k-a.x+h*q,w=-1),h=Math.min(v,h),h<v&&"center"===d.labelAlign&&(a.x+=w*(v-h-q*(v-Math.min(r,h)))),r>h||d.autoRotation&&(f.styles||{}).width)p=h;p&&(this.shortenLabel?this.shortenLabel():(z.width=Math.floor(p),(l.style||{}).textOverflow||(z.textOverflow="ellipsis"),f.css(z)))},getPosition:function(d,n,l,m){var e=this.axis,k=e.chart,c=m&&k.oldChartHeight||k.chartHeight;d={x:d?a.correctFloat(e.translate(n+
l,null,null,m)+e.transB):e.left+e.offset+(e.opposite?(m&&k.oldChartWidth||k.chartWidth)-e.right-e.left:0),y:d?c-e.bottom+e.offset-(e.opposite?e.height:0):a.correctFloat(c-e.translate(n+l,null,null,m)-e.transB)};h(this,"afterGetPosition",{pos:d});return d},getLabelPosition:function(a,d,l,m,e,k,c,f){var b=this.axis,q=b.transA,r=b.reversed,v=b.staggerLines,n=b.tickRotCorr||{x:0,y:0},w=e.y,p=m||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),z={};C(w)||(w=0===b.side?l.rotation?-8:
-l.getBBox().height:2===b.side?n.y+8:Math.cos(l.rotation*t)*(n.y-l.getBBox(!1,0).height/2));a=a+e.x+p+n.x-(k&&m?k*q*(r?-1:1):0);d=d+w-(k&&!m?k*q*(r?1:-1):0);v&&(l=c/(f||1)%v,b.opposite&&(l=v-l-1),d+=b.labelOffset/v*l);z.x=a;z.y=Math.round(d);h(this,"afterGetLabelPosition",{pos:z,tickmarkOffset:k,index:c});return z},getMarkPath:function(a,d,l,m,e,k){return k.crispLine(["M",a,d,"L",a+(e?0:-l),d+(e?l:0)],m)},renderGridLine:function(a,d,l){var m=this.axis,e=m.options,k=this.gridLine,c={},f=this.pos,b=
this.type,q=x(this.tickmarkOffset,m.tickmarkOffset),r=m.chart.renderer,v=b?b+"Grid":"grid",h=e[v+"LineWidth"],n=e[v+"LineColor"],e=e[v+"LineDashStyle"];k||(m.chart.styledMode||(c.stroke=n,c["stroke-width"]=h,e&&(c.dashstyle=e)),b||(c.zIndex=1),a&&(d=0),this.gridLine=k=r.path().attr(c).addClass("highcharts-"+(b?b+"-":"")+"grid-line").add(m.gridGroup));if(k&&(l=m.getPlotLinePath(f+q,k.strokeWidth()*l,a,"pass")))k[a||this.isNew?"attr":"animate"]({d:l,opacity:d})},renderMark:function(a,d,l){var m=this.axis,
e=m.options,k=m.chart.renderer,c=this.type,f=c?c+"Tick":"tick",b=m.tickSize(f),q=this.mark,r=!q,v=a.x;a=a.y;var h=x(e[f+"Width"],!c&&m.isXAxis?1:0),e=e[f+"Color"];b&&(m.opposite&&(b[0]=-b[0]),r&&(this.mark=q=k.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(m.axisGroup),m.chart.styledMode||q.attr({stroke:e,"stroke-width":h})),q[r?"attr":"animate"]({d:this.getMarkPath(v,a,b[0],q.strokeWidth()*l,m.horiz,k),opacity:d}))},renderLabel:function(a,h,l,m){var e=this.axis,k=e.horiz,c=e.options,f=this.label,
b=c.labels,q=b.step,e=x(this.tickmarkOffset,e.tickmarkOffset),r=!0,v=a.x;a=a.y;f&&d(v)&&(f.xy=a=this.getLabelPosition(v,a,f,k,b,e,m,q),this.isFirst&&!this.isLast&&!x(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!x(c.showLastLabel,1)?r=!1:!k||b.step||b.rotation||h||0===l||this.handleOverflow(a),q&&m%q&&(r=!1),r&&d(a.y)?(a.opacity=l,f[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(f.attr("y",-9999),this.isNewLabel=!0))},render:function(d,h,l){var m=this.axis,e=m.horiz,k=this.pos,c=x(this.tickmarkOffset,
m.tickmarkOffset),k=this.getPosition(e,k,c,h),c=k.x,f=k.y,m=e&&c===m.pos+m.len||!e&&f===m.pos?-1:1;l=x(l,1);this.isActive=!0;this.renderGridLine(h,l,m);this.renderMark(k,l,m);this.renderLabel(k,h,l,d);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){A(this,this.axis)}}})(G);var Y=function(a){var B=a.addEvent,C=a.animObject,A=a.arrayMax,h=a.arrayMin,d=a.color,u=a.correctFloat,x=a.defaultOptions,t=a.defined,w=a.deg2rad,n=a.destroyObjectProperties,l=a.extend,m=a.fireEvent,e=a.format,
k=a.getMagnitude,c=a.isArray,f=a.isNumber,b=a.isString,q=a.merge,r=a.normalizeTickInterval,v=a.objectEach,D=a.pick,E=a.removeEvent,p=a.splat,z=a.syncTimeout,F=a.Tick,H=function(){this.init.apply(this,arguments)};a.extend(H.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,
labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},
defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},
defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(a,b){var g=b.isX,c=this;c.chart=a;c.horiz=a.inverted&&!c.isZAxis?!g:g;c.isXAxis=g;c.coll=c.coll||(g?"xAxis":"yAxis");m(this,"init",{userOptions:b});c.opposite=b.opposite;c.side=b.side||(c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(b);var y=this.options,f=y.type;c.labelFormatter=y.labels.formatter||c.defaultLabelFormatter;
c.userOptions=b;c.minPixelPadding=0;c.reversed=y.reversed;c.visible=!1!==y.visible;c.zoomEnabled=!1!==y.zoomEnabled;c.hasNames="category"===f||!0===y.categories;c.categories=y.categories||c.hasNames;c.names||(c.names=[],c.names.keys={});c.plotLinesAndBandsGroups={};c.isLog="logarithmic"===f;c.isDatetimeAxis="datetime"===f;c.positiveValuesOnly=c.isLog&&!c.allowNegativeLog;c.isLinked=t(y.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=
c.userMinRange=y.minRange||y.maxZoom;c.range=y.range;c.offset=y.offset||0;c.stacks={};c.oldStacks={};c.stacksTouched=0;c.max=null;c.min=null;c.crosshair=D(y.crosshair,p(a.options.tooltip.crosshairs)[g?0:1],!1);b=c.options.events;-1===a.axes.indexOf(c)&&(g?a.axes.splice(a.xAxis.length,0,c):a.axes.push(c),a[c.coll].push(c));c.series=c.series||[];a.inverted&&!c.isZAxis&&g&&void 0===c.reversed&&(c.reversed=!0);v(b,function(a,g){B(c,g,a)});c.lin2log=y.linearToLogConverter||c.lin2log;c.isLog&&(c.val2lin=
c.log2lin,c.lin2val=c.lin2log);m(this,"afterInit")},setOptions:function(a){this.options=q(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],q(x[this.coll],a));m(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var g=this.axis,b=this.value,c=g.chart.time,f=g.categories,k=this.dateTimeLabelFormat,p=x.lang,q=p.numericSymbols,p=p.numericSymbolMagnitude||
1E3,r=q&&q.length,d,z=g.options.labels.format,g=g.isLog?Math.abs(b):g.tickInterval;if(z)d=e(z,this,c);else if(f)d=b;else if(k)d=c.dateFormat(k,b);else if(r&&1E3<=g)for(;r--&&void 0===d;)c=Math.pow(p,r+1),g>=c&&0===10*b%c&&null!==q[r]&&0!==b&&(d=a.numberFormat(b/c,-1)+q[r]);void 0===d&&(d=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return d},getSeriesExtremes:function(){var a=this,b=a.chart;m(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=
a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(g){if(g.visible||!b.options.chart.ignoreHiddenSeries){var c=g.options,y=c.threshold,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=y&&(y=null);if(a.isXAxis)c=g.xData,c.length&&(g=h(c),e=A(c),f(g)||g instanceof Date||(c=c.filter(f),g=h(c),e=A(c)),c.length&&(a.dataMin=Math.min(D(a.dataMin,c[0],g),g),a.dataMax=Math.max(D(a.dataMax,c[0],e),e)));else if(g.getExtremes(),e=g.dataMax,g=g.dataMin,t(g)&&t(e)&&
(a.dataMin=Math.min(D(a.dataMin,g),g),a.dataMax=Math.max(D(a.dataMax,e),e)),t(y)&&(a.threshold=y),!c.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")},translate:function(a,b,c,e,k,p){var g=this.linkedParent||this,y=1,q=0,r=e?g.oldTransA:g.transA;e=e?g.oldMin:g.min;var d=g.minPixelPadding;k=(g.isOrdinal||g.isBroken||g.isLog&&k)&&g.lin2val;r||(r=g.transA);c&&(y*=-1,q=g.len);g.reversed&&(y*=-1,q-=y*(g.sector||g.len));b?(a=(a*y+q-d)/r+e,k&&(a=g.lin2val(a))):
(k&&(a=g.val2lin(a)),a=f(e)?y*(a-e)*r+q+y*d+(f(p)?r*p:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!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,b,c,e,k){var g=this,y=g.chart,p=g.left,q=g.top,r,d,z,v,l=c&&y.oldChartHeight||y.chartHeight,F=c&&y.oldChartWidth||y.chartWidth,h,n=g.transB,L,w=function(a,g,b){if("pass"!==e&&a<g||a>b)e?a=Math.min(Math.max(g,a),b):h=!0;return a};
L={value:a,lineWidth:b,old:c,force:e,translatedValue:k};m(this,"getPlotLinePath",L,function(m){k=D(k,g.translate(a,null,null,c));k=Math.min(Math.max(-1E5,k),1E5);r=z=Math.round(k+n);d=v=Math.round(l-k-n);f(k)?g.horiz?(d=q,v=l-g.bottom,r=z=w(r,p,p+g.width)):(r=p,z=F-g.right,d=v=w(d,q,q+g.height)):(h=!0,e=!1);m.path=h&&!e?null:y.renderer.crispLine(["M",r,d,"L",z,v],b||1)});return L.path},getLinearTickPositions:function(a,b,c){var g,y=u(Math.floor(b/a)*a);c=u(Math.ceil(c/a)*a);var f=[],e;u(y+a)===y&&
(e=20);if(this.single)return[b];for(b=y;b<=c;){f.push(b);b=u(b+a,e);if(b===g)break;g=b}return f},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?D(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,e=[],k=a.pointRangePadding||0,p=a.min-k,k=a.max+k,q=k-p;if(q&&q/f<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(g,b,c){b&&e.push.apply(e,a.getLogTickPositions(f,
c[b-1],c[b],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())e=e.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),p,k,b.startOfWeek));else for(b=p+(c[0]-p)%f;b<=k&&b!==e[0];b+=f)e.push(b);0!==e.length&&a.trimTicks(e);return e},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,f,e,k,p,q,r,d,z;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(this.series.forEach(function(a){r=a.xData;for(p=d=a.xIncrement?1:r.length-
1;0<p;p--)if(q=r[p]-r[p-1],void 0===k||q<k)k=q}),this.minRange=Math.min(5*k,this.dataMax-this.dataMin)));c-b<this.minRange&&(e=this.dataMax-this.dataMin>=this.minRange,z=this.minRange,f=(z-c+b)/2,f=[b-f,D(a.min,b-f)],e&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=A(f),c=[b+z,D(a.max,b+z)],e&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=h(c),c-b<z&&(f[0]=c-z,f[1]=D(a.min,c-z),b=A(f)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(g){var b=
g.closestPointRange,c=g.visible||!g.chart.options.chart.ignoreHiddenSeries;!g.noSharedTooltip&&t(b)&&c&&(a=t(a)?Math.min(a,b):b)});return a},nameToX:function(a){var g=c(this.categories),b=g?this.categories:this.names,f=a.options.x,e;a.series.requireSorting=!1;t(f)||(f=!1===this.options.uniqueNames?a.series.autoIncrement():g?b.indexOf(a.name):D(b.keys[a.name],-1));-1===f?g||(e=b.length):e=f;void 0!==e&&(this.names[e]=a.name,this.names.keys[a.name]=e);return e},updateNames:function(){var a=this,b=this.names;
0<b.length&&(Object.keys(b.keys).forEach(function(a){delete b.keys[a]}),b.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(g){g.xIncrement=null;if(!g.points||g.isDirtyData)a.max=Math.max(a.max,g.xData.length-1),g.processData(),g.generatePoints();g.data.forEach(function(b,c){var f;b&&b.options&&void 0!==b.name&&(f=a.nameToX(b),void 0!==f&&f!==b.x&&(b.x=f,g.xData[c]=f))})}))},setAxisTranslation:function(a){var g=this,c=g.max-g.min,f=g.axisPointRange||0,e,k=0,p=0,q=g.linkedParent,
r=!!g.categories,d=g.transA,z=g.isXAxis;if(z||r||f)e=g.getClosest(),q?(k=q.minPointOffset,p=q.pointRangePadding):g.series.forEach(function(a){var c=r?1:z?D(a.options.pointRange,e,0):g.axisPointRange||0;a=a.options.pointPlacement;f=Math.max(f,c);g.single||(k=Math.max(k,z&&b(a)?0:c/2),p=Math.max(p,z&&"on"===a?0:c))}),q=g.ordinalSlope&&e?g.ordinalSlope/e:1,g.minPointOffset=k*=q,g.pointRangePadding=p*=q,g.pointRange=Math.min(f,c),z&&(g.closestPointRange=e);a&&(g.oldTransA=d);g.translationSlope=g.transA=
d=g.staticScale||g.len/(c+p||1);g.transB=g.horiz?g.left:g.bottom;g.minPixelPadding=d*k;m(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(g){var b=this,c=b.chart,e=b.options,p=b.isLog,q=b.isDatetimeAxis,d=b.isXAxis,z=b.isLinked,v=e.maxPadding,l=e.minPadding,F,h=e.tickInterval,n=e.tickPixelInterval,w=b.categories,E=f(b.threshold)?b.threshold:null,H=b.softThreshold,x,A,B;q||w||z||this.getTickAmount();A=D(b.userMin,e.min);B=D(b.userMax,e.max);
z?(b.linkedParent=c[b.coll][e.linkedTo],F=b.linkedParent.getExtremes(),b.min=D(F.min,F.dataMin),b.max=D(F.max,F.dataMax),e.type!==b.linkedParent.options.type&&a.error(11,1,c)):(!H&&t(E)&&(b.dataMin>=E?(F=E,l=0):b.dataMax<=E&&(x=E,v=0)),b.min=D(A,F,b.dataMin),b.max=D(B,x,b.dataMax));p&&(b.positiveValuesOnly&&!g&&0>=Math.min(b.min,D(b.dataMin,b.min))&&a.error(10,1,c),b.min=u(b.log2lin(b.min),15),b.max=u(b.log2lin(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=A=Math.max(b.dataMin,b.minFromRange()),
b.userMax=B=b.max,b.range=null);m(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(w||b.axisPointRange||b.usePercentage||z)&&t(b.min)&&t(b.max)&&(c=b.max-b.min)&&(!t(A)&&l&&(b.min-=c*l),!t(B)&&v&&(b.max+=c*v));f(e.softMin)&&!f(b.userMin)&&(b.min=Math.min(b.min,e.softMin));f(e.softMax)&&!f(b.userMax)&&(b.max=Math.max(b.max,e.softMax));f(e.floor)&&(b.min=Math.min(Math.max(b.min,e.floor),Number.MAX_VALUE));f(e.ceiling)&&(b.max=Math.max(Math.min(b.max,e.ceiling),D(b.userMax,
-Number.MAX_VALUE)));H&&t(b.dataMin)&&(E=E||0,!t(A)&&b.min<E&&b.dataMin>=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:z&&!h&&n===b.linkedParent.options.tickPixelInterval?h=b.linkedParent.tickInterval:D(h,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,w?1:(b.max-b.min)*n/Math.max(b.len,n));d&&!g&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&
b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!h&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));g=D(e.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!h&&b.tickInterval<g&&(b.tickInterval=g);q||p||h||(b.tickInterval=r(b.tickInterval,null,k(b.tickInterval),D(e.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());
this.setTickPositions()},setTickPositions:function(){var b=this.options,c,f=b.tickPositions;c=this.getMinorTickInterval();var e=b.tickPositioner,k=b.startOnTick,p=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=f&&f.slice();
!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19,!1,this.chart)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===
c[1]&&(c.length=1)),this.tickPositions=c,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=c=e);this.paddedTicks=c.slice(0);this.trimTicks(c,k,p);this.isLinked||(this.single&&2>c.length&&(this.min-=.5,this.max+=.5),f||e||this.adjustTickAmount());m(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var g=a[0],f=a[a.length-1],e=this.minPointOffset||0;m(this,"trimTicks");if(!this.isLinked){if(b&&-Infinity!==g)this.min=g;else for(;this.min-e>a[0];)a.shift();if(c)this.max=f;else for(;this.max+
e<a[a.length-1];)a.pop();0===a.length&&t(g)&&!this.options.tickPositions&&a.push((f+g)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||this.chart[this.coll].forEach(function(g){var c=g.options,c=[g.horiz?c.left:c.top,c.width,c.height,c.pane].join();g.series.length&&(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!t(a.tickInterval)&&
this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.options,b=this.tickInterval,c=this.tickPositions,f=this.tickAmount,e=this.finalTickAmt,k=c&&c.length,p=D(this.threshold,this.softThreshold?0:null),q;if(this.hasData()){if(k<f){for(q=this.min;c.length<f;)c.length%2||q===p?c.push(u(c[c.length-1]+b)):c.unshift(u(c[0]-b));this.transA*=(k-
1)/(f-1);this.min=a.startOnTick?c[0]:Math.min(this.min,c[0]);this.max=a.endOnTick?c[c.length-1]:Math.max(this.max,c[c.length-1])}else k>f&&(this.tickInterval*=2,this.setTickPositions());if(t(e)){for(b=a=c.length;b--;)(3===e&&1===b%2||2>=e&&0<b&&b<a-1)&&c.splice(b,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||a.isDirty||a.xAxis.isDirty}),b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(b=this.len!==
this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();m(this,"afterSetScale")},setExtremes:function(a,b,c,f,e){var g=this,k=g.chart;
c=D(c,!0);g.series.forEach(function(a){delete a.kdTree});e=l(e,{min:a,max:b});m(g,"setExtremes",e,function(){g.userMin=a;g.userMax=b;g.eventArgs=e;c&&k.redraw(f)})},zoom:function(a,b){var g=this.dataMin,c=this.dataMax,f=this.options,e=Math.min(g,D(f.min,g)),k=Math.max(c,D(f.max,c));a={newMin:a,newMax:b};m(this,"zoom",a,function(a){var b=a.newMin,f=a.newMax;if(b!==this.min||f!==this.max)this.allowZoomOutside||(t(g)&&(b<e&&(b=e),b>k&&(b=k)),t(c)&&(f<e&&(f=e),f>k&&(f=k))),this.displayBtn=void 0!==b||
void 0!==f,this.setExtremes(b,f,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var b=this.chart,c=this.options,f=c.offsets||[0,0,0,0],e=this.horiz,k=this.width=Math.round(a.relativeLength(D(c.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),p=this.height=Math.round(a.relativeLength(D(c.height,b.plotHeight-f[0]+f[2]),b.plotHeight)),q=this.top=Math.round(a.relativeLength(D(c.top,b.plotTop+f[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(D(c.left,b.plotLeft+
f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-p-q;this.right=b.chartWidth-k-c;this.len=Math.max(e?k:p,0);this.pos=e?c:q},getExtremes:function(){var a=this.isLog;return{min:a?u(this.lin2log(this.min)):this.min,max:a?u(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,g=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=g:Infinity===a?
a=b:g>a?a=g:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var b=(D(a,0)-90*this.side+720)%360;a={align:"center"};m(this,"autoLabelAlign",a,function(a){15<b&&165>b?a.align="right":195<b&&345>b&&(a.align="left")});return a.align},tickSize:function(a){var b=this.options,c=b[a+"Length"],g=D(b[a+"Width"],"tick"===a&&this.isXAxis?1:0),f;g&&c&&("inside"===b[a+"Position"]&&(c=-c),f=[c,g]);a={tickSize:f};m(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&
this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,f=c,e=this.len/(((this.categories?1:0)+this.max-this.min)/c),k,p=a.rotation,q=this.labelMetrics(),r,d=Number.MAX_VALUE,z,v=this.max-this.min,l=function(a){var b=a/(e||1),b=1<b?Math.ceil(b):1;b*c>v&&Infinity!==a&&Infinity!==e&&(b=Math.ceil(v/c));return u(b*c)};
b?(z=!a.staggerLines&&!a.step&&(t(p)?[p]:e<D(a.autoRotationLimit,80)&&a.autoRotation))&&z.forEach(function(a){var b;if(a===p||a&&-90<=a&&90>=a)r=l(Math.abs(q.h/Math.sin(w*a))),b=r+Math.abs(a/360),b<d&&(d=b,k=a,f=r)}):a.step||(f=l(q.h));this.autoRotation=z;this.labelRotation=D(k,p);return f},getSlotWidth:function(a){var b=this.chart,c=this.horiz,g=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),e=b.margin[3];return a&&a.slotWidth||c&&2>(g.step||0)&&!g.rotation&&(this.staggerLines||
1)*this.len/f||!c&&(g.style&&parseInt(g.style.width,10)||e&&e-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,c=a.renderer,f=this.tickPositions,e=this.ticks,k=this.options.labels,p=k&&k.style||{},q=this.horiz,r=this.getSlotWidth(),d=Math.max(1,Math.round(r-2*(k.padding||5))),z={},v=this.labelMetrics(),l=k.style&&k.style.textOverflow,m,F,h=0,n;b(k.rotation)||(z.rotation=k.rotation||0);f.forEach(function(a){(a=e[a])&&a.label&&a.label.textPxLength>h&&(h=a.label.textPxLength)});
this.maxLabelLength=h;if(this.autoRotation)h>d&&h>v.h?z.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(m=d,!l))for(F="clip",d=f.length;!q&&d--;)if(n=f[d],n=e[n].label)n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>r&&n.css({width:r+"px"}),n.getBBox().height>this.len/f.length-(v.h-v.f)&&(n.specificTextOverflow="ellipsis");z.rotation&&(m=h>.5*a.chartHeight?.33*a.chartHeight:h,l||(F="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))z.align=
this.labelAlign;f.forEach(function(a){var b=(a=e[a])&&a.label,c=p.width,g={};b&&(b.attr(z),a.shortenLabel?a.shortenLabel():m&&!c&&"nowrap"!==p.whiteSpace&&(m<b.textPxLength||"SPAN"===b.element.tagName)?(g.width=m,l||(g.textOverflow=b.specificTextOverflow||F),b.css(g)):b.styles&&b.styles.width&&!g.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=z.rotation)},this);this.tickRotCorr=c.rotCorr(v.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||
t(this.min)&&t(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,g=this.opposite,f=this.options.title,e,k=this.chart.styledMode;this.axisTitle||((e=f.textAlign)||(e=(c?{low:"left",middle:"center",high:"right"}:{low:g?"right":"left",middle:"center",high:g?"left":"right"})[f.align]),this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:e}).addClass("highcharts-axis-title"),k||this.axisTitle.css(q(f.style)),
this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);k||f.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new F(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,f=a.options,e=a.tickPositions,k=a.ticks,p=a.horiz,q=a.side,r=b.inverted&&!a.isZAxis?[1,0,3,2][q]:q,d,z,l=0,F,h=0,n=f.title,w=f.labels,E=0,H=b.axisOffset,b=b.clipOffset,u=[-1,1,1,-1][q],x=f.className,
A=a.axisParent;d=a.hasData();a.showAxis=z=d||D(f.showEmpty,!0);a.staggerLines=a.horiz&&w.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(x||"")).add(A),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(x||"")).add(A),a.labelGroup=c.g("axis-labels").attr({zIndex:w.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(x||"")).add(A));d||a.isLinked?
(e.forEach(function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===q||2===q||{1:"left",3:"right"}[q]===a.labelAlign,D(w.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&e.forEach(function(a){E=Math.max(k[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines),a.labelOffset=E*(a.opposite?-1:1)):v(k,function(a,b){a.destroy();delete k[b]});n&&n.text&&!1!==n.enabled&&(a.addTitle(z),z&&!1!==n.reserveSpace&&(a.titleOffset=l=a.axisTitle.getBBox()[p?"height":
"width"],F=n.offset,h=t(F)?0:D(n.margin,p?5:10)));a.renderLine();a.offset=u*D(f.offset,H[q]?H[q]+(f.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===q?-a.labelMetrics().h:2===q?a.tickRotCorr.y:0;h=Math.abs(E)+h;E&&(h=h-c+u*(p?D(w.y,a.tickRotCorr.y+8*u):w.x));a.axisTitleMargin=D(F,h);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(k,e));p=this.tickSize("tick");H[q]=Math.max(H[q],a.axisTitleMargin+l+u*a.offset,h,d&&e.length&&p?p[0]+u*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/
2);b[r]=Math.max(b[r],f);m(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,g=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+g,g=b.chartHeight-this.bottom-(c?this.height:0)+g;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?g:this.top,"L",f?b.chartWidth-this.right:e,f?g:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||
this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,f=this.len,e=this.options.title,k=a?b:c,p=this.opposite,q=this.offset,r=e.x||0,d=e.y||0,z=this.axisTitle,v=this.chart.renderer.fontMetrics(e.style&&e.style.fontSize,z),z=Math.max(z.getBBox(null,0).height-v.h-1,0),f={low:k+(a?0:f),middle:k+f/2,high:k+(a?f:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(p?-1:1)*this.axisTitleMargin+[-z,
z,v.f,-z][this.side],a={x:a?f+r:b+(p?this.width:0)+q+r,y:a?b+d-(p?this.height:0)+q:f+d};m(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var b=this.chart.hasRendered&&f(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new F(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,g=this.ticks,e=this.chart.hasRendered&&f(this.oldMin);if(!c||a>=this.min&&a<=this.max)g[a]||(g[a]=new F(this,a)),e&&g[a].isNew&&
g[a].render(b,!0,-1),g[a].render(b)},render:function(){var b=this,c=b.chart,e=b.options,k=b.isLog,p=b.isLinked,q=b.tickPositions,r=b.axisTitle,d=b.ticks,l=b.minorTicks,h=b.alternateBands,n=e.stackLabels,w=e.alternateGridColor,E=b.tickmarkOffset,D=b.axisLine,H=b.showAxis,t=C(c.renderer.globalAnimation),u,x;b.labelEdge.length=0;b.overlap=!1;[d,l,h].forEach(function(a){v(a,function(a){a.isActive=!1})});if(b.hasData()||p)b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a)}),
q.length&&(q.forEach(function(a,c){b.renderTick(a,c)}),E&&(0===b.min||b.single)&&(d[-1]||(d[-1]=new F(b,-1,null,!0)),d[-1].render(-1))),w&&q.forEach(function(g,f){x=void 0!==q[f+1]?q[f+1]+E:b.max-E;0===f%2&&g<b.max&&x<=b.max+(c.polar?-E:E)&&(h[g]||(h[g]=new a.PlotLineOrBand(b)),u=g+E,h[g].options={from:k?b.lin2log(u):u,to:k?b.lin2log(x):x,color:w},h[g].render(),h[g].isActive=!0)}),b._addedPlotLB||((e.plotLines||[]).concat(e.plotBands||[]).forEach(function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=
!0);[d,l,h].forEach(function(a){var b,g=[],f=t.duration;v(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,g.push(b))});z(function(){for(b=g.length;b--;)a[g[b]]&&!a[g[b]].isActive&&(a[g[b]].destroy(),delete a[g[b]])},a!==h&&c.hasRendered&&f?f:0)});D&&(D[D.isPlaced?"animate":"attr"]({d:this.getLinePath(D.strokeWidth())}),D.isPlaced=!0,D[H?"show":"hide"](!0));r&&H&&(e=b.getTitlePosition(),f(e.y)?(r[r.isNew?"attr":"animate"](e),r.isNew=!1):(r.attr("y",-9999),r.isNew=!0));n&&n.enabled&&b.renderStackTotals();
b.isDirty=!1;m(this,"afterRender")},redraw:function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,g=b.plotLinesAndBands,f;m(this,"destroy",{keepEvents:a});a||E(b);v(c,function(a,b){n(a);c[b]=null});[b.ticks,b.minorTicks,b.alternateBands].forEach(function(a){n(a)});if(g)for(a=g.length;a--;)g[a].destroy();
"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){b[a]&&(b[a]=b[a].destroy())});for(f in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[f]=b.plotLinesAndBandsGroups[f].destroy();v(b,function(a,c){-1===b.keepProps.indexOf(c)&&delete b[c]})},drawCrosshair:function(a,b){var c,g=this.crosshair,f=D(g.snap,!0),e,k=this.cross;m(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(t(b)||!f)){f?t(b)&&
(e=D(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):e=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);t(e)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:D(b.stackY,b.y)),null,null,null,e)||null);if(!t(c)){this.hideCrosshair();return}f=this.categories&&!this.isRadial;k||(this.cross=k=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(f?"category ":"thin ")+g.className).attr({zIndex:D(g.zIndex,2)}).add(),this.chart.styledMode||(k.attr({stroke:g.color||
(f?d("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":D(g.width,1)}).css({"pointer-events":"none"}),g.dashStyle&&k.attr({dashstyle:g.dashStyle})));k.show().attr({d:c});f&&!g.width&&k.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();m(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide();m(this,"afterHideCrosshair")}});return a.Axis=H}(G);(function(a){var B=a.Axis,C=a.getMagnitude,A=a.normalizeTickInterval,h=a.pick;B.prototype.getLogTickPositions=
function(a,u,x,t){var d=this.options,n=this.len,l=[];t||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),l=this.getLinearTickPositions(a,u,x);else if(.08<=a)for(var n=Math.floor(u),m,e,k,c,f,d=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];n<x+1&&!f;n++)for(e=d.length,m=0;m<e&&!f;m++)k=this.log2lin(this.lin2log(n)*d[m]),k>u&&(!t||c<=x)&&void 0!==c&&l.push(c),c>x&&(f=!0),c=k;else u=this.lin2log(u),x=this.lin2log(x),a=t?this.getMinorTickInterval():d.tickInterval,a=h("auto"===a?null:a,this._minorAutoInterval,
d.tickPixelInterval/(t?5:1)*(x-u)/((t?n/this.tickPositions.length:n)||1)),a=A(a,null,C(a)),l=this.getLinearTickPositions(a,u,x).map(this.log2lin),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return l};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,a)}})(G);(function(a,B){var C=a.arrayMax,A=a.arrayMin,h=a.defined,d=a.destroyObjectProperties,u=a.erase,x=a.merge,t=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=
d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var d=this,n=d.axis,l=n.horiz,m=d.options,e=m.label,k=d.label,c=m.to,f=m.from,b=m.value,q=h(f)&&h(c),r=h(b),v=d.svgElem,D=!v,E=[],p=m.color,z=t(m.zIndex,0),F=m.events,E={"class":"highcharts-plot-"+(q?"band ":"line ")+(m.className||"")},H={},g=n.chart.renderer,y=q?"bands":"lines";n.isLog&&(f=n.log2lin(f),c=n.log2lin(c),b=n.log2lin(b));n.chart.styledMode||(r?(E.stroke=p,E["stroke-width"]=m.width,m.dashStyle&&(E.dashstyle=
m.dashStyle)):q&&(p&&(E.fill=p),m.borderWidth&&(E.stroke=m.borderColor,E["stroke-width"]=m.borderWidth)));H.zIndex=z;y+="-"+z;(p=n.plotLinesAndBandsGroups[y])||(n.plotLinesAndBandsGroups[y]=p=g.g("plot-"+y).attr(H).add());D&&(d.svgElem=v=g.path().attr(E).add(p));if(r)E=n.getPlotLinePath(b,v.strokeWidth());else if(q)E=n.getPlotBandPath(f,c,m);else return;D&&E&&E.length?(v.attr({d:E}),F&&a.objectEach(F,function(a,b){v.on(b,function(a){F[b].apply(d,[a])})})):v&&(E?(v.show(),v.animate({d:E})):(v.hide(),
k&&(d.label=k=k.destroy())));e&&h(e.text)&&E&&E.length&&0<n.width&&0<n.height&&!E.isFlat?(e=x({align:l&&q&&"center",x:l?!q&&4:10,verticalAlign:!l&&q&&"middle",y:l?q?16:10:q?6:-4,rotation:l&&!q&&90},e),this.renderLabel(e,E,q,z)):k&&k.hide();return d},renderLabel:function(a,d,l,m){var e=this.label,k=this.axis.chart.renderer;e||(e={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(l?"band":"line")+"-label "+(a.className||"")},e.zIndex=m,this.label=e=k.text(a.text,0,0,a.useHTML).attr(e).add(),
this.axis.chart.styledMode||e.css(a.style));m=d.xBounds||[d[1],d[4],l?d[6]:d[1]];d=d.yBounds||[d[2],d[5],l?d[7]:d[2]];l=A(m);k=A(d);e.align(a,!1,{x:l,y:k,width:C(m)-l,height:C(d)-k});e.show()},destroy:function(){u(this.axis.plotLinesAndBands,this);delete this.axis;d(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,d){var l=this.getPlotLinePath(d,null,null,!0),m=this.getPlotLinePath(a,null,null,!0),e=[],k=this.horiz,c=1,f;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(m&&l)for(a&&(f=m.toString()===
l.toString(),c=0),a=0;a<m.length;a+=6)k&&l[a+1]===m[a+1]?(l[a+1]+=c,l[a+4]+=c):k||l[a+2]!==m[a+2]||(l[a+2]+=c,l[a+5]+=c),e.push("M",m[a+1],m[a+2],"L",m[a+4],m[a+5],l[a+4],l[a+5],l[a+1],l[a+2],"z"),e.isFlat=f;return e},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,h){var l=(new a.PlotLineOrBand(this,d)).render(),m=this.userOptions;l&&(h&&(m[h]=m[h]||[],m[h].push(d)),this.plotLinesAndBands.push(l));
return l},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,l=this.options,m=this.userOptions,e=d.length;e--;)d[e].id===a&&d[e].destroy();[l.plotLines||[],m.plotLines||[],l.plotBands||[],m.plotBands||[]].forEach(function(k){for(e=k.length;e--;)k[e].id===a&&u(k,k[e])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(G,Y);(function(a){var B=a.doc,C=a.extend,A=a.format,h=a.isNumber,d=a.merge,u=a.pick,x=a.splat,t=a.syncTimeout,
w=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;this.outside=d.outside&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(d){var l=d&&d.tt;l&&(!l.isActive||a?d.tt=l.destroy():l.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",
id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var d=this,l=this.chart.renderer,
m=this.chart.styledMode,e=this.options,k,c;this.label||(this.outside&&(this.container=k=a.doc.createElement("div"),k.className="highcharts-tooltip-container",a.css(k,{position:"absolute",top:"1px",pointerEvents:e.style&&e.style.pointerEvents}),a.doc.body.appendChild(k),this.renderer=l=new a.Renderer(k,0,0)),this.split?this.label=l.g("tooltip"):(this.label=l.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),m||this.label.attr({fill:e.backgroundColor,
"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),m&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(c={x:this.label.xSetter,y:this.label.ySetter},this.label.xSetter=function(a,b){c[b].call(this.label,d.distance);k.style.left=a+"px"},this.label.ySetter=function(a,b){c[b].call(this.label,d.distance);k.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();d(!0,this.chart.options.tooltip.userOptions,
a);this.init(this.chart,d(!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());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(d,l,m,e){var k=this,c=k.now,f=!1!==k.options.animation&&!k.isHidden&&(1<Math.abs(d-c.x)||1<Math.abs(l-c.y)),b=k.followPointer||1<k.len;C(c,
{x:f?(2*c.x+d)/3:d,y:f?(c.y+l)/2:l,anchorX:b?void 0:f?(2*c.anchorX+m)/3:m,anchorY:b?void 0:f?(c.anchorY+e)/2:e});k.getLabel().attr(c);f&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){k&&k.move(d,l,m,e)},32))},hide:function(d){var l=this;a.clearTimeout(this.hideTimer);d=u(d,this.options.hideDelay,500);this.isHidden||(this.hideTimer=t(function(){l.getLabel()[d?"fadeOut":"hide"]();l.isHidden=!0},d))},getAnchor:function(a,d){var l=this.chart,e=l.pointer,k=l.inverted,c=
l.plotTop,f=l.plotLeft,b=0,q=0,r,v;a=x(a);this.followPointer&&d?(void 0===d.chartX&&(d=e.normalize(d)),a=[d.chartX-l.plotLeft,d.chartY-c]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){r=a.series.yAxis;v=a.series.xAxis;b+=a.plotX+(!k&&v?v.left-f:0);q+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!k&&r?r.top-c:0)}),b/=a.length,q/=a.length,a=[k?l.plotWidth-q:b,this.shared&&!k&&1<a.length&&d?d.chartY-c:k?l.plotHeight-b:q]);return a.map(Math.round)},getPosition:function(a,d,m){var e=this.chart,
k=this.distance,c={},f=e.inverted&&m.h||0,b,q=this.outside,r=q?B.documentElement.clientWidth-2*k:e.chartWidth,v=q?Math.max(B.body.scrollHeight,B.documentElement.scrollHeight,B.body.offsetHeight,B.documentElement.offsetHeight,B.documentElement.clientHeight):e.chartHeight,l=e.pointer.chartPosition,h=["y",v,d,(q?l.top-k:0)+m.plotY+e.plotTop,q?0:e.plotTop,q?v:e.plotTop+e.plotHeight],p=["x",r,a,(q?l.left-k:0)+m.plotX+e.plotLeft,q?0:e.plotLeft,q?r:e.plotLeft+e.plotWidth],z=!this.followPointer&&u(m.ttBelow,
!e.inverted===!!m.negative),F=function(a,b,g,e,p,d){var q=g<e-k,r=e+k+g<b,v=e-k-g;e+=k;if(z&&r)c[a]=e;else if(!z&&q)c[a]=v;else if(q)c[a]=Math.min(d-g,0>v-f?v:v-f);else if(r)c[a]=Math.max(p,e+f+g>b?e:e+f);else return!1},n=function(a,b,g,f){var e;f<k||f>b-k?e=!1:c[a]=f<g/2?1:f>b-g/2?b-g-2:f-g/2;return e},g=function(a){var c=h;h=p;p=c;b=a},y=function(){!1!==F.apply(0,h)?!1!==n.apply(0,p)||b||(g(!0),y()):b?c.x=c.y=0:(g(!0),y())};(e.inverted||1<this.len)&&g();y();return c},defaultFormatter:function(a){var d=
this.points||x(this),m;m=[a.tooltipFooterHeaderFormatter(d[0])];m=m.concat(a.bodyFormatter(d));m.push(a.tooltipFooterHeaderFormatter(d[0],!0));return m},refresh:function(d,l){var m,e=this.options,k,c=d,f,b={},q=[];m=e.formatter||this.defaultFormatter;var b=this.shared,r,v=this.chart.styledMode;e.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=x(c)[0].series.tooltipOptions.followPointer,f=this.getAnchor(c,l),l=f[0],k=f[1],!b||c.series&&c.series.noSharedTooltip?b=c.getLabelConfig():(c.forEach(function(a){a.setState("hover");
q.push(a.getLabelConfig())}),b={x:c[0].category,y:c[0].y},b.points=q,c=c[0]),this.len=q.length,b=m.call(b,this),r=c.series,this.distance=u(r.tooltipOptions.distance,16),!1===b?this.hide():(m=this.getLabel(),this.isHidden&&m.attr({opacity:1}).show(),this.split?this.renderSplit(b,x(d)):(e.style.width&&!v||m.css({width:this.chart.spacingBox.width}),m.attr({text:b&&b.join?b.join(""):b}),m.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(c.colorIndex,r.colorIndex)),v||m.attr({stroke:e.borderColor||
c.color||r.color||"#666666"}),this.updatePosition({plotX:l,plotY:k,negative:c.negative,ttBelow:c.ttBelow,h:f[2]||0})),this.isHidden=!1))},renderSplit:function(d,l){var m=this,e=[],k=this.chart,c=k.renderer,f=!0,b=this.options,q=0,r,v=this.getLabel(),h=k.plotTop;a.isString(d)&&(d=[!1,d]);d.slice(0,l.length+1).forEach(function(a,p){if(!1!==a&&""!==a){p=l[p-1]||{isHeader:!0,plotX:l[0].plotX,plotY:k.plotHeight};var d=p.series||m,F=d.tt,E=p.series||{},g="highcharts-color-"+u(p.colorIndex,E.colorIndex,
"none");F||(F={padding:b.padding,r:b.borderRadius},k.styledMode||(F.fill=b.backgroundColor,F.stroke=b.borderColor||p.color||E.color||"#333333",F["stroke-width"]=b.borderWidth),d.tt=F=c.label(null,null,null,(p.isHeader?b.headerShape:b.shape)||"callout",null,null,b.useHTML).addClass("highcharts-tooltip-box "+g).attr(F).add(v));F.isActive=!0;F.attr({text:a});k.styledMode||F.css(b.style).shadow(b.shadow);a=F.getBBox();E=a.width+F.strokeWidth();p.isHeader?(q=a.height,k.xAxis[0].opposite&&(r=!0,h-=q),E=
Math.max(0,Math.min(p.plotX+k.plotLeft-E/2,k.chartWidth+(k.scrollablePixels?k.scrollablePixels-k.marginRight:0)-E))):E=p.plotX+k.plotLeft-u(b.distance,16)-E;0>E&&(f=!1);a=(p.series&&p.series.yAxis&&p.series.yAxis.pos)+(p.plotY||0);a-=h;p.isHeader&&(a=r?-q:k.plotHeight+q);e.push({target:a,rank:p.isHeader?1:0,size:d.tt.getBBox().height+1,point:p,x:E,tt:F})}});this.cleanSplit();b.positioner&&e.forEach(function(a){var c=b.positioner.call(m,a.tt.getBBox().width,a.size,a.point);a.x=c.x;a.align=0;a.target=
c.y;a.rank=u(c.rank,a.rank)});a.distribute(e,k.plotHeight+q);e.forEach(function(a){var c=a.point,e=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:f||c.isHeader||b.positioner?a.x:c.plotX+k.plotLeft+m.distance,y:a.pos+h,anchorX:c.isHeader?c.plotX+k.plotLeft:c.plotX+e.xAxis.pos,anchorY:c.isHeader?k.plotTop+k.plotHeight/2:c.plotY+e.yAxis.pos})})},updatePosition:function(a){var d=this.chart,m=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,m.width,m.height,a),
k=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;var c;this.outside&&(c=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(m.width+c,m.height+c,!1),k+=d.pointer.chartPosition.left-e.x,a+=d.pointer.chartPosition.top-e.y);this.move(Math.round(e.x),Math.round(e.y||0),k,a)},getDateFormat:function(a,d,m,e){var k=this.chart.time,c=k.dateFormat("%m-%d %H:%M:%S.%L",d),f,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},r="millisecond";for(b in w){if(a===w.week&&+k.dateFormat("%w",d)===m&&"00:00:00.000"===
c.substr(6)){b="week";break}if(w[b]>a){b=r;break}if(q[b]&&c.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(r=b)}b&&(f=k.resolveDTLFormat(e[b]).main);return f},getXDateFormat:function(a,d,m){d=d.dateTimeLabelFormats;var e=m&&m.closestPointRange;return(e?this.getDateFormat(e,a.x,m.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(d,l){var m=l?"footer":"header",e=d.series,k=e.tooltipOptions,c=k.xDateFormat,f=e.xAxis,b=f&&"datetime"===f.options.type&&h(d.key),
q=k[m+"Format"];l={isFooter:l,labelConfig:d};a.fireEvent(this,"headerFormatter",l,function(a){b&&!c&&(c=this.getXDateFormat(d,k,f));b&&c&&(d.point&&d.point.tooltipDateKeys||["key"]).forEach(function(a){q=q.replace("{point."+a+"}","{point."+a+":"+c+"}")});e.chart.styledMode&&(q=this.styledModeFormat(q));a.text=A(q,{point:d,series:e},this.chart.time)});return l.text},bodyFormatter:function(a){return a.map(function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||
a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"','class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}})(G);(function(a){var B=a.addEvent,C=a.attr,A=a.charts,h=a.color,d=a.css,u=a.defined,x=a.extend,t=a.find,w=a.fireEvent,n=a.isNumber,l=a.isObject,m=a.offset,e=a.pick,k=a.splat,c=a.Tooltip;a.Pointer=function(a,
b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,f=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(c.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=
f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));return x(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,c){var f;a.forEach(function(a){var e=
!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,e);if((e=l(a,!0))&&!(e=!l(f,!0)))var e=f.distX-a.distX,k=f.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(f.series.group&&f.series.group.zIndex),e=0<(0!==e&&b?e:0!==k?k:0!==d?d:f.series.index>a.series.index?-1:1);e&&(f=a)});return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,f=c.xAxis,c=c.yAxis,k=
e(a.clientX,a.plotX),d=a.shapeArgs;if(f&&c)return b?{chartX:f.len+f.pos-k,chartY:c.len+c.pos-a.plotY}:{chartX:k+f.pos,chartY:a.plotY+c.pos};if(d&&d.x&&d.y)return{chartX:d.x,chartY:d.y}},getHoverData:function(a,b,c,k,d,m){var f,p=[];k=!(!k||!a);var q=b&&!b.stickyTracking?[b]:c.filter(function(a){return a.visible&&!(!d&&a.directTouch)&&e(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(f=k?a:this.findNearestKDPoint(q,d,m))&&f.series;f&&(d&&!b.noSharedTooltip?(q=c.filter(function(a){return a.visible&&
!(!d&&a.directTouch)&&e(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),q.forEach(function(a){var b=t(a.points,function(a){return a.x===f.x&&!a.isNull});l(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),p.push(b))})):p.push(f));return{hoverPoint:f,hoverSeries:b,hoverPoints:p}},runPointActions:function(c,b){var f=this.chart,k=f.tooltip&&f.tooltip.options.enabled?f.tooltip:void 0,d=k?k.shared:!1,l=b||f.hoverPoint,m=l&&l.series||f.hoverSeries,m=this.getHoverData(l,m,f.series,"touchmove"!==c.type&&
(!!b||m&&m.directTouch&&this.isDirectTouch),d,c),p,l=m.hoverPoint;p=m.hoverPoints;b=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;d=d&&m&&!m.noSharedTooltip;if(l&&(l!==f.hoverPoint||k&&k.isHidden)){(f.hoverPoints||[]).forEach(function(a){-1===p.indexOf(a)&&a.setState()});(p||[]).forEach(function(a){a.setState("hover")});if(f.hoverSeries!==m)m.onMouseOver();f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut");if(!l.series)return;l.firePointEvent("mouseOver");f.hoverPoints=p;f.hoverPoint=l;k&&
k.refresh(d?p:l,c)}else b&&k&&!k.isHidden&&(l=k.getAnchor([{}],c),k.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(f.container.ownerDocument,"mousemove",function(b){var c=A[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));f.axes.forEach(function(b){var f=e(b.crosshair.snap,!0),k=f?a.find(p,function(a){return a.series[b.coll]===b}):void 0;k||!f?b.drawCrosshair(c,k):b.hideCrosshair()})},reset:function(a,b){var c=this.chart,f=c.hoverSeries,e=c.hoverPoint,
d=c.hoverPoints,l=c.tooltip,p=l&&l.shared?d:e;a&&p&&k(p).forEach(function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)l&&p&&k(p).length&&(l.refresh(p),l.shared&&d?d.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):e&&(e.setState(e.state,!0),c.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();d&&d.forEach(function(a){a.setState()});
if(f)f.onMouseOut();l&&l.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,f;c.series.forEach(function(e){f=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(f),e.markerGroup&&(e.markerGroup.attr(f),e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(f))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=
this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,f=a.chartX,e=a.chartY,k=this.zoomHor,d=this.zoomVert,p=b.plotLeft,z=b.plotTop,l=b.plotWidth,m=b.plotHeight,g,y=this.selectionMarker,n=this.mouseDownX,w=this.mouseDownY,t=c.panKey&&a[c.panKey+"Key"];y&&y.touch||(f<p?f=p:f>p+l&&(f=p+l),e<z?e=z:e>z+m&&(e=z+m),this.hasDragged=Math.sqrt(Math.pow(n-f,2)+Math.pow(w-e,2)),10<this.hasDragged&&
(g=b.isInsidePlot(n-p,w-z),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&g&&!t&&!y&&(this.selectionMarker=y=b.renderer.rect(p,z,k?1:l,d?1:m,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||y.attr({fill:c.selectionMarkerFill||h("#335cad").setOpacity(.25).get()})),y&&k&&(f-=n,y.attr({width:Math.abs(f),x:(0<f?0:f)+n})),y&&d&&(f=e-w,y.attr({height:Math.abs(f),y:(0<f?0:f)+w})),g&&!y&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,f=this.hasPinched;
if(this.selectionMarker){var e={originalEvent:a,xAxis:[],yAxis:[]},k=this.selectionMarker,l=k.attr?k.attr("x"):k.x,p=k.attr?k.attr("y"):k.y,z=k.attr?k.attr("width"):k.width,m=k.attr?k.attr("height"):k.height,h;if(this.hasDragged||f)c.axes.forEach(function(c){if(c.zoomEnabled&&u(c.min)&&(f||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var g=c.horiz,k="touchend"===a.type?c.minPixelPadding:0,d=c.toValue((g?l:p)+k),g=c.toValue((g?l+z:p+m)-k);e[c.coll].push({axis:c,min:Math.min(d,g),max:Math.max(d,g)});
h=!0}}),h&&w(c,"selection",e,function(a){c.zoom(x(a,f?{animation:!1}:null))});n(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());f&&this.scaleGroups()}c&&n(c.index)&&(d(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(c){A[a.hoverChartIndex]&&
A[a.hoverChartIndex].pointer.drop(c)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(c){var b=A[a.hoverChartIndex];b&&(c.relatedTarget||c.toElement)&&(b.pointer.reset(),b.pointer.chartPosition=null)},onContainerMouseMove:function(c){var b=this.chart;u(a.hoverChartIndex)&&A[a.hoverChartIndex]&&A[a.hoverChartIndex].mouseIsDown||
(a.hoverChartIndex=b.index);c=this.normalize(c);c.preventDefault||(c.returnValue=!1);"mousedown"===b.mouseIsDown&&this.drag(c);!this.inClass(c.target,"highcharts-tracker")&&!b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop)||b.openMenu||this.runPointActions(c)},inClass:function(a,b){for(var c;a;){if(c=C(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;
this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(w(c.series,"click",x(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(x(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-
f)&&w(b,"click",a)))},setDOMEvents:function(){var c=this,b=c.chart.container,e=b.ownerDocument;b.onmousedown=function(a){c.onContainerMouseDown(a)};b.onmousemove=function(a){c.onContainerMouseMove(a)};b.onclick=function(a){c.onContainerClick(a)};this.unbindContainerMouseLeave=B(b,"mouseleave",c.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=B(e,"mouseup",c.onDocumentMouseUp));a.hasTouch&&(b.ontouchstart=function(a){c.onContainerTouchStart(a)},b.ontouchmove=function(a){c.onContainerTouchMove(a)},
a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(e,"touchend",c.onDocumentTouchEnd)))},destroy:function(){var c=this;c.unDocMouseMove&&c.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(c.tooltipTimeout);a.objectEach(c,function(a,e){c[e]=null})}}})(G);(function(a){var B=a.charts,C=a.extend,A=a.noop,h=a.pick;
C(a.Pointer.prototype,{pinchTranslate:function(a,h,x,t,w,n){this.zoomHor&&this.pinchTranslateDirection(!0,a,h,x,t,w,n);this.zoomVert&&this.pinchTranslateDirection(!1,a,h,x,t,w,n)},pinchTranslateDirection:function(a,h,x,t,w,n,l,m){var e=this.chart,k=a?"x":"y",c=a?"X":"Y",f="chart"+c,b=a?"width":"height",d=e["plot"+(a?"Left":"Top")],r,v,D=m||1,E=e.inverted,p=e.bounds[a?"h":"v"],z=1===h.length,F=h[0][f],H=x[0][f],g=!z&&h[1][f],y=!z&&x[1][f],u;x=function(){!z&&20<Math.abs(F-g)&&(D=m||Math.abs(H-y)/Math.abs(F-
g));v=(d-H)/D+F;r=e["plot"+(a?"Width":"Height")]/D};x();h=v;h<p.min?(h=p.min,u=!0):h+r>p.max&&(h=p.max-r,u=!0);u?(H-=.8*(H-l[k][0]),z||(y-=.8*(y-l[k][1])),x()):l[k]=[H,y];E||(n[k]=v-d,n[b]=r);n=E?1/D:D;w[b]=r;w[k]=h;t[E?a?"scaleY":"scaleX":"scale"+c]=D;t["translate"+c]=n*d+(H-n*F)},pinch:function(a){var d=this,x=d.chart,t=d.pinchDown,w=a.touches,n=w.length,l=d.lastValidTouch,m=d.hasZoom,e=d.selectionMarker,k={},c=1===n&&(d.inClass(a.target,"highcharts-tracker")&&x.runTrackerClick||d.runChartClick),
f={};1<n&&(d.initiated=!0);m&&d.initiated&&!c&&a.preventDefault();[].map.call(w,function(a){return d.normalize(a)});"touchstart"===a.type?([].forEach.call(w,function(a,c){t[c]={chartX:a.chartX,chartY:a.chartY}}),l.x=[t[0].chartX,t[1]&&t[1].chartX],l.y=[t[0].chartY,t[1]&&t[1].chartY],x.axes.forEach(function(a){if(a.zoomEnabled){var b=x.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(h(a.options.min,a.dataMin)),f=a.toPixels(h(a.options.max,a.dataMax)),k=Math.max(e,f);b.min=Math.min(a.pos,Math.min(e,
f)-c);b.max=Math.max(a.pos+a.len,k+c)}}),d.res=!0):d.followTouchMove&&1===n?this.runPointActions(d.normalize(a)):t.length&&(e||(d.selectionMarker=e=C({destroy:A,touch:!0},x.plotBox)),d.pinchTranslate(t,w,k,e,f,l),d.hasPinched=m,d.scaleGroups(k,f),d.res&&(d.res=!1,this.reset(!1,0)))},touch:function(d,u){var x=this.chart,t,w;if(x.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=x.index;1===d.touches.length?(d=this.normalize(d),(w=x.isInsidePlot(d.chartX-x.plotLeft,
d.chartY-x.plotTop))&&!x.openMenu?(u&&this.runPointActions(d),"touchmove"===d.type&&(u=this.pinchDown,t=u[0]?4<=Math.sqrt(Math.pow(u[0].chartX-d.chartX,2)+Math.pow(u[0].chartY-d.chartY,2)):!1),h(t,!0)&&this.pinch(d)):u&&this.reset()):2===d.touches.length&&this.pinch(d)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(d)}})})(G);(function(a){var B=
a.addEvent,C=a.charts,A=a.css,h=a.doc,d=a.extend,u=a.noop,x=a.Pointer,t=a.removeEvent,w=a.win,n=a.wrap;if(!a.hasTouch&&(w.PointerEvent||w.MSPointerEvent)){var l={},m=!!w.PointerEvent,e=function(){var c=[];c.item=function(a){return this[a]};a.objectEach(l,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c},k=function(c,f,b,k){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!C[a.hoverChartIndex]||(k(c),k=C[a.hoverChartIndex].pointer,k[f]({type:b,target:c.currentTarget,
preventDefault:u,touches:e()}))};d(x.prototype,{onContainerPointerDown:function(a){k(a,"onContainerTouchStart","touchstart",function(a){l[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){k(a,"onContainerTouchMove","touchmove",function(a){l[a.pointerId]={pageX:a.pageX,pageY:a.pageY};l[a.pointerId].target||(l[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){k(a,"onDocumentTouchEnd","touchend",function(a){delete l[a.pointerId]})},
batchMSEvents:function(a){a(this.chart.container,m?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,m?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(h,m?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});n(x.prototype,"init",function(a,e,b){a.call(this,e,b);this.hasZoom&&A(e.container,{"-ms-touch-action":"none","touch-action":"none"})});n(x.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});
n(x.prototype,"destroy",function(a){this.batchMSEvents(t);a.call(this)})}})(G);(function(a){var B=a.addEvent,C=a.css,A=a.discardElement,h=a.defined,d=a.fireEvent,u=a.isFirefox,x=a.marginNames,t=a.merge,w=a.pick,n=a.setAnimation,l=a.stableSort,m=a.win,e=a.wrap;a.Legend=function(a,c){this.init(a,c)};a.Legend.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=
B(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var c=w(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=t(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=c;this.initialItemY=c-5;this.symbolWidth=w(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,
c){var e=this.chart;this.setOptions(t(!0,this.options,a));this.destroy();e.isDirtyLegend=e.isDirtyBox=!0;w(c,!0)&&e.redraw();d(this,"afterUpdate")},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var e=this.options,b=a.legendItem,k=a.legendLine,r=a.legendSymbol,l=this.itemHiddenStyle.color,e=c?e.itemStyle.color:l,m=c?a.color||l:l,h=a.options&&a.options.marker,p={fill:m};b&&b.css({fill:e,color:e});k&&k.attr({stroke:m});
r&&(h&&r.isMarker&&(p=a.pointAttribs(),c||(p.stroke=p.fill=l)),r.attr(p))}d(this,"afterColorizeItem",{item:a,visible:c})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var c=this.options,e=c.symbolPadding,c=!c.rtl,b=a._legendItemPos,k=b[0],b=b[1],d=a.checkbox;if((a=a.legendGroup)&&a.element)a[h(a.translateY)?"animate":"attr"]({translateX:c?k:this.legendWidth-k-2*e-4,translateY:b});d&&(d.x=k,d.y=b)},
destroyItem:function(a){var c=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(c){a[c]&&(a[c]=a[c].destroy())});c&&A(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(c){["legendItem","legendGroup"].forEach(a,c)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,c,e=this.clipHeight||this.legendHeight,
b=this.titleHeight;a&&(c=a.translateY,this.allItems.forEach(function(f){var k=f.checkbox,d;k&&(d=c+b+k.y+(this.scrollOffset||0)+3,C(k,{left:a.translateX+f.checkboxOffset+k.x-20+"px",top:d+"px",display:this.proximate||d>c-6&&d<c+e-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,c=this.padding,e=a.title,b=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,c-3,c-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(e.style),
this.title.add(this.group)),e.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),b=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:b}));this.titleHeight=b},setText:function(e){var c=this.options;e.legendItem.attr({text:c.labelFormat?a.format(c.labelFormat,e,this.chart.time):c.labelFormatter.call(e)})},renderItem:function(a){var c=this.chart,e=c.renderer,b=this.options,d=this.symbolWidth,k=b.symbolPadding,l=this.itemStyle,m=this.itemHiddenStyle,h="horizontal"===
b.layout?w(b.itemDistance,20):0,p=!b.rtl,z=a.legendItem,F=!a.series,n=!F&&a.series.drawLegendSymbol?a.series:a,g=n.options,g=this.createCheckboxForItem&&g&&g.showCheckbox,h=d+k+h+(g?20:0),y=b.useHTML,u=a.options.className;z||(a.legendGroup=e.g("legend-item").addClass("highcharts-"+n.type+"-series highcharts-color-"+a.colorIndex+(u?" "+u:"")+(F?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=z=e.text("",p?d+k:-k,this.baseline||0,y),c.styledMode||z.css(t(a.visible?
l:m)),z.attr({align:p?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=e.fontMetrics(c.styledMode?12:l.fontSize,z),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,z.attr("y",this.baseline)),this.symbolHeight=b.symbolHeight||this.fontMetrics.f,n.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,z,y),g&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);!c.styledMode&&l.width||z.css({width:(b.itemWidth||this.widthOption||c.spacingBox.width)-
h});this.setText(a);c=z.getBBox();a.itemWidth=a.checkboxOffset=b.itemWidth||a.legendItemWidth||c.width+h;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||c.height||this.symbolHeight)},layoutItem:function(a){var c=this.options,e=this.padding,b="horizontal"===c.layout,d=a.itemHeight,k=c.itemMarginBottom||0,l=this.itemMarginTop,m=b?w(c.itemDistance,20):0,h=this.maxLegendWidth,c=c.alignColumns&&this.totalItemWidth>
h?this.maxItemWidth:a.itemWidth;b&&this.itemX-e+c>h&&(this.itemX=e,this.itemY+=l+this.lastLineHeight+k,this.lastLineHeight=0);this.lastItemY=l+this.itemY+k;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];b?this.itemX+=c:(this.itemY+=l+d+k,this.lastLineHeight=d);this.offsetWidth=this.widthOption||Math.max((b?this.itemX-e-(a.checkbox?0:m):c)+e,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(c){var e=c&&c.options;c&&w(e.showInLegend,
h(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===e.legendType?c.data:c)))});d(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,c){var e=this.chart,b=this.options,d=this.getAlignment(),k=void 0!==e.options.title.margin?e.titleOffset+e.options.title.margin:0;d&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,
/(lbv|lm|ltv)/].forEach(function(f,l){f.test(d)&&!h(a[l])&&(e[x[l]]=Math.max(e[x[l]],e.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*b[l%2?"x":"y"]+w(b.margin,12)+c[l]+(0===l&&(0===e.titleOffset?0:k))))})},proximatePositions:function(){var e=this.chart,c=[],f="left"===this.options.align;this.allItems.forEach(function(b){var d,k;d=f;b.xAxis&&b.points&&(b.xAxis.options.reversed&&(d=!d),d=a.find(d?b.points:b.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),k=b.legendGroup.getBBox().height,
c.push({target:b.visible?(d?d.plotY:b.xAxis.height)-.3*k:e.plotHeight,size:k,item:b}))},this);a.distribute(c,e.plotHeight);c.forEach(function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var e=this.chart,c=e.renderer,f=this.group,b,q,r,m=this.box,h=this.options,n=this.padding;this.itemX=n;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(h.width,e.spacingBox.width-n);b=e.spacingBox.width-2*n-h.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,
2))&&(b/=2);this.maxLegendWidth=this.widthOption||b;f||(this.group=f=c.g("legend").attr({zIndex:7}).add(),this.contentGroup=c.g().attr({zIndex:1}).add(f),this.scrollGroup=c.g().add(this.contentGroup));this.renderTitle();b=this.getAllItems();l(b,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});h.reversed&&b.reverse();this.allItems=b;this.display=q=!!b.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;b.forEach(this.renderItem,
this);b.forEach(this.layoutItem,this);b=(this.widthOption||this.offsetWidth)+n;r=this.lastItemY+this.lastLineHeight+this.titleHeight;r=this.handleOverflow(r);r+=n;m||(this.box=m=c.rect().addClass("highcharts-legend-box").attr({r:h.borderRadius}).add(f),m.isNew=!0);e.styledMode||m.attr({stroke:h.borderColor,"stroke-width":h.borderWidth||0,fill:h.backgroundColor||"none"}).shadow(h.shadow);0<b&&0<r&&(m[m.isNew?"attr":"animate"](m.crisp.call({},{x:0,y:0,width:b,height:r},m.strokeWidth())),m.isNew=!1);
m[q?"show":"hide"]();e.styledMode&&"none"===f.getStyle("display")&&(b=r=0);this.legendWidth=b;this.legendHeight=r;q&&(c=e.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(m=c.y+e.titleOffset,c=t(c,{y:0<e.titleOffset?m+=e.options.title.margin:m})),f.align(t(h,{width:b,height:r,verticalAlign:this.proximate?"top":h.verticalAlign}),!0,c));this.proximate||this.positionItems();d(this,"afterRender")},handleOverflow:function(a){var c=this,e=this.chart,b=e.renderer,d=this.options,k=d.y,l=this.padding,
k=e.spacingBox.height+("top"===d.verticalAlign?-k:k)-l,m=d.maxHeight,h,p=this.clipRect,z=d.navigation,F=w(z.animation,!0),n=z.arrowSize||12,g=this.nav,y=this.pages,t,u=this.allItems,x=function(a){"number"===typeof a?p.attr({height:a}):p&&(c.clipRect=p.destroy(),c.contentGroup.clip());c.contentGroup.div&&(c.contentGroup.div.style.clip=a?"rect("+l+"px,9999px,"+(l+a)+"px,0)":"auto")};"horizontal"!==d.layout||"middle"===d.verticalAlign||d.floating||(k/=2);m&&(k=Math.min(k,m));y.length=0;a>k&&!1!==z.enabled?
(this.clipHeight=h=Math.max(k-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=a,u.forEach(function(a,b){var c=a._legendItemPos[1],e=Math.round(a.legendItem.getBBox().height),g=y.length;if(!g||c-y[g-1]>h&&(t||c)!==y[g-1])y.push(t||c),g++;a.pageIx=g-1;t&&(u[b-1].pageIx=g-1);b===u.length-1&&c+e-y[g-1]>h&&c!==t&&(y.push(c),a.pageIx=g);c!==t&&(t=c)}),p||(p=c.clipRect=b.clipRect(0,l,9999,0),c.contentGroup.clip(p)),x(h),g||(this.nav=g=b.g().attr({zIndex:1}).add(this.group),
this.up=b.symbol("triangle",0,0,n,n).on("click",function(){c.scroll(-1,F)}).add(g),this.pager=b.text("",15,10).addClass("highcharts-legend-navigation"),e.styledMode||this.pager.css(z.style),this.pager.add(g),this.down=b.symbol("triangle-down",0,0,n,n).on("click",function(){c.scroll(1,F)}).add(g)),c.scroll(0),a=k):g&&(x(),this.nav=g.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var e=this.pages,b=e.length;a=this.currentPage+a;var d=this.clipHeight,
k=this.options.navigation,l=this.pager,m=this.padding;a>b&&(a=b);0<a&&(void 0!==c&&n(c,this.chart),this.nav.attr({translateX:m,translateY:d+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),l.attr({text:a+"/"+b}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===b?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.chart.styledMode||(this.up.attr({fill:1===a?k.inactiveColor:
k.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===b?k.inactiveColor:k.activeColor}).css({cursor:a===b?"default":"pointer"})),this.scrollOffset=-e[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,c){var e=a.symbolHeight,b=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(b?(a.symbolWidth-e)/2:0,a.baseline-e+1,b?e:a.symbolWidth,e,w(a.options.symbolRadius,
e/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},drawLineMarker:function(a){var c=this.options,e=c.marker,b=a.symbolWidth,d=a.symbolHeight,k=d/2,l=this.chart.renderer,m=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var h={};this.chart.styledMode||(h={"stroke-width":c.lineWidth||0},c.dashStyle&&(h.dashstyle=c.dashStyle));this.legendLine=l.path(["M",0,a,"L",b,a]).addClass("highcharts-graph").attr(h).add(m);e&&!1!==e.enabled&&b&&(c=Math.min(w(e.radius,k),k),0===
this.symbol.indexOf("url")&&(e=t(e,{width:d,height:d}),c=0),this.legendSymbol=e=l.symbol(this.symbol,b/2-c,a-c,2*c,2*c,e).addClass("highcharts-point").add(m),e.isMarker=!0)}};(/Trident\/7\.0/.test(m.navigator&&m.navigator.userAgent)||u)&&e(a.Legend.prototype,"positionItem",function(a,c){var e=this,b=function(){c._legendItemPos&&a.call(e,c)};b();e.bubbleLegend||setTimeout(b)})})(G);(function(a){var B=a.addEvent,C=a.animate,A=a.animObject,h=a.attr,d=a.doc,u=a.Axis,x=a.createElement,t=a.defaultOptions,
w=a.discardElement,n=a.charts,l=a.css,m=a.defined,e=a.extend,k=a.find,c=a.fireEvent,f=a.isNumber,b=a.isObject,q=a.isString,r=a.Legend,v=a.marginNames,D=a.merge,E=a.objectEach,p=a.Pointer,z=a.pick,F=a.pInt,H=a.removeEvent,g=a.seriesTypes,y=a.splat,L=a.syncTimeout,J=a.win,S=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new S(a,b,c)};e(S.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(q(a[0])||a[0].nodeName)this.renderTo=a.shift();
this.init(a[0],a[1])},init:function(b,e){var g,d,f=b.series,k=b.plotOptions||{};c(this,"init",{args:arguments},function(){b.series=null;g=D(t,b);for(d in g.plotOptions)g.plotOptions[d].tooltip=k[d]&&D(k[d].tooltip)||void 0;g.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;g.series=b.series=f;this.userOptions=b;var p=g.chart,l=p.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=e;this.isResizing=0;this.options=g;this.axes=
[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new a.Time(b.time):a.time;this.styledMode=p.styledMode;this.hasCartesianSeries=p.showAxes;var m=this;m.index=n.length;n.push(m);a.chartCount++;l&&E(l,function(a,b){B(m,b,a)});m.xAxis=[];m.yAxis=[];m.pointCount=m.colorCounter=m.symbolCounter=0;c(m,"afterInit");m.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=g[b.type||c.type||c.defaultSeriesType])||a.error(17,!0,this);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=
this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var e=c?b:a;a=c?a:b;return 0<=e&&e<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){c(this,"beforeRedraw");var g=this.axes,d=this.series,f=this.pointer,k=this.legend,p=this.userOptions.legend,l=this.isDirtyLegend,m,z,h=this.hasCartesianSeries,q=this.isDirtyBox,r,y=this.renderer,v=y.isHidden(),F=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);v&&this.temporaryDisplay();
this.layOutTitles();for(b=d.length;b--;)if(r=d[b],r.options.stacking&&(m=!0,r.isDirty)){z=!0;break}if(z)for(b=d.length;b--;)r=d[b],r.options.stacking&&(r.isDirty=!0);d.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),l=!0):p&&(p.labelFormatter||p.labelFormat)&&(l=!0));a.isDirtyData&&c(a,"updatedData")});l&&k&&k.options.enabled&&(k.render(),this.isDirtyLegend=!1);m&&this.getStacks();h&&g.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();
h&&(g.forEach(function(a){a.isDirty&&(q=!0)}),g.forEach(function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,F.push(function(){c(a,"afterSetExtremes",e(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(q||m)&&a.redraw()}));q&&this.drawChartBox();c(this,"predraw");d.forEach(function(a){(q||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});f&&f.reset(!0);y.draw();c(this,"redraw");c(this,"render");v&&this.temporaryDisplay(!0);F.forEach(function(a){a.call()})},get:function(a){function b(b){return b.id===
a||b.options&&b.options.id===a}var c,e=this.series,g;c=k(this.axes,b)||k(this.series,b);for(g=0;!c&&g<e.length;g++)c=k(e[g].points||[],b);return c},getAxes:function(){var a=this,b=this.options,e=b.xAxis=y(b.xAxis||{}),b=b.yAxis=y(b.yAxis||{});c(this,"getAxes");e.forEach(function(a,b){a.index=b;a.isX=!0});b.forEach(function(a,b){a.index=b});e.concat(b).forEach(function(b){new u(a,b)});c(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(b){a=a.concat((b[b.hasGroupedData?
"points":"data"]||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,b,c){var e=this,g=e.options,d=e.styledMode,f;f=g.title=D(!d&&{style:{color:"#333333",fontSize:g.isStock?"16px":"18px"}},g.title,a);g=g.subtitle=D(!d&&{style:{color:"#666666"}},g.subtitle,b);[["title",a,f],["subtitle",b,g]].forEach(function(a,b){var c=a[0],g=e[c],f=a[1];a=a[2];g&&f&&(e[c]=g=g.destroy());a&&!g&&(e[c]=e.renderer.text(a.text,
0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&&a,b&&a)},d||e[c].css(a.style))});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,g=this.renderer,d=this.spacingBox;["title","subtitle"].forEach(function(a){var c=this[a],f=this.options[a];a="title"===a?-3:f.verticalAlign?0:b+2;var k;c&&(this.styledMode||(k=f.style.fontSize),k=g.fontMetrics(k,c).b,c.css({width:(f.width||d.width+f.widthAdjust)+"px"}).align(e({y:a+k},f),
!1,"spacingBox"),f.floating||f.verticalAlign||(b=Math.ceil(b+c.getBBox(f.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&z(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,e=this.renderTo;m(c)||(this.containerWidth=a.getStyle(e,"width"));m(b)||(this.containerHeight=a.getStyle(e,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);
this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(d.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){d.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,d.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,
height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===d.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,g=this.options,k=g.chart,p,m;b=this.renderTo;var z=a.uniqueKey(),r,y;b||(this.renderTo=b=k.renderTo);q(b)&&(this.renderTo=b=d.getElementById(b));b||a.error(13,
!0,this);p=F(h(b,"data-highcharts-chart"));f(p)&&n[p]&&n[p].hasRendered&&n[p].destroy();h(b,"data-highcharts-chart",this.index);b.innerHTML="";k.skipClone||b.offsetWidth||this.temporaryDisplay();this.getChartSize();p=this.chartWidth;m=this.chartHeight;l(b,{overflow:"hidden"});this.styledMode||(r=e({position:"relative",overflow:"hidden",width:p+"px",height:m+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},k.style));this.container=b=x("div",{id:z},r,
b);this._cursor=b.style.cursor;this.renderer=new (a[k.renderer]||a.Renderer)(b,p,m,null,k.forExport,g.exporting&&g.exporting.allowHTML,this.styledMode);this.setClassName(k.className);if(this.styledMode)for(y in g.defs)this.renderer.definition(g.defs[y]);else this.renderer.setStyle(k.style);this.renderer.chartIndex=this.index;c(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,e=this.margin,g=this.titleOffset;this.resetMargins();g&&!m(e[0])&&(this.plotTop=Math.max(this.plotTop,g+
this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(e,b);c(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});v.forEach(function(e,g){m(c[g])||(a[e]+=b[g])});a.setChartSize()},reflow:function(b){var c=this,e=c.options.chart,g=c.renderTo,f=m(e.width)&&m(e.height),k=e.width||a.getStyle(g,"width"),e=e.height||a.getStyle(g,
"height"),g=b?b.target:J;if(!f&&!c.isPrinting&&k&&e&&(g===J||g===d)){if(k!==c.containerWidth||e!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=L(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=k;c.containerHeight=e}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(J,"resize",function(a){b.reflow(a)}),B(this,"destroy",this.unbindReflow))},setSize:function(b,
e,g){var d=this,f=d.renderer,k;d.isResizing+=1;a.setAnimation(g,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;void 0!==b&&(d.options.chart.width=b);void 0!==e&&(d.options.chart.height=e);d.getChartSize();d.styledMode||(k=f.globalAnimation,(k?C:l)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+"px"},k));d.setChartSize(!0);f.setSize(d.chartWidth,d.chartHeight,g);d.axes.forEach(function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();
d.redraw(g);d.oldChartHeight=null;c(d,"resize");L(function(){d&&c(d,"endResize",null,function(){--d.isResizing})},A(k).duration)},setChartSize:function(a){var b=this.inverted,e=this.renderer,g=this.chartWidth,d=this.chartHeight,f=this.options.chart,k=this.spacing,p=this.clipOffset,l,m,z,h;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=m=Math.round(this.plotTop);this.plotWidth=z=Math.max(0,Math.round(g-l-this.marginRight));this.plotHeight=h=Math.max(0,Math.round(d-m-this.marginBottom));this.plotSizeX=
b?h:z;this.plotSizeY=b?z:h;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:k[3],y:k[0],width:g-k[3]-k[1],height:d-k[0]-k[2]};this.plotBox=e.plotBox={x:l,y:m,width:z,height:h};g=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(g,p[3])/2);e=Math.ceil(Math.max(g,p[0])/2);this.clipBox={x:b,y:e,width:Math.floor(this.plotSizeX-Math.max(g,p[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(g,p[2])/2-e))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});
c(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){c(this,"resetMargins");var a=this,e=a.options.chart;["margin","spacing"].forEach(function(c){var g=e[c],d=b(g)?g:[g,g,g,g];["Top","Right","Bottom","Left"].forEach(function(b,g){a[c][g]=z(e[c+b],d[g])})});v.forEach(function(b,c){a[b]=z(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,e=this.chartWidth,g=this.chartHeight,d=this.chartBackground,
f=this.plotBackground,k=this.plotBorder,p,l=this.styledMode,m=this.plotBGImage,z=a.backgroundColor,h=a.plotBackgroundColor,q=a.plotBackgroundImage,r,y=this.plotLeft,v=this.plotTop,F=this.plotWidth,n=this.plotHeight,w=this.plotBox,t=this.clipRect,E=this.clipBox,H="animate";d||(this.chartBackground=d=b.rect().addClass("highcharts-background").add(),H="attr");if(l)p=r=d.strokeWidth();else{p=a.borderWidth||0;r=p+(a.shadow?8:0);z={fill:z||"none"};if(p||d["stroke-width"])z.stroke=a.borderColor,z["stroke-width"]=
p;d.attr(z).shadow(a.shadow)}d[H]({x:r/2,y:r/2,width:e-r-p%2,height:g-r-p%2,r:a.borderRadius});H="animate";f||(H="attr",this.plotBackground=f=b.rect().addClass("highcharts-plot-background").add());f[H](w);l||(f.attr({fill:h||"none"}).shadow(a.plotShadow),q&&(m?m.animate(w):this.plotBGImage=b.image(q,y,v,F,n).add()));t?t.animate({width:E.width,height:E.height}):this.clipRect=b.clipRect(E);H="animate";k||(H="attr",this.plotBorder=k=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
l||k.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});k[H](k.crisp({x:y,y:v,width:F,height:n},-k.strokeWidth()));this.isDirtyBox=!1;c(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,d,f;["inverted","angular","polar"].forEach(function(k){c=g[b.type||b.defaultSeriesType];f=b[k]||c&&c.prototype[k];for(d=e&&e.length;!f&&d--;)(c=g[e[d].type])&&c.prototype[k]&&(f=!0);a[k]=f})},linkSeries:function(){var a=this,b=a.series;
b.forEach(function(a){a.linkedSeries.length=0});b.forEach(function(b){var c=b.options.linkedTo;q(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=z(b.options.visible,c.options.visible,b.visible))});c(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(c){var g=e(b.style,c.style),
d=F(g.left)+a.plotLeft,f=F(g.top)+a.plotTop+12;delete g.left;delete g.top;a.renderer.text(c.html,d,f).attr({zIndex:2}).css(g).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,e=0,g,d,f;this.setTitle();this.legend=new r(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return e=21,!0});g=this.plotHeight=Math.max(this.plotHeight-e,0);a.forEach(function(a){a.setScale()});
this.getAxisMargins();d=1.1<c/this.plotWidth;f=1.05<g/this.plotHeight;if(d||f)a.forEach(function(a){(a.horiz&&d||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=D(!0,
this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(J.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),b.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,e=b.axes,g=b.series,d=b.container,f,k=d&&d.parentNode;c(b,"destroy");
b.renderer.forExport?a.erase(n,b):n[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");H(b);for(f=e.length;f--;)e[f]=e[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=g.length;f--;)g[f]=g[f].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});
d&&(d.innerHTML="",H(d),k&&w(d));E(b,function(a,c){delete b[c]})},firstRender:function(){var b=this,e=b.options;if(!b.isReadyToRender||b.isReadyToRender()){b.getContainer();b.resetMargins();b.setChartSize();b.propFromSeries();b.getAxes();(a.isArray(e.series)?e.series:[]).forEach(function(a){b.initSeries(a)});b.linkSeries();c(b,"beforeRender");p&&(b.pointer=new p(b,e));b.render();if(!b.renderer.imgCount&&b.onload)b.onload();b.temporaryDisplay(!0)}},onload:function(){[this.callback].concat(this.callbacks).forEach(function(a){a&&
void 0!==this.index&&a.apply(this,[this])},this);c(this,"load");c(this,"render");m(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(G);(function(a){var B,C=a.extend,A=a.erase,h=a.fireEvent,d=a.format,u=a.isArray,x=a.isNumber,t=a.pick,w=a.uniqueKey,n=a.defined,l=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,e,d){var c;c=a.chart.options.chart.colorCount;var f=a.chart.styledMode;this.series=a;f||(this.color=a.color);this.applyOptions(e,d);this.id=
n(this.id)?this.id:w();a.options.colorByPoint?(f||(c=a.options.colors||a.chart.options.colors,this.color=this.color||c[a.colorCounter],c=c.length),e=a.colorCounter,a.colorCounter++,a.colorCounter===c&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=t(this.colorIndex,e);a.chart.pointCount++;h(this,"afterInit");return this},applyOptions:function(a,e){var d=this.series,c=d.options.pointValKey||d.pointValKey;a=B.prototype.optionsToObject.call(this,a);C(this,a);this.options=this.options?C(this.options,
a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;c&&(this.y=this[c]);this.isNull=t(this.isValid&&!this.isValid(),null===this.x||!x(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===e&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));void 0===this.x&&d&&(this.x=void 0===e?d.autoIncrement(this):e);return this},setNestedProperty:function(d,e,k){k.split(".").reduce(function(c,d,b,k){c[d]=k.length-1===b?e:a.isObject(c[d],!0)?c[d]:{};return c[d]},d);return d},
optionsToObject:function(d){var e={},k=this.series,c=k.options.keys,f=c||k.pointArrayMap||["y"],b=f.length,l=0,h=0;if(x(d)||null===d)e[f[0]]=d;else if(u(d))for(!c&&d.length>b&&(k=typeof d[0],"string"===k?e.name=d[0]:"number"===k&&(e.x=d[0]),l++);h<b;)c&&void 0===d[l]||(0<f[h].indexOf(".")?a.Point.prototype.setNestedProperty(e,d[l],f[h]):e[f[h]]=d[l]),l++,h++;else"object"===typeof d&&(e=d,d.dataLabels&&(k._hasPointLabels=!0),d.marker&&(k._hasPointMarkers=!0));return e},getClassName:function(){return"highcharts-point"+
(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,e=a.zones,a=a.zoneAxis||"y",d=0,c;for(c=e[d];this[a]>=c.value;)c=e[++d];this.nonZonedColor||(this.nonZonedColor=this.color);
this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;return c},destroy:function(){var a=this.series.chart,e=a.hoverPoints,d;a.pointCount--;e&&(this.setState(),A(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)l(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(d in this)this[d]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],
e,d=6;d--;)e=a[d],this[e]&&(this[e]=this[e].destroy());this.dataLabels&&(this.dataLabels.forEach(function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(this.connectors.forEach(function(a){a.element&&a.destroy()}),delete this.connectors)},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=
this.series,k=e.tooltipOptions,c=t(k.valueDecimals,""),f=k.valuePrefix||"",b=k.valueSuffix||"";e.chart.styledMode&&(a=e.chart.tooltip.styledModeFormat(a));(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e;if(f||b)a=a.replace(RegExp(e+"}","g"),f+e+"}"+b);a=a.replace(RegExp(e+"}","g"),e+":,."+c+"f}")});return d(a,{point:this,series:this.series},e.chart.time)},firePointEvent:function(a,e,d){var c=this,f=this.series.options;(f.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&
this.importEvents();"click"===a&&f.allowPointSelect&&(d=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});h(this,a,e,d)},visible:!0}})(G);(function(a){var B=a.addEvent,C=a.animObject,A=a.arrayMax,h=a.arrayMin,d=a.correctFloat,u=a.defaultOptions,x=a.defaultPlotOptions,t=a.defined,w=a.erase,n=a.extend,l=a.fireEvent,m=a.isArray,e=a.isNumber,k=a.isString,c=a.merge,f=a.objectEach,b=a.pick,q=a.removeEvent,r=a.splat,v=a.SVGElement,D=a.syncTimeout,E=a.win;a.Series=a.seriesType("line",
null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",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",textOutline:"1px contrast"},
verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(a,c){l(this,"init",
{options:c});var e=this,d,g=a.series,k;e.chart=a;e.options=c=e.setOptions(c);e.linkedSeries=[];e.bindAxes();n(e,{name:c.name,state:"",visible:!1!==c.visible,selected:!0===c.selected});d=c.events;f(d,function(a,b){e.hcEvents&&e.hcEvents[b]&&-1!==e.hcEvents[b].indexOf(a)||B(e,b,a)});if(d&&d.click||c.point&&c.point.events&&c.point.events.click||c.allowPointSelect)a.runTrackerClick=!0;e.getColor();e.getSymbol();e.parallelArrays.forEach(function(a){e[a+"Data"]=[]});e.setData(c.data,!1);e.isCartesian&&
(a.hasCartesianSeries=!0);g.length&&(k=g[g.length-1]);e._i=b(k&&k._i,-1)+1;a.orderSeries(this.insert(g));l(this,"afterInit")},insert:function(a){var c=this.options.index,d;if(e(c)){for(d=a.length;d--;)if(c>=b(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return b(d,a.length-1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,d;l(this,"bindAxes",null,function(){(b.axisTypes||[]).forEach(function(g){e[g].forEach(function(a){d=a.options;if(c[g]===
d.index||void 0!==c[g]&&c[g]===d.id||void 0===c[g]&&0===d.index)b.insert(a.series),b[g]=a,a.isDirty=!0});b[g]||b.optionalAxis===g||a.error(18,!0,e)})})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,g=e(b)?function(e){var g="y"===e&&c.toYData?c.toYData(a):a[e];c[e+"Data"][b]=g}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(g)},autoIncrement:function(){var a=this.options,c=this.xIncrement,e,d=a.pointIntervalUnit,g=this.chart.time,
c=b(c,a.pointStart,0);this.pointInterval=e=b(this.pointInterval,a.pointInterval,1);d&&(a=new g.Date(c),"day"===d?g.set("Date",a,g.get("Date",a)+e):"month"===d?g.set("Month",a,g.get("Month",a)+e):"year"===d&&g.set("FullYear",a,g.get("FullYear",a)+e),e=a.getTime()-c);this.xIncrement=c+e;return c},setOptions:function(a){var e=this.chart,d=e.options,f=d.plotOptions,g=(e.userOptions||{}).plotOptions||{},k=f[this.type],p=c(a);a=e.styledMode;l(this,"setOptions",{userOptions:p});this.userOptions=p;e=c(k,
f.series,p);this.tooltipOptions=c(u.tooltip,u.plotOptions.series&&u.plotOptions.series.tooltip,u.plotOptions[this.type].tooltip,d.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,p.tooltip);this.stickyTracking=b(p.stickyTracking,g[this.type]&&g[this.type].stickyTracking,g.series&&g.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:e.stickyTracking);null===k.marker&&delete e.marker;this.zoneAxis=e.zoneAxis;d=this.zones=(e.zones||[]).slice();!e.negativeColor&&
!e.negativeFillColor||e.zones||(f={value:e[this.zoneAxis+"Threshold"]||e.threshold||0,className:"highcharts-negative"},a||(f.color=e.negativeColor,f.fillColor=e.negativeFillColor),d.push(f));d.length&&t(d[d.length-1].value)&&d.push(a?{}:{color:this.color,fillColor:this.fillColor});l(this,"afterSetOptions",{options:e});return e},getName:function(){return b(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,c,e){var d,g=this.chart,f=this.userOptions,k=a+"Index",p=a+"Counter",l=e?e.length:
b(g.options.chart[a+"Count"],g[a+"Count"]);c||(d=b(f[k],f["_"+k]),t(d)||(g.series.length||(g[p]=0),f["_"+k]=d=g[p]%l,g[p]+=1),e&&(c=e[d]));void 0!==d&&(this[k]=d);this[a]=c},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||x[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,
updateData:function(b){var c=this.options,d=this.points,f=[],g,k,p,l=this.requireSorting;this.xIncrement=null;b.forEach(function(b){var k,h,r;k=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};r=k.x;if((k=k.id)||e(r))k&&(h=(h=this.chart.get(k))&&h.index),void 0===h&&e(r)&&(h=this.xData.indexOf(r,p)),-1!==h&&void 0!==h&&this.cropped&&(h=h>=this.cropStart?h-this.cropStart:h),-1===h||void 0===h||d[h]&&d[h].touched?f.push(b):b!==c.data[h]?(d[h].update(b,!1,null,!1),d[h].touched=
!0,l&&(p=h+1)):d[h]&&(d[h].touched=!0),g=!0},this);if(g)for(b=d.length;b--;)k=d[b],k.touched||k.remove(!1),k.touched=!1;else if(b.length===d.length)b.forEach(function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;f.forEach(function(a){this.addPoint(a,!1)},this);return!0},setData:function(c,d,f,l){var g=this,p=g.points,h=p&&p.length||0,r,q=g.options,z=g.chart,v=null,n=g.xAxis,F=q.turboThreshold,w=this.xData,t=this.yData,E=(r=g.pointArrayMap)&&r.length,D=q.keys,H=0,u=1,
x;c=c||[];r=c.length;d=b(d,!0);!1!==l&&r&&h&&!g.cropped&&!g.hasGroupedData&&g.visible&&!g.isSeriesBoosting&&(x=this.updateData(c));if(!x){g.xIncrement=null;g.colorCounter=0;this.parallelArrays.forEach(function(a){g[a+"Data"].length=0});if(F&&r>F){for(f=0;null===v&&f<r;)v=c[f],f++;if(e(v))for(f=0;f<r;f++)w[f]=this.autoIncrement(),t[f]=c[f];else if(m(v))if(E)for(f=0;f<r;f++)v=c[f],w[f]=v[0],t[f]=v.slice(1,E+1);else for(D&&(H=D.indexOf("x"),u=D.indexOf("y"),H=0<=H?H:0,u=0<=u?u:1),f=0;f<r;f++)v=c[f],
w[f]=v[H],t[f]=v[u];else a.error(12,!1,z)}else for(f=0;f<r;f++)void 0!==c[f]&&(v={series:g},g.pointClass.prototype.applyOptions.apply(v,[c[f]]),g.updateParallelArrays(v,f));t&&k(t[0])&&a.error(14,!0,z);g.data=[];g.options.data=g.userOptions.data=c;for(f=h;f--;)p[f]&&p[f].destroy&&p[f].destroy();n&&(n.minRange=n.userMinRange);g.isDirty=z.isDirtyBox=!0;g.isDirtyData=!!p;f=!1}"point"===q.legendType&&(this.processData(),this.generatePoints());d&&z.redraw(f)},processData:function(b){var c=this.xData,e=
this.yData,d=c.length,g;g=0;var f,k,p=this.xAxis,l,h=this.options;l=h.cropThreshold;var r=this.getExtremesFromAll||h.getExtremesFromAll,q=this.isCartesian,h=p&&p.val2lin,m=p&&p.isLog,v=this.requireSorting,n,w;if(q&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!b)return!1;p&&(b=p.getExtremes(),n=b.min,w=b.max);q&&this.sorted&&!r&&(!l||d>l||this.forceCrop)&&(c[d-1]<n||c[0]>w?(c=[],e=[]):this.yData&&(c[0]<n||c[d-1]>w)&&(g=this.cropData(this.xData,this.yData,n,w),c=g.xData,e=g.yData,g=g.start,f=!0));
for(l=c.length||1;--l;)d=m?h(c[l])-h(c[l-1]):c[l]-c[l-1],0<d&&(void 0===k||d<k)?k=d:0>d&&v&&(a.error(15,!1,this.chart),v=!1);this.cropped=f;this.cropStart=g;this.processedXData=c;this.processedYData=e;this.closestPointRange=k},cropData:function(a,c,e,d,g){var f=a.length,k=0,p=f,l;g=b(g,this.cropShoulder);for(l=0;l<f;l++)if(a[l]>=e){k=Math.max(0,l-g);break}for(e=l;e<f;e++)if(a[e]>d){p=e+g;break}return{xData:a.slice(k,p),yData:c.slice(k,p),start:k,end:p}},generatePoints:function(){var a=this.options,
b=a.data,c=this.data,e,g=this.processedXData,d=this.processedYData,f=this.pointClass,k=g.length,h=this.cropStart||0,q,m=this.hasGroupedData,a=a.keys,v,w=[],t;c||m||(c=[],c.length=b.length,c=this.data=c);a&&m&&(this.options.keys=!1);for(t=0;t<k;t++)q=h+t,m?(v=(new f).init(this,[g[t]].concat(r(d[t]))),v.dataGroup=this.groupMap[t],v.dataGroup.options&&(v.options=v.dataGroup.options,n(v,v.dataGroup.options),delete v.dataLabels)):(v=c[q])||void 0===b[q]||(c[q]=v=(new f).init(this,b[q],g[t])),v&&(v.index=
q,w[t]=v);this.options.keys=a;if(c&&(k!==(e=c.length)||m))for(t=0;t<e;t++)t!==h||m||(t+=k),c[t]&&(c[t].destroyElements(),c[t].plotX=void 0);this.data=c;this.points=w;l(this,"afterGeneratePoints")},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,g=[],f=0;d=this.xAxis.getExtremes();var k=d.min,p=d.max,r,q,v=this.requireSorting?this.cropShoulder:0,n,t;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(t=0;t<d;t++)if(q=c[t],n=a[t],r=(e(n,!0)||m(n))&&(!b.positiveValuesOnly||
n.length||0<n),q=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[t+v]||q)>=k&&(c[t-v]||q)<=p,r&&q)if(r=n.length)for(;r--;)"number"===typeof n[r]&&(g[f++]=n[r]);else g[f++]=n;this.dataMin=h(g);this.dataMax=A(g);l(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,c=a.stacking,f=this.xAxis,k=f.categories,g=this.yAxis,h=this.points,r=h.length,q=!!this.modifyValue,m,v=this.pointPlacementToXValue(),
n=e(v),w=a.threshold,E=a.startFromThreshold?w:0,D,u,x,A,B=this.zoneAxis||"y",C=Number.MAX_VALUE;for(m=0;m<r;m++){var G=h[m],U=G.x,R=G.y;u=G.low;var M=c&&g.stacks[(this.negStacks&&R<(E?0:w)?"-":"")+this.stackKey],V;g.positiveValuesOnly&&null!==R&&0>=R&&(G.isNull=!0);G.plotX=D=d(Math.min(Math.max(-1E5,f.translate(U,0,0,0,1,v,"flags"===this.type)),1E5));c&&this.visible&&!G.isNull&&M&&M[U]&&(A=this.getStackIndicator(A,U,this.index),V=M[U],R=V.points[A.key],u=R[0],R=R[1],u===E&&A.key===M[U].base&&(u=b(e(w)&&
w,g.min)),g.positiveValuesOnly&&0>=u&&(u=null),G.total=G.stackTotal=V.total,G.percentage=V.total&&G.y/V.total*100,G.stackY=R,V.setOffset(this.pointXOffset||0,this.barW||0));G.yBottom=t(u)?Math.min(Math.max(-1E5,g.translate(u,0,1,0,1)),1E5):null;q&&(R=this.modifyValue(R,G));G.plotY=u="number"===typeof R&&Infinity!==R?Math.min(Math.max(-1E5,g.translate(R,0,1,0,1)),1E5):void 0;G.isInside=void 0!==u&&0<=u&&u<=g.len&&0<=D&&D<=f.len;G.clientX=n?d(f.translate(U,0,0,0,1,v)):D;G.negative=G[B]<(a[B+"Threshold"]||
w||0);G.category=k&&void 0!==k[G.x]?k[G.x]:G.x;G.isNull||(void 0!==x&&(C=Math.min(C,Math.abs(D-x))),x=D);G.zone=this.zones.length&&G.getZone()}this.closestPointRangePx=C;l(this,"afterTranslate")},getValidPoints:function(a,b,c){var e=this.chart;return(a||this.points||[]).filter(function(a){return b&&!e.isInsidePlot(a.plotX,a.plotY,e.inverted)?!1:c||!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,e=b.renderer,g=b.inverted,d=this.clipBox,f=d||b.clipBox,k=this.sharedClipKey||["_sharedClip",
a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),p=b[k],l=b[k+"m"];p||(a&&(f.width=0,g&&(f.x=b.plotSizeX),b[k+"m"]=l=e.clipRect(g?b.plotSizeX+99:-99,g?-b.plotLeft:-b.plotTop,99,g?b.chartWidth:b.chartHeight)),b[k]=p=e.clipRect(f),p.count={length:0});a&&!p.count[this.index]&&(p.count[this.index]=!0,p.count.length+=1);!1!==c.clip&&(this.group.clip(a||d?p:b.clipRect),this.markerGroup.clip(l),this.sharedClipKey=k);a||(p.count[this.index]&&(delete p.count[this.index],--p.count.length),0===p.count.length&&
k&&b[k]&&(d||(b[k]=b[k].destroy()),b[k+"m"]&&(b[k+"m"]=b[k+"m"].destroy())))},animate:function(a){var b=this.chart,c=C(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&&a.animate({width:b.plotSizeX,x:0},c),b[e+"m"]&&b[e+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();l(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,c=this.chart,e,d,g,f,k=this.options.marker,l,h,r,q=this[this.specialGroup]||
this.markerGroup;e=this.xAxis;var m,v=b(k.enabled,!e||e.isRadial?!0:null,this.closestPointRangePx>=k.enabledThreshold*k.radius);if(!1!==k.enabled||this._hasPointMarkers)for(e=0;e<a.length;e++)d=a[e],f=d.graphic,l=d.marker||{},h=!!d.marker,g=v&&void 0===l.enabled||l.enabled,r=!1!==d.isInside,g&&!d.isNull?(g=b(l.symbol,this.symbol),m=this.markerAttribs(d,d.selected&&"select"),f?f[r?"show":"hide"](!0).animate(m):r&&(0<m.width||d.hasImage)&&(d.graphic=f=c.renderer.symbol(g,m.x,m.y,m.width,m.height,h?
l:k).add(q)),f&&!c.styledMode&&f.attr(this.pointAttribs(d,d.selected&&"select")),f&&f.addClass(d.getClassName(),!0)):f&&(d.graphic=f.destroy())},markerAttribs:function(a,c){var e=this.options.marker,d=a.marker||{},g=d.symbol||e.symbol,f=b(d.radius,e.radius);c&&(e=e.states[c],c=d.states&&d.states[c],f=b(c&&c.radius,e&&e.radius,f+(e&&e.radiusPlus||0)));a.hasImage=g&&0===g.indexOf("url");a.hasImage&&(f=0);a={x:Math.floor(a.plotX)-f,y:a.plotY-f};f&&(a.width=a.height=2*f);return a},pointAttribs:function(a,
c){var e=this.options.marker,d=a&&a.options,g=d&&d.marker||{},f=this.color,k=d&&d.color,p=a&&a.color,d=b(g.lineWidth,e.lineWidth);a=a&&a.zone&&a.zone.color;f=k||a||p||f;a=g.fillColor||e.fillColor||f;f=g.lineColor||e.lineColor||f;c&&(e=e.states[c],c=g.states&&g.states[c]||{},d=b(c.lineWidth,e.lineWidth,d+b(c.lineWidthPlus,e.lineWidthPlus,0)),a=c.fillColor||e.fillColor||a,f=c.lineColor||e.lineColor||f);return{stroke:f,"stroke-width":d,fill:a}},destroy:function(b){var c=this,e=c.chart,d=/AppleWebKit\/533/.test(E.navigator.userAgent),
g,k,p=c.data||[],h,r;l(c,"destroy");b||q(c);(c.axisTypes||[]).forEach(function(a){(r=c[a])&&r.series&&(w(r.series,c),r.isDirty=r.forceRedraw=!0)});c.legendItem&&c.chart.legend.destroyItem(c);for(k=p.length;k--;)(h=p[k])&&h.destroy&&h.destroy();c.points=null;a.clearTimeout(c.animationTimeout);f(c,function(a,b){a instanceof v&&!a.survive&&(g=d&&"group"===b?"hide":"destroy",a[g]())});e.hoverSeries===c&&(e.hoverSeries=null);w(e.series,c);e.orderSeries();f(c,function(a,e){b&&"hcEvents"===e||delete c[e]})},
getGraphPath:function(a,b,c){var e=this,g=e.options,d=g.step,f,k=[],l=[],p;a=a||e.points;(f=a.reversed)&&a.reverse();(d={right:1,center:2}[d]||d&&3)&&f&&(d=4-d);!g.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(f,h){var r=f.plotX,q=f.plotY,m=a[h-1];(f.leftCliff||m&&m.rightCliff)&&!c&&(p=!0);f.isNull&&!t(b)&&0<h?p=!g.connectNulls:f.isNull&&!b?p=!0:(0===h||p?h=["M",f.plotX,f.plotY]:e.getPointSpline?h=e.getPointSpline(a,f,h):d?(h=1===d?["L",m.plotX,q]:2===d?["L",(m.plotX+r)/2,m.plotY,
"L",(m.plotX+r)/2,q]:["L",r,m.plotY],h.push("L",r,q)):h=["L",r,q],l.push(f.x),d&&(l.push(f.x),2===d&&l.push(f.x)),k.push.apply(k,h),p=!1)});k.xMap=l;return e.graphPath=k},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode,g=[["graph","highcharts-graph"]];e||g[0].push(b.lineColor||this.color,b.dashStyle);g=a.getZonesGraphs(g);g.forEach(function(g,d){var f=g[0],k=a[f];k?(k.endX=a.preventGraphAnimation?null:c.xMap,k.animate({d:c})):
c.length&&(a[f]=a.chart.renderer.path(c).addClass(g[1]).attr({zIndex:1}).add(a.group),e||(k={stroke:g[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},g[3]?k.dashstyle=g[3]:"square"!==b.linecap&&(k["stroke-linecap"]=k["stroke-linejoin"]="round"),k=a[f].attr(k).shadow(2>d&&b.shadow)));k&&(k.startX=c.xMap,k.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,c){c=["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")];this.chart.styledMode||
c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,c=this.chart,e=c.renderer,d=this.zones,g,f,k=this.clips||[],l,h=this.graph,r=this.area,q=Math.max(c.chartWidth,c.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],v,n,t=c.inverted,w,E,D,u,x=!1;d.length&&(h||r)&&m&&void 0!==m.min&&(n=m.reversed,w=m.horiz,h&&!this.showLine&&h.hide(),r&&r.hide(),v=m.getExtremes(),d.forEach(function(d,p){g=n?w?c.plotWidth:0:w?0:m.toPixels(v.min)||
0;g=Math.min(Math.max(b(f,g),0),q);f=Math.min(Math.max(Math.round(m.toPixels(b(d.value,v.max),!0)||0),0),q);x&&(g=f=m.toPixels(v.max));E=Math.abs(g-f);D=Math.min(g,f);u=Math.max(g,f);m.isXAxis?(l={x:t?u:D,y:0,width:E,height:q},w||(l.x=c.plotHeight-l.x)):(l={x:0,y:t?u:D,width:q,height:E},w&&(l.y=c.plotWidth-l.y));t&&e.isVML&&(l=m.isXAxis?{x:0,y:n?D:u,height:l.width,width:c.chartWidth}:{x:l.y-c.plotLeft-c.spacingBox.x,y:0,width:l.height,height:c.chartHeight});k[p]?k[p].animate(l):(k[p]=e.clipRect(l),
h&&a["zone-graph-"+p].clip(k[p]),r&&a["zone-area-"+p].clip(k[p]));x=d.value>v.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=k)},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){c[b]&&(e.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,e=c.chart,g;c.xAxis&&(g=B(e,"resize",b),B(c,"destroy",g),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,g){var d=this[a],f=!d;f&&(this[a]=
d=this.chart.renderer.g().attr({zIndex:e||.1}).add(g));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[f?"attr":"animate"](this.getPlotBox());return d},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=this,b=a.chart,c,e=a.options,g=!!a.animate&&b.renderer.isSVG&&C(e.animation).duration,d=a.visible?"inherit":"hidden",f=e.zIndex,k=a.hasRendered,h=b.seriesGroup,r=b.inverted;l(this,"render");c=a.plotGroup("group","series",d,f,h);a.markerGroup=a.plotGroup("markerGroup","markers",d,f,h);g&&a.animate(!0);c.inverted=a.isCartesian?r:!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(r);!1===e.clip||a.sharedClipKey||k||c.clip(b.clipRect);g&&a.animate();k||(a.animationTimeout=D(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0;l(a,"afterRender")},redraw:function(){var a=this.chart,c=this.isDirty||this.isDirtyData,e=this.group,d=this.xAxis,g=this.yAxis;e&&(a.inverted&&e.attr({width:a.plotWidth,height:a.plotHeight}),e.animate({translateX:b(d&&d.left,a.plotLeft),translateY:b(g&&
g.top,a.plotTop)}));this.translate();this.render();c&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,g=this.chart.inverted;return this.searchKDTree({clientX:g?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:g?e.len-a.chartX+e.pos:a.chartY-e.pos},b,a)},buildKDTree:function(a){function b(a,e,d){var g,f;if(f=a&&a.length)return g=c.kdAxisArray[e%d],a.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:a[f],left:b(a.slice(0,f),e+1,d),right:b(a.slice(f+
1),e+1,d)}}this.buildingKdTree=!0;var c=this,e=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;D(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),e,e);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function e(a,b,c,l){var h=b.point,r=g.kdAxisArray[c%l],p,q,m=h;q=t(a[d])&&t(h[d])?Math.pow(a[d]-h[d],2):null;p=t(a[f])&&t(h[f])?Math.pow(a[f]-h[f],2):null;p=(q||0)+(p||0);h.dist=t(p)?Math.sqrt(p):Number.MAX_VALUE;h.distX=t(q)?
Math.sqrt(q):Number.MAX_VALUE;r=a[r]-h[r];p=0>r?"left":"right";q=0>r?"right":"left";b[p]&&(p=e(a,b[p],c+1,l),m=p[k]<m[k]?p:h);b[q]&&Math.sqrt(r*r)<m[k]&&(a=e(a,b[q],c+1,l),m=a[k]<m[k]?a:m);return m}var g=this,d=this.kdAxisArray[0],f=this.kdAxisArray[1],k=b?"distX":"dist";b=-1<g.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return e(a,this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===
a&&(a=.5);e(a)&&(a*=b(this.options.pointRange||this.xAxis.pointRange));return a}})})(G);(function(a){var B=a.addEvent,C=a.animate,A=a.Axis,h=a.Chart,d=a.createElement,u=a.css,x=a.defined,t=a.erase,w=a.extend,n=a.fireEvent,l=a.isNumber,m=a.isObject,e=a.isArray,k=a.merge,c=a.objectEach,f=a.pick,b=a.Point,q=a.Series,r=a.seriesTypes,v=a.setAnimation,D=a.splat;a.cleanRecursively=function(b,e){var d={};c(b,function(c,f){if(m(b[f],!0)&&e[f])c=a.cleanRecursively(b[f],e[f]),Object.keys(c).length&&(d[f]=c);
else if(m(b[f])||b[f]!==e[f])d[f]=b[f]});return d};w(h.prototype,{addSeries:function(a,b,c){var e,d=this;a&&(b=f(b,!0),n(d,"addSeries",{options:a},function(){e=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();n(d,"afterAddSeries");b&&d.redraw(c)}));return e},addAxis:function(a,b,c,e){var d=b?"xAxis":"yAxis",g=this.options;a=k(a,{index:this[d].length,isX:b});b=new A(this,a);g[d]=D(g[d]||{});g[d].push(a);f(c,!0)&&this.redraw(e);return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,
f=c.loading,g=function(){e&&u(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=d("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=d("span",{className:"highcharts-loading-inner"},null,e),B(b,"redraw",g));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.styledMode||(u(e,w(f.style,{zIndex:10})),u(b.loadingSpan,f.labelStyle),b.loadingShown||(u(e,{opacity:0,display:""}),
C(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));b.loadingShown=!0;g()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||C(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){u(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(b,e,d,h){var r=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},q,m,p,v=[];n(r,"update",{options:b});b.isResponsiveOptions||r.setResponsive(!1,!0);b=a.cleanRecursively(b,r.options);if(q=b.chart){k(!0,r.options.chart,q);"className"in q&&r.setClassName(q.className);
"reflow"in q&&r.setReflow(q.reflow);if("inverted"in q||"polar"in q||"type"in q)r.propFromSeries(),m=!0;"alignTicks"in q&&(m=!0);c(q,function(a,b){-1!==r.propsRequireUpdateSeries.indexOf("chart."+b)&&(p=!0);-1!==r.propsRequireDirtyBox.indexOf(b)&&(r.isDirtyBox=!0)});!r.styledMode&&"style"in q&&r.renderer.setStyle(q.style)}!r.styledMode&&b.colors&&(this.options.colors=b.colors);b.plotOptions&&k(!0,this.options.plotOptions,b.plotOptions);c(b,function(a,b){if(r[b]&&"function"===typeof r[b].update)r[b].update(a,
!1);else if("function"===typeof r[g[b]])r[g[b]](a);"chart"!==b&&-1!==r.propsRequireUpdateSeries.indexOf(b)&&(p=!0)});this.collectionsWithUpdate.forEach(function(a){var c;b[a]&&("series"===a&&(c=[],r[a].forEach(function(a,b){a.options.isInternal||c.push(f(a.options.index,b))})),D(b[a]).forEach(function(b,e){(e=x(b.id)&&r.get(b.id)||r[a][c?c[e]:e])&&e.coll===a&&(e.update(b,!1),d&&(e.touched=!0));if(!e&&d)if("series"===a)r.addSeries(b,!1).touched=!0;else if("xAxis"===a||"yAxis"===a)r.addAxis(b,"xAxis"===
a,!1).touched=!0}),d&&r[a].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:v.push(a)}))});v.forEach(function(a){a.remove&&a.remove(!1)});m&&r.axes.forEach(function(a){a.update({},!1)});p&&r.series.forEach(function(a){a.update({},!1)});b.loading&&k(!0,r.options.loading,b.loading);m=q&&q.width;q=q&&q.height;l(m)&&m!==r.chartWidth||l(q)&&q!==r.chartHeight?r.setSize(m,q,h):f(e,!0)&&r.redraw(h);n(r,"afterUpdate",{options:b})},setSubtitle:function(a){this.setTitle(void 0,a)}});w(b.prototype,
{update:function(a,b,c,e){function d(){g.applyOptions(a);null===g.y&&l&&(g.graphic=l.destroy());m(a,!0)&&(l&&l.element&&a&&a.marker&&void 0!==a.marker.symbol&&(g.graphic=l.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()),g.connector&&(g.connector=g.connector.destroy()));h=g.index;k.updateParallelArrays(g,h);q.data[h]=m(q.data[h],!0)||m(a,!0)?g.options:f(a,q.data[h]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(r.isDirtyBox=!0);"point"===q.legendType&&
(r.isDirtyLegend=!0);b&&r.redraw(c)}var g=this,k=g.series,l=g.graphic,h,r=k.chart,q=k.options;b=f(b,!0);!1===e?d():g.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});w(q.prototype,{addPoint:function(a,b,c,e){var d=this.options,g=this.data,k=this.chart,l=this.xAxis,l=l&&l.hasNames&&l.names,h=d.data,r,q,m=this.xData,p,v;b=f(b,!0);r={series:this};this.pointClass.prototype.applyOptions.apply(r,[a]);v=r.x;p=m.length;if(this.requireSorting&&
v<m[p-1])for(q=!0;p&&m[p-1]>v;)p--;this.updateParallelArrays(r,"splice",p,0,0);this.updateParallelArrays(r,p);l&&r.name&&(l[v]=r.name);h.splice(p,0,a);q&&(this.data.splice(p,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(r,"shift"),h.shift()));this.isDirtyData=this.isDirty=!0;b&&k.redraw(e)},removePoint:function(a,b,c){var e=this,d=e.data,g=d[a],k=e.points,l=e.chart,h=function(){k&&k.length===d.length&&
k.splice(a,1);d.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(g||{series:e},"splice",a,1);g&&g.destroy();e.isDirty=!0;e.isDirtyData=!0;b&&l.redraw()};v(c,l);b=f(b,!0);g?g.firePointEvent("remove",null,h):h()},remove:function(a,b,c,e){function d(){g.destroy(e);g.remove=null;k.isDirtyLegend=k.isDirtyBox=!0;k.linkSeries();f(a,!0)&&k.redraw(b)}var g=this,k=g.chart;!1!==c?n(g,"remove",null,d):d()},update:function(b,c){b=a.cleanRecursively(b,this.userOptions);var e=this,d=e.chart,l=e.userOptions,
g=e.initialType||e.type,h=b.type||l.type||d.options.chart.type,q=r[g].prototype,m,p=["group","markerGroup","dataLabelsGroup"],v=["navigatorSeries","baseSeries"],t=e.finishedAnimating&&{animation:!1},D=["data","name","turboThreshold"],u=Object.keys(b),E=0<u.length;u.forEach(function(a){-1===D.indexOf(a)&&(E=!1)});if(E)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{v=p.concat(v);v.forEach(function(a){v[a]=e[a];delete e[a]});b=k(l,t,{index:e.index,pointStart:f(l.pointStart,e.xData[0])},
{data:e.options.data},b);e.remove(!1,null,!1,!0);for(m in q)e[m]=void 0;r[h||g]?w(e,r[h||g].prototype):a.error(17,!0,d);v.forEach(function(a){e[a]=v[a]});e.init(d,b);b.zIndex!==l.zIndex&&p.forEach(function(a){e[a]&&e[a].attr({zIndex:b.zIndex})});e.initialType=g;d.linkSeries()}n(this,"afterUpdate");f(c,!0)&&d.redraw(E?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});w(A.prototype,{update:function(a,b){var e=this.chart,d=a&&a.events||
{};a=k(this.userOptions,a);e.options[this.coll].indexOf&&(e.options[this.coll][e.options[this.coll].indexOf(this.userOptions)]=a);c(e.options[this.coll].events,function(a,b){"undefined"===typeof d[b]&&(d[b]=void 0)});this.destroy(!0);this.init(e,w(a,{events:d}));e.isDirtyBox=!0;f(b,!0)&&e.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,k=d.length;k--;)d[k]&&d[k].remove(!1);t(b.axes,this);t(b[c],this);e(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];
b[c].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;f(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(G);(function(a){var B=a.animObject,C=a.color,A=a.extend,h=a.defined,d=a.isNumber,u=a.merge,x=a.pick,t=a.Series,w=a.seriesType,n=a.svg;w("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,
states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){t.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&d.series.forEach(function(e){e.type===a.type&&(e.isDirty=!0)})},getColumnMetrics:function(){var a=
this,d=a.options,e=a.xAxis,k=a.yAxis,c=e.options.reversedStacks,c=e.reversed&&!c||!e.reversed&&c,f,b={},h=0;!1===d.grouping?h=1:a.chart.series.forEach(function(c){var e=c.options,d=c.yAxis,l;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||k.len!==d.len||k.pos!==d.pos||(e.stacking?(f=c.stackKey,void 0===b[f]&&(b[f]=h++),l=b[f]):!1!==e.grouping&&(l=h++),c.columnIndex=l)});var r=Math.min(Math.abs(e.transA)*(e.ordinalSlope||d.pointRange||e.closestPointRange||e.tickInterval||1),
e.len),v=r*d.groupPadding,n=(r-2*v)/(h||1),d=Math.min(d.maxPointWidth||e.len,x(d.pointWidth,n*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(n-d)/2+(v+((a.columnIndex||0)+(c?1:0))*n-r/2)*(c?-1:1)};return a.columnMetrics},crispCol:function(a,d,e,k){var c=this.chart,f=this.borderWidth,b=-(f%2?.5:0),f=f%2?.5:1;c.inverted&&c.renderer.isVML&&(f+=1);this.options.crisp&&(e=Math.round(a+e)+b,a=Math.round(a)+b,e-=a);k=Math.round(d+k)+f;b=.5>=Math.abs(d)&&.5<k;d=Math.round(d)+f;k-=d;b&&k&&(--d,k+=
1);return{x:a,y:d,width:e,height:k}},translate:function(){var a=this,d=a.chart,e=a.options,k=a.dense=2>a.closestPointRange*a.xAxis.transA,k=a.borderWidth=x(e.borderWidth,k?0:1),c=a.yAxis,f=e.threshold,b=a.translatedThreshold=c.getThreshold(f),q=x(e.minPointLength,5),r=a.getColumnMetrics(),v=r.width,n=a.barW=Math.max(v,1+2*k),w=a.pointXOffset=r.offset;d.inverted&&(b-=.5);e.pointPadding&&(n=Math.ceil(n));t.prototype.translate.apply(a);a.points.forEach(function(e){var k=x(e.yBottom,b),l=999+Math.abs(k),
r=v,l=Math.min(Math.max(-l,e.plotY),c.len+l),g=e.plotX+w,m=n,p=Math.min(l,k),t,D=Math.max(l,k)-p;q&&Math.abs(D)<q&&(D=q,t=!c.reversed&&!e.negative||c.reversed&&e.negative,e.y===f&&a.dataMax<=f&&c.min<f&&(t=!t),p=Math.abs(p-b)>q?k-q:b-(t?q:0));h(e.options.pointWidth)&&(r=m=Math.ceil(e.options.pointWidth),g-=Math.round((r-v)/2));e.barX=g;e.pointWidth=r;e.tooltipPos=d.inverted?[c.len+c.pos-d.plotLeft-l,a.xAxis.len-g-m/2,D]:[g+m/2,l+c.pos-d.plotTop,D];e.shapeType=e.shapeType||"rect";e.shapeArgs=a.crispCol.apply(a,
e.isNull?[g,b,m,0]:[g,p,m,D])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var e=this.options,k,c=this.pointAttrToOptions||{};k=c.stroke||"borderColor";var f=c["stroke-width"]||"borderWidth",b=a&&a.color||this.color,h=a&&a[k]||e[k]||this.color||b,r=a&&a[f]||e[f]||this[f]||0,c=e.dashStyle;a&&this.zones.length&&(b=a.getZone(),b=a.options.color||b&&b.color||
this.color);d&&(a=u(e.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,b=a.color||void 0!==d&&C(b).brighten(a.brightness).get()||b,h=a[k]||h,r=a[f]||r,c=a.dashStyle||c);k={fill:b,stroke:h,"stroke-width":r};c&&(k.dashstyle=c);return k},drawPoints:function(){var a=this,h=this.chart,e=a.options,k=h.renderer,c=e.animationLimit||250,f;a.points.forEach(function(b){var l=b.graphic,r=l&&h.pointCount<c?"animate":"attr";if(d(b.plotY)&&null!==b.y){f=b.shapeArgs;if(l)l[r](u(f));else b.graphic=
l=k[b.shapeType](f).add(b.group||a.group);e.borderRadius&&l.attr({r:e.borderRadius});h.styledMode||l[r](a.pointAttribs(b,b.selected&&"select")).shadow(e.shadow,null,e.stacking&&!e.borderRadius);l.addClass(b.getClassName(),!0)}else l&&(b.graphic=l.destroy())})},animate:function(a){var d=this,e=this.yAxis,k=d.options,c=this.chart.inverted,f={},b=c?"translateX":"translateY",h;n&&(a?(f.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(k.threshold))),c?f.translateX=a-e.len:f.translateY=a,d.clipBox&&
d.setClip(),d.group.attr(f)):(h=d.group.attr(b),d.group.animate({scaleY:1},A(B(d.options.animation),{step:function(a,c){f[b]=h+c.pos*(e.pos-h);d.group.attr(f)}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&d.series.forEach(function(e){e.type===a.type&&(e.isDirty=!0)});t.prototype.remove.apply(a,arguments)}})})(G);(function(a){var B=a.Series,C=a.seriesType;C("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&B.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,h=this.options.jitter,d=this.points.length;h&&this.points.forEach(function(u,x){["x","y"].forEach(function(t,w){var n,l="plot"+t.toUpperCase(),m,e;h[t]&&!u.isNull&&
(n=a[t+"Axis"],e=h[t]*n.transA,n&&!n.isLog&&(m=Math.max(0,u[l]-e),n=Math.min(n.len,u[l]+e),w=1E4*Math.sin(x+w*d),u[l]=m+(n-m)*(w-Math.floor(w)),"x"===t&&(u.clientX=u.plotX)))})})}});a.addEvent(B,"afterTranslate",function(){this.applyJitter&&this.applyJitter()})})(G);(function(a){var B=a.addEvent,C=a.arrayMax,A=a.defined,h=a.extend,d=a.format,u=a.merge,x=a.noop,t=a.pick,w=a.relativeLength,n=a.Series,l=a.seriesTypes,m=a.stableSort,e=a.isArray,k=a.splat;a.distribute=function(c,e,b){function d(a,b){return a.target-
b.target}var f,k=!0,h=c,l=[],p;p=0;var n=h.reducedLen||e;for(f=c.length;f--;)p+=c[f].size;if(p>n){m(c,function(a,b){return(b.rank||0)-(a.rank||0)});for(p=f=0;p<=n;)p+=c[f].size,f++;l=c.splice(f-1,c.length)}m(c,d);for(c=c.map(function(a){return{size:a.size,targets:[a.target],align:t(a.align,.5)}});k;){for(f=c.length;f--;)k=c[f],p=(Math.min.apply(0,k.targets)+Math.max.apply(0,k.targets))/2,k.pos=Math.min(Math.max(0,p-k.size*k.align),e-k.size);f=c.length;for(k=!1;f--;)0<f&&c[f-1].pos+c[f-1].size>c[f].pos&&
(c[f-1].size+=c[f].size,c[f-1].targets=c[f-1].targets.concat(c[f].targets),c[f-1].align=.5,c[f-1].pos+c[f-1].size>e&&(c[f-1].pos=e-c[f-1].size),c.splice(f,1),k=!0)}h.push.apply(h,l);f=0;c.some(function(c){var d=0;if(c.targets.some(function(){h[f].pos=c.pos+d;if(Math.abs(h[f].pos-h[f].target)>b)return h.slice(0,f+1).forEach(function(a){delete a.pos}),h.reducedLen=(h.reducedLen||e)-.1*e,h.reducedLen>.1*e&&a.distribute(h,e,b),!0;d+=h[f].size;f++}))return!0});m(h,d)};n.prototype.drawDataLabels=function(){function c(a,
b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function f(a,b){var c=[],d;if(e(a)&&!e(b))c=a.map(function(a){return u(a,b)});else if(e(b)&&!e(a))c=b.map(function(b){return u(a,b)});else if(e(a)||e(b))for(d=Math.max(a.length,b.length);d--;)c[d]=u(a[d],b[d]);else c=u(a,b);return c}var b=this,h=b.chart,l=b.options,m=l.dataLabels,n=b.points,w,p=b.hasRendered||
0,z,x=t(m.defer,!!l.animation),H=h.renderer,m=f(f(h.options.plotOptions&&h.options.plotOptions.series&&h.options.plotOptions.series.dataLabels,h.options.plotOptions&&h.options.plotOptions[b.type]&&h.options.plotOptions[b.type].dataLabels),m);a.fireEvent(this,"drawDataLabels");if(e(m)||m.enabled||b._hasPointLabels)z=b.plotGroup("dataLabelsGroup","data-labels",x&&!p?"hidden":"visible",m.zIndex||6),x&&(z.attr({opacity:+p}),p||B(b,"afterAnimate",function(){b.visible&&z.show(!0);z[l.animation?"animate":
"attr"]({opacity:1},{duration:200})})),n.forEach(function(e){w=k(f(m,e.dlOptions||e.options&&e.options.dataLabels));w.forEach(function(f,g){var k=f.enabled&&!e.isNull&&c(e,f),r,q,m,p,v=e.dataLabels?e.dataLabels[g]:e.dataLabel,n=e.connectors?e.connectors[g]:e.connector,w=!v;k&&(r=e.getLabelConfig(),q=f[e.formatPrefix+"Format"]||f.format,r=A(q)?d(q,r,h.time):(f[e.formatPrefix+"Formatter"]||f.formatter).call(r,f),q=f.style,m=f.rotation,h.styledMode||(q.color=t(f.color,q.color,b.color,"#000000"),"contrast"===
q.color&&(e.contrastColor=H.getContrast(e.color||b.color),q.color=f.inside||0>t(f.distance,e.labelDistance)||l.stacking?e.contrastColor:"#000000"),l.cursor&&(q.cursor=l.cursor)),p={r:f.borderRadius||0,rotation:m,padding:f.padding,zIndex:1},h.styledMode||(p.fill=f.backgroundColor,p.stroke=f.borderColor,p["stroke-width"]=f.borderWidth),a.objectEach(p,function(a,b){void 0===a&&delete p[b]}));!v||k&&A(r)?k&&A(r)&&(v?p.text=r:(e.dataLabels=e.dataLabels||[],v=e.dataLabels[g]=m?H.text(r,0,-9999).addClass("highcharts-data-label"):
H.label(r,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),g||(e.dataLabel=v),v.addClass(" highcharts-data-label-color-"+e.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),v.options=f,v.attr(p),h.styledMode||v.css(q).shadow(f.shadow),v.added||v.add(z),b.alignDataLabel(e,v,f,null,w)):(e.dataLabel=e.dataLabel&&e.dataLabel.destroy(),e.dataLabels&&(1===e.dataLabels.length?delete e.dataLabels:delete e.dataLabels[g]),g||delete e.dataLabel,n&&(e.connector=e.connector.destroy(),
e.connectors&&(1===e.connectors.length?delete e.connectors:delete e.connectors[g])))})});a.fireEvent(this,"afterDrawDataLabels")};n.prototype.alignDataLabel=function(a,e,b,d,k){var c=this.chart,f=this.isCartesian&&c.inverted,l=t(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),r=t(a.plotY,-9999),q=e.getBBox(),m,n=b.rotation,g=b.align,w=this.visible&&(a.series.forceDL||c.isInsidePlot(l,Math.round(r),f)||d&&c.isInsidePlot(l,f?d.x+1:d.y+d.height-1,f)),u="justify"===t(b.overflow,"justify");if(w&&(m=c.renderer.fontMetrics(c.styledMode?
void 0:b.style.fontSize,e).b,d=h({x:f?this.yAxis.len-r:l,y:Math.round(f?this.xAxis.len-l:r),width:0,height:0},d),h(b,{width:q.width,height:q.height}),n?(u=!1,l=c.renderer.rotCorr(m,n),l={x:d.x+b.x+d.width/2+l.x,y:d.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*d.height},e[k?"attr":"animate"](l).attr({align:g}),r=(n+720)%360,r=180<r&&360>r,"left"===g?l.y-=r?q.height:0:"center"===g?(l.x-=q.width/2,l.y-=q.height/2):"right"===g&&(l.x-=q.width,l.y-=r?0:q.height),e.placed=!0,e.alignAttr=l):(e.align(b,
null,d),l=e.alignAttr),u&&0<=d.height?a.isLabelJustified=this.justifyDataLabel(e,b,l,q,d,k):t(b.crop,!0)&&(w=c.isInsidePlot(l.x,l.y)&&c.isInsidePlot(l.x+q.width,l.y+q.height)),b.shape&&!n))e[k?"attr":"animate"]({anchorX:f?c.plotWidth-a.plotY:a.plotX,anchorY:f?c.plotHeight-a.plotX:a.plotY});w||(e.attr({y:-9999}),e.placed=!1)};n.prototype.justifyDataLabel=function(a,e,b,d,k,h){var c=this.chart,f=e.align,l=e.verticalAlign,r,q,m=a.box?0:a.padding||0;r=b.x+m;0>r&&("right"===f?e.align="left":e.x=-r,q=!0);
r=b.x+d.width-m;r>c.plotWidth&&("left"===f?e.align="right":e.x=c.plotWidth-r,q=!0);r=b.y+m;0>r&&("bottom"===l?e.verticalAlign="top":e.y=-r,q=!0);r=b.y+d.height-m;r>c.plotHeight&&("top"===l?e.verticalAlign="bottom":e.y=c.plotHeight-r,q=!0);q&&(a.placed=!h,a.align(e,null,k));return q};l.pie&&(l.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,e,b,d){return a.getX(b<e.top+2||b>e.bottom-2?d:b,e.half,e)},justify:function(a,
e,b){return b[0]+(a.half?-1:1)*(e+a.labelDistance)},alignToPlotEdges:function(a,e,b,d){a=a.getBBox().width;return e?a+d:b-a-d},alignToConnectors:function(a,e,b,d){var c=0,f;a.forEach(function(a){f=a.dataLabel.getBBox().width;f>c&&(c=f)});return e?c+d:b-c-d}},l.pie.prototype.drawDataLabels=function(){var c=this,e=c.data,b,d=c.chart,k=c.options.dataLabels,h=k.connectorPadding,l=t(k.connectorWidth,1),m=d.plotWidth,p=d.plotHeight,w=d.plotLeft,u=Math.round(d.chartWidth/3),x,g=c.center,y=g[2]/2,B=g[1],
J,G,K,N,Q=[[],[]],I,P,M,X,O=[0,0,0,0],W=c.dataLabelPositioners;c.visible&&(k.enabled||c._hasPointLabels)&&(e.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),n.prototype.drawDataLabels.apply(c),e.forEach(function(a){a.dataLabel&&(a.visible?(Q[a.half].push(a),a.dataLabel._pos=null,!A(k.style.width)&&!A(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&
a.dataLabel.getBBox().width>u&&(a.dataLabel.css({width:.7*u}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),Q.forEach(function(e,f){var l,r,q=e.length,v=[],n;if(q)for(c.sortByAngle(e,f-.5),0<c.maxLabelDistance&&(l=Math.max(0,B-y-c.maxLabelDistance),r=Math.min(B+y+c.maxLabelDistance,d.plotHeight),e.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,B-y-a.labelDistance),a.bottom=Math.min(B+y+a.labelDistance,
d.plotHeight),n=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+n/2,size:n,rank:a.y},v.push(a.distributeBox))}),l=r+n-l,a.distribute(v,l,l/5)),X=0;X<q;X++){b=e[X];K=b.labelPosition;J=b.dataLabel;M=!1===b.visible?"hidden":"inherit";P=l=K.natural.y;v&&A(b.distributeBox)&&(void 0===b.distributeBox.pos?M="hidden":(N=b.distributeBox.size,P=W.radialDistributionY(b)));delete b.positionIndex;if(k.justify)I=W.justify(b,y,g);else switch(k.alignTo){case "connectors":I=
W.alignToConnectors(e,f,m,w);break;case "plotEdges":I=W.alignToPlotEdges(J,f,m,w);break;default:I=W.radialDistributionX(c,b,P,l)}J._attr={visibility:M,align:K.alignment};J._pos={x:I+k.x+({left:h,right:-h}[K.alignment]||0),y:P+k.y-10};K.final.x=I;K.final.y=P;t(k.crop,!0)&&(G=J.getBBox().width,l=null,I-G<h&&1===f?(l=Math.round(G-I+h),O[3]=Math.max(l,O[3])):I+G>m-h&&0===f&&(l=Math.round(I+G-m+h),O[1]=Math.max(l,O[1])),0>P-N/2?O[0]=Math.max(Math.round(-P+N/2),O[0]):P+N/2>p&&(O[2]=Math.max(Math.round(P+
N/2-p),O[2])),J.sideOverflow=l)}}),0===C(O)||this.verifyDataLabelOverflow(O))&&(this.placeDataLabels(),l&&this.points.forEach(function(a){var b;x=a.connector;if((J=a.dataLabel)&&J._pos&&a.visible&&0<a.labelDistance){M=J._attr.visibility;if(b=!x)a.connector=x=d.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(c.dataLabelsGroup),d.styledMode||x.attr({"stroke-width":l,stroke:k.connectorColor||a.color||"#666666"});x[b?"attr":
"animate"]({d:a.getConnectorPath()});x.attr("visibility",M)}else x&&(a.connector=x.destroy())}))},l.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var c=a.dataLabel;c&&a.visible&&((a=c._pos)?(c.sideOverflow&&(c._attr.width=c.getBBox().width-c.sideOverflow,c.css({width:c._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),c.shortened=!0),c.attr(c._attr),c[c.moved?"animate":"attr"](a),c.moved=!0):c&&c.attr({y:-9999}))},this)},l.pie.prototype.alignDataLabel=
x,l.pie.prototype.verifyDataLabelOverflow=function(a){var c=this.center,b=this.options,e=b.center,d=b.minSize||80,k,h=null!==b.size;h||(null!==e[0]?k=Math.max(c[2]-Math.max(a[1],a[3]),d):(k=Math.max(c[2]-a[1]-a[3],d),c[0]+=(a[3]-a[1])/2),null!==e[1]?k=Math.max(Math.min(k,c[2]-Math.max(a[0],a[2])),d):(k=Math.max(Math.min(k,c[2]-a[0]-a[2]),d),c[1]+=(a[0]-a[2])/2),k<c[2]?(c[2]=k,c[3]=Math.min(w(b.innerSize||0,k),k),this.translate(c),this.drawDataLabels&&this.drawDataLabels()):h=!0);return h});l.column&&
(l.column.prototype.alignDataLabel=function(a,e,b,d,k){var c=this.chart.inverted,f=a.series,h=a.dlBox||a.shapeArgs,l=t(a.below,a.plotY>t(this.translatedThreshold,f.yAxis.len)),r=t(b.inside,!!this.options.stacking);h&&(d=u(h),0>d.y&&(d.height+=d.y,d.y=0),h=d.y+d.height-f.yAxis.len,0<h&&(d.height-=h),c&&(d={x:f.yAxis.len-d.y-d.height,y:f.xAxis.len-d.x-d.width,width:d.height,height:d.width}),r||(c?(d.x+=l?0:d.width,d.width=0):(d.y+=l?d.height:0,d.height=0)));b.align=t(b.align,!c||r?"center":l?"right":
"left");b.verticalAlign=t(b.verticalAlign,c||r?"middle":l?"top":"bottom");n.prototype.alignDataLabel.call(this,a,e,b,d,k);a.isLabelJustified&&a.contrastColor&&e.css({color:a.contrastColor})})})(G);(function(a){var B=a.Chart,C=a.isArray,A=a.objectEach,h=a.pick,d=a.addEvent,u=a.fireEvent;d(B,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(d){a=a.concat(d())});(this.yAxis||[]).forEach(function(d){d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&A(d.stacks,function(d){A(d,
function(d){a.push(d.label)})})});(this.series||[]).forEach(function(d){var w=d.options.dataLabels;d.visible&&(!1!==w.enabled||d._hasPointLabels)&&d.points.forEach(function(d){d.visible&&(C(d.dataLabels)?d.dataLabels:d.dataLabel?[d.dataLabel]:[]).forEach(function(l){var m=l.options;l.labelrank=h(m.labelrank,d.labelrank,d.shapeArgs&&d.shapeArgs.height);m.allowOverlap||a.push(l)})})});this.hideOverlappingLabels(a)});B.prototype.hideOverlappingLabels=function(a){var d=this,h=a.length,n=d.renderer,l,
m,e,k,c,f,b=function(a,b,c,e,d,f,k,h){return!(d>a+c||d+k<a||f>b+e||f+h<b)};e=function(a){var b,c,e,d=a.box?0:a.padding||0;e=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,e=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+d,y:b.y+(c.translateY||0)+d-e,width:a.width-2*d,height:a.height-2*d}};for(m=0;m<h;m++)if(l=a[m])l.oldOpacity=l.opacity,l.newOpacity=1,l.absoluteBox=e(l);a.sort(function(a,
b){return(b.labelrank||0)-(a.labelrank||0)});for(m=0;m<h;m++)for(f=(e=a[m])&&e.absoluteBox,l=m+1;l<h;++l)if(c=(k=a[l])&&k.absoluteBox,f&&c&&e!==k&&0!==e.newOpacity&&0!==k.newOpacity&&(c=b(f.x,f.y,f.width,f.height,c.x,c.y,c.width,c.height)))(e.labelrank<k.labelrank?e:k).newOpacity=0;a.forEach(function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),u(d,"afterHideOverlappingLabels")):
a.attr({opacity:c})),a.isOld=!0)})}})(G);(function(a){var B=a.addEvent,C=a.Chart,A=a.createElement,h=a.css,d=a.defaultOptions,u=a.defaultPlotOptions,x=a.extend,t=a.fireEvent,w=a.hasTouch,n=a.isObject,l=a.Legend,m=a.merge,e=a.pick,k=a.Point,c=a.Series,f=a.seriesTypes,b=a.svg,q;q=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,e=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))};a.points.forEach(function(a){a.graphic&&(a.graphic.element.point=
a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(a.trackerGroups.forEach(function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(w)a[d].on("touchstart",e);!b.styledMode&&a.options.cursor&&a[d].css(h).css({cursor:a.options.cursor})}}),a._hasTracking=!0);t(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,c=a.options,e=c.trackByArea,d=[].concat(e?a.areaPath:
a.graphPath),f=d.length,k=a.chart,h=k.pointer,l=k.renderer,g=k.options.tooltip.snap,m=a.tracker,q,n=function(){if(k.hoverSeries!==a)a.onMouseOver()},u="rgba(192,192,192,"+(b?.0001:.002)+")";if(f&&!e)for(q=f+1;q--;)"M"===d[q]&&d.splice(q+1,0,d[q+1]-g,d[q+2],"L"),(q&&"M"===d[q]||q===f)&&d.splice(q,0,"L",d[q-2]+g,d[q-1]);m?m.attr({d:d}):a.graph&&(a.tracker=l.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(e?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),k.styledMode||
a.tracker.attr({"stroke-linejoin":"round",stroke:u,fill:e?u:"none","stroke-width":a.graph.strokeWidth()+(e?0:2*g)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){h.onTrackerMouseOut(a)});c.cursor&&!k.styledMode&&a.css({cursor:c.cursor});if(w)a.on("touchstart",n)}));t(this,"afterDrawTracker")}};f.column&&(f.column.prototype.drawTracker=q.drawTrackerPoint);f.pie&&(f.pie.prototype.drawTracker=q.drawTrackerPoint);f.scatter&&
(f.scatter.prototype.drawTracker=q.drawTrackerPoint);x(l.prototype,{setItemEvents:function(a,b,c){var e=this,d=e.chart.renderer.boxWrapper,f="highcharts-legend-"+(a instanceof k?"point":"series")+"-active",h=e.chart.styledMode;(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");d.addClass(f);h||b.css(e.options.itemHoverStyle)}).on("mouseout",function(){e.styledMode||b.css(m(a.visible?e.itemStyle:e.itemHiddenStyle));d.removeClass(f);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&
a.setVisible()};d.removeClass(f);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):t(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=A("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);B(a.checkbox,"click",function(b){t(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});x(C.prototype,{showResetZoom:function(){function a(){b.zoomOut()}
var b=this,c=d.lang,e=b.options.chart.resetZoomButton,f=e.theme,k=f.states,h="chart"===e.relativeTo?null:"plotBox";t(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,f,k&&k.hover).attr({align:e.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,h)})},zoomOut:function(){t(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,c=this.pointer,d=!1,f;!a||a.resetSelection?(this.axes.forEach(function(a){b=
a.zoom()}),c.initiated=!1):a.xAxis.concat(a.yAxis).forEach(function(a){var e=a.axis;c[e.isXAxis?"zoomX":"zoomY"]&&(b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0))});f=this.resetZoomButton;d&&!f?this.showResetZoom():!d&&n(f)&&(this.resetZoomButton=f.destroy());b&&this.redraw(e(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,e=c.hoverPoints,d;t(this,"pan",{originalEvent:a},function(){e&&e.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=
c[b?"xAxis":"yAxis"][0];var e=b.horiz,f=a[e?"chartX":"chartY"],e=e?"mouseDownX":"mouseDownY",g=c[e],k=(b.pointRange||0)/2,h=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),m=b.toValue(g-f,!0)+k*h,h=b.toValue(g+b.len-f,!0)-k*h,r=h<m,g=r?h:m,m=r?m:h,h=Math.min(l.dataMin,k?l.min:b.toValue(b.toPixels(l.min)-b.minPixelPadding)),k=Math.max(l.dataMax,k?l.max:b.toValue(b.toPixels(l.max)+b.minPixelPadding)),r=h-g;0<r&&(m+=r,g=h);r=m-k;0<r&&(m=k,g-=r);b.series.length&&g!==l.min&&m!==
l.max&&(b.setExtremes(g,m,!1,!1,{trigger:"pan"}),d=!0);c[e]=f});d&&c.redraw(!1);h(c.container,{cursor:"move"})})}});x(k.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&"select");b||f.getSelectedPoints().forEach(function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[d.data.indexOf(a)]=a.options,
a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=m(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,
function(a,c){B(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,k=f.options.states[a||"normal"]||{},h=u[f.type].marker&&f.options.marker,l=h&&!1===h.enabled,g=h&&h.states&&h.states[a||"normal"]||{},m=!1===g.enabled,q=f.stateMarkerGraphic,r=this.marker||{},v=f.chart,n=f.halo,w,A=h&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===k.enabled||a&&(m||l&&!1===g.enabled)||a&&r.states&&r.states[a]&&!1===
r.states[a].enabled)){A&&(w=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),v.styledMode||this.graphic.animate(f.pointAttribs(this,a),e(v.options.chart.animation,k.animation)),w&&this.graphic.animate(w,e(v.options.chart.animation,g.animation,h.animation)),q&&q.hide();else{if(a&&g){h=r.symbol||f.symbol;q&&q.currentSymbol!==h&&(q=q.destroy());if(q)q[b?"animate":"attr"]({x:w.x,y:w.y});else h&&
(f.stateMarkerGraphic=q=v.renderer.symbol(h,w.x,w.y,w.width,w.height).add(f.markerGroup),q.currentSymbol=h);!v.styledMode&&q&&q.attr(f.pointAttribs(this,a))}q&&(q[a&&v.isInsidePlot(c,d,v.inverted)?"show":"hide"](),q.element.point=this)}(c=k.halo)&&c.size?(n||(f.halo=n=v.renderer.path().add((this.graphic||q).parentGroup)),n.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),n.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),
zIndex:-1}),n.point=this,v.styledMode||n.attr(x({fill:this.color||f.color,"fill-opacity":c.opacity},c.attributes))):n&&n.point&&n.point.haloPath&&n.animate({d:n.point.haloPath(0)},null,n.hide);this.state=a;t(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});x(c.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&t(this,"mouseOver");
this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&t(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,c=b.options,d=b.graph,f=c.states,k=c.lineWidth,c=0;a=a||"";if(b.state!==a&&([b.group,b.markerGroup,b.dataLabelsGroup].forEach(function(c){c&&(b.state&&c.removeClass("highcharts-series-"+
b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!(b.chart.styledMode||f[a]&&!1===f[a].enabled)&&(a&&(k=f[a].lineWidth||k+(f[a].lineWidthPlus||0)),d&&!d.dashstyle)))for(k={"stroke-width":k},d.animate(k,e(f[a||"normal"]&&f[a||"normal"].animation,b.chart.options.chart.animation));b["zone-graph-"+c];)b["zone-graph-"+c].attr(k),c+=1},setVisible:function(a,b){var c=this,e=c.chart,d=c.legendItem,f,k=e.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=
void 0===a?!h:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][f]()});if(e.hoverSeries===c||(e.hoverPoint&&e.hoverPoint.series)===c)c.onMouseOut();d&&e.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&e.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});k&&(e.isDirtyBox=!0);t(c,f);!1!==b&&e.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},
select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);t(this,a?"select":"unselect")},drawTracker:q.drawTrackerGraph})})(G);(function(a){var B=a.Chart,C=a.isArray,A=a.isObject,h=a.pick,d=a.splat;B.prototype.setResponsive=function(d,h){var t=this.options.responsive,w=[],n=this.currentResponsive;!h&&t&&t.rules&&t.rules.forEach(function(h){void 0===h._id&&(h._id=a.uniqueKey());this.matchResponsiveRule(h,w,d)},this);h=a.merge.apply(0,
w.map(function(d){return a.find(t.rules,function(a){return a._id===d}).chartOptions}));h.isResponsiveOptions=!0;w=w.toString()||void 0;w!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,d),w?(n=this.currentOptions(h),n.isResponsiveOptions=!0,this.currentResponsive={ruleIds:w,mergedOptions:h,undoOptions:n},this.update(h,d)):this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,d){var t=a.condition;(t.callback||function(){return this.chartWidth<=h(t.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=
h(t.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=h(t.minWidth,0)&&this.chartHeight>=h(t.minHeight,0)}).call(this)&&d.push(a._id)};B.prototype.currentOptions=function(h){function u(h,n,l,m){var e;a.objectEach(h,function(a,c){if(!m&&-1<["series","xAxis","yAxis"].indexOf(c))for(a=d(a),l[c]=[],e=0;e<a.length;e++)n[c][e]&&(l[c][e]={},u(a[e],n[c][e],l[c][e],m+1));else A(a)?(l[c]=C(a)?[]:{},u(a,n[c]||{},l[c],m+1)):l[c]=n[c]||null})}var t={};u(h,this.options,t,0);return t}})(G);(function(a){var B=a.addEvent,
C=a.Axis,A=a.pick;B(C,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(this.series.forEach(function(d,h){d.useMapGeometry&&(a[h]=d.xData,d.xData=[])}),this.seriesXData=a)});B(C,"afterGetSeriesExtremes",function(){var a=this.seriesXData,d,u,x;this.isXAxis&&(d=A(this.dataMin,Number.MAX_VALUE),u=A(this.dataMax,-Number.MAX_VALUE),this.series.forEach(function(h,w){h.useMapGeometry&&(d=Math.min(d,A(h.minX,d)),u=Math.max(u,A(h.maxX,u)),h.xData=a[w],x=!0)}),x&&(this.dataMin=d,this.dataMax=u),delete this.seriesXData)});
B(C,"afterSetAxisTranslation",function(){var a=this.chart,d;d=a.plotWidth/a.plotHeight;var a=a.xAxis[0],u;"yAxis"===this.coll&&void 0!==a.transA&&this.series.forEach(function(a){a.preserveAspectRatio&&(u=!0)});if(u&&(this.transA=a.transA=Math.min(this.transA,a.transA),d/=(a.max-a.min)/(this.max-this.min),d=1>d?this:a,a=(d.max-d.min)*d.transA,d.pixelPadding=d.len-a,d.minPixelPadding=d.pixelPadding/2,a=d.fixTo)){a=a[1]-d.toValue(a[0],!0);a*=d.transA;if(Math.abs(a)>d.minPixelPadding||d.min===d.dataMin&&
d.max===d.dataMax)a=0;d.minPixelPadding-=a}});B(C,"render",function(){this.fixTo=null})})(G);(function(a){var B=a.addEvent,C=a.Axis,A=a.Chart,h=a.color,d,u=a.extend,x=a.isNumber,t=a.Legend,w=a.LegendSymbolMixin,n=a.noop,l=a.merge,m=a.pick;a.ColorAxis||(d=a.ColorAxis=function(){this.init.apply(this,arguments)},u(d.prototype,C.prototype),u(d.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},
width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(C.prototype.keepProps),init:function(a,d){var c="vertical"!==a.options.legend.layout,e;this.coll="colorAxis";e=l(this.defaultColorAxisOptions,{side:c?2:1,reversed:!c},d,{opposite:!c,showEmpty:!1,title:null,visible:a.options.legend.enabled});C.prototype.init.call(this,a,
e);d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=c;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var e=this.chart,c,d=0,b=e.options.chart.colorCount,m=this.options,r=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];a.dataClasses.forEach(function(a,f){a=l(a);c.push(a);if(e.styledMode||!a.color)"category"===m.dataClassColor?(e.styledMode||(f=e.options.colors,b=f.length,a.color=f[d]),a.colorIndex=d,d++,d===b&&(d=0)):a.color=h(m.minColor).tweenTo(h(m.maxColor),
2>r?.5:f/(r-1))})},setTickPositions:function(){if(!this.dataClasses)return C.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=h(a[1])})},setOptions:function(a){C.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,c=d.options.legend||{},f,b;a?(this.left=c=a.attr("x"),this.top=f=a.attr("y"),
this.width=b=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-c-b,this.bottom=d.chartHeight-f-a,this.len=this.horiz?b:a,this.pos=this.horiz?c:f):this.len=(this.horiz?c.symbolWidth:c.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,d){var c=this.stops,e,b,k=this.dataClasses,h,l;if(k)for(l=k.length;l--;){if(h=k[l],e=h.from,c=h.to,(void 0===e||a>=e)&&(void 0===c||
a<=c)){b=h.color;d&&(d.dataClass=l,d.colorIndex=h.colorIndex);break}}else{a=this.normalizedValue(a);for(l=c.length;l--&&!(a>c[l][0]););e=c[l]||c[l+1];c=c[l+1]||e;a=1-(c[0]-a)/(c[0]-e[0]||1);b=e.color.tweenTo(c.color,a)}return b},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,C.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a,
d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,d){var c=a.padding,e=a.options,b=this.horiz,k=m(e.symbolWidth,b?this.defaultLegendLength:12),h=m(e.symbolHeight,b?12:this.defaultLegendLength),l=m(e.labelPadding,b?16:30),e=m(e.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,k,h).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=
k+c+(b?e:l);this.legendItemHeight=h+c+(b?l:0)},setState:function(a){this.series.forEach(function(e){e.setState(a)})},visible:!0,setVisible:n,getSeriesExtremes:function(){var a=this.series,d=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;)a[d].getExtremes(),void 0!==a[d].valueMin&&(this.dataMin=Math.min(this.dataMin,a[d].valueMin),this.dataMax=Math.max(this.dataMax,a[d].valueMax))},drawCrosshair:function(a,d){var c=d&&d.plotX,e=d&&d.plotY,b,k=this.pos,h=this.len;d&&(b=this.toPixels(d[d.series.colorKey]),
b<k?b=k-2:b>k+h&&(b=k+h+2),d.plotX=b,d.plotY=this.len-b,C.prototype.drawCrosshair.call(this,a,d),d.plotX=c,d.plotY=e,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,d,c,f,b){return x(b)?this.horiz?["M",b-4,this.top-6,"L",b+4,this.top-6,b,this.top,"Z"]:["M",this.left,b,"L",this.left-6,b+
6,this.left-6,b-6,"Z"]:C.prototype.getPlotLinePath.call(this,a,d,c,f)},update:function(a,d){var c=this.chart,e=c.legend;this.series.forEach(function(a){a.isDirtyData=!0});a.dataClasses&&e.allItems&&(e.allItems.forEach(function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),c.isDirtyLegend=!0);c.options[this.coll]=l(this.userOptions,a);C.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),e.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);
C.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var e=this,d=this.chart,c=this.legendItems,f=d.options.legend,b=f.valueDecimals,h=f.valueSuffix||"",l;c.length||this.dataClasses.forEach(function(f,k){var m=!0,q=f.from,r=f.to;l="";void 0===q?l="\x3c ":void 0===r&&(l="\x3e ");void 0!==q&&(l+=a.numberFormat(q,b)+h);void 0!==q&&void 0!==r&&(l+=" - ");void 0!==r&&(l+=a.numberFormat(r,b)+h);c.push(u({chart:d,name:l,options:{},drawLegendSymbol:w.drawRectangle,visible:!0,setState:n,isDataClass:!0,
setVisible:function(){m=this.visible=!m;e.series.forEach(function(a){a.points.forEach(function(a){a.dataClass===k&&a.setVisible(m)})});d.legend.colorizeItem(this,m)}},f))});return c},name:""}),["fill","stroke"].forEach(function(e){a.Fx.prototype[e+"Setter"]=function(){this.elem.attr(e,h(this.start).tweenTo(h(this.end),this.pos),null,!0)}}),B(A,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new d(this,a)}),B(t,"afterGetAllItems",function(e){var d=[],c=this.chart.colorAxis[0];
c&&c.options&&c.options.showInLegend&&(c.options.dataClasses?d=c.getDataClassLegendSymbols():d.push(c),c.series.forEach(function(c){a.erase(e.allItems,c)}));for(c=d.length;c--;)e.allItems.unshift(d[c])}),B(t,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),B(t,"afterUpdate",function(a,d,c){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},c)}))})(G);(function(a){var B=a.defined,C=a.noop,A=a.seriesTypes;a.colorPointMixin=
{isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var d=this,h=a?"show":"hide";d.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(d[a])d[a][h]()})},setState:function(h){a.Point.prototype.setState.call(this,h);this.graphic&&this.graphic.attr({zIndex:"hover"===h?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],
getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:A.column.prototype.pointAttribs,translateColors:function(){var a=this,d=this.options.nullColor,u=this.colorAxis,x=this.colorKey;this.data.forEach(function(h){var w=h[x];if(w=h.options.color||(h.isNull?d:u&&void 0!==w?u.toColor(w,h):h.color||a.color))h.color=w})},colorAttribs:function(a){var d={};B(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(G);(function(a){function B(a){a&&(a.preventDefault&&a.preventDefault(),
a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function C(a){this.init(a)}var A=a.addEvent,h=a.Chart,d=a.doc,u=a.extend,x=a.merge,t=a.pick;C.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};C.prototype.update=function(d){var h=this.chart,l=h.options.mapNavigation,m,e,k,c,f,b=function(a){this.handler.call(h,a);B(a)},q=h.mapNavButtons;d&&(l=h.options.mapNavigation=x(h.options.mapNavigation,d));for(;q.length;)q.pop().destroy();t(l.enableButtons,l.enabled)&&!h.renderer.forExport&&
a.objectEach(l.buttons,function(a,d){m=x(l.buttonOptions,a);h.styledMode||(e=m.theme,e.style=x(m.theme.style,m.style),c=(k=e.states)&&k.hover,f=k&&k.select);a=h.renderer.button(m.text,0,0,b,e,c,f,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[d]).attr({width:m.width,height:m.height,title:h.options.lang[d],padding:m.padding,zIndex:5}).add();a.handler=m.onclick;a.align(u(m,{width:a.width,height:2*a.height}),null,m.alignTo);
A(a.element,"dblclick",B);q.push(a)});this.updateEvents(l)};C.prototype.updateEvents=function(a){var h=this.chart;t(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||A(h.container,"dblclick",function(a){h.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());t(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||A(h.container,void 0===d.onmousewheel?"DOMMouseScroll":"mousewheel",
function(a){h.pointer.onContainerMouseWheel(a);B(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};u(h.prototype,{fitToBox:function(a,d){[["x","width"],["y","height"]].forEach(function(h){var l=h[0];h=h[1];a[l]+a[h]>d[l]+d[h]&&(a[h]>d[h]?(a[h]=d[h],a[l]=d[l]):a[l]=d[l]+d[h]-a[h]);a[h]>d[h]&&(a[h]=d[h]);a[l]<d[l]&&(a[l]=d[l])});return a},mapZoom:function(a,d,h,m,e){var k=this.xAxis[0],c=k.max-k.min,f=t(d,k.min+c/2),b=c*a,c=this.yAxis[0],l=c.max-c.min,r=t(h,c.min+
l/2),l=l*a,f=this.fitToBox({x:f-b*(m?(m-k.pos)/k.len:.5),y:r-l*(e?(e-c.pos)/c.len:.5),width:b,height:l},{x:k.dataMin,y:c.dataMin,width:k.dataMax-k.dataMin,height:c.dataMax-c.dataMin}),b=f.x<=k.dataMin&&f.width>=k.dataMax-k.dataMin&&f.y<=c.dataMin&&f.height>=c.dataMax-c.dataMin;m&&(k.fixTo=[m-k.pos,d]);e&&(c.fixTo=[e-c.pos,h]);void 0===a||b?(k.setExtremes(void 0,void 0,!1),c.setExtremes(void 0,void 0,!1)):(k.setExtremes(f.x,f.x+f.width,!1),c.setExtremes(f.y,f.y+f.height,!1));this.redraw()}});A(h,"beforeRender",
function(){this.mapNavigation=new C(this);this.mapNavigation.update()});a.MapNavigation=C})(G);(function(a){var B=a.extend,C=a.pick,A=a.Pointer;a=a.wrap;B(A.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,
a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,h;a=this.normalize(a);h=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,h),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(A.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;C(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,
1))});a(A.prototype,"pinchTranslate",function(a,d,u,x,t,w,n){a.call(this,d,u,x,t,w,n);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=x.scaleX>x.scaleY,this.pinchTranslateDirection(!a,d,u,x,t,w,n,a?x.scaleX:x.scaleY))})})(G);(function(a){var B=a.colorPointMixin,C=a.extend,A=a.isNumber,h=a.merge,d=a.noop,u=a.pick,x=a.isArray,t=a.Point,w=a.Series,n=a.seriesType,l=a.seriesTypes,m=a.splat;n("map","scatter",{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,
overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"}}},h(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:d,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],
getBox:function(e){var d=Number.MAX_VALUE,c=-d,f=d,b=-d,h=d,l=d,m=this.xAxis,n=this.yAxis,t;(e||[]).forEach(function(e){if(e.path){"string"===typeof e.path&&(e.path=a.splitPath(e.path));var k=e.path||[],m=k.length,q=!1,g=-d,r=d,p=-d,n=d,v=e.properties;if(!e._foundBox){for(;m--;)A(k[m])&&(q?(g=Math.max(g,k[m]),r=Math.min(r,k[m])):(p=Math.max(p,k[m]),n=Math.min(n,k[m])),q=!q);e._midX=r+(g-r)*u(e.middleX,v&&v["hc-middle-x"],.5);e._midY=n+(p-n)*u(e.middleY,v&&v["hc-middle-y"],.5);e._maxX=g;e._minX=r;
e._maxY=p;e._minY=n;e.labelrank=u(e.labelrank,(g-r)*(p-n));e._foundBox=!0}c=Math.max(c,e._maxX);f=Math.min(f,e._minX);b=Math.max(b,e._maxY);h=Math.min(h,e._minY);l=Math.min(e._maxX-e._minX,e._maxY-e._minY,l);t=!0}});t&&(this.minY=Math.min(h,u(this.minY,d)),this.maxY=Math.max(b,u(this.maxY,-d)),this.minX=Math.min(f,u(this.minX,d)),this.maxX=Math.max(c,u(this.maxX,-d)),m&&void 0===m.options.minRange&&(m.minRange=Math.min(5*l,(this.maxX-this.minX)/5,m.minRange||d)),n&&void 0===n.options.minRange&&(n.minRange=
Math.min(5*l,(this.maxY-this.minY)/5,n.minRange||d)))},getExtremes:function(){w.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var e=!1,c=this.xAxis,d=this.yAxis,b=c.min,h=c.transA,c=c.minPixelPadding,l=d.min,m=d.transA,d=d.minPixelPadding,n,t=[];if(a)for(n=a.length;n--;)A(a[n])?(t[n]=e?(a[n]-b)*h+c:
(a[n]-l)*m+d,e=!e):t[n]=a[n];return t},setData:function(e,d,c,f){var b=this.options,k=this.chart.options.chart,l=k&&k.map,n=b.mapData,t=b.joinBy,u=null===t,p=b.keys||this.pointArrayMap,z=[],B={},C=this.chart.mapTransforms;!n&&l&&(n="string"===typeof l?a.maps[l]:l);u&&(t="_i");t=this.joinBy=m(t);t[1]||(t[1]=t[0]);e&&e.forEach(function(c,d){var f=0;if(A(c))e[d]={value:c};else if(x(c)){e[d]={};!b.keys&&c.length>p.length&&"string"===typeof c[0]&&(e[d]["hc-key"]=c[0],++f);for(var g=0;g<p.length;++g,++f)p[g]&&
void 0!==c[f]&&(0<p[g].indexOf(".")?a.Point.prototype.setNestedProperty(e[d],c[f],p[g]):e[d][p[g]]=c[f])}u&&(e[d]._i=d)});this.getBox(e);(this.chart.mapTransforms=C=k&&k.mapTransforms||n&&n["hc-transform"]||C)&&a.objectEach(C,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(n){"FeatureCollection"===n.type&&(this.mapTitle=n.title,n=a.geojson(n,this.type,this));this.mapData=n;this.mapMap={};for(C=0;C<n.length;C++)k=n[C],l=k.properties,k._i=C,t[0]&&l&&l[t[0]]&&
(k[t[0]]=l[t[0]]),B[k[t[0]]]=k;this.mapMap=B;e&&t[1]&&e.forEach(function(a){B[a[t[1]]]&&z.push(B[a[t[1]]])});b.allAreas?(this.getBox(n),e=e||[],t[1]&&e.forEach(function(a){z.push(a[t[1]])}),z="|"+z.map(function(a){return a&&a[t[0]]}).join("|")+"|",n.forEach(function(a){t[0]&&-1!==z.indexOf("|"+a[t[0]]+"|")||(e.push(h(a,{value:null})),f=!1)})):this.getBox(z)}w.prototype.setData.call(this,e,d,c,f)},drawGraph:d,drawDataLabels:d,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||
this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,d=a.xAxis,c=a.yAxis,f=a.doFullTranslate();a.generatePoints();a.data.forEach(function(b){b.plotX=d.toPixels(b._midX,!0);b.plotY=c.toPixels(b._midY,!0);f&&(b.shapeType="path",b.shapeArgs={d:a.translatePath(b.path)})});a.translateColors()},pointAttribs:function(a,d){d=a.series.chart.styledMode?this.colorAttribs(a):l.column.prototype.pointAttribs.call(this,a,d);d["stroke-width"]=u(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||
"borderWidth"],"inherit");return d},drawPoints:function(){var a=this,d=a.xAxis,c=a.yAxis,f=a.group,b=a.chart,h=b.renderer,m,n,t,w,p=this.baseTrans,u,x,A,g,y;a.transformGroup||(a.transformGroup=h.g().attr({scaleX:1,scaleY:1}).add(f),a.transformGroup.survive=!0);a.doFullTranslate()?(b.hasRendered&&!b.styledMode&&a.points.forEach(function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,l.column.prototype.drawPoints.apply(a),a.group=f,a.points.forEach(function(c){c.graphic&&
(c.name&&c.graphic.addClass("highcharts-name-"+c.name.replace(/ /g,"-").toLowerCase()),c.properties&&c.properties["hc-key"]&&c.graphic.addClass("highcharts-key-"+c.properties["hc-key"].toLowerCase()),b.styledMode&&c.graphic.css(a.pointAttribs(c,c.selected&&"select")))}),this.baseTrans={originX:d.min-d.minPixelPadding/d.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:d.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):
(m=d.transA/p.transAX,n=c.transA/p.transAY,t=d.toPixels(p.originX,!0),w=c.toPixels(p.originY,!0),.99<m&&1.01>m&&.99<n&&1.01>n&&(n=m=1,t=Math.round(t),w=Math.round(w)),u=this.transformGroup,b.renderer.globalAnimation?(x=u.attr("translateX"),A=u.attr("translateY"),g=u.attr("scaleX"),y=u.attr("scaleY"),u.attr({animator:0}).animate({animator:1},{step:function(a,b){u.attr({translateX:x+(t-x)*b.pos,translateY:A+(w-A)*b.pos,scaleX:g+(m-g)*b.pos,scaleY:y+(n-y)*b.pos})}})):u.attr({translateX:t,translateY:w,
scaleX:m,scaleY:n}));b.styledMode||f.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(m||1));this.drawMapDataLabels()},drawMapDataLabels:function(){w.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,d=w.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){d.call(a)}):d.call(a)},animate:function(a){var d=this.options.animation,
c=this.group,e=this.xAxis,b=this.yAxis,h=e.pos,l=b.pos;this.chart.renderer.isSVG&&(!0===d&&(d={duration:1E3}),a?c.attr({translateX:h+e.len/2,translateY:l+b.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:h,translateY:l,scaleX:1,scaleY:1},d),this.animate=null))},animateDrilldown:function(a){var d=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],e=c.bBox,b=this.chart.options.drilldown.animation;a||(a=Math.min(e.width/d.width,e.height/d.height),c.shapeArgs=
{scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},this.points.forEach(function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},b)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){l.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){l.column.prototype.animateDrillupTo.call(this,a)}}),C({applyOptions:function(a,d){a=t.prototype.applyOptions.call(this,a,d);d=this.series;
var c=d.joinBy;d.mapData&&((c=void 0!==a[c[1]]&&d.mapMap[a[c[1]]])?(d.xyFromShape&&(a.x=c._midX,a.y=c._midY),C(a,c)):a.value=a.value||null);return a},onMouseOver:function(d){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)t.prototype.onMouseOver.call(this,d);else this.series.onMouseOut(d)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},B))})(G);(function(a){var B=
a.seriesType,C=a.seriesTypes;B("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,h){a=C.map.prototype.pointAttribs.call(this,a,h);a.fill=this.options.fillColor;return a},drawLegendSymbol:C.line.prototype.drawLegendSymbol})})(G);(function(a){var B=a.merge,C=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,
overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,h){a=void 0!==a.lat&&void 0!==a.lon?B(a,this.series.chart.fromLatLonToPoint(a)):a;return C.prototype.applyOptions.call(this,a,h)}})})(G);(function(a){var B=a.Series,C=a.Legend,A=a.Chart,h=a.addEvent,d=a.wrap,u=a.color,x=a.isNumber,t=a.numberFormat,w=a.objectEach,n=a.merge,l=a.noop,m=a.pick,e=a.stableSort,k=a.setOptions,c=a.arrayMin,f=a.arrayMax;k({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,
color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});a.BubbleLegend=function(a,c){this.init(a,c)};a.BubbleLegend.prototype={init:function(a,c){this.options=
a;this.visible=!0;this.chart=c.chart;this.legend=c},setState:l,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(a){var b=this.chart,c=this.options,d=m(a.options.itemDistance,20),f,k=c.ranges;f=c.connectorDistance;this.fontMetrics=b.renderer.fontMetrics(c.labels.style.fontSize.toString()+"px");k&&k.length&&x(k[0].value)?(e(k,function(a,b){return b.value-a.value}),this.ranges=k,this.setOptions(),this.render(),b=this.getMaxLabelSize(),k=this.ranges[0].radius,
a=2*k,f=f-k+b.width,f=0<f?f:0,this.maxLabel=b,this.movementX="left"===c.labels.align?f:0,this.legendItemWidth=a+f+d,this.legendItemHeight=a+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=!0},setOptions:function(){var a=this,c=a.ranges,d=a.options,e=a.chart.series[d.seriesIndex],f=a.legend.baseline,k={"z-index":d.zIndex,"stroke-width":d.borderWidth},h={"z-index":d.zIndex,"stroke-width":d.connectorWidth},l=a.getLabelStyles(),t=e.options.marker.fillOpacity,w=a.chart.styledMode;c.forEach(function(b,
q){w||(k.stroke=m(b.borderColor,d.borderColor,e.color),k.fill=m(b.color,d.color,1!==t?u(e.color).setOpacity(t).get("rgba"):e.color),h.stroke=m(b.connectorColor,d.connectorColor,e.color));c[q].radius=a.getRangeRadius(b.value);c[q]=n(c[q],{center:c[0].radius-c[q].radius+f});w||n(!0,c[q],{bubbleStyle:n(!1,k),connectorStyle:n(!1,h),labelStyle:l})})},getLabelStyles:function(){var a=this.options,c={},d="left"===a.labels.align,e=this.legend.options.rtl;w(a.labels.style,function(a,b){"color"!==b&&"fontSize"!==
b&&"z-index"!==b&&(c[b]=a)});return n(!1,c,{"font-size":a.labels.style.fontSize,fill:m(a.labels.style.color,"#000000"),"z-index":a.zIndex,align:e||d?"right":"left"})},getRangeRadius:function(a){var b=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,b.ranges[b.ranges.length-1].value,b.ranges[0].value,b.minSize,b.maxSize,a)},render:function(){var a=this,c=a.chart.renderer,d=a.options.zThreshold;a.symbols||(a.symbols={connectors:[],bubbleItems:[],labels:[]});a.legendSymbol=
c.g("bubble-legend");a.legendItem=c.g("bubble-legend-item");a.legendSymbol.translateX=0;a.legendSymbol.translateY=0;a.ranges.forEach(function(b){b.value>=d&&a.renderRange(b)});a.legendSymbol.add(a.legendItem);a.legendItem.add(a.legendGroup);a.hideOverlappingLabels()},renderRange:function(a){var b=this.options,c=b.labels,d=this.chart.renderer,e=this.symbols,f=e.labels,k=a.center,h=Math.abs(a.radius),l=b.connectorDistance,m=c.align,g=c.style.fontSize,l=this.legend.options.rtl||"left"===m?-l:l,c=b.connectorWidth,
n=this.ranges[0].radius,t=k-h-b.borderWidth/2+c/2,w,g=g/2-(this.fontMetrics.h-g)/2,u=d.styledMode;"center"===m&&(l=0,b.connectorDistance=0,a.labelStyle.align="center");m=t+b.labels.y;w=n+l+b.labels.x;e.bubbleItems.push(d.circle(n,k+((t%1?1:.5)-(c%2?0:.5)),h).attr(u?{}:a.bubbleStyle).addClass((u?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendSymbol));e.connectors.push(d.path(d.crispLine(["M",n,t,"L",n+l,t],b.connectorWidth)).attr(u?
{}:a.connectorStyle).addClass((u?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendSymbol));a=d.text(this.formatLabel(a),w,m+g).attr(u?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendSymbol);f.push(a);a.placed=!0;a.alignAttr={x:w,y:m+g}},getMaxLabelSize:function(){var a,c;this.symbols.labels.forEach(function(b){c=b.getBBox(!0);a=a?c.width>a.width?c:a:c});return a||
{}},formatLabel:function(b){var c=this.options,d=c.labels.formatter;return(c=c.labels.format)?a.format(c,b):d?d.call(b):t(b.value,1)},hideOverlappingLabels:function(){var a=this.chart,c=this.symbols;!this.options.labels.allowOverlap&&c&&(a.hideOverlappingLabels(c.labels),c.labels.forEach(function(a,b){a.newOpacity?a.newOpacity!==a.oldOpacity&&c.connectors[b].show():c.connectors[b].hide()}))},getRanges:function(){var a=this.legend.bubbleLegend,d,e=a.options.ranges,k,h=Number.MAX_VALUE,l=-Number.MAX_VALUE;
a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(k=a.zData.filter(x),k.length&&(h=m(a.options.zMin,Math.min(h,Math.max(c(k),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),l=m(a.options.zMax,Math.max(l,f(k)))))});d=h===l?[{value:l}]:[{value:h},{value:(h+l)/2},{value:l,autoRanges:!0}];e.length&&e[0].radius&&d.reverse();d.forEach(function(a,b){e&&e[b]&&(d[b]=n(!1,e[b],a))});return d},predictBubbleSizes:function(){var a=this.chart,c=this.fontMetrics,d=a.legend.options,
e="horizontal"===d.layout,f=e?a.legend.lastLineHeight:0,k=a.plotSizeX,h=a.plotSizeY,l=a.series[this.options.seriesIndex],a=Math.ceil(l.minPxSize),m=Math.ceil(l.maxPxSize),l=l.options.maxSize,n=Math.min(h,k);if(d.floating||!/%$/.test(l))c=m;else if(l=parseFloat(l),c=(n+f-c.h/2)*l/100/(l/100+1),e&&h-c>=k||!e&&k-c>=h)c=m;return[a,Math.ceil(c)]},updateRanges:function(a,c){var b=this.legend.options.bubbleLegend;b.minSize=a;b.maxSize=c;b.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,
c=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(c.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,c.maxPxSize),a.render())}};h(a.Legend,"afterGetAllItems",function(b){var c=this.bubbleLegend,d=this.options,e=d.bubbleLegend,f=this.chart.getVisibleBubbleSeriesIndex();c&&c.ranges&&c.ranges.length&&(e.ranges.length&&(e.autoRanges=!!e.ranges[0].autoRanges),this.destroyItem(c));0<=f&&d.enabled&&e.enabled&&(e.seriesIndex=f,this.bubbleLegend=new a.BubbleLegend(e,
this),this.bubbleLegend.addToLegend(b.allItems))});A.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,c=0;c<a.length;){if(a[c]&&a[c].isBubble&&a[c].visible&&a[c].zData.length)return c;c++}return-1};C.prototype.getLinesHeights=function(){var a=this.allItems,c=[],d,e=a.length,f,k=0;for(f=0;f<e;f++)if(a[f].legendItemHeight&&(a[f].itemHeight=a[f].legendItemHeight),a[f]===a[e-1]||a[f+1]&&a[f]._legendItemPos[1]!==a[f+1]._legendItemPos[1]){c.push({height:0});d=c[c.length-1];for(k;k<=
f;k++)a[k].itemHeight>d.height&&(d.height=a[k].itemHeight);d.step=f}return c};C.prototype.retranslateItems=function(a){var b,c,d,e=this.options.rtl,f=0;this.allItems.forEach(function(k,h){b=k.legendGroup.translateX;c=k._legendItemPos[1];if((d=k.movementX)||e&&k.ranges)d=e?b-k.options.maxSize/2:b+d,k.legendGroup.attr({translateX:d});h>a[f].step&&f++;k.legendGroup.attr({translateY:Math.round(c+a[f].height/2)});k._legendItemPos[1]=c+a[f].height/2})};h(B,"legendItemClick",function(){var a=this.chart,
c=this.visible,d=this.chart.legend;d&&d.bubbleLegend&&(this.visible=!c,this.ignoreSeries=c,a=0<=a.getVisibleBubbleSeriesIndex(),d.bubbleLegend.visible!==a&&(d.update({bubbleLegend:{enabled:a}}),d.bubbleLegend.visible=a),this.visible=c)});d(A.prototype,"drawChartBox",function(a,c,d){var b=this.legend,e=0<=this.getVisibleBubbleSeriesIndex(),f;b&&b.options.enabled&&b.bubbleLegend&&b.options.bubbleLegend.autoRanges&&e?(f=b.bubbleLegend.options,e=b.bubbleLegend.predictBubbleSizes(),b.bubbleLegend.updateRanges(e[0],
e[1]),f.placed||(b.group.placed=!1,b.allItems.forEach(function(a){a.legendGroup.translateY=null})),b.render(),this.getMargins(),this.axes.forEach(function(a){a.render();f.placed||(a.setScale(),a.updateNames(),w(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))}),f.placed=!0,this.getMargins(),a.call(this,c,d),b.bubbleLegend.correctSizes(),b.retranslateItems(b.getLinesHeights())):(a.call(this,c,d),b&&b.options.enabled&&b.bubbleLegend&&(b.render(),b.retranslateItems(b.getLinesHeights())))})})(G);(function(a){var B=
a.arrayMax,C=a.arrayMin,A=a.Axis,h=a.color,d=a.isNumber,u=a.noop,x=a.pick,t=a.pInt,w=a.Point,n=a.Series,l=a.seriesType,m=a.seriesTypes;l("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},
turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(a,d){var c=this.options.marker.fillOpacity;a=n.prototype.pointAttribs.call(this,a,d);1!==c&&(a.fill=h(a.fill).setOpacity(c).get("rgba"));return a},getRadii:function(a,d,c){var e,b=this.zData,k=c.minPxSize,h=c.maxPxSize,l=[],m;e=0;for(c=b.length;e<c;e++)m=b[e],l.push(this.getRadius(a,
d,k,h,m));this.radii=l},getRadius:function(a,k,c,f,b){var e=this.options,h="width"!==e.sizeBy,l=e.zThreshold,m=k-a;e.sizeByAbsoluteValue&&null!==b&&(b=Math.abs(b-l),m=Math.max(k-l,Math.abs(a-l)),a=0);d(b)?b<a?c=c/2-1:(a=0<m?(b-a)/m:.5,h&&0<=a&&(a=Math.sqrt(a)),c=Math.ceil(c+a*(f-c))/2):c=null;return c},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(a){var c=a.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,
y:a.plotY,width:1,height:1}),c.animate(d,this.options.animation))},this),this.animate=null)},translate:function(){var e,k=this.data,c,f,b=this.radii;m.scatter.prototype.translate.call(this);for(e=k.length;e--;)c=k[e],f=b?b[e]:0,d(f)&&f>=this.minPxSize/2?(c.marker=a.extend(c.marker,{radius:f,width:2*f,height:2*f}),c.dlBox={x:c.plotX-f,y:c.plotY-f,width:2*f,height:2*f}):c.shapeArgs=c.plotY=c.dlBox=void 0},alignDataLabel:m.column.prototype.alignDataLabel,buildKDTree:u,applyZones:u},{haloPath:function(a){return w.prototype.haloPath.call(this,
0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});A.prototype.beforePadding=function(){var e=this,k=this.len,c=this.chart,f=0,b=k,h=this.isXAxis,l=h?"xData":"yData",m=this.min,n={},w=Math.min(c.plotWidth,c.plotHeight),p=Number.MAX_VALUE,u=-Number.MAX_VALUE,A=this.max-m,G=k/A,g=[];this.series.forEach(function(b){var d=b.options;!b.bubblePadding||!b.visible&&c.options.chart.ignoreHiddenSeries||(e.allowZoomOutside=!0,g.push(b),h&&(["minSize","maxSize"].forEach(function(a){var b=d[a],c=/%$/.test(b),
b=t(b);n[a]=c?w*b/100:b}),b.minPxSize=n.minSize,b.maxPxSize=Math.max(n.maxSize,n.minSize),b=b.zData.filter(a.isNumber),b.length&&(p=x(d.zMin,Math.min(p,Math.max(C(b),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),u=x(d.zMax,Math.max(u,B(b))))))});g.forEach(function(a){var c=a[l],g=c.length,k;h&&a.getRadii(p,u,a);if(0<A)for(;g--;)d(c[g])&&e.dataMin<=c[g]&&c[g]<=e.dataMax&&(k=a.radii[g],f=Math.min((c[g]-m)*G-k,f),b=Math.max((c[g]-m)*G+k,b))});g.length&&0<A&&!this.isLog&&(b-=k,G*=(k+Math.max(0,
f)-Math.min(b,k))/k,[["min","userMin",f],["max","userMax",b]].forEach(function(a){void 0===x(e.options[a[0]],e[a[1]])&&(e[a[0]]+=a[2]/G)}))}})(G);(function(a){var B=a.merge,C=a.Point,A=a.seriesType,h=a.seriesTypes;h.bubble&&A("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:h.map.prototype.getMapData,getBox:h.map.prototype.getBox,setData:h.map.prototype.setData},{applyOptions:function(a,u){return a&&
void 0!==a.lat&&void 0!==a.lon?C.prototype.applyOptions.call(this,B(a,this.series.chart.fromLatLonToPoint(a)),u):h.map.prototype.pointClass.prototype.applyOptions.call(this,a,u)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(G);(function(a){var B=a.colorPointMixin,C=a.merge,A=a.noop,h=a.pick,d=a.Series,u=a.seriesType,x=a.seriesTypes;u("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",
crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},C(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;x.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=h(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,d=this.xAxis,
n=this.yAxis,l=a.pointPadding||0,m=function(a,c,d){return Math.min(Math.max(c,a),d)},e=this.pointPlacementToXValue();this.generatePoints();this.points.forEach(function(k){var c=(a.colsize||1)/2,f=(a.rowsize||1)/2,b=m(Math.round(d.len-d.translate(k.x-c,0,1,0,1,-e)),-d.len,2*d.len),c=m(Math.round(d.len-d.translate(k.x+c,0,1,0,1,-e)),-d.len,2*d.len),t=m(Math.round(n.translate(k.y-f,0,1,0,1)),-n.len,2*n.len),f=m(Math.round(n.translate(k.y+f,0,1,0,1)),-n.len,2*n.len),r=h(k.pointPadding,l);k.plotX=k.clientX=
(b+c)/2;k.plotY=(t+f)/2;k.shapeType="rect";k.shapeArgs={x:Math.min(b,c)+r,y:Math.min(t,f)+r,width:Math.abs(c-b)-2*r,height:Math.abs(f-t)-2*r}});this.translateColors()},drawPoints:function(){var a=this.chart.styledMode?"css":"attr";x.column.prototype.drawPoints.call(this);this.points.forEach(function(d){d.graphic[a](this.colorAttribs(d))},this)},getValidPoints:function(a,h){return d.prototype.getValidPoints.call(this,a,h,!0)},animate:A,getBox:A,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:x.column.prototype.alignDataLabel,
getExtremes:function(){d.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;d.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var d=this.shapeArgs;return["M",d.x-a,d.y-a,"L",d.x-a,d.y+d.height+a,d.x+d.width+a,d.y+d.height+a,d.x+d.width+a,d.y-a,"Z"]}},B))})(G);(function(a){function B(a,d){var h,l,m,e=!1,k=a.x,c=a.y;a=0;for(h=d.length-1;a<d.length;h=a++)l=d[a][1]>c,m=d[h][1]>c,l!==m&&k<(d[h][0]-d[a][0])*(c-d[a][1])/
(d[h][1]-d[a][1])+d[a][0]&&(e=!e);return e}var C=a.Chart,A=a.extend,h=a.format,d=a.merge,u=a.win,x=a.wrap;C.prototype.transformFromLatLon=function(d,h){if(void 0===u.proj4)return a.error(21,!1,this),{x:0,y:null};d=u.proj4(h.crs,[d.lon,d.lat]);var n=h.cosAngle||h.rotation&&Math.cos(h.rotation),l=h.sinAngle||h.rotation&&Math.sin(h.rotation);d=h.rotation?[d[0]*n+d[1]*l,-d[0]*l+d[1]*n]:d;return{x:((d[0]-(h.xoffset||0))*(h.scale||1)+(h.xpan||0))*(h.jsonres||1)+(h.jsonmarginX||0),y:(((h.yoffset||0)-d[1])*
(h.scale||1)+(h.ypan||0))*(h.jsonres||1)-(h.jsonmarginY||0)}};C.prototype.transformToLatLon=function(d,h){if(void 0===u.proj4)a.error(21,!1,this);else{d={x:((d.x-(h.jsonmarginX||0))/(h.jsonres||1)-(h.xpan||0))/(h.scale||1)+(h.xoffset||0),y:((-d.y-(h.jsonmarginY||0))/(h.jsonres||1)+(h.ypan||0))/(h.scale||1)+(h.yoffset||0)};var n=h.cosAngle||h.rotation&&Math.cos(h.rotation),l=h.sinAngle||h.rotation&&Math.sin(h.rotation);h=u.proj4(h.crs,"WGS84",h.rotation?{x:d.x*n+d.y*-l,y:d.x*l+d.y*n}:d);return{lat:h.y,
lon:h.x}}};C.prototype.fromPointToLatLon=function(d){var h=this.mapTransforms,n;if(h){for(n in h)if(h.hasOwnProperty(n)&&h[n].hitZone&&B({x:d.x,y:-d.y},h[n].hitZone.coordinates[0]))return this.transformToLatLon(d,h[n]);return this.transformToLatLon(d,h["default"])}a.error(22,!1,this)};C.prototype.fromLatLonToPoint=function(d){var h=this.mapTransforms,n,l;if(!h)return a.error(22,!1,this),{x:0,y:null};for(n in h)if(h.hasOwnProperty(n)&&h[n].hitZone&&(l=this.transformFromLatLon(d,h[n]),B({x:l.x,y:-l.y},
h[n].hitZone.coordinates[0])))return l;return this.transformFromLatLon(d,h["default"])};a.geojson=function(a,d,n){var l=[],m=[],e=function(a){var c,d=a.length;m.push("M");for(c=0;c<d;c++)1===c&&m.push("L"),m.push(a[c][0],-a[c][1])};d=d||"map";a.features.forEach(function(a){var c=a.geometry,f=c.type,c=c.coordinates;a=a.properties;var b;m=[];"map"===d||"mapbubble"===d?("Polygon"===f?(c.forEach(e),m.push("Z")):"MultiPolygon"===f&&(c.forEach(function(a){a.forEach(e)}),m.push("Z")),m.length&&(b={path:m})):
"mapline"===d?("LineString"===f?e(c):"MultiLineString"===f&&c.forEach(e),m.length&&(b={path:m})):"mappoint"===d&&"Point"===f&&(b={x:c[0],y:-c[1]});b&&l.push(A(b,{name:a.name||a.NAME,properties:a}))});n&&a.copyrightShort&&(n.chart.mapCredits=h(n.chart.options.credits.mapText,{geojson:a}),n.chart.mapCreditsFull=h(n.chart.options.credits.mapTextFull,{geojson:a}));return l};x(C.prototype,"addCredits",function(a,h){h=d(!0,this.options.credits,h);this.mapCredits&&(h.href=null);a.call(this,h);this.credits&&
this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(G);(function(a){function B(a,d,h,e,k,c,f,b){return["M",a+k,d,"L",a+h-c,d,"C",a+h-c/2,d,a+h,d+c/2,a+h,d+c,"L",a+h,d+e-f,"C",a+h,d+e-f/2,a+h-f/2,d+e,a+h-f,d+e,"L",a+b,d+e,"C",a+b/2,d+e,a,d+e-b/2,a,d+e-b,"L",a,d+k,"C",a,d+k/2,a+k/2,d,a+k,d,"Z"]}var C=a.Chart,A=a.defaultOptions,h=a.extend,d=a.merge,u=a.pick,x=a.Renderer,t=a.SVGRenderer,w=a.VMLRenderer;h(A.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});A.mapNavigation={buttonOptions:{alignTo:"plotBox",
align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));
return a};a.maps={};t.prototype.symbols.topbutton=function(a,d,h,e,k){return B(a-1,d-1,h,e,k.r,k.r,0,0)};t.prototype.symbols.bottombutton=function(a,d,h,e,k){return B(a-1,d-1,h,e,0,0,k.r,k.r)};x===w&&["topbutton","bottombutton"].forEach(function(a){w.prototype.symbols[a]=t.prototype.symbols[a]});a.Map=a.mapChart=function(h,l,m){var e="string"===typeof h||h.nodeName,k=arguments[e?1:0],c=k,f={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},b,n=a.getOptions().credits;b=k.series;k.series=
null;k=d({chart:{panning:"xy",type:"map"},credits:{mapText:u(n.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:u(n.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:f,yAxis:d(f,{reversed:!0})},k,{chart:{inverted:!1,alignTicks:!1}});k.series=c.series=b;return e?new C(h,k,m):new C(k,l)}})(G);return G});
//# sourceMappingURL=highmaps.js.map
