/** * Highstock JS v11.2.0 (2023-10-30) * * (c) 2009-2021 Torstein Honsi * * License: www.highcharts.com/license */!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highstock",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(t){"use strict";var e={};function i(e,i,o,s){e.hasOwnProperty(i)||(e[i]=s.apply(null,o),"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.2.0",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=-1!==i.userAgent.indexOf("Chrome"),i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.hasTouch=!!i.win.TouchEvent,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){var t=!1;if(!i.isMS){var e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e}),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(t){var e,i,o,s=t.charts,r=t.doc,n=t.win;function a(e,i,o,s){var r=i?"Highcharts error":"Highcharts warning";32===e&&(e="".concat(r,": Deprecated member"));var h=f(e),l=h?"".concat(r," #").concat(e,": www.highcharts.com/errors/").concat(e,"/"):e.toString();if(void 0!==s){var c="";h&&(l+="?"),C(s,function(t,e){c+="\n - ".concat(e,": ").concat(t),h&&(l+=encodeURI(e)+"="+encodeURI(t))}),l+=c}w(t,"displayError",{chart:o,code:e,message:l,params:s},function(){if(i)throw Error(l);n.console&&-1===a.messages.indexOf(l)&&console.warn(l)}),a.messages.push(l)}function h(t,e){return parseInt(t,e||10)}function l(t){return"string"==typeof t}function c(t){var e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function d(t,e){return!!t&&"object"==typeof t&&(!e||!c(t))}function p(t){return d(t)&&"number"==typeof t.nodeType}function u(t){var e=t&&t.constructor;return!!(d(t,!0)&&!p(t)&&e&&e.name&&"Object"!==e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function g(t){return null!=t}function v(t,e,i){var o,s=l(e)&&!g(i),r=function(e,i){g(e)?t.setAttribute(i,e):s?(o=t.getAttribute(i))||"class"!==i||(o=t.getAttribute(i+"Name")):t.removeAttribute(i)};return l(e)?r(i,e):C(e,r),o}function m(t){return c(t)?t:[t]}function x(t,e){var i;for(i in t||(t={}),e)t[i]=e[i];return t}function y(){for(var t=arguments,e=t.length,i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(a||(a={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};var k=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){var i,o=t.length;for(i=0;ii&&(i=t[e]);return i},arrayMin:function(t){for(var e=t.length,i=t[0];e--;)t[e]e?t-1&&s[h]){i=m(i),r[h]=[];for(var l=0;l1)for(s=t.length-1;s>0;s--)(o=t[s]-t[s-1])<0&&!r?(null==e||e(),e=void 0):o&&(void 0===i||o=r-1&&(r=Math.floor(a)),Math.max(0,r-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));var l=n.getComputedStyle(e,void 0);return l&&(s=l.getPropertyValue(i),y(o,"opacity"!==i)&&(s=h(s))),s},inArray:function(t,e,i){return a(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){var i,o=t.options.index,s=e.length;for(i=t.options.isInternal?s:0;i=t))&&(s||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return M(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(t){var e=r.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:y,pInt:h,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:A,splat:m,stableSort:function(t,e){var i,o,s=t.length;for(o=0;o0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:T,useSerialIds:function(t){return o=y(t,o)},wrap:function(t,e,i){var o=t[e];t[e]=function(){var t=arguments,e=this;return i.apply(this,[function(){return o.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}}),i(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),i(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i=t.win,o=e.defined,s=e.error,r=e.extend,n=e.isObject,a=e.merge,h=e.objectEach,l=e.pad,c=e.pick,d=e.splat,p=e.timeUnits,u=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,f=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;return function(){function e(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}return e.prototype.get=function(t,e){if(this.variableTimezone||this.timezoneOffset){var i=e.getTime(),o=i-this.getTimezoneOffset(e);e.setTime(o);var s=e["getUTC"+t]();return e.setTime(i),s}return this.useUTC?e["getUTC"+t]():e["get"+t]()},e.prototype.set=function(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);var o=this.getTimezoneOffset(e),s=e.getTime()-o;e.setTime(s),e["setUTC"+t](i);var r=this.getTimezoneOffset(e);return s=e.getTime()+r,e.setTime(s)}return this.useUTC||u&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)},e.prototype.update=function(t){void 0===t&&(t={});var e=c(t.useUTC,!0);this.options=t=a(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)},e.prototype.makeTime=function(t,e,i,o,s,r){var n,a,h;return this.useUTC?(n=this.Date.UTC.apply(0,arguments),a=this.getTimezoneOffset(n),n+=a,a!==(h=this.getTimezoneOffset(n))?n+=h-a:a-36e5!==this.getTimezoneOffset(n-36e5)||f||(n-=36e5)):n=new this.Date(t,e,c(i,1),c(o,0),c(s,0),c(r,0)).getTime(),n},e.prototype.timezoneOffsetFunction=function(){var t=this,e=this.options,o=e.getTimezoneOffset,r=e.moment||i.moment;if(!this.useUTC)return function(t){return 6e4*new Date(t.toString()).getTimezoneOffset()};if(e.timezone){if(r)return function(t){return-(6e4*r.tz(t,e.timezone).utcOffset())};s(25)}return this.useUTC&&o?function(t){return 6e4*o(t.valueOf())}:function(){return 6e4*(t.timezoneOffset||0)}},e.prototype.dateFormat=function(e,i,s){if(!o(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");var n=this,a=new this.Date(i),d=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),v=t.defaultOptions.lang,m=v&&v.weekdays,x=v&&v.shortWeekdays;return h(r({a:x?x[p]:m[p].substr(0,3),A:m[p],d:l(u),e:l(u,2," "),w:p,b:v.shortMonths[f],B:v.months[f],m:l(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:l(d),k:d,I:l(d%12||12),l:d%12||12,M:l(this.get("Minutes",a)),p:d<12?"AM":"PM",P:d<12?"am":"pm",S:l(this.get("Seconds",a)),L:l(Math.floor(i%1e3),3)},t.dateFormats),function(t,o){for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(n,i):t)}),s?e.substr(0,1).toUpperCase()+e.substr(1):e},e.prototype.resolveDTLFormat=function(t){return n(t,!0)?t:{main:(t=d(t))[0],from:t[1],to:t[2]}},e.prototype.getTimeTicks=function(t,e,i,s){var n,a,h,l,d=this,u=d.Date,f=[],g={},v=new u(e),m=t.unitRange,x=t.count||1;if(s=c(s,1),o(e)){d.set("Milliseconds",v,m>=p.second?0:x*Math.floor(d.get("Milliseconds",v)/x)),m>=p.second&&d.set("Seconds",v,m>=p.minute?0:x*Math.floor(d.get("Seconds",v)/x)),m>=p.minute&&d.set("Minutes",v,m>=p.hour?0:x*Math.floor(d.get("Minutes",v)/x)),m>=p.hour&&d.set("Hours",v,m>=p.day?0:x*Math.floor(d.get("Hours",v)/x)),m>=p.day&&d.set("Date",v,m>=p.month?1:Math.max(1,x*Math.floor(d.get("Date",v)/x))),m>=p.month&&(d.set("Month",v,m>=p.year?0:x*Math.floor(d.get("Month",v)/x)),a=d.get("FullYear",v)),m>=p.year&&(a-=a%x,d.set("FullYear",v,a)),m===p.week&&(l=d.get("Day",v),d.set("Date",v,d.get("Date",v)-l+s+(l4*p.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));var M=v.getTime();for(n=1;M1?M=d.makeTime(a,y,b,S+n*x):M+=m*x,n++;f.push(M),m<=p.hour&&f.length<1e4&&f.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(g[t]="day")})}return f.info=r(t,{higherRanks:g,totalRange:m*x}),f},e.prototype.getDateFormat=function(t,e,i,o){var s=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",h=a;for(a in p){if(t===p.week&&+this.dateFormat("%w",e)===i&&s.substr(6)===r.substr(6)){a="week";break}if(p[a]>t){a=h;break}if(n[a]&&s.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(h=a)}return this.resolveDTLFormat(o[a]).main},e}()}),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r=e.isTouchDevice,n=e.svg,a=s.merge,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};h.chart.styledMode=!1;var l=new o(h.time);return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(a(h.global,h.time,t.global,t.time)):e.time=l),h}}}),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i=e.isNumber,o=e.merge,s=e.pInt;return function(){function e(i){this.rgba=[NaN,NaN,NaN,NaN],this.input=i;var o=t.Color;if(o&&o!==e)return new o(i);this.init(i)}return e.parse=function(t){return t?new e(t):e.None},e.prototype.init=function(t){var i,o,s,r;if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(function(t){return new e(t[1])});else if("string"==typeof t){if(this.input=t=e.names[t.toLowerCase()]||t,"#"===t.charAt(0)){var n=t.length,a=parseInt(t.substr(1),16);7===n?o=[(16711680&a)>>16,(65280&a)>>8,255&a,1]:4===n&&(o=[(3840&a)>>4|(3840&a)>>8,(240&a)>>4|240&a,(15&a)<<4|15&a,1])}if(!o)for(s=e.parsers.length;s--&&!o;)(i=(r=e.parsers[s]).regex.exec(t))&&(o=r.parse(i))}o&&(this.rgba=o)},e.prototype.get=function(t){var e=this.input,s=this.rgba;if("object"==typeof e&&void 0!==this.stops){var r=o(e);return r.stops=[].slice.call(r.stops),this.stops.forEach(function(e,i){r.stops[i]=[r.stops[i][0],e.get(t)]}),r}return s&&i(s[0])?"rgb"!==t&&(t||1!==s[3])?"a"===t?"".concat(s[3]):"rgba("+s.join(",")+")":"rgb("+s[0]+","+s[1]+","+s[2]+")":e},e.prototype.brighten=function(t){var e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(var o=0;o<3;o++)e[o]+=s(255*t),e[o]<0&&(e[o]=0),e[o]>255&&(e[o]=255);return this},e.prototype.setOpacity=function(t){return this.rgba[3]=t,this},e.prototype.tweenTo=function(t,e){var o=this.rgba,s=t.rgba;if(!i(o[0])||!i(s[0]))return t.input||"none";var r=1!==s[3]||1!==o[3];return(r?"rgba(":"rgb(")+Math.round(s[0]+(o[0]-s[0])*(1-e))+","+Math.round(s[1]+(o[1]-s[1])*(1-e))+","+Math.round(s[2]+(o[2]-s[2])*(1-e))+(r?","+(s[3]+(o[3]-s[3])*(1-e)):"")+")"},e.names={white:"#ffffff",black:"#000000"},e.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(t){return[s(t[1]),s(t[2]),s(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[s(t[1]),s(t[2]),s(t[3]),1]}}],e.None=new e(""),e}()}),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var o=t.parse,s=e.win,r=i.isNumber,n=i.objectEach;return function(){function t(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}return t.prototype.dSetter=function(){var t=this.paths,e=t&&t[0],i=t&&t[1],o=this.now||0,s=[];if(1!==o&&e&&i){if(e.length===i.length&&o<1)for(var n=0;n=h+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,n(l,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=s.easing((o-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e},t.prototype.initPath=function(t,e,i){var o,s,n,a,h=t.startX,l=t.endX,c=i.slice(),d=t.isArea,p=d?2:1,u=e&&e.slice();if(!u)return[c,c];function f(t,e){for(;t.length=e},gt:function(t,e){return t>e},if:function(t){return!!t},le:function(t,e){return t<=e},lt:function(t,e){return t%_@"'= #\(\)]+)\}/g,f=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,g=[],v=/f$/,m=/\.([0-9])/,x=i.lang,y=s&&s.time||o,b=s&&s.numberFormatter||u,S=function(t){var i;return void 0===t&&(t=""),"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},M=0;null!==(n=c.exec(t));){var k=f.exec(n[1]);k&&(n=k,h=!0),a&&a.isBlock||(a={ctx:e,expression:n[1],find:n[0],isBlock:"#"===n[1].charAt(0),start:n.index,startInner:n.index+n[0].length,length:n[0].length});var C=n[1].split(" ")[0].replace("#","");d[C]&&(a.isBlock&&C===a.fn&&M++,a.fn||(a.fn=C));var A="else"===n[1];if(a.isBlock&&a.fn&&(n[1]==="/".concat(a.fn)||A)){if(M)!A&&M--;else{var w=a.startInner,T=t.substr(w,n.index-w);void 0===a.body?(a.body=T,a.startInner=n.index+n[0].length):a.elseBody=T,a.find+=T+n[0],A||(g.push(a),a=void 0)}}else a.isBlock||g.push(a);if(k&&!(null==a?void 0:a.isBlock))break}return g.forEach(function(i){var o,s,r=i.body,n=i.elseBody,a=i.expression,h=i.fn;if(h){var c=[i],u=a.split(" ");for(s=d[h].length;s--;)c.unshift(S(u[s+1]));o=d[h].apply(e,c),i.isBlock&&"boolean"==typeof o&&(o=p(o?r:n,e))}else{var f=a.split(":");if(o=S(f.shift()||""),f.length&&"number"==typeof o){var g=f.join(":");if(v.test(g)){var M=parseInt((g.match(m)||["","-1"])[1],10);null!==o&&(o=b(o,M,x.decimalPoint,g.indexOf(",")>-1?x.thousandsSep:""))}else o=y.dateFormat(g,o)}}t=t.replace(i.find,l(o,""))}),h?p(t,e,s):t}function u(t,e,o,s){t=+t||0,e=+e;var r,n,h=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(d,20):a(e)?e&&p[1]&&p[1]<0&&((n=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(n).split("e")[0],e=n):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;var f=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,d)-1)).toFixed(e),g=String(c(f)),v=g.length>3?g.length%3:0;return o=l(o,h.decimalPoint),s=l(s,h.thousandsSep),r=(t<0?"-":"")+(v?g.substr(0,v)+s:""),0>+p[1]&&!u?r="0":r+=g.substr(v).replace(/(\d{3})(?=\d)/g,"$1"+s),e&&(r+=o+f.slice(-e)),p[1]&&0!=+r&&(r+="e"+p[1]),r}return{dateFormat:function(t,e,i){return o.dateFormat(t,e,i)},format:p,helpers:d,numberFormat:u}}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e,i=t.clamp,o=t.pick,s=t.pushUnique,r=t.stableSort;return(e||(e={})).distribute=function t(e,n,a){var h,l,c,d,p,u,f=e,g=f.reducedLen||n,v=function(t,e){return t.target-e.target},m=[],x=e.length,y=[],b=m.push,S=!0,M=0;for(h=x;h--;)M+=e[h].size;if(M>g){for(r(e,function(t,e){return(e.rank||0)-(t.rank||0)}),c=(u=e[0].rank===e[e.length-1].rank)?x/2:-1,l=u?c:x-1;c&&M>g;)d=e[h=Math.floor(l)],s(y,h)&&(M-=d.size),l+=c,u&&l>=e.length&&(c/=2,l=c);y.sort(function(t,e){return e-t}).forEach(function(t){return b.apply(m,e.splice(t,1))})}for(r(e,v),e=e.map(function(t){return{size:t.size,targets:[t.target],align:o(t.align,.5)}});S;){for(h=e.length;h--;)d=e[h],p=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(p-d.size*d.align,0,n-d.size);for(h=e.length,S=!1;h--;)h>0&&e[h-1].pos+e[h-1].size>e[h].pos&&(e[h-1].size+=e[h].size,e[h-1].targets=e[h-1].targets.concat(e[h].targets),e[h-1].align=.5,e[h-1].pos+e[h-1].size>n&&(e[h-1].pos=n-e[h-1].size),e.splice(h,1),S=!0)}return b.apply(f,m),h=0,e.some(function(e){var i=0;return(e.targets||[]).some(function(){return(f[h].pos=e.pos+i,void 0!==a&&Math.abs(f[h].pos-f[h].target)>a)?(f.slice(0,h+1).forEach(function(t){return delete t.pos}),f.reducedLen=(f.reducedLen||n)-.1*n,f.reducedLen>.1*n&&t(f,n,a),!0):(i+=f[h].size,h++,!1)})}),r(f,v),f},e}),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s=t.animate,r=t.animObject,n=t.stop,a=i.deg2rad,h=i.doc,l=(i.noop,i.svg),c=i.SVG_NS,d=i.win,p=o.addEvent,u=o.attr,f=o.createElement,g=o.css,v=o.defined,m=o.erase,x=o.extend,y=o.fireEvent,b=o.isArray,S=o.isFunction,M=o.isObject,k=o.isString,C=o.merge,A=o.objectEach,w=o.pick,T=o.pInt,P=o.syncTimeout,O=o.uniqueKey,E=function(){function t(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=c}return t.prototype._defaultGetter=function(t){var e=w(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e},t.prototype._defaultSetter=function(t,e,i){i.setAttribute(e,t)},t.prototype.add=function(t){var e,i=this.renderer,o=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(o),this.onAdd&&this.onAdd(),this},t.prototype.addClass=function(t,e){var i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this},t.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},t.prototype.align=function(t,e,i){var o,s,r,n,a,h={},l=this.renderer,c=l.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||k(i))&&(this.alignTo=r=i||"renderer",m(c,this),c.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,r=this.alignTo),i=w(i,l[r],"scrollablePlotBox"===r?l.plotBox:void 0,l);var d=t.align,p=t.verticalAlign;return o=(i.x||0)+(t.x||0),s=(i.y||0)+(t.y||0),"right"===d?n=1:"center"===d&&(n=2),n&&(o+=(i.width-(t.width||0))/n),h[e?"translateX":"x"]=Math.round(o),"bottom"===p?a=1:"middle"===p&&(a=2),a&&(s+=(i.height-(t.height||0))/a),h[e?"translateY":"y"]=Math.round(s),this[this.placed?"animate":"attr"](h),this.placed=!0,this.alignAttr=h,this},t.prototype.alignSetter=function(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))},t.prototype.animate=function(t,e,i){var o=this,n=r(w(e,this.renderer.globalAnimation,!0)),a=n.defer;return h.hidden&&(n.duration=0),0!==n.duration?(i&&(n.complete=i),P(function(){o.element&&s(o,t,n)},a)):(this.attr(t,void 0,i||n.complete),A(t,function(t,e){n.step&&n.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this},t.prototype.applyTextOutline=function(t){var e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));var o=t.split(" "),s=o[o.length-1],r=o[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();var n=h.createElementNS(c,"tspan");u(n,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":r,"stroke-linejoin":"round"});var a=e.querySelector("textPath")||e;[].forEach.call(a.childNodes,function(t){var e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(t){return e.removeAttribute(t)}),n.appendChild(e)});var l=0;[].forEach.call(a.querySelectorAll("text tspan"),function(t){l+=Number(t.getAttribute("dy"))});var d=h.createElementNS(c,"tspan");d.textContent="​",u(d,{x:Number(e.getAttribute("x")),dy:-l}),n.appendChild(d),a.insertBefore(n,a.firstChild)}},t.prototype.attr=function(e,i,o,s){var r,a,h,l=this.element,c=t.symbolCustomAttribs,d=this;return"string"==typeof e&&void 0!==i&&(r=e,(e={})[r]=i),"string"==typeof e?d=(this[e+"Getter"]||this._defaultGetter).call(this,e,l):(A(e,function(t,i){h=!1,s||n(this,i),this.symbolName&&-1!==c.indexOf(i)&&(a||(this.symbolAttr(e),a=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,t,i,l)},this),this.afterSetters()),o&&o.call(this),d},t.prototype.clip=function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":"none")},t.prototype.crisp=function(t,e){var i=Math.round(e=e||t.strokeWidth||0)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),v(t.strokeWidth)&&(t.strokeWidth=e),t},t.prototype.complexColor=function(t,i,o){var s,r,n,a,h,l,c,d,p,u,f,g=this.renderer,m=[];y(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],h=g.gradients,l=t.stops,p=o.radialReference,b(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!v(n.gradientUnits)&&(a=n,n=C(n,g.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),A(n,function(t,e){"id"!==e&&m.push(e,t)}),A(l,function(t){m.push(t)}),h[m=m.join(",")])u=h[m].attr("id");else{n.id=u=O();var x=h[m]=g.createElement(r).attr(n).add(g.defs);x.radAttr=a,x.stops=[],l.forEach(function(t){0===t[1].indexOf("rgba")?(c=(s=e.parse(t[1])).get("rgb"),d=s.get("a")):(c=t[1],d=1);var i=g.createElement("stop").attr({offset:t[0],"stop-color":c,"stop-opacity":d}).add(x);x.stops.push(i)})}f="url("+g.url+"#"+u+")",o.setAttribute(i,f),o.gradient=m,t.toString=function(){return f}}})},t.prototype.css=function(t){var e,i=this.styles,o={},s=this.element,r=!i;if(i&&A(t,function(t,e){i&&i[e]!==t&&(o[e]=t,r=!0)}),r){i&&(t=x(i,o)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=T(t.width)),this.styles=t,e&&!l&&this.renderer.forExport&&delete t.width;var n=C(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(function(t){return n&&delete n[t]}),n.color&&(n.fill=n.color)),g(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this},t.prototype.dashstyleSetter=function(t){var e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){var o=t.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(e=o.length;e--;)o[e]=""+T(o[e])*w(i,NaN);t=o.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}},t.prototype.destroy=function(){var t,e,i,o=this,s=o.element||{},r=o.renderer,a=s.ownerSVGElement,h="SPAN"===s.nodeName&&o.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,n(o),o.clipPath&&a){var l=o.clipPath;[].forEach.call(a.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(l.element.id)>-1&&t.removeAttribute("clip-path")}),o.clipPath=l.destroy()}if(o.connector=null===(t=o.connector)||void 0===t?void 0:t.destroy(),o.stops){for(i=0;i0)){for(;m.length>250;)delete f[m.shift()];f[h]||m.push(h),f[h]=o}return o},t.prototype.getStyle=function(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)},t.prototype.hasClass=function(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)},t.prototype.hide=function(){return this.attr({visibility:"hidden"})},t.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},t.prototype.init=function(t,e){this.element="span"===e?f(e):h.createElementNS(this.SVG_NS,e),this.renderer=t,y(this,"afterInit")},t.prototype.on=function(t,e){var i=this.onEvents;return i[t]&&i[t](),i[t]=p(this.element,t,e),this},t.prototype.opacitySetter=function(t,e,i){var o=Number(Number(t).toFixed(3));this.opacity=o,i.setAttribute(e,o)},t.prototype.removeClass=function(t){return this.attr("class",(""+this.attr("class")).replace(k(t)?new RegExp("(^| )".concat(t,"( |$)")):t," ").replace(/ +/g," ").trim())},t.prototype.removeTextOutline=function(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)},t.prototype.safeRemoveChild=function(t){var e=t.parentNode;e&&e.removeChild(t)},t.prototype.setRadialReference=function(t){var e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this},t.prototype.setTextPath=function(t,e){var i=this;e=C(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);var o=this.renderer.url,s=this.text||this,r=s.textPath,n=e.attributes,a=e.enabled;if(t=t||r&&r.path,r&&r.undo(),t&&a){var h=p(s,"afterModifyTree",function(e){if(t&&a){var r=t.attr("id");r||t.attr("id",r=O());var h={x:0,y:0};v(n.dx)&&(h.dx=n.dx,delete n.dx),v(n.dy)&&(h.dy=n.dy,delete n.dy),s.attr(h),i.attr({transform:""}),i.box&&(i.box=i.box.destroy());var l=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:x(n,{"text-anchor":n.textAnchor,href:"".concat(o,"#").concat(r)}),children:l}}});s.textPath={path:t,undo:h}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this},t.prototype.shadow=function(t){var e,i=this.renderer,o=C((null===(e=this.parentGroup)||void 0===e?void 0:e.rotation)===90?{offsetX:-1,offsetY:-1}:{},M(t)?t:{}),s=i.shadowDefinition(o);return this.attr({filter:t?"url(".concat(i.url,"#").concat(s,")"):"none"})},t.prototype.show=function(t){return void 0===t&&(t=!0),this.attr({visibility:t?"inherit":"visible"})},t.prototype["stroke-widthSetter"]=function(t,e,i){this[e]=t,i.setAttribute(e,t)},t.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var t,e=this.getStyle("stroke-width"),i=0;return e.indexOf("px")===e.length-2?i=T(e):""!==e&&(u(t=h.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i},t.prototype.symbolAttr=function(e){var i=this;t.symbolCustomAttribs.forEach(function(t){i[t]=w(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})},t.prototype.textSetter=function(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))},t.prototype.titleSetter=function(t){var e=this.element,i=e.getElementsByTagName("title")[0]||h.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=String(w(t,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/g,">")},t.prototype.toFront=function(){var t=this.element;return t.parentNode.appendChild(t),this},t.prototype.translate=function(t,e){return this.attr({translateX:t,translateY:e})},t.prototype.updateTransform=function(){var t=this.element,e=this.matrix,i=this.rotation,o=void 0===i?0:i,s=this.scaleX,r=this.scaleY,n=this.translateX,a=this.translateY,h=["translate("+(void 0===n?0:n)+","+(void 0===a?0:a)+")"];v(e)&&h.push("matrix("+e.join(",")+")"),o&&h.push("rotate("+o+" "+w(this.rotationOriginX,t.getAttribute("x"),0)+" "+w(this.rotationOriginY,t.getAttribute("y")||0)+")"),(v(s)||v(r))&&h.push("scale("+w(s,1)+" "+w(r,1)+")"),h.length&&!(this.text||this).textPath&&t.setAttribute("transform",h.join(" "))},t.prototype.visibilitySetter=function(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t},t.prototype.xGetter=function(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)},t.prototype.zIndexSetter=function(t,e){var i,o,s,r,n,a=this.renderer,h=this.parentGroup,l=(h||a).element||a.box,c=this.element,d=l===a.box,p=!1,u=this.added;if(v(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):v(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&h&&(h.handleZ=!0),n=(i=l.childNodes).length-1;n>=0&&!p;n--)r=!v(s=(o=i[n]).getAttribute("data-z-index")),o!==c&&(t<0&&r&&!d&&!n?(l.insertBefore(c,i[n]),p=!0):(T(s)<=t||r&&(!v(t)||t>=0))&&(l.insertBefore(c,i[n+1]),p=!0));p||(l.insertBefore(c,i[d?3:0]),p=!0)}return p},t.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],t}();return E.prototype.strokeSetter=E.prototype.fillSetter,E.prototype.yGetter=E.prototype.xGetter,E.prototype.matrixSetter=E.prototype.rotationOriginXSetter=E.prototype.rotationOriginYSetter=E.prototype.rotationSetter=E.prototype.scaleXSetter=E.prototype.scaleYSetter=E.prototype.translateXSetter=E.prototype.translateYSetter=E.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},E}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i,o;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t){return void 0===t&&(t=o),i.rendererTypes[t]||i.rendererTypes[o]},i.registerRendererType=function(e,s,r){i.rendererTypes[e]=s,(!o||r)&&(o=e,t.Renderer=s)},e}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){var i,o=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}),s=e.defined,r=e.extend,n=e.isNumber,a=e.merge,h=e.pick,l=e.removeEvent;return function(e){function i(t,o,s,r,n,a,h,l,c,d){var p,u=e.call(this)||this;return u.paddingLeftSetter=u.paddingSetter,u.paddingRightSetter=u.paddingSetter,u.init(t,"g"),u.textStr=o,u.x=s,u.y=r,u.anchorX=a,u.anchorY=h,u.baseline=c,u.className=d,u.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&u.addClass("highcharts-"+d),u.text=t.text(void 0,0,0,l).attr({zIndex:1}),"string"==typeof n&&((p=/^url\((.*?)\)$/.test(n))||u.renderer.symbols[n])&&(u.symbolKey=n),u.bBox=i.emptyBBox,u.padding=3,u.baselineOffset=0,u.needsBox=t.styledMode||p,u.deferredAttr={},u.alignFactor=0,u}return o(i,e),i.prototype.alignSetter=function(t){var e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))},i.prototype.anchorXSetter=function(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)},i.prototype.anchorYSetter=function(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)},i.prototype.boxAttr=function(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e},i.prototype.css=function(e){if(e){var o={};e=a(e),i.textProps.forEach(function(t){void 0!==e[t]&&(o[t]=e[t],delete e[t])}),this.text.css(o),"fontSize"in o||"fontWeight"in o?this.updateTextPadding():("width"in o||"textOverflow"in o)&&this.updateBoxSize()}return t.prototype.css.call(this,e)},i.prototype.destroy=function(){l(this.element,"mouseenter"),l(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)},i.prototype.fillSetter=function(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)},i.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var t=this.padding,e=h(this.paddingLeft,t);return{width:this.width||0,height:this.height||0,x:this.bBox.x-e,y:this.bBox.y-t}},i.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},i.prototype.heightSetter=function(t){this.heightSetting=t},i.prototype.onAdd=function(){this.text.add(this),this.attr({text:h(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&s(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},i.prototype.paddingSetter=function(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0},i.prototype.rSetter=function(t,e){this.boxAttr(e,t)},i.prototype.strokeSetter=function(t,e){this.stroke=t,this.boxAttr(e,t)},i.prototype["stroke-widthSetter"]=function(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)},i.prototype["text-alignSetter"]=function(t){this.textAlign=t},i.prototype.textSetter=function(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()},i.prototype.updateBoxSize=function(){var t,e=this.text,o={},a=this.padding,h=this.bBox=(!n(this.widthSetting)||!n(this.heightSetting)||this.textAlign)&&s(e.textStr)?e.getBBox():i.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||h.height||0)+2*a;var l=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||l).b,h.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-l.h)/2),this.needsBox&&!e.textPath){if(!this.box){var c=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();c.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),c.add(this)}t=this.getCrispAdjust(),o.x=t,o.y=(this.baseline?-this.baselineOffset:0)+t,o.width=Math.round(this.width),o.height=Math.round(this.height),this.box.attr(r(o,this.deferredAttr)),this.deferredAttr={}}},i.prototype.updateTextPadding=function(){var t=this.text;if(!t.textPath){this.updateBoxSize();var e=this.baseline?0:this.baselineOffset,i=h(this.paddingLeft,this.padding);s(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(i+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(i!==t.x||e!==t.y)&&(t.attr("x",i),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=i,t.y=e}},i.prototype.widthSetter=function(t){this.widthSetting=n(t)?t:void 0},i.prototype.getPaddedWidth=function(){var t=this.padding,e=h(this.paddingLeft,t),i=h(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i},i.prototype.xSetter=function(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)},i.prototype.ySetter=function(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)},i.emptyBBox={width:0,height:0,x:0,y:0},i.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],i}(t)}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){var e=t.defined,i=t.isNumber,o=t.pick;function s(t,i,s,r,n){var a=[];if(n){var h=n.start||0,l=o(n.r,s),c=o(n.r,r||s),d=.001>Math.abs((n.end||0)-h-2*Math.PI),p=(n.end||0)-.001,u=n.innerR,f=o(n.open,d),g=Math.cos(h),v=Math.sin(h),m=Math.cos(p),x=Math.sin(p),y=o(n.longArc,p-h-Math.PI<.001?0:1),b=["A",l,c,0,y,o(n.clockwise,1),t+l*m,i+c*x];b.params={start:h,end:p,cx:t,cy:i},a.push(["M",t+l*g,i+c*v],b),e(u)&&((b=["A",u,u,0,y,e(n.clockwise)?1-n.clockwise:0,t+u*g,i+u*v]).params={start:p,end:h,cx:t,cy:i},a.push(f?["M",t+u*m,i+u*x]:["L",t+u*m,i+u*x],b)),f||a.push(["Z"])}return a}function r(t,e,i,o,s){return s&&s.r?n(t,e,i,o,s):[["M",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]]}function n(t,e,i,o,s){var r=(null==s?void 0:s.r)||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+o-r],["A",r,r,0,0,1,t+i-r,e+o],["L",t+r,e+o],["A",r,r,0,0,1,t,e+o-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:s,callout:function(t,e,o,s,r){var a=Math.min(r&&r.r||0,o,s),h=a+6,l=r&&r.anchorX,c=r&&r.anchorY||0,d=n(t,e,o,s,{r:a});if(!i(l)||l0&&c0)return d;if(t+l>o-h){if(c>e+h&&ce+h&&c0){var p=cs&&lh&&d.splice(1,1,["L",l-6,e],["L",l,e-6],["L",l+6,e],["L",o-a,e]);return d},circle:function(t,e,i,o){return s(t+i/2,e+o/2,i/2,o/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o/2],["L",t+i/2,e+o],["L",t,e+o/2],["Z"]]},rect:r,roundedRect:n,square:r,triangle:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},"triangle-down":function(t,e,i,o){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+o],["Z"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var o=e.doc,s=e.SVG_NS,r=e.win,n=i.attr,a=i.extend,h=i.fireEvent,l=i.isString,c=i.objectEach,d=i.pick;return function(){function e(t){var e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}return e.prototype.buildSVG=function(){var e=this.svgElement,i=e.element,s=e.renderer,r=d(e.textStr,"").toString(),n=-1!==r.indexOf("<"),a=i.childNodes,h=!e.added&&s.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,delete e.actualWidth;for(var p=a.length;p--;)i.removeChild(a[p]);if(n||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||//g.test(r))){if(""!==r){h&&h.appendChild(i);var u=new t(r);this.modifyTree(u.nodes),u.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),h&&h.removeChild(i)}}else i.appendChild(o.createTextNode(this.unescapeEntities(r)));l(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}},e.prototype.modifyDOM=function(){var t,e=this,i=this.svgElement,a=n(i.element,"x");for(i.firstLineMetrics=void 0;t=i.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))i.element.removeChild(t);else break;[].forEach.call(i.element.querySelectorAll("tspan.highcharts-br"),function(t,o){t.nextSibling&&t.previousSibling&&(0===o&&1===t.previousSibling.nodeType&&(i.firstLineMetrics=i.renderer.fontMetrics(t.previousSibling)),n(t,{dy:e.getLineHeight(t.nextSibling),x:a}))});var h=this.width||0;if(h){var l=function(t,r){var l=t.textContent||"",c=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!e.noWrap&&(c.length>1||i.element.childNodes.length>1),p=e.getLineHeight(r),u=0,f=i.actualWidth;if(e.ellipsis)l&&e.truncate(t,l,void 0,0,Math.max(0,h-.8*p),function(t,e){return t.substring(0,e)+"…"});else if(d){for(var g=[],v=[];r.firstChild&&r.firstChild!==t;)v.push(r.firstChild),r.removeChild(r.firstChild);for(;c.length;)c.length&&!e.noWrap&&u>0&&(g.push(t.textContent||""),t.textContent=c.join(" ").replace(/- /g,"-")),e.truncate(t,void 0,c,0===u&&f||0,h,function(t,e){return c.slice(0,e).join(" ").replace(/- /g,"-")}),f=i.actualWidth,u++;v.forEach(function(e){r.insertBefore(e,t)}),g.forEach(function(e){r.insertBefore(o.createTextNode(e),t);var i=o.createElementNS(s,"tspan");i.textContent="​",n(i,{dy:p,x:a}),r.insertBefore(i,t)})}},c=function(t){[].slice.call(t.childNodes).forEach(function(e){e.nodeType===r.Node.TEXT_NODE?l(e,t):(-1!==e.className.baseVal.indexOf("highcharts-br")&&(i.actualWidth=0),c(e))})};c(i.element)}},e.prototype.getLineHeight=function(t){var e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h},e.prototype.modifyTree=function(t){var e=this,i=function(o,s){var r=o.attributes,n=void 0===r?{}:r,h=o.children,l=o.style,c=void 0===l?{}:l,d=o.tagName,p=e.renderer.styledMode;if("b"===d||"strong"===d?p?n.class="highcharts-strong":c.fontWeight="bold":("i"===d||"em"===d)&&(p?n.class="highcharts-emphasized":c.fontStyle="italic"),c&&c.color&&(c.fill=c.color),"br"===d){n.class="highcharts-br",o.textContent="​";var u=t[s+1];u&&u.textContent&&(u.textContent=u.textContent.replace(/^ +/gm,""))}else"a"===d&&h&&h.some(function(t){return"#text"===t.tagName})&&(o.children=[{children:h,tagName:"tspan"}]);"#text"!==d&&"a"!==d&&(o.tagName="tspan"),a(o,{attributes:n,style:c}),h&&h.filter(function(t){return"#text"!==t.tagName}).forEach(i)};t.forEach(i),h(this.svgElement,"afterModifyTree",{nodes:t})},e.prototype.truncate=function(t,e,i,o,s,r){var n,a,h=this.svgElement;h.renderer;var l=h.rotation,c=[],d=i?1:0,p=(e||i||"").length,u=p,f=function(e,s){var r=s||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=o+n.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(h.rotation=0,o+(a=f(t.textContent.length))>s){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=r(i,u)),a=f(u,n&&n.length-1),d===p?d=p+1:a>s?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||r(e||i,u))}i&&i.splice(0,u),h.actualWidth=a,h.rotation=l},e.prototype.unescapeEntities=function(t,e){return c(this.renderer.escapes,function(i,o){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),o))}),t},e}()}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n,a,h){var l,c=this&&this.__spreadArray||function(t,e,i){if(i||2==arguments.length)for(var o,s=0,r=e.length;s]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},i.prototype.getStyle=function(t){return this.style=T({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style},i.prototype.setStyle=function(t){this.boxWrapper.css(this.getStyle(t))},i.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},i.prototype.destroy=function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),w(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null},i.prototype.createElement=function(t){var e=new this.Element;return e.init(this,t),e},i.prototype.getRadialAttr=function(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}},i.prototype.shadowDefinition=function(t){var e=c(["highcharts-drop-shadow-".concat(this.chartIndex)],Object.keys(t).map(function(e){return"".concat(e,"-").concat(t[e])}),!0).join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector("#".concat(e))||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e},i.prototype.buildText=function(t){new a(t).buildSVG()},i.prototype.getContrast=function(t){var i=e.parse(t).rgba.map(function(t){var e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),o=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(o+.05)>(o+.05)/.05?"#FFFFFF":"#000000"},i.prototype.button=function(e,i,o,s,r,n,a,h,l,c){void 0===r&&(r={});var d,p,u,f=this.label(e,i,o,l,void 0,void 0,c,void 0,"button"),v=this.styledMode,m=r.states||{},x=0;r=D(r),delete r.states;var y=D({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},r.style);delete r.style;var b=t.filterUserAttributes(r);return f.attr(D({padding:8,r:2},b)),v||(b=D({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},b),d=(n=D(b,{fill:"#e6e6e6"},t.filterUserAttributes(n||m.hover||{}))).style,delete n.style,p=(a=D(b,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},t.filterUserAttributes(a||m.select||{}))).style,delete a.style,u=(h=D(b,{style:{color:"#cccccc"}},t.filterUserAttributes(h||m.disabled||{}))).style,delete h.style),S(f.element,g?"mouseover":"mouseenter",function(){3!==x&&f.setState(1)}),S(f.element,g?"mouseout":"mouseleave",function(){3!==x&&f.setState(x)}),f.setState=function(t){if(1!==t&&(f.state=x=t),f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),!v){f.attr([b,n,a,h][t||0]);var e=[y,d,p,u][t||0];E(e)&&f.css(e)}},!v&&(f.attr(b).css(T({cursor:"default"},y)),c&&f.text.css({pointerEvents:"none"})),f.on("touchstart",function(t){return t.stopPropagation()}).on("click",function(t){3!==x&&s.call(f,t)})},i.prototype.crispLine=function(t,e,i){void 0===i&&(i="round");var o=t[0],s=t[1];return A(o[1])&&o[1]===s[1]&&(o[1]=s[1]=Math[i](o[1])-e%2/2),A(o[2])&&o[2]===s[2]&&(o[2]=s[2]=Math[i](o[2])+e%2/2),t},i.prototype.path=function(t){var e=this.styledMode?{}:{fill:"none"};return P(t)?e.d=t:E(t)&&T(e,t),this.createElement("path").attr(e)},i.prototype.circle=function(t,e,i){var o=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},s=this.createElement("circle");return s.xSetter=s.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},s.attr(o)},i.prototype.arc=function(t,e,i,o,s,r){E(t)?(e=(n=t).y,i=n.r,o=n.innerR,s=n.start,r=n.end,t=n.x):n={innerR:o,start:s,end:r};var n,a=this.symbol("arc",t,e,i,i,n);return a.r=i,a},i.prototype.rect=function(t,e,i,o,s,r){var n=E(t)?t:void 0===t?{}:{x:t,y:e,r:s,width:Math.max(i||0,0),height:Math.max(o||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,T(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,M(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)},i.prototype.roundedRect=function(t){return this.symbol("roundedRect").attr(t)},i.prototype.setSize=function(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:j(i,!0)?void 0:0}),this.alignElements()},i.prototype.g=function(t){var e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e},i.prototype.image=function(t,e,i,o,s,r){var n={preserveAspectRatio:"none"};O(e)&&(n.x=e),O(i)&&(n.y=i),O(o)&&(n.width=o),O(s)&&(n.height=s);var a=this.createElement("image").attr(n),h=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});var l=new b.Image;S(l,"load",h),l.src=t,l.complete&&h({})}else a.attr({href:t});return a},i.prototype.symbol=function(t,e,i,o,s,r){var n,a,h,l,c=this,p=/^url\((.*?)\)$/,f=p.test(t),g=!f&&(this.symbols[t]?t:"circle"),v=g&&this.symbols[g];if(v)"number"==typeof e&&(a=v.call(this.symbols,Math.round(e||0),Math.round(i||0),o||0,s||0,r)),n=this.path(a),c.styledMode||n.attr("fill","none"),T(n,{symbolName:g||void 0,x:e,y:i,width:o,height:s}),r&&T(n,r);else if(f){h=t.match(p)[1];var m=n=this.image(h);m.imgwidth=j(r&&r.width,y[h]&&y[h].width),m.imgheight=j(r&&r.height,y[h]&&y[h].height),l=function(t){return t.attr({width:t.width,height:t.height})},["width","height"].forEach(function(t){m["".concat(t,"Setter")]=function(t,e){this[e]=t;var i=this.alignByTranslate,o=this.element,s=this.width,n=this.height,a=this.imgwidth,h=this.imgheight,l="width"===e?a:h,c=1;r&&"within"===r.backgroundSize&&s&&n&&a&&h?(c=Math.min(s/a,n/h),M(o,{width:Math.round(a*c),height:Math.round(h*c)})):o&&l&&o.setAttribute(e,l),!i&&a&&h&&this.translate(((s||0)-a*c)/2,((n||0)-h*c)/2)}}),A(e)&&m.attr({x:e,y:i}),m.isImg=!0,A(m.imgwidth)&&A(m.imgheight)?l(m):(m.attr({width:0,height:0}),k("img",{onload:function(){var t=d[c.chartIndex];0===this.width&&(C(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),y[h]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&l(m),this.parentNode&&this.parentNode.removeChild(this),c.imgCount--,c.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return n},i.prototype.clipRect=function(t,e,i,o){var s=I()+"-",r=this.createElement("clipPath").attr({id:s}).add(this.defs),n=this.rect(t,e,i,o,0).add(r);return n.id=s,n.clipPath=r,n.count=0,n},i.prototype.text=function(t,e,i,o){var s={};if(o&&(this.allowHTML||!this.forExport))return this.html(t,e,i);s.x=Math.round(e||0),i&&(s.y=Math.round(i)),A(t)&&(s.text=t);var r=this.createElement("text").attr(s);return o&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){for(var o=i.getElementsByTagName("tspan"),s=i.getAttribute(e),r=0,n=void 0;r":">","'":"'",'"':"""},symbols:n,draw:m}),o.registerRendererType("svg",R,!0),R}),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=t.isFirefox,n=t.isMS,a=t.isWebKit,h=t.win,l=i.css,c=i.defined,d=i.extend,p=i.pick,u=i.pInt,f=[];return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.compose=function(t){if(i.pushUnique(f,t)){var o=e.prototype,s=t.prototype;s.getSpanCorrection=o.getSpanCorrection,s.htmlCss=o.htmlCss,s.htmlGetBBox=o.htmlGetBBox,s.htmlUpdateTransform=o.htmlUpdateTransform,s.setSpanRotation=o.setSpanRotation}return t},e.prototype.getSpanCorrection=function(t,e,i){this.xCorr=-t*i,this.yCorr=-e},e.prototype.htmlCss=function(t){var e,i="SPAN"===this.element.tagName&&t&&"width"in t,o=p(i&&t.width,void 0);return i&&(delete t.width,this.textWidth=o,e=!0),t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=d(this.styles,t),l(this.element,t),e&&this.htmlUpdateTransform(),this},e.prototype.htmlGetBBox=function(){var t=this.element;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},e.prototype.htmlUpdateTransform=function(){if(!this.added){this.alignOnAdd=!0;return}var t=this.renderer,e=this.element,i=this.translateX||0,o=this.translateY||0,s=this.x||0,r=this.y||0,n=this.textAlign||"left",a={left:0,center:.5,right:1}[n],h=this.styles,d=h&&h.whiteSpace;if(l(e,{marginLeft:i,marginTop:o}),"SPAN"===e.tagName){var p=this.rotation,f=this.textWidth&&u(this.textWidth),g=[p,n,e.innerHTML,this.textWidth,this.textAlign].join(","),v=void 0,m=!1;if(f!==this.oldTextWidth){var x=this.textPxLength?this.textPxLength:(l(e,{width:"",whiteSpace:d||"nowrap"}),e.offsetWidth);(f>this.oldTextWidth||x>f)&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)&&(l(e,{width:x>f||p?f+"px":"auto",display:"block",whiteSpace:d||"normal"}),this.oldTextWidth=f,m=!0)}this.hasBoxWidthChanged=m,g!==this.cTT&&(v=t.fontMetrics(e).b,c(p)&&(p!==(this.oldRotation||0)||n!==this.oldAlign)&&this.setSpanRotation(p,a,v),this.getSpanCorrection(!c(p)&&this.textPxLength||e.offsetWidth,v,a,p,n)),l(e,{left:s+(this.xCorr||0)+"px",top:r+(this.yCorr||0)+"px"}),this.cTT=g,this.oldRotation=p,this.oldAlign=n}},e.prototype.setSpanRotation=function(t,e,i){var o={},s=n&&!/Edge/.test(h.navigator.userAgent)?"-ms-transform":a?"-webkit-transform":r?"MozTransform":h.opera?"-o-transform":void 0;s&&(o[s]=o.transform="rotate("+t+"deg)",o[s+(r?"Origin":"-origin")]=o.transformOrigin=100*e+"% "+i+"px",l(this.element,o))},e}(e)}),i(e,"Core/Renderer/HTML/HTMLRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s,r=this&&this.__extends||(s=function(t,e){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),n=o.attr,a=o.createElement,h=o.extend,l=o.pick,c=[];return function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return r(s,i),s.compose=function(t){if(o.pushUnique(c,t)){var e=s.prototype;t.prototype.html=e.html}return t},s.prototype.html=function(i,o,s){var r=this.createElement("span"),c=r.element,d=r.renderer,p=function(t,i){["opacity","visibility"].forEach(function(o){t[o+"Setter"]=function(s,r,n){var a=t.div?t.div.style:i;e.prototype[o+"Setter"].call(this,s,r,n),a&&(a[r]=s)}}),t.addedSetters=!0};return r.textSetter=function(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,l(e,"")),this.textStr=e,r.doTransform=!0)},p(r,r.element.style),r.xSetter=r.ySetter=r.alignSetter=r.rotationSetter=function(t,e){"align"===e?r.alignValue=r.textAlign=t:r[e]=t,r.doTransform=!0},r.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},r.attr({text:i,x:Math.round(o),y:Math.round(s)}).css({position:"absolute"}),d.styledMode||r.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",r.css=r.htmlCss,r.add=function(t){var e,i,o=d.box.parentNode,s=[];if(this.parentGroup=t,t){if(!(e=t.div)){for(i=t;i;)s.push(i),i=i.parentGroup;s.reverse().forEach(function(t){var i,l=n(t.element,"class"),c=t.css;function d(e,i){t[i]=e,"translateX"===i?f.left=e+"px":f.top=e+"px",t.doTransform=!0}var u=t.styles||{},f=(e=t.div=t.div||a("div",l?{className:l}:void 0,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,visibility:t.visibility},e||o)).style;h(t,{classSetter:(i=e,function(t){this.element.setAttribute("class",t),i.className=t}),css:function(e){return c.call(t,e),["cursor","pointerEvents"].forEach(function(t){e[t]&&(f[t]=e[t])}),t},on:function(){return s[0].div&&r.on.apply({element:s[0].div,onEvents:t.onEvents},arguments),t},translateXSetter:d,translateYSetter:d}),t.addedSetters||p(t),t.css(u)})}}else e=o;return e.appendChild(c),r.added=!0,r.alignOnAdd&&r.htmlUpdateTransform(),r},r},s}(i)}),i(e,"Core/Axis/AxisDefaults.js",[],function(){var t,e;return(e=t||(t={})).defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},e.defaultLeftAxisOptions={title:{rotation:270}},e.defaultRightAxisOptions={title:{rotation:90}},e.defaultBottomAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}},e.defaultTopAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}},t}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e,i=t.addEvent,o=t.isFunction,s=t.objectEach,r=t.removeEvent;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},s(e.events,function(e,s){t.eventOptions[s]!==e&&(t.eventOptions[s]&&(r(t,s,t.eventOptions[s]),delete t.eventOptions[s]),o(e)&&(t.eventOptions[s]=e,i(t,s,e,{order:0})))})},e}),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var o=e.deg2rad,s=i.clamp,r=i.correctFloat,n=i.defined,a=i.destroyObjectProperties,h=i.extend,l=i.fireEvent,c=i.isNumber,d=i.merge,p=i.objectEach,u=i.pick;return function(){function e(t,e,i,o,s){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=s||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||o||this.addLabel()}return e.prototype.addLabel=function(){var e,i,o,s=this,a=s.axis,d=a.options,p=a.chart,f=a.categories,g=a.logarithmic,v=a.names,m=s.pos,x=u(s.options&&s.options.labels,d.labels),y=a.tickPositions,b=m===y[0],S=m===y[y.length-1],M=(!x.step||1===x.step)&&1===a.tickInterval,k=y.info,C=s.label,A=this.parameters.category||(f?u(f[m],v[m],m):m);g&&c(A)&&(A=r(g.lin2log(A))),a.dateTime&&(k?e=(i=p.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&k.higherRanks[m]||k.unitName])).main:c(A)&&(e=a.dateTime.getXDateFormat(A,d.dateTimeLabelFormats||{}))),s.isFirst=b,s.isLast=S;var w={axis:a,chart:p,dateTimeLabelFormat:e,isFirst:b,isLast:S,pos:m,tick:s,tickPositionInfo:k,value:A};l(this,"labelFormat",w);var T=function(e){return x.formatter?x.formatter.call(e,e):x.format?(e.text=a.defaultLabelFormatter.call(e,e),t.format(x.format,e,p)):a.defaultLabelFormatter.call(e,e)},P=T.call(w,w),O=i&&i.list;O?s.shortenLabel=function(){for(o=0;o0&&r+p*f>l&&(e=Math.round((n-r)/Math.cos(d*o))):(r-p*fl&&(m=l-t.x+m*p,x=-1),(m=Math.min(g,m))m||i.autoRotation&&(c.styles||{}).width)&&(e=m)),e&&(this.shortenLabel?this.shortenLabel():(v.width=Math.floor(e)+"px",(s.style||{}).textOverflow||(v.textOverflow="ellipsis"),c.css(v)))},e.prototype.moveLabel=function(t,e){var i,o=this,s=o.label,r=o.axis,n=!1;s&&s.textStr===t?(o.movedLabel=s,n=!0,delete o.label):p(r.ticks,function(e){n||e.isNew||e===o||!e.label||e.label.textStr!==t||(o.movedLabel=e.label,n=!0,e.labelPos=o.movedLabel.xy,delete e.label)}),!n&&(o.labelPos||s)&&(i=o.labelPos||s.xy,o.movedLabel=o.createLabel(i,t,e),o.movedLabel&&o.movedLabel.attr({opacity:0}))},e.prototype.render=function(t,e,i){var o=this.axis,s=o.horiz,r=this.pos,n=u(this.tickmarkOffset,o.tickmarkOffset),a=this.getPosition(s,r,n,e),h=a.x,c=a.y,d=s&&h===o.pos+o.len||!s&&c===o.pos?-1:1,p=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,d),this.renderMark(a,i,d),this.renderLabel(a,e,p,t),this.isNew=!1,l(this,"afterRender")},e.prototype.renderGridLine=function(t,e,i){var o,s=this.axis,r=s.options,n={},a=this.pos,h=this.type,l=u(this.tickmarkOffset,s.tickmarkOffset),c=s.chart.renderer,d=this.gridLine,p=r.gridLineWidth,f=r.gridLineColor,g=r.gridLineDashStyle;"minor"===this.type&&(p=r.minorGridLineWidth,f=r.minorGridLineColor,g=r.minorGridLineDashStyle),d||(s.chart.styledMode||(n.stroke=f,n["stroke-width"]=p||0,n.dashstyle=g),h||(n.zIndex=1),t&&(e=0),this.gridLine=d=c.path().attr(n).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(s.gridGroup)),d&&(o=s.getPlotLinePath({value:a+l,lineWidth:d.strokeWidth()*i,force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:o,opacity:e})},e.prototype.renderMark=function(t,e,i){var o=this.axis,s=o.options,r=o.chart.renderer,n=this.type,a=o.tickSize(n?n+"Tick":"tick"),h=t.x,l=t.y,c=u(s["minor"!==n?"tickWidth":"minorTickWidth"],!n&&o.isXAxis?1:0),d=s["minor"!==n?"tickColor":"minorTickColor"],p=this.mark,f=!p;a&&(o.opposite&&(a[0]=-a[0]),p||(this.mark=p=r.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(o.axisGroup),o.chart.styledMode||p.attr({stroke:d,"stroke-width":c})),p[f?"attr":"animate"]({d:this.getMarkPath(h,l,a[0],p.strokeWidth()*i,o.horiz,r),opacity:e}))},e.prototype.renderLabel=function(t,e,i,o){var s=this.axis,r=s.horiz,n=s.options,a=this.label,h=n.labels,l=h.step,d=u(this.tickmarkOffset,s.tickmarkOffset),p=t.x,f=t.y,g=!0;a&&c(p)&&(a.xy=t=this.getLabelPosition(p,f,a,r,h,d,o,l),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):g=!1,l&&o%l&&(g=!1),g&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))},e.prototype.replaceMovedLabel=function(){var t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},e}()}),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n,a){var h=t.animObject,l=o.defaultOptions,c=s.registerEventOptions,d=r.deg2rad,p=a.arrayMax,u=a.arrayMin,f=a.clamp,g=a.correctFloat,v=a.defined,m=a.destroyObjectProperties,x=a.erase,y=a.error,b=a.extend,S=a.fireEvent,M=a.getClosestDistance,k=a.insertItem,C=a.isArray,A=a.isNumber,w=a.isString,T=a.merge,P=a.normalizeTickInterval,O=a.objectEach,E=a.pick,L=a.relativeLength,D=a.removeEvent,j=a.splat,B=a.syncTimeout,I=function(t,e){return P(e,void 0,void 0,E(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount)};return function(){function t(t,e,i){this.alternateBands=void 0,this.bottom=void 0,this.chart=void 0,this.closestPointRange=void 0,this.coll=void 0,this.eventOptions=void 0,this.hasNames=void 0,this.hasVisibleSeries=void 0,this.height=void 0,this.index=void 0,this.isLinked=void 0,this.labelEdge=void 0,this.labelFormatter=void 0,this.left=void 0,this.len=void 0,this.max=void 0,this.maxLabelLength=void 0,this.min=void 0,this.minorTickInterval=void 0,this.minorTicks=void 0,this.minPixelPadding=void 0,this.names=void 0,this.offset=void 0,this.options=void 0,this.overlap=void 0,this.paddedTicks=void 0,this.plotLinesAndBands=void 0,this.plotLinesAndBandsGroups=void 0,this.pointRange=void 0,this.pointRangePadding=void 0,this.pos=void 0,this.positiveValuesOnly=void 0,this.right=void 0,this.series=void 0,this.side=void 0,this.tickAmount=void 0,this.tickInterval=void 0,this.tickmarkOffset=void 0,this.tickPositions=void 0,this.tickRotCorr=void 0,this.ticks=void 0,this.top=void 0,this.transA=void 0,this.transB=void 0,this.translationSlope=void 0,this.userOptions=void 0,this.visible=void 0,this.width=void 0,this.zoomEnabled=void 0,this.init(t,e,i)}return t.prototype.init=function(t,e,i){void 0===i&&(i=this.coll);var o="xAxis"===i;this.chart=t,this.horiz=this.isZAxis||(t.inverted?!o:o),this.isXAxis=o,this.coll=i,S(this,"init",{userOptions:e}),this.opposite=E(e.opposite,this.opposite),this.side=E(e.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);var s=this.options,r=s.labels,n=s.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=E(s.reversed,this.reversed),this.visible=s.visible,this.zoomEnabled=s.zoomEnabled,this.hasNames="category"===n||!0===s.categories,this.categories=s.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(s.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=s.minRange||s.maxZoom,this.range=s.range,this.offset=s.offset||0,this.max=null,this.min=null;var a=E(s.crosshair,j(t.options.tooltip.crosshairs)[o?0:1]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(o?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),k(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&o&&void 0===this.reversed&&(this.reversed=!0),this.labelRotation=A(r.rotation)?r.rotation:void 0,c(this,s),S(this,"afterInit")},t.prototype.setOptions=function(t){this.options=T(e.defaultXAxisOptions,"yAxis"===this.coll&&e.defaultYAxisOptions,[e.defaultTopAxisOptions,e.defaultRightAxisOptions,e.defaultBottomAxisOptions,e.defaultLeftAxisOptions][this.side],T(l[this.coll],t)),S(this,"afterSetOptions",{userOptions:t})},t.prototype.defaultLabelFormatter=function(t){var e,i,o=this.axis,s=this.chart.numberFormatter,r=A(this.value)?this.value:NaN,n=o.chart.time,a=o.categories,h=this.dateTimeLabelFormat,c=l.lang,d=c.numericSymbols,p=c.numericSymbolMagnitude||1e3,u=o.logarithmic?Math.abs(r):o.tickInterval,f=d&&d.length;if(a)i="".concat(this.value);else if(h)i=n.dateFormat(h,r);else if(f&&u>=1e3)for(;f--&&void 0===i;)u>=(e=Math.pow(p,f+1))&&10*r%e==0&&null!==d[f]&&0!==r&&(i=s(r/e,-1)+d[f]);return void 0===i&&(i=Math.abs(r)>=1e4?s(r,-1):s(r,-1,void 0,"")),i},t.prototype.getSeriesExtremes=function(){var t,e=this;e.chart,S(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=null,e.softThreshold=!e.isXAxis,e.series.forEach(function(i){if(i.reserveSpace()){var o=i.options,s=void 0,r=o.threshold,n=void 0,a=void 0;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&r<=0&&(r=null),e.isXAxis)(s=i.xData)&&s.length&&(s=e.logarithmic?s.filter(function(t){return t>0}):s,n=(t=i.getXExtremes(s)).min,a=t.max,A(n)||n instanceof Date||(s=s.filter(A),n=(t=i.getXExtremes(s)).min,a=t.max),s.length&&(e.dataMin=Math.min(E(e.dataMin,n),n),e.dataMax=Math.max(E(e.dataMax,a),a)));else{var h=i.applyExtremes();A(h.dataMin)&&(n=h.dataMin,e.dataMin=Math.min(E(e.dataMin,n),n)),A(h.dataMax)&&(a=h.dataMax,e.dataMax=Math.max(E(e.dataMax,a),a)),v(r)&&(e.threshold=r),(!o.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),S(this,"afterGetSeriesExtremes")},t.prototype.translate=function(t,e,i,o,s,r){var n=this.linkedParent||this,a=o&&n.old?n.old.min:n.min;if(!A(a))return NaN;var h=n.minPixelPadding,l=(n.isOrdinal||n.brokenAxis&&n.brokenAxis.hasBreaks||n.logarithmic&&s)&&n.lin2val,c=1,d=0,p=o&&n.old?n.old.transA:n.transA,u=0;if(p||(p=n.transA),i&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),e)u=(t=t*c+d-h)/p+a,l&&(u=n.lin2val(u));else{l&&(t=n.val2lin(t));var f=c*(t-a)*p;u=(n.isRadial?f:g(f))+d+c*h+(A(r)?p*r:0)}return u},t.prototype.toPixels=function(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)},t.prototype.toValue=function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)},t.prototype.getPlotLinePath=function(t){var e,i,o,s,r,n=this,a=n.chart,h=n.left,l=n.top,c=t.old,d=t.value,p=t.lineWidth,u=c&&a.oldChartHeight||a.chartHeight,g=c&&a.oldChartWidth||a.chartWidth,v=n.transB,m=t.translatedValue,x=t.force;function y(t,e,i){return"pass"!==x&&(ti)&&(x?t=f(t,e,i):r=!0),t}var b={value:d,lineWidth:p,old:c,force:x,acrossPanes:t.acrossPanes,translatedValue:m};return S(this,"getPlotLinePath",b,function(t){e=o=Math.round((m=f(m=E(m,n.translate(d,void 0,void 0,c)),-1e5,1e5))+v),i=s=Math.round(u-m-v),A(m)?n.horiz?(i=l,s=u-n.bottom,e=o=y(e,h,h+n.width)):(e=h,o=g-n.right,i=s=y(i,l,l+n.height)):(r=!0,x=!1),t.path=r&&!x?void 0:a.renderer.crispLine([["M",e,i],["L",o,s]],p||1)}),b.path||null},t.prototype.getLinearTickPositions=function(t,e,i){var o,s,r,n=g(Math.floor(e/t)*t),a=g(Math.ceil(i/t)*t),h=[];if(g(n+t)===n&&(r=20),this.single)return[e];for(o=n;o<=a&&(h.push(o),(o=g(o+t,r))!==s);)s=o;return h},t.prototype.getMinorTickInterval=function(){var t=this.options;return!0===t.minorTicks?E(t.minorTickInterval,"auto"):!1===t.minorTicks?null:t.minorTickInterval},t.prototype.getMinorTickPositions=function(){var t,e=this.options,i=this.tickPositions,o=this.minorTickInterval,s=this.pointRangePadding||0,r=this.min-s,n=this.max+s,a=n-r,h=[];if(a&&a/o=this.minRange,t=((r=this.minRange)-l+h)/2,o=[h-t,E(n.min,h-t)],e&&(o[2]=a?a.log2lin(this.dataMin):this.dataMin),s=[(h=p(o))+r,E(n.max,h+r)],e&&(s[2]=a?a.log2lin(this.dataMax):this.dataMax),(l=u(s))-h0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,o){var s;i&&i.options&&void 0!==i.name&&void 0!==(s=t.nameToX(i))&&s!==i.x&&(i.x=s,e.xData[o]=s)})}))},t.prototype.setAxisTranslation=function(){var t,e,i=this,o=i.max-i.min,s=i.linkedParent,r=!!i.categories,n=i.isXAxis,a=i.axisPointRange||0,h=0,l=0,c=i.transA;(n||r||a)&&(t=i.getClosest(),s?(h=s.minPointOffset,l=s.pointRangePadding):i.series.forEach(function(e){var o=r?1:n?E(e.options.pointRange,t,0):i.axisPointRange||0,s=e.options.pointPlacement;if(a=Math.max(a,o),!i.single||r){var c=e.is("xrange")?!n:n;h=Math.max(h,c&&w(s)?0:o/2),l=Math.max(l,c&&"on"===s?0:o)}}),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=h*=e,i.pointRangePadding=l*=e,i.pointRange=Math.min(a,i.single&&r?1:o),n&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(o+l||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*h,S(this,"afterSetAxisTranslation")},t.prototype.minFromRange=function(){return this.max-this.range},t.prototype.setTickInterval=function(t){var e,i,o,s,r,n,a=this.chart,h=this.logarithmic,l=this.options,c=this.isXAxis,d=this.isLinked,p=l.tickPixelInterval,u=this.categories,f=this.softThreshold,m=l.maxPadding,x=l.minPadding,b=A(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,M=A(this.threshold)?this.threshold:null;if(this.dateTime||u||d||this.getTickAmount(),r=E(this.userMin,l.min),n=E(this.userMax,l.max),d?(this.linkedParent=a[this.coll][l.linkedTo],i=this.linkedParent.getExtremes(),this.min=E(i.min,i.dataMin),this.max=E(i.max,i.dataMax),l.type!==this.linkedParent.options.type&&y(11,1,a)):(f&&v(M)&&(this.dataMin>=M?(o=M,x=0):this.dataMax<=M&&(s=M,m=0)),this.min=E(r,o,this.dataMin),this.max=E(n,s,this.dataMax)),h&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,E(this.dataMin,this.min))&&y(10,1,a),this.min=g(h.log2lin(this.min),16),this.max=g(h.log2lin(this.max),16)),this.range&&v(this.max)&&(this.userMin=this.min=r=Math.max(this.dataMin,this.minFromRange()),this.userMax=n=this.max,this.range=null),S(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!A(this.userMin)&&A(l.softMin)&&l.softMinthis.max&&(this.max=n=l.softMax),!u&&!this.axisPointRange&&!(this.stacking&&this.stacking.usePercentage)&&!d&&v(this.min)&&v(this.max)&&(e=this.max-this.min)&&(!v(r)&&x&&(this.min-=e*x),!v(n)&&m&&(this.max+=e*m)),!A(this.userMin)&&A(l.floor)&&(this.min=Math.max(this.min,l.floor)),!A(this.userMax)&&A(l.ceiling)&&(this.max=Math.min(this.max,l.ceiling)),f&&v(this.dataMin)&&(M=M||0,!v(r)&&this.min=M?this.min=this.options.minRange?Math.min(M,this.max-this.minRange):M:!v(n)&&this.max>M&&this.dataMax<=M&&(this.max=this.options.minRange?Math.max(M,this.min+this.minRange):M)),A(this.min)&&A(this.max)&&!this.chart.polar&&this.min>this.max&&(v(this.options.min)?this.max=this.min:v(this.options.max)&&(this.min=this.max)),this.min===this.max||void 0===this.min||void 0===this.max?this.tickInterval=1:d&&this.linkedParent&&!b&&p===this.linkedParent.options.tickPixelInterval?this.tickInterval=b=this.linkedParent.tickInterval:this.tickInterval=E(b,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,u?1:(this.max-this.min)*p/Math.max(this.len,p)),c&&!t){var k=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(t){t.forceCrop=t.forceCropping&&t.forceCropping(),t.processData(k)}),S(this,"postProcessData",{hasExtremesChanged:k})}this.setAxisTranslation(),S(this,"initialAxisTranslation"),this.pointRange&&!b&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var C=E(l.minTickInterval,this.dateTime&&!this.series.some(function(t){return t.noSharedTooltip})?this.closestPointRange:0);!b&&this.tickIntervalMath.max(2*this.len,200))l=[this.min,this.max],y(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var c=this.tickInterval,d=c;d<=2*c;)if(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount)this.tickInterval=I(this,d*=1.1);else break;l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),o&&(this.tickPositions=l,(t=o.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,a,h),!this.isLinked&&A(this.min)&&A(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some(function(t){return t.is("heatmap")&&"between"===t.options.pointPlacement})&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),S(this,"afterSetTickPositions")},t.prototype.trimTicks=function(t,e,i){var o=t[0],s=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(S(this,"trimTicks"),!this.isLinked){if(e&&o!==-1/0)this.min=o;else for(;this.min-r>t[0];)t.shift();if(i)this.max=s;else for(;this.max+r1?r.reduce(function(t,e){return t+e},0)/r.length:void 0;i.forEach(function(t){t.thresholdAlignment=h})}return t},t.prototype.getThresholdAlignment=function(t){if((!A(this.dataMin)||this!==t&&this.series.some(function(t){return t.isDirty||t.isDirtyData}))&&this.getSeriesExtremes(),A(this.threshold)){var e=f((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}},t.prototype.getTickAmount=function(){var t=this.options,e=t.tickPixelInterval,i=t.tickAmount;v(t.tickInterval)||i||!(this.lenn||h[h.length-1]o.threshold?m():f();if(u>8*o.tickInterval)break;u*=2}x()}else if(d0&&ea&&(e=a)),v(s)&&(ra&&(r=a))),i.displayBtn=void 0!==e||void 0!==r,i.setExtremes(e,r,!1,void 0,{trigger:"zoom"})),t.zoomed=!0}),h.zoomed},t.prototype.setAxisSize=function(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],o=this.horiz,s=this.width=Math.round(L(E(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(L(E(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(L(E(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(L(E(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-s-a,this.len=Math.max(o?s:r,0),this.pos=o?a:n},t.prototype.getExtremes=function(){var t=this.logarithmic;return{min:t?g(t.lin2log(this.min)):this.min,max:t?g(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},t.prototype.getThreshold=function(t){var e=this.logarithmic,i=e?e.lin2log(this.min):this.min,o=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=o:i>t?t=i:o15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align},t.prototype.tickSize=function(t){var e,i=this.options,o=E(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=i["tick"===t?"tickLength":"minorTickLength"];o&&s&&("inside"===i[t+"Position"]&&(s=-s),e=[s,o]);var r={tickSize:e};return S(this,"afterTickSize",r),r.tickSize},t.prototype.labelMetrics=function(){var t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)},t.prototype.unsquish=function(){var t,e,i=this.options.labels,o=this.horiz,s=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/s),n=i.rotation,a=.75*this.labelMetrics().h,h=Math.max(this.max-this.min,0),l=function(t){var e=t/(r||1);return(e=e>1?Math.ceil(e):1)*s>h&&t!==1/0&&r!==1/0&&h&&(e=Math.ceil(h/s)),g(e*s)},c=s,p=Number.MAX_VALUE;if(o){if(!i.staggerLines&&(A(n)?e=[n]:r=-90&&x<=90)&&(f=(u=l(Math.abs(a/Math.sin(d*x))))+Math.abs(x/360))v&&(v=e.label.textPxLength)}),this.maxLabelLength=v,this.autoRotation)v>p&&v>f.h?u.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=p,!g))for(e="clip",o=n.length;!c&&o--;)(i=a[n[o]].label)&&(i.styles&&"ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/n.length-(f.h-f.f)&&(i.specificTextOverflow="ellipsis"));u.rotation&&(t=v>.5*s.chartHeight?.33*s.chartHeight:v,g||(e="ellipsis")),this.labelAlign=h.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(u.align=this.labelAlign),n.forEach(function(i){var o=a[i],s=o&&o.label,r=l.width,n={};s&&(s.attr(u),o.shortenLabel?o.shortenLabel():t&&!r&&"nowrap"!==l.whiteSpace&&(t=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(s[t]||(s[t]=new n(this,t)),i&&s[t].isNew&&s[t].render(e,!0,-1),s[t].render(e))},t.prototype.render=function(){var t,e,i=this,o=i.chart,s=i.logarithmic,a=o.renderer,l=i.options,c=i.isLinked,d=i.tickPositions,p=i.axisTitle,u=i.ticks,f=i.minorTicks,g=i.alternateBands,v=l.stackLabels,m=l.alternateGridColor,x=l.crossing,y=i.tickmarkOffset,b=i.axisLine,M=i.showAxis,k=h(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,f,g].forEach(function(t){O(t,function(t){t.isActive=!1})}),A(x)){var C=this.isXAxis?o.yAxis[0]:o.xAxis[0],w=[1,-1,-1,1][this.side];if(C){var T=C.toPixels(x,!0);i.horiz&&(T=C.len-T),i.offset=w*T}}if(i.hasData()||c){var P=i.chart.hasRendered&&i.old&&A(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,P)}),d.length&&(d.forEach(function(t,e){i.renderTick(t,e,P)}),y&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new n(i,-1,null,!0)),u[-1].render(-1))),m&&d.forEach(function(n,a){e=void 0!==d[a+1]?d[a+1]+y:i.max-y,a%2==0&&n=.5)t=Math.round(t),l=n.getLinearTickPositions(t,e,i);else if(t>=.08){var c=Math.floor(e),d=void 0,p=void 0,u=void 0,f=void 0,g=void 0,v=void 0,m=void 0;for(d=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],p=c;pe&&(!r||v<=i)&&void 0!==v&&l.push(v),v>i&&(m=!0),v=g}else{var x=this.lin2log(e),y=this.lin2log(i),b=r?n.getMinorTickInterval():h.tickInterval,S="auto"===b?null:b,M=h.tickPixelInterval/(r?5:1),k=r?a/n.tickPositions.length:a;t=o(t=s(S,this.minorAutoInterval,(y-x)*M/(k||1))),l=n.getLinearTickPositions(t,x,y).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(n.tickInterval=t),l},t.prototype.lin2log=function(t){return Math.pow(10,t)},t.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},t}();e.Additions=h}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e,i=t.erase,o=t.extend,s=t.isNumber;return function(e){var r,n=[];function a(t){return this.addPlotBandOrLine(t,"plotBands")}function h(t,e){var i=this,o=this.userOptions,s=new r(this,t);if(this.visible&&(s=s.render()),s){if(this._addedPlotLB||(this._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)})),e){var n=o[e]||[];n.push(t),o[e]=n}this.plotLinesAndBands.push(s)}return s}function l(t){return this.addPlotBandOrLine(t,"plotLines")}function c(t,e,i){i=i||this.options;var o,r,n=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],h=this.horiz,l=!s(this.min)||!s(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&n)for(l&&(r=c.toString()===n.toString(),d=0),o=0;o0&&i.height>0&&!M.isFlat?(v=h({align:o&&k&&"center",x:o?!k&&4:10,verticalAlign:!o&&k&&"middle",y:o?k?16:10:k?6:-4,rotation:o&&!k&&90},v),this.renderLabel(v,M,k,p)):m&&m.hide(),e},e.prototype.renderLabel=function(t,e,s,r){var n=this.axis,a=n.chart.renderer,l=this.label;l||(this.label=l=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(s?"band":"line")+"-label "+(t.className||""),zIndex:r}),n.chart.styledMode||l.css(h({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),l.add());var c=e.xBounds||[e[0][1],e[1][1],s?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],s?e[2][2]:e[0][2]],p=o(c),u=o(d);if(l.align(t,!1,{x:p,y:u,width:i(c)-p,height:i(d)-u}),!l.alignValue||"left"===l.alignValue){var f=t.clip?n.width:n.chart.chartWidth;l.css({width:(90===l.rotation?n.height-(l.alignAttr.y-n.top):f-(l.alignAttr.x-n.left))+"px"})}l.show(!0)},e.prototype.getLabelText=function(t){return s(t.formatter)?t.formatter.call(this):t.text},e.prototype.destroy=function(){n(this.axis.plotLinesAndBands,this),delete this.axis,r(this)},e}()}),i(e,"Core/Tooltip.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r,n,a=t.format,h=e.doc,l=e.isSafari,c=i.distribute,d=s.addEvent,p=s.clamp,u=s.css,f=s.discardElement,g=s.extend,v=s.fireEvent,m=s.isArray,x=s.isNumber,y=s.isString,b=s.merge,S=s.pick,M=s.splat,k=s.syncTimeout,C=function(){function t(t,e){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e)}return t.prototype.bodyFormatter=function(t){return t.map(function(t){var e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})},t.prototype.cleanSplit=function(t){this.chart.series.forEach(function(e){var i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})},t.prototype.defaultFormatter=function(t){var e,i=this.points||M(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e},t.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),f(this.container)),s.clearTimeout(this.hideTimer),s.clearTimeout(this.tooltipTimeout)},t.prototype.getAnchor=function(t,e){var i,o=this.chart,s=o.pointer,r=o.inverted,n=o.plotTop,a=o.plotLeft;if((t=M(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=s.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{var h=0,l=0;t.forEach(function(t){var e=t.pos(!0);e&&(h+=e[0],l+=e[1])}),h/=t.length,l/=t.length,this.shared&&t.length>1&&e&&(r?h=e.chartX:l=e.chartY),i=[h-a,l-n]}return i.map(Math.round)},t.prototype.getClassName=function(t,e,i){var o=this.options,s=t.series,r=s.options;return[o.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+S(t.colorIndex,s.colorIndex),r&&r.className].filter(y).join(" ")},t.prototype.getLabel=function(){var t=this,i=this.chart.styledMode,s=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){var h=!this.label.hasClass("highcharts-label");(!r&&h||r&&!h)&&this.destroy()}if(!this.label){if(this.outside){var l=this.chart.options.chart.style,c=o.getRendererType();this.container=n=e.doc.createElement("div"),n.className="highcharts-tooltip-container",u(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(l&&l.zIndex||0)+3)}),this.renderer=a=new c(n,0,0,l,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),i||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth||0}).css(s.style).css({pointerEvents:s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){var d=this.label,p=d.xSetter,f=d.ySetter;d.xSetter=function(e){p.call(d,t.distance),n&&(n.style.left=e+"px")},d.ySetter=function(e){f.call(d,t.distance),n&&(n.style.top=e+"px")}}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return n&&!n.parentElement&&e.doc.body.appendChild(n),this.label},t.prototype.getPlayingField=function(){var t=h.body,e=h.documentElement,i=this.chart,o=this.distance,s=this.outside;return{width:s?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*o:i.chartWidth,height:s?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}},t.prototype.getPosition=function(t,e,i){var o,s=this.chart,r=this.distance,n={},a=s.inverted&&i.h||0,h=this.outside,l=this.getPlayingField(),c=l.width,d=l.height,p=s.pointer.getChartPosition(),u=function(t){return t*p.scaleX},f=function(t){return t*p.scaleY},g=function(o){var n="x"===o;return[o,n?c:d,n?t:e].concat(h?[n?u(t):f(e),n?p.left-r+u(i.plotX+s.plotLeft):p.top-r+f(i.plotY+s.plotTop),0,n?c:d]:[n?t:e,n?i.plotX+s.plotLeft:i.plotY+s.plotTop,n?s.plotLeft:s.plotTop,n?s.plotLeft+s.plotWidth:s.plotTop+s.plotHeight])},v=g("y"),m=g("x"),x=!!i.negative;!s.polar&&s.hoverSeries&&s.hoverSeries.yAxis&&s.hoverSeries.yAxis.reversed&&(x=!x);var y=!this.followPointer&&S(i.ttBelow,!s.inverted===x),b=function(t,e,i,o,s,l,c){var d=h?"y"===t?f(r):u(r):r,p=(i-o)/2,g=oe?x:x+a)}},M=function(t,e,i,o,s){var a;return se-r?a=!1:se-o/2?n[t]=e-o-2:n[t]=s-i/2,a},k=function(t){var e=v;v=m,m=e,o=t},C=function(){!1!==b.apply(0,v)?!1!==M.apply(0,m)||o||(k(!0),C()):o?n.x=n.y=0:(k(!0),C())};return(s.inverted||this.len>1)&&k(),C(),n},t.prototype.hide=function(t){var e=this;s.clearTimeout(this.hideTimer),t=S(t,this.options.hideDelay),this.isHidden||(this.hideTimer=k(function(){var i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:function(){i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))},t.prototype.init=function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=S(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))},t.prototype.shouldStickOnContact=function(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.chart.pointer.inClass(t.target,"highcharts-tooltip")))},t.prototype.move=function(t,e,i,o){var r=this,n=r.now,a=!1!==r.options.animation&&!r.isHidden&&(Math.abs(t-n.x)>1||Math.abs(e-n.y)>1),h=r.followPointer||r.len>1;g(n,{x:a?(2*n.x+t)/3:t,y:a?(n.y+e)/2:e,anchorX:h?void 0:a?(2*n.anchorX+i)/3:i,anchorY:h?void 0:a?(n.anchorY+o)/2:o}),r.getLabel().attr(n),r.drawTracker(),a&&(s.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){r&&r.move(t,e,i,o)},32))},t.prototype.refresh=function(t,e){var i=this.chart,o=this.options,r=i.pointer,n=M(t),h=n[0],l=[],c=o.format,d=o.formatter||this.defaultFormatter,p=this.shared,u=i.styledMode,f={};if(o.enabled&&h.series){s.clearTimeout(this.hideTimer),this.allowShared=!(!m(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;var g=this.getAnchor(t,e),x=g[0],b=g[1];p&&this.allowShared?(r.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(f=h.getLabelConfig()).points=l):f=h.getLabelConfig(),this.len=l.length;var k=y(c)?a(c,f,i):d.call(f,this),C=h.series;if(this.distance=S(C.tooltipOptions.distance,16),!1===k)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(k,n);else{var A=x,w=b;if(e&&r.isDirectTouch&&(A=e.chartX-i.plotLeft,w=e.chartY-i.plotTop),i.polar||!1===C.options.clip||n.some(function(t){return r.isDirectTouch||t.series.shouldShowTooltip(A,w)})){var T=this.getLabel();(!o.style.width||u)&&T.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),T.attr({text:k&&k.join?k.join(""):k}),T.addClass(this.getClassName(h),!0),u||T.attr({stroke:o.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:x,plotY:b,negative:h.negative,ttBelow:h.ttBelow,h:g[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}},t.prototype.renderSplit=function(t,e){var i=this,o=i.chart,s=i.chart,r=s.chartWidth,n=s.chartHeight,a=s.plotHeight,d=s.plotLeft,u=s.plotTop,f=s.pointer,v=s.scrollablePixelsY,m=s.scrollablePixelsX,x=s.scrollingContainer,b=void 0===x?{scrollLeft:0,scrollTop:0}:x,M=b.scrollLeft,k=b.scrollTop,C=s.styledMode,A=i.distance,w=i.options,T=i.options.positioner,P=i.outside&&"number"!=typeof m?h.documentElement.getBoundingClientRect():{left:M,right:M+r,top:k,bottom:k+n},O=i.getLabel(),E=this.renderer||o.renderer,L=!!(o.xAxis[0]&&o.xAxis[0].opposite),D=f.getChartPosition(),j=D.left,B=D.top,I=u+k,R=0,z=a-(void 0===v?0:v);function G(t,e,o,s,r){var n,a;return void 0===r&&(r=!0),o?(n=L?0:z,a=p(t-s/2,P.left,P.right-s-(i.outside?j:0))):(n=e-I,a=p(a=r?t-s-A:t+A,r?a:P.left,P.right)),{x:a,y:n}}y(t)&&(t=[!1,t]);var N=t.slice(0,e.length+1).reduce(function(t,o,s){if(!1!==o&&""!==o){var r=e[s-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},n=r.isHeader,h=n?i:r.series,l=h.tt=function(t,e,o){var s,r=t,n=e.isHeader,a=e.series;if(!r){var h={padding:w.padding,r:w.borderRadius};C||(h.fill=w.backgroundColor,h["stroke-width"]=null!==(s=w.borderWidth)&&void 0!==s?s:1),r=E.label("",0,0,w[n?"headerShape":"shape"],void 0,void 0,w.useHTML).addClass(i.getClassName(e,!0,n)).attr(h).add(O)}return r.isActive=!0,r.attr({text:o}),C||r.css(w.style).attr({stroke:w.borderColor||e.color||a.color||"#333333"}),r}(h.tt,r,o.toString()),c=l.getBBox(),f=c.width+l.strokeWidth();n&&(R=c.height,z+=R,L&&(I-=R));var g=function(t){var e,i,o=t.isHeader,s=t.plotX,r=void 0===s?0:s,n=t.plotY,h=void 0===n?0:n,l=t.series;if(o)e=Math.max(d+r,d),i=u+a/2;else{var c=l.xAxis,f=l.yAxis;e=c.pos+p(r,-A,c.len+A),l.shouldShowTooltip(0,f.pos-u+h,{ignoreX:!0})&&(i=f.pos+h)}return{anchorX:e=p(e,P.left-A,P.right+A),anchorY:i}}(r),v=g.anchorX,m=g.anchorY;if("number"==typeof m){var x=c.height+1,y=T?T.call(i,f,x,r):G(v,m,n,f);t.push({align:T?0:void 0,anchorX:v,anchorY:m,boxWidth:f,point:r,rank:S(y.rank,n?1:0),size:x,target:y.y,tt:l,x:y.x})}else l.isActive=!1}return t},[]);!T&&N.some(function(t){var e=(i.outside?j:0)+t.anchorX;return ee})&&(N=N.map(function(t){var e=G(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1),i=e.x;return g(t,{target:e.y,x:i})})),i.cleanSplit(),c(N,z);var W={left:j,right:j};N.forEach(function(t){var e=t.x,o=t.boxWidth,s=t.isHeader;!s&&(i.outside&&j+eW.right&&(W.right=j+e))}),N.forEach(function(t){var e=t.x,o=t.anchorX,s=t.anchorY,r=t.pos,n=t.point.isHeader,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+I,anchorX:o,anchorY:s};if(i.outside&&e0&&(n||(a.x=e+h,a.anchorX=o+h),n&&(a.x=(W.right-W.left)/2,a.anchorX=o+h))}t.tt.attr(a)});var X=i.container,H=i.outside,U=i.renderer;if(H&&X&&U){var Y=O.getBBox(),_=Y.width,F=Y.height,V=Y.x,q=Y.y;U.setSize(_+V,F+q,!1),X.style.left=W.left+"px",X.style.top=B+"px"}l&&O.attr({opacity:1===O.opacity?.999:1})},t.prototype.drawTracker=function(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}var t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(e&&i){var o={x:0,y:0,width:0,height:0},s=this.getAnchor(i),r=e.getBBox();s[0]+=t.plotLeft-(e.translateX||0),s[1]+=t.plotTop-(e.translateY||0),o.x=Math.min(0,s[0]),o.y=Math.min(0,s[1]),o.width=s[0]<0?Math.max(Math.abs(s[0]),r.width-s[0]):Math.max(Math.abs(s[0]),r.width),o.height=s[1]<0?Math.max(Math.abs(s[1]),r.height-Math.abs(s[1])):Math.max(Math.abs(s[1]),r.height),this.tracker?this.tracker.attr(o):(this.tracker=e.renderer.rect(o).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}},t.prototype.styledModeFormat=function(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')},t.prototype.tooltipFooterHeaderFormatter=function(t,e){var i=t.series,o=i.tooltipOptions,s=i.xAxis,r=s&&s.dateTime,n={isFooter:e,labelConfig:t},h=o.xDateFormat,l=o[e?"footerFormat":"headerFormat"];return v(this,"headerFormatter",n,function(e){r&&!h&&x(t.key)&&(h=r.getXDateFormat(t.key,o.dateTimeLabelFormats)),r&&h&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+h+"}")}),i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=a(l,{point:t,series:i},this.chart)}),n.text},t.prototype.update=function(t){this.destroy(),this.init(this.chart,b(!0,this.options,t))},t.prototype.updatePosition=function(t){var e,i=this.chart,o=this.container,s=this.distance,r=this.options,n=this.renderer,a=this.getLabel(),h=a.height,l=void 0===h?0:h,c=a.width,d=void 0===c?0:c,p=i.pointer.getChartPosition(),f=p.left,g=p.top,v=p.scaleX,m=p.scaleY,x=(r.positioner||this.getPosition).call(this,d,l,t),y=(t.plotX||0)+i.plotLeft,b=(t.plotY||0)+i.plotTop;n&&o&&(r.positioner&&(x.x+=f-s,x.y+=g-s),e=(r.borderWidth||0)+2*s+2,n.setSize(d+e,l+e,!1),(1!==v||1!==m)&&(u(o,{transform:"scale(".concat(v,", ").concat(m,")")}),y*=v,b*=m),y+=f-x.x,b+=g-x.y),this.move(Math.round(x.x),Math.round(x.y||0),y,b)},t}();return n=[],(r=C||(C={})).compose=function(t){s.pushUnique(n,t)&&d(t,"afterInit",function(){var t=this.chart;t.options.tooltip&&(t.tooltip=new r(t,t.options.tooltip))})},C}),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r=e.animObject,n=i.defaultOptions,a=o.format,h=s.addEvent,l=s.defined,c=s.erase,d=s.extend,p=s.fireEvent,u=s.getNestedProperty,f=s.isArray,g=s.isFunction,v=s.isNumber,m=s.isObject,x=s.merge,y=s.objectEach,b=s.pick,S=s.syncTimeout,M=s.removeEvent,k=s.uniqueKey;return function(){function e(){this.category=void 0,this.destroyed=!1,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.name=void 0,this.options=void 0,this.percentage=void 0,this.selected=!1,this.series=void 0,this.shapeArgs=void 0,this.total=void 0,this.visible=!0,this.x=void 0}return e.prototype.animateBeforeDestroy=function(){var t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(d({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})},e.prototype.applyOptions=function(t,i){var o=this.series,s=o.options.pointValKey||o.pointValKey;return d(this,t=e.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=e.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===i&&o.xAxis&&o.xAxis.hasNames&&(this.x=o.xAxis.nameToX(this)),void 0===this.x&&o?void 0===i?this.x=o.autoIncrement():this.x=i:v(t.x)&&o.options.relativeXValue&&(this.x=o.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this},e.prototype.destroy=function(){if(!this.destroyed){var t=this,e=t.series,i=e.chart,o=e.options.dataSorting,s=i.hoverPoints,n=r(t.series.chart.renderer.globalAnimation),a=function(){for(var e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(M(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),s&&(t.setState(),c(s,t),s.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),S(a,n.duration)):a(),i.pointCount--}this.destroyed=!0},e.prototype.destroyElements=function(t){var e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})},e.prototype.firePointEvent=function(t,e,i){var o=this,s=this.series.options;(s.point.events[t]||o.options&&o.options.events&&o.options.events[t])&&o.importEvents(),"click"===t&&s.allowPointSelect&&(i=function(t){!o.destroyed&&o.select&&o.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),p(o,t,e,i)},e.prototype.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",""):"")},e.prototype.getGraphicalProps=function(t){var e,i,o=this,s=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&s.push("graphic","connector"),t.dataLabel&&s.push("dataLabel","dataLabelPath","dataLabelUpper"),i=s.length;i--;)o[e=s[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){var i=e+"s";t[e]&&o[i]&&r.plural.push(i)}),r},e.prototype.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}},e.prototype.getNestedProperty=function(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0},e.prototype.getZone=function(){var t,e=this.series,i=e.zones,o=e.zoneAxis||"y",s=0;for(t=i[0];this[o]>=t.value;)t=i[++s];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t},e.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},e.prototype.init=function(t,e,i){return this.series=t,this.applyOptions(e,i),this.id=l(this.id)?this.id:k(),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit"),this},e.prototype.isValid=function(){return(v(this.x)||this.x instanceof Date)&&v(this.y)},e.prototype.optionsToObject=function(t){var i,o=this.series,s=o.options.keys,r=s||o.pointArrayMap||["y"],n=r.length,a={},h=0,l=0;if(v(t)||null===t)a[r[0]]=t;else if(f(t))for(!s&&t.length>n&&("string"==(i=typeof t[0])?a.name=t[0]:"number"===i&&(a.x=t[0]),h++);l0?e.prototype.setNestedProperty(a,t[h],r[l]):a[r[l]]=t[h]),h++,l++;else"object"==typeof t&&(a=t,t.dataLabels&&(o.hasDataLabels=function(){return!0}),t.marker&&(o._hasPointMarkers=!0));return a},e.prototype.pos=function(t,e){if(void 0===e&&(e=this.plotY),!this.destroyed){var i=this.plotX,o=this.series,s=o.chart,r=o.xAxis,n=o.yAxis,a=0,h=0;if(v(i)&&v(e))return t&&(a=r?r.pos:s.plotLeft,h=n?n.pos:s.plotTop),s.inverted&&r&&n?[n.len-e+h,r.len-i+a]:[i+a,e+h]}},e.prototype.resolveColor=function(){var t,e,i,o=this.series,s=o.chart.options.chart,r=o.chart.styledMode,n=s.colorCount;delete this.nonZonedColor,o.options.colorByPoint?(r||(t=(e=o.options.colors||o.chart.options.colors)[o.colorCounter],n=e.length),i=o.colorCounter,o.colorCounter++,o.colorCounter===n&&(o.colorCounter=0)):(r||(t=o.color),i=o.colorIndex),this.colorIndex=b(this.options.colorIndex,i),this.color=b(this.options.color,t)},e.prototype.setNestedProperty=function(t,e,i){return i.split(".").reduce(function(t,i,o,s){var r=s.length-1===o;return t[i]=r?e:m(t[i],!0)?t[i]:{},t[i]},t),t},e.prototype.shouldDraw=function(){return!this.isNull},e.prototype.tooltipFormatter=function(t){var e=this.series,i=e.tooltipOptions,o=b(i.valueDecimals,""),s=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(s||r)&&(t=t.replace(RegExp(e+"}","g"),s+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),a(t,{point:this,series:this.series},e.chart)},e.prototype.update=function(t,e,i,o){var s,r=this,n=r.series,a=r.graphic,h=n.chart,l=n.options;function c(){r.applyOptions(t);var o=a&&r.hasMockGraphic,c=null===r.y?!o:o;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),m(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),(null==t?void 0:t.dataLabels)&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),s=r.index,n.updateParallelArrays(r,s),l.data[s]=m(l.data[s],!0)||m(t,!0)?r.options:b(t,l.data[s]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=b(e,!0),!1===o?c():r.firePointEvent("update",{options:t},c)},e.prototype.remove=function(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)},e.prototype.select=function(t,e){var i=this,o=i.series,s=o.chart;t=b(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,o.options.data[o.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||s.getSelectedPoints().forEach(function(t){var e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(s.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging},e.prototype.onMouseOver=function(t){var e=this.series.chart,i=e.pointer;t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e.inverted),i.runPointActions(t,this)},e.prototype.onMouseOut=function(){var t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null},e.prototype.importEvents=function(){if(!this.hasImportedEvents){var t=this,e=x(t.series.options.point,t.options).events;t.events=e,y(e,function(e,i){g(e)&&h(t,i,e)}),this.hasImportedEvents=!0}},e.prototype.setState=function(e,i){var o,s,r,a,h=this.series,l=this.state,c=h.options.states[e||"normal"]||{},u=n.plotOptions[h.type].marker&&h.options.marker,f=u&&!1===u.enabled,g=u&&u.states&&u.states[e||"normal"]||{},m=!1===g.enabled,x=this.marker||{},y=h.chart,S=u&&h.markerAttribs,M=h.halo,k=h.stateMarkerGraphic;if(((e=e||"")!==this.state||i)&&(!this.selected||"select"===e)&&!1!==c.enabled&&(!e||!m&&(!f||!1!==g.enabled))&&(!e||!x.states||!x.states[e]||!1!==x.states[e].enabled)){if(this.state=e,S&&(o=h.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(l&&this.graphic.removeClass("highcharts-point-"+l),e&&this.graphic.addClass("highcharts-point-"+e),!y.styledMode){s=h.pointAttribs(this,e),r=b(y.options.chart.animation,c.animation);var C=s.opacity;h.options.inactiveOtherPoints&&v(C)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:C},r),t.connector&&t.connector.animate({opacity:C},r))}),this.graphic.animate(s,r)}o&&this.graphic.animate(o,b(y.options.chart.animation,g.animation,u.animation)),k&&k.hide()}else e&&g&&(a=x.symbol||h.symbol,k&&k.currentSymbol!==a&&(k=k.destroy()),o&&(k?k[i?"animate":"attr"]({x:o.x,y:o.y}):a&&(h.stateMarkerGraphic=k=y.renderer.symbol(a,o.x,o.y,o.width,o.height).add(h.markerGroup),k.currentSymbol=a)),!y.styledMode&&k&&"inactive"!==this.state&&k.attr(h.pointAttribs(this,e))),k&&(k[e&&this.isInside?"show":"hide"](),k.element.point=this,k.addClass(this.getClassName(),!0));var A=c.halo,w=this.graphic||k,T=w&&w.visibility||"inherit";A&&A.size&&w&&"hidden"!==T&&!this.isCluster?(M||(h.halo=M=y.renderer.path().add(w.parentGroup)),M.show()[i?"animate":"attr"]({d:this.haloPath(A.size)}),M.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,h.colorIndex)+(this.className?" "+this.className:""),visibility:T,zIndex:-1}),M.point=this,y.styledMode||M.attr(d({fill:this.color||h.color,"fill-opacity":A.opacity},t.filterUserAttributes(A.attributes||{})))):M&&M.point&&M.point.haloPath&&M.animate({d:M.point.haloPath(0)},null,M.hide),p(this,"afterSetState",{state:e})}},e.prototype.haloPath=function(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(Math.floor(e[0])-t,e[1]-t,2*t,2*t):[]},e}()}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s,r,n=t.parse,a=e.charts,h=e.noop,l=i.addEvent,c=i.attr,d=i.css,p=i.defined,u=i.extend,f=i.find,g=i.fireEvent,v=i.isNumber,m=i.isObject,x=i.objectEach,y=i.offset,b=i.pick,S=i.splat,M=function(){function t(t,e){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=t,this.hasDragged=!1,this.options=e,this.init(t,e)}return t.prototype.applyInactiveState=function(t){var e,i=[];(t||[]).forEach(function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})},t.prototype.destroy=function(){var i=this;this.eventsToUnbind.forEach(function(t){return t()}),this.eventsToUnbind=[],!e.chartCount&&(t.unbindDocumentMouseUp&&(t.unbindDocumentMouseUp=t.unbindDocumentMouseUp()),t.unbindDocumentTouchEnd&&(t.unbindDocumentTouchEnd=t.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),x(i,function(t,e){i[e]=void 0})},t.prototype.getSelectionMarkerAttrs=function(t,e){var i=this,o={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return g(this,"getSelectionMarkerAttrs",o,function(o){var s,r=i.chart,n=i.mouseDownX,a=void 0===n?0:n,h=i.mouseDownY,l=void 0===h?0:h,c=i.zoomHor,d=i.zoomVert,p=o.attrs;p.x=r.plotLeft,p.y=r.plotTop,p.width=c?1:r.plotWidth,p.height=d?1:r.plotHeight,c&&(s=t-a,p.width=Math.abs(s),p.x=(s>0?0:s)+a),d&&(s=e-l,p.height=Math.abs(s),p.y=(s>0?0:s)+l)}),o},t.prototype.drag=function(t){var e,i=this.chart,o=i.options.chart,s=i.plotLeft,r=i.plotTop,a=i.plotWidth,h=i.plotHeight,l=this.mouseDownX||0,c=this.mouseDownY||0,d=m(o.panning)?o.panning&&o.panning.enabled:o.panning,p=o.panKey&&t[o.panKey+"Key"],u=t.chartX,f=t.chartY,g=this.selectionMarker;if((!g||!g.touch)&&(us+a&&(u=s+a),fr+h&&(f=r+h),this.hasDragged=Math.sqrt(Math.pow(l-u,2)+Math.pow(c-f,2)),this.hasDragged>10)){e=i.isInsidePlot(l-s,c-r,{visiblePlotOnly:!0});var v=this.getSelectionMarkerAttrs(u,f),x=v.shapeType,y=v.attrs;(i.hasCartesianSeries||i.mapView)&&(this.zoomX||this.zoomY)&&e&&!p&&!g&&(this.selectionMarker=g=i.renderer[x](),g.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||g.attr({fill:o.selectionMarkerFill||n("#334eff").setOpacity(.25).get()})),g&&g.attr(y),e&&!g&&d&&i.pan(t,o.panning)}},t.prototype.dragStart=function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},t.prototype.getSelectionBox=function(t){var e={args:{marker:t},result:{}};return g(this,"getSelectionBox",e,function(e){e.result={x:t.attr?+t.attr("x"):t.x,y:t.attr?+t.attr("y"):t.y,width:t.attr?t.attr("width"):t.width,height:t.attr?t.attr("height"):t.height}}),e.result},t.prototype.drop=function(t){var e=this,i=this.chart,o=this.hasPinched;if(this.selectionMarker){var s=this.getSelectionBox(this.selectionMarker),r=s.x,n=s.y,a=s.width,h=s.height,l={originalEvent:t,xAxis:[],yAxis:[],x:r,y:n,width:a,height:h},c=!!i.mapView;(this.hasDragged||o)&&(i.axes.forEach(function(i){if(i.zoomEnabled&&p(i.min)&&(o||e[({xAxis:"zoomX",yAxis:"zoomY"})[i.coll]])&&v(r)&&v(n)&&v(a)&&v(h)){var s=i.horiz,d="touchend"===t.type?i.minPixelPadding:0,u=i.toValue((s?r:n)+d),f=i.toValue((s?r+a:n+h)-d);l[i.coll].push({axis:i,min:Math.min(u,f),max:Math.max(u,f)}),c=!0}}),c&&g(i,"selection",l,function(t){i.zoom(u(t,o?{animation:!1}:null))})),v(i.index)&&(this.selectionMarker=this.selectionMarker.destroy()),o&&this.scaleGroups()}i&&v(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=+this.hasDragged>10,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},t.prototype.findNearestKDPoint=function(t,e,i){var o;return t.forEach(function(t){var s,r,n,a,h=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),l=t.searchPoint(i,h);m(l,!0)&&l.series&&(!m(o,!0)||(r=(s=o).distX-l.distX,n=s.dist-l.dist,a=(l.series.group&&l.series.group.zIndex)-(s.series.group&&s.series.group.zIndex),(0!==r&&e?r:0!==n?n:0!==a?a:s.series.index>l.series.index?-1:1)>0))&&(o=l)}),o},t.prototype.getChartCoordinatesFromPoint=function(t,e){var i=t.series,o=i.xAxis,s=i.yAxis,r=t.shapeArgs;if(o&&s){var n=b(t.clientX,t.plotX),a=t.plotY||0;return t.isNode&&r&&v(r.x)&&v(r.y)&&(n=r.x,a=r.y),e?{chartX:s.len+s.pos-a,chartY:o.len+o.pos-n}:{chartX:n+o.pos,chartY:a+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}},t.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var t=this.chart.container,e=y(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};var i=t.offsetWidth,o=t.offsetHeight;return i>2&&o>2&&(this.chartPosition.scaleX=e.width/i,this.chartPosition.scaleY=e.height/o),this.chartPosition},t.prototype.getCoordinates=function(t){var e={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])})}),e},t.prototype.getHoverData=function(t,e,i,o,s,r){var n,a=[],h=function(t){return t.visible&&!(!s&&t.directTouch)&&b(t.options.enableMouseTracking,!0)},l=e,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:s};g(this,"beforeGetHoverData",c),n=l&&!l.stickyTracking?[l]:i.filter(function(t){return t.stickyTracking&&(c.filter||h)(t)});var d=o&&t||!r?t:this.findNearestKDPoint(n,s,r);return l=d&&d.series,d&&(s&&!l.noSharedTooltip?(n=i.filter(function(t){return c.filter?c.filter(t):h(t)&&!t.noSharedTooltip})).forEach(function(t){var e=f(t.points,function(t){return t.x===d.x&&!t.isNull});m(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(d)),g(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:l,hoverPoints:a}},t.prototype.getPointFromEvent=function(t){for(var e,i=t.target;i&&!e;)e=i.point,i=i.parentNode;return e},t.prototype.onTrackerMouseOut=function(t){var e=this.chart,i=t.relatedTarget,o=e.hoverSeries;this.isDirectTouch=!1,!o||!i||o.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+o.index)&&this.inClass(i,"highcharts-tracker")||o.onMouseOut()},t.prototype.inClass=function(t,e){for(var i,o=t;o;){if(i=c(o,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}o=o.parentElement}},t.prototype.init=function(t,e){this.options=e,this.chart=t,this.runChartClick=!!(e.chart.events&&e.chart.events.click),this.pinchDown=[],this.lastValidTouch={},this.setDOMEvents(),g(this,"afterInit")},t.prototype.normalize=function(t,e){var i=t.touches,o=i?i.length?i.item(0):b(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());var s=o.pageX-e.left,r=o.pageY-e.top;return u(t,{chartX:Math.round(s/=e.scaleX),chartY:Math.round(r/=e.scaleY)})},t.prototype.onContainerClick=function(t){var e=this.chart,i=e.hoverPoint,o=this.normalize(t),s=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(o.target,"highcharts-tracker")?(g(i.series,"click",u(o,{point:i})),e.hoverPoint&&i.firePointEvent("click",o)):(u(o,this.getCoordinates(o)),e.isInsidePlot(o.chartX-s,o.chartY-r,{visiblePlotOnly:!0})&&g(e,"click",o)))},t.prototype.onContainerMouseDown=function(t){var i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault&&t.preventDefault(),this.dragStart(t))},t.prototype.onContainerMouseLeave=function(e){var i=a[b(t.hoverChartIndex,-1)];e=this.normalize(e),this.onContainerMouseMove(e),i&&e.relatedTarget&&!this.inClass(e.relatedTarget,"highcharts-tooltip")&&(i.pointer.reset(),i.pointer.chartPosition=void 0)},t.prototype.onContainerMouseEnter=function(t){delete this.chartPosition},t.prototype.onContainerMouseMove=function(t){var e=this.chart,i=e.tooltip,o=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(o))&&this.drag(o),!e.openMenu&&(this.inClass(o.target,"highcharts-tracker")||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(o))&&(this.inClass(o.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(o))},t.prototype.onDocumentTouchEnd=function(e){var i=a[b(t.hoverChartIndex,-1)];i&&i.pointer.drop(e)},t.prototype.onContainerTouchMove=function(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)},t.prototype.onContainerTouchStart=function(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))},t.prototype.onDocumentMouseMove=function(t){var e=this.chart,i=e.tooltip,o=this.chartPosition,s=this.normalize(t,o);!o||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||this.inClass(s.target,"highcharts-tracker")||this.reset()},t.prototype.onDocumentMouseUp=function(e){var i=a[b(t.hoverChartIndex,-1)];i&&i.pointer.drop(e)},t.prototype.pinch=function(t){var e=this,i=e.chart,o=e.pinchDown,s=t.touches||[],r=s.length,n=e.lastValidTouch,a=e.hasZoom,l={},c=1===r&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),d={},p=e.chart.tooltip,f=1===r&&b(p&&p.options.followTouchMove,!0),v=e.selectionMarker;r>1?e.initiated=!0:f&&(e.initiated=!1),a&&e.initiated&&!c&&!1!==t.cancelable&&t.preventDefault(),[].map.call(s,function(t){return e.normalize(t)}),"touchstart"===t.type?([].forEach.call(s,function(t,e){o[e]={chartX:t.chartX,chartY:t.chartY}}),n.x=[o[0].chartX,o[1]&&o[1].chartX],n.y=[o[0].chartY,o[1]&&o[1].chartY],i.axes.forEach(function(t){if(t.zoomEnabled){var e=i.bounds[t.horiz?"h":"v"],o=t.minPixelPadding,s=t.toPixels(Math.min(b(t.options.min,t.dataMin),t.dataMin)),r=t.toPixels(Math.max(b(t.options.max,t.dataMax),t.dataMax)),n=Math.min(s,r),a=Math.max(s,r);e.min=Math.min(t.pos,n-o),e.max=Math.max(t.pos+t.len,a+o)}}),e.res=!0):f?this.runPointActions(e.normalize(t)):o.length&&(g(i,"touchpan",{originalEvent:t},function(){v||(e.selectionMarker=v=u({destroy:h,touch:!0},i.plotBox)),e.pinchTranslate(o,s,l,v,d,n),e.hasPinched=a,e.scaleGroups(l,d)}),e.res&&(e.res=!1,this.reset(!1,0)))},t.prototype.pinchTranslate=function(t,e,i,o,s,r){this.zoomHor&&this.pinchTranslateDirection(!0,t,e,i,o,s,r),this.zoomVert&&this.pinchTranslateDirection(!1,t,e,i,o,s,r)},t.prototype.pinchTranslateDirection=function(t,e,i,o,s,r,n,a){var h,l,c,d,p=this.chart,u=t?"x":"y",f=t?"X":"Y",g="chart"+f,v=t?"width":"height",m=p["plot"+(t?"Left":"Top")],x=p.inverted,y=p.bounds[t?"h":"v"],b=1===e.length,S=e[0][g],M=!b&&e[1][g],k=function(){"number"==typeof w&&Math.abs(S-M)>20&&(C=a||Math.abs(A-w)/Math.abs(S-M)),c=(m-A)/C+S,h=p["plot"+(t?"Width":"Height")]/C},C=a||1,A=i[0][g],w=!b&&i[1][g];k(),(l=c)y.max&&(l=y.max-h,d=!0),d?(A-=.8*(A-n[u][0]),"number"==typeof w&&(w-=.8*(w-n[u][1])),k()):n[u]=[A,w],x||(r[u]=c-m,r[v]=h);var T=x?t?"scaleY":"scaleX":"scale"+f,P=x?1/C:C;s[v]=h,s[u]=l,o[T]=C*(x&&!t?-1:1),o["translate"+f]=P*m+(A-P*S)},t.prototype.reset=function(t,e){var i=this.chart,o=i.hoverSeries,s=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n&&n.shared?r:s;t&&a&&S(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&S(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):s&&(s.setState(s.state,!0),i.axes.forEach(function(t){t.crosshair&&s.series[t.coll]===t&&t.drawCrosshair(null,s)}))):(s&&s.onMouseOut(),r&&r.forEach(function(t){t.setState()}),o&&o.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},t.prototype.runPointActions=function(e,i,o){var s=this.chart,r=s.series,n=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,h=!!n&&n.shared,c=i||s.hoverPoint,d=c&&c.series||s.hoverSeries,p=(!e||"touchmove"!==e.type)&&(!!i||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(c,d,r,p,h,e);c=u.hoverPoint,d=u.hoverSeries;var g=u.hoverPoints,v=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,m=h&&d&&!d.noSharedTooltip;if(c&&(o||c!==s.hoverPoint||n&&n.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!c.series)return;s.hoverPoints=g,s.hoverPoint=c,c.firePointEvent("mouseOver",void 0,function(){n&&c&&n.refresh(m?g:c,e)})}else if(v&&n&&!n.isHidden){var x=n.getAnchor([{}],e);s.isInsidePlot(x[0],x[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:x[0],plotY:x[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(s.container.ownerDocument,"mousemove",function(e){var i=a[t.hoverChartIndex];i&&i.pointer.onDocumentMouseMove(e)}),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(t){var i,o=b((t.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[t.coll]===t||(i=f(g,function(e){return e.series&&e.series[t.coll]===t})),i||!o?t.drawCrosshair(e,i):t.hideCrosshair()})},t.prototype.scaleGroups=function(t,e){var i=this.chart;i.series.forEach(function(o){var s=t||o.getPlotBox("series");o.group&&(o.xAxis&&o.xAxis.zoomEnabled||i.mapView)&&(o.group.attr(s),o.markerGroup&&(o.markerGroup.attr(t||o.getPlotBox("marker")),o.markerGroup.clip(e?i.clipRect:null)),o.dataLabelsGroup&&o.dataLabelsGroup.attr(s))}),i.clipRect.attr(e||i.clipBox)},t.prototype.setDOMEvents=function(){var i=this,o=this.chart.container,s=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(l(o,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(l(o,"mouseleave",this.onContainerMouseLeave.bind(this))),t.unbindDocumentMouseUp||(t.unbindDocumentMouseUp=l(s,"mouseup",this.onDocumentMouseUp.bind(this)));for(var r=this.chart.renderTo.parentElement;r&&"BODY"!==r.tagName;)this.eventsToUnbind.push(l(r,"scroll",function(){delete i.chartPosition})),r=r.parentElement;e.hasTouch&&(this.eventsToUnbind.push(l(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(l(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),t.unbindDocumentTouchEnd||(t.unbindDocumentTouchEnd=l(s,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},t.prototype.setHoverChartIndex=function(i){var o=this.chart,s=e.charts[b(t.hoverChartIndex,-1)];s&&s!==o&&s.pointer.onContainerMouseLeave(i||{relatedTarget:o.container}),s&&s.mouseIsDown||(t.hoverChartIndex=o.index)},t.prototype.touch=function(t,e){var i,o,s=this.chart;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!(o=this.pinchDown)[0]&&Math.sqrt(Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2))>=4),b(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)},t.prototype.touchSelect=function(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)},t.prototype.zoomOption=function(t){var e,i,o=this.chart,s=(o.options.chart,o.inverted),r=o.zooming.type||"";/touch/.test(t.type)&&(r=b(o.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!s||i&&s,this.zoomVert=i&&!s||e&&s,this.hasZoom=e||i},t}();return s=[],r=[],(o=M||(M={})).compose=function(t){i.pushUnique(r,t)&&l(t,"beforeRender",function(){this.pointer=new o(this,this.options)})},o.dissolve=function(){for(var t=0,e=s.length;tt-6&&r1.5*k?b.height:k))},t.prototype.layoutItem=function(t){var e=this.options,i=this.padding,o="horizontal"===e.layout,s=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=o?M(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};o&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(s,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,o?this.itemX+=l:(this.itemY+=n+s+r,this.lastLineHeight=s),this.offsetWidth=this.widthOption||Math.max((o?this.itemX-i-(t.checkbox?0:a):l)+i,this.offsetWidth)},t.prototype.getAllItems=function(){var t=[];return this.chart.series.forEach(function(e){var i=e&&e.options;e&&M(i.showInLegend,!v(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),y(this,"afterGetAllItems",{allItems:t}),t},t.prototype.getAlignment=function(){var t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)},t.prototype.adjustMargins=function(t,e){var i=this.chart,o=this.options,s=this.getAlignment();s&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(s)&&!v(t[n])&&(i[d[n]]=Math.max(i[d[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*o[n%2?"x":"y"]+M(o.margin,12)+e[n]+(i.titleOffset[n]||0)))})},t.prototype.proximatePositions=function(){var t,e=this.chart,i=[],o="left"===this.options.align;this.allItems.forEach(function(t){var s,r,n,a,h=o;t.yAxis&&(t.xAxis.options.reversed&&(h=!h),t.points&&(s=x(h?t.points:t.points.slice(0).reverse(),function(t){return b(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,n=t.visible?(s?s.plotY:t.yAxis.height)+(a-.3*r):a+t.yAxis.height,i.push({target:n,size:r,item:t}))},this);for(var s=0,r=p(i,e.plotHeight);s-1&&(o/=2),this.maxLegendWidth=this.widthOption||o,l||(this.group=l=r.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(l),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),C(h,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),n.reversed&&h.reverse(),this.allItems=h,this.display=t=!!h.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,h.forEach(this.renderItem,this),h.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(l)),s.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),l[t?"show":"hide"](),s.styledMode&&"none"===l.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),y(this,"afterRender")},t.prototype.align=function(t){void 0===t&&(t=this.chart.spacingBox);var e=this.chart,i=this.options,o=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?o+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(o-=e.titleOffset[2]),o!==t.y&&(t=S(t,{y:o})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)},t.prototype.handleOverflow=function(t){var e,i,o,s=this,r=this.chart,n=r.renderer,a=this.options,h=a.y,l="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,p=a.navigation,u=M(p.animation,!0),f=p.arrowSize||12,g=this.pages,v=this.allItems,m=function(t){"number"==typeof t?S.attr({height:t}):S&&(s.clipRect=S.destroy(),s.contentGroup.clip()),s.contentGroup.div&&(s.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return s[t]=n.circle(0,0,1.3*f).translate(f/2,f/2).add(b),r.styledMode||s[t].attr("fill","rgba(0,0,0,0.0001)"),s[t]},y=r.spacingBox.height+(l?-h:h)-c,b=this.nav,S=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(y/=2),d&&(y=Math.min(y,d)),g.length=0,t&&y>0&&t>y&&!1!==p.enabled?(this.clipHeight=e=Math.max(y-20-this.titleHeight-c,0),this.currentPage=M(this.currentPage,1),this.fullHeight=t,v.forEach(function(t,s){var r=(o=t.legendItem||{}).y||0,n=Math.round(o.label.getBBox().height),a=g.length;(!a||r-g[a-1]>e&&(i||r)!==g[a-1])&&(g.push(i||r),a++),o.pageIx=a-1,i&&((v[s-1].legendItem||{}).pageIx=a-1),s===v.length-1&&r+n-g[a-1]>e&&r>g[a-1]&&(g.push(r),o.pageIx=a),r!==i&&(i=r)}),S||(S=s.clipRect=n.clipRect(0,c-2,9999,0),s.contentGroup.clip(S)),m(e),b||(this.nav=b=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,f,f).add(b),x("upTracker").on("click",function(){s.scroll(-1,u)}),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&p.style&&this.pager.css(p.style),this.pager.add(b),this.down=n.symbol("triangle-down",0,0,f,f).add(b),x("downTracker").on("click",function(){s.scroll(1,u)})),s.scroll(0),t=y):b&&(m(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},t.prototype.scroll=function(t,e){var i=this,o=this.chart,s=this.pages,r=s.length,n=this.clipHeight,a=this.options.navigation,c=this.pager,d=this.padding,p=this.currentPage+t;p>r&&(p=r),p>0&&(void 0!==e&&l(e,o),this.nav.attr({translateX:d,translateY:n+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:p+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:p===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===p?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===p?"default":"pointer"}),this.down.attr({fill:p===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:p===r?"default":"pointer"})),this.scrollOffset=-s[p-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=p,this.positionCheckboxes(),A(function(){y(i,"afterScroll",{currentPage:p})},h(M(e,o.renderer.globalAnimation,!0)).duration))},t.prototype.setItemEvents=function(t,e,i){for(var s=this,r=t.legendItem||{},n=s.chart.renderer.boxWrapper,a=t instanceof o,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,c=i?[e,r.symbol]:[r.group],d=function(e){s.allItems.forEach(function(i){t!==i&&[i].concat(i.linkedSeries||[]).forEach(function(t){t.setState(e,!a)})})},p=0;p0},t.prototype.hasMarkerChanged=function(t,e){var i=t.marker,o=e.marker||{};return i&&(o.enabled&&!i.enabled||o.symbol!==i.symbol||o.height!==i.height||o.width!==i.width)},t.prototype.autoIncrement=function(t){var e,i,o=this.options,s=o.pointIntervalUnit,r=o.relativeXValue,n=this.chart.time,a=this.xIncrement;return(a=z(a,o.pointStart,0),this.pointInterval=i=z(this.pointInterval,o.pointInterval,1),r&&j(t)&&(i*=t),s&&(e=new n.Date(a),"day"===s?n.set("Date",e,n.get("Date",e)+i):"month"===s?n.set("Month",e,n.get("Month",e)+i):"year"===s&&n.set("FullYear",e,n.get("FullYear",e)+i),i=e.getTime()-a),r&&j(t))?a+i:(this.xIncrement=a+i,a)},t.prototype.setDataSortingOptions=function(){var t=this.options;w(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),M(t.pointRange)||(t.pointRange=1)},t.prototype.setOptions=function(t){var e,i,o,s=this.chart,r=s.options.plotOptions,n=s.userOptions||{},a=I(t),h=s.styledMode,l={plotOptions:r,userOptions:a};P(this,"setOptions",l);var c=l.plotOptions[this.type],d=n.plotOptions||{},u=d.series||{},f=p.plotOptions[this.type]||{},g=d[this.type]||{};this.userOptions=l.userOptions;var v=I(c,r.series,g,a);this.tooltipOptions=I(p.tooltip,null===(e=p.plotOptions.series)||void 0===e?void 0:e.tooltip,null==f?void 0:f.tooltip,s.userOptions.tooltip,null===(i=d.series)||void 0===i?void 0:i.tooltip,g.tooltip,a.tooltip),this.stickyTracking=z(a.stickyTracking,g.stickyTracking,u.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||v.stickyTracking),null===c.marker&&delete v.marker,this.zoneAxis=v.zoneAxis;var m=this.zones=(v.zones||[]).slice();return(v.negativeColor||v.negativeFillColor)&&!v.zones&&(o={value:v[this.zoneAxis+"Threshold"]||v.threshold||0,className:"highcharts-negative"},h||(o.color=v.negativeColor,o.fillColor=v.negativeFillColor),m.push(o)),m.length&&M(m[m.length-1].value)&&m.push(h?{}:{color:this.color,fillColor:this.fillColor}),P(this,"afterSetOptions",{options:v}),v},t.prototype.getName=function(){return z(this.options.name,"Series "+(this.index+1))},t.prototype.getCyclic=function(t,e,i){var o,s,r=this.chart,n="".concat(t,"Index"),a="".concat(t,"Counter"),h=(null==i?void 0:i.length)||r.options.chart.colorCount;!e&&(M(s=z("color"===t?this.options.colorIndex:void 0,this[n]))?o=s:(r.series.length||(r[a]=0),o=r[a]%h,r[a]+=1),i&&(e=i[o])),void 0!==o&&(this[n]=o),this[t]=e},t.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.plotOptions[this.type].color,this.chart.options.colors)},t.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},t.prototype.getSymbol=function(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)},t.prototype.findPointIndex=function(t,e){var i,o,s,n=t.id,a=t.x,h=this.points,l=this.options.dataSorting;if(n){var c=this.chart.get(n);c instanceof r&&(i=c)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){var d=function(e){return!e.touched&&e.index===t.index};if(l&&l.matchByName?d=function(e){return!e.touched&&e.name===t.name}:this.options.relativeXValue&&(d=function(e){return!e.touched&&e.options.x===t.x}),!(i=T(h,d)))return}return i&&void 0!==(s=i&&i.index)&&(o=!0),void 0===s&&j(a)&&(s=this.xData.indexOf(a,e)),-1!==s&&void 0!==s&&this.cropped&&(s=s>=this.cropStart?s-this.cropStart:s),!o&&j(s)&&h[s]&&h[s].touched&&(s=void 0),s},t.prototype.updateData=function(t,e){var i,o,s,r,n=this.options,a=n.dataSorting,h=this.points,l=[],c=this.requireSorting,d=t.length===h.length,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var o,s=M(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=s.x;s.id||j(p)?(-1===(o=this.findPointIndex(s,r))||void 0===o?l.push(t):h[o]&&t!==n.data[o]?(h[o].update(t,!1,null,!1),h[o].touched=!0,c&&(r=o+1)):h[o]&&(h[o].touched=!0),(!d||e!==o||a&&a.enabled||this.hasDerivedData)&&(i=!0)):l.push(t)},this),i)for(o=h.length;o--;)(s=h[o])&&!s.touched&&s.remove&&s.remove(!1,e);else!d||a&&a.enabled?p=!1:(t.forEach(function(t,e){t===h[e].y||h[e].destroyed||h[e].update(t,!1,null,!1)}),l.length=0);return h.forEach(function(t){t&&(t.touched=!1)}),!!p&&(l.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=x(this.xData),this.autoIncrement()),!0)},t.prototype.setData=function(t,e,i,o){void 0===e&&(e=!0);var s,r,n,a,h,l=this,c=l.points,d=c&&c.length||0,p=l.options,u=l.chart,f=p.dataSorting,g=l.xAxis,v=p.turboThreshold,m=this.xData,x=this.yData,y=l.pointArrayMap,b=y&&y.length,S=p.keys,M=0,k=1,C=null;u.options.chart.allowMutatingData||(p.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,h=I(!0,t));var w=(t=h||t||[]).length;if(f&&f.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==o&&w&&d&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(a=this.updateData(t,i)),!a){if(l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach(function(t){l[t+"Data"].length=0}),v&&w>v){if(j(C=l.getFirstValidPoint(t)))for(r=0;r=0?M:0,k=k>=0?k:1),1===C.length&&(k=0),M===k)for(r=0;ro?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){var i=e.options,s=i.data;i.dataSorting&&i.dataSorting.enabled||!s||(s.forEach(function(i,r){s[r]=o(e,i),t[r]&&(s[r].x=t[r].x,s[r].index=r)}),e.setData(s,!1))}),t},t.prototype.getProcessedData=function(t){var e,i,o,s,r,n=this,a=n.xAxis,h=n.options,l=h.cropThreshold,c=t||n.getExtremesFromAll||h.getExtremesFromAll,d=null==a?void 0:a.logarithmic,p=n.isCartesian,u=0,f=n.xData,g=n.yData,v=!1,m=f.length;a&&(s=(o=a.getExtremes()).min,r=o.max,v=!!(a.categories&&!a.names.length)),p&&n.sorted&&!c&&(!l||m>l||n.forceCrop)&&(f[m-1]r?(f=[],g=[]):n.yData&&(f[0]r)&&(f=(e=this.cropData(n.xData,n.yData,s,r)).xData,g=e.yData,u=e.start,i=!0));var x=O([d?f.map(d.log2lin):f],function(){return n.requireSorting&&!v&&A(15,!1,n.chart)});return{xData:f,yData:g,cropped:i,cropStart:u,closestPointRange:x}},t.prototype.processData=function(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;var i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,P(this,"afterProcessData")},t.prototype.cropData=function(t,e,i,o){var s,r,n=t.length,a=0,h=n;for(s=0;s=i){a=Math.max(0,s-1);break}for(r=s;ro){h=r+1;break}return{xData:t.slice(a,h),yData:e.slice(a,h),start:a,end:h}},t.prototype.generatePoints=function(){var t,e,i,o,s=this.options,r=this.processedData||s.data,n=this.processedXData,a=this.processedYData,h=this.pointClass,l=n.length,c=this.cropStart||0,d=this.hasGroupedData,p=s.keys,u=[],f=s.dataGrouping&&s.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){var v=[];v.length=r.length,g=this.data=v}for(p&&d&&(this.options.keys=!1),o=0;o0:n.length)||!f),s=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!l||(d[a+u]||r)>=g&&(d[a-u]||r)<=v,o&&s){if(h=n.length)for(;h--;)j(n[h])&&(p[m++]=n[h]);else p[m++]=n}var S={activeYData:p,dataMin:y(p),dataMax:x(p)};return P(this,"afterGetExtremes",{dataExtremes:S}),S},t.prototype.applyExtremes=function(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t},t.prototype.getFirstValidPoint=function(t){for(var e=t.length,i=0,o=null;null===o&&i=d.enabledThreshold*d.radius);if(!1!==d.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=o=h.renderer.symbol(g,a.x,a.y,a.width,a.height,n?r:d).add(p),this.enabledDataSorting&&h.hasRendered&&(o.attr({x:i.startXPos}),s="animate")),o&&"animate"===s&&o[v?"show":"hide"](v).animate(a),o){var m=this.pointAttribs(i,l||!i.selected?void 0:"select");l?c&&o.css({fill:m.fill}):o[s](m)}o&&o.addClass(i.getClassName(),!0)}else o&&(i.graphic=o.destroy())},t.prototype.markerAttribs=function(t,e){var i,o,s=this.options,r=s.marker,n=t.marker||{},a=n.symbol||r.symbol,h={},l=z(n.radius,r&&r.radius);e&&(i=r.states[e],l=z((o=n.states&&n.states[e])&&o.radius,i&&i.radius,l&&l+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(l=0);var c=t.pos();return j(l)&&c&&(h.x=c[0]-l,h.y=c[1]-l,s.crisp&&(h.x=Math.floor(h.x))),l&&(h.width=h.height=2*l),h},t.prototype.pointAttribs=function(t,e){var i,o,s,r,n=this.options.marker,a=t&&t.options,h=a&&a.marker||{},l=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,p=this.color,u=z(h.lineWidth,n.lineWidth),f=1;return p=l||d||c||p,s=h.fillColor||n.fillColor||p,r=h.lineColor||n.lineColor||p,e=e||"normal",i=n.states[e]||{},u=z((o=h.states&&h.states[e]||{}).lineWidth,i.lineWidth,u+z(o.lineWidthPlus,i.lineWidthPlus,0)),s=o.fillColor||i.fillColor||s,{stroke:r=o.lineColor||i.lineColor||r,"stroke-width":u,fill:s,opacity:f=z(o.opacity,i.opacity,f)}},t.prototype.destroy=function(t){var e,i,o,s=this,r=s.chart,n=/AppleWebKit\/533/.test(v.navigator.userAgent),a=s.data||[];for(P(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(t){(o=s[t])&&o.series&&(C(o.series,s),o.isDirty=o.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();s.clips&&s.clips.forEach(function(t){return t.destroy()}),l.clearTimeout(s.animationTimeout),R(s,function(t,e){t instanceof h&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===s&&(r.hoverSeries=void 0),C(r.series,s),r.orderItems("series"),R(s,function(e,i){t&&"hcEvents"===i||delete s[i]})},t.prototype.applyZones=function(){var t,e,i,o,s,r,n,a,h,l,c,d=this,p=this.chart,u=p.renderer,f=this.zones,g=this.clips||[],v=this.graph,m=this.area,x=Math.max(p.plotWidth,p.plotHeight),y=this[(this.zoneAxis||"y")+"Axis"],S=p.inverted,M=!1;f.length&&(v||m)&&y&&void 0!==y.min?(s=y.reversed,r=y.horiz,v&&!this.showLine&&v.hide(),m&&m.hide(),o=y.getExtremes(),f.forEach(function(f,k){t=s?r?p.plotWidth:0:r?0:y.toPixels(o.min)||0,t=b(z(e,t),0,x),e=b(Math.round(y.toPixels(z(f.value,o.max),!0)||0),0,x),M&&(t=e=y.toPixels(o.max)),n=Math.abs(t-e),a=Math.min(t,e),h=Math.max(t,e),y.isXAxis?(i={x:S?h:a,y:0,width:n,height:x},r||(i.x=p.plotHeight-i.x)):(i={x:0,y:S?h:a,width:x,height:n},r&&(i.y=p.plotWidth-i.y)),g[k]?g[k].animate(i):g[k]=u.clipRect(i),l=d["zone-area-"+k],c=d["zone-graph-"+k],v&&c&&c.clip(g[k]),m&&l&&l.clip(g[k]),M=f.value>o.max,d.resetZones&&0===e&&(e=void 0)}),this.clips=g):d.visible&&(v&&v.show(),m&&m.show())},t.prototype.plotGroup=function(t,e,i,o,s){var r=this[t],n=!r,a={visibility:i,zIndex:o||.1};return void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(a.opacity=this.opacity),n&&(this[t]=r=this.chart.renderer.g().add(s)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(M(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r},t.prototype.getPlotBox=function(t){var e=this.xAxis,i=this.yAxis,o=this.chart,s=o.inverted&&!o.polar&&e&&!1!==this.invertible&&"series"===t;return o.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:o.plotLeft,translateY:i?i.top:o.plotTop,rotation:s?90:0,rotationOriginX:s?(e.len-i.len)/2:0,rotationOriginY:s?(e.len+i.len)/2:0,scaleX:s?-1:1,scaleY:1}},t.prototype.removeEvents=function(t){t||G(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind.length=0)},t.prototype.render=function(){var t=this,e=t.chart,i=t.options,o=c(i.animation),s=t.visible?"inherit":"hidden",r=i.zIndex,n=t.hasRendered,a=e.seriesGroup;e.inverted;var h=t.finishedAnimating?0:o.duration;P(this,"render"),t.plotGroup("group","series",s,r,a),t.markerGroup=t.plotGroup("markerGroup","markers",s,r,a),!1!==i.clip&&t.setClip(),t.animate&&h&&t.animate(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels&&t.drawDataLabels(),t.redrawPoints&&t.redrawPoints(),t.drawTracker&&i.enableMouseTracking&&t.drawTracker(),t.animate&&h&&t.animate(),n||(h&&o.defer&&(h+=o.defer),t.animationTimeout=W(function(){t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,P(t,"afterRender")},t.prototype.redraw=function(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree},t.prototype.reserveSpace=function(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries},t.prototype.searchPoint=function(t,e){var i=this.xAxis,o=this.yAxis,s=this.chart.inverted;return this.searchKDTree({clientX:s?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:s?o.len-t.chartX+o.pos:t.chartY-o.pos},e,t)},t.prototype.buildKDTree=function(t){this.buildingKdTree=!0;var e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,W(function(){e.kdTree=function t(i,o,s){var r,n,a=i&&i.length;if(a)return r=e.kdAxisArray[o%s],i.sort(function(t,e){return t[r]-e[r]}),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),o+1,s),right:t(i.slice(n+1),o+1,s)}}(e.getValidPoints(null,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t&&"touchstart"===t.type?0:1)},t.prototype.searchKDTree=function(t,e,i){var o=this,s=this.kdAxisArray,r=s[0],n=s[1],a=e?"distX":"dist",h=(o.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!o.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,h){var c,d,p,u,f,g,v,m,x,y,b,S=i.point,k=o.kdAxisArray[s%h],C=S;d=e[r],p=S[r],u=M(d)&&M(p)?d-p:null,f=e[n],g=S[n],v=M(f)&&M(g)?f-g:0,m=l&&(null===(c=S.marker)||void 0===c?void 0:c.radius)||0,S.dist=Math.sqrt((u&&u*u||0)+v*v)-m,S.distX=M(u)?Math.abs(u)-m:Number.MAX_VALUE;var A=(e[k]||0)-(S[k]||0)+(l&&(null===(x=S.marker)||void 0===x?void 0:x.radius)||0),w=A<0?"left":"right",T=A<0?"right":"left";return i[w]&&(C=(y=t(e,i[w],s+1,h))[a]=0&&t.plotY<=(o?o.len:e.plotHeight)&&t.plotX>=0&&t.plotX<=(i?i.len:e.plotWidth)},t.prototype.drawTracker=function(){var t=this,e=t.options,i=e.trackByArea,o=[].concat(i?t.areaPath:t.graphPath),s=t.chart,r=s.pointer,n=s.renderer,a=s.options.tooltip.snap,h=t.tracker,l=function(i){e.enableMouseTracking&&s.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(g?1e-4:.002)+")";h?h.attr({d:o}):t.graph&&(t.tracker=n.path(o).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),s.styledMode||t.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(function(t){t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(t){r.onTrackerMouseOut(t)}),e.cursor&&!s.styledMode&&t.css({cursor:e.cursor}),f&&t.on("touchstart",l))})),P(this,"afterDrawTracker")},t.prototype.addPoint=function(t,e,i,o,s){var r,n,a=this.options,h=this.data,l=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,p=a.data,u=this.xData;e=z(e,!0);var f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);var g=f.x;if(n=u.length,this.requireSorting&&gg;)n--;this.updateParallelArrays(f,"splice",[n,0,0]),this.updateParallelArrays(f,n),d&&f.name&&(d[g]=f.name),p.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(f,"shift"),p.shift())),!1!==s&&P(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(o)},t.prototype.removePoint=function(t,e,i){var o=this,s=o.data,r=s[t],n=o.points,a=o.chart,h=function(){n&&n.length===s.length&&n.splice(t,1),s.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(r||{series:o},"splice",[t,1]),r&&r.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&a.redraw()};d(i,a),e=z(e,!0),r?r.firePointEvent("remove",null,h):h()},t.prototype.remove=function(t,e,i,o){var s=this,r=s.chart;function n(){s.destroy(o),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(o),z(t,!0)&&r.redraw(e)}!1!==i?P(s,"remove",null,n):n()},t.prototype.update=function(t,e){P(this,"update",{options:t=k(t,this.userOptions)});var i,o,s,r,n=this,a=n.chart,h=n.userOptions,l=n.initialType||n.type,c=a.options.plotOptions,d=m[l].prototype,p=n.finishedAnimating&&{animation:!1},u={},f=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||h.type||a.options.chart.type,v=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(function(t){return n.hasOptionChanged(t)}));g=g||l,v&&(f.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&f.push("area","graph"),n.parallelArrays.forEach(function(t){f.push(t+"Data")}),t.data&&(t.dataSorting&&w(n.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=I(h,p,{index:void 0===h.index?n.index:h.index,pointStart:z(null===(i=null==c?void 0:c.series)||void 0===i?void 0:i.pointStart,h.pointStart,n.xData[0])},!v&&{data:n.options.data},t),v&&t.data&&(t.data=n.options.data),(f=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(f)).forEach(function(t){f[t]=n[t],delete n[t]});var x=!1;if(m[g]){if(x=g!==n.type,n.remove(!1,!1,!1,!0),x){if(Object.setPrototypeOf)Object.setPrototypeOf(n,m[g].prototype);else{var y=Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents;for(r in d)n[r]=void 0;w(n,m[g].prototype),y?n.hcEvents=y:delete n.hcEvents}}}else A(17,!0,a,{missingModuleFor:g});if(f.forEach(function(t){n[t]=f[t]}),n.init(a,t),v&&this.points){!1===(s=n.options).visible?(u.graphic=1,u.dataLabel=1):(this.hasMarkerChanged(s,h)&&(u.graphic=1),(null===(o=n.hasDataLabels)||void 0===o?void 0:o.call(n))||(u.dataLabel=1));for(var b=0,S=this.points;b=Math.max(l+n,v.pos)&&m<=Math.min(l+n+p.width,v.pos+v.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){var x=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},y=i.paneCoordinates?x.pos+f:a+f;y>=Math.max(c+a,x.pos)&&y<=Math.min(c+a+p.height,x.pos+x.len)||(g.isInsidePlot=!1)}return G(this,"afterIsInsidePlot",g),g.isInsidePlot},t.prototype.redraw=function(t){G(this,"beforeRedraw");var e,i,o,s,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,a=this.pointer,h=this.legend,l=this.userOptions.legend,c=this.renderer,d=c.isHidden(),p=[],u=this.isDirtyBox,f=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),v(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),o=n.length;o--;)if(((s=n[o]).options.stacking||s.options.centerInCategory)&&(i=!0,s.isDirty)){e=!0;break}if(e)for(o=n.length;o--;)(s=n[o]).options.stacking&&(s.isDirty=!0);n.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),f=!0):l&&(l.labelFormatter||l.labelFormat)&&(f=!0)),t.isDirtyData&&G(t,"updatedData")}),f&&h&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),r.forEach(function(t){t.isDirty&&(u=!0)}),r.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,p.push(function(){G(t,"afterSetExtremes",R(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(u||i)&&t.redraw()}),u&&this.drawChartBox(),G(this,"predraw"),n.forEach(function(t){(u||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),a&&a.reset(!0),c.draw(),G(this,"redraw"),G(this,"render"),d&&this.temporaryDisplay(!0),p.forEach(function(t){t.call()})},t.prototype.get=function(t){var e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}for(var o=z(this.axes,i)||z(this.series,i),s=0;!o&&s1?o.height:400)),this.containerBox=o},t.prototype.temporaryDisplay=function(t){var e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(E(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(M.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(M.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,M.body.appendChild(i)),("none"===N(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),E(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==M.body););},t.prototype.setClassName=function(t){this.container.className="highcharts-container "+(t||"")},t.prototype.getContainer=function(){var t,e=this.options,i=e.chart,o="data-highcharts-chart",s=J(),r=this.renderTo;r||(this.renderTo=r=i.renderTo),U(r)&&(this.renderTo=r=M.getElementById(r)),r||I(13,!0,this);var a=V(P(r,o));X(a)&&S[a]&&S[a].hasRendered&&S[a].destroy(),P(r,o,this.index),r.innerHTML=p.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();var h=this.chartWidth,c=this.chartHeight;E(r,{overflow:"hidden"}),this.styledMode||(t=R({position:"relative",overflow:"hidden",width:h+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},i.style||{}));var d=O("div",{id:s},t,r);this.container=d,this._cursor=d.style.cursor;var u=i.renderer||!C?n.getRendererType(i.renderer):l;if(this.renderer=new u(d,h,c,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),this.containerBox=this.getContainerBox(),v(void 0,this),this.setClassName(i.className),this.styledMode)for(var f in e.defs)this.renderer.definition(e.defs[f]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,G(this,"afterGetContainer")},t.prototype.getMargins=function(t){var e=this.spacing,i=this.margin,o=this.titleOffset;this.resetMargins(),o[0]&&!L(i[0])&&(this.plotTop=Math.max(this.plotTop,o[0]+e[0])),o[2]&&!L(i[2])&&(this.marginBottom=Math.max(this.marginBottom,o[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),G(this,"getMargins"),t||this.getAxisMargins()},t.prototype.getAxisMargins=function(){var t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,o=t.margin,s=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?s(t.axes):i&&i.length&&s(i),k.forEach(function(i,s){L(o[s])||(t[i]+=e[s])}),t.setChartSize()},t.prototype.getOptions=function(){return D(this.userOptions,m)},t.prototype.reflow=function(t){var e=this,i=e.containerBox,o=e.getContainerBox();delete e.pointer.chartPosition,!e.isPrinting&&!e.isResizing&&i&&o.width&&((o.width!==i.width||o.height!==i.height)&&(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=$(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=o)},t.prototype.setReflow=function(){var t=this,e=function(e){var i;(null===(i=t.options)||void 0===i?void 0:i.chart.reflow)&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{var i=T(A,"resize",e);T(this,"destroy",i)}},t.prototype.setSize=function(t,e,i){var o=this,s=o.renderer;o.isResizing+=1,v(i,o);var r=s.globalAnimation;o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,void 0!==t&&(o.options.chart.width=t),void 0!==e&&(o.options.chart.height=e),o.getChartSize(),o.styledMode||(r?f:E)(o.container,{width:o.chartWidth+"px",height:o.chartHeight+"px"},r),o.setChartSize(!0),s.setSize(o.chartWidth,o.chartHeight,r),o.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(r),o.oldChartHeight=null,G(o,"resize"),setTimeout(function(){o&&G(o,"endResize",void 0,function(){o.isResizing-=1})},g(r).duration)},t.prototype.setChartSize=function(t){var e,i,o,s,r=this.inverted,n=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=o=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=s=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=r?s:o,this.plotSizeY=r?o:s,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=n.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=n.plotBox={x:e,y:i,width:o,height:s};var p=2*Math.floor(this.plotBorderWidth/2),u=Math.ceil(Math.max(p,d[3])/2),f=Math.ceil(Math.max(p,d[0])/2);this.clipBox={x:u,y:f,width:Math.floor(this.plotSizeX-Math.max(p,d[1])/2-u),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(p,d[2])/2-f))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),n.alignElements()),G(this,"afterSetChartSize",{skipAxes:t})},t.prototype.resetMargins=function(){G(this,"resetMargins");var t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){var o=e[i],s=H(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(o,r){t[i][r]=F(e[i+o],s[r])})}),k.forEach(function(e,i){t[e]=F(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},t.prototype.drawChartBox=function(){var t,e,i,o=this.options.chart,s=this.renderer,r=this.chartWidth,n=this.chartHeight,a=this.styledMode,h=this.plotBGImage,l=o.backgroundColor,c=o.plotBackgroundColor,d=o.plotBackgroundImage,p=this.plotLeft,u=this.plotTop,f=this.plotWidth,g=this.plotHeight,v=this.plotBox,m=this.clipRect,x=this.clipBox,y=this.chartBackground,b=this.plotBackground,S=this.plotBorder,M="animate";y||(this.chartBackground=y=s.rect().addClass("highcharts-background").add(),M="attr"),a?t=e=y.strokeWidth():(e=(t=o.borderWidth||0)+(o.shadow?8:0),i={fill:l||"none"},(t||y["stroke-width"])&&(i.stroke=o.borderColor,i["stroke-width"]=t),y.attr(i).shadow(o.shadow)),y[M]({x:e/2,y:e/2,width:r-e-t%2,height:n-e-t%2,r:o.borderRadius}),M="animate",b||(M="attr",this.plotBackground=b=s.rect().addClass("highcharts-plot-background").add()),b[M](v),!a&&(b.attr({fill:c||"none"}).shadow(o.plotShadow),d&&(h?(d!==h.attr("href")&&h.attr("href",d),h.animate(v)):this.plotBGImage=s.image(d,p,u,f,g).add())),m?m.animate({width:x.width,height:x.height}):this.clipRect=s.clipRect(x),M="animate",S||(M="attr",this.plotBorder=S=s.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||S.attr({stroke:o.plotBorderColor,"stroke-width":o.plotBorderWidth||0,fill:"none"}),S[M](S.crisp({x:p,y:u,width:f,height:g},-S.strokeWidth())),this.isDirtyBox=!1,G(this,"afterDrawChartBox")},t.prototype.propFromSeries=function(){var t,e,i,o=this,s=o.options.chart,r=o.options.series;["inverted","angular","polar"].forEach(function(n){for(e=w[s.type],i=s[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=w[r[t].type])&&e.prototype[n]&&(i=!0);o[n]=i})},t.prototype.linkSeries=function(t){var e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){var i=t.options.linkedTo;U(i)&&(i=":previous"===i?e.series[t.index-1]:e.get(i))&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,i.enabledDataSorting&&t.setDataSortingOptions(),t.visible=F(t.options.visible,i.options.visible,t.visible))}),G(this,"afterLinkSeries",{isUpdating:t})},t.prototype.renderSeries=function(){this.series.forEach(function(t){t.translate(),t.render()})},t.prototype.render=function(){var t=this.axes,e=this.colorAxis,i=this.renderer,o=function(t){t.forEach(function(t){t.visible&&t.render()})},s=0;this.setTitle(),G(this,"beforeMargins"),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize();var r=this.plotWidth;t.some(function(t){if(t.horiz&&t.visible&&t.options.labels.enabled&&t.series.length)return s=21,!0}),this.plotHeight=Math.max(this.plotHeight-s,0);var n=this.plotHeight;t.forEach(function(t){t.setScale()}),this.getAxisMargins();var a=r/this.plotWidth>1.1,h=n/this.plotHeight>1.05;(a||h)&&(t.forEach(function(t){(t.horiz&&a||!t.horiz&&h)&&t.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},t.prototype.addCredits=function(t){var e=this,i=Y(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(A.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})},t.prototype.destroy=function(){var t,e=this,i=e.axes,o=e.series,s=e.container,n=s&&s.parentNode;for(G(e,"destroy"),e.renderer.forExport?B(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Z(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=o.length;t--;)o[t]=o[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){var i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),s&&(s.innerHTML=p.emptyHTML,Z(s),n&&j(s)),_(e,function(t,i){delete e[i]})},t.prototype.firstRender=function(){var t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();var i=W(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSeriesData(),G(t,"beforeRender"),t.render(),t.pointer.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)},t.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),G(this,"load"),G(this,"render"),L(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},t.prototype.warnIfA11yModuleNotLoaded=function(){var t=this.options,e=this.title;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/0&&(y+=s,x=S),(s=y-M)>0&&(y=M,x-=s),e.series.length&&x!==u.min&&y!==u.max&&x>=S&&y<=M&&(e.setExtremes(x,y,!1,!1,{trigger:"pan"}),!o.resetZoomButton&&x!==S&&y!==M&&a.match("y")&&(o.showResetZoom(),e.displayBtn=!1),i=!0),r[l]=h)}}),_(r,function(t,e){o[e]=t}),i&&o.redraw(!1),E(o.container,{cursor:"move"})})},t}();return R(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Series/Series.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r){var n=t.stop,a=r.addEvent,h=r.createElement,l=r.defined,c=r.merge,d=r.pick;a(i,"afterSetChartSize",function(t){var i,o,s,r=this.options.chart.scrollablePlotArea,n=r&&r.minWidth,a=r&&r.minHeight;this.renderer.forExport||(n?(this.scrollablePixelsX=i=Math.max(0,n-this.chartWidth),i&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=c(this.plotBox),this.plotBox.width=this.plotWidth+=i,this.inverted?this.clipBox.height+=i:this.clipBox.width+=i,s={1:{name:"right",value:i}})):a&&(this.scrollablePixelsY=o=Math.max(0,a-this.chartHeight),l(o)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=c(this.plotBox),this.plotBox.height=this.plotHeight+=o,this.inverted?this.clipBox.width+=o:this.clipBox.height+=o,s={2:{name:"bottom",value:o}})),s&&!t.skipAxes&&this.axes.forEach(function(t){s[t.side]?t.getPlotLinePath=function(){var i,o=s[t.side].name,r=s[t.side].value,n=this[o];return this[o]=n-r,i=e.prototype.getPlotLinePath.apply(this,arguments),this[o]=n,i}:(t.setAxisSize(),t.setAxisTranslation())}))}),a(i,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),i.prototype.setUpScrolling=function(){var t,e=this,i={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(i.overflowX="auto"),this.scrollablePixelsY&&(i.overflowY="auto"),this.scrollingParent=h("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=h("div",{className:"highcharts-scrolling"},i,this.scrollingParent),a(this.scrollingContainer,"scroll",function(){e.pointer&&(delete e.pointer.chartPosition,e.hoverPoint&&(t=e.hoverPoint),e.pointer.runPointActions(void 0,t,!0))}),this.innerContainer=h("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},i.prototype.moveFixedElements=function(){var t,e=this.container,i=this.fixedRenderer,o=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis"),t&&o.push("".concat(t,":not(.highcharts-radial-axis)"),"".concat(t,"-labels:not(.highcharts-radial-axis-labels)")),o.forEach(function(t){[].forEach.call(e.querySelectorAll(t),function(t){(t.namespaceURI===i.SVG_NS?i.box:i.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})})},i.prototype.applyFixed=function(){var t=!this.fixedDiv,e=this.options.chart,i=e.scrollablePlotArea,o=s.getRendererType();t?(this.fixedDiv=h("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=r=new o(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=r.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":d(i.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a(this,"afterShowResetZoom",this.moveFixedElements),a(this,"afterApplyDrilldown",this.moveFixedElements),a(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||t)&&(this.scrollableDirty=!1,this.moveFixedElements()),l=this.chartWidth+(this.scrollablePixelsX||0),c=this.chartHeight+(this.scrollablePixelsY||0),n(this.container),this.container.style.width=l+"px",this.container.style.height=c+"px",this.renderer.boxWrapper.attr({width:l,height:c,viewBox:[0,0,l,c].join(" ")}),this.chartBackground.attr({width:l,height:c}),this.scrollingContainer.style.height=this.chartHeight+"px",t&&(i.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*i.scrollPositionX),i.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*i.scrollPositionY));var r,l,c,p,u=this.axisOffset,f=this.plotTop-u[0]-1,g=this.plotLeft-u[3]-1,v=this.plotTop+this.plotHeight+u[2]+1,m=this.plotLeft+this.plotWidth+u[1]+1,x=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),y=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);p=this.scrollablePixelsX?[["M",0,f],["L",this.plotLeft-1,f],["L",this.plotLeft-1,v],["L",0,v],["Z"],["M",x,f],["L",this.chartWidth,f],["L",this.chartWidth,v],["L",x,v],["Z"]]:this.scrollablePixelsY?[["M",g,0],["L",g,this.plotTop-1],["L",m,this.plotTop-1],["L",m,0],["Z"],["M",g,y],["L",g,this.chartHeight],["L",m,this.chartHeight],["L",m,y],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:p})},a(e,"afterInit",function(){this.chart.scrollableDirty=!0}),a(o,"show",function(){this.chart.scrollableDirty=!0})}),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){var o=t.format,s=e.series,r=i.destroyObjectProperties,n=i.fireEvent,a=i.isNumber,h=i.pick;return function(){function t(t,e,i,o,s){var r=t.chart.inverted,n=t.reversed;this.axis=t;var a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=o,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=s,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}return t.prototype.destroy=function(){r(this,this.axis)},t.prototype.render=function(t){var e=this.axis.chart,i=this.options,s=i.format,r=s?o(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");var a={r:i.borderRadius||0,text:r,padding:h(i.padding,5),visibility:"hidden"};e.styledMode||(a.fill=i.backgroundColor,a.stroke=i.borderColor,a["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(a),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,n(this,"afterRender")},t.prototype.setOffset=function(t,e,i,o,r,l){var c=this.alignOptions,d=this.axis,p=this.label,u=this.options,f=this.textAlign,g=d.chart,v=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:o,defaultX:r,xAxis:l}),m=c.verticalAlign;if(p&&v){var x=p.getBBox(),y=p.padding,b="justify"===h(u.overflow,"justify"),S=void 0;c.x=u.x||0,c.y=u.y||0;var M=this.adjustStackPosition({labelBox:x,verticalAlign:m,textAlign:f}),k=M.x,C=M.y;v.x-=k,v.y-=C,p.align(c,!1,v),(S=g.isInsidePlot(p.alignAttr.x+c.x+k,p.alignAttr.y+c.y+C))||(b=!1),b&&s.prototype.justifyDataLabel.call(d,p,c,p.alignAttr,x,v),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:x.width/2,rotationOriginY:x.height/2}),h(!b&&u.crop,!0)&&(S=a(p.x)&&a(p.y)&&g.isInsidePlot(p.x-y+(p.width||0),p.y)&&g.isInsidePlot(p.x+y,p.y)),p[S?"show":"hide"]()}n(this,"afterSetOffset",{xOffset:t,width:e})},t.prototype.adjustStackPosition=function(t){var e=t.labelBox,i=t.verticalAlign,o=t.textAlign,s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},r=s[i],n=s[o];return{x:e.width/2+e.width/2*n,y:e.height/2*r}},t.prototype.getStackBox=function(t){var e=this.axis,i=e.chart,o=t.boxTop,s=t.defaultX,r=t.xOffset,n=t.width,l=t.boxBottom,c=e.stacking.usePercentage?100:h(o,this.total,0),d=e.toPixels(c),p=t.xAxis||i.xAxis[0],u=h(s,p.translate(this.x))+r,f=Math.abs(d-e.toPixels(l||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,v=this.isNegative;return g?{x:(v?d:d-f)-i.plotLeft,y:p.height-u-n,width:f,height:n}:{x:u+p.transB-i.plotLeft,y:(v?d-f:d)-i.plotTop,width:n,height:f}},t}()}),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r,n,a=t.getDeferredAnimation,h=i.series.prototype,l=s.addEvent,c=s.correctFloat,d=s.defined,p=s.destroyObjectProperties,u=s.fireEvent,f=s.isArray,g=s.isNumber,v=s.objectEach,m=s.pick;function x(){var t=this.inverted;this.axes.forEach(function(t){t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(function(e){var i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function y(){var t,e=this.stacking;if(e){var i=e.stacks;v(i,function(t,e){p(t),delete i[e]}),null===(t=e.stackTotalGroup)||void 0===t||t.destroy()}}function b(){this.stacking||(this.stacking=new w(this))}function S(t,e,i,o){return!d(t)||t.x!==e||o&&t.stackKey!==o?t={x:e,index:0,key:o,stackKey:o}:t.index++,t.key=[i,e,t.index].join(","),t}function M(){var t,e=this,i=e.yAxis,o=e.stackKey||"",s=i.stacking.stacks,r=e.processedXData,n=e.options.stacking,a=e[n+"Stacker"];a&&[o,"-"+o].forEach(function(i){for(var o,n,h,l,c=r.length;c--;)n=r[c],t=e.getStackIndicator(t,n,e.index,i),(l=null==(h=null===(o=s[i])||void 0===o?void 0:o[n])?void 0:h.points[t.key||""])&&a.call(e,l,h,c)})}function k(t,e,i){var o=e.total?100/e.total:0;t[0]=c(t[0]*o),t[1]=c(t[1]*o),this.stackedYData[i]=t[1]}function C(t){this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&this.chart.series.length>1?h.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks()}function A(t,e){var i,s,r,n,a,h,l,p,u,g,v,x=e||this.options.stacking;if(x&&this.reserveSpace()&&(({group:"xAxis"})[x]||"yAxis")===t.coll){var y=this.processedXData,b=this.processedYData,S=[],M=b.length,k=this.options,C=k.threshold||0,A=k.startFromThreshold?C:0,w=k.stack,T=e?"".concat(this.type,",").concat(x):this.stackKey||"",P="-"+T,O=this.negStacks,E=t.stacking,L=E.stacks,D=E.oldStacks;for(E.stacksTouched+=1,u=0;u0&&!1===this.singleStacks&&(a.points[p][0]=a.points[this.index+","+g+",0"][0])):(delete a.points[p],delete a.points[this.index]);var j=a.total||0;"percent"===x?(h=n?T:P,j=O&&(null===(s=L[h])||void 0===s?void 0:s[g])?(h=L[h][g]).total=Math.max(h.total||0,j)+Math.abs(v)||0:c(j+(Math.abs(v)||0))):"group"===x?(f(v)&&(v=v[0]),null!==v&&j++):j=c(j+(v||0)),"group"===x?a.cumulative=(j||1)-1:a.cumulative=c(m(a.cumulative,A)+(v||0)),a.total=j,null!==v&&(a.points[p].push(a.cumulative),S[u]=a.cumulative,a.hasValidPoints=!0)}"percent"===x&&(E.usePercentage=!0),"group"!==x&&(this.stackedYData=S),E.oldStacks={}}}var w=function(){function t(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return t.prototype.buildStacks=function(){var t,e,i=this.axis,o=i.series,s="xAxis"===i.coll,r=i.options.reversedStacks,n=o.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=o[r?e:n-e-1],s&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!s)for(e=0;e0?o=!n.connectNulls:v&&!e?o=!0:(0===d||o?p=[["M",c.plotX,c.plotY]]:s.getPointSpline?p=[s.getPointSpline(t,c,d)]:l?(p=1===l?[["L",g.plotX,f]]:2===l?[["L",(g.plotX+u)/2,g.plotY],["L",(g.plotX+u)/2,f]]:[["L",u,g.plotY]]).push(["L",u,f]):p=[["L",u,f]],h.push(c.x),l&&(h.push(c.x),2===l&&h.push(c.x)),a.push.apply(a,p),o=!1)}),a.xMap=h,s.graphPath=a,a},i.prototype.getZonesGraphs=function(t){return this.zones.forEach(function(e,i){var o=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(e.className||"")];this.chart.styledMode||o.push(e.color||this.color,e.dashStyle||this.options.dashStyle),t.push(o)},this),t},i.defaultOptions=n(t.defaultOptions,{legendSymbol:"lineMarker"}),i}(t);return e.registerSeriesType("line",h),h}),i(e,"Series/Area/AreaSeries.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});t.parse;var r=e.seriesTypes.line,n=i.extend,a=i.merge,h=i.objectEach,l=i.pick,c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return s(e,t),e.prototype.drawGraph=function(){this.areaPath=[],t.prototype.drawGraph.apply(this);var e=this,i=this.areaPath,o=this.options,s=this.zones,r=[["area","highcharts-area",this.color,o.fillColor]];s.forEach(function(t,i){r.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||e.color,t.fillColor||o.fillColor])}),r.forEach(function(t){var s=t[0],r={},n=e[s],a=n?"animate":"attr";n?(n.endX=e.preventGraphAnimation?null:i.xMap,n.animate({d:i})):(r.zIndex=0,(n=e[s]=e.chart.renderer.path(i).addClass(t[1]).add(e.group)).isArea=!0),e.chart.styledMode||(t[3]?r.fill=t[3]:(r.fill=t[2],r["fill-opacity"]=l(o.fillOpacity,.75))),n[a](r),n.startX=i.xMap,n.shiftUnit=o.step?2:1})},e.prototype.getGraphPath=function(t){var e,i,o,s=r.prototype.getGraphPath,n=this.options,a=n.stacking,h=this.yAxis,c=[],d=[],p=this.index,u=h.stacking.stacks[this.stackKey],f=n.threshold,g=Math.round(h.getThreshold(n.threshold)),v=l(n.connectNulls,"percent"===a),m=function(i,o,s){var r,n,l=t[i],v=a&&u[l.x].points[p],m=l[s+"Null"]||0,x=l[s+"Cliff"]||0,y=!0;x||m?(r=(m?v[0]:v[1])+x,n=v[0]+x,y=!!m):!a&&t[o]&&t[o].isNull&&(r=n=f),void 0!==r&&(d.push({plotX:e,plotY:null===r?g:h.getThreshold(r),isNull:y,isCliff:!0}),c.push({plotX:e,plotY:null===n?g:h.getThreshold(n),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(var x=0,y=t.length;x=0&&m=0&&xf&&s>l?(s=Math.max(f,l),a=2*l-s):sv&&a>l?(a=Math.max(v,l),s=2*l-a):a=Math.abs(e)&&a>.5;return o=a-(e=Math.round(e)+n),h&&o&&(e-=1,o+=1),{x:t,y:e,width:i,height:o}},e.prototype.adjustForMissingColumns=function(t,e,i,o){var s,r=this;if(!i.isNull&&o.columnCount>1){var n=this.xAxis.series.filter(function(t){return t.visible}).map(function(t){return t.index}),a=0,h=0;S(null===(s=this.xAxis.stacking)||void 0===s?void 0:s.stacks,function(t){if("number"==typeof i.x){var e=t[i.x.toString()];if(e&&m(e.points[r.index])){var o=Object.keys(e.points).filter(function(t){return!t.match(",")&&e.points[t]&&e.points[t].length>1}).map(parseFloat).filter(function(t){return -1!==n.indexOf(t)}).sort(function(t,e){return e-t});a=o.indexOf(r.index),h=o.length}}});var l=(h-1)*o.paddedWidth+e;t=(i.plotX||0)+l/2-e-a*o.paddedWidth}return t},e.prototype.translate=function(){var t=this,e=t.chart,i=t.options,o=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=b(i.borderWidth,o?0:1),n=t.xAxis,a=t.yAxis,h=i.threshold,l=b(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.pointXOffset=c.offset,g=t.dataMin,m=t.dataMax,y=t.barW=Math.max(d,1+2*r),S=t.translatedThreshold=a.getThreshold(h);e.inverted&&(S-=.5),i.pointPadding&&(y=Math.ceil(y)),s.prototype.translate.apply(t),t.points.forEach(function(o){var s=b(o.yBottom,S),r=999+Math.abs(s),v=o.plotX||0,M=u(o.plotY,-r,a.len+r);o.stackBox;var k,C=Math.min(M,s),A=Math.max(M,s)-C,w=d,T=v+p,P=y;l&&Math.abs(A)l?s-l:S-(k?l:0)),f(o.options.pointWidth)&&(T-=Math.round(((w=P=Math.ceil(o.options.pointWidth))-d)/2)),i.centerInCategory&&!i.stacking&&(T=t.adjustForMissingColumns(T,w,o,c)),o.barX=T,o.pointWidth=w,o.tooltipPos=e.inverted?[u(a.len+a.pos-e.plotLeft-M,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),n.len+n.pos-e.plotTop-T-P/2,A]:[n.left-e.plotLeft+T+P/2,u(M+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),A],o.shapeType=t.pointClass.prototype.shapeType||"roundedRect",o.shapeArgs=t.crispCol(T,o.isNull?S:C,P,o.isNull?0:A)}),v(this,"afterColumnTranslate")},e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},e.prototype.pointAttribs=function(t,e){var i,o,s,r=this.options,n=this.pointAttrToOptions||{},a=n.stroke||"borderColor",h=n["stroke-width"]||"borderWidth",l=t&&t.color||this.color,d=t&&t[a]||r[a]||l,p=t&&t.options.dashStyle||r.dashStyle,u=t&&t[h]||r[h]||this[h]||0,f=b(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(o=t.getZone(),l=t.options.color||o&&(o.color||t.nonZonedColor)||this.color,o&&(d=o.borderColor||d,p=o.dashStyle||p,u=o.borderWidth||u)),e&&t&&(s=(i=y(r.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=i.color||void 0!==s&&c(l).brighten(i.brightness).get()||l,d=i[a]||d,u=i[h]||u,p=i.dashStyle||p,f=b(i.opacity,f));var g={fill:l,stroke:d,"stroke-width":u,opacity:f};return p&&(g.dashstyle=p),g},e.prototype.drawPoints=function(t){void 0===t&&(t=this.points);var e,i=this,o=this.chart,s=i.options,r=o.renderer,n=s.animationLimit||250;t.forEach(function(t){var a=t.plotY,h=t.graphic,l=!!h,c=h&&o.pointCount=0)this.justifyDataLabel(e,i,l,C,o,s);else if(u(i.crop,!0)){var w=l.x,T=l.y;w+=A[0],T+=A[1],M=d.isInsidePlot(w,T,{paneCoordinates:!0,series:c})&&d.isInsidePlot(w+C.width,T+C.height,{paneCoordinates:!0,series:c})}i.shape&&!m&&e[s?"attr":"animate"]({anchorX:k[0],anchorY:k[1]})}s&&f&&(e.placed=!1),M||f&&!S?e.show():(e.hide(),e.placed=!1)}function m(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function x(t){var e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){t=t||this.points;var e,i,o,a,l=this,d=l.chart,v=l.options,m=d.renderer,x=d.options.chart,y=x.backgroundColor,b=x.plotBackgroundColor,M=d.options.plotOptions,k=m.getContrast(c(b)&&b||c(y)&&y||"#000000"),C=v.dataLabels,A=g(C=S(S(null===(e=null==M?void 0:M.series)||void 0===e?void 0:e.dataLabels,null===(i=null==M?void 0:M[l.type])||void 0===i?void 0:i.dataLabels),C))[0],w=A.animation,T=A.defer?s(d,w,l):{defer:0,duration:0};h(this,"drawDataLabels"),(null===(o=l.hasDataLabels)||void 0===o?void 0:o.call(l))&&(a=this.initDataLabels(T),t.forEach(function(t){var e,i,o=t.dataLabels||[];g(S(C,t.dlOptions||(null===(e=t.options)||void 0===e?void 0:e.dataLabels))).forEach(function(e,i){var s,h,g,x,y,b=e.enabled&&t.visible&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){var i=e.filter;if(i){var o=i.operator,s=t[i.property],r=i.value;return">"===o&&s>r||"<"===o&&s="===o&&s>=r||"<="===o&&s<=r||"=="===o&&s==r||"==="===o&&s===r}return!0}(t,e),S=e.style||{},M=e.distance,C={},A=o[i],w=!A;if(b){if(g=u(e[t.formatPrefix+"Format"],e.format),h=t.getLabelConfig(),x=n(g)?r(g,h,d):(e[t.formatPrefix+"Formatter"]||e.formatter).call(h,e),y=e.rotation,!d.styledMode&&(S.color=u(e.color,S.color,c(l.color)?l.color:void 0,"#000000"),"contrast"===S.color?(t.contrastColor=m.getContrast(t.color||l.color),S.color=!n(M)&&e.inside||0>f(M||0)||v.stacking?t.contrastColor:k):delete t.contrastColor,v.cursor&&(S.cursor=v.cursor)),C={r:e.borderRadius||0,rotation:y,padding:e.padding,zIndex:1},!d.styledMode){var T=e.backgroundColor,P=e.borderColor;C.fill="auto"===T?t.color:T,C.stroke="auto"===P?t.color:P,C["stroke-width"]=e.borderWidth}p(C,function(t,e){void 0===t&&delete C[e]})}if(!A||b&&n(x)&&!!A.div==!!e.useHTML&&(A.rotation&&e.rotation||A.rotation===e.rotation)||(A=void 0,w=!0),b&&n(x)&&(A?C.text=x:(A=y?m.text(x,0,0,e.useHTML).addClass("highcharts-data-label"):m.label(x,0,0,e.shape,void 0,void 0,e.useHTML,void 0,"data-label"))&&A.addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(e.className||"")+(e.useHTML?" highcharts-tracker":"")),A)){A.options=e,A.attr(C),d.styledMode||A.css(S).shadow(e.shadow);var O=e[t.formatPrefix+"TextPath"]||e.textPath;O&&!e.useHTML&&(A.setTextPath((null===(s=t.getDataLabelPath)||void 0===s?void 0:s.call(t,A))||t.graphic,O),t.dataLabelPath&&!O.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),A.added||A.add(a),l.alignDataLabel(t,A,e,void 0,w),A.isActive=!0,o[i]&&o[i]!==A&&o[i].destroy(),o[i]=A}});for(var s=o.length;s--;)o[s]&&o[s].isActive?o[s].isActive=!1:(null===(i=o[s])||void 0===i||i.destroy(),o.splice(s,1));t.dataLabel=o[0],t.dataLabels=o})),h(this,"afterDrawDataLabels")}function b(t,e,i,o,s,r){var n,a,h=this.chart,l=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,p=e.x,u=void 0===p?0:p,f=e.y,g=void 0===f?0:f;return(n=(i.x||0)+d)<0&&("right"===l&&u>=0?(e.align="left",e.inside=!0):u-=n,a=!0),(n=(i.x||0)+o.width-d)>h.plotWidth&&("left"===l&&u<=0?(e.align="right",e.inside=!0):u+=h.plotWidth-n,a=!0),(n=i.y+d)<0&&("bottom"===c&&g>=0?(e.verticalAlign="top",e.inside=!0):g-=n,a=!0),(n=(i.y||0)+o.height-d)>h.plotHeight&&("top"===c&&g<=0?(e.verticalAlign="bottom",e.inside=!0):g+=h.plotHeight-n,a=!0),a&&(e.x=u,e.y=g,t.placed=!r,t.align(e,void 0,s)),a}function S(t,e){var i,o=[];if(l(t)&&!l(e))o=t.map(function(t){return d(t,e)});else if(l(e)&&!l(t))o=e.map(function(e){return d(t,e)});else if(l(t)||l(e)){if(l(t)&&l(e))for(i=Math.max(t.length,e.length);i--;)o[i]=d(t[i],e[i])}else o=d(t,e);return o}function M(t,e,i,o,s){var r=this.chart,n=r.inverted,a=this.xAxis,h=a.reversed,l=((n?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=n?s.x:h?-l-d:a.width-l+d,e.startYPos=n?h?this.yAxis.height-l+d:-l-d:s.y,o?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){if(i.pushUnique(e,t)){var s=t.prototype;s.initDataLabelsGroup=m,s.initDataLabels=x,s.alignDataLabel=v,s.drawDataLabels=y,s.justifyDataLabel=b,s.setDataLabelStartPos=M,s.hasDataLabels=o}}}(o||(o={})),o}),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=e.series,r=i.merge,n=i.pick;return function(e){var o=[];function a(t,e,i,o,a){var h=this.chart.inverted,l=t.series,c=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0,d=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=n(t.below,t.plotY>n(this.translatedThreshold,d)),f=n(i.inside,!!this.options.stacking);if(p){if(o=r(p),!("allow"===i.overflow&&!1===i.crop)){o.y<0&&(o.height+=o.y,o.y=0);var g=o.y+o.height-d;g>0&&g {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=e.seriesTypes,n=r.column,a=r.line,h=i.addEvent,l=i.extend,c=i.merge,d=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return s(i,e),i.prototype.applyJitter=function(){var t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(o,s){["x","y"].forEach(function(r,n){var a,h,l,c,d,p="plot"+r.toUpperCase();e[r]&&!o.isNull&&(h=t[r+"Axis"],d=e[r]*h.transA,h&&!h.isLog)&&(l=Math.max(0,o[p]-d),c=Math.min(h.len,o[p]+d),o[p]=l+(c-l)*((a=1e4*Math.sin(s+n*i))-Math.floor(a)),"x"===r&&(o.clientX=o.plotX))})})},i.prototype.drawGraph=function(){this.options.lineWidth?e.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},i.defaultOptions=c(a.defaultOptions,t),i}(a);return l(d.prototype,{drawTracker:n.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),h(d,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",d),d}),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s,r=t.deg2rad,n=i.fireEvent,a=i.isNumber,h=i.pick,l=i.relativeLength;return(o=s||(s={})).getCenter=function(){var t,i,o,s=this.options,r=this.chart,c=2*(s.slicedOffset||0),d=r.plotWidth-2*c,p=r.plotHeight-2*c,u=s.center,f=Math.min(d,p),g=s.thickness,v=s.size,m=s.innerSize||0;"string"==typeof v&&(v=parseFloat(v)),"string"==typeof m&&(m=parseFloat(m));var x=[h(u[0],"50%"),h(u[1],"50%"),h(v&&v<0?void 0:s.size,"100%"),h(m&&m<0?void 0:s.innerSize||0,"0%")];for(!r.angular||this instanceof e||(x[3]=0),i=0;i<4;++i)o=x[i],t=i<2||2===i&&/%$/.test(o),x[i]=l(o,[d,p,f,x[2]][i])+(t?c:0);return x[3]>x[2]&&(x[3]=x[2]),a(g)&&2*g0&&(x[3]=x[2]-2*g),n(this,"afterGetCenter",{positions:x}),x},o.getStartAndEndRadians=function(t,e){var i=a(t)?t:0,o=a(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(o+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,i=1,o=arguments.length;i=0},e.prototype.setVisible=function(t,e){var i=this,o=this.series,s=o.chart,r=o.options.ignoreHiddenPoint;e=d(e,r),t!==this.visible&&(this.visible=this.options.visible=t=void 0===t?!this.visible:t,o.options.data[o.data.indexOf(this)]=this.options,["graphic","dataLabel","connector"].forEach(function(e){i[e]&&i[e][t?"show":"hide"](t)}),this.legendItem&&s.legend.colorizeItem(this,t),t||"hover"!==this.state||this.setState(""),r&&(o.isDirty=!0),e&&s.redraw())},e.prototype.slice=function(t,e,i){var o=this.series;n(i,o.chart),e=d(e,!0),this.sliced=this.options.sliced=t=h(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())},e}(e);return l(u.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var o=e.breakAt,s=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*o.x-s.x,2*o.y-s.y,o.x,o.y]:["L",o.x,o.y];return[["M",t.x,t.y],r,["L",s.x,s.y]]},straight:function(t,e){var i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){var o=e.breakAt,s=e.touchingSliceAt,r=this.series,n=r.center,a=n[0],h=n[1],l=n[2]/2,c=r.chart,d=c.plotLeft,u=c.plotWidth,f="left"===t.alignment,g=t.x,v=t.y,m=o.x;if(i.crookDistance){var x=p(i.crookDistance,1);m=f?a+l+(u+d-a-l)*(1-x):d+(a-l)*x}else m=a+(h-v)*Math.tan((this.angle||0)-Math.PI/2);var y=[["M",g,v]];return(f?m<=g&&m>=o.x:m>=g&&m<=o.x)&&y.push(["L",m,v]),y.push(["L",o.x,o.y],["L",s.x,s.y]),y}}}),u}),i(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n,a,h){var l,c=this&&this.__extends||(l=function(t,e){return(l=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}l(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),d=t.getStartAndEndRadians,p=i.noop,u=h.clamp,f=h.extend,g=h.fireEvent,v=h.merge,m=h.pick;h.relativeLength,h.splat;var x=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.center=void 0,e.data=void 0,e.options=void 0,e.points=void 0,e}return c(e,t),e.prototype.animate=function(t){var e=this,i=e.points,o=e.startAngleRad;t||i.forEach(function(t){var i=t.graphic,s=t.shapeArgs;i&&s&&(i.attr({r:m(t.startR,e.center&&e.center[3]/2),start:o,end:o}),i.animate({r:s.r,start:s.start,end:s.end},e.options.animation))})},e.prototype.drawEmpty=function(){var t,e,i=this.startAngleRad,o=this.endAngleRad,s=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,o).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:a.arc(t,e,this.center[2]/2,0,{start:i,end:o,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":s.borderWidth,fill:s.fillColor||"none",stroke:s.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())},e.prototype.drawPoints=function(){var t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},e.prototype.generatePoints=function(){t.prototype.generatePoints.call(this),this.updateTotals()},e.prototype.getX=function(t,e,i,o){var s=this.center,r=this.radii?this.radii[i.index]||0:s[2]/2,n=o.dataLabelPosition,a=(null==n?void 0:n.distance)||0,h=Math.asin(u((t-s[1])/(r+a),-1,1));return s[0]+(e?-1:1)*(Math.cos(h)*(r+a))+(a>0?(e?-1:1)*(o.padding||0):0)},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.redrawPoints=function(){var t,e,i,o,s=this,r=s.chart;this.drawEmpty(),s.group&&!r.styledMode&&s.group.shadow(s.options.shadow),s.points.forEach(function(n){var a={};e=n.graphic,!n.isNull&&e?(o=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=s.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(s.center).attr(o).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(s.center),r.styledMode||v(!0,a,i),v(!0,a,o,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})},e.prototype.sortByAngle=function(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})},e.prototype.translate=function(t){g(this,"translate"),this.generatePoints();var e,i,o,s,r,n,a,h=this.options,l=h.slicedOffset,c=d(h.startAngle,h.endAngle),p=this.startAngleRad=c.start,u=(this.endAngleRad=c.end)-p,f=this.points,v=h.ignoreHiddenPoint,m=f.length,x=0;for(t||(this.center=t=this.getCenter()),n=0;n1.5*Math.PI?o-=2*Math.PI:o<-Math.PI/2&&(o+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(o)*l),translateY:Math.round(Math.sin(o)*l)},s=Math.cos(o)*t[2]/2,r=Math.sin(o)*t[2]/2,a.tooltipPos=[t[0]+.7*s,t[1]+.7*r],a.half=o<-Math.PI/2||o>Math.PI/2?1:0,a.angle=o}g(this,"afterTranslate")},e.prototype.updateTotals=function(){var t,e,i=this.points,o=i.length,s=this.options.ignoreHiddenPoint,r=0;for(t=0;t0&&(e.visible||!s)?e.y/r*100:0,e.total=r},e.defaultOptions=v(r.defaultOptions,s),e}(r);return f(x.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:p,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:o,requireSorting:!1,searchPoint:p,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("pie",x),x}),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r,n=e.noop,a=i.distribute,h=o.series,l=s.arrayMax,c=s.clamp,d=s.defined,p=s.pick,u=s.relativeLength;return function(e){var i=[],o={radialDistributionY:function(t,e){var i;return((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.top)||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,o,s){var r=s.dataLabelPosition;return t.getX(i<((null==r?void 0:r.top)||0)+2||i>((null==r?void 0:r.bottom)||0)-2?o:i,e.half,e,s)},justify:function(t,e,i,o){var s;return o[0]+(t.half?-1:1)*(i+((null===(s=e.dataLabelPosition)||void 0===s?void 0:s.distance)||0))},alignToPlotEdges:function(t,e,i,o){var s=t.getBBox().width;return e?s+o:i-s-o},alignToConnectors:function(t,e,i,o){var s,r=0;return t.forEach(function(t){(s=t.dataLabel.getBBox().width)>r&&(r=s)}),e?r+o:i-r-o}};function r(t,e){var i=this.center,o=this.options,s=i[2]/2,r=t.angle||0,n=Math.cos(r),a=Math.sin(r),h=i[0]+n*s,l=i[1]+a*s,c=Math.min((o.slicedOffset||0)+(o.borderWidth||0),e/5);return{natural:{x:h+n*e,y:l+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:h+n*c,y:l+a*c},touchingSliceAt:{x:h,y:l}},distance:e}}function f(){var t,e,i,o,s=this,r=this,n=r.points,c=r.chart,f=c.plotWidth,g=c.plotHeight,v=c.plotLeft,m=Math.round(c.chartWidth/3),x=r.center,y=x[2]/2,b=x[1],S=[[],[]],M=[0,0,0,0],k=r.dataLabelPositioners,C=0;r.visible&&(null===(t=r.hasDataLabels)||void 0===t?void 0:t.call(r))&&(n.forEach(function(t){(t.dataLabels||[]).forEach(function(t){t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h.prototype.drawDataLabels.apply(r),n.forEach(function(t){(t.dataLabels||[]).forEach(function(e,i){var o,r=x[2]/2,n=e.options,a=u((null==n?void 0:n.distance)||0,r);0===i&&S[t.half].push(t),!d(null===(o=null==n?void 0:n.style)||void 0===o?void 0:o.width)&&e.getBBox().width>m&&(e.css({width:Math.round(.7*m)+"px"}),e.shortened=!0),e.dataLabelPosition=s.getDataLabelPosition(t,a),C=Math.max(C,a)})}),S.forEach(function(t,e){var s,n,h,l=t.length,u=[],m=0;l&&(r.sortByAngle(t,e-.5),C>0&&(s=Math.max(0,b-y-C),n=Math.min(b+y+C,c.plotHeight),t.forEach(function(t){(t.dataLabels||[]).forEach(function(e,i){var o,s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,b-y-s.distance),s.bottom=Math.min(b+y+s.distance,c.plotHeight),m=e.getBBox().height||21,t.distributeBox={target:((null===(o=e.dataLabelPosition)||void 0===o?void 0:o.natural.y)||0)-s.top+m/2,size:m,rank:t.y},u.push(t.distributeBox))})}),a(u,h=n+m-s,h/5)),t.forEach(function(s){(s.dataLabels||[]).forEach(function(n){var a=n.options||{},h=s.distributeBox,l=n.dataLabelPosition,c=(null==l?void 0:l.natural.y)||0,m=a.connectorPadding||0,b=0,S=c,C="inherit";if(l){if(u&&d(h)&&l.distance>0&&(void 0===h.pos?C="hidden":(o=h.size,S=k.radialDistributionY(s,n))),a.justify)b=k.justify(s,n,y,x);else switch(a.alignTo){case"connectors":b=k.alignToConnectors(t,e,f,v);break;case"plotEdges":b=k.alignToPlotEdges(n,e,f,v);break;default:b=k.radialDistributionX(r,s,S,c,n)}if(l.attribs={visibility:C,align:l.alignment},l.posAttribs={x:b+(a.x||0)+(({left:m,right:-m})[l.alignment]||0),y:S+(a.y||0)-n.getBBox().height/2},l.computed.x=b,l.computed.y=S,p(a.crop,!0)){i=n.getBBox().width;var A=void 0;b-if-m&&0===e&&(A=Math.round(b+i-f+m),M[1]=Math.max(A,M[1])),S-o/2<0?M[0]=Math.max(Math.round(-S+o/2),M[0]):S+o/2>g&&(M[2]=Math.max(Math.round(S+o/2-g),M[2])),l.sideOverflow=A}}})}))}),(0===l(M)||this.verifyDataLabelOverflow(M))&&(this.placeDataLabels(),this.points.forEach(function(t){(t.dataLabels||[]).forEach(function(i){var o,s=i.options||{},n=s.connectorColor,a=s.connectorWidth,h=void 0===a?1:a,l=i.dataLabelPosition;if(h){var d=void 0;e=i.connector,l&&l.distance>0?(d=!e,e||(i.connector=e=c.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(r.dataLabelsGroup)),c.styledMode||e.attr({"stroke-width":h,stroke:n||t.color||"#666666"}),e[d?"attr":"animate"]({d:t.getConnectorPath(i)}),e.attr({visibility:null===(o=l.attribs)||void 0===o?void 0:o.visibility})):e&&(i.connector=e.destroy())}})})))}function g(){this.points.forEach(function(t){(t.dataLabels||[]).forEach(function(t){var e,i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:((null===(e=t.options)||void 0===e?void 0:e.style)||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function v(t){var e=this.center,i=this.options,o=i.center,s=i.minSize||80,r=s,n=null!==i.size;return!n&&(null!==o[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),s):(r=Math.max(e[2]-t[1]-t[3],s),e[0]+=(t[3]-t[1])/2),null!==o[1]?r=c(r,s,e[2]-Math.max(t[0],t[2])):(r=c(r,s,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r=n.x+n.width||a.x+a.width<=n.x||a.y>=n.y+n.height||a.y+a.height<=n.y)&&((s.labelrank0)?(o.oldOpacity=o.opacity,o.newOpacity=1,l(o,e)):i.push(o)})},s=0;s1?m:v);return r}function m(){var t,e;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d()))for(var i=this.options,o=this.yAxis,r="percent"===i.stacking,n=null===(e=null===(t=s.plotOptions)||void 0===t?void 0:t[this.type])||void 0===e?void 0:e.borderRadius,l=x(i.borderRadius,h(n)?n:{}),c=o.options.reversed,p=0,u=this.points;pthis.borderWidth&&(P="all"),P||(P="end");var O=Math.min(d(l.radius,m),m/2,"all"===P?b/2:1/0)||0;"end"===P&&(T&&(M-=O),k+=O),a(g,{brBoxHeight:k,brBoxY:M,r:O})}}}function x(t,e){return h(t)||(t={radius:t||0}),l(u,e,t)}function y(){for(var t=x(this.options.borderRadius),e=0,i=this.points;e-.1?0:h,m=f-h>-.1?0:h,x=Math.max(v&&u,0),y=Math.max(m&&f,0),b=[t+v,e],S=[t+i-v,e],M=[t+i,e+v],k=[t+i,e+s-m],C=[t+i-m,e+s],A=[t+m,e+s],w=[t,e+s-m],T=[t,e+v],P=function(t,e){return Math.sqrt(Math.pow(t,2)-Math.pow(e,2))};if(x){var O=P(v,v-x);b[0]-=O,S[0]+=O,M[1]=T[1]=e+v-x}if(s=n(i.minWidth,0)&&this.chartHeight>=n(i.minHeight,0)}).call(this)&&e.push(t._id)}function c(t,e){var o,n=this,h=this.options.responsive,l=this.currentResponsive,c=[];!e&&h&&h.rules&&h.rules.forEach(function(t){void 0===t._id&&(t._id=a()),n.matchResponsiveRule(t,c)},this);var d=r.apply(void 0,c.map(function(t){return s((h||{}).rules||[],function(e){return e._id===t})}).map(function(t){return t&&t.chartOptions}));d.isResponsiveOptions=!0,c=c.toString()||void 0;var p=l&&l.ruleIds;c!==p&&(l&&this.update(l.undoOptions,t,!0),c?((o=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:c,mergedOptions:d,undoOptions:o},this.update(d,t,!0)):this.currentResponsive=void 0)}e.compose=function(e){return t.pushUnique(h,e)&&o(e.prototype,{matchResponsiveRule:l,setResponsive:c}),e}}(e||(e={})),e}),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Renderer/HTML/HTMLRenderer.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Chart/Chart.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnSeries.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieSeries.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,o,s,r,n,a,h,l,c,d,p,u,f,g,v,m,x,y,b,S,M,k,C,A,w,T,P,O,E,L,D,j,B,I){return t.animate=s.animate,t.animObject=s.animObject,t.getDeferredAnimation=s.getDeferredAnimation,t.setAnimation=s.setAnimation,t.stop=s.stop,t.timers=o.timers,t.AST=r,t.Axis=p,t.Chart=S,t.chart=S.chart,t.Fx=o,t.Legend=b,t.PlotLineOrBand=g,t.Point=x,t.Pointer=y,t.Series=C,t.StackItem=k,t.SVGElement=h,t.SVGRenderer=l,t.Templating=n,t.Tick=v,t.Time=I,t.Tooltip=m,t.Color=B,t.color=B.parse,d.compose(l),c.compose(h),y.compose(S),b.compose(S),t.defaultOptions=i.defaultOptions,t.getOptions=i.getOptions,t.time=i.defaultTime,t.setOptions=i.setOptions,t.dateFormat=n.dateFormat,t.format=n.format,t.numberFormat=n.numberFormat,e.extend(t,e),t.distribute=a.distribute,t.seriesType=A.seriesType,T.compose(w),D.compose(C,P,h,l),E.compose(C),u.compose(p),f.compose(p),L.compose(S),O.compose(P),g.compose(p),j.compose(S),M.compose(p,S,C),m.compose(y),t}),i(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e){var i,o=e.addEvent,s=e.find,r=e.fireEvent,n=e.isArray,a=e.isNumber,h=e.pick;return function(i){var l=[];function c(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function d(){var t;(null===(t=this.brokenAxis)||void 0===t?void 0:t.hasBreaks)&&(this.options.ordinal=!1)}function p(){var t=this.brokenAxis;if(null==t?void 0:t.hasBreaks){for(var e=this.tickPositions,i=this.tickPositions.info,o=[],s=0;se.to||s>e.from&&ne.from&&ne.from&&n>e.to&&n0){"value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);for(var a=void 0,h=void 0;n--;)if(h&&!1!==h.visible||(h=o[n+1]),a=o[n],!1!==h.visible&&!1!==a.visible){if(h.x-a.x>r){var l=(a.x+h.x)/2;o.splice(n+1,0,{isNull:!0,x:l}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][l]=new t(s,s.options.stackLabels,!1,l,this.stack)).total=0)}h=a}}return this.getGraphPath(o)}i.compose=function(t,i){if(e.pushUnique(l,t)&&(t.keepProps.push("brokenAxis"),o(t,"init",u),o(t,"afterInit",c),o(t,"afterSetTickPositions",p),o(t,"afterSetOptions",d)),e.pushUnique(l,i)){var s=i.prototype;s.drawBreaks=v,s.gappedPath=m,o(i,"afterGeneratePoints",f),o(i,"afterRender",g)}return t};var x=function(){function t(t){this.hasBreaks=!1,this.axis=t}return t.isInBreak=function(t,e){var i=t.repeat||1/0,o=t.from,s=t.to-t.from,r=e>=o?(e-o)%i:i-(o-e)%i;return t.inclusive?r<=s:r=n);r++)s.to=e)break;else if(t.isInBreak(s,e)){n-=e-s.from;break}return n},t.prototype.findBreakAt=function(t,e){return s(e,function(e){return e.fromg;)n-=i;for(;nthis.chart.plotSizeX/r||e&&i.forced)&&(a=!0));return a?r:0}function c(){this.series.forEach(function(t){t.hasProcessed=!1})}function d(t,e){var o;if(e=n(e,!0),t||(t={forced:!1,units:null}),this instanceof i)for(o=this.series.length;o--;)this.series[o].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:r(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}return{compose:function(t){i=t,e.pushUnique(a,t)&&(o(t,"afterSetScale",c),o(t,"postProcessData",h),s(t.prototype,{applyGrouping:h,getGroupPixelWidth:l,setDataGrouping:d}))}}}),i(e,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Defaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r){var n=s.series.prototype,a=r.addEvent,h=r.defined,l=r.error,c=r.extend,d=r.isNumber,p=r.merge,u=r.pick,f=n.generatePoints,g=[];function v(t){var o,s,r=this.chart,a=this.options.dataGrouping,c=!1!==this.allowDG&&a&&u(a.enabled,r.options.isStock),p=this.reserveSpace(),f=this.currentDataGrouping,g=!1;c&&!this.requireSorting&&(this.requireSorting=g=!0);var v=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!c;if(g&&(this.requireSorting=!1),!v){this.destroyGroupedData();var m=a.groupAll?this.xData:this.processedXData,x=a.groupAll?this.yData:this.processedYData,y=r.plotSizeX,b=this.xAxis,S=b.options.ordinal,M=this.groupPixelWidth,k=void 0,C=void 0;if(M&&m&&m.length&&y){C=!0,this.isDirty=!0,this.points=null;var A,w=b.getExtremes(),T=w.min,P=w.max,O=S&&b.ordinal&&b.ordinal.getGroupIntervalFactor(T,P,this)||1,E=M*(P-T)/y*O,L=b.getTimeTicks(i.Additions.prototype.normalizeTimeTickInterval(E,a.units||e.units),Math.min(T,m[0]),Math.max(P,m[m.length-1]),b.options.startOfWeek,m,this.closestPointRange),D=n.groupData.apply(this,[m,x,L,a.approximation]),j=D.groupedXData,B=D.groupedYData,I=0;for(a&&a.smoothed&&j.length&&(a.firstAnchor="firstPoint",a.anchor="middle",a.lastAnchor="lastPoint",l(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),k=1;k0;)e[o]+=c}if(h&&"start"!==h&&t.xData[0]>=e[0]){var p=t.groupMap[0].start,f=t.groupMap[0].length,g=void 0;d(p)&&d(f)&&(g=p+(f-1)),e[0]=({middle:e[0]+.5*r,end:e[0]+r,firstPoint:t.xData[0],lastPoint:g&&t.xData[g]})[h]}if(l&&"start"!==l&&r&&e[n]>=i-r){var v=t.groupMap[t.groupMap.length-1].start;e[n]=({middle:e[n]+.5*r,end:e[n]+r,firstPoint:v&&t.xData[v],lastPoint:t.xData[t.xData.length-1]})[l]}}}(this,j,P),p&&(h((A=j)[0])&&d(b.min)&&d(b.dataMin)&&A[0]b.max&&((!h(b.options.max)&&d(b.dataMax)&&b.max>=b.dataMax||b.max===b.dataMax)&&(b.max=Math.max(A[A.length-1],b.max)),b.dataMax=Math.max(A[A.length-1],b.dataMax))),a.groupAll&&(this.allGroupedData=B,j=(s=this.cropData(j,B,b.min,b.max)).xData,B=s.yData,this.cropStart=s.start),this.processedXData=j,this.processedYData=B}else this.groupMap=null;this.hasGroupedData=C,this.preventGraphAnimation=(f&&f.totalRange)!==(o&&o.totalRange)}}function m(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0)}function x(){f.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function y(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function b(e,i,o,s){var r,n,a,l=this,c=l.data,u=l.options&&l.options.data,f=[],g=[],v=[],m=e.length,x=!!i,y=[],b=l.pointArrayMap,S=b&&b.length,M=["x"].concat(b||["y"]),k=this.options.dataGrouping&&this.options.dataGrouping.groupAll,C=0,A=0,w="function"==typeof s?s:s&&t[s]?t[s]:t[l.getDGApproximation&&l.getDGApproximation()||"average"];if(S)for(var T=b.length;T--;)y.push([]);else y.push([]);for(var P=S||1,O=0;O<=m;O++)if(!(e[O]=o[C+1]||O===m;){r=o[C],l.dataGroupInfo={start:k?A:l.cropStart+A,length:y[0].length},a=w.apply(l,y),l.pointClass&&!h(l.dataGroupInfo.options)&&(l.dataGroupInfo.options=p(l.pointClass.prototype.optionsToObject.call({series:l},l.options.data[l.cropStart+A])),M.forEach(function(t){delete l.dataGroupInfo.options[t]})),void 0!==a&&(f.push(r),g.push(a),v.push(l.dataGroupInfo)),A=O;for(var E=0;E=s-n&&t.value<=r+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){var o=s[t],r=typeof i;return e(o)&&(r=o),({string:"text",number:"number",boolean:"checkbox"})[r]}}}),i(e,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[e["Core/Utilities.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){var i,o,s,r=t.addEvent,n=t.isObject,a=t.pick,h=t.defined,l=t.merge,c=t.isNumber,d=e.getAssignedAxis,p=[],u={enabled:!0,sensitivity:1.1},f=function(t){var e=t.options;h(i)&&clearTimeout(i),h(o)||(o=e.startOnTick,s=e.endOnTick),(o||s)&&(e.startOnTick=!1,e.endOnTick=!1),i=setTimeout(function(){if(h(o)&&h(s)){e.startOnTick=o,e.endOnTick=s;var i=t.getExtremes(),r=i.min,n=i.max;t.forceRedraw=!0,t.setExtremes(r,n),o=s=void 0}},400)},g=function(t,e,i){if(!h(i))return .5;var o=(i-e.pos)/e.len,s=e.isXAxis;return s&&!e.reversed!=!t.inverted||!s&&e.reversed?1-o:o},v=function(t,e,i,o,s){var r=e.isXAxis,n=!1;if(h(e.max)&&h(e.min)&&h(e.dataMax)&&h(e.dataMin)){r||f(e);var l,d,p=e.max-e.min,u=c(s)?s:e.min+p/2,v=g(t,e,i),m=p*o,x=a(e.options.max,e.dataMax)-a(e.options.min,e.dataMin),y=e.options.min?0:x*e.options.minPadding,b=e.options.max?0:x*e.options.maxPadding,S=a(e.options.min,e.dataMin)-y,M=x+b+y,k=((l=u-m*v)+(d=m)>S+M&&(d>M?(d=M,l=S):l=S+M-d),d>M&&(d=M),lM&&k.rangeStart+k.rangeWidth0&&"change"===o?"+":"")+i(e[o],f(e.series.tooltipOptions.changeDecimals,2)))};return c(e.change)&&o("change"),c(e.cumulativeSum)&&o("cumulativeSum"),r.apply(this,[t])}function g(){var t,e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new M(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function v(t){var e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){var o=void 0;this.options.compare?o=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&d(i)&&i.length>=2&&(o=M.getCumulativeExtremes(i)),o&&(e.dataMin=h(o),e.dataMax=a(o))}}function m(t,e){this.options.compare=this.userOptions.compare=t,this.update({},f(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(function(t){delete t.change})}function x(){if(this.xAxis&&this.processedYData&&this.dataModify){var t=this.processedXData,e=this.processedYData,i=e.length,o=!0===this.options.compareStart?0:1,s=-1,r=void 0;for(this.pointArrayMap&&(s=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r-1?e[r][s]:e[r];if(p(n)&&0!==n&&t[r+o]>=(this.xAxis.min||0)){this.dataModify.compareValue=n;break}}}}function y(t,e){this.setModifier("compare",t,e)}function b(t,e){t=f(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},f(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(function(t){delete t.cumulativeSum})}function S(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,r,a){if(o.pushUnique(e,t)){var h=t.prototype;h.setCompare=m,h.setCumulative=b,n(t,"afterInit",g),n(t,"afterGetExtremes",v),n(t,"afterProcessData",x)}if(o.pushUnique(e,r)){var l=r.prototype;l.setCompare=y,l.setModifier=i,l.setCumulative=S}return o.pushUnique(e,a)&&(a.prototype.tooltipFormatter=s),t};var M=function(){function t(t){this.series=t}return t.prototype.modifyValue=function(){return 0},t.getCumulativeExtremes=function(t){var e=1/0,i=-1/0;return t.reduce(function(t,o){var s=t+o;return e=Math.min(e,s,t),i=Math.max(i,s,t),s}),[e,i]},t.prototype.initCompare=function(t){this.modifyValue=function(e,i){null===e&&(e=0);var o=this.compareValue;if(void 0!==e&&void 0!==o){if("value"===t?e-=o:e=100*(e/o)-(100===this.series.options.compareBase?0:100),void 0!==i){var s=this.series.points[i];s&&(s.change=e)}return e}return 0}},t.prototype.initCumulative=function(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){var i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=l(i.cumulativeSum+t));var o=this.series.points[e];return o&&(o.cumulativeSum=t),t}return 0}},t}();t.Additions=M}(s||(s={})),s}),i(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i=t.isTouchDevice,o=e.addEvent,s=e.correctFloat,r=e.defined,n=e.isNumber,a=e.pick,h=[];function l(){this.navigatorAxis||(this.navigatorAxis=new d(this))}function c(t){var e=this.chart,o=e.options,s=o.navigator,n=this.navigatorAxis,a=e.zooming.pinchType,h=o.rangeSelector,l=e.zooming.type;if(this.isXAxis&&(s&&s.enabled||h&&h.enabled)){if("y"===l)t.zoomed=!1;else if((!i&&"xy"===l||i&&"xy"===a)&&this.options.range){var c=n.previousZoom;r(t.newMin)?n.previousZoom=[this.min,this.max]:c&&(t.newMin=c[0],t.newMax=c[1],n.previousZoom=void 0)}}void 0!==t.zoomed&&t.preventDefault()}var d=function(){function t(t){this.axis=t}return t.compose=function(t){e.pushUnique(h,t)&&(t.keepProps.push("navigatorAxis"),o(t,"init",l),o(t,"zoom",c))},t.prototype.destroy=function(){this.axis=void 0},t.prototype.toFixedRange=function(t,e,i,o){var h=this.axis,l=h.chart,c=a(i,h.translate(t,!0,!h.horiz)),d=a(o,h.translate(e,!0,!h.horiz)),p=l&&l.fixedRange,u=(h.pointRange||0)/2;return r(i)||(c=s(c+u)),r(o)||(d=s(d-u)),p&&h.dataMin&&h.dataMax&&(d>=h.dataMax&&(c=s(h.dataMax-p)),c<=h.dataMin&&(d=s(h.dataMin+p))),n(c)&&n(d)||(c=d=void 0),{min:c,max:d}},t}();return d}),i(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(t,e){var i=t.parse,o=e.seriesTypes;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===o.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(e,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(t,e,i,o,s){void 0===s&&(s={});var r=s.width?s.width/2:i,n=Math.round(r/3)+.5;return[["M",-r-1,.5],["L",r,.5],["L",r,(o=s.height||o)+.5],["L",-r-1,o+.5],["L",-r-1,.5],["M",-n,4],["L",-n,o-3],["M",n-1,4],["L",n-1,o-3]]}}}),i(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n){var a,h=t.defaultOptions,l=t.setOptions,c=e.isTouchDevice,d=r.getRendererType,p=n.addEvent,u=n.extend,f=n.merge,g=n.pick,v=[];function m(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function x(){var t,e,i,o,s=this.legend,r=this.navigator;if(r){e=s&&s.options,i=r.xAxis,o=r.yAxis;var n=r.scrollbarHeight,a=r.scrollButtonSize;this.inverted?(r.left=r.opposite?this.chartWidth-n-r.height:this.spacing[3]+n,r.top=this.plotTop+a):(r.left=g(i.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-n-((null===(t=this.scrollbar)||void 0===t?void 0:t.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&"proximate"!==e.layout&&e.enabled&&!e.floating?s.legendHeight+g(e.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),i&&o&&(this.inverted?i.options.left=o.options.left=r.left:i.options.top=o.options.top=r.top,i.setAxisSize(),o.setAxisSize())}}function y(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new a(this),g(t.redraw,!0)&&this.redraw(t.animation))}function b(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new a(this))}function S(){var t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!c&&"x"===this.zooming.type||c&&"x"===this.zooming.pinchType))return!1}function M(t){var e=t.navigator;if(e&&t.xAxis[0]){var i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function k(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(f(!0,this.options.navigator,e),f(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}function C(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r,c){i.compose(t),a=r,n.pushUnique(v,e)&&(e.prototype.callbacks.push(M),p(e,"afterAddSeries",m),p(e,"afterSetChartSize",x),p(e,"afterUpdate",y),p(e,"beforeRender",b),p(e,"beforeShowResetZoom",S),p(e,"update",k)),n.pushUnique(v,c)&&p(c,"afterUpdate",C),n.pushUnique(v,d)&&u(d().prototype.symbols,s),n.pushUnique(v,l)&&u(h,{navigator:o})}}}),i(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Utilities.js"]],function(t){var e,i=t.addEvent,o=t.defined,s=t.pick,r=t.pushUnique;return function(t){var e,n=[];function a(t){var e=s(t.options&&t.options.min,t.min),i=s(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:o(t.dataMin)?Math.min(e,t.min,t.dataMin,s(t.threshold,1/0)):e,scrollMax:o(t.dataMax)?Math.max(i,t.max,t.dataMax,s(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function l(){var t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),i(t.scrollbar,"changed",function(e){var i,s,r=a(t),n=r.axisMin,h=r.axisMax,l=r.scrollMin,c=r.scrollMax-l;if(o(n)&&o(h)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(i=l+c*this.to,s=l+c*this.from):(i=l+c*(1-this.from),s=l+c*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){var d="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(s,i,!0,d,e)}else this.setRange(this.from,this.to)}}))}function c(){var t,e,i,s=a(this),r=s.scrollMin,n=s.scrollMax,h=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),c=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(h&&c){if(this.horiz)this.opposite||(c[1]+=l),h.position(this.left,this.top+this.height+2+c[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(c[1]+=d),t=1;else{this.opposite&&(c[0]+=l);var p=void 0;p=h.options.opposite?this.left+this.width+2+c[0]-(this.opposite?0:d):this.opposite?0:d,h.position(p,this.top,this.width,this.height),this.opposite&&(c[0]+=d),t=0}c[t]+=h.size+(h.options.margin||0),isNaN(r)||isNaN(n)||!o(this.min)||!o(this.max)||this.min===this.max?h.setRange(0,1):(e=(this.min-r)/(n-r),i=(this.max-r)/(n-r),this.horiz&&!this.reversed||!this.horiz&&this.reversed?h.setRange(e,i):h.setRange(1-i,1-e))}}t.compose=function(t,o){r(n,o)&&(e=o),r(n,t)&&(i(t,"afterGetOffset",h),i(t,"afterInit",l),i(t,"afterRender",c))}}(e||(e={})),e}),i(e,"Stock/Scrollbar/ScrollbarDefaults.js",[e["Core/Globals.js"]],function(t){return t.isTouchDevice,{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),i(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,o,s){var r=t.defaultOptions,n=s.addEvent,a=s.correctFloat,h=s.defined,l=s.destroyObjectProperties,c=s.fireEvent,d=s.merge,p=s.pick,u=s.removeEvent,f=function(){function t(t,e,i){this._events=[],this.chart=void 0,this.chartX=0,this.chartY=0,this.from=0,this.group=void 0,this.options=void 0,this.renderer=void 0,this.scrollbar=void 0,this.scrollbarButtons=[],this.scrollbarGroup=void 0,this.scrollbarLeft=0,this.scrollbarRifles=void 0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.track=void 0,this.trackBorderWidth=1,this.userOptions=void 0,this.x=0,this.y=0,this.init(t,e,i)}return t.compose=function(e){i.compose(e,t)},t.swapXY=function(t,e){return e&&t.forEach(function(t){for(var e,i=t.length,o=0;othis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}},t.prototype.destroy=function(){var t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,l(e.scrollbarButtons))},t.prototype.drawScrollbarButton=function(e){var i=this.renderer,o=this.scrollbarButtons,s=this.options,r=this.size,n=i.g().add(this.group);if(o.push(n),s.buttonsEnabled){var a=i.rect().addClass("highcharts-scrollbar-button").add(n);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),a.attr(a.crisp({x:-.5,y:-.5,width:r+1,height:r+1,r:s.buttonBorderRadius},a.strokeWidth()));var h=i.path(t.swapXY([["M",r/2+(e?-1:1),r/2-3],["L",r/2+(e?-1:1),r/2+3],["L",r/2+(e?2:-2),r/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(o[e]);this.chart.styledMode||h.attr({fill:s.buttonArrowColor})}},t.prototype.init=function(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=d(o,r.scrollbar,e),this.options.margin=p(this.options.margin,10),this.chart=i,this.size=p(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())},t.prototype.mouseDownHandler=function(t){var e=this.chart.pointer.normalize(t),i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0},t.prototype.mouseMoveHandler=function(t){var e,i=this.chart.pointer.normalize(t),o=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][o])&&(e=this.cursorToScrollbarPosition(i)[o]-this[o],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))},t.prototype.mouseUpHandler=function(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},t.prototype.position=function(t,e,i,o){var s=this.options,r=s.buttonsEnabled,n=s.margin,a=void 0===n?0:n,h=s.vertical,l=this.rendered?"animate":"attr",c=o,d=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=o,this.xOffset=c,this.yOffset=d,h?(this.width=this.yOffset=i=d=this.size,this.xOffset=c=0,this.yOffset=d=r?this.size:0,this.barWidth=o-(r?2*i:0),this.x=t+=a):(this.height=o=this.size,this.xOffset=c=r?this.size:0,this.barWidth=i-(r?2*o:0),this.y=this.y+a),this.group[l]({translateX:t,translateY:this.y}),this.track[l]({width:i,height:o}),this.scrollbarButtons[1][l]({translateX:h?0:i-c,translateY:h?o-d:0})},t.prototype.removeEvents=function(){this._events.forEach(function(t){u.apply(null,t)}),this._events.length=0},t.prototype.render=function(){var e=this.renderer,i=this.options,o=this.size,s=this.chart.styledMode,r=e.g("scrollbar").attr({zIndex:i.zIndex}).hide().add();this.group=r,this.track=e.rect().addClass("highcharts-scrollbar-track").attr({r:i.trackBorderRadius||0,height:o,width:o}).add(r),s||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth});var n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-n%2/2,y:-n%2/2}),this.scrollbarGroup=e.g().add(r),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:o-n,width:o-n,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(t.swapXY([["M",-3,o/4],["L",-3,2*o/3],["M",0,o/4],["L",0,2*o/3],["M",3,o/4],["L",3,2*o/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)},t.prototype.setRange=function(t,e){var i,o,s=this.options,r=s.vertical,n=s.minWidth,l=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(h(l)){var d=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=o=a(d-i),o=1?this.group.hide():this.group.show()),this.rendered=!0}},t.prototype.shouldUpdateExtremes=function(t){return p(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!h(t)},t.prototype.trackClick=function(t){var e=this.chart.pointer.normalize(t),i=this.to-this.from,o=this.y+this.scrollbarTop,s=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>o||!this.options.vertical&&e.chartX>s?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.update=function(t){this.destroy(),this.init(this.chart.renderer,d(!0,this.options,t),this.chart)},t.prototype.updatePosition=function(t,e){e>1&&(t=a(1-a(e-t)),e=1),t<0&&(e=a(e-t),t=0),this.from=t,this.to=e},t.defaultOptions=o,t}();return r.scrollbar=d(!0,f.defaultOptions,r.scrollbar),f}),i(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n){var a=e.defaultOptions,h=i.hasTouch,l=i.isTouchDevice,c=n.addEvent,d=n.clamp,p=n.correctFloat,u=n.defined,f=n.destroyObjectProperties,g=n.erase,v=n.extend,m=n.find,x=n.fireEvent,y=n.isArray,b=n.isNumber,S=n.merge,M=n.pick,k=n.removeEvent,C=n.splat;function A(t){for(var e=[],i=1;ik&&(this.grabbedLeft?i=c.toPixels(P-k-f,!0):this.grabbedRight&&(o=c.toPixels(T+k+f,!0))),this.zoomedMax=d(Math.max(i,o),0,w),this.zoomedMin=d(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,o),0,w),this.range=this.zoomedMax-this.zoomedMin,w=Math.round(this.zoomedMax);var E=Math.round(this.zoomedMin);v&&(this.navigatorGroup.attr({visibility:"inherit"}),h=m&&!this.hasDragged?"animate":"attr",this.drawMasks(E,w,y,h),this.drawOutline(E,w,y,h),this.navigatorOptions.handles.enabled&&(this.drawHandle(E,0,y,h),this.drawHandle(w,1,y,h))),this.scrollbar&&(y?(n=this.top-C,r=this.left-A+(v||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),A=a+2*C):(n=this.top+(v?this.height:-A),r=this.left-C),this.scrollbar.position(r,n,s,A),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,x(this,"afterRender")}},e.prototype.addMouseEvents=function(){var t,e,i=this,o=i.chart,s=o.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(r=i.getPartsEvents("mousedown")).push(c(o.renderTo,"mousemove",t),c(s.ownerDocument,"mouseup",e)),h&&(r.push(c(o.renderTo,"touchmove",t),c(s.ownerDocument,"touchend",e)),r.concat(i.getPartsEvents("touchstart"))),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(c(i.series[0].xAxis,"foundExtremes",function(){o.navigator.modifyNavigatorAxisExtremes()}))},e.prototype.getPartsEvents=function(t){var e=this,i=[];return["shades","handles"].forEach(function(o){e[o].forEach(function(s,r){i.push(c(s.element,t,function(t){e[o+"Mousedown"](t,r)}))})}),i},e.prototype.shadesMousedown=function(t,e){t=this.chart.pointer.normalize(t);var i,o,s,r,n=this.chart,a=this.xAxis,h=this.zoomedMin,l=this.size,c=this.range,d=this.left,p=t.chartX;n.inverted&&(p=t.chartY,d=this.top),1===e?(this.grabbedCenter=p,this.fixedWidth=c,this.dragOffset=p-h):(r=p-d-c/2,0===e?r=Math.max(0,r):2===e&&r+c>=l&&(r=l-c,this.reversedExtremes?(r-=c,o=this.getUnionExtremes().dataMin):i=this.getUnionExtremes().dataMax),r!==h&&(this.fixedWidth=c,u((s=a.navigatorAxis.toFixedRange(r,r+c,o,i)).min)&&n.xAxis[0].setExtremes(Math.min(s.min,s.max),Math.max(s.min,s.max),!0,null,{trigger:"navigator"})))},e.prototype.handlesMousedown=function(t,e){t=this.chart.pointer.normalize(t);var i=this.chart,o=i.xAxis[0],s=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=s?o.min:o.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=s?o.max:o.min),i.fixedRange=null},e.prototype.onMouseMove=function(t){var e,i=this,o=i.chart,s=i.navigatorSize,r=i.range,n=i.dragOffset,a=o.inverted,h=i.left;(!t.touches||0!==t.touches[0].pageX)&&(e=(t=o.pointer.normalize(t)).chartX,a&&(h=i.top,e=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,e-h,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,e-h)):i.grabbedCenter&&(i.hasDragged=!0,es+n-r&&(e=s+n-r),i.render(0,0,e-n,e-n+r)),i.hasDragged&&i.scrollbar&&M(i.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){i.onMouseUp(t)},0)))},e.prototype.onMouseUp=function(t){var e,i,o,s,r,n,a=this.chart,h=this.xAxis,l=this.scrollbar,c=t.DOMEvent||t,d=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(o=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?s=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?o.dataMin:o.dataMax),0===this.zoomedMin&&(s=this.reversedExtremes?o.dataMax:o.dataMin),u((n=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,s,r)).min)&&a.xAxis[0].setExtremes(Math.min(n.min,n.max),Math.max(n.min,n.max),!0,!this.hasDragged&&null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&b(this.zoomedMin)&&b(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,p),this.outline&&this.drawOutline(i,e,d,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,p),this.drawHandle(e,1,d,p)))},e.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()},e.prototype.removeBaseSeriesEvents=function(){var t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){k(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&k(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},e.prototype.init=function(e){var i=e.options,s=i.navigator||{},n=s.enabled,a=i.scrollbar||{},h=a.enabled,l=n&&s.height||0,d=h&&a.height||0,p=a.buttonsEnabled&&d||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=l,this.scrollbarHeight=d,this.scrollButtonSize=p,this.scrollbarEnabled=h,this.navigatorEnabled=n,this.navigatorOptions=s,this.scrollbarOptions=a,this.opposite=M(s.opposite,!!(!n&&e.inverted));var u=this,f=u.baseSeries,g=e.xAxis.length,v=e.yAxis.length,m=f&&f[0]&&f[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,u.navigatorEnabled?(u.xAxis=new t(e,S({breaks:m.options.breaks,ordinal:m.options.ordinal},s.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[p,0,-p,0],width:l}:{offsets:[0,-p,0,p],height:l}),"xAxis"),u.yAxis=new t(e,S(s.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:v,isInternal:!0,reversed:M(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:l}:{height:l}),"yAxis"),f||s.series.data?u.updateNavigatorSeries(!1):0===e.series.length&&(u.unbindRedraw=c(e,"beforeRedraw",function(){e.series.length>0&&!u.series&&(u.setBaseSeries(),u.unbindRedraw())})),u.reversedExtremes=e.inverted&&!u.xAxis.reversed||!e.inverted&&u.xAxis.reversed,u.renderElements(),u.addMouseEvents()):(u.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){var o=e.xAxis[0],s=o.getExtremes(),r=o.len-2*p,n=A("min",o.options.min,s.dataMin),a=A("max",o.options.max,s.dataMax)-n;return i?t*a/r+n:r*(t-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},u.xAxis.navigatorAxis.axis=u.xAxis,u.xAxis.navigatorAxis.toFixedRange=o.prototype.toFixedRange.bind(u.xAxis.navigatorAxis)),e.options.scrollbar.enabled){var x=S(e.options.scrollbar,{vertical:e.inverted});!b(x.margin)&&u.navigatorEnabled&&(x.margin=e.inverted?-3:3),e.scrollbar=u.scrollbar=new r(e.renderer,x,e),c(u.scrollbar,"changed",function(t){var e=u.size,i=e*this.to,o=e*this.from;u.hasDragged=u.scrollbar.hasDragged,u.render(0,0,o,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){u.onMouseUp(t)})})}u.addBaseSeriesEvents(),u.addChartEvents()},e.prototype.getUnionExtremes=function(t){var e,i=this.chart.xAxis[0],o=this.xAxis,s=o.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:M(s&&s.min,A("min",r.min,i.dataMin,o.dataMin,o.min)),dataMax:M(s&&s.max,A("max",r.max,i.dataMax,o.dataMax,o.max))}),e},e.prototype.setBaseSeries=function(t,e){var i=this.chart,o=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?m(i.series,function(t){return!t.options.isInternal}).index:0),(i.series||[]).forEach(function(e,i){!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&o.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)},e.prototype.updateNavigatorSeries=function(t,e){var i,o,s,r=this,n=r.chart,h=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=r.series=(r.series||[]).filter(function(t){var e=t.baseSeries;return!(0>h.indexOf(e))||(e&&(k(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),d=r.navigatorOptions.series;h&&h.length&&h.forEach(function(t){var p=t.navigatorSeries,u=v({color:t.color,visible:t.visible},y(d)?a.navigator.series:d);if(!p||!1!==r.navigatorOptions.adaptToUpdatedData){l.name="Navigator "+h.length,s=(i=t.options||{}).navigatorOptions||{},u.dataLabels=C(u.dataLabels),(o=S(i,l,u,s)).pointRange=M(u.pointRange,s.pointRange,a.plotOptions[o.type||"line"].pointRange);var f=s.data||u.data;r.hasNavigatorData=r.hasNavigatorData||!!f,o.data=f||i.data&&i.data.slice(0),p&&p.options?p.update(o,e):(t.navigatorSeries=n.initSeries(o),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries))}}),(d.data&&!(h&&h.length)||y(d))&&(r.hasNavigatorData=!1,(d=C(d)).forEach(function(t,e){l.name="Navigator "+(c.length+1),(o=S(a.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,o.data&&(r.hasNavigatorData=!0,c.push(n.initSeries(o)))})),t&&this.addBaseSeriesEvents()},e.prototype.addBaseSeriesEvents=function(){var t=this,e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(c(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(function(i){i.eventsToUnbind.push(c(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(c(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==t.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(c(i,"updatedData",t.updatedDataHandler)),i.eventsToUnbind.push(c(i,"remove",function(){this.navigatorSeries&&(g(e.series,this.navigatorSeries),u(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})},e.prototype.getBaseSeriesMin=function(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)},e.prototype.modifyNavigatorAxisExtremes=function(){var t=this.xAxis;if(void 0!==t.getExtremes){var e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}},e.prototype.modifyBaseAxisExtremes=function(){var t,e,i=this.chart.navigator,o=this.getExtremes(),s=o.min,r=o.max,n=o.dataMin,a=o.dataMax,h=r-s,l=i.stickToMin,c=i.stickToMax,d=M(this.options.overscroll,0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=n)+h),c&&(t=a+d,l||(e=Math.max(n,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||c)&&b(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null},e.prototype.updatedDataHandler=function(){var t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=M(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))},e.prototype.shouldStickToMin=function(t,e){var i=e.getBaseSeriesMin(t.xData[0]),o=t.xAxis,s=o.max,r=o.min,n=o.options.range;return!!(b(s)&&b(r))&&(n&&s-i>0?s-il-h,k=c=({month:28,year:365})[v]*n*x-b&&s-36e5<=({month:31,year:366})[v]*n*x+b?T=!0:"ytd"===v?(T=p-d+b===s,A=!S):"all"===v&&(T=o.max-o.min>=l-h,w=!S&&m&&T);var P=!f&&(M||k||w||r),O=S&&T||T&&!m&&!A||S&&t.frozenStates;P?C=3:O&&(m=!0,C=2),y.state!==C&&(y.setState(C),i&&(i.options[a+1].disabled=P,2===C&&(i.selectedIndex=a+1)),0===C&&u===a&&t.setSelected())})},i.prototype.computeButtonRange=function(t){var e=t.type,i=t.count||1,o={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};o[e]?t._range=o[e]*i:("month"===e||"year"===e)&&(t._range=24*({month:30,year:365})[e]*36e5*i),t._offsetMin=b(t.offsetMin,0),t._offsetMax=b(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin},i.prototype.getInputValue=function(t){var e="min"===t?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,o=this.chart.time;return e?("text"===e.type&&i.inputDateParser||this.defaultInputDateParser)(e.value,o.useUTC,o):0},i.prototype.setInputValue=function(t,e){var i=this.options,o=this.chart.time,s="min"===t?this.minInput:this.maxInput,r="min"===t?this.minDateBox:this.maxDateBox;if(s){var n=s.getAttribute("data-hc-time"),a=d(n)?Number(n):void 0;if(d(e)){var h=a;d(h)&&s.setAttribute("data-hc-time-previous",h),s.setAttribute("data-hc-time",e),a=e}s.value=o.dateFormat(this.inputTypeFormats[s.type]||i.inputEditDateFormat,a),r&&r.attr({text:o.dateFormat(i.inputDateFormat,a)})}},i.prototype.setInputExtremes=function(t,e,i){var o="min"===t?this.minInput:this.maxInput;if(o){var s=this.inputTypeFormats[o.type],r=this.chart.time;if(s){var n=r.dateFormat(s,e);o.min!==n&&(o.min=n);var a=r.dateFormat(s,i);o.max!==a&&(o.max=a)}}},i.prototype.showInput=function(t){var e="min"===t?this.minDateBox:this.maxDateBox,i="min"===t?this.minInput:this.maxInput;if(i&&e&&this.inputGroup){var o="text"===i.type,s=this.inputGroup,r=s.translateX,n=void 0===r?0:r,a=s.translateY,h=void 0===a?0:a,l=e.x,d=void 0===l?0:l,p=e.width,u=void 0===p?0:p,f=e.height,g=void 0===f?0:f,v=this.options.inputBoxWidth;c(i,{width:o?u+(v?-2:20)+"px":"auto",height:g-2+"px",border:"2px solid silver"}),o&&v?c(i,{left:n+d+"px",top:h+"px"}):c(i,{left:Math.min(Math.round(d+n-(i.offsetWidth-u)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:h-(i.offsetHeight-g)/2+"px"})}},i.prototype.hideInput=function(t){var e="min"===t?this.minInput:this.maxInput;e&&c(e,{top:"-9999em",border:0,width:"1px",height:"1px"})},i.prototype.defaultInputDateParser=function(t,e,i){var s,r=t.split("/").join("-").split(" ").join("T");if(-1===r.indexOf("T")&&(r+="T00:00"),e)r+="Z";else if(o.isSafari&&!((s=r).length>6&&(s.lastIndexOf("-")===s.length-6||s.lastIndexOf("+")===s.length-6))){var n=new Date(r).getTimezoneOffset()/60;r+=n<=0?"+".concat(y(-n),":00"):"-".concat(y(n),":00")}var a=Date.parse(r);if(!v(a)){var h=t.split("-");a=Date.UTC(S(h[0]),S(h[1])-1,S(h[2]))}return i&&e&&v(a)&&(a+=i.getTimezoneOffset(a)),a},i.prototype.drawInput=function(t){var e=this.chart,i=this.div,s=this.inputGroup,r=this,n=e.renderer.style||{},h=e.renderer,d=e.options.rangeSelector,p=a.lang,u="min"===t;function g(){var i=r.maxInput,o=r.minInput,s=e.xAxis[0],n=e.scroller&&e.scroller.getUnionExtremes()||s,a=n.dataMin,h=n.dataMax,l=r.getInputValue(t);l!==Number(S.getAttribute("data-hc-time-previous"))&&v(l)&&(S.setAttribute("data-hc-time-previous",l),u&&i&&v(a)?l>Number(i.getAttribute("data-hc-time"))?l=void 0:lh&&(l=h)),void 0!==l&&s.setExtremes(u?l:s.min,u?s.max:l,void 0,void 0,{trigger:"rangeSelectorInput"}))}var x=p[u?"rangeSelectorFrom":"rangeSelectorTo"]||"",y=h.label(x,0).addClass("highcharts-range-label").attr({padding:x?2:0,height:x?d.inputBoxHeight:0}).add(s),b=h.label("",0).addClass("highcharts-range-input").attr({padding:2,width:d.inputBoxWidth,height:d.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(t),r[t+"Input"].focus()});e.styledMode||b.attr({stroke:d.inputBoxBorderColor,"stroke-width":1}),b.add(s);var S=l("input",{name:t,className:"highcharts-range-selector"},void 0,i);S.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";var e=["a","A","d","e","w","b","B","m","o","y","Y"].some(function(e){return -1!==t.indexOf("%"+e)}),i=["H","k","I","l","M","S"].some(function(e){return -1!==t.indexOf("%"+e)});return e&&i?"datetime-local":e?"date":i?"time":"text"}(d.inputDateFormat||"%e %b %Y")),e.styledMode||(y.css(m(n,d.labelStyle)),b.css(m({color:"#333333"},n,d.inputStyle)),c(S,f({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:n.fontSize,fontFamily:n.fontFamily,top:"-9999em"},d.inputStyle))),S.onfocus=function(){r.showInput(t)},S.onblur=function(){S===o.doc.activeElement&&g(),r.hideInput(t),r.setInputValue(t),S.blur()};var M=!1;return S.onchange=function(){M||(g(),r.hideInput(t),S.blur())},S.onkeypress=function(t){13===t.keyCode&&g()},S.onkeydown=function(t){M=!0,(38===t.keyCode||40===t.keyCode)&&g()},S.onkeyup=function(){M=!1},{dateBox:b,input:S,label:y}},i.prototype.getPosition=function(){var t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}},i.prototype.getYTDExtremes=function(t,e,i){var o=this.chart.time,s=new o.Date(t),r=o.get("FullYear",s),n=Math.max(e,i?o.Date.UTC(r,0,1):+new o.Date(r,0,1)),a=s.getTime();return{max:Math.min(t||a,a),min:n}},i.prototype.render=function(t,e){var i=this.chart,o=i.renderer,s=i.container,r=i.options,n=r.rangeSelector,a=b(r.chart.style&&r.chart.style.zIndex,0)+1,h=n.inputEnabled,c=this.rendered;if(!1!==n.enabled){if(!c&&(this.group=o.g("range-selector-group").attr({zIndex:7}).add(),this.div=l("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),s.parentNode&&s.parentNode.insertBefore(this.div,s),h)){this.inputGroup=o.g("input-group").add(this.group);var p=this.drawInput("min");this.minDateBox=p.dateBox,this.minLabel=p.label,this.minInput=p.input;var u=this.drawInput("max");this.maxDateBox=u.dateBox,this.maxLabel=u.label,this.maxInput=u.input}if(h){this.setInputValue("min",t),this.setInputValue("max",e);var f=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(d(f.dataMin)&&d(f.dataMax)){var g=i.xAxis[0].minRange||0;this.setInputExtremes("min",f.dataMin,Math.min(f.dataMax,this.getInputValue("max"))-g),this.setInputExtremes("max",Math.max(f.dataMin,this.getInputValue("min"))+g,f.dataMax)}if(this.inputGroup){var v=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(t){if(t){var e=t.getBBox().width;e&&(t.attr({x:v}),v+=e+n.inputSpacing)}})}}this.alignElements(),this.rendered=!0}},i.prototype.renderButtons=function(){var t=this,e=this.buttons,i=this.chart,s=this.options,r=a.lang,n=i.renderer,c=m(s.buttonTheme),d=c&&c.states,p=c.width||28;delete c.width,delete c.states,this.buttonGroup=n.g("range-selector-buttons").add(this.group);var u=this.dropdown=l("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);h(u,"touchstart",function(){u.style.fontSize="16px"}),[[o.isMS?"mouseover":"mouseenter"],[o.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(i){var o=i[0],s=i[1];h(u,o,function(){var i=e[t.currentButtonIndex()];i&&g(i.element,s||o)})}),this.zoomText=n.label(r&&r.rangeSelectorZoom||"",0).attr({padding:s.buttonTheme.padding,height:s.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(s.labelStyle),c["stroke-width"]=b(c["stroke-width"],0)),l("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,u),this.buttonOptions.forEach(function(i,o){l("option",{textContent:i.title||i.text},void 0,u),e[o]=n.button(i.text,0,0,function(e){var s,r=i.events&&i.events.click;r&&(s=r.call(i,e)),!1!==s&&t.clickButton(o),t.isActive=!0},c,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:p}).add(t.buttonGroup),i.title&&e[o].attr("title",i.title)})},i.prototype.alignElements=function(){var t=this,e=this.buttonGroup,i=this.buttons,o=this.chart,s=this.group,r=this.inputGroup,n=this.options,a=this.zoomText,h=o.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,c=n.buttonPosition,d=n.inputPosition,p=n.verticalAlign,u=function(e,i){return l&&t.titleCollision(o)&&"top"===p&&"right"===i.align&&i.y-e.getBBox().height-12<(l.y||0)+(l.height||0)+o.spacing[0]?-40:0},f=o.plotLeft;if(s&&c&&d){var g=c.x-o.spacing[3];if(e){if(this.positionButtons(),!this.initialButtonGroupWidth){var v=0;a&&(v+=a.getBBox().width+5),i.forEach(function(t,e){v+=t.width||0,e!==i.length-1&&(v+=n.buttonSpacing)}),this.initialButtonGroupWidth=v}f-=o.spacing[3],this.updateButtonStates();var m=u(e,c);this.alignButtonGroup(m),s.placed=e.placed=o.hasLoaded}var x=0;r&&(x=u(r,d),"left"===d.align?g=f:"right"===d.align&&(g=-Math.max(o.axisOffset[1],-x)),r.align({y:d.y,width:r.getBBox().width,align:d.align,x:d.x+g-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(x),s.align({verticalAlign:p},!0,o.spacingBox);var y=s.alignAttr.translateY,S=s.getBBox().height+20,M=0;if("bottom"===p){var k=o.legend&&o.legend.options;M=y-(S=S+(k&&"bottom"===k.verticalAlign&&k.enabled&&!k.floating?o.legend.legendHeight+b(k.margin,10):0)-20)-(n.floating?0:n.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===p?(n.floating&&(M=0),o.titleOffset&&o.titleOffset[0]&&(M=o.titleOffset[0]),M+=o.margin[0]-o.spacing[0]||0):"middle"===p&&(d.y===c.y?M=y:(d.y||c.y)&&(d.y<0||c.y<0?M-=Math.min(d.y,c.y):M=y-S)),s.translate(n.x,n.y+Math.floor(M));var C=this.minInput,A=this.maxInput,w=this.dropdown;n.inputEnabled&&C&&A&&(C.style.marginTop=s.translateY+"px",A.style.marginTop=s.translateY+"px"),w&&(w.style.marginTop=s.translateY+"px")}},i.prototype.alignButtonGroup=function(t,e){var i=this.chart,o=this.options,s=this.buttonGroup;this.buttons;var r=o.buttonPosition,n=i.plotLeft-i.spacing[3],a=r.x-i.spacing[3];"right"===r.align?a+=t-n:"center"===r.align&&(a-=n/2),s&&s.align({y:r.y,width:b(e,this.initialButtonGroupWidth),align:r.align,x:a},!0,i.spacingBox)},i.prototype.positionButtons=function(){var t=this.buttons,e=this.chart,i=this.options,o=this.zoomText,s=e.hasLoaded?"animate":"attr",r=i.buttonPosition,n=e.plotLeft,a=n;o&&"hidden"!==o.visibility&&(o[s]({x:b(n+r.x,n)}),a+=r.x+o.getBBox().width+5);for(var h=0,l=this.buttonOptions.length;ht&&(t=i.width)}),t},c=function(e){if(s&&o){var i=s.alignAttr.translateX+s.alignOptions.x-t+s.getBBox().x+2,r=s.alignOptions.width,a=o.alignAttr.translateX+o.getBBox().x;return a+e>i&&i+r>a&&n.y=-t?0:-t),translateY:s.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===a){this.collapseButtons(t),c(l())&&d();return}"never"===a&&this.expandButtons()}s&&o?h.align===n.align||c(this.initialButtonGroupWidth+20)?"responsive"===a?(this.collapseButtons(t),c(l())&&d()):d():"responsive"===a&&this.expandButtons():o&&"responsive"===a&&(this.initialButtonGroupWidth>i.plotWidth?this.collapseButtons(t):this.expandButtons())},i.prototype.collapseButtons=function(t){var e=this.buttons,i=this.buttonOptions,o=this.chart,s=this.dropdown,r=this.options,n=this.zoomText,a=o.userOptions.rangeSelector&&o.userOptions.rangeSelector.buttonTheme||{},h=function(t){return{text:t?"".concat(t," ▾"):"▾",width:"auto",paddingLeft:b(r.buttonTheme.paddingLeft,a.padding,8),paddingRight:b(r.buttonTheme.paddingRight,a.padding,8)}};n&&n.hide();var l=!1;i.forEach(function(t,i){var o=e[i];2!==o.state?o.hide():(o.show(),o.attr(h(t.text)),l=!0)}),l||(s&&(s.selectedIndex=0),e[0].show(),e[0].attr(h(this.zoomText&&this.zoomText.textStr)));var c=r.buttonPosition.align;this.positionButtons(),("right"===c||"center"===c)&&this.alignButtonGroup(t,e[this.currentButtonIndex()].getBBox().width),this.showDropdown()},i.prototype.expandButtons=function(){var t=this.buttons,e=this.buttonOptions,i=this.options,o=this.zoomText;this.hideDropdown(),o&&o.show(),e.forEach(function(e,o){var s=t[o];s.show(),s.attr({text:e.text,width:i.buttonTheme.width||28,paddingLeft:b(i.buttonTheme.paddingLeft,"unset"),paddingRight:b(i.buttonTheme.paddingRight,"unset")}),s.state<2&&s.setState(0)}),this.positionButtons()},i.prototype.currentButtonIndex=function(){var t=this.dropdown;return t&&t.selectedIndex>0?t.selectedIndex-1:0},i.prototype.showDropdown=function(){var t=this.buttonGroup,e=this.buttons,i=this.chart,o=this.dropdown;if(t&&o){var s=t.translateX,r=t.translateY,n=e[this.currentButtonIndex()].getBBox();c(o,{left:i.plotLeft+(void 0===s?0:s)+"px",top:(void 0===r?0:r)+.5+"px",width:n.width+"px",height:n.height+"px"}),this.hasVisibleDropdown=!0}},i.prototype.hideDropdown=function(){var t=this.dropdown;t&&(c(t,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)},i.prototype.getHeight=function(){var t=this.options,e=this.group,i=t.inputPosition,o=t.buttonPosition,s=t.y,r=o.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+s:0;var h=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(h)),a},i.prototype.titleCollision=function(t){return!(t.options.title.text||t.options.subtitle.text)},i.prototype.update=function(t){var e=this.chart;m(!0,e.options.rangeSelector,t),this.destroy(),this.init(e),this.render()},i.prototype.destroy=function(){var e=this,o=e.minInput,s=e.maxInput;e.eventsToUnbind&&(e.eventsToUnbind.forEach(function(t){return t()}),e.eventsToUnbind=void 0),p(e.buttons),o&&(o.onfocus=o.onblur=o.onchange=null),s&&(s.onfocus=s.onblur=s.onchange=null),x(e,function(o,s){o&&"chart"!==s&&(o instanceof r?o.destroy():o instanceof t.HTMLElement&&u(o)),o!==i.prototype[s]&&(e[s]=null)},this)},i}();return f(k.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),k}),i(e,"Core/Axis/OrdinalAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s,r=o.addEvent,n=o.correctFloat,a=o.css,h=o.defined,l=o.error,c=o.pick,d=o.timeUnits,p=[];return function(t){function s(t,e,i,o,s,r,n){void 0===s&&(s=[]),void 0===r&&(r=0);var a,c,p,u,f,g={},v=this.options.tickPixelInterval,m=this.chart.time,x=[],y=0,b=[],S=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return m.getTimeTicks.apply(m,arguments);var M=s.length;for(a=0;ai,s[a]5*r||f){if(s[a]>S){for(c=m.getTimeTicks(t,s[y],s[a],o);c.length&&c[0]<=S;)c.shift();c.length&&(S=c[c.length-1]),x.push(b.length),b=b.concat(c)}y=a+1}if(f)break}if(c){if(u=c.info,n&&u.unitRange<=d.hour){for(y=1,a=b.length-1;yi?k-1:k,P=void 0;L--;)E=Math.abs(P-(T=C[L])),P&&E<.8*v&&(null===O||E<.8*O)?(g[b[L]]&&!g[b[L+1]]?(w=L+1,P=T):w=L,b.splice(w,1)):P=T}return b}function u(t){var e=this.ordinal.positions;if(!e)return t;var i,o=e.length-1;return(t<0?t=e[0]:t>o?t=e[o]:(o=Math.floor(t),i=t-o),void 0!==i&&void 0!==e[o])?e[o]+(i?i*(e[o+1]-e[o]):0):t}function f(t){var e=this.ordinal,i=this.old?this.old.min:this.min,o=this.old?this.old.transA:this.transA,s=e.positions;if(!s)return t;var r=n((t-i)*o+this.minPixelPadding);if(t>=s[0]&&t<=s[s.length-1]||(s=e.getExtendedPositions()),s&&s.length){var a=s.indexOf(t),h=-1!==a?a:n(e.getIndexOfPoint(r,s)),l=n(h%1);if(h>=0&&h<=s.length-1){var c=s[Math.floor(h)],d=s[Math.ceil(h)];return s[Math.floor(h)]+l*(d-c)}}return t}function g(e,i){var o=t.Additions.findIndexOf(e,i,!0);if(e[o]===i)return o;var s=(i-e[o])/(e[o+1]-e[o]);return o+s}function v(){this.ordinal||(this.ordinal=new t.Additions(this))}function m(){this.isXAxis&&h(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&h(this.userMin)&&(this.min+=this.options.overscroll))}function x(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function y(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function b(t){var e=this.xAxis[0],i=e.options.overscroll,o=t.originalEvent.chartX,s=this.options.chart.panning,r=!1;if(s&&"y"!==s.type&&e.options.ordinal&&e.series.length){var n=this.mouseDownX,h=e.getExtremes(),l=h.dataMax,c=h.min,d=h.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,f=Math.round((n-o)/(e.translationSlope*(e.ordinal.slope||u))),g=e.ordinal.getExtendedPositions(),v={ordinal:{positions:g,extendedOrdinalPositions:g}},m=e.index2val,x=e.val2lin,y=void 0,b=void 0,S=void 0,M=void 0;v.ordinal.positions?Math.abs(f)>1&&(p&&p.forEach(function(t){t.setState()}),f<0?(S=v,M=e.ordinal.positions?e:v):(S=e.ordinal.positions?e:v,M=v),l>(b=M.ordinal.positions)[b.length-1]&&b.push(l),this.fixedRange=d-c,(y=e.navigatorAxis.toFixedRange(void 0,void 0,m.apply(S,[x.apply(S,[c,!0])+f]),m.apply(M,[x.apply(M,[d,!0])+f]))).min>=Math.min(h.dataMin,c)&&y.max<=Math.max(l,d)+i&&e.setExtremes(y.min,y.max,!0,!1,{trigger:"pan"}),this.mouseDownX=o,a(this.container,{cursor:"move"})):r=!0}else r=!0;r||s&&/y/.test(s.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function S(){var t=this.xAxis;t&&t.options.ordinal&&delete t.ordinal.index}function M(t,e){var i,o,s=this.ordinal,r=s.positions,n=s.slope;if(!r)return t;var a=r.length;if(r[0]<=t&&r[a-1]>=t)i=g(r,t);else{if(!((o=s.getExtendedPositions&&s.getExtendedPositions())&&o.length))return t;var h=o.length;n||(n=(o[h-1]-o[0])/h);var l=g(o,r[0]);if(t>=o[0]&&t<=o[h-1])i=g(o,t)-l;else{if(!e)return t;if(t0&&"highcharts-navigator-series"!==t.options.id&&t.processedXData.length>1&&(y=S!==t.processedXData[1]-t.processedXData[0]),S=t.processedXData[1]-t.processedXData[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||f)&&(e=(v=v.concat(t.processedXData)).length,v.sort(function(t,e){return t-e}),m=Math.min(m,c(t.closestPointRange,m)),e)){for(o=0;o2){for(o=v[1]-v[0],a=e-1;a--&&!x;)v[a+1]-v[a]!==o&&(x=!0);!h.options.keepOrdinalPadding&&(v[0]-p>o||u-v[v.length-1]>o)&&(x=!0)}else h.options.overscroll&&(2===e?m=v[1]-v[0]:1===e?(m=h.options.overscroll,v=[v[0],v[0]+m]):m=l.overscrollPointsRange);x||h.forceOrdinal?(h.options.overscroll&&(l.overscrollPointsRange=m,v=v.concat(l.getOverscrollPositions())),l.positions=v,s=h.ordinal2lin(Math.max(p,v[0]),!0),r=Math.max(h.ordinal2lin(Math.min(u,v[v.length-1]),!0),1),l.slope=n=(u-p)/(r-s),l.offset=p-s*n):(l.overscrollPointsRange=c(h.closestPointRange,l.overscrollPointsRange),l.positions=h.ordinal.slope=l.offset=void 0)}h.isOrdinal=g&&x,l.groupIntervalFactor=null},t.findIndexOf=function(t,e,i){for(var o,s=0,r=t.length-1;s=e&&t.x<=i})};s.series.forEach(function(t){var e,i=null===(e=t.points)||void 0===e?void 0:e[0];h(null==i?void 0:i.plotX)&&(i.plotX {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),i(e,"Series/HLC/HLCSeries.js",[e["Series/HLC/HLCPoint.js"],e["Series/HLC/HLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s,r=this&&this.__extends||(s=function(t,e){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),n=i.seriesTypes.column,a=o.extend,h=o.merge,l=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e.yData=void 0,e}return r(i,t),i.prototype.extendStem=function(t,e,i){var o=t[0],s=t[1];"number"==typeof o[2]&&(o[2]=Math.max(i+e,o[2])),"number"==typeof s[2]&&(s[2]=Math.min(i-e,s[2]))},i.prototype.getPointPath=function(t,e){var i=e.strokeWidth(),o=t.series,s=i%2/2,r=Math.round(t.plotX)-s,n=Math.round(t.shapeArgs.width/2),a=t.plotClose,h=[["M",r,Math.round(t.yBottom)],["L",r,Math.round(t.plotHigh)]];return null!==t.close&&(a=Math.round(t.plotClose)+s,h.push(["M",r,a],["L",r+n,a]),o.extendStem(h,i/2,a)),h},i.prototype.drawSinglePoint=function(t){var e,i=t.series,o=i.chart,s=t.graphic;void 0!==t.plotY&&(s||(t.graphic=s=o.renderer.path().add(i.group)),o.styledMode||s.attr(i.pointAttribs(t,t.selected&&"select")),e=i.getPointPath(t,s),s[s?"animate":"attr"]({d:e}).addClass(t.getClassName(),!0))},i.prototype.drawPoints=function(){this.points.forEach(this.drawSinglePoint)},i.prototype.init=function(){t.prototype.init.apply(this,arguments),this.options.stacking=void 0},i.prototype.pointAttribs=function(e,i){var o=t.prototype.pointAttribs.call(this,e,i);return delete o.fill,o},i.prototype.toYData=function(t){return[t.high,t.low,t.close]},i.prototype.translate=function(){var e=this,i=e.yAxis,o=this.pointArrayMap&&this.pointArrayMap.slice()||[],s=o.map(function(t){return"plot".concat(t.charAt(0).toUpperCase()+t.slice(1))});s.push("yBottom"),o.push("low"),t.prototype.translate.apply(e),e.points.forEach(function(t){o.forEach(function(o,r){var n=t[o];null!==n&&(e.dataModify&&(n=e.dataModify.modifyValue(n)),t[s[r]]=i.toPixels(n,!0))}),t.tooltipPos[1]=t.plotHigh+i.pos-e.chart.plotTop})},i.defaultOptions=h(n.defaultOptions,e),i}(n);return a(l.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",l),l}),i(e,"Series/OHLC/OHLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){var e,i=this&&this.__extends||(e=function(t,i){return(e=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)});return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.open=void 0,e.options=void 0,e.plotOpen=void 0,e.series=void 0,e}return i(e,t),e.prototype.getClassName=function(){return t.prototype.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),i(e,"Series/OHLC/OHLCSeries.js",[e["Series/OHLC/OHLCPoint.js"],e["Series/OHLC/OHLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,o){var s,r=this&&this.__extends||(s=function(t,e){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),n=i.seriesTypes.hlc,a=o.addEvent,h=o.extend,l=o.merge,c=[];function d(t){var e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function p(t){var e=t.options;e.useOhlcData&&"highcharts-navigator-series"!==e.id&&h(this,{pointValKey:u.prototype.pointValKey,pointArrayMap:u.prototype.pointArrayMap,toYData:u.prototype.toYData})}var u=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.compose=function(t){for(var e=[],i=1;is&&(i-=Math.round((r-s)/2),s=r),a=t[e](i,o,s,r),h&&l){var c=h;if("circle"===e)c=i+s/2;else{var d=a[0],p=a[1];"M"===d[0]&&"L"===p[0]&&(c=(d[1]+p[1])/2)}var u=o>l?o:o+r;a.push(["M",c,u],["L",h,l]),a=a.concat(t.circle(h-1,l-1,2,2))}return a}}e.compose=function(e){if(-1===i.indexOf(e)){i.push(e);var r=e.prototype.symbols;r.flag=o,s(r,"circle"),s(r,"square")}var n=t.getRendererType();i.indexOf(n)&&i.push(n)}}(e||(e={})),e}),i(e,"Series/OnSeriesComposition.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var o,s=t.prototype,r=e.prototype,n=i.defined,a=i.stableSort;return function(t){var e=[];function o(t){return r.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function h(){s.translate.apply(this);var t,e,i,o,r,h,l,c,d,p=this,u=p.options,f=p.chart,g=p.points,v=u.onSeries,m=v&&f.get(v),x=m&&m.options.step,y=m&&m.points,b=f.inverted,S=p.xAxis,M=p.yAxis,k=g.length-1,C=u.onKey||"y",A=y&&y.length,w=0;if(m&&m.visible&&A)for(w=(m.pointXOffset||0)+(m.barW||0)/2,c=m.currentDataGrouping,h=y[A-1].x+(c?c.totalRange:0),a(g,function(t,e){return t.x-e.x}),C="plot"+C[0].toUpperCase()+C.substr(1);A--&&g[k]&&"break"!==function(){if(r=y[A],(i=g[k]).y=r.y,r.x<=i.x&&void 0!==r[C]){if(i.x<=h&&(i.plotY=r[C],r.xMath.abs(w-i.plotX)){v=S;break}w=0&&t.plotX<=S.len?b?(t.plotY=S.translate(t.x,0,1,0,1),t.plotX=n(t.y)?M.translate(t.y,0,0,0,1):0):t.plotY=(S.opposite?0:p.yAxis.len)+S.offset:t.shapeArgs={}),(o=g[e-1])&&o.plotX===t.plotX&&(void 0===o.stackIndex&&(o.stackIndex=0),i=o.stackIndex+1),t.stackIndex=i}),this.onSeries=m}t.compose=function(t){if(i.pushUnique(e,t)){var s=t.prototype;s.getPlotBox=o,s.translate=h}return t},t.getPlotBox=o,t.translate=h}(o||(o={})),o}),i(e,"Series/Flags/FlagsSeries.js",[e["Series/Flags/FlagsPoint.js"],e["Series/Flags/FlagsSeriesDefaults.js"],e["Series/Flags/FlagsSymbols.js"],e["Core/Globals.js"],e["Series/OnSeriesComposition.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,r,n,a,h){var l,c=this&&this.__extends||(l=function(t,e){return(l=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}l(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),d=o.noop,p=r.distribute,u=n.series,f=n.seriesTypes.column,g=h.addEvent,v=h.defined,m=h.extend,x=h.merge,y=h.objectEach,b=h.wrap,S=function(t){function o(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return c(o,t),o.prototype.animate=function(t){t&&this.setClip()},o.prototype.drawPoints=function(){var t,e,i,o,s,r,n,h,l,c,d,u=this.points,f=this.chart,g=f.renderer,m=f.inverted,S=this.options,M=S.y,k=this.yAxis,C={},A=[];for(o=u.length;o--;)s=u[o],c=(m?s.plotY:s.plotX)>this.xAxis.len,t=s.plotX,n=s.stackIndex,i=s.options.shape||S.shape,void 0!==(e=s.plotY)&&(e=s.plotY+M-(void 0!==n&&n*S.stackDistance)),s.anchorX=n?void 0:s.plotX,h=n?void 0:s.plotY,d="flag"!==i,r=s.graphic,void 0!==e&&t>=0&&!c?(r&&s.hasNewShapeType()&&(r=r.destroy()),r||(r=s.graphic=g.label("",null,null,i,null,null,S.useHTML).addClass("highcharts-point").add(this.markerGroup),s.graphic.div&&(s.graphic.div.point=s),r.isNew=!0),r.attr({align:d?"center":"left",width:S.width,height:S.height,"text-align":S.textAlign}),f.styledMode||r.attr(this.pointAttribs(s)).css(x(S.style,s.style)).shadow(S.shadow),t>0&&(t-=r.strokeWidth()%2),l={y:e,anchorY:h},S.allowOverlapX&&(l.x=t,l.anchorX=s.anchorX),r.attr({text:s.options.title||S.title||"A"})[r.isNew?"attr":"animate"](l),S.allowOverlapX||(C[s.plotX]?C[s.plotX].size=Math.max(C[s.plotX].size,r.width||0):C[s.plotX]={align:d?.5:0,size:r.width||0,target:t,anchorX:t}),s.tooltipPos=[t,e+k.pos-f.plotTop]):r&&(s.graphic=r.destroy());if(!S.allowOverlapX){var w=100;y(C,function(t){t.plotX=t.anchorX,A.push(t),w=Math.max(t.size,w)}),p(A,m?k.len:this.xAxis.len,w);for(var T=0;T0&&!t.raised&&(t._y=i.y,i.attr({y:t._y-8}),t.raised=!0);for(var o=0;oC&&T=o.right&&(k=-(L+E.width-o.right)),b.attr({x:e+k,y:i,anchorX:a?e:this.opposite?0:s.chartWidth,anchorY:a?this.opposite?s.chartHeight:0:i+E.height/2})}}function o(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){var e=this.chart,i=this.options,o=e._labelPanes=e._labelPanes||{},s=i.labels;if(e.options.isStock&&"yAxis"===this.coll){var r=i.top+","+i.height;!o[r]&&s.enabled&&(15===s.distance&&1===this.side&&(s.distance=0),void 0===s.align&&(s.align="right"),o[r]=this,t.align="right",t.preventDefault())}}function r(){var t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function n(t){var e,i,o,s,r,n,a,h=this.isLinked&&!this.series&&this.linkedParent?this.linkedParent.series:this.series,l=this.chart,c=l.renderer,d=this.left,f=this.top,x=[],b=t.translatedValue,S=t.value,M=t.force,k=[];if(l.options.isStock&&!1!==t.acrossPanes&&"xAxis"===this.coll||"yAxis"===this.coll){t.preventDefault(),C="xAxis"===this.coll?"yAxis":"xAxis",k=v(A=this.options[C])?[l[C][A]]:m(A)?[l.get(A)]:h.map(function(t){return t[C]}),r=this.isXAxis?l.yAxis:l.xAxis;for(var C,A,w=0;wd+this.width)&&(M?e=o=p(e,d,d+this.width):B=!0),B||x.push(["M",e,i],["L",o,s])}else for(var I=0;If+this.height)&&(M?i=s=p(i,f,f+this.height):B=!0),B||x.push(["M",e,i],["L",o,s])}}t.path=x.length>0?c.crispPolyLine(x,t.lineWidth||1):void 0}}function a(t){if(this.chart.options.isStock){var e=void 0;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=x(t.plotOptions[this.type],e))}}function h(){var t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&y(e.enabled,t.options.isStock)}function c(t,e){for(var i=0;i