• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

コミットメタ情報

リビジョンb9e521e42f123f19c8cac92da89446306dc98f95 (tree)
日時2019-05-21 07:45:42
作者kazuhiro_kondow <simauma.circus@gmai...>
コミッターkazuhiro_kondow

ログメッセージ

HightStock対応、/stock画面追加、SQL修正

変更サマリ

差分

--- a/appmain.py
+++ b/appmain.py
@@ -33,16 +33,16 @@ def do_selectdata() -> dict:
3333 print("call do_selectdata")
3434 select_SQL = ("select * from ("
3535 "select to_char(receivetime,\'MM/DD HH24:MI\') AS time,"
36- "ltrim(to_char(temperature,\'MI999D99\')) AS temperature,"
37- "ltrim(to_char(humidity,\'999D9\')) AS humidity,"
36+ "ltrim(to_char(temperature,\'FM999D99\')) AS temperature,"
37+ "ltrim(to_char(humidity,\'FM999D9\')) AS humidity,"
3838 "ltrim(to_char((cast (photosensitive as float )/cast(1023 as float)*100),'FM990.0')) as photosensitive,"
3939 "ltrim(to_char((cast (soilmoisture as float )/cast(1023 as float)*100),'FM990.0')) as soilmoisture,"
40- "ltrim(to_char(soiltemperature,\'MI999D9\')) AS soiltemperature,"
40+ "ltrim(to_char(soiltemperature,\'FM999D9\')) AS soiltemperature,"
4141 "humaninduct "
4242 "from receivetest "
4343 "where nodeid=111 "
4444 "order by ReceiveTime desc "
45- "limit 50 "
45+ "limit 100 " #おおよそ1日分
4646 ") as A "
4747 "order by time;"
4848 )
@@ -61,6 +61,40 @@ def do_selectdata() -> dict:
6161 print(err) # __str__ allows args to be printed directly,
6262 return 'Failed'
6363
64+def do_select_stock_data() -> dict:
65+ """DataBaseからStockに表示するデータを抽出する"""
66+ try:
67+ print("call do_select_stock_data")
68+ select_SQL = ("select * from ( "
69+ "select round(extract(epoch from receivetime) * 1000) AS time,"
70+ "ltrim(to_char(temperature, 'FM990D09')) AS temperature,"
71+ "ltrim(to_char(humidity, 'FM990D09')) AS humidity,"
72+ "ltrim(to_char((cast(photosensitive as float)/cast(1023 as float)*100), 'FM990D09')) as photosensitive,"
73+ "ltrim(to_char((cast(soilmoisture as float)/cast(1023 as float)*100), 'FM990D09')) as soilmoisture,"
74+ "ltrim(to_char(soiltemperature, 'FM990D09')) AS soiltemperature,"
75+ "humaninduct "
76+ "from receivetest "
77+ "where nodeid=111 "
78+ "order by ReceiveTime desc "
79+ "limit 672 " #一週間分
80+ ") as A "
81+ "order by time;"
82+ )
83+ with UseDataBase() as cursor:
84+ cursor.execute(select_SQL)
85+ result = cursor.fetchall()
86+ dict_result = []
87+ for row in result:
88+ dict_result.append(dict(row))
89+ print("select_SQL:[%s]" % select_SQL)
90+ print("finish do_selectdata")
91+ return dict_result
92+ except Exception as err:
93+ print(type(err)) # the exception instance
94+ print(err.args) # arguments stored in .args
95+ print(err) # __str__ allows args to be printed directly,
96+ return 'Failed'
97+
6498
6599 def cnv_rcvdata2dict(rcv: 'POST_Data') -> dict:
66100 """Arduinoからのバイナリデータを復号して辞書として返す"""
@@ -144,11 +178,39 @@ def show_chart() -> str:
144178 return 'Failed'
145179
146180
147-@app.route('/testchart')
148-def show_testchart() -> str:
149- """Display Demo Chart"""
150- return '<!DOCTYPE html><html><head><title>This is test Chart Dir</title></head><body><p><font size="6">This is test Chart Dir</font></p></body></html>'
151-
181+@app.route('/stock')
182+def show_stock() -> str:
183+ """Display Demo HighStock"""
184+ try:
185+ print("call show_stock")
186+ respons = do_select_stock_data()
187+ if(respons == 'Failed'):
188+ return respons
189+ else:
190+ lst_temperature = []
191+ lst_humidity = []
192+ lst_photosensitive = []
193+ lst_soilmoisture = []
194+ lst_soiltemperature = []
195+ for dict in respons:
196+ lst_temperature.append(
197+ [int(dict['time']), float(dict['temperature'])])
198+ lst_humidity.append(
199+ [int(dict['time']), float(dict['humidity'])])
200+ lst_photosensitive.append(
201+ [int(dict['time']), float(dict['photosensitive'])])
202+ lst_soilmoisture.append(
203+ [int(dict['time']), float(dict['soilmoisture'])])
204+ lst_soiltemperature.append(
205+ [int(dict['time']), float(dict['soiltemperature'])])
206+ return render_template('compare.htm', temperature=lst_temperature, humidity=lst_humidity,
207+ photosensitive=lst_photosensitive, soilmoisture=lst_soilmoisture,
208+ soiltemperature=lst_soiltemperature)
209+ except Exception as err:
210+ print(type(err)) # the exception instance
211+ print(err.args) # arguments stored in .args
212+ print(err) # __str__ allows args to be printed directly,
213+ return 'Failed'
152214
153215 if __name__ == '__main__':
154216 app.run(debug=True)
--- /dev/null
+++ b/static/js/highstock/highstock.js
@@ -0,0 +1,601 @@
1+/*
2+ Highcharts JS v7.1.1 (2019-04-09)
3+
4+ (c) 2009-2018 Torstein Honsi
5+
6+ License: www.highcharts.com/license
7+*/
8+(function(P,J){"object"===typeof module&&module.exports?(J["default"]=J,module.exports=P.document?J(P):J):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return J(P)}):(P.Highcharts&&P.Highcharts.error(16,!0),P.Highcharts=J(P))})("undefined"!==typeof window?window:this,function(P){function J(a,C,y,F){a.hasOwnProperty(C)||(a[C]=F.apply(null,y))}var H={};J(H,"parts/Globals.js",[],function(){var a="undefined"===typeof P?"undefined"!==typeof window?window:{}:P,C=a.document,
9+y=a.navigator&&a.navigator.userAgent||"",F=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=/(edge|msie|trident)/i.test(y)&&!a.opera,h=-1!==y.indexOf("Firefox"),u=-1!==y.indexOf("Chrome"),v=h&&4>parseInt(y.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.1",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:v,hasTouch:C&&void 0!==C.documentElement.ontouchstart,isMS:p,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:h,isChrome:u,isSafari:!u&&-1!==y.indexOf("Safari"),
10+isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});J(H,"parts/Utilities.js",[H["parts/Globals.js"]],function(a){a.timers=[];var C=a.charts,y=a.doc,F=a.win;a.error=function(p,h,u){var v=a.isNumber(p)?"Highcharts error #"+p+": www.highcharts.com/errors/"+p:p,w=function(){if(h)throw Error(v);F.console&&
11+console.log(v)};u?a.fireEvent(u,"displayError",{code:p,message:v},w):w()};a.Fx=function(a,h,u){this.options=h;this.elem=a;this.prop=u};a.Fx.prototype={dSetter:function(){var a=this.paths[0],h=this.paths[1],u=[],v=this.now,w=a.length,x;if(1===v)u=this.toD;else if(w===h.length&&1>v)for(;w--;)x=parseFloat(a[w]),u[w]=isNaN(x)?h[w]:v*parseFloat(h[w]-x)+x;else u=h;this.elem.attr("d",u,null,!0)},update:function(){var a=this.elem,h=this.prop,u=this.now,v=this.options.step;if(this[h+"Setter"])this[h+"Setter"]();
12+else a.attr?a.element&&a.attr(h,u,null,!0):a.style[h]=u+this.unit;v&&v.call(a,u,this)},run:function(p,h,u){var v=this,w=v.options,x=function(a){return x.stopped?!1:v.step(a)},q=F.requestAnimationFrame||function(a){setTimeout(a,13)},g=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,1);a.timers.length&&q(g)};p!==h||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=p,this.end=h,this.unit=u,this.now=this.start,this.pos=0,x.elem=this.elem,x.prop=
13+this.prop,x()&&1===a.timers.push(x)&&q(g)):(delete w.curAnim[this.prop],w.complete&&0===Object.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(p){var h=+new Date,u,v=this.options,w=this.elem,x=v.complete,q=v.duration,g=v.curAnim;w.attr&&!w.element?p=!1:p||h>=q+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=g[this.prop]=!0,a.objectEach(g,function(a){!0!==a&&(u=!1)}),u&&x&&x.call(w),p=!1):(this.pos=v.easing((h-this.startTime)/q),this.now=this.start+(this.end-this.start)*
14+this.pos,this.update(),p=!0);return p},initPath:function(p,h,u){function v(a){var b,c;for(m=a.length;m--;)b="M"===a[m]||"L"===a[m],c=/[a-zA-Z]/.test(a[m+3]),b&&c&&a.splice(m+1,0,a[m+1],a[m+2],a[m+1],a[m+2])}function w(a,d){for(;a.length<b;){a[0]=d[b-a.length];var c=a.slice(0,e);[].splice.apply(a,[0,0].concat(c));k&&(c=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(c)),m--)}a[0]="M"}function x(a,m){for(var c=(b-a.length)/e;0<c&&c--;)d=a.slice().splice(a.length/z-e,e*z),d[0]=m[b-e-c*e],n&&
15+(d[e-6]=d[e-2],d[e-5]=d[e-1]),[].splice.apply(a,[a.length/z,0].concat(d)),k&&c--}h=h||"";var q,g=p.startX,f=p.endX,n=-1<h.indexOf("C"),e=n?7:3,b,d,m;h=h.split(" ");u=u.slice();var k=p.isArea,z=k?2:1,B;n&&(v(h),v(u));if(g&&f){for(m=0;m<g.length;m++)if(g[m]===f[0]){q=m;break}else if(g[0]===f[f.length-g.length+m]){q=m;B=!0;break}void 0===q&&(h=[])}h.length&&a.isNumber(q)&&(b=u.length+q*z*e,B?(w(h,u),x(u,h)):(w(u,h),x(h,u)));return[h,u]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},
16+strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var p,h=arguments,u,v={},w=function(h,q){"object"!==typeof h&&(h={});a.objectEach(q,function(g,f){!a.isObject(g,!0)||a.isClass(g)||a.isDOMElement(g)?h[f]=q[f]:h[f]=w(h[f]||{},g)});return h};!0===h[0]&&(v=h[1],h=Array.prototype.slice.call(h,2));u=h.length;for(p=0;p<u;p++)v=w(v,h[p]);return v};a.pInt=function(a,h){return parseInt(a,h||10)};a.isString=function(a){return"string"===
17+typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(p,h){return!!p&&"object"===typeof p&&(!h||!a.isArray(p))};a.isDOMElement=function(p){return a.isObject(p)&&"number"===typeof p.nodeType};a.isClass=function(p){var h=p&&p.constructor;return!(!a.isObject(p,!0)||a.isDOMElement(p)||!h||!h.name||"Object"===h.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=
18+function(a,h){for(var p=a.length;p--;)if(a[p]===h){a.splice(p,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(p,h,u){var v;a.isString(h)?a.defined(u)?p.setAttribute(h,u):p&&p.getAttribute&&((v=p.getAttribute(h))||"class"!==h||(v=p.getAttribute(h+"Name"))):a.defined(h)&&a.isObject(h)&&a.objectEach(h,function(a,h){p.setAttribute(h,a)});return v};a.splat=function(p){return a.isArray(p)?p:[p]};a.syncTimeout=function(a,h,u){if(h)return setTimeout(a,h,u);a.call(0,u)};a.clearTimeout=
19+function(p){a.defined(p)&&clearTimeout(p)};a.extend=function(a,h){var p;a||(a={});for(p in h)a[p]=h[p];return a};a.pick=function(){var a=arguments,h,u,v=a.length;for(h=0;h<v;h++)if(u=a[h],void 0!==u&&null!==u)return u};a.css=function(p,h){a.isMS&&!a.svg&&h&&void 0!==h.opacity&&(h.filter="alpha(opacity\x3d"+100*h.opacity+")");a.extend(p.style,h)};a.createElement=function(p,h,u,v,w){p=y.createElement(p);var x=a.css;h&&a.extend(p,h);w&&x(p,{padding:0,border:"none",margin:0});u&&x(p,u);v&&v.appendChild(p);
20+return p};a.extendClass=function(p,h){var u=function(){};u.prototype=new p;a.extend(u.prototype,h);return u};a.pad=function(a,h,u){return Array((h||2)+1-String(a).replace("-","").length).join(u||0)+a};a.relativeLength=function(a,h,u){return/%$/.test(a)?h*parseFloat(a)/100+(u||0):parseFloat(a)};a.wrap=function(a,h,u){var p=a[h];a[h]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,q=this;q.proceed=function(){p.apply(q,arguments.length?arguments:h)};a.unshift(p);a=u.apply(this,a);
21+q.proceed=null;return a}};a.datePropsToTimestamps=function(p){a.objectEach(p,function(h,u){a.isObject(h)&&"function"===typeof h.getTime?p[u]=h.getTime():(a.isObject(h)||a.isArray(h))&&a.datePropsToTimestamps(h)})};a.formatSingle=function(p,h,u){var v=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(u=(u=p.match(v))?u[1]:-1,null!==h&&(h=a.numberFormat(h,u,w.decimalPoint,-1<p.indexOf(",")?w.thousandsSep:""))):h=(u||a.time).dateFormat(p,h);return h};a.format=function(p,h,u){for(var v="{",w=!1,x,q,g,
22+f,n=[],e;p;){v=p.indexOf(v);if(-1===v)break;x=p.slice(0,v);if(w){x=x.split(":");q=x.shift().split(".");f=q.length;e=h;for(g=0;g<f;g++)e&&(e=e[q[g]]);x.length&&(e=a.formatSingle(x.join(":"),e,u));n.push(e)}else n.push(x);p=p.slice(v+1);v=(w=!w)?"}":"{"}n.push(p);return n.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(p,h,u,v,w){var x,q=p;u=a.pick(u,1);x=p/u;h||(h=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===v&&(1===
23+u?h=h.filter(function(a){return 0===a%1}):.1>=u&&(h=[1/u])));for(v=0;v<h.length&&!(q=h[v],w&&q*u>=p||!w&&x<=(h[v]+(h[v+1]||h[v]))/2);v++);return q=a.correctFloat(q*u,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,h){var p=a.length,v,w;for(w=0;w<p;w++)a[w].safeI=w;a.sort(function(a,q){v=h(a,q);return 0===v?a.safeI-q.safeI:v});for(w=0;w<p;w++)delete a[w].safeI};a.arrayMin=function(a){for(var h=a.length,p=a[0];h--;)a[h]<p&&(p=a[h]);return p};a.arrayMax=function(a){for(var h=a.length,
24+p=a[0];h--;)a[h]>p&&(p=a[h]);return p};a.destroyObjectProperties=function(p,h){a.objectEach(p,function(a,v){a&&a!==h&&a.destroy&&a.destroy();delete p[v]})};a.discardElement=function(p){var h=a.garbageBin;h||(h=a.createElement("div"));p&&h.appendChild(p);h.innerHTML=""};a.correctFloat=function(a,h){return parseFloat(a.toPrecision(h||14))};a.setAnimation=function(p,h){h.renderer.globalAnimation=a.pick(p,h.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?
25+500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,h,u,v){p=+p||0;h=+h;var w=a.defaultOptions.lang,x=(p.toString().split(".")[1]||"").split("e")[0].length,q,g,f=p.toString().split("e");-1===h?h=Math.min(x,20):a.isNumber(h)?h&&f[1]&&0>f[1]&&(q=h+ +f[1],0<=q?(f[0]=(+f[0]).toExponential(q).split("e")[0],h=q):(f[0]=f[0].split(".")[0]||0,p=20>h?(f[0]*Math.pow(10,f[1])).toFixed(h):0,f[1]=0)):h=2;g=(Math.abs(f[1]?
26+f[0]:p)+Math.pow(10,-Math.max(h,x)-1)).toFixed(h);x=String(a.pInt(g));q=3<x.length?x.length%3:0;u=a.pick(u,w.decimalPoint);v=a.pick(v,w.thousandsSep);p=(0>p?"-":"")+(q?x.substr(0,q)+v:"");p+=x.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+v);h&&(p+=u+g.slice(-h));f[1]&&0!==+p&&(p+="e"+f[1]);return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,h,u){if("width"===h)return Math.max(0,Math.min(p.offsetWidth,p.scrollWidth,p.getBoundingClientRect&&"none"===a.getStyle(p,
27+"transform",!1)?Math.floor(p.getBoundingClientRect().width):Infinity)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"));if("height"===h)return Math.max(0,Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"));F.getComputedStyle||a.error(27,!0);if(p=F.getComputedStyle(p,void 0))p=p.getPropertyValue(h),a.pick(u,"opacity"!==h)&&(p=a.pInt(p));return p};a.inArray=function(a,h,u){return h.indexOf(a,u)};a.find=Array.prototype.find?function(a,h){return a.find(h)}:
28+function(a,h){var p,v=a.length;for(p=0;p<v;p++)if(h(a[p],p))return a[p]};a.keys=Object.keys;a.offset=function(a){var h=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(F.pageYOffset||h.scrollTop)-(h.clientTop||0),left:a.left+(F.pageXOffset||h.scrollLeft)-(h.clientLeft||0)}};a.stop=function(p,h){for(var u=a.timers.length;u--;)a.timers[u].elem!==p||h&&h!==a.timers[u].prop||(a.timers[u].stopped=!0)};a.objectEach=function(a,h,u){for(var p in a)a.hasOwnProperty(p)&&
29+h.call(u||a[p],a[p],p,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(p,h){a[h]=function(a){return Array.prototype[p].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(p,h,u,v){var w,x=p.addEventListener||a.addEventListenerPolyfill;w="function"===typeof p&&p.prototype?p.prototype.protoEvents=p.prototype.protoEvents||{}:p.hcEvents=p.hcEvents||{};a.Point&&p instanceof a.Point&&p.series&&p.series.chart&&(p.series.chart.runTrackerClick=!0);x&&x.call(p,
30+h,u,!1);w[h]||(w[h]=[]);w[h].push(u);v&&a.isNumber(v.order)&&(u.order=v.order,w[h].sort(function(a,g){return a.order-g.order}));return function(){a.removeEvent(p,h,u)}};a.removeEvent=function(p,h,u){function v(g,f){var n=p.removeEventListener||a.removeEventListenerPolyfill;n&&n.call(p,g,f,!1)}function w(g){var f,n;p.nodeName&&(h?(f={},f[h]=!0):f=g,a.objectEach(f,function(a,b){if(g[b])for(n=g[b].length;n--;)v(b,g[b][n])}))}var x,q;["protoEvents","hcEvents"].forEach(function(a){var f=p[a];f&&(h?(x=
31+f[h]||[],u?(q=x.indexOf(u),-1<q&&(x.splice(q,1),f[h]=x),v(h,u)):(w(f),f[h]=[])):(w(f),p[a]={}))})};a.fireEvent=function(p,h,u,v){var w,x,q,g,f;u=u||{};y.createEvent&&(p.dispatchEvent||p.fireEvent)?(w=y.createEvent("Events"),w.initEvent(h,!0,!0),a.extend(w,u),p.dispatchEvent?p.dispatchEvent(w):p.fireEvent(h,w)):["protoEvents","hcEvents"].forEach(function(n){if(p[n])for(x=p[n][h]||[],q=x.length,u.target||a.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:p,type:h}),g=0;g<q;g++)(f=x[g])&&
32+!1===f.call(p,u)&&u.preventDefault()});v&&!u.defaultPrevented&&v.call(p,u)};a.animate=function(p,h,u){var v,w="",x,q,g;a.isObject(u)||(g=arguments,u={duration:g[2],easing:g[3],complete:g[4]});a.isNumber(u.duration)||(u.duration=400);u.easing="function"===typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine;u.curAnim=a.merge(h);a.objectEach(h,function(f,g){a.stop(p,g);q=new a.Fx(p,u,g);x=null;"d"===g?(q.paths=q.initPath(p,p.d,h.d),q.toD=h.d,v=0,x=1):p.attr?v=p.attr(g):(v=parseFloat(a.getStyle(p,
33+g))||0,"opacity"!==g&&(w="px"));x||(x=f);x&&x.match&&x.match("px")&&(x=x.replace(/px/g,""));q.run(v,x,w)})};a.seriesType=function(p,h,u,v,w){var x=a.getOptions(),q=a.seriesTypes;x.plotOptions[p]=a.merge(x.plotOptions[h],u);q[p]=a.extendClass(q[h]||function(){},v);q[p].prototype.type=p;w&&(q[p].prototype.pointClass=a.extendClass(a.Point,w));return q[p]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),h=0;return function(){return"highcharts-"+a+"-"+h++}}();a.isFunction=function(a){return"function"===
34+typeof a};F.jQuery&&(F.jQuery.fn.highcharts=function(){var p=[].slice.call(arguments);if(this[0])return p[0]?(new (a[a.isString(p[0])?p.shift():"Chart"])(this[0],p[0],p[1]),this):C[a.attr(this[0],"data-highcharts-chart")]})});J(H,"parts/Color.js",[H["parts/Globals.js"]],function(a){var C=a.isNumber,y=a.merge,F=a.pInt;a.Color=function(p){if(!(this instanceof a.Color))return new a.Color(p);this.init(p)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,
35+parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(p){var h,u,v,w;if((this.input=p=this.names[p&&p.toLowerCase?p.toLowerCase():""]||p)&&p.stops)this.stops=p.stops.map(function(h){return new a.Color(h[1])});else if(p&&p.charAt&&"#"===p.charAt()&&(h=p.length,p=parseInt(p.substr(1),16),7===h?u=[(p&16711680)>>
36+16,(p&65280)>>8,p&255,1]:4===h&&(u=[(p&3840)>>4|(p&3840)>>8,(p&240)>>4|p&240,(p&15)<<4|p&15,1])),!u)for(v=this.parsers.length;v--&&!u;)w=this.parsers[v],(h=w.regex.exec(p))&&(u=w.parse(h));this.rgba=u||[]},get:function(a){var h=this.input,p=this.rgba,v;this.stops?(v=y(h),v.stops=[].concat(v.stops),this.stops.forEach(function(h,p){v.stops[p]=[v.stops[p][0],h.get(a)]})):v=p&&C(p[0])?"rgb"===a||!a&&1===p[3]?"rgb("+p[0]+","+p[1]+","+p[2]+")":"a"===a?p[3]:"rgba("+p.join(",")+")":h;return v},brighten:function(a){var h,
37+p=this.rgba;if(this.stops)this.stops.forEach(function(h){h.brighten(a)});else if(C(a)&&0!==a)for(h=0;3>h;h++)p[h]+=F(255*a),0>p[h]&&(p[h]=0),255<p[h]&&(p[h]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,h){var p=this.rgba,v=a.rgba;v.length&&p&&p.length?(a=1!==v[3]||1!==p[3],h=(a?"rgba(":"rgb(")+Math.round(v[0]+(p[0]-v[0])*(1-h))+","+Math.round(v[1]+(p[1]-v[1])*(1-h))+","+Math.round(v[2]+(p[2]-v[2])*(1-h))+(a?","+(v[3]+(p[3]-v[3])*(1-h)):"")+")"):h=a.input||
38+"none";return h}};a.color=function(p){return new a.Color(p)}});J(H,"parts/SvgRenderer.js",[H["parts/Globals.js"]],function(a){var C,y,F=a.addEvent,p=a.animate,h=a.attr,u=a.charts,v=a.color,w=a.css,x=a.createElement,q=a.defined,g=a.deg2rad,f=a.destroyObjectProperties,n=a.doc,e=a.extend,b=a.erase,d=a.hasTouch,m=a.isArray,k=a.isFirefox,z=a.isMS,B=a.isObject,A=a.isString,r=a.isWebKit,c=a.merge,l=a.noop,E=a.objectEach,D=a.pick,G=a.pInt,t=a.removeEvent,I=a.splat,M=a.stop,Q=a.svg,K=a.SVG_NS,T=a.symbolSizes,
39+O=a.win;C=a.SVGElement=function(){return this};e(C.prototype,{opacity:1,SVG_NS:K,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(c,b){this.element="span"===b?x(b):n.createElementNS(this.SVG_NS,b);this.renderer=c;a.fireEvent(this,"afterInit")},animate:function(c,b,t){var L=a.animObject(D(b,this.renderer.globalAnimation,!0));D(n.hidden,n.msHidden,n.webkitHidden,!1)&&(L.duration=0);
40+0!==L.duration?(t&&(L.complete=t),p(this,c,L)):(this.attr(c,null,t),a.objectEach(c,function(a,c){L.step&&L.step.call(this,a,{prop:c,pos:1})},this));return this},complexColor:function(b,t,l){var L=this.renderer,e,k,d,I,r,f,g,z,n,D,G,K=[],da;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?k="radialGradient":b.linearGradient&&(k="linearGradient");k&&(d=b[k],r=L.gradients,g=b.stops,D=l.radialReference,m(d)&&(b[k]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),
41+"radialGradient"===k&&D&&!q(d.gradientUnits)&&(I=d,d=c(d,L.getRadialAttr(D,I),{gradientUnits:"userSpaceOnUse"})),E(d,function(a,c){"id"!==c&&K.push(c,a)}),E(g,function(a){K.push(a)}),K=K.join(","),r[K]?G=r[K].attr("id"):(d.id=G=a.uniqueKey(),r[K]=f=L.createElement(k).attr(d).add(L.defs),f.radAttr=I,f.stops=[],g.forEach(function(c){0===c[1].indexOf("rgba")?(e=a.color(c[1]),z=e.get("rgb"),n=e.get("a")):(z=c[1],n=1);c=L.createElement("stop").attr({offset:c[0],"stop-color":z,"stop-opacity":n}).add(f);
42+f.stops.push(c)})),da="url("+L.url+"#"+G+")",l.setAttribute(t,da),l.gradient=K,b.toString=function(){return da})})},applyTextOutline:function(c){var b=this.element,t,l,L;-1!==c.indexOf("contrast")&&(c=c.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));c=c.split(" ");t=c[c.length-1];(l=c[0])&&"none"!==l&&a.svg&&(this.fakeTS=!0,c=[].slice.call(b.getElementsByTagName("tspan")),this.ySetter=this.xSetter,l=l.replace(/(^[\d\.]+)(.*?)$/g,function(a,c,b){return 2*c+b}),this.removeTextOutline(c),
43+L=b.firstChild,c.forEach(function(a,c){0===c&&(a.setAttribute("x",b.getAttribute("x")),c=b.getAttribute("y"),a.setAttribute("y",c||0),null===c&&b.setAttribute("y",0));a=a.cloneNode(1);h(a,{"class":"highcharts-text-outline",fill:t,stroke:t,"stroke-width":l,"stroke-linejoin":"round"});b.insertBefore(a,L)}))},removeTextOutline:function(a){for(var c=a.length,t;c--;)t=a[c],"highcharts-text-outline"===t.getAttribute("class")&&b(a,this.element.removeChild(t))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),
44+attr:function(c,b,t,l){var L,e=this.element,d,k=this,m,I,r=this.symbolCustomAttribs;"string"===typeof c&&void 0!==b&&(L=c,c={},c[L]=b);"string"===typeof c?k=(this[c+"Getter"]||this._defaultGetter).call(this,c,e):(E(c,function(b,t){m=!1;l||M(this,t);this.symbolName&&-1!==a.inArray(t,r)&&(d||(this.symbolAttr(c),d=!0),m=!0);!this.rotation||"x"!==t&&"y"!==t||(this.doTransform=!0);m||(I=this[t+"Setter"]||this._defaultSetter,I.call(this,b,t,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(t)&&
45+this.updateShadows(t,b,I))},this),this.afterSetters());t&&t.call(this);return k},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,c,b){for(var t=this.shadows,l=t.length;l--;)b.call(t[l],"height"===a?Math.max(c-(t[l].cutHeight||0),0):"d"===a?this.d:c,a,t[l])},addClass:function(a,c){var b=this.attr("class")||"";c||(a=(a||"").split(/ /g).reduce(function(a,c){-1===b.indexOf(c)&&a.push(c);return a},b?[b]:[]).join(" "));a!==b&&this.attr("class",
46+a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var c=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(b){c[b]=D(a[b],c[b])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},
47+crisp:function(a,c){var b;c=c||a.strokeWidth||0;b=Math.round(c)%2/2;a.x=Math.floor(a.x||this.x||0)+b;a.y=Math.floor(a.y||this.y||0)+b;a.width=Math.floor((a.width||this.width||0)-2*b);a.height=Math.floor((a.height||this.height||0)-2*b);q(a.strokeWidth)&&(a.strokeWidth=c);return a},css:function(a){var c=this.styles,b={},t=this.element,l,d="",L,k=!c,m=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);c&&E(a,function(a,t){a!==c[t]&&(b[t]=a,k=!0)});k&&(c&&(a=e(c,b)),a&&(null===a.width||
48+"auto"===a.width?delete this.textWidth:"text"===t.nodeName.toLowerCase()&&a.width&&(l=this.textWidth=G(a.width))),this.styles=a,l&&!Q&&this.renderer.forExport&&delete a.width,t.namespaceURI===this.SVG_NS?(L=function(a,c){return"-"+c.toLowerCase()},E(a,function(a,c){-1===m.indexOf(c)&&(d+=c.replace(/([A-Z])/g,L)+":"+a+";")}),d&&h(t,"style",d)):w(t,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return O.getComputedStyle(this.element||
49+this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),c;a.indexOf("px")===a.length-2?a=G(a):(c=n.createElementNS(K,"rect"),h(c,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(c),a=c.getBBox().width,c.parentNode.removeChild(c));return a},on:function(a,c){var b=this,t=b.element;d&&"click"===a?(t.ontouchstart=function(a){b.touchEventFired=Date.now();a.preventDefault();c.call(t,a)},t.onclick=
50+function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(b.touchEventFired||0))&&c.call(t,a)}):t["on"+a]=c;return this},setRadialReference:function(a){var c=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;c&&c.radAttr&&c.animate(this.renderer.getRadialAttr(a,c.radAttr));return this},translate:function(a,c){return this.attr({translateX:a,translateY:c})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=
51+this.translateX||0,c=this.translateY||0,b=this.scaleX,t=this.scaleY,l=this.inverted,e=this.rotation,d=this.matrix,k=this.element;l&&(a+=this.width,c+=this.height);a=["translate("+a+","+c+")"];q(d)&&a.push("matrix("+d.join(",")+")");l?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+D(this.rotationOriginX,k.getAttribute("x"),0)+" "+D(this.rotationOriginY,k.getAttribute("y")||0)+")");(q(b)||q(t))&&a.push("scale("+D(b,1)+" "+D(t,1)+")");a.length&&k.setAttribute("transform",a.join(" "))},toFront:function(){var a=
52+this.element;a.parentNode.appendChild(a);return this},align:function(a,c,t){var l,e,d,k,m={};e=this.renderer;d=e.alignedObjects;var I,L;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!t||A(t))this.alignTo=l=t||"renderer",b(d,this),d.push(this),t=null}else a=this.alignOptions,c=this.alignByTranslate,l=this.alignTo;t=D(t,e[l],e);l=a.align;e=a.verticalAlign;d=(t.x||0)+(a.x||0);k=(t.y||0)+(a.y||0);"right"===l?I=1:"center"===l&&(I=2);I&&(d+=(t.width-(a.width||0))/I);m[c?"translateX":"x"]=Math.round(d);
53+"bottom"===e?L=1:"middle"===e&&(L=2);L&&(k+=(t.height-(a.height||0))/L);m[c?"translateY":"y"]=Math.round(k);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(a,c){var b,t=this.renderer,l,d=this.element,k=this.styles,m,I=this.textStr,L,r=t.cache,E=t.cacheKeys,f=d.namespaceURI===this.SVG_NS,z;c=D(c,this.rotation);l=c*g;m=t.styledMode?d&&C.prototype.getStyle.call(d,"font-size"):k&&k.fontSize;q(I)&&(z=I.toString(),-1===z.indexOf("\x3c")&&(z=z.replace(/[0-9]/g,
54+"0")),z+=["",c||0,m,this.textWidth,k&&k.textOverflow].join());z&&!a&&(b=r[z]);if(!b){if(f||t.forExport){try{(L=this.fakeTS&&function(a){[].forEach.call(d.querySelectorAll(".highcharts-text-outline"),function(c){c.style.display=a})})&&L("none"),b=d.getBBox?e({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight},L&&L("")}catch(aa){}if(!b||0>b.width)b={width:0,height:0}}else b=this.htmlGetBBox();t.isSVG&&(a=b.width,t=b.height,f&&(b.height=t={"11px,17":14,"13px,20":16}[k&&k.fontSize+","+Math.round(t)]||
55+t),c&&(b.width=Math.abs(t*Math.sin(l))+Math.abs(a*Math.cos(l)),b.height=Math.abs(t*Math.cos(l))+Math.abs(a*Math.sin(l))));if(z&&0<b.height){for(;250<E.length;)delete r[E.shift()];r[z]||E.push(z);r[z]=b}}return b},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var c=this;c.animate({opacity:0},{duration:a||150,complete:function(){c.attr({y:-9999})}})},add:function(a){var c=this.renderer,b=this.element,
56+t;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&c.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)t=this.zIndexSetter();t||(a?a.element:c.box).appendChild(b);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var c=a.parentNode;c&&c.removeChild(a)},destroy:function(){var a=this,c=a.element||{},t=a.renderer,l=t.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,d=c.ownerSVGElement,e=a.clipPath;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=
57+c.point=null;M(a);e&&d&&([].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1<a.getAttribute("clip-path").indexOf(e.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=e.destroy());if(a.stops){for(d=0;d<a.stops.length;d++)a.stops[d]=a.stops[d].destroy();a.stops=null}a.safeRemoveChild(c);for(t.styledMode||a.destroyShadows();l&&l.div&&0===l.div.childNodes.length;)c=l.parentGroup,a.safeRemoveChild(l.div),delete l.div,l=c;a.alignTo&&b(t.alignedObjects,a);E(a,function(c,b){delete a[b]});
58+return null},shadow:function(a,c,b){var t=[],l,d,e=this.element,k,m,I,r;if(!a)this.destroyShadows();else if(!this.shadows){m=D(a.width,3);I=(a.opacity||.15)/m;r=this.parentInverted?"(-1,-1)":"("+D(a.offsetX,1)+", "+D(a.offsetY,1)+")";for(l=1;l<=m;l++)d=e.cloneNode(0),k=2*m+1-2*l,h(d,{stroke:a.color||"#000000","stroke-opacity":I*l,"stroke-width":k,transform:"translate"+r,fill:"none"}),d.setAttribute("class",(d.getAttribute("class")||"")+" highcharts-shadow"),b&&(h(d,"height",Math.max(h(d,"height")-
59+k,0)),d.cutHeight=k),c?c.element.appendChild(d):e.parentNode&&e.parentNode.insertBefore(d,e),t.push(d);this.shadows=t}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=D(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));
60+return a},dSetter:function(a,c,b){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[c]!==a&&(b.setAttribute(c,a),this[c]=a)},dashstyleSetter:function(a){var c,b=this["stroke-width"];"inherit"===b&&(b=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(c=a.length;c--;)a[c]=
61+G(a[c])*b;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var c={left:"start",center:"middle",right:"end"};c[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",c[a]))},opacitySetter:function(a,c,b){this[c]=a;b.setAttribute(c,a)},titleSetter:function(a){var c=this.element.getElementsByTagName("title")[0];c||(c=n.createElementNS(this.SVG_NS,"title"),this.element.appendChild(c));c.firstChild&&c.removeChild(c.firstChild);c.appendChild(n.createTextNode(String(D(a),
62+"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(b,t){var d=this.element,e={textAnchor:"text-anchor"},k,m=!1,I,r=this.textPathWrapper,E=!r;t=c(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t);k=t.attributes;if(b&&t&&t.enabled){this.options&&this.options.padding&&(k.dx=-this.options.padding);r||(this.textPathWrapper=
63+r=this.renderer.createElement("textPath"),m=!0);I=r.element;(t=b.element.getAttribute("id"))||b.element.setAttribute("id",t=a.uniqueKey());if(E)for(b=d.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),I.appendChild(b[0]);m&&r.add({element:this.text?this.text.element:d});I.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+t);q(k.dy)&&(I.parentNode.setAttribute("dy",k.dy),delete k.dy);q(k.dx)&&(I.parentNode.setAttribute("dx",k.dx),delete k.dx);a.objectEach(k,
64+function(a,c){I.setAttribute(e[c]||c,a)});d.removeAttribute("transform");this.removeTextOutline.call(r,[].slice.call(d.getElementsByTagName("tspan")));this.applyTextOutline=this.updateTransform=l}else r&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(d,b));return this},destroyTextPath:function(a,c){var b;c.element.setAttribute("id","");for(b=this.textPathWrapper.element.childNodes;b.length;)a.firstChild.appendChild(b[0]);a.firstChild.removeChild(this.textPathWrapper.element);
65+delete c.textPathWrapper},fillSetter:function(a,c,b){"string"===typeof a?b.setAttribute(c,a):a&&this.complexColor(a,c,b)},visibilitySetter:function(a,c,b){"inherit"===a?b.removeAttribute(c):this[c]!==a&&b.setAttribute(c,a);this[c]=a},zIndexSetter:function(a,c){var b=this.renderer,t=this.parentGroup,l=(t||b).element||b.box,d,e=this.element,k,m,b=l===b.box;d=this.added;var I;q(a)?(e.setAttribute("data-z-index",a),a=+a,this[c]===a&&(d=!1)):q(this[c])&&e.removeAttribute("data-z-index");this[c]=a;if(d){(a=
66+this.zIndex)&&t&&(t.handleZ=!0);c=l.childNodes;for(I=c.length-1;0<=I&&!k;I--)if(t=c[I],d=t.getAttribute("data-z-index"),m=!q(d),t!==e)if(0>a&&m&&!b&&!I)l.insertBefore(e,c[I]),k=!0;else if(G(d)<=a||m&&(!q(a)||0<=a))l.insertBefore(e,c[I+1]||null),k=!0;k||(l.insertBefore(e,c[b?3:0]||null),k=!0)}return k},_defaultSetter:function(a,c,b){b.setAttribute(c,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=
67+C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,c){this[c]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,c,b){this[c]=a;this.stroke&&this["stroke-width"]?(C.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),
68+this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(y.prototype,{Element:C,SVG_NS:K,init:function(a,c,b,t,l,d,e){var m;m=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});e||m.css(this.getStyle(t));t=m.element;a.appendChild(t);h(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&h(t,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=t;this.boxWrapper=m;this.alignedObjects=[];this.url=(k||r)&&n.getElementsByTagName("base").length?O.location.href.split("#")[0].replace(/<[^>]*>/g,
69+"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(n.createTextNode("Created with Highcharts 7.1.1"));this.defs=this.createElement("defs").add();this.allowHTML=d;this.forExport=l;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,b,!1);var I;k&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});I=a.getBoundingClientRect();w(a,{left:Math.ceil(I.left)-I.left+"px",top:Math.ceil(I.top)-I.top+
70+"px"})},c(),this.unSubPixelFix=F(O,"resize",c))},definition:function(a){function c(a,t){var l;I(a).forEach(function(a){var d=b.createElement(a.tagName),e={};E(a,function(a,c){"tagName"!==c&&"children"!==c&&"textContent"!==c&&(e[c]=a)});d.attr(e);d.add(t||b.defs);a.textContent&&d.element.appendChild(n.createTextNode(a.textContent));c(a.children||[],d);l=d});return l}var b=this;return c(a)},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
71+fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();f(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:l,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/
72+2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},truncate:function(a,c,b,t,l,d,e){var k=this,m=a.rotation,I,r=t?1:0,E=(b||t).length,f=E,g=[],z=function(a){c.firstChild&&c.removeChild(c.firstChild);a&&c.appendChild(n.createTextNode(a))},q=function(d,m){m=m||d;if(void 0===g[m])if(c.getSubStringLength)try{g[m]=l+c.getSubStringLength(0,t?m+1:m)}catch(ea){}else k.getSpanWidth&&(z(e(b||t,d)),g[m]=l+k.getSpanWidth(a,c));return g[m]},D,K;a.rotation=0;D=q(c.textContent.length);if(K=l+D>d){for(;r<=E;)f=Math.ceil((r+
73+E)/2),t&&(I=e(t,f)),D=q(f,I&&I.length-1),r===E?r=E+1:D>d?E=f-1:r=f;0===E?z(""):b&&E===b.length-1||z(I||e(b||t,f))}t&&t.splice(0,f);a.actualWidth=D;a.rotation=m;return K},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var c=a.element,b=this,t=b.forExport,l=D(a.textStr,"").toString(),d=-1!==l.indexOf("\x3c"),e=c.childNodes,k,m=h(c,"x"),I=a.styles,r=a.textWidth,f=I&&I.lineHeight,g=I&&I.textOutline,z=I&&"ellipsis"===I.textOverflow,q=
74+I&&"nowrap"===I.whiteSpace,L=I&&I.fontSize,B,M,A=e.length,I=r&&!a.added&&this.box,T=function(a){var t;b.styledMode||(t=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:L||b.style.fontSize||12);return f?G(f):b.fontMetrics(t,a.getAttribute("style")?a:c).h},p=function(a,c){E(b.escapes,function(b,t){c&&-1!==c.indexOf(b)||(a=a.toString().replace(new RegExp(b,"g"),t))});return a},O=function(a,c){var b;b=a.indexOf("\x3c");a=a.substring(b,a.indexOf("\x3e")-b);b=a.indexOf(c+"\x3d");if(-1!==b&&(b=b+c.length+
75+1,c=a.charAt(b),'"'===c||"'"===c))return a=a.substring(b+1),a.substring(0,a.indexOf(c))};B=[l,z,q,f,g,L,r].join();if(B!==a.textCache){for(a.textCache=B;A--;)c.removeChild(e[A]);d||g||z||r||-1!==l.indexOf(" ")?(I&&I.appendChild(c),d?(l=b.styledMode?l.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):l.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
76+l=l.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):l=[l],l=l.filter(function(a){return""!==a}),l.forEach(function(l,d){var e,I=0,E=0;l=l.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");e=l.split("|||");e.forEach(function(l){if(""!==l||1===e.length){var f={},g=n.createElementNS(b.SVG_NS,"tspan"),D,G;(D=O(l,"class"))&&h(g,"class",D);if(D=O(l,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),h(g,"style",
77+D);(G=O(l,"href"))&&!t&&(h(g,"onclick",'location.href\x3d"'+G+'"'),h(g,"class","highcharts-anchor"),b.styledMode||w(g,{cursor:"pointer"}));l=p(l.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==l){g.appendChild(n.createTextNode(l));I?f.dx=0:d&&null!==m&&(f.x=m);h(g,f);c.appendChild(g);!I&&M&&(!Q&&t&&w(g,{display:"block"}),h(g,"dy",T(g)));if(r){var B=l.replace(/([^\^])-/g,"$1- ").split(" "),f=!q&&(1<e.length||d||1<B.length);G=0;var A=T(g);if(z)k=b.truncate(a,g,l,void 0,0,Math.max(0,r-parseInt(L||
78+12,10)),function(a,c){return a.substring(0,c)+"\u2026"});else if(f)for(;B.length;)B.length&&!q&&0<G&&(g=n.createElementNS(K,"tspan"),h(g,{dy:A,x:m}),D&&h(g,"style",D),g.appendChild(n.createTextNode(B.join(" ").replace(/- /g,"-"))),c.appendChild(g)),b.truncate(a,g,null,B,0===G?E:0,r,function(a,c){return B.slice(0,c).join(" ").replace(/- /g,"-")}),E=a.actualWidth,G++}I++}}});M=M||c.childNodes.length}),z&&k&&a.attr("title",p(a.textStr,["\x26lt;","\x26gt;"])),I&&I.removeChild(c),g&&a.applyTextOutline&&
79+a.applyTextOutline(g)):c.appendChild(n.createTextNode(p(l)))}},getContrast:function(a){a=v(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,t,l,d,k,m,I,r,E){var f=this.label(a,b,t,r,null,null,E,null,"button"),g=0,n=this.styledMode;f.attr(c({padding:8,r:2},d));if(!n){var D,q,K,G;d=c({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},d);D=d.style;delete d.style;k=c(d,{fill:"#e6e6e6"},k);
80+q=k.style;delete k.style;m=c(d,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);K=m.style;delete m.style;I=c(d,{style:{color:"#cccccc"}},I);G=I.style;delete I.style}F(f.element,z?"mouseover":"mouseenter",function(){3!==g&&f.setState(1)});F(f.element,z?"mouseout":"mouseleave",function(){3!==g&&f.setState(g)});f.setState=function(a){1!==a&&(f.state=g=a);f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
81+0]);n||f.attr([d,k,m,I][a||0]).css([D,q,K,G][a||0])};n||f.attr(d).css(e({cursor:"default"},D));return f.on("click",function(a){3!==g&&l.call(f,a)})},crispLine:function(a,c){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-c%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+c%2/2);return a},path:function(a){var c=this.styledMode?{}:{fill:"none"};m(a)?c.d=a:B(a)&&e(c,a);return this.createElement("path").attr(c)},circle:function(a,c,b){a=B(a)?a:void 0===a?{}:{x:a,y:c,r:b};c=this.createElement("circle");c.xSetter=
82+c.ySetter=function(a,c,b){b.setAttribute("c"+c,a)};return c.attr(a)},arc:function(a,c,b,t,l,d){B(a)?(t=a,c=t.y,b=t.r,a=t.x):t={innerR:t,start:l,end:d};a=this.symbol("arc",a,c,b,b,t);a.r=b;return a},rect:function(a,c,b,t,l,d){l=B(a)?a.r:l;var e=this.createElement("rect");a=B(a)?a:void 0===a?{}:{x:a,y:c,width:Math.max(b,0),height:Math.max(t,0)};this.styledMode||(void 0!==d&&(a.strokeWidth=d,a=e.crisp(a)),a.fill="none");l&&(a.r=l);e.rSetter=function(a,c,b){e.r=a;h(b,{rx:a,ry:a})};e.rGetter=function(){return e.r};
83+return e.attr(a)},setSize:function(a,c,b){var t=this.alignedObjects,l=t.length;this.width=a;this.height=c;for(this.boxWrapper.animate({width:a,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(b,!0)?void 0:0});l--;)t[l].align()},g:function(a){var c=this.createElement("g");return a?c.attr({"class":"highcharts-"+a}):c},image:function(a,c,b,t,l,d){var k={preserveAspectRatio:"none"},m,I=function(a,c){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
84+"href",c):a.setAttribute("hc-svg-href",c)},r=function(c){I(m.element,a);d.call(m,c)};1<arguments.length&&e(k,{x:c,y:b,width:t,height:l});m=this.createElement("image").attr(k);d?(I(m.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),k=new O.Image,F(k,"load",r),k.src=a,k.complete&&r({})):I(m.element,a);return m},symbol:function(a,c,b,t,l,d){var k=this,m,I=/^url\((.*?)\)$/,r=I.test(a),E=!r&&(this.symbols[a]?a:"circle"),f=E&&this.symbols[E],g=q(c)&&f&&f.call(this.symbols,
85+Math.round(c),Math.round(b),t,l,d),z,K;f?(m=this.path(g),k.styledMode||m.attr("fill","none"),e(m,{symbolName:E,x:c,y:b,width:t,height:l}),d&&e(m,d)):r&&(z=a.match(I)[1],m=this.image(z),m.imgwidth=D(T[z]&&T[z].width,d&&d.width),m.imgheight=D(T[z]&&T[z].height,d&&d.height),K=function(){m.attr({width:m.width,height:m.height})},["width","height"].forEach(function(a){m[a+"Setter"]=function(a,c){var b={},t=this["img"+c],l="width"===c?"translateX":"translateY";this[c]=a;q(t)&&(d&&"within"===d.backgroundSize&&
86+this.width&&this.height&&(t=Math.round(t*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(c,t),this.alignByTranslate||(b[l]=((this[c]||0)-t)/2,this.attr(b)))}}),q(c)&&m.attr({x:c,y:b}),m.isImg=!0,q(m.imgwidth)&&q(m.imgheight)?K():(m.attr({width:0,height:0}),x("img",{onload:function(){var a=u[k.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),n.body.appendChild(this));T[z]={width:this.width,height:this.height};m.imgwidth=
87+this.width;m.imgheight=this.height;m.element&&K();this.parentNode&&this.parentNode.removeChild(this);k.imgCount--;if(!k.imgCount&&a&&a.onload)a.onload()},src:z}),this.imgCount++));return m},symbols:{circle:function(a,c,b,t){return this.arc(a+b/2,c+t/2,b/2,t/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,c,b,t){return["M",a,c,"L",a+b,c,a+b,c+t,a,c+t,"Z"]},triangle:function(a,c,b,t){return["M",a+b/2,c,"L",a+b,c+t,a,c+t,"Z"]},"triangle-down":function(a,c,b,t){return["M",a,c,"L",a+b,
88+c,a+b/2,c+t,"Z"]},diamond:function(a,c,b,t){return["M",a+b/2,c,"L",a+b,c+t/2,a+b/2,c+t,a,c+t/2,"Z"]},arc:function(a,c,b,t,l){var d=l.start,m=l.r||b,e=l.r||t||b,k=l.end-.001;b=l.innerR;t=D(l.open,.001>Math.abs(l.end-l.start-2*Math.PI));var I=Math.cos(d),r=Math.sin(d),E=Math.cos(k),k=Math.sin(k),d=.001>l.end-d-Math.PI?0:1;l=["M",a+m*I,c+e*r,"A",m,e,0,d,D(l.clockwise,1),a+m*E,c+e*k];q(b)&&l.push(t?"M":"L",a+b*E,c+b*k,"A",b,b,0,d,0,a+b*I,c+b*r);l.push(t?"":"Z");return l},callout:function(a,c,b,t,l){var d=
89+Math.min(l&&l.r||0,b,t),m=d+6,e=l&&l.anchorX;l=l&&l.anchorY;var k;k=["M",a+d,c,"L",a+b-d,c,"C",a+b,c,a+b,c,a+b,c+d,"L",a+b,c+t-d,"C",a+b,c+t,a+b,c+t,a+b-d,c+t,"L",a+d,c+t,"C",a,c+t,a,c+t,a,c+t-d,"L",a,c+d,"C",a,c,a,c,a+d,c];e&&e>b?l>c+m&&l<c+t-m?k.splice(13,3,"L",a+b,l-6,a+b+6,l,a+b,l+6,a+b,c+t-d):k.splice(13,3,"L",a+b,t/2,e,l,a+b,t/2,a+b,c+t-d):e&&0>e?l>c+m&&l<c+t-m?k.splice(33,3,"L",a,l+6,a-6,l,a,l-6,a,c+d):k.splice(33,3,"L",a,t/2,e,l,a,t/2,a,c+d):l&&l>t&&e>a+m&&e<a+b-m?k.splice(23,3,"L",e+6,c+
90+t,e,c+t+6,e-6,c+t,a+d,c+t):l&&0>l&&e>a+m&&e<a+b-m&&k.splice(3,3,"L",e-6,c,e,c-6,e+6,c,b-d,c);return k}},clipRect:function(c,b,t,l){var d=a.uniqueKey()+"-",e=this.createElement("clipPath").attr({id:d}).add(this.defs);c=this.rect(c,b,t,l,0).add(e);c.id=d;c.clipPath=e;c.count=0;return c},text:function(a,c,b,t){var l={};if(t&&(this.allowHTML||!this.forExport))return this.html(a,c,b);l.x=Math.round(c||0);b&&(l.y=Math.round(b));q(a)&&(l.text=a);a=this.createElement("text").attr(l);t||(a.xSetter=function(a,
91+c,b){var t=b.getElementsByTagName("tspan"),l,d=b.getAttribute(c),e;for(e=0;e<t.length;e++)l=t[e],l.getAttribute(c)===d&&l.setAttribute(c,a);b.setAttribute(c,a)});return a},fontMetrics:function(a,c){a=!this.styledMode&&/px/.test(a)||!O.getComputedStyle?a||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize:c&&C.prototype.getStyle.call(c,"font-size");a=/px/.test(a)?G(a):12;c=24>a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a,c,b){var t=a;c&&b&&(t=Math.max(t*
92+Math.cos(c*g),4));return{x:-a/3*Math.sin(c*g),y:t}},label:function(b,l,d,m,k,I,r,E,f){var g=this,z=g.styledMode,n=g.g("button"!==f&&"label"),D=n.text=g.text("",0,0,r).attr({zIndex:1}),K,G,B=0,M=3,A=0,h,Q,T,p,O,L={},x,v,u=/^url\((.*?)\)$/.test(m),w=z||u,da=function(){return z?K.strokeWidth()%2/2:(x?parseInt(x,10):0)%2/2},ca,N,y;f&&n.addClass("highcharts-"+f);ca=function(){var a=D.element.style,c={};G=(void 0===h||void 0===Q||O)&&q(D.textStr)&&D.getBBox();n.width=(h||G.width||0)+2*M+A;n.height=(Q||
93+G.height||0)+2*M;v=M+Math.min(g.fontMetrics(a&&a.fontSize,D).b,G?G.height:Infinity);w&&(K||(n.box=K=g.symbols[m]||u?g.symbol(m):g.rect(),K.addClass(("button"===f?"":"highcharts-label-box")+(f?" highcharts-"+f+"-box":"")),K.add(n),a=da(),c.x=a,c.y=(E?-v:0)+a),c.width=Math.round(n.width),c.height=Math.round(n.height),K.attr(e(c,L)),L={})};N=function(){var a=A+M,c;c=E?0:v;q(h)&&G&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(h-G.width));if(a!==D.x||c!==D.y)D.attr("x",a),D.hasBoxWidthChanged&&
94+(G=D.getBBox(!0),ca()),void 0!==c&&D.attr("y",c);D.x=a;D.y=c};y=function(a,c){K?K.attr(a,c):L[a]=c};n.onAdd=function(){D.add(n);n.attr({text:b||0===b?b:"",x:l,y:d});K&&q(k)&&n.attr({anchorX:k,anchorY:I})};n.widthSetter=function(c){h=a.isNumber(c)?c:null};n.heightSetter=function(a){Q=a};n["text-alignSetter"]=function(a){O=a};n.paddingSetter=function(a){q(a)&&a!==M&&(M=n.padding=a,N())};n.paddingLeftSetter=function(a){q(a)&&a!==A&&(A=a,N())};n.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
95+a!==B&&(B=a,G&&n.attr({x:T}))};n.textSetter=function(a){void 0!==a&&D.attr({text:a});ca();N()};n["stroke-widthSetter"]=function(a,c){a&&(w=!0);x=this["stroke-width"]=a;y(c,a)};z?n.rSetter=function(a,c){y(c,a)}:n.strokeSetter=n.fillSetter=n.rSetter=function(a,c){"r"!==c&&("fill"===c&&a&&(w=!0),n[c]=a);y(c,a)};n.anchorXSetter=function(a,c){k=n.anchorX=a;y(c,Math.round(a)-da()-T)};n.anchorYSetter=function(a,c){I=n.anchorY=a;y(c,a-p)};n.xSetter=function(a){n.x=a;B&&(a-=B*((h||G.width)+2*M),n["forceAnimate:x"]=
96+!0);T=Math.round(a);n.attr("translateX",T)};n.ySetter=function(a){p=n.y=Math.round(a);n.attr("translateY",p)};var R=n.css;r={css:function(a){if(a){var b={};a=c(a);n.textProps.forEach(function(c){void 0!==a[c]&&(b[c]=a[c],delete a[c])});D.css(b);"width"in b&&ca();"fontSize"in b&&(ca(),N())}return R.call(n,a)},getBBox:function(){return{width:G.width+2*M,height:G.height+2*M,x:G.x-M,y:G.y-M}},destroy:function(){t(n.element,"mouseenter");t(n.element,"mouseleave");D&&(D=D.destroy());K&&(K=K.destroy());
97+C.prototype.destroy.call(n);n=g=ca=N=y=null}};z||(r.shadow=function(a){a&&(ca(),K&&K.shadow(a));return n});return e(n,r)}});a.Renderer=y});J(H,"parts/Html.js",[H["parts/Globals.js"]],function(a){var C=a.attr,y=a.createElement,F=a.css,p=a.defined,h=a.extend,u=a.isFirefox,v=a.isMS,w=a.isWebKit,x=a.pick,q=a.pInt,g=a.SVGElement,f=a.SVGRenderer,n=a.win;h(g.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,d=x(b&&a.width,void 0),m;b&&(delete a.width,this.textWidth=d,m=!0);
98+a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=h(this.styles,a);F(this.element,a);m&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,d=this.translateX||0,m=this.translateY||0,k=this.x||0,f=this.y||0,g=this.textAlign||"left",n={left:0,center:.5,right:1}[g],r=this.styles,
99+c=r&&r.whiteSpace;F(b,{marginLeft:d,marginTop:m});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){F(a,{marginLeft:d+1,marginTop:m+1})});this.inverted&&[].forEach.call(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var r=this.rotation,l=this.textWidth&&q(this.textWidth),E=[r,g,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=l!==this.oldTextWidth)&&!(D=l>this.oldTextWidth)&&((D=this.textPxLength)||(F(b,{width:"",whiteSpace:c||"nowrap"}),D=b.offsetWidth),D=
100+D>l);D&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(F(b,{width:l+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=l,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;E!==this.cTT&&(c=a.fontMetrics(b.style.fontSize,b).b,!p(r)||r===(this.oldRotation||0)&&g===this.oldAlign||this.setSpanRotation(r,n,c),this.getSpanCorrection(!p(r)&&this.textPxLength||b.offsetWidth,c,n,r,g));F(b,{left:k+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});this.cTT=E;
101+this.oldRotation=r;this.oldAlign=g}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,d){var m={},k=this.renderer.getTransformKey();m[k]=m.transform="rotate("+a+"deg)";m[k+(u?"Origin":"-origin")]=m.transformOrigin=100*b+"% "+d+"px";F(this.element,m)},getSpanCorrection:function(a,b,d){this.xCorr=-a*d;this.yCorr=-b}});h(f.prototype,{getTransformKey:function(){return v&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":w?"-webkit-transform":u?"MozTransform":n.opera?"-o-transform":""},html:function(e,
102+b,d){var m=this.createElement("span"),k=m.element,f=m.renderer,n=f.isSVG,q=function(a,b){["opacity","visibility"].forEach(function(c){a[c+"Setter"]=function(l,d,t){var m=a.div?a.div.style:b;g.prototype[c+"Setter"].call(this,l,d,t);m&&(m[d]=l)}});a.addedSetters=!0},r=a.charts[f.chartIndex],r=r&&r.styledMode;m.textSetter=function(a){a!==k.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;k.innerHTML=x(a,"");m.doTransform=!0};n&&q(m,m.element.style);m.xSetter=m.ySetter=m.alignSetter=
103+m.rotationSetter=function(a,b){"align"===b&&(b="textAlign");m[b]=a;m.doTransform=!0};m.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};m.attr({text:e,x:Math.round(b),y:Math.round(d)}).css({position:"absolute"});r||m.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});k.style.whiteSpace="nowrap";m.css=m.htmlCss;n&&(m.add=function(a){var c,b=f.box.parentNode,d=[];if(this.parentGroup=a){if(c=a.div,!c){for(;a;)d.push(a),a=a.parentGroup;d.reverse().forEach(function(a){function t(c,
104+b){a[b]=c;"translateX"===b?l.left=c+"px":l.top=c+"px";a.doTransform=!0}var l,k=C(a.element,"class");k&&(k={className:k});c=a.div=a.div||y("div",k,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||b);l=c.style;h(a,{classSetter:function(a){return function(c){this.element.setAttribute("class",c);a.className=c}}(c),on:function(){d[0].div&&m.on.apply({element:d[0].div},arguments);return a},
105+translateXSetter:t,translateYSetter:t});a.addedSetters||q(a)})}}else c=b;c.appendChild(k);m.added=!0;m.alignOnAdd&&m.htmlUpdateTransform();return m});return m}})});J(H,"parts/Time.js",[H["parts/Globals.js"]],function(a){var C=a.defined,y=a.extend,F=a.merge,p=a.pick,h=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var h=p(a&&a.useUTC,!0),x=this;this.options=a=F(!0,this.options||{},a);this.Date=a.Date||u.Date||Date;this.timezoneOffset=
106+(this.useUTC=h)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(h&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,g){var f=g.getTime(),n=f-x.getTimezoneOffset(g);g.setTime(n);a=g["getUTC"+a]();g.setTime(f);return a},this.set=function(a,g,f){var n;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===g.getTimezoneOffset()%60)g["set"+a](f);else n=x.getTimezoneOffset(g),n=g.getTime()-n,g.setTime(n),g["setUTC"+a](f),a=x.getTimezoneOffset(g),
107+n=g.getTime()+a,g.setTime(n)}):h?(this.get=function(a,g){return g["getUTC"+a]()},this.set=function(a,g,f){return g["setUTC"+a](f)}):(this.get=function(a,g){return g["get"+a]()},this.set=function(a,g,f){return g["set"+a](f)})},makeTime:function(h,u,x,q,g,f){var n,e,b;this.useUTC?(n=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(n),n+=e,b=this.getTimezoneOffset(n),e!==b?n+=b-e:e-36E5!==this.getTimezoneOffset(n-36E5)||a.isSafari||(n-=36E5)):n=(new this.Date(h,u,p(x,1),p(q,0),p(g,0),p(f,0))).getTime();
108+return n},timezoneOffsetFunction:function(){var h=this,p=this.options,x=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(p.timezone){if(x)return function(a){return 6E4*-x.tz(a,p.timezone).utcOffset()};a.error(25)}return this.useUTC&&p.getTimezoneOffset?function(a){return 6E4*p.getTimezoneOffset(a)}:function(){return 6E4*(h.timezoneOffset||0)}},dateFormat:function(h,p,x){if(!a.defined(p)||isNaN(p))return a.defaultOptions.lang.invalidDate||"";h=a.pick(h,"%Y-%m-%d %H:%M:%S");
109+var q=this,g=new this.Date(p),f=this.get("Hours",g),n=this.get("Day",g),e=this.get("Date",g),b=this.get("Month",g),d=this.get("FullYear",g),m=a.defaultOptions.lang,k=m.weekdays,z=m.shortWeekdays,B=a.pad,g=a.extend({a:z?z[n]:k[n].substr(0,3),A:k[n],d:B(e),e:B(e,2," "),w:n,b:m.shortMonths[b],B:m.months[b],m:B(b+1),o:b+1,y:d.toString().substr(2,2),Y:d,H:B(f),k:f,I:B(f%12||12),l:f%12||12,M:B(q.get("Minutes",g)),p:12>f?"AM":"PM",P:12>f?"am":"pm",S:B(g.getSeconds()),L:B(Math.floor(p%1E3),3)},a.dateFormats);
110+a.objectEach(g,function(a,b){for(;-1!==h.indexOf("%"+b);)h=h.replace("%"+b,"function"===typeof a?a.call(q,p):a)});return x?h.substr(0,1).toUpperCase()+h.substr(1):h},resolveDTLFormat:function(h){return a.isObject(h,!0)?h:(h=a.splat(h),{main:h[0],from:h[1],to:h[2]})},getTimeTicks:function(a,u,x,q){var g=this,f=[],n,e={},b;n=new g.Date(u);var d=a.unitRange,m=a.count||1,k;q=p(q,1);if(C(u)){g.set("Milliseconds",n,d>=h.second?0:m*Math.floor(g.get("Milliseconds",n)/m));d>=h.second&&g.set("Seconds",n,d>=
111+h.minute?0:m*Math.floor(g.get("Seconds",n)/m));d>=h.minute&&g.set("Minutes",n,d>=h.hour?0:m*Math.floor(g.get("Minutes",n)/m));d>=h.hour&&g.set("Hours",n,d>=h.day?0:m*Math.floor(g.get("Hours",n)/m));d>=h.day&&g.set("Date",n,d>=h.month?1:Math.max(1,m*Math.floor(g.get("Date",n)/m)));d>=h.month&&(g.set("Month",n,d>=h.year?0:m*Math.floor(g.get("Month",n)/m)),b=g.get("FullYear",n));d>=h.year&&g.set("FullYear",n,b-b%m);d===h.week&&(b=g.get("Day",n),g.set("Date",n,g.get("Date",n)-b+q+(b<q?-7:0)));b=g.get("FullYear",
112+n);q=g.get("Month",n);var z=g.get("Date",n),B=g.get("Hours",n);u=n.getTime();g.variableTimezone&&(k=x-u>4*h.month||g.getTimezoneOffset(u)!==g.getTimezoneOffset(x));u=n.getTime();for(n=1;u<x;)f.push(u),u=d===h.year?g.makeTime(b+n*m,0):d===h.month?g.makeTime(b,q+n*m):!k||d!==h.day&&d!==h.week?k&&d===h.hour&&1<m?g.makeTime(b,q,z,B+n*m):u+d*m:g.makeTime(b,q,z+n*m*(d===h.day?1:7)),n++;f.push(u);d<=h.hour&&1E4>f.length&&f.forEach(function(a){0===a%18E5&&"000000000"===g.dateFormat("%H%M%S%L",a)&&(e[a]="day")})}f.info=
113+y(a,{higherRanks:e,totalRange:d*m});return f}}});J(H,"parts/Options.js",[H["parts/Globals.js"]],function(a){var C=a.color,y=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
114+weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",
115+plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",
116+textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",
117+second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,
118+style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=y(!0,a.defaultOptions,C);a.time.update(y(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
119+a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,p,h){return a.time.dateFormat(y,p,h)}});J(H,"parts/Tick.js",[H["parts/Globals.js"]],function(a){var C=a.correctFloat,y=a.defined,F=a.destroyObjectProperties,p=a.fireEvent,h=a.isNumber,u=a.merge,v=a.pick,w=a.deg2rad;a.Tick=function(a,q,g,f,n){this.axis=a;this.pos=q;this.type=g||"";this.isNewLabel=this.isNew=!0;this.parameters=n||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
120+this.options=this.parameters.options;g||f||this.addLabel()};a.Tick.prototype={addLabel:function(){var h=this,q=h.axis,g=q.options,f=q.chart,n=q.categories,e=q.names,b=h.pos,d=v(h.options&&h.options.labels,g.labels),m=q.tickPositions,k=b===m[0],z=b===m[m.length-1],n=this.parameters.category||(n?v(n[b],e[b],b):b),B=h.label,m=m.info,A,r,c,l;q.isDatetimeAxis&&m&&(r=f.time.resolveDTLFormat(g.dateTimeLabelFormats[!g.grid&&m.higherRanks[b]||m.unitName]),A=r.main);h.isFirst=k;h.isLast=z;h.formatCtx={axis:q,
121+chart:f,isFirst:k,isLast:z,dateTimeLabelFormat:A,tickPositionInfo:m,value:q.isLog?C(q.lin2log(n)):n,pos:b};g=q.labelFormatter.call(h.formatCtx,this.formatCtx);if(l=r&&r.list)h.shortenLabel=function(){for(c=0;c<l.length;c++)if(B.attr({text:q.labelFormatter.call(a.extend(h.formatCtx,{dateTimeLabelFormat:l[c]}))}),B.getBBox().width<q.getSlotWidth(h)-2*v(d.padding,5))return;B.attr({text:""})};if(y(B))B&&B.textStr!==g&&(!B.textWidth||d.style&&d.style.width||B.styles.width||B.css({width:null}),B.attr({text:g}));
122+else{if(h.label=B=y(g)&&d.enabled?f.renderer.text(g,0,0,d.useHTML).add(q.labelGroup):null)f.styledMode||B.css(u(d.style)),B.textPxLength=B.getBBox().width;h.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var q=this.axis,g=q.options.labels,f=a.x,n=q.chart.chartWidth,e=q.chart.spacing,b=v(q.labelLeft,Math.min(q.pos,e[3])),e=v(q.labelRight,Math.max(q.isRadial?0:q.pos+q.len,n-e[1])),d=this.label,m=this.rotation,
123+k={left:0,center:.5,right:1}[q.labelAlign||d.attr("align")],z=d.getBBox().width,h=q.getSlotWidth(this),A=h,r=1,c,l={};if(m||"justify"!==v(g.overflow,"justify"))0>m&&f-k*z<b?c=Math.round(f/Math.cos(m*w)-b):0<m&&f+k*z>e&&(c=Math.round((n-f)/Math.cos(m*w)));else if(n=f+(1-k)*z,f-k*z<b?A=a.x+A*(1-k)-b:n>e&&(A=e-a.x+A*k,r=-1),A=Math.min(h,A),A<h&&"center"===q.labelAlign&&(a.x+=r*(h-A-k*(h-Math.min(z,A)))),z>A||q.autoRotation&&(d.styles||{}).width)c=A;c&&(this.shortenLabel?this.shortenLabel():(l.width=
124+Math.floor(c),(g.style||{}).textOverflow||(l.textOverflow="ellipsis"),d.css(l)))},getPosition:function(h,q,g,f){var n=this.axis,e=n.chart,b=f&&e.oldChartHeight||e.chartHeight;h={x:h?a.correctFloat(n.translate(q+g,null,null,f)+n.transB):n.left+n.offset+(n.opposite?(f&&e.oldChartWidth||e.chartWidth)-n.right-n.left:0),y:h?b-n.bottom+n.offset-(n.opposite?n.height:0):a.correctFloat(b-n.translate(q+g,null,null,f)-n.transB)};p(this,"afterGetPosition",{pos:h});return h},getLabelPosition:function(a,q,g,f,
125+n,e,b,d){var m=this.axis,k=m.transA,z=m.reversed,h=m.staggerLines,A=m.tickRotCorr||{x:0,y:0},r=n.y,c=f||m.reserveSpaceDefault?0:-m.labelOffset*("center"===m.labelAlign?.5:1),l={};y(r)||(r=0===m.side?g.rotation?-8:-g.getBBox().height:2===m.side?A.y+8:Math.cos(g.rotation*w)*(A.y-g.getBBox(!1,0).height/2));a=a+n.x+c+A.x-(e&&f?e*k*(z?-1:1):0);q=q+r-(e&&!f?e*k*(z?1:-1):0);h&&(g=b/(d||1)%h,m.opposite&&(g=h-g-1),q+=m.labelOffset/h*g);l.x=a;l.y=Math.round(q);p(this,"afterGetLabelPosition",{pos:l,tickmarkOffset:e,
126+index:b});return l},getMarkPath:function(a,q,g,f,n,e){return e.crispLine(["M",a,q,"L",a+(n?0:-g),q+(n?g:0)],f)},renderGridLine:function(a,q,g){var f=this.axis,n=f.options,e=this.gridLine,b={},d=this.pos,m=this.type,k=v(this.tickmarkOffset,f.tickmarkOffset),z=f.chart.renderer,h=m?m+"Grid":"grid",A=n[h+"LineWidth"],r=n[h+"LineColor"],n=n[h+"LineDashStyle"];e||(f.chart.styledMode||(b.stroke=r,b["stroke-width"]=A,n&&(b.dashstyle=n)),m||(b.zIndex=1),a&&(q=0),this.gridLine=e=z.path().attr(b).addClass("highcharts-"+
127+(m?m+"-":"")+"grid-line").add(f.gridGroup));if(e&&(g=f.getPlotLinePath(d+k,e.strokeWidth()*g,a,"pass")))e[a||this.isNew?"attr":"animate"]({d:g,opacity:q})},renderMark:function(a,q,g){var f=this.axis,n=f.options,e=f.chart.renderer,b=this.type,d=b?b+"Tick":"tick",m=f.tickSize(d),k=this.mark,z=!k,h=a.x;a=a.y;var A=v(n[d+"Width"],!b&&f.isXAxis?1:0),n=n[d+"Color"];m&&(f.opposite&&(m[0]=-m[0]),z&&(this.mark=k=e.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||k.attr({stroke:n,
128+"stroke-width":A})),k[z?"attr":"animate"]({d:this.getMarkPath(h,a,m[0],k.strokeWidth()*g,f.horiz,e),opacity:q}))},renderLabel:function(a,q,g,f){var n=this.axis,e=n.horiz,b=n.options,d=this.label,m=b.labels,k=m.step,n=v(this.tickmarkOffset,n.tickmarkOffset),z=!0,B=a.x;a=a.y;d&&h(B)&&(d.xy=a=this.getLabelPosition(B,a,d,e,m,n,f,k),this.isFirst&&!this.isLast&&!v(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(b.showLastLabel,1)?z=!1:!e||m.step||m.rotation||q||0===g||this.handleOverflow(a),k&&f%k&&
129+(z=!1),z&&h(a.y)?(a.opacity=g,d[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(d.attr("y",-9999),this.isNewLabel=!0))},render:function(h,q,g){var f=this.axis,n=f.horiz,e=this.pos,b=v(this.tickmarkOffset,f.tickmarkOffset),e=this.getPosition(n,e,b,q),b=e.x,d=e.y,f=n&&b===f.pos+f.len||!n&&d===f.pos?-1:1;g=v(g,1);this.isActive=!0;this.renderGridLine(q,g,f);this.renderMark(e,g,f);this.renderLabel(e,q,g,h);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){F(this,this.axis)}}});
130+J(H,"parts/Axis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animObject,F=a.arrayMax,p=a.arrayMin,h=a.color,u=a.correctFloat,v=a.defaultOptions,w=a.defined,x=a.deg2rad,q=a.destroyObjectProperties,g=a.extend,f=a.fireEvent,n=a.format,e=a.getMagnitude,b=a.isArray,d=a.isNumber,m=a.isString,k=a.merge,z=a.normalizeTickInterval,B=a.objectEach,A=a.pick,r=a.removeEvent,c=a.seriesTypes,l=a.splat,E=a.syncTimeout,D=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
131+range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
132+style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
133+textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(a,c){var b=c.isX,t=this;t.chart=a;t.horiz=a.inverted&&!t.isZAxis?!b:b;t.isXAxis=b;t.coll=t.coll||(b?"xAxis":"yAxis");f(this,"init",{userOptions:c});
134+t.opposite=c.opposite;t.side=c.side||(t.horiz?t.opposite?0:2:t.opposite?1:3);t.setOptions(c);var d=this.options,m=d.type;t.labelFormatter=d.labels.formatter||t.defaultLabelFormatter;t.userOptions=c;t.minPixelPadding=0;t.reversed=d.reversed;t.visible=!1!==d.visible;t.zoomEnabled=!1!==d.zoomEnabled;t.hasNames="category"===m||!0===d.categories;t.categories=d.categories||t.hasNames;t.names||(t.names=[],t.names.keys={});t.plotLinesAndBandsGroups={};t.isLog="logarithmic"===m;t.isDatetimeAxis="datetime"===
135+m;t.positiveValuesOnly=t.isLog&&!t.allowNegativeLog;t.isLinked=w(d.linkedTo);t.ticks={};t.labelEdge=[];t.minorTicks={};t.plotLinesAndBands=[];t.alternateBands={};t.len=0;t.minRange=t.userMinRange=d.minRange||d.maxZoom;t.range=d.range;t.offset=d.offset||0;t.stacks={};t.oldStacks={};t.stacksTouched=0;t.max=null;t.min=null;t.crosshair=A(d.crosshair,l(a.options.tooltip.crosshairs)[b?0:1],!1);c=t.options.events;-1===a.axes.indexOf(t)&&(b?a.axes.splice(a.xAxis.length,0,t):a.axes.push(t),a[t.coll].push(t));
136+t.series=t.series||[];a.inverted&&!t.isZAxis&&b&&void 0===t.reversed&&(t.reversed=!0);B(c,function(a,c){C(t,c,a)});t.lin2log=d.linearToLogConverter||t.lin2log;t.isLog&&(t.val2lin=t.log2lin,t.lin2val=t.lin2log);f(this,"afterInit")},setOptions:function(a){this.options=k(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],k(v[this.coll],a));f(this,"afterSetOptions",
137+{userOptions:a})},defaultLabelFormatter:function(){var c=this.axis,b=this.value,l=c.chart.time,d=c.categories,m=this.dateTimeLabelFormat,k=v.lang,e=k.numericSymbols,k=k.numericSymbolMagnitude||1E3,r=e&&e.length,f,E=c.options.labels.format,c=c.isLog?Math.abs(b):c.tickInterval;if(E)f=n(E,this,l);else if(d)f=b;else if(m)f=l.dateFormat(m,b);else if(r&&1E3<=c)for(;r--&&void 0===f;)l=Math.pow(k,r+1),c>=l&&0===10*b%l&&null!==e[r]&&0!==b&&(f=a.numberFormat(b/l,-1)+e[r]);void 0===f&&(f=1E4<=Math.abs(b)?a.numberFormat(b,
138+-1):a.numberFormat(b,-1,void 0,""));return f},getSeriesExtremes:function(){var a=this,c=a.chart,b;f(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(t){if(t.visible||!c.options.chart.ignoreHiddenSeries){var l=t.options,m=l.threshold,k,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=m&&(m=null);if(a.isXAxis)l=t.xData,l.length&&(b=t.getXExtremes(l),k=b.min,e=b.max,
139+d(k)||k instanceof Date||(l=l.filter(d),b=t.getXExtremes(l),k=b.min,e=b.max),l.length&&(a.dataMin=Math.min(A(a.dataMin,k),k),a.dataMax=Math.max(A(a.dataMax,e),e)));else if(t.getExtremes(),e=t.dataMax,k=t.dataMin,w(k)&&w(e)&&(a.dataMin=Math.min(A(a.dataMin,k),k),a.dataMax=Math.max(A(a.dataMax,e),e)),w(m)&&(a.threshold=m),!l.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});f(this,"afterGetSeriesExtremes")},translate:function(a,c,b,l,k,m){var t=this.linkedParent||this,e=1,I=0,r=l?t.oldTransA:
140+t.transA;l=l?t.oldMin:t.min;var f=t.minPixelPadding;k=(t.isOrdinal||t.isBroken||t.isLog&&k)&&t.lin2val;r||(r=t.transA);b&&(e*=-1,I=t.len);t.reversed&&(e*=-1,I-=e*(t.sector||t.len));c?(a=(a*e+I-f)/r+l,k&&(a=t.lin2val(a))):(k&&(a=t.val2lin(a)),a=d(l)?e*(a-l)*r+I+e*f+(d(m)?r*m:0):void 0);return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a-(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,c,b,l,
141+k){var t=this,m=t.chart,e=t.left,I=t.top,r,E,g,n,z=b&&m.oldChartHeight||m.chartHeight,D=b&&m.oldChartWidth||m.chartWidth,G,q=t.transB,h,K=function(a,c,b){if("pass"!==l&&a<c||a>b)l?a=Math.min(Math.max(c,a),b):G=!0;return a};h={value:a,lineWidth:c,old:b,force:l,translatedValue:k};f(this,"getPlotLinePath",h,function(f){k=A(k,t.translate(a,null,null,b));k=Math.min(Math.max(-1E5,k),1E5);r=g=Math.round(k+q);E=n=Math.round(z-k-q);d(k)?t.horiz?(E=I,n=z-t.bottom,r=g=K(r,e,e+t.width)):(r=e,g=D-t.right,E=n=
142+K(E,I,I+t.height)):(G=!0,l=!1);f.path=G&&!l?null:m.renderer.crispLine(["M",r,E,"L",g,n],c||1)});return h.path},getLinearTickPositions:function(a,c,b){var t,l=u(Math.floor(c/a)*a);b=u(Math.ceil(b/a)*a);var d=[],k;u(l+a)===l&&(k=20);if(this.single)return[c];for(c=l;c<=b;){d.push(c);c=u(c+a,k);if(c===t)break;t=c}return d},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?A(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=
143+this,c=a.options,b=a.tickPositions,l=a.minorTickInterval,d=[],k=a.pointRangePadding||0,m=a.min-k,k=a.max+k,e=k-m;if(e&&e/l<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(c,b,t){b&&d.push.apply(d,a.getLogTickPositions(l,t[b-1],t[b],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())d=d.concat(a.getTimeTicks(a.normalizeTimeTickInterval(l),m,k,c.startOfWeek));else for(c=m+(b[0]-m)%l;c<=k&&c!==d[0];c+=l)d.push(c);0!==d.length&&a.trimTicks(d);return d},adjustForMinRange:function(){var a=
144+this.options,c=this.min,b=this.max,l,d,k,m,e,r,f,E;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(w(a.min)||w(a.max)?this.minRange=null:(this.series.forEach(function(a){r=a.xData;for(m=f=a.xIncrement?1:r.length-1;0<m;m--)if(e=r[m]-r[m-1],void 0===k||e<k)k=e}),this.minRange=Math.min(5*k,this.dataMax-this.dataMin)));b-c<this.minRange&&(d=this.dataMax-this.dataMin>=this.minRange,E=this.minRange,l=(E-b+c)/2,l=[c-l,A(a.min,c-l)],d&&(l[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),c=F(l),
145+b=[c+E,A(a.max,c+E)],d&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=p(b),b-c<E&&(l[0]=b-E,l[1]=A(a.min,b-E),c=F(l)));this.min=c;this.max=b},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(c){var b=c.closestPointRange,t=c.visible||!c.chart.options.chart.ignoreHiddenSeries;!c.noSharedTooltip&&w(b)&&t&&(a=w(a)?Math.min(a,b):b)});return a},nameToX:function(a){var c=b(this.categories),t=c?this.categories:this.names,l=a.options.x,d;a.series.requireSorting=!1;
146+w(l)||(l=!1===this.options.uniqueNames?a.series.autoIncrement():c?t.indexOf(a.name):A(t.keys[a.name],-1));-1===l?c||(d=t.length):d=l;void 0!==d&&(this.names[d]=a.name,this.names.keys[a.name]=d);return d},updateNames:function(){var a=this,c=this.names;0<c.length&&(Object.keys(c.keys).forEach(function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(c){c.xIncrement=null;if(!c.points||c.isDirtyData)a.max=Math.max(a.max,c.xData.length-1),c.processData(),
147+c.generatePoints();c.data.forEach(function(b,t){var l;b&&b.options&&void 0!==b.name&&(l=a.nameToX(b),void 0!==l&&l!==b.x&&(b.x=l,c.xData[t]=l))})}))},setAxisTranslation:function(a){var b=this,t=b.max-b.min,l=b.axisPointRange||0,d,k=0,e=0,r=b.linkedParent,E=!!b.categories,g=b.transA,n=b.isXAxis;if(n||E||l)d=b.getClosest(),r?(k=r.minPointOffset,e=r.pointRangePadding):b.series.forEach(function(a){var t=E?1:n?A(a.options.pointRange,d,0):b.axisPointRange||0,r=a.options.pointPlacement;l=Math.max(l,t);if(!b.single||
148+E)a=c.xrange&&a instanceof c.xrange?!n:n,k=Math.max(k,a&&m(r)?0:t/2),e=Math.max(e,a&&"on"===r?0:t)}),r=b.ordinalSlope&&d?b.ordinalSlope/d:1,b.minPointOffset=k*=r,b.pointRangePadding=e*=r,b.pointRange=Math.min(l,t),n&&(b.closestPointRange=d);a&&(b.oldTransA=g);b.translationSlope=b.transA=g=b.staticScale||b.len/(t+e||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=g*k;f(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(c){var b=this,
149+t=b.chart,l=b.options,k=b.isLog,m=b.isDatetimeAxis,r=b.isXAxis,E=b.isLinked,g=l.maxPadding,n=l.minPadding,D,G=l.tickInterval,q=l.tickPixelInterval,h=b.categories,B=d(b.threshold)?b.threshold:null,p=b.softThreshold,v,x,y;m||h||E||this.getTickAmount();x=A(b.userMin,l.min);y=A(b.userMax,l.max);E?(b.linkedParent=t[b.coll][l.linkedTo],D=b.linkedParent.getExtremes(),b.min=A(D.min,D.dataMin),b.max=A(D.max,D.dataMax),l.type!==b.linkedParent.options.type&&a.error(11,1,t)):(!p&&w(B)&&(b.dataMin>=B?(D=B,n=0):
150+b.dataMax<=B&&(v=B,g=0)),b.min=A(x,D,b.dataMin),b.max=A(y,v,b.dataMax));k&&(b.positiveValuesOnly&&!c&&0>=Math.min(b.min,A(b.dataMin,b.min))&&a.error(10,1,t),b.min=u(b.log2lin(b.min),15),b.max=u(b.log2lin(b.max),15));b.range&&w(b.max)&&(b.userMin=b.min=x=Math.max(b.dataMin,b.minFromRange()),b.userMax=y=b.max,b.range=null);f(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(h||b.axisPointRange||b.usePercentage||E)&&w(b.min)&&w(b.max)&&(t=b.max-b.min)&&(!w(x)&&n&&(b.min-=
151+t*n),!w(y)&&g&&(b.max+=t*g));d(l.softMin)&&!d(b.userMin)&&l.softMin<b.min&&(b.min=x=l.softMin);d(l.softMax)&&!d(b.userMax)&&l.softMax>b.max&&(b.max=y=l.softMax);d(l.floor)&&(b.min=Math.min(Math.max(b.min,l.floor),Number.MAX_VALUE));d(l.ceiling)&&(b.max=Math.max(Math.min(b.max,l.ceiling),A(b.userMax,-Number.MAX_VALUE)));p&&w(b.dataMin)&&(B=B||0,!w(x)&&b.min<B&&b.dataMin>=B?b.min=b.options.minRange?Math.min(B,b.max-b.minRange):B:!w(y)&&b.max>B&&b.dataMax<=B&&(b.max=b.options.minRange?Math.max(B,b.min+
152+b.minRange):B));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:E&&!G&&q===b.linkedParent.options.tickPixelInterval?G=b.linkedParent.tickInterval:A(G,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,h?1:(b.max-b.min)*q/Math.max(b.len,q));r&&!c&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));
153+b.pointRange&&!G&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));c=A(l.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!G&&b.tickInterval<c&&(b.tickInterval=c);m||k||G||(b.tickInterval=z(b.tickInterval,null,e(b.tickInterval),A(l.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var c=this.options,b,l=c.tickPositions;b=this.getMinorTickInterval();
154+var d=c.tickPositioner,k=c.startOnTick,m=c.endOnTick;this.tickmarkOffset=this.categories&&"between"===c.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&w(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==c.allowDecimals);this.tickPositions=b=l&&l.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,
155+!1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,c.units),this.min,this.max,c.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.paddedTicks=
156+b.slice(0);this.trimTicks(b,k,m);this.isLinked||(this.single&&2>b.length&&!this.categories&&(this.min-=.5,this.max+=.5),l||d||this.adjustTickAmount());f(this,"afterSetTickPositions")},trimTicks:function(a,c,b){var l=a[0],t=a[a.length-1],d=this.minPointOffset||0;f(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==l)this.min=l;else for(;this.min-d>a[0];)a.shift();if(b)this.max=t;else for(;this.max+d<a[a.length-1];)a.pop();0===a.length&&w(l)&&!this.options.tickPositions&&a.push((t+l)/2)}},alignToOthers:function(){var a=
157+{},c,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.isLog||this.chart[this.coll].forEach(function(b){var l=b.options,l=[b.horiz?l.left:l.top,l.width,l.height,l.pane].join();b.series.length&&(a[l]?c=!0:a[l]=1)});return c},getTickAmount:function(){var a=this.options,c=a.tickAmount,b=a.tickPixelInterval;!w(a.tickInterval)&&this.len<b&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(c=2);!c&&this.alignToOthers()&&(c=Math.ceil(this.len/
158+b)+1);4>c&&(this.finalTickAmt=c,c=5);this.tickAmount=c},adjustTickAmount:function(){var a=this.options,c=this.tickInterval,b=this.tickPositions,l=this.tickAmount,d=this.finalTickAmt,k=b&&b.length,m=A(this.threshold,this.softThreshold?0:null),e;if(this.hasData()){if(k<l){for(e=this.min;b.length<l;)b.length%2||e===m?b.push(u(b[b.length-1]+c)):b.unshift(u(b[0]-c));this.transA*=(k-1)/(l-1);this.min=a.startOnTick?b[0]:Math.min(this.min,b[0]);this.max=a.endOnTick?b[b.length-1]:Math.max(this.max,b[b.length-
159+1])}else k>l&&(this.tickInterval*=2,this.setTickPositions());if(w(d)){for(c=a=b.length;c--;)(3===d&&1===c%2||2>=d&&0<c&&c<a-1)&&b.splice(c,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||a.isDirty||a.xAxis.isDirty}),c;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(c=this.len!==this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||
160+this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=c||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();f(this,"afterSetScale")},setExtremes:function(a,c,b,l,d){var t=this,k=t.chart;b=A(b,!0);t.series.forEach(function(a){delete a.kdTree});d=g(d,{min:a,max:c});f(t,"setExtremes",d,function(){t.userMin=a;
161+t.userMax=c;t.eventArgs=d;b&&k.redraw(l)})},zoom:function(a,c){var b=this.dataMin,l=this.dataMax,t=this.options,d=Math.min(b,A(t.min,b)),k=Math.max(l,A(t.max,l));a={newMin:a,newMax:c};f(this,"zoom",a,function(a){var c=a.newMin,t=a.newMax;if(c!==this.min||t!==this.max)this.allowZoomOutside||(w(b)&&(c<d&&(c=d),c>k&&(c=k)),w(l)&&(t<d&&(t=d),t>k&&(t=k))),this.displayBtn=void 0!==c||void 0!==t,this.setExtremes(c,t,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var c=
162+this.chart,b=this.options,l=b.offsets||[0,0,0,0],d=this.horiz,k=this.width=Math.round(a.relativeLength(A(b.width,c.plotWidth-l[3]+l[1]),c.plotWidth)),m=this.height=Math.round(a.relativeLength(A(b.height,c.plotHeight-l[0]+l[2]),c.plotHeight)),e=this.top=Math.round(a.relativeLength(A(b.top,c.plotTop+l[0]),c.plotHeight,c.plotTop)),b=this.left=Math.round(a.relativeLength(A(b.left,c.plotLeft+l[3]),c.plotWidth,c.plotLeft));this.bottom=c.chartHeight-m-e;this.right=c.chartWidth-k-b;this.len=Math.max(d?k:
163+m,0);this.pos=d?b:e},getExtremes:function(){var a=this.isLog;return{min:a?u(this.lin2log(this.min)):this.min,max:a?u(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var c=this.isLog,b=c?this.lin2log(this.min):this.min,c=c?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=c:b>a?a=b:c<a&&(a=c);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var c=(A(a,0)-90*this.side+
164+720)%360;a={align:"center"};f(this,"autoLabelAlign",a,function(a){15<c&&165>c?a.align="right":195<c&&345>c&&(a.align="left")});return a.align},tickSize:function(a){var c=this.options,b=c[a+"Length"],l=A(c[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),t;l&&b&&("inside"===c[a+"Position"]&&(b=-b),t=[b,l]);a={tickSize:t};f(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&
165+this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,c=this.horiz,b=this.tickInterval,l=b,d=this.len/(((this.categories?1:0)+this.max-this.min)/b),k,m=a.rotation,e=this.labelMetrics(),r,E=Number.MAX_VALUE,f,g=this.max-this.min,n=function(a){var c=a/(d||1),c=1<c?Math.ceil(c):1;c*b>g&&Infinity!==a&&Infinity!==d&&(c=Math.ceil(g/b));return u(c*b)};c?(f=!a.staggerLines&&!a.step&&(w(m)?[m]:d<A(a.autoRotationLimit,80)&&a.autoRotation))&&f.forEach(function(a){var c;
166+if(a===m||a&&-90<=a&&90>=a)r=n(Math.abs(e.h/Math.sin(x*a))),c=r+Math.abs(a/360),c<E&&(E=c,k=a,l=r)}):a.step||(l=n(e.h));this.autoRotation=f;this.labelRotation=A(k,m);return l},getSlotWidth:function(a){var c=this.chart,b=this.horiz,l=this.options.labels,d=Math.max(this.tickPositions.length-(this.categories?0:1),1),t=c.margin[3];return a&&a.slotWidth||b&&2>(l.step||0)&&!l.rotation&&(this.staggerLines||1)*this.len/d||!b&&(l.style&&parseInt(l.style.width,10)||t&&t-c.spacing[3]||.33*c.chartWidth)},renderUnsquish:function(){var a=
167+this.chart,c=a.renderer,b=this.tickPositions,l=this.ticks,d=this.options.labels,k=d&&d.style||{},e=this.horiz,r=this.getSlotWidth(),E=Math.max(1,Math.round(r-2*(d.padding||5))),f={},g=this.labelMetrics(),n=d.style&&d.style.textOverflow,z,D,G=0,q;m(d.rotation)||(f.rotation=d.rotation||0);b.forEach(function(a){(a=l[a])&&a.label&&a.label.textPxLength>G&&(G=a.label.textPxLength)});this.maxLabelLength=G;if(this.autoRotation)G>E&&G>g.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(z=E,
168+!n))for(D="clip",E=b.length;!e&&E--;)if(q=b[E],q=l[q].label)q.styles&&"ellipsis"===q.styles.textOverflow?q.css({textOverflow:"clip"}):q.textPxLength>r&&q.css({width:r+"px"}),q.getBBox().height>this.len/b.length-(g.h-g.f)&&(q.specificTextOverflow="ellipsis");f.rotation&&(z=G>.5*a.chartHeight?.33*a.chartHeight:G,n||(D="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;b.forEach(function(a){var c=(a=l[a])&&a.label,b=k.width,d={};c&&(c.attr(f),a.shortenLabel?
169+a.shortenLabel():z&&!b&&"nowrap"!==k.whiteSpace&&(z<c.textPxLength||"SPAN"===c.element.tagName)?(d.width=z,n||(d.textOverflow=c.specificTextOverflow||D),c.css(d)):c.styles&&c.styles.width&&!d.width&&!b&&c.css({width:null}),delete c.specificTextOverflow,a.rotation=f.rotation)},this);this.tickRotCorr=c.rotCorr(g.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&w(this.min)&&w(this.max)},addTitle:function(a){var c=
170+this.chart.renderer,b=this.horiz,l=this.opposite,d=this.options.title,t,m=this.chart.styledMode;this.axisTitle||((t=d.textAlign)||(t=(b?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[d.align]),this.axisTitle=c.text(d.text,0,0,d.useHTML).attr({zIndex:7,rotation:d.rotation||0,align:t}).addClass("highcharts-axis-title"),m||this.axisTitle.css(k(d.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);m||d.style.width||this.isRadial||
171+this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var c=this.ticks;c[a]?c[a].addLabel():c[a]=new D(this,a)},getOffset:function(){var a=this,c=a.chart,b=c.renderer,l=a.options,d=a.tickPositions,k=a.ticks,m=a.horiz,e=a.side,r=c.inverted&&!a.isZAxis?[1,0,3,2][e]:e,E,g,n=0,z,D=0,G=l.title,q=l.labels,h=0,p=c.axisOffset,c=c.clipOffset,u=[-1,1,1,-1][e],v=l.className,x=a.axisParent;E=a.hasData();a.showAxis=g=E||A(l.showEmpty,!0);a.staggerLines=a.horiz&&q.staggerLines;
172+a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:l.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(v||"")).add(x),a.axisGroup=b.g("axis").attr({zIndex:l.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(v||"")).add(x),a.labelGroup=b.g("axis-labels").attr({zIndex:q.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(v||"")).add(x));E||a.isLinked?(d.forEach(function(c,b){a.generateTick(c,b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===e||2===
173+e||{1:"left",3:"right"}[e]===a.labelAlign,A(q.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&d.forEach(function(a){h=Math.max(k[a].getLabelSize(),h)}),a.staggerLines&&(h*=a.staggerLines),a.labelOffset=h*(a.opposite?-1:1)):B(k,function(a,c){a.destroy();delete k[c]});G&&G.text&&!1!==G.enabled&&(a.addTitle(g),g&&!1!==G.reserveSpace&&(a.titleOffset=n=a.axisTitle.getBBox()[m?"height":"width"],z=G.offset,D=w(z)?0:A(G.margin,m?5:10)));a.renderLine();a.offset=u*A(l.offset,p[e]?p[e]+
174+(l.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===e?-a.labelMetrics().h:2===e?a.tickRotCorr.y:0;D=Math.abs(h)+D;h&&(D=D-b+u*(m?A(q.y,a.tickRotCorr.y+8*u):q.x));a.axisTitleMargin=A(z,D);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(k,d));m=this.tickSize("tick");p[e]=Math.max(p[e],a.axisTitleMargin+n+u*a.offset,D,d&&d.length&&m?m[0]+u*a.offset:0);l=l.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);c[r]=Math.max(c[r],l);f(this,"afterGetOffset")},getLinePath:function(a){var c=
175+this.chart,b=this.opposite,l=this.offset,d=this.horiz,k=this.left+(b?this.width:0)+l,l=c.chartHeight-this.bottom-(b?this.height:0)+l;b&&(a*=-1);return c.renderer.crispLine(["M",d?this.left:k,d?l:this.top,"L",d?c.chartWidth-this.right:k,d?l:c.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,
176+zIndex:7}))},getTitlePosition:function(){var a=this.horiz,c=this.left,b=this.top,l=this.len,d=this.options.title,k=a?c:b,m=this.opposite,e=this.offset,r=d.x||0,E=d.y||0,g=this.axisTitle,n=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,g),g=Math.max(g.getBBox(null,0).height-n.h-1,0),l={low:k+(a?0:l),middle:k+l/2,high:k+(a?l:0)}[d.align],c=(a?b+this.height:c)+(a?1:-1)*(m?-1:1)*this.axisTitleMargin+[-g,g,n.f,-g][this.side],a={x:a?l+r:c+(m?this.width:0)+e+r,y:a?c+E-(m?this.height:0)+e:l+E};
177+f(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var c=this.chart.hasRendered&&d(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new D(this,a,"minor"));c&&b[a].isNew&&b[a].render(null,!0);b[a].render(null,!1,1)},renderTick:function(a,c){var b=this.isLinked,l=this.ticks,k=this.chart.hasRendered&&d(this.oldMin);if(!b||a>=this.min&&a<=this.max)l[a]||(l[a]=new D(this,a)),k&&l[a].isNew&&l[a].render(c,!0,-1),l[a].render(c)},render:function(){var c=this,b=c.chart,l=c.options,
178+k=c.isLog,m=c.isLinked,e=c.tickPositions,r=c.axisTitle,g=c.ticks,n=c.minorTicks,z=c.alternateBands,G=l.stackLabels,q=l.alternateGridColor,h=c.tickmarkOffset,A=c.axisLine,p=c.showAxis,u=y(b.renderer.globalAnimation),v,x;c.labelEdge.length=0;c.overlap=!1;[g,n,z].forEach(function(a){B(a,function(a){a.isActive=!1})});if(c.hasData()||m)c.minorTickInterval&&!c.categories&&c.getMinorTickPositions().forEach(function(a){c.renderMinorTick(a)}),e.length&&(e.forEach(function(a,b){c.renderTick(a,b)}),h&&(0===
179+c.min||c.single)&&(g[-1]||(g[-1]=new D(c,-1,null,!0)),g[-1].render(-1))),q&&e.forEach(function(l,d){x=void 0!==e[d+1]?e[d+1]+h:c.max-h;0===d%2&&l<c.max&&x<=c.max+(b.polar?-h:h)&&(z[l]||(z[l]=new a.PlotLineOrBand(c)),v=l+h,z[l].options={from:k?c.lin2log(v):v,to:k?c.lin2log(x):x,color:q},z[l].render(),z[l].isActive=!0)}),c._addedPlotLB||((l.plotLines||[]).concat(l.plotBands||[]).forEach(function(a){c.addPlotBandOrLine(a)}),c._addedPlotLB=!0);[g,n,z].forEach(function(a){var c,l=[],d=u.duration;B(a,function(a,
180+c){a.isActive||(a.render(c,!1,0),a.isActive=!1,l.push(c))});E(function(){for(c=l.length;c--;)a[l[c]]&&!a[l[c]].isActive&&(a[l[c]].destroy(),delete a[l[c]])},a!==z&&b.hasRendered&&d?d:0)});A&&(A[A.isPlaced?"animate":"attr"]({d:this.getLinePath(A.strokeWidth())}),A.isPlaced=!0,A[p?"show":"hide"](!0));r&&p&&(l=c.getTitlePosition(),d(l.y)?(r[r.isNew?"attr":"animate"](l),r.isNew=!1):(r.attr("y",-9999),r.isNew=!0));G&&G.enabled&&c.renderStackTotals();c.isDirty=!1;f(this,"afterRender")},redraw:function(){this.visible&&
181+(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var c=this,b=c.stacks,l=c.plotLinesAndBands,d;f(this,"destroy",{keepEvents:a});a||r(c);B(b,function(a,c){q(a);b[c]=null});[c.ticks,c.minorTicks,c.alternateBands].forEach(function(a){q(a)});if(l)for(a=l.length;a--;)l[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){c[a]&&
182+(c[a]=c[a].destroy())});for(d in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[d]=c.plotLinesAndBandsGroups[d].destroy();B(c,function(a,b){-1===c.keepProps.indexOf(b)&&delete c[b]})},drawCrosshair:function(a,c){var b,l=this.crosshair,d=A(l.snap,!0),k,m=this.cross;f(this,"drawCrosshair",{e:a,point:c});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(w(c)||!d)){d?w(c)&&(k=A(c.crosshairPos,this.isXAxis?c.plotX:this.len-c.plotY)):k=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);
183+w(k)&&(b=this.getPlotLinePath(c&&(this.isXAxis?c.x:A(c.stackY,c.y)),null,null,null,k)||null);if(!w(b)){this.hideCrosshair();return}d=this.categories&&!this.isRadial;m||(this.cross=m=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(d?"category ":"thin ")+l.className).attr({zIndex:A(l.zIndex,2)}).add(),this.chart.styledMode||(m.attr({stroke:l.color||(d?h("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":A(l.width,1)}).css({"pointer-events":"none"}),l.dashStyle&&
184+m.attr({dashstyle:l.dashStyle})));m.show().attr({d:b});d&&!l.width&&m.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();f(this,"afterDrawCrosshair",{e:a,point:c})},hideCrosshair:function(){this.cross&&this.cross.hide();f(this,"afterHideCrosshair")}});return a.Axis=G});J(H,"parts/DateTimeAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.getMagnitude,F=a.normalizeTickInterval,p=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,
185+arguments)};C.prototype.normalizeTimeTickInterval=function(a,u){var h=u||[["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]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];u=h[h.length-1];var w=p[u[0]],x=u[1],q;for(q=0;q<h.length&&!(u=h[q],w=p[u[0]],x=u[1],h[q+1]&&a<=(w*x[x.length-1]+p[h[q+1][0]])/2);q++);w===p.year&&a<5*w&&(x=[1,2,5]);a=F(a/w,x,"year"===u[0]?Math.max(y(a/w),1):1);return{unitRange:w,
186+count:a,unitName:u[0]}}});J(H,"parts/LogarithmicAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.getMagnitude,F=a.normalizeTickInterval,p=a.pick;C.prototype.getLogTickPositions=function(a,u,v,w){var h=this.options,q=this.len,g=[];w||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),g=this.getLinearTickPositions(a,u,v);else if(.08<=a)for(var q=Math.floor(u),f,n,e,b,d,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];q<v+1&&!d;q++)for(n=h.length,f=0;f<n&&!d;f++)e=this.log2lin(this.lin2log(q)*
187+h[f]),e>u&&(!w||b<=v)&&void 0!==b&&g.push(b),b>v&&(d=!0),b=e;else u=this.lin2log(u),v=this.lin2log(v),a=w?this.getMinorTickInterval():h.tickInterval,a=p("auto"===a?null:a,this._minorAutoInterval,h.tickPixelInterval/(w?5:1)*(v-u)/((w?q/this.tickPositions.length:q)||1)),a=F(a,null,y(a)),g=this.getLinearTickPositions(a,u,v).map(this.log2lin),w||(this._minorAutoInterval=a/5);w||(this.tickInterval=a);return g};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,
188+a)}});J(H,"parts/PlotLineOrBand.js",[H["parts/Globals.js"],H["parts/Axis.js"]],function(a,C){var y=a.arrayMax,F=a.arrayMin,p=a.defined,h=a.destroyObjectProperties,u=a.erase,v=a.merge,w=a.pick;a.PlotLineOrBand=function(a,q){this.axis=a;q&&(this.options=q,this.id=q.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var h=this,q=h.axis,g=q.horiz,f=h.options,n=f.label,e=h.label,b=f.to,d=f.from,m=f.value,k=p(d)&&p(b),z=p(m),B=h.svgElem,A=!B,r=[],c=f.color,l=w(f.zIndex,0),E=f.events,
189+r={"class":"highcharts-plot-"+(k?"band ":"line ")+(f.className||"")},D={},G=q.chart.renderer,t=k?"bands":"lines";q.isLog&&(d=q.log2lin(d),b=q.log2lin(b),m=q.log2lin(m));q.chart.styledMode||(z?(r.stroke=c,r["stroke-width"]=f.width,f.dashStyle&&(r.dashstyle=f.dashStyle)):k&&(c&&(r.fill=c),f.borderWidth&&(r.stroke=f.borderColor,r["stroke-width"]=f.borderWidth)));D.zIndex=l;t+="-"+l;(c=q.plotLinesAndBandsGroups[t])||(q.plotLinesAndBandsGroups[t]=c=G.g("plot-"+t).attr(D).add());A&&(h.svgElem=B=G.path().attr(r).add(c));
190+if(z)r=q.getPlotLinePath(m,B.strokeWidth());else if(k)r=q.getPlotBandPath(d,b,f);else return;(A||!B.d)&&r&&r.length?(B.attr({d:r}),E&&a.objectEach(E,function(a,c){B.on(c,function(a){E[c].apply(h,[a])})})):B&&(r?(B.show(!0),B.animate({d:r})):B.d&&(B.hide(),e&&(h.label=e=e.destroy())));n&&p(n.text)&&r&&r.length&&0<q.width&&0<q.height&&!r.isFlat?(n=v({align:g&&k&&"center",x:g?!k&&4:10,verticalAlign:!g&&k&&"middle",y:g?k?16:10:k?6:-4,rotation:g&&!k&&90},n),this.renderLabel(n,r,k,l)):e&&e.hide();return h},
191+renderLabel:function(a,q,g,f){var n=this.label,e=this.axis.chart.renderer;n||(n={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(g?"band":"line")+"-label "+(a.className||"")},n.zIndex=f,this.label=n=e.text(a.text,0,0,a.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(a.style));f=q.xBounds||[q[1],q[4],g?q[6]:q[1]];q=q.yBounds||[q[2],q[5],g?q[7]:q[2]];g=F(f);e=F(q);n.align(a,!1,{x:g,y:e,width:y(f)-g,height:y(q)-e});n.show(!0)},destroy:function(){u(this.axis.plotLinesAndBands,
192+this);delete this.axis;h(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,q){var g=this.getPlotLinePath(q,null,null,!0),f=this.getPlotLinePath(a,null,null,!0),n=[],e=this.horiz,b=1,d;a=a<this.min&&q<this.min||a>this.max&&q>this.max;if(f&&g)for(a&&(d=f.toString()===g.toString(),b=0),a=0;a<f.length;a+=6)e&&g[a+1]===f[a+1]?(g[a+1]+=b,g[a+4]+=b):e||g[a+2]!==f[a+2]||(g[a+2]+=b,g[a+5]+=b),n.push("M",f[a+1],f[a+2],"L",f[a+4],f[a+5],g[a+4],g[a+5],g[a+1],g[a+2],"z"),n.isFlat=d;return n},addPlotBand:function(a){return this.addPlotBandOrLine(a,
193+"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(h,q){var g=(new a.PlotLineOrBand(this,h)).render(),f=this.userOptions;g&&(q&&(f[q]=f[q]||[],f[q].push(h)),this.plotLinesAndBands.push(g));return g},removePlotBandOrLine:function(a){for(var q=this.plotLinesAndBands,g=this.options,f=this.userOptions,n=q.length;n--;)q[n].id===a&&q[n].destroy();[g.plotLines||[],f.plotLines||[],g.plotBands||[],f.plotBands||[]].forEach(function(e){for(n=e.length;n--;)e[n].id===
194+a&&u(e,e[n])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})});J(H,"parts/Tooltip.js",[H["parts/Globals.js"]],function(a){var C=a.doc,y=a.extend,F=a.format,p=a.isNumber,h=a.merge,u=a.pick,v=a.splat,w=a.syncTimeout,x=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,g){this.chart=a;this.options=g;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=g.split&&!a.inverted;
195+this.shared=g.shared||this.split;this.outside=g.outside&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(g){var f=g&&g.tt;f&&(!f.isActive||a?g.tt=f.destroy():f.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},
196+{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var q=this,g=this.chart.renderer,f=this.chart.styledMode,n=this.options,e,b;this.label||(this.outside&&(this.container=e=a.doc.createElement("div"),e.className="highcharts-tooltip-container",a.css(e,{position:"absolute",top:"1px",pointerEvents:n.style&&
197+n.style.pointerEvents}),a.doc.body.appendChild(e),this.renderer=g=new a.Renderer(e,0,0)),this.split?this.label=g.g("tooltip"):(this.label=g.label("",0,0,n.shape||"callout",null,null,n.useHTML,null,"tooltip").attr({padding:n.padding,r:n.borderRadius}),f||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth}).css(n.style).shadow(n.shadow)),f&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(b={x:this.label.xSetter,y:this.label.ySetter},
198+this.label.xSetter=function(a,m){b[m].call(this.label,q.distance);e.style.left=a+"px"},this.label.ySetter=function(a,m){b[m].call(this.label,q.distance);e.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();h(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&
199+(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(q,g,f,n){var e=this,b=e.now,d=!1!==e.options.animation&&!e.isHidden&&(1<Math.abs(q-b.x)||1<Math.abs(g-b.y)),m=e.followPointer||1<e.len;y(b,{x:d?(2*b.x+q)/3:q,y:d?(b.y+g)/2:g,anchorX:m?void 0:d?(2*b.anchorX+f)/3:f,anchorY:m?void 0:d?(b.anchorY+n)/2:n});e.getLabel().attr(b);d&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&
200+e.move(q,g,f,n)},32))},hide:function(q){var g=this;a.clearTimeout(this.hideTimer);q=u(q,this.options.hideDelay,500);this.isHidden||(this.hideTimer=w(function(){g.getLabel()[q?"fadeOut":"hide"]();g.isHidden=!0},q))},getAnchor:function(a,g){var f=this.chart,n=f.pointer,e=f.inverted,b=f.plotTop,d=f.plotLeft,m=0,k=0,z,h;a=v(a);this.followPointer&&g?(void 0===g.chartX&&(g=n.normalize(g)),a=[g.chartX-f.plotLeft,g.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){z=a.series.yAxis;h=a.series.xAxis;
201+m+=a.plotX+(!e&&h?h.left-d:0);k+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&z?z.top-b:0)}),m/=a.length,k/=a.length,a=[e?f.plotWidth-k:m,this.shared&&!e&&1<a.length&&g?g.chartY-b:e?f.plotHeight-m:k]);return a.map(Math.round)},getPosition:function(a,g,f){var n=this.chart,e=this.distance,b={},d=n.inverted&&f.h||0,m,k=this.outside,z=k?C.documentElement.clientWidth-2*e:n.chartWidth,h=k?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,
202+C.documentElement.clientHeight):n.chartHeight,q=n.pointer.chartPosition,r=["y",h,g,(k?q.top-e:0)+f.plotY+n.plotTop,k?0:n.plotTop,k?h:n.plotTop+n.plotHeight],c=["x",z,a,(k?q.left-e:0)+f.plotX+n.plotLeft,k?0:n.plotLeft,k?z:n.plotLeft+n.plotWidth],l=!this.followPointer&&u(f.ttBelow,!n.inverted===!!f.negative),E=function(a,c,k,m,t,r){var E=k<m-e,f=m+e+k<c,g=m-e-k;m+=e;if(l&&f)b[a]=m;else if(!l&&E)b[a]=g;else if(E)b[a]=Math.min(r-k,0>g-d?g:g-d);else if(f)b[a]=Math.max(t,m+d+k>c?m:m+d);else return!1},D=
203+function(a,c,l,d){var k;d<e||d>c-e?k=!1:b[a]=d<l/2?1:d>c-l/2?c-l-2:d-l/2;return k},G=function(a){var b=r;r=c;c=b;m=a},t=function(){!1!==E.apply(0,r)?!1!==D.apply(0,c)||m||(G(!0),t()):m?b.x=b.y=0:(G(!0),t())};(n.inverted||1<this.len)&&G();t();return b},defaultFormatter:function(a){var g=this.points||v(this),f;f=[a.tooltipFooterHeaderFormatter(g[0])];f=f.concat(a.bodyFormatter(g));f.push(a.tooltipFooterHeaderFormatter(g[0],!0));return f},refresh:function(h,g){var f=this.chart,n=this.options,e,b=h,d,
204+m={},k,z=[];k=n.formatter||this.defaultFormatter;var m=this.shared,q=f.styledMode,A=[];n.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=v(b)[0].series.tooltipOptions.followPointer,d=this.getAnchor(b,g),g=d[0],e=d[1],!m||b.series&&b.series.noSharedTooltip?m=b.getLabelConfig():(A=f.pointer.getActiveSeries(b),f.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===A.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");z.push(a.getLabelConfig())}),
205+m={x:b[0].category,y:b[0].y},m.points=z,b=b[0]),this.len=z.length,k=k.call(m,this),m=b.series,this.distance=u(m.tooltipOptions.distance,16),!1===k?this.hide():(f=this.getLabel(),this.isHidden&&f.attr({opacity:1}).show(),this.split?this.renderSplit(k,v(h)):(n.style.width&&!q||f.css({width:this.chart.spacingBox.width}),f.attr({text:k&&k.join?k.join(""):k}),f.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(b.colorIndex,m.colorIndex)),q||f.attr({stroke:n.borderColor||b.color||m.color||
206+"#666666"}),this.updatePosition({plotX:g,plotY:e,negative:b.negative,ttBelow:b.ttBelow,h:d[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(h,g){var f=this,n=[],e=this.chart,b=e.renderer,d=!0,m=this.options,k=0,z,q=this.getLabel(),A=e.plotTop;a.isString(h)&&(h=[!1,h]);h.slice(0,g.length+1).forEach(function(a,c){if(!1!==a&&""!==a){c=g[c-1]||{isHeader:!0,plotX:g[0].plotX,plotY:e.plotHeight};var l=c.series||f,r=l.tt,D=c.series||{},G="highcharts-color-"+u(c.colorIndex,D.colorIndex,
207+"none");r||(r={padding:m.padding,r:m.borderRadius},e.styledMode||(r.fill=m.backgroundColor,r.stroke=m.borderColor||c.color||D.color||"#333333",r["stroke-width"]=m.borderWidth),l.tt=r=b.label(null,null,null,(c.isHeader?m.headerShape:m.shape)||"callout",null,null,m.useHTML).addClass("highcharts-tooltip-box "+G).attr(r).add(q));r.isActive=!0;r.attr({text:a});e.styledMode||r.css(m.style).shadow(m.shadow);a=r.getBBox();D=a.width+r.strokeWidth();c.isHeader?(k=a.height,e.xAxis[0].opposite&&(z=!0,A-=k),D=
208+Math.max(0,Math.min(c.plotX+e.plotLeft-D/2,e.chartWidth+(e.scrollablePixels?e.scrollablePixels-e.marginRight:0)-D))):D=c.plotX+e.plotLeft-u(m.distance,16)-D;0>D&&(d=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=A;c.isHeader&&(a=z?-k:e.plotHeight+k);n.push({target:a,rank:c.isHeader?1:0,size:l.tt.getBBox().height+1,point:c,x:D,tt:r})}});this.cleanSplit();m.positioner&&n.forEach(function(a){var c=m.positioner.call(f,a.tt.getBBox().width,a.size,a.point);a.x=c.x;a.align=0;a.target=
209+c.y;a.rank=u(c.rank,a.rank)});a.distribute(n,e.plotHeight+k);n.forEach(function(a){var c=a.point,b=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:d||c.isHeader||m.positioner?a.x:c.plotX+e.plotLeft+f.distance,y:a.pos+A,anchorX:c.isHeader?c.plotX+e.plotLeft:c.plotX+b.xAxis.pos,anchorY:c.isHeader?e.plotTop+e.plotHeight/2:c.plotY+b.yAxis.pos})})},updatePosition:function(a){var g=this.chart,f=this.getLabel(),n=(this.options.positioner||this.getPosition).call(this,f.width,f.height,a),
210+e=a.plotX+g.plotLeft;a=a.plotY+g.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(f.width+b,f.height+b,!1),e+=g.pointer.chartPosition.left-n.x,a+=g.pointer.chartPosition.top-n.y);this.move(Math.round(n.x),Math.round(n.y||0),e,a)},getDateFormat:function(a,g,f,n){var e=this.chart.time,b=e.dateFormat("%m-%d %H:%M:%S.%L",g),d,m,k={millisecond:15,second:12,minute:9,hour:6,day:3},z="millisecond";for(m in x){if(a===x.week&&+e.dateFormat("%w",g)===f&&"00:00:00.000"===
211+b.substr(6)){m="week";break}if(x[m]>a){m=z;break}if(k[m]&&b.substr(k[m])!=="01-01 00:00:00.000".substr(k[m]))break;"week"!==m&&(z=m)}m&&(d=e.resolveDTLFormat(n[m]).main);return d},getXDateFormat:function(a,g,f){g=g.dateTimeLabelFormats;var n=f&&f.closestPointRange;return(n?this.getDateFormat(n,a.x,f.options.startOfWeek,g):g.day)||g.year},tooltipFooterHeaderFormatter:function(h,g){var f=g?"footer":"header",n=h.series,e=n.tooltipOptions,b=e.xDateFormat,d=n.xAxis,m=d&&"datetime"===d.options.type&&p(h.key),
212+k=e[f+"Format"];g={isFooter:g,labelConfig:h};a.fireEvent(this,"headerFormatter",g,function(a){m&&!b&&(b=this.getXDateFormat(h,e,d));m&&b&&(h.point&&h.point.tooltipDateKeys||["key"]).forEach(function(a){k=k.replace("{point."+a+"}","{point."+a+":"+b+"}")});n.chart.styledMode&&(k=this.styledModeFormat(k));a.text=F(k,{point:h,series:n},this.chart.time)});return g.text},bodyFormatter:function(a){return a.map(function(a){var f=a.series.tooltipOptions;return(f[(a.point.formatPrefix||"point")+"Formatter"]||
213+a.point.tooltipFormatter).call(a.point,f[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"','class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});J(H,"parts/Pointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.attr,F=a.charts,p=a.color,h=a.css,u=a.defined,v=a.extend,w=a.find,x=a.fireEvent,q=a.isNumber,g=a.isObject,f=a.offset,n=a.pick,
214+e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,m){this.options=m;this.chart=a;this.runChartClick=m.chart.events&&!!m.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,m.tooltip),this.followTouchMove=n(m.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart,e=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=n(d.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=
215+e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=a||e},normalize:function(a,b){var d;d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=f(this.chart.container));return v(a,{chartX:Math.round(d.pageX-b.left),chartY:Math.round(d.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},
216+findNearestKDPoint:function(a,b,k){var d;a.forEach(function(a){var e=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(k,e);if((e=g(a,!0))&&!(e=!g(d,!0)))var e=d.distX-a.distX,m=d.dist-a.dist,c=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex),e=0<(0!==e&&b?e:0!==m?m:0!==c?c:d.series.index>a.series.index?-1:1);e&&(d=a)});return d},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,
217+b){var d=a.series,e=d.xAxis,d=d.yAxis,m=n(a.clientX,a.plotX),f=a.shapeArgs;if(e&&d)return b?{chartX:e.len+e.pos-m,chartY:d.len+d.pos-a.plotY}:{chartX:m+e.pos,chartY:a.plotY+d.pos};if(f&&f.x&&f.y)return{chartX:f.x,chartY:f.y}},getHoverData:function(a,b,k,e,f,h){var d,c=[];e=!(!e||!a);var l=b&&!b.stickyTracking?[b]:k.filter(function(a){return a.visible&&!(!f&&a.directTouch)&&n(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(d=e?a:this.findNearestKDPoint(l,f,h))&&d.series;d&&(f&&!b.noSharedTooltip?
218+(l=k.filter(function(a){return a.visible&&!(!f&&a.directTouch)&&n(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),l.forEach(function(a){var b=w(a.points,function(a){return a.x===d.x&&!a.isNull});g(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),c.push(b))})):c.push(d));return{hoverPoint:d,hoverSeries:b,hoverPoints:c}},runPointActions:function(b,e){var d=this.chart,m=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,f=m?m.shared:!1,g=e||d.hoverPoint,r=g&&g.series||d.hoverSeries,r=this.getHoverData(g,
219+r,d.series,"touchmove"!==b.type&&(!!e||r&&r.directTouch&&this.isDirectTouch),f,b),c=[],l,g=r.hoverPoint;l=r.hoverPoints;e=(r=r.hoverSeries)&&r.tooltipOptions.followPointer;f=f&&r&&!r.noSharedTooltip;if(g&&(g!==d.hoverPoint||m&&m.isHidden)){(d.hoverPoints||[]).forEach(function(a){-1===l.indexOf(a)&&a.setState()});if(d.hoverSeries!==r)r.onMouseOver();c=this.getActiveSeries(l);d.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===c.indexOf(a))&&a.setState("inactive",!0)});(l||[]).forEach(function(a){a.setState("hover")});
220+d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;g.firePointEvent("mouseOver");d.hoverPoints=l;d.hoverPoint=g;m&&m.refresh(f?l:g,b)}else e&&m&&!m.isHidden&&(g=m.getAnchor([{}],b),m.updatePosition({plotX:g[0],plotY:g[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,"mousemove",function(c){var b=F[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(c)}));d.axes.forEach(function(c){var d=n(c.crosshair.snap,!0),e=d?a.find(l,function(a){return a.series[c.coll]===
221+c}):void 0;e||!d?c.drawCrosshair(b,e):c.hideCrosshair()})},getActiveSeries:function(a){var b=[],d;(a||[]).forEach(function(a){d=a.series;b.push(d);d.linkedParent&&b.push(d.linkedParent);d.linkedSeries&&(b=b.concat(d.linkedSeries));d.navigatorSeries&&b.push(d.navigatorSeries)});return b},reset:function(a,b){var d=this.chart,m=d.hoverSeries,f=d.hoverPoint,g=d.hoverPoints,r=d.tooltip,c=r&&r.shared?g:f;a&&c&&e(c).forEach(function(c){c.series.isCartesian&&void 0===c.plotX&&(a=!1)});if(a)r&&c&&e(c).length&&
222+(r.refresh(c),r.shared&&g?g.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):f&&(f.setState(f.state,!0),d.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();g&&g.forEach(function(a){a.setState()});if(m)m.onMouseOut();r&&r.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());d.axes.forEach(function(a){a.hideCrosshair()});
223+this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,b){var d=this.chart,e;d.series.forEach(function(m){e=a||m.getPlotBox();m.xAxis&&m.xAxis.zoomEnabled&&m.group&&(m.group.attr(e),m.markerGroup&&(m.markerGroup.attr(e),m.markerGroup.clip(b?d.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(e))});d.clipRect.attr(b||d.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},
224+drag:function(a){var b=this.chart,d=b.options.chart,e=a.chartX,f=a.chartY,g=this.zoomHor,r=this.zoomVert,c=b.plotLeft,l=b.plotTop,E=b.plotWidth,n=b.plotHeight,h,t=this.selectionMarker,q=this.mouseDownX,u=this.mouseDownY,v=d.panKey&&a[d.panKey+"Key"];t&&t.touch||(e<c?e=c:e>c+E&&(e=c+E),f<l?f=l:f>l+n&&(f=l+n),this.hasDragged=Math.sqrt(Math.pow(q-e,2)+Math.pow(u-f,2)),10<this.hasDragged&&(h=b.isInsidePlot(q-c,u-l),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&h&&!v&&!t&&(this.selectionMarker=t=b.renderer.rect(c,
225+l,g?1:E,r?1:n,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||t.attr({fill:d.selectionMarkerFill||p("#335cad").setOpacity(.25).get()})),t&&g&&(e-=q,t.attr({width:Math.abs(e),x:(0<e?0:e)+q})),t&&r&&(e=f-u,t.attr({height:Math.abs(e),y:(0<e?0:e)+u})),h&&!t&&d.panning&&b.pan(a,d.panning)))},drop:function(a){var b=this,d=this.chart,e=this.hasPinched;if(this.selectionMarker){var f={originalEvent:a,xAxis:[],yAxis:[]},g=this.selectionMarker,r=g.attr?g.attr("x"):g.x,c=g.attr?
226+g.attr("y"):g.y,l=g.attr?g.attr("width"):g.width,E=g.attr?g.attr("height"):g.height,n;if(this.hasDragged||e)d.axes.forEach(function(d){if(d.zoomEnabled&&u(d.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[d.coll]])){var m=d.horiz,k="touchend"===a.type?d.minPixelPadding:0,g=d.toValue((m?r:c)+k),m=d.toValue((m?r+l:c+E)-k);f[d.coll].push({axis:d,min:Math.min(g,m),max:Math.max(g,m)});n=!0}}),n&&x(d,"selection",f,function(a){d.zoom(v(a,e?{animation:!1}:null))});q(d.index)&&(this.selectionMarker=this.selectionMarker.destroy());
227+e&&this.scaleGroups()}d&&q(d.index)&&(h(d.container,{cursor:d._cursor}),d.cancelClick=10<this.hasDragged,d.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){F[a.hoverChartIndex]&&F[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,d=this.chartPosition;a=this.normalize(a,d);!d||
228+this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var d=F[a.hoverChartIndex];d&&(b.relatedTarget||b.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=null)},onContainerMouseMove:function(b){var d=this.chart;u(a.hoverChartIndex)&&F[a.hoverChartIndex]&&F[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=d.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===d.mouseIsDown&&
229+this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop)||d.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var d;a;){if(d=y(a,"class")){if(-1!==d.indexOf(b))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,
230+"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,d=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(d&&this.inClass(a.target,"highcharts-tracker")?(x(d.series,"click",v(a,{point:d})),b.hoverPoint&&d.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-f)&&x(b,"click",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,k=e.ownerDocument;e.onmousedown=
231+function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=C(e,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(k,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(k,"touchend",b.onDocumentTouchEnd)))},
232+destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,d){b[d]=null})}}});J(H,"parts/TouchPointer.js",[H["parts/Globals.js"]],function(a){var C=a.charts,y=a.extend,F=a.noop,p=a.pick;y(a.Pointer.prototype,{pinchTranslate:function(a,
233+p,v,w,x,q){this.zoomHor&&this.pinchTranslateDirection(!0,a,p,v,w,x,q);this.zoomVert&&this.pinchTranslateDirection(!1,a,p,v,w,x,q)},pinchTranslateDirection:function(a,p,v,w,x,q,g,f){var n=this.chart,e=a?"x":"y",b=a?"X":"Y",d="chart"+b,m=a?"width":"height",k=n["plot"+(a?"Left":"Top")],h,B,A=f||1,r=n.inverted,c=n.bounds[a?"h":"v"],l=1===p.length,E=p[0][d],D=v[0][d],G=!l&&p[1][d],t=!l&&v[1][d],I;v=function(){!l&&20<Math.abs(E-G)&&(A=f||Math.abs(D-t)/Math.abs(E-G));B=(k-D)/A+E;h=n["plot"+(a?"Width":"Height")]/
234+A};v();p=B;p<c.min?(p=c.min,I=!0):p+h>c.max&&(p=c.max-h,I=!0);I?(D-=.8*(D-g[e][0]),l||(t-=.8*(t-g[e][1])),v()):g[e]=[D,t];r||(q[e]=B-k,q[m]=h);q=r?1/A:A;x[m]=h;x[e]=p;w[r?a?"scaleY":"scaleX":"scale"+b]=A;w["translate"+b]=q*k+(D-q*E)},pinch:function(a){var h=this,v=h.chart,w=h.pinchDown,x=a.touches,q=x.length,g=h.lastValidTouch,f=h.hasZoom,n=h.selectionMarker,e={},b=1===q&&(h.inClass(a.target,"highcharts-tracker")&&v.runTrackerClick||h.runChartClick),d={};1<q&&(h.initiated=!0);f&&h.initiated&&!b&&
235+a.preventDefault();[].map.call(x,function(a){return h.normalize(a)});"touchstart"===a.type?([].forEach.call(x,function(a,b){w[b]={chartX:a.chartX,chartY:a.chartY}}),g.x=[w[0].chartX,w[1]&&w[1].chartX],g.y=[w[0].chartY,w[1]&&w[1].chartY],v.axes.forEach(function(a){if(a.zoomEnabled){var b=v.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(p(a.options.min,a.dataMin)),m=a.toPixels(p(a.options.max,a.dataMax)),f=Math.max(e,m);b.min=Math.min(a.pos,Math.min(e,m)-d);b.max=Math.max(a.pos+a.len,f+d)}}),
236+h.res=!0):h.followTouchMove&&1===q?this.runPointActions(h.normalize(a)):w.length&&(n||(h.selectionMarker=n=y({destroy:F,touch:!0},v.plotBox)),h.pinchTranslate(w,x,e,n,d,g),h.hasPinched=f,h.scaleGroups(e,d),h.res&&(h.res=!1,this.reset(!1,0)))},touch:function(h,u){var v=this.chart,w,x;if(v.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=v.index;1===h.touches.length?(h=this.normalize(h),(x=v.isInsidePlot(h.chartX-v.plotLeft,h.chartY-v.plotTop))&&!v.openMenu?
237+(u&&this.runPointActions(h),"touchmove"===h.type&&(u=this.pinchDown,w=u[0]?4<=Math.sqrt(Math.pow(u[0].chartX-h.chartX,2)+Math.pow(u[0].chartY-h.chartY,2)):!1),p(w,!0)&&this.pinch(h)):u&&this.reset()):2===h.touches.length&&this.pinch(h)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(h){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(h)}})});J(H,"parts/MSPointer.js",[H["parts/Globals.js"]],function(a){var C=
238+a.addEvent,y=a.charts,F=a.css,p=a.doc,h=a.extend,u=a.noop,v=a.Pointer,w=a.removeEvent,x=a.win,q=a.wrap;if(!a.hasTouch&&(x.PointerEvent||x.MSPointerEvent)){var g={},f=!!x.PointerEvent,n=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(g,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},e=function(b,d,e,k){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(k(b),k=y[a.hoverChartIndex].pointer,k[d]({type:e,target:b.currentTarget,
239+preventDefault:u,touches:n()}))};h(v.prototype,{onContainerPointerDown:function(a){e(a,"onContainerTouchStart","touchstart",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){e(a,"onContainerTouchMove","touchmove",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){e(a,"onDocumentTouchEnd","touchend",function(a){delete g[a.pointerId]})},
240+batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(p,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});q(v.prototype,"init",function(a,d,e){a.call(this,d,e);this.hasZoom&&F(d.container,{"-ms-touch-action":"none","touch-action":"none"})});q(v.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});
241+q(v.prototype,"destroy",function(a){this.batchMSEvents(w);a.call(this)})}});J(H,"parts/Legend.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.css,F=a.discardElement,p=a.defined,h=a.fireEvent,u=a.isFirefox,v=a.marginNames,w=a.merge,x=a.pick,q=a.setAnimation,g=a.stableSort,f=a.win,n=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),
242+this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=x(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=w(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=x(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&
243+!this.chart.inverted},update:function(a,b){var d=this.chart;this.setOptions(w(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;x(b,!0)&&d.redraw();h(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var d=this.options,e=a.legendItem,k=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,d=b?d.itemStyle.color:g,n=b?a.color||g:g,r=a.options&&a.options.marker,c={fill:n};e&&e.css({fill:d,
244+color:d});k&&k.attr({stroke:n});f&&(r&&f.isMarker&&(c=a.pointAttribs(),b||(c.stroke=c.fill=g)),f.attr(c))}h(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,k=e[0],e=e[1],f=a.checkbox;if((a=a.legendGroup)&&a.element)a[p(a.translateY)?"animate":"attr"]({translateX:b?k:this.legendWidth-k-2*d-4,
245+translateY:e});f&&(f.x=k,f.y=e)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&F(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,
246+b,d=this.clipHeight||this.legendHeight,m=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(e){var k=e.checkbox,f;k&&(f=b+m+k.y+(this.scrollOffset||0)+3,y(k,{left:a.translateX+e.checkboxOffset+k.x-20+"px",top:f+"px",display:this.proximate||f>b-6&&f<b+d-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,d=a.title,m=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),
247+this.chart.styledMode||this.title.css(d.style),this.title.add(this.group)),d.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),m=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:m}));this.titleHeight=m},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},renderItem:function(a){var b=this.chart,d=b.renderer,e=this.options,k=this.symbolWidth,f=e.symbolPadding,
248+g=this.itemStyle,n=this.itemHiddenStyle,r="horizontal"===e.layout?x(e.itemDistance,20):0,c=!e.rtl,l=a.legendItem,E=!a.series,D=!E&&a.series.drawLegendSymbol?a.series:a,h=D.options,h=this.createCheckboxForItem&&h&&h.showCheckbox,r=k+f+r+(h?20:0),t=e.useHTML,q=a.options.className;l||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+a.colorIndex+(q?" "+q:"")+(E?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=l=d.text("",
249+c?k+f:-f,this.baseline||0,t),b.styledMode||l.css(w(a.visible?g:n)),l.attr({align:c?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=d.fontMetrics(b.styledMode?12:g.fontSize,l),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,l.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,D.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,l,t));h&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&
250+g.width||l.css({width:(e.itemWidth||this.widthOption||b.spacingBox.width)-r});this.setText(a);b=l.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+r;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,d=this.padding,e="horizontal"===b.layout,k=a.itemHeight,f=b.itemMarginBottom||0,g=this.itemMarginTop,
251+n=e?x(b.itemDistance,20):0,r=this.maxLegendWidth,b=b.alignColumns&&this.totalItemWidth>r?this.maxItemWidth:a.itemWidth;e&&this.itemX-d+b>r&&(this.itemX=d,this.lastLineHeight&&(this.itemY+=g+this.lastLineHeight+f),this.lastLineHeight=0);this.lastItemY=g+this.itemY+f;this.lastLineHeight=Math.max(k,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=g+k+f,this.lastLineHeight=k);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-d-(a.checkbox?0:n):b)+d,this.offsetWidth)},
252+getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var d=b&&b.options;b&&x(d.showInLegend,p(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?b.data:b)))});h(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var d=this.chart,e=this.options,k=this.getAlignment(),
253+f=void 0!==d.options.title.margin?d.titleOffset+d.options.title.margin:0;k&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(m,g){m.test(k)&&!p(a[g])&&(d[v[g]]=Math.max(d[v[g]],d.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+x(e.margin,12)+b[g]+(0===g&&(0===d.titleOffset?0:f))))})},proximatePositions:function(){var e=this.chart,b=[],d="left"===this.options.align;this.allItems.forEach(function(f){var k,m;m=d;var g;f.yAxis&&f.points&&(f.xAxis.options.reversed&&
254+(m=!m),k=a.find(m?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),m=f.legendGroup.getBBox().height,g=f.yAxis.top-e.plotTop,f.visible?(k=k?k.plotY:f.yAxis.height,k+=g-.3*m):k=g+f.yAxis.height,b.push({target:k,size:m,item:f}))},this);a.distribute(b,e.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var e=this.chart,b=e.renderer,d=this.group,f,k,n,q=this.box,p=this.options,r=this.padding;this.itemX=r;this.itemY=
255+this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(p.width,e.spacingBox.width-r);f=e.spacingBox.width-2*r-p.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(f/=2);this.maxLegendWidth=this.widthOption||f;d||(this.group=d=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(d),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();f=this.getAllItems();g(f,function(a,b){return(a.options&&a.options.legendIndex||0)-
256+(b.options&&b.options.legendIndex||0)});p.reversed&&f.reverse();this.allItems=f;this.display=k=!!f.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f.forEach(this.renderItem,this);f.forEach(this.layoutItem,this);f=(this.widthOption||this.offsetWidth)+r;n=this.lastItemY+this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=r;q||(this.box=q=b.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(d),q.isNew=!0);e.styledMode||q.attr({stroke:p.borderColor,
257+"stroke-width":p.borderWidth||0,fill:p.backgroundColor||"none"}).shadow(p.shadow);0<f&&0<n&&(q[q.isNew?"attr":"animate"](q.crisp.call({},{x:0,y:0,width:f,height:n},q.strokeWidth())),q.isNew=!1);q[k?"show":"hide"]();e.styledMode&&"none"===d.getStyle("display")&&(f=n=0);this.legendWidth=f;this.legendHeight=n;k&&(b=e.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(q=b.y+e.titleOffset,b=w(b,{y:0<e.titleOffset?q+=e.options.title.margin:q})),d.align(w(p,{width:f,height:n,verticalAlign:this.proximate?
258+"top":p.verticalAlign}),!0,b));this.proximate||this.positionItems();h(this,"afterRender")},handleOverflow:function(a){var b=this,d=this.chart,e=d.renderer,k=this.options,f=k.y,g=this.padding,f=d.spacingBox.height+("top"===k.verticalAlign?-f:f)-g,n=k.maxHeight,r,c=this.clipRect,l=k.navigation,E=x(l.animation,!0),D=l.arrowSize||12,h=this.nav,t=this.pages,q,p=this.allItems,u=function(a){"number"===typeof a?c.attr({height:a}):c&&(b.clipRect=c.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=
259+a?"rect("+g+"px,9999px,"+(g+a)+"px,0)":"auto")},K=function(a){b[a]=e.circle(0,0,1.3*D).translate(D/2,D/2).add(h);d.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]};"horizontal"!==k.layout||"middle"===k.verticalAlign||k.floating||(f/=2);n&&(f=Math.min(f,n));t.length=0;a>f&&!1!==l.enabled?(this.clipHeight=r=Math.max(f-20-this.titleHeight-g,0),this.currentPage=x(this.currentPage,1),this.fullHeight=a,p.forEach(function(a,c){var b=a._legendItemPos[1],l=Math.round(a.legendItem.getBBox().height),
260+d=t.length;if(!d||b-t[d-1]>r&&(q||b)!==t[d-1])t.push(q||b),d++;a.pageIx=d-1;q&&(p[c-1].pageIx=d-1);c===p.length-1&&b+l-t[d-1]>r&&b!==q&&(t.push(b),a.pageIx=d);b!==q&&(q=b)}),c||(c=b.clipRect=e.clipRect(0,g,9999,0),b.contentGroup.clip(c)),u(r),h||(this.nav=h=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,D,D).add(h),K("upTracker").on("click",function(){b.scroll(-1,E)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),d.styledMode||this.pager.css(l.style),
261+this.pager.add(h),this.down=e.symbol("triangle-down",0,0,D,D).add(h),K("downTracker").on("click",function(){b.scroll(1,E)})),b.scroll(0),a=f):h&&(u(),this.nav=h.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var d=this.pages,e=d.length,k=this.currentPage+a;a=this.clipHeight;var f=this.options.navigation,g=this.pager,n=this.padding;k>e&&(k=e);0<k&&(void 0!==b&&q(b,this.chart),this.nav.attr({translateX:n,translateY:a+this.padding+7+this.titleHeight,
262+visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===k?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),g.attr({text:k+"/"+e}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":k===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===k?f.inactiveColor:f.activeColor}),this.upTracker.css({cursor:1===k?"default":"pointer"}),this.down.attr({fill:k===
263+e?f.inactiveColor:f.activeColor}),this.downTracker.css({cursor:k===e?"default":"pointer"})),this.scrollOffset=-d[k-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=k,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var d=a.symbolHeight,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-d)/2:0,a.baseline-d+1,e?d:a.symbolWidth,d,x(a.options.symbolRadius,d/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},
264+drawLineMarker:function(a){var b=this.options,d=b.marker,e=a.symbolWidth,k=a.symbolHeight,f=k/2,g=this.chart.renderer,n=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var r={};this.chart.styledMode||(r={"stroke-width":b.lineWidth||0},b.dashStyle&&(r.dashstyle=b.dashStyle));this.legendLine=g.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(r).add(n);d&&!1!==d.enabled&&e&&(b=Math.min(x(d.radius,f),f),0===this.symbol.indexOf("url")&&(d=w(d,{width:k,height:k}),b=0),this.legendSymbol=
265+d=g.symbol(this.symbol,e/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(n),d.isMarker=!0)}};(/Trident\/7\.0/.test(f.navigator&&f.navigator.userAgent)||u)&&n(a.Legend.prototype,"positionItem",function(a,b){var d=this,e=function(){b._legendItemPos&&a.call(d,b)};e();d.bubbleLegend||setTimeout(e)})});J(H,"parts/Chart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animate,F=a.animObject,p=a.attr,h=a.doc,u=a.Axis,v=a.createElement,w=a.defaultOptions,x=a.discardElement,q=a.charts,g=a.css,
266+f=a.defined,n=a.extend,e=a.find,b=a.fireEvent,d=a.isNumber,m=a.isObject,k=a.isString,z=a.Legend,B=a.marginNames,A=a.merge,r=a.objectEach,c=a.Pointer,l=a.pick,E=a.pInt,D=a.removeEvent,G=a.seriesTypes,t=a.splat,I=a.syncTimeout,M=a.win,Q=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,c,b){return new Q(a,c,b)};n(Q.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(k(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,
267+l){var d,e=c.series,f=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;d=A(w,c);r(d.plotOptions,function(a,c){m(a)&&(a.tooltip=f[c]&&A(f[c].tooltip)||void 0)});d.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;d.series=c.series=e;this.userOptions=c;var k=d.chart,t=k.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=l;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.time=c.time&&
268+Object.keys(c.time).length?new a.Time(c.time):a.time;this.styledMode=k.styledMode;this.hasCartesianSeries=k.showAxes;var g=this;g.index=q.length;q.push(g);a.chartCount++;t&&r(t,function(a,c){C(g,c,a)});g.xAxis=[];g.yAxis=[];g.pointCount=g.colorCounter=g.symbolCounter=0;b(g,"afterInit");g.firstRender()})},initSeries:function(c){var b=this.options.chart;(b=G[c.type||b.type||b.defaultSeriesType])||a.error(17,!0,this);b=new b;b.init(this,c);return b},orderSeries:function(a){var c=this.series;for(a=a||
269+0;a<c.length;a++)c[a]&&(c[a].index=a,c[a].name=c[a].getName())},isInsidePlot:function(a,c,b){var l=b?c:a;a=b?a:c;return 0<=l&&l<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,"beforeRedraw");var l=this.axes,d=this.series,e=this.pointer,f=this.legend,k=this.userOptions.legend,t=this.isDirtyLegend,g,r,m=this.hasCartesianSeries,E=this.isDirtyBox,h,D=this.renderer,q=D.isHidden(),G=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);q&&this.temporaryDisplay();this.layOutTitles();
270+for(c=d.length;c--;)if(h=d[c],h.options.stacking&&(g=!0,h.isDirty)){r=!0;break}if(r)for(c=d.length;c--;)h=d[c],h.options.stacking&&(h.isDirty=!0);d.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),t=!0):k&&(k.labelFormatter||k.labelFormat)&&(t=!0));a.isDirtyData&&b(a,"updatedData")});t&&f&&f.options.enabled&&(f.render(),this.isDirtyLegend=!1);g&&this.getStacks();m&&l.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();m&&(l.forEach(function(a){a.isDirty&&
271+(E=!0)}),l.forEach(function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,G.push(function(){b(a,"afterSetExtremes",n(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(E||g)&&a.redraw()}));E&&this.drawChartBox();b(this,"predraw");d.forEach(function(a){(E||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);D.draw();b(this,"redraw");b(this,"render");q&&this.temporaryDisplay(!0);G.forEach(function(a){a.call()})},get:function(a){function c(c){return c.id===a||c.options&&c.options.id===
272+a}var b,l=this.series,d;b=e(this.axes,c)||e(this.series,c);for(d=0;!b&&d<l.length;d++)b=e(l[d].points||[],c);return b},getAxes:function(){var a=this,c=this.options,l=c.xAxis=t(c.xAxis||{}),c=c.yAxis=t(c.yAxis||{});b(this,"getAxes");l.forEach(function(a,c){a.index=c;a.isX=!0});c.forEach(function(a,c){a.index=c});l.concat(c).forEach(function(c){new u(a,c)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(c){a=a.concat((c[c.hasGroupedData?"points":"data"]||
273+[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,c,b){var l=this,d=l.options,e=l.styledMode,f;f=d.title=A(!e&&{style:{color:"#333333",fontSize:d.isStock?"16px":"18px"}},d.title,a);d=d.subtitle=A(!e&&{style:{color:"#666666"}},d.subtitle,c);[["title",a,f],["subtitle",c,d]].forEach(function(a,c){var b=a[0],d=l[b],f=a[1];a=a[2];d&&f&&(l[b]=d=d.destroy());a&&!d&&(l[b]=l.renderer.text(a.text,
274+0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),l[b].update=function(a){l.setTitle(!c&&a,c&&a)},e||l[b].css(a.style))});l.layOutTitles(b)},layOutTitles:function(a){var c=0,b,d=this.renderer,e=this.spacingBox;["title","subtitle"].forEach(function(a){var b=this[a],l=this.options[a];a="title"===a?-3:l.verticalAlign?0:c+2;var f;b&&(this.styledMode||(f=l.style.fontSize),f=d.fontMetrics(f,b).b,b.css({width:(l.width||e.width+l.widthAdjust)+"px"}).align(n({y:a+f},l),
275+!1,"spacingBox"),l.floating||l.verticalAlign||(c=Math.ceil(c+b.getBBox(l.useHTML).height)))},this);b=this.titleOffset!==c;this.titleOffset=c;!this.isDirtyBox&&b&&(this.isDirtyBox=this.isDirtyLegend=b,this.hasRendered&&l(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var c=this.options.chart,b=c.width,c=c.height,l=this.renderTo;f(b)||(this.containerWidth=a.getStyle(l,"width"));f(c)||(this.containerHeight=a.getStyle(l,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);
276+this.chartHeight=Math.max(0,a.relativeLength(c,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(c){var b=this.renderTo;if(c)for(;b&&b.style;)b.hcOrigStyle&&(a.css(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(h.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){h.body.contains(b)||b.parentNode||(b.hcOrigDetached=!0,h.body.appendChild(b));if("none"===a.getStyle(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,
277+height:b.style.height,overflow:b.style.overflow},c={display:"block",overflow:"hidden"},b!==this.renderTo&&(c.height=0),a.css(b,c),b.offsetWidth||b.style.setProperty("display","block","important");b=b.parentNode;if(b===h.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,l=this.options,e=l.chart,f,t;c=this.renderTo;var r=a.uniqueKey(),m,D;c||(this.renderTo=c=e.renderTo);k(c)&&(this.renderTo=c=h.getElementById(c));c||a.error(13,
278+!0,this);f=E(p(c,"data-highcharts-chart"));d(f)&&q[f]&&q[f].hasRendered&&q[f].destroy();p(c,"data-highcharts-chart",this.index);c.innerHTML="";e.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();f=this.chartWidth;t=this.chartHeight;g(c,{overflow:"hidden"});this.styledMode||(m=n({position:"relative",overflow:"hidden",width:f+"px",height:t+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},e.style));this.container=c=v("div",{id:r},m,
279+c);this._cursor=c.style.cursor;this.renderer=new (a[e.renderer]||a.Renderer)(c,f,t,null,e.forExport,l.exporting&&l.exporting.allowHTML,this.styledMode);this.setClassName(e.className);if(this.styledMode)for(D in l.defs)this.renderer.definition(l.defs[D]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,l=this.margin,d=this.titleOffset;this.resetMargins();d&&!f(l[0])&&(this.plotTop=Math.max(this.plotTop,d+
280+this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(l,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,c=a.axisOffset=[0,0,0,0],b=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});B.forEach(function(l,d){f(b[d])||(a[l]+=c[d])});a.setChartSize()},reflow:function(c){var b=this,l=b.options.chart,d=b.renderTo,e=f(l.width)&&f(l.height),k=l.width||a.getStyle(d,"width"),l=l.height||a.getStyle(d,
281+"height"),d=c?c.target:M;if(!e&&!b.isPrinting&&k&&l&&(d===M||d===h)){if(k!==b.containerWidth||l!==b.containerHeight)a.clearTimeout(b.reflowTimeout),b.reflowTimeout=I(function(){b.container&&b.setSize(void 0,void 0,!1)},c?100:0);b.containerWidth=k;b.containerHeight=l}},setReflow:function(a){var c=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(M,"resize",function(a){c.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(c,
282+l,d){var e=this,f=e.renderer,k;e.isResizing+=1;a.setAnimation(d,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;void 0!==c&&(e.options.chart.width=c);void 0!==l&&(e.options.chart.height=l);e.getChartSize();e.styledMode||(k=f.globalAnimation,(k?y:g)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},k));e.setChartSize(!0);f.setSize(e.chartWidth,e.chartHeight,d);e.axes.forEach(function(a){a.isDirty=!0;a.setScale()});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();
283+e.redraw(d);e.oldChartHeight=null;b(e,"resize");I(function(){e&&b(e,"endResize",null,function(){--e.isResizing})},F(k).duration)},setChartSize:function(a){var c=this.inverted,l=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,k=this.spacing,t=this.clipOffset,g,r,m,n;this.plotLeft=g=Math.round(this.plotLeft);this.plotTop=r=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-g-this.marginRight));this.plotHeight=n=Math.max(0,Math.round(e-r-this.marginBottom));this.plotSizeX=
284+c?n:m;this.plotSizeY=c?m:n;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=l.spacingBox={x:k[3],y:k[0],width:d-k[3]-k[1],height:e-k[0]-k[2]};this.plotBox=l.plotBox={x:g,y:r,width:m,height:n};d=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(d,t[3])/2);l=Math.ceil(Math.max(d,t[0])/2);this.clipBox={x:c,y:l,width:Math.floor(this.plotSizeX-Math.max(d,t[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,t[2])/2-l))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});
285+b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,c=a.options.chart;["margin","spacing"].forEach(function(b){var d=c[b],e=m(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,f){a[b][f]=l(c[b+d],e[f])})});B.forEach(function(c,b){a[c]=l(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,l=this.chartWidth,d=this.chartHeight,e=this.chartBackground,
286+f=this.plotBackground,k=this.plotBorder,t,g=this.styledMode,r=this.plotBGImage,m=a.backgroundColor,n=a.plotBackgroundColor,E=a.plotBackgroundImage,h,D=this.plotLeft,q=this.plotTop,G=this.plotWidth,z=this.plotHeight,p=this.plotBox,I=this.clipRect,B=this.clipBox,A="animate";e||(this.chartBackground=e=c.rect().addClass("highcharts-background").add(),A="attr");if(g)t=h=e.strokeWidth();else{t=a.borderWidth||0;h=t+(a.shadow?8:0);m={fill:m||"none"};if(t||e["stroke-width"])m.stroke=a.borderColor,m["stroke-width"]=
287+t;e.attr(m).shadow(a.shadow)}e[A]({x:h/2,y:h/2,width:l-h-t%2,height:d-h-t%2,r:a.borderRadius});A="animate";f||(A="attr",this.plotBackground=f=c.rect().addClass("highcharts-plot-background").add());f[A](p);g||(f.attr({fill:n||"none"}).shadow(a.plotShadow),E&&(r?r.animate(p):this.plotBGImage=c.image(E,D,q,G,z).add()));I?I.animate({width:B.width,height:B.height}):this.clipRect=c.clipRect(B);A="animate";k||(A="attr",this.plotBorder=k=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
288+g||k.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});k[A](k.crisp({x:D,y:q,width:G,height:z},-k.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,c=a.options.chart,b,l=a.options.series,d,e;["inverted","angular","polar"].forEach(function(f){b=G[c.type||c.defaultSeriesType];e=c[f]||b&&b.prototype[f];for(d=l&&l.length;!e&&d--;)(b=G[l[d].type])&&b.prototype[f]&&(e=!0);a[f]=e})},linkSeries:function(){var a=this,c=a.series;
289+c.forEach(function(a){a.linkedSeries.length=0});c.forEach(function(c){var b=c.options.linkedTo;k(b)&&(b=":previous"===b?a.series[c.index-1]:a.get(b))&&b.linkedParent!==c&&(b.linkedSeries.push(c),c.linkedParent=b,c.visible=l(c.options.visible,b.options.visible,c.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,c=a.options.labels;c.items&&c.items.forEach(function(b){var l=n(c.style,b.style),
290+d=E(l.left)+a.plotLeft,e=E(l.top)+a.plotTop+12;delete l.left;delete l.top;a.renderer.text(b.html,d,e).attr({zIndex:2}).css(l).add()})},render:function(){var a=this.axes,c=this.renderer,b=this.options,l=0,d,e,f;this.setTitle();this.legend=new z(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return l=21,!0});d=this.plotHeight=Math.max(this.plotHeight-l,0);a.forEach(function(a){a.setScale()});
291+this.getAxisMargins();e=1.1<b/this.plotWidth;f=1.05<d/this.plotHeight;if(e||f)a.forEach(function(a){(a.horiz&&e||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var c=this;a=A(!0,
292+this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(M.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),c.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){c.credits=c.credits.destroy();c.addCredits(a)})},destroy:function(){var c=this,l=c.axes,d=c.series,e=c.container,f,k=e&&e.parentNode;b(c,"destroy");
293+c.renderer.forExport?a.erase(q,c):q[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");D(c);for(f=l.length;f--;)l[f]=l[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=d.length;f--;)d[f]=d[f].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});
294+e&&(e.innerHTML="",D(e),k&&x(e));r(c,function(a,b){delete c[b]})},firstRender:function(){var l=this,d=l.options;if(!l.isReadyToRender||l.isReadyToRender()){l.getContainer();l.resetMargins();l.setChartSize();l.propFromSeries();l.getAxes();(a.isArray(d.series)?d.series:[]).forEach(function(a){l.initSeries(a)});l.linkSeries();b(l,"beforeRender");c&&(l.pointer=new c(l,d));l.render();if(!l.renderer.imgCount&&l.onload)l.onload();l.temporaryDisplay(!0)}},onload:function(){[this.callback].concat(this.callbacks).forEach(function(a){a&&
295+void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");f(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});J(H,"parts/ScrollablePlotArea.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.Chart;C(y,"afterSetChartSize",function(y){var p=this.options.chart.scrollablePlotArea;(p=p&&p.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=p=Math.max(0,p-this.chartWidth))&&(this.plotWidth+=p,this.clipBox.width+=p,y.skipAxes||this.axes.forEach(function(h){1===
296+h.side?h.getPlotLinePath=function(){var p=this.right,v;this.right=p-h.chart.scrollablePixels;v=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=p;return v}:(h.setAxisSize(),h.setAxisTranslation())}))});C(y,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});y.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},
297+this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};y.prototype.moveFixedElements=function(){var a=this.container,p=this.fixedRenderer;[this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-reset-zoom",
298+".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"].forEach(function(h){[].forEach.call(a.querySelectorAll(h),function(a){(a.namespaceURI===p.SVG_NS?p.box:p.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};y.prototype.applyFixed=function(){var y,p=!this.fixedDiv,h=this.options.chart.scrollablePlotArea;p&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,
299+this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=y.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(h.opacity,.85)).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),C(this,"afterShowResetZoom",this.moveFixedElements));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);y=this.chartWidth+this.scrollablePixels;a.stop(this.container);
300+this.container.style.width=y+"px";this.renderer.boxWrapper.attr({width:y,height:this.chartHeight,viewBox:[0,0,y,this.chartHeight].join(" ")});this.chartBackground.attr({width:y});p&&h.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixels*h.scrollPositionX);h=this.axisOffset;p=this.plotTop-h[0]-1;h=this.plotTop+this.plotHeight+h[2];y=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?["M",0,p,"L",this.plotLeft-1,p,"L",this.plotLeft-
301+1,h,"L",0,h,"Z","M",y,p,"L",this.chartWidth,p,"L",this.chartWidth,h,"L",y,h,"Z"]:["M",0,0]})}});J(H,"parts/Point.js",[H["parts/Globals.js"]],function(a){var C,y=a.extend,F=a.erase,p=a.fireEvent,h=a.format,u=a.isArray,v=a.isNumber,w=a.pick,x=a.uniqueKey,q=a.defined,g=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,g,e){this.series=a;this.applyOptions(g,e);this.id=q(this.id)?this.id:x();this.resolveColor();a.chart.pointCount++;p(this,"afterInit");return this},resolveColor:function(){var a=
302+this.series,g;g=a.chart.options.chart.colorCount;var e=a.chart.styledMode;e||this.options.color||(this.color=a.color);a.options.colorByPoint?(e||(g=a.options.colors||a.chart.options.colors,this.color=this.color||g[a.colorCounter],g=g.length),e=a.colorCounter,a.colorCounter++,a.colorCounter===g&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=w(this.colorIndex,e)},applyOptions:function(a,g){var e=this.series,b=e.options.pointValKey||e.pointValKey;a=C.prototype.optionsToObject.call(this,a);y(this,
303+a);this.options=this.options?y(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);if(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!v(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===g&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===g?e.autoIncrement(this):g);return this},setNestedProperty:function(f,g,e){e.split(".").reduce(function(b,d,
304+e,f){b[d]=f.length-1===e?g:a.isObject(b[d],!0)?b[d]:{};return b[d]},f);return f},optionsToObject:function(f){var g={},e=this.series,b=e.options.keys,d=b||e.pointArrayMap||["y"],m=d.length,k=0,h=0;if(v(f)||null===f)g[d[0]]=f;else if(u(f))for(!b&&f.length>m&&(e=typeof f[0],"string"===e?g.name=f[0]:"number"===e&&(g.x=f[0]),k++);h<m;)b&&void 0===f[k]||(0<d[h].indexOf(".")?a.Point.prototype.setNestedProperty(g,f[k],d[h]):g[d[h]]=f[k]),k++,h++;else"object"===typeof f&&(g=f,f.dataLabels&&(e._hasPointLabels=
305+!0),f.marker&&(e._hasPointMarkers=!0));return g},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,g=a.zones,a=a.zoneAxis||
306+"y",e=0,b;for(b=g[e];this[a]>=b.value;)b=g[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},destroy:function(){var a=this.series.chart,n=a.hoverPoints,e;a.pointCount--;n&&(this.setState(),F(n,this),n.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)g(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(e in this)this[e]=
307+null},destroyElements:function(a){var f=this,e=[],b,d;a=a||{graphic:1,dataLabel:1};a.graphic&&e.push("graphic","shadowGroup");a.dataLabel&&e.push("dataLabel","dataLabelUpper","connector");for(d=e.length;d--;)b=e[d],f[b]&&(f[b]=f[b].destroy());["dataLabel","connector"].forEach(function(b){var d=b+"s";a[b]&&f[d]&&(f[d].forEach(function(a){a.element&&a.destroy()}),delete f[d])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,
308+series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var f=this.series,e=f.tooltipOptions,b=w(e.valueDecimals,""),d=e.valuePrefix||"",g=e.valueSuffix||"";f.chart.styledMode&&(a=f.chart.tooltip.styledModeFormat(a));(f.pointArrayMap||["y"]).forEach(function(e){e="{point."+e;if(d||g)a=a.replace(RegExp(e+"}","g"),d+e+"}"+g);a=a.replace(RegExp(e+"}","g"),e+":,."+b+"f}")});return h(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,
309+g,e){var b=this,d=this.series.options;(d.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&d.allowPointSelect&&(e=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});p(this,a,g,e)},visible:!0}});J(H,"parts/Series.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animObject,F=a.arrayMax,p=a.arrayMin,h=a.correctFloat,u=a.defaultOptions,v=a.defaultPlotOptions,w=a.defined,x=a.erase,q=a.extend,g=a.fireEvent,f=a.isArray,n=
310+a.isNumber,e=a.isString,b=a.merge,d=a.objectEach,m=a.pick,k=a.removeEvent,z=a.splat,B=a.SVGElement,A=a.syncTimeout,r=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",
311+formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},
312+{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(a,b){g(this,"init",{options:b});var c=this,l,e=a.series,f;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();q(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});l=b.events;d(l,function(a,b){c.hcEvents&&c.hcEvents[b]&&-1!==c.hcEvents[b].indexOf(a)||C(c,b,a)});if(l&&l.click||
313+b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(a){c[a+"Data"]||(c[a+"Data"]=[])});c.points||c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);e.length&&(f=e[e.length-1]);c._i=m(f&&f._i,-1)+1;a.orderSeries(this.insert(e));g(this,"afterInit")},insert:function(a){var c=this.options.index,b;if(n(c)){for(b=a.length;b--;)if(c>=m(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&
314+a.unshift(this);b+=1}else a.push(this);return m(b,a.length-1)},bindAxes:function(){var c=this,b=c.options,d=c.chart,e;g(this,"bindAxes",null,function(){(c.axisTypes||[]).forEach(function(l){d[l].forEach(function(a){e=a.options;if(b[l]===e.index||void 0!==b[l]&&b[l]===e.id||void 0===b[l]&&0===e.index)c.insert(a.series),c[l]=a,a.isDirty=!0});c[l]||c.optionalAxis===l||a.error(18,!0,d)})})},updateParallelArrays:function(a,b){var c=a.series,l=arguments,d=n(b)?function(l){var d="y"===l&&c.toYData?c.toYData(a):
315+a[l];c[l+"Data"][b]=d}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(l,2))};c.parallelArrays.forEach(d)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,d,e=a.pointIntervalUnit,f=this.chart.time,b=m(b,a.pointStart,0);this.pointInterval=d=m(this.pointInterval,a.pointInterval,1);e&&(a=new f.Date(b),"day"===e?f.set("Date",a,f.get("Date",
316+a)+d):"month"===e?f.set("Month",a,f.get("Month",a)+d):"year"===e&&f.set("FullYear",a,f.get("FullYear",a)+d),d=a.getTime()-b);this.xIncrement=b+d;return b},setOptions:function(a){var c=this.chart,d=c.options,e=d.plotOptions,f=(c.userOptions||{}).plotOptions||{},k=e[this.type],r=b(a);a=c.styledMode;g(this,"setOptions",{userOptions:r});this.userOptions=r;c=b(k,e.series,r);this.tooltipOptions=b(u.tooltip,u.plotOptions.series&&u.plotOptions.series.tooltip,u.plotOptions[this.type].tooltip,d.tooltip.userOptions,
317+e.series&&e.series.tooltip,e[this.type].tooltip,r.tooltip);this.stickyTracking=m(r.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===k.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;d=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},a||(e.color=c.negativeColor,
318+e.fillColor=c.negativeFillColor),d.push(e));d.length&&w(d[d.length-1].value)&&d.push(a?{}:{color:this.color,fillColor:this.fillColor});g(this,"afterSetOptions",{options:c});return c},getName:function(){return m(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,d){var c,l=this.chart,e=this.userOptions,f=a+"Index",k=a+"Counter",g=d?d.length:m(l.options.chart[a+"Count"],l[a+"Count"]);b||(c=m(e[f],e["_"+f]),w(c)||(l.series.length||(l[k]=0),e["_"+f]=c=l[k]%g,l[k]+=1),d&&(b=d[c]));void 0!==
319+c&&(this[f]=c);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var c=a.id;a=a.x;var l=this.points,d,e;c&&(e=(c=this.chart.get(c))&&c.index,void 0!==e&&(d=!0));void 0===e&&n(a)&&(e=this.xData.indexOf(a,b));
320+-1!==e&&void 0!==e&&this.cropped&&(e=e>=this.cropStart?e-this.cropStart:e);!d&&l[e]&&l[e].touched&&(e=void 0);return e},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(c){var b=this.options,d=this.points,e=[],f,k,g,r=this.requireSorting,m=c.length===d.length,h=!0;this.xIncrement=null;c.forEach(function(c,l){var k,t=a.defined(c)&&this.pointClass.prototype.optionsToObject.call({series:this},c)||{};k=t.x;if(t.id||n(k))if(k=this.findPointIndex(t,g),-1===k||void 0===k?e.push(c):
321+d[k]&&c!==b.data[k]?(d[k].update(c,!1,null,!1),d[k].touched=!0,r&&(g=k+1)):d[k]&&(d[k].touched=!0),!m||l!==k||this.hasDerivedData)f=!0},this);if(f)for(c=d.length;c--;)(k=d[c])&&!k.touched&&k.remove(!1);else m?c.forEach(function(a,c){d[c].update&&a!==d[c].y&&d[c].update(a,!1,null,!1)}):h=!1;d.forEach(function(a){a&&(a.touched=!1)});if(!h)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(c,b,d,k){var l=this,g=l.points,r=g&&g.length||0,h,E=l.options,D=
322+l.chart,q=null,z=l.xAxis,p=E.turboThreshold,A=this.xData,B=this.yData,u=(h=l.pointArrayMap)&&h.length,v=E.keys,w=0,x=1,y;c=c||[];h=c.length;b=m(b,!0);!1!==k&&h&&r&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.isSeriesBoosting&&(y=this.updateData(c));if(!y){l.xIncrement=null;l.colorCounter=0;this.parallelArrays.forEach(function(a){l[a+"Data"].length=0});if(p&&h>p){for(d=0;null===q&&d<h;)q=c[d],d++;if(n(q))for(d=0;d<h;d++)A[d]=this.autoIncrement(),B[d]=c[d];else if(f(q))if(u)for(d=0;d<h;d++)q=c[d],
323+A[d]=q[0],B[d]=q.slice(1,u+1);else for(v&&(w=v.indexOf("x"),x=v.indexOf("y"),w=0<=w?w:0,x=0<=x?x:1),d=0;d<h;d++)q=c[d],A[d]=q[w],B[d]=q[x];else a.error(12,!1,D)}else for(d=0;d<h;d++)void 0!==c[d]&&(q={series:l},l.pointClass.prototype.applyOptions.apply(q,[c[d]]),l.updateParallelArrays(q,d));B&&e(B[0])&&a.error(14,!0,D);l.data=[];l.options.data=l.userOptions.data=c;for(d=r;d--;)g[d]&&g[d].destroy&&g[d].destroy();z&&(z.minRange=z.userMinRange);l.isDirty=D.isDirtyBox=!0;l.isDirtyData=!!g;d=!1}"point"===
324+E.legendType&&(this.processData(),this.generatePoints());b&&D.redraw(d)},processData:function(c){var b=this.xData,d=this.yData,e=b.length,k;k=0;var f,g,r=this.xAxis,m,n=this.options;m=n.cropThreshold;var h=this.getExtremesFromAll||n.getExtremesFromAll,q=this.isCartesian,n=r&&r.val2lin,z=r&&r.isLog,p=this.requireSorting,B,A;if(q&&!this.isDirty&&!r.isDirty&&!this.yAxis.isDirty&&!c)return!1;r&&(c=r.getExtremes(),B=c.min,A=c.max);q&&this.sorted&&!h&&(!m||e>m||this.forceCrop)&&(b[e-1]<B||b[0]>A?(b=[],
325+d=[]):this.yData&&(b[0]<B||b[e-1]>A)&&(k=this.cropData(this.xData,this.yData,B,A),b=k.xData,d=k.yData,k=k.start,f=!0));for(m=b.length||1;--m;)e=z?n(b[m])-n(b[m-1]):b[m]-b[m-1],0<e&&(void 0===g||e<g)?g=e:0>e&&p&&(a.error(15,!1,this.chart),p=!1);this.cropped=f;this.cropStart=k;this.processedXData=b;this.processedYData=d;this.closestPointRange=g},cropData:function(a,b,d,e,k){var c=a.length,l=0,f=c,g;k=m(k,this.cropShoulder);for(g=0;g<c;g++)if(a[g]>=d){l=Math.max(0,g-k);break}for(d=g;d<c;d++)if(a[d]>
326+e){f=d+k;break}return{xData:a.slice(l,f),yData:b.slice(l,f),start:l,end:f}},generatePoints:function(){var a=this.options,b=a.data,d=this.data,e,k=this.processedXData,f=this.processedYData,r=this.pointClass,m=k.length,n=this.cropStart||0,h,p=this.hasGroupedData,a=a.keys,B,A=[],u;d||p||(d=[],d.length=b.length,d=this.data=d);a&&p&&(this.options.keys=!1);for(u=0;u<m;u++)h=n+u,p?(B=(new r).init(this,[k[u]].concat(z(f[u]))),B.dataGroup=this.groupMap[u],B.dataGroup.options&&(B.options=B.dataGroup.options,
327+q(B,B.dataGroup.options),delete B.dataLabels)):(B=d[h])||void 0===b[h]||(d[h]=B=(new r).init(this,b[h],k[u])),B&&(B.index=h,A[u]=B);this.options.keys=a;if(d&&(m!==(e=d.length)||p))for(u=0;u<e;u++)u!==n||p||(u+=m),d[u]&&(d[u].destroyElements(),d[u].plotX=void 0);this.data=d;this.points=A;g(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:p(a),max:F(a)}},getExtremes:function(a){var c=this.yAxis,b=this.processedXData,d,e=[],k=0;d=this.xAxis.getExtremes();var r=d.min,m=d.max,h,q,z=this.requireSorting?
328+this.cropShoulder:0,B,A;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(A=0;A<d;A++)if(q=b[A],B=a[A],h=(n(B,!0)||f(B))&&(!c.positiveValuesOnly||B.length||0<B),q=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(b[A+z]||q)>=r&&(b[A-z]||q)<=m,h&&q)if(h=B.length)for(;h--;)"number"===typeof B[h]&&(e[k++]=B[h]);else e[k++]=B;this.dataMin=p(e);this.dataMax=F(e);g(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();
329+var a=this.options,b=a.stacking,d=this.xAxis,e=d.categories,k=this.yAxis,r=this.points,q=r.length,z=!!this.modifyValue,p,B=this.pointPlacementToXValue(),A=n(B),u=a.threshold,v=a.startFromThreshold?u:0,x,y,C,F,H=this.zoneAxis||"y",X=Number.MAX_VALUE;for(p=0;p<q;p++){var J=r[p],U=J.x;y=J.y;var S=J.low,Y=b&&k.stacks[(this.negStacks&&y<(v?0:u)?"-":"")+this.stackKey],Z,V;k.positiveValuesOnly&&null!==y&&0>=y&&(J.isNull=!0);J.plotX=x=h(Math.min(Math.max(-1E5,d.translate(U,0,0,0,1,B,"flags"===this.type)),
330+1E5));b&&this.visible&&!J.isNull&&Y&&Y[U]&&(F=this.getStackIndicator(F,U,this.index),Z=Y[U],V=Z.points[F.key]);f(V)&&(S=V[0],y=V[1],S===v&&F.key===Y[U].base&&(S=m(n(u)&&u,k.min)),k.positiveValuesOnly&&0>=S&&(S=null),J.total=J.stackTotal=Z.total,J.percentage=Z.total&&J.y/Z.total*100,J.stackY=y,Z.setOffset(this.pointXOffset||0,this.barW||0));J.yBottom=w(S)?Math.min(Math.max(-1E5,k.translate(S,0,1,0,1)),1E5):null;z&&(y=this.modifyValue(y,J));J.plotY=y="number"===typeof y&&Infinity!==y?Math.min(Math.max(-1E5,
331+k.translate(y,0,1,0,1)),1E5):void 0;J.isInside=void 0!==y&&0<=y&&y<=k.len&&0<=x&&x<=d.len;J.clientX=A?h(d.translate(U,0,0,0,1,B)):x;J.negative=J[H]<(a[H+"Threshold"]||u||0);J.category=e&&void 0!==e[J.x]?e[J.x]:J.x;J.isNull||(void 0!==C&&(X=Math.min(X,Math.abs(x-C))),C=x);J.zone=this.zones.length&&J.getZone()}this.closestPointRangePx=X;g(this,"afterTranslate")},getValidPoints:function(a,b,d){var c=this.chart;return(a||this.points||[]).filter(function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
332+!1:d||!a.isNull})},setClip:function(a){var c=this.chart,b=this.options,d=c.renderer,e=c.inverted,k=this.clipBox,f=k||c.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,b.xAxis,b.yAxis].join(),r=c[g],m=c[g+"m"];r||(a&&(f.width=0,e&&(f.x=c.plotSizeX),c[g+"m"]=m=d.clipRect(e?c.plotSizeX+99:-99,e?-c.plotLeft:-c.plotTop,99,e?c.chartWidth:c.chartHeight)),c[g]=r=d.clipRect(f),r.count={length:0});a&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);!1!==b.clip&&
333+(this.group.clip(a||k?r:c.clipRect),this.markerGroup.clip(m),this.sharedClipKey=g);a||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&g&&c[g]&&(k||(c[g]=c[g].destroy()),c[g+"m"]&&(c[g+"m"]=c[g+"m"].destroy())))},animate:function(a){var c=this.chart,b=y(this.options.animation),d;a?this.setClip(b):(d=this.sharedClipKey,(a=c[d])&&a.animate({width:c.plotSizeX,x:0},b),c[d+"m"]&&c[d+"m"].animate({width:c.plotSizeX+99,x:c.inverted?0:-99},b),this.animate=null)},afterAnimate:function(){this.setClip();
334+g(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,d,e,k,f,g,r=this.options.marker,n,h,q,z=this[this.specialGroup]||this.markerGroup;d=this.xAxis;var p,B=m(r.enabled,!d||d.isRadial?!0:null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)if(e=a[d],g=(f=e.graphic)?"animate":"attr",n=e.marker||{},h=!!e.marker,k=B&&void 0===n.enabled||n.enabled,q=!1!==e.isInside,k&&!e.isNull){k=m(n.symbol,
335+this.symbol);p=this.markerAttribs(e,e.selected&&"select");f?f[q?"show":"hide"](!0).animate(p):q&&(0<p.width||e.hasImage)&&(e.graphic=f=b.renderer.symbol(k,p.x,p.y,p.width,p.height,h?n:r).add(z));if(f&&!b.styledMode)f[g](this.pointAttribs(e,e.selected&&"select"));f&&f.addClass(e.getClassName(),!0)}else f&&(e.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},l=d.symbol||c.symbol,e=m(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=m(b&&b.radius,
336+c&&c.radius,e+(c&&c.radiusPlus||0)));a.hasImage=l&&0===l.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,l=d&&d.marker||{},e=this.color,k=d&&d.color,f=a&&a.color,d=m(l.lineWidth,c.lineWidth),g=a&&a.zone&&a.zone.color;a=1;e=k||g||f||e;k=l.fillColor||c.fillColor||e;e=l.lineColor||c.lineColor||e;b&&(c=c.states[b],b=l.states&&l.states[b]||{},d=m(b.lineWidth,c.lineWidth,d+m(b.lineWidthPlus,
337+c.lineWidthPlus,0)),k=b.fillColor||c.fillColor||k,e=b.lineColor||c.lineColor||e,a=m(b.opacity,c.opacity,a));return{stroke:e,"stroke-width":d,fill:k,opacity:a}},destroy:function(c){var b=this,e=b.chart,f=/AppleWebKit\/533/.test(r.navigator.userAgent),m,t,n=b.data||[],h,q;g(b,"destroy");c||k(b);(b.axisTypes||[]).forEach(function(a){(q=b[a])&&q.series&&(x(q.series,b),q.isDirty=q.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(t=n.length;t--;)(h=n[t])&&h.destroy&&h.destroy();b.points=
338+null;a.clearTimeout(b.animationTimeout);d(b,function(a,c){a instanceof B&&!a.survive&&(m=f&&"group"===c?"hide":"destroy",a[m]())});e.hoverSeries===b&&(e.hoverSeries=null);x(e.series,b);e.orderSeries();d(b,function(a,d){c&&"hcEvents"===d||delete b[d]})},getGraphPath:function(a,b,d){var c=this,l=c.options,e=l.step,k,f=[],g=[],r;a=a||c.points;(k=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&k&&(e=4-e);!l.connectNulls||b||d||(a=this.getValidPoints(a));a.forEach(function(k,m){var t=k.plotX,
339+n=k.plotY,h=a[m-1];(k.leftCliff||h&&h.rightCliff)&&!d&&(r=!0);k.isNull&&!w(b)&&0<m?r=!l.connectNulls:k.isNull&&!b?r=!0:(0===m||r?m=["M",k.plotX,k.plotY]:c.getPointSpline?m=c.getPointSpline(a,k,m):e?(m=1===e?["L",h.plotX,n]:2===e?["L",(h.plotX+t)/2,h.plotY,"L",(h.plotX+t)/2,n]:["L",t,h.plotY],m.push("L",t,n)):m=["L",t,n],g.push(k.x),e&&(g.push(k.x),2===e&&g.push(k.x)),f.push.apply(f,m),r=!1)});f.xMap=g;return c.graphPath=f},drawGraph:function(){var a=this,b=this.options,d=(this.gappedPath||this.getGraphPath).call(this),
340+e=this.chart.styledMode,k=[["graph","highcharts-graph"]];e||k[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);k=a.getZonesGraphs(k);k.forEach(function(c,l){var k=c[0],f=a[k],g=f?"animate":"attr";f?(f.endX=a.preventGraphAnimation?null:d.xMap,f.animate({d:d})):d.length&&(a[k]=f=a.chart.renderer.path(d).addClass(c[1]).attr({zIndex:1}).add(a.group));f&&!e&&(k={stroke:c[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},c[3]?k.dashstyle=c[3]:"square"!==b.linecap&&(k["stroke-linecap"]=
341+k["stroke-linejoin"]="round"),f[g](k).shadow(2>l&&b.shadow));f&&(f.startX=d.xMap,f.isArea=d.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,c){c=["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,d=b.renderer,e=this.zones,k,f,g=this.clips||[],r,n=this.graph,h=this.area,q=Math.max(b.chartWidth,
342+b.chartHeight),z=this[(this.zoneAxis||"y")+"Axis"],p,B,A=b.inverted,u,v,w,x,y=!1;e.length&&(n||h)&&z&&void 0!==z.min&&(B=z.reversed,u=z.horiz,n&&!this.showLine&&n.hide(),h&&h.hide(),p=z.getExtremes(),e.forEach(function(c,l){k=B?u?b.plotWidth:0:u?0:z.toPixels(p.min)||0;k=Math.min(Math.max(m(f,k),0),q);f=Math.min(Math.max(Math.round(z.toPixels(m(c.value,p.max),!0)||0),0),q);y&&(k=f=z.toPixels(p.max));v=Math.abs(k-f);w=Math.min(k,f);x=Math.max(k,f);z.isXAxis?(r={x:A?x:w,y:0,width:v,height:q},u||(r.x=
343+b.plotHeight-r.x)):(r={x:0,y:A?x:w,width:q,height:v},u&&(r.y=b.plotWidth-r.y));A&&d.isVML&&(r=z.isXAxis?{x:0,y:B?w:x,height:r.width,width:b.chartWidth}:{x:r.y-b.plotLeft-b.spacingBox.x,y:0,width:r.height,height:b.chartHeight});g[l]?g[l].animate(r):(g[l]=d.clipRect(r),n&&a["zone-graph-"+l].clip(g[l]),h&&a["zone-area-"+l].clip(g[l]));y=c.value>p.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=g)},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){c[b]&&(d.renderer.isVML&&
344+c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=C(d,"resize",b),C(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,d,e,k){var c=this[a],l=!c;l&&(this[a]=c=this.chart.renderer.g().attr({zIndex:e||.1}).add(k));c.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||
345+"")+(c.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);c.attr({visibility:d})[l?"attr":"animate"](this.getPlotBox());return c},getPlotBox:function(){var a=this.chart,b=this.xAxis,d=this.yAxis;a.inverted&&(b=d,d=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:d?d.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,d,e=a.options,k=!!a.animate&&b.renderer.isSVG&&y(e.animation).duration,f=a.visible?"inherit":"hidden",r=e.zIndex,m=a.hasRendered,n=b.seriesGroup,
346+h=b.inverted;g(this,"render");d=a.plotGroup("group","series",f,r,n);a.markerGroup=a.plotGroup("markerGroup","markers",f,r,n);k&&a.animate(!0);d.inverted=a.isCartesian||a.invertable?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===e.clip||a.sharedClipKey||m||d.clip(b.clipRect);k&&a.animate();m||(a.animationTimeout=
347+A(function(){a.afterAnimate()},k));a.isDirty=!1;a.hasRendered=!0;g(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,d=this.group,e=this.xAxis,k=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:m(e&&e.left,a.plotLeft),translateY:m(k&&k.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,l=this.chart.inverted;
348+return this.searchKDTree({clientX:l?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:l?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)},buildKDTree:function(a){function b(a,d,l){var e,k;if(k=a&&a.length)return e=c.kdAxisArray[d%l],a.sort(function(a,b){return a[e]-b[e]}),k=Math.floor(k/2),{point:a[k],left:b(a.slice(0,k),d+1,l),right:b(a.slice(k+1),d+1,l)}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;A(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),
349+d,d);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,d){function c(a,b,d,g){var r=b.point,m=l.kdAxisArray[d%g],n,t,h=r;t=w(a[e])&&w(r[e])?Math.pow(a[e]-r[e],2):null;n=w(a[k])&&w(r[k])?Math.pow(a[k]-r[k],2):null;n=(t||0)+(n||0);r.dist=w(n)?Math.sqrt(n):Number.MAX_VALUE;r.distX=w(t)?Math.sqrt(t):Number.MAX_VALUE;m=a[m]-r[m];n=0>m?"left":"right";t=0>m?"right":"left";b[n]&&(n=c(a,b[n],d+1,g),h=n[f]<h[f]?n:r);b[t]&&Math.sqrt(m*m)<h[f]&&(a=c(a,b[t],d+1,g),
350+h=a[f]<h[f]?a:h);return h}var l=this,e=this.kdAxisArray[0],k=this.kdAxisArray[1],f=b?"distX":"dist";b=-1<l.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(d);if(this.kdTree)return c(a,this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);n(a)&&(a*=m(this.options.pointRange||this.xAxis.pointRange));return a}})});J(H,"parts/Stacking.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.Chart,F=a.correctFloat,
351+p=a.defined,h=a.destroyObjectProperties,u=a.format,v=a.objectEach,w=a.pick,x=a.Series;a.StackItem=function(a,g,f,n,e){var b=a.chart.inverted;this.axis=a;this.isNegative=f;this.options=g;this.x=n;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:g.align||(b?f?"left":"right":"center"),verticalAlign:g.verticalAlign||(b?"middle":f?"bottom":"top"),y:w(g.y,b?4:f?14:-6),x:w(g.x,b?f?-6:6:0)};this.textAlign=g.textAlign||(b?f?"right":"left":"center")};a.StackItem.prototype=
352+{destroy:function(){h(this,this.axis)},render:function(a){var g=this.axis.chart,f=this.options,n=f.format,n=n?u(n,this,g.time):f.formatter.call(this);this.label?this.label.attr({text:n,visibility:"hidden"}):this.label=g.renderer.text(n,null,null,f.useHTML).css(f.style).attr({align:this.textAlign,rotation:f.rotation,visibility:"hidden"}).add(a);this.label.labelrank=g.plotHeight},setOffset:function(a,g){var f=this.axis,n=f.chart,e=f.translate(f.usePercentage?100:this.total,0,0,0,1),b=f.translate(0),
353+b=p(e)&&Math.abs(e-b);a=n.xAxis[0].translate(this.x)+a;f=p(e)&&this.getStackBox(n,this,a,e,g,b,f);(g=this.label)&&f&&(g.align(this.alignOptions,null,f),f=g.alignAttr,g[!1===this.options.crop||n.isInsidePlot(f.x,f.y)?"show":"hide"](!0))},getStackBox:function(a,g,f,n,e,b,d){var m=g.axis.reversed,k=a.inverted;a=d.height+d.pos-(k?a.plotLeft:a.plotTop);g=g.isNegative&&!m||!g.isNegative&&m;return{x:k?g?n:n-b:f,y:k?a-f-e:g?a-n-b:a-n,width:k?b:e,height:k?e:b}}};y.prototype.getStacks=function(){var a=this;
354+a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(g){!g.options.stacking||!0!==g.visible&&!1!==a.options.chart.ignoreHiddenSeries||(g.stackKey=g.type+w(g.options.stack,""))})};C.prototype.buildStacks=function(){var a=this.series,g=w(this.options.reversedStacks,!0),f=a.length,n;if(!this.isXAxis){this.usePercentage=!1;for(n=f;n--;)a[g?n:f-n-1].setStackedPoints();for(n=0;n<f;n++)a[n].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=
355+this.chart,g=a.renderer,f=this.stacks,n=this.stackTotalGroup;n||(this.stackTotalGroup=n=g.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());n.translate(a.plotLeft,a.plotTop);v(f,function(a){v(a,function(a){a.render(n)})})};C.prototype.resetStacks=function(){var a=this,g=a.stacks;a.isXAxis||v(g,function(f){v(f,function(g,e){g.touched<a.stacksTouched?(g.destroy(),delete f[e]):(g.total=null,g.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=
356+this.stacks=this.oldStacks),v(a,function(a){v(a,function(a){a.cumulative=a.total})}))};x.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var h=this.processedXData,g=this.processedYData,f=[],n=g.length,e=this.options,b=e.threshold,d=w(e.startFromThreshold&&b,0),m=e.stack,e=e.stacking,k=this.stackKey,z="-"+k,B=this.negStacks,A=this.yAxis,r=A.stacks,c=A.oldStacks,l,E,D,G,t,u,v;A.stacksTouched+=1;for(t=0;t<n;t++)u=
357+h[t],v=g[t],l=this.getStackIndicator(l,u,this.index),G=l.key,D=(E=B&&v<(d?0:b))?z:k,r[D]||(r[D]={}),r[D][u]||(c[D]&&c[D][u]?(r[D][u]=c[D][u],r[D][u].total=null):r[D][u]=new a.StackItem(A,A.options.stackLabels,E,u,m)),D=r[D][u],null!==v?(D.points[G]=D.points[this.index]=[w(D.cumulative,d)],p(D.cumulative)||(D.base=G),D.touched=A.stacksTouched,0<l.index&&!1===this.singleStacks&&(D.points[G][0]=D.points[this.index+","+u+",0"][0])):D.points[G]=D.points[this.index]=null,"percent"===e?(E=E?k:z,B&&r[E]&&
358+r[E][u]?(E=r[E][u],D.total=E.total=Math.max(E.total,D.total)+Math.abs(v)||0):D.total=F(D.total+(Math.abs(v)||0))):D.total=F(D.total+(v||0)),D.cumulative=w(D.cumulative,d)+(v||0),null!==v&&(D.points[G].push(D.cumulative),f[t]=D.cumulative);"percent"===e&&(A.usePercentage=!0);this.stackedYData=f;A.oldStacks={}}};x.prototype.modifyStacks=function(){var a=this,g=a.stackKey,f=a.yAxis.stacks,n=a.processedXData,e,b=a.options.stacking;a[b+"Stacker"]&&[g,"-"+g].forEach(function(d){for(var g=n.length,k,h;g--;)if(k=
359+n[g],e=a.getStackIndicator(e,k,a.index,d),h=(k=f[d]&&f[d][k])&&k.points[e.key])a[b+"Stacker"](h,k,g)})};x.prototype.percentStacker=function(a,g,f){g=g.total?100/g.total:0;a[0]=F(a[0]*g);a[1]=F(a[1]*g);this.stackedYData[f]=a[1]};x.prototype.getStackIndicator=function(a,g,f,n){!p(a)||a.x!==g||n&&a.key!==n?a={x:g,index:0,key:n}:a.index++;a.key=[f,g,a.index].join();return a}});J(H,"parts/Dynamics.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animate,F=a.Axis,p=a.Chart,h=a.createElement,
360+u=a.css,v=a.defined,w=a.erase,x=a.extend,q=a.fireEvent,g=a.isNumber,f=a.isObject,n=a.isArray,e=a.merge,b=a.objectEach,d=a.pick,m=a.Point,k=a.Series,z=a.seriesTypes,B=a.setAnimation,A=a.splat;a.cleanRecursively=function(d,c){var l={};b(d,function(b,e){if(f(d[e],!0)&&c[e])b=a.cleanRecursively(d[e],c[e]),Object.keys(b).length&&(l[e]=b);else if(f(d[e])||d[e]!==c[e])l[e]=d[e]});return l};x(p.prototype,{addSeries:function(a,b,l){var c,e=this;a&&(b=d(b,!0),q(e,"addSeries",{options:a},function(){c=e.initSeries(a);
361+e.isDirtyLegend=!0;e.linkSeries();q(e,"afterAddSeries",{series:c});b&&e.redraw(l)}));return c},addAxis:function(a,b,l,k){var c=b?"xAxis":"yAxis",f=this.options;a=e(a,{index:this[c].length,isX:b});b=new F(this,a);f[c]=A(f[c]||{});f[c].push(a);d(l,!0)&&this.redraw(k);return b},showLoading:function(a){var b=this,d=b.options,e=b.loadingDiv,k=d.loading,f=function(){e&&u(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=h("div",{className:"highcharts-loading highcharts-loading-hidden"},
362+null,b.container),b.loadingSpan=h("span",{className:"highcharts-loading-inner"},null,e),C(b,"redraw",f));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||d.lang.loading;b.styledMode||(u(e,x(k.style,{zIndex:10})),u(b.loadingSpan,k.labelStyle),b.loadingShown||(u(e,{opacity:0,display:""}),y(e,{opacity:k.style.opacity||.5},{duration:k.showDuration||0})));b.loadingShown=!0;f()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",
363+this.styledMode||y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){u(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),
364+collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(k,c,l,f){var r=this,m={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},n,h,z,p,E=[];q(r,"update",{options:k});k.isResponsiveOptions||r.setResponsive(!1,!0);k=a.cleanRecursively(k,r.options);if(n=k.chart){e(!0,r.options.chart,n);"className"in n&&r.setClassName(n.className);"reflow"in n&&r.setReflow(n.reflow);if("inverted"in n||"polar"in n||"type"in n)r.propFromSeries(),h=!0;"alignTicks"in n&&(h=
365+!0);b(n,function(a,b){-1!==r.propsRequireUpdateSeries.indexOf("chart."+b)&&(z=!0);-1!==r.propsRequireDirtyBox.indexOf(b)&&(r.isDirtyBox=!0);-1!==r.propsRequireReflow.indexOf(b)&&(p=!0)});!r.styledMode&&"style"in n&&r.renderer.setStyle(n.style)}!r.styledMode&&k.colors&&(this.options.colors=k.colors);k.plotOptions&&e(!0,this.options.plotOptions,k.plotOptions);b(k,function(a,b){if(r[b]&&"function"===typeof r[b].update)r[b].update(a,!1);else if("function"===typeof r[m[b]])r[m[b]](a);"chart"!==b&&-1!==
366+r.propsRequireUpdateSeries.indexOf(b)&&(z=!0)});this.collectionsWithUpdate.forEach(function(a){var b;k[a]&&("series"===a&&(b=[],r[a].forEach(function(a,c){a.options.isInternal||b.push(d(a.options.index,c))})),A(k[a]).forEach(function(c,d){(d=v(c.id)&&r.get(c.id)||r[a][b?b[d]:d])&&d.coll===a&&(d.update(c,!1),l&&(d.touched=!0));if(!d&&l)if("series"===a)r.addSeries(c,!1).touched=!0;else if("xAxis"===a||"yAxis"===a)r.addAxis(c,"xAxis"===a,!1).touched=!0}),l&&r[a].forEach(function(a){a.touched||a.options.isInternal?
367+delete a.touched:E.push(a)}))});E.forEach(function(a){a.remove&&a.remove(!1)});h&&r.axes.forEach(function(a){a.update({},!1)});z&&r.series.forEach(function(a){a.update({},!1)});k.loading&&e(!0,r.options.loading,k.loading);h=n&&n.width;n=n&&n.height;a.isString(n)&&(n=a.relativeLength(n,h||r.chartWidth));p||g(h)&&h!==r.chartWidth||g(n)&&n!==r.chartHeight?r.setSize(h,n,f):d(c,!0)&&r.redraw(f);q(r,"afterUpdate",{options:k,redraw:c,animation:f})},setSubtitle:function(a){this.setTitle(void 0,a)}});x(m.prototype,
368+{update:function(a,b,e,k){function c(){l.applyOptions(a);null===l.y&&r&&(l.graphic=r.destroy());f(a,!0)&&(r&&r.element&&a&&a.marker&&void 0!==a.marker.symbol&&(l.graphic=r.destroy()),a&&a.dataLabels&&l.dataLabel&&(l.dataLabel=l.dataLabel.destroy()),l.connector&&(l.connector=l.connector.destroy()));m=l.index;g.updateParallelArrays(l,m);h.data[m]=f(h.data[m],!0)||f(a,!0)?l.options:d(a,h.data[m]);g.isDirty=g.isDirtyData=!0;!g.fixedBox&&g.hasCartesianSeries&&(n.isDirtyBox=!0);"point"===h.legendType&&
369+(n.isDirtyLegend=!0);b&&n.redraw(e)}var l=this,g=l.series,r=l.graphic,m,n=g.chart,h=g.options;b=d(b,!0);!1===k?c():l.firePointEvent("update",{options:a},c)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});x(k.prototype,{addPoint:function(a,b,e,k,f){var c=this.options,l=this.data,g=this.chart,r=this.xAxis,r=r&&r.hasNames&&r.names,m=c.data,n,h,z=this.xData,p,E;b=d(b,!0);n={series:this};this.pointClass.prototype.applyOptions.apply(n,[a]);E=n.x;p=z.length;if(this.requireSorting&&
370+E<z[p-1])for(h=!0;p&&z[p-1]>E;)p--;this.updateParallelArrays(n,"splice",p,0,0);this.updateParallelArrays(n,p);r&&n.name&&(r[E]=n.name);m.splice(p,0,a);h&&(this.data.splice(p,0,null),this.processData());"point"===c.legendType&&this.generatePoints();e&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(n,"shift"),m.shift()));!1!==f&&q(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;b&&g.redraw(k)},removePoint:function(a,b,e){var c=this,l=c.data,k=l[a],f=c.points,g=c.chart,
371+r=function(){f&&f.length===l.length&&f.splice(a,1);l.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(k||{series:c},"splice",a,1);k&&k.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&g.redraw()};B(e,g);b=d(b,!0);k?k.firePointEvent("remove",null,r):r()},remove:function(a,b,e,k){function c(){l.destroy(k);l.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();d(a,!0)&&f.redraw(b)}var l=this,f=l.chart;!1!==e?q(l,"remove",null,c):c()},update:function(b,c){b=a.cleanRecursively(b,this.userOptions);
372+q(this,"update",{options:b});var l=this,k=l.chart,f=l.userOptions,g,r=l.initialType||l.type,m=b.type||f.type||k.options.chart.type,n=!(this.hasDerivedData||b.dataGrouping||m&&m!==this.type||void 0!==b.pointStart||b.pointInterval||b.pointIntervalUnit||b.keys),h=z[r].prototype,p,B=["group","markerGroup","dataLabelsGroup"],A=["navigatorSeries","baseSeries"],u=l.finishedAnimating&&{animation:!1},v={};n&&(A.push("data","isDirtyData","points","processedXData","processedYData","xIncrement"),!1!==b.visible&&
373+A.push("area","graph"),l.parallelArrays.forEach(function(a){A.push(a+"Data")}),b.data&&this.setData(b.data,!1));b=e(f,u,{index:void 0===f.index?l.index:f.index,pointStart:d(f.pointStart,l.xData[0])},!n&&{data:l.options.data},b);A=B.concat(A);A.forEach(function(a){A[a]=l[a];delete l[a]});l.remove(!1,null,!1,!0);for(p in h)l[p]=void 0;z[m||r]?x(l,z[m||r].prototype):a.error(17,!0,k);A.forEach(function(a){l[a]=A[a]});l.init(k,b);n&&this.points&&(g=l.options,!1===g.visible?(v.graphic=1,v.dataLabel=1):
374+(g.marker&&!1===g.marker.enabled&&(v.graphic=1),g.dataLabels&&!1===g.dataLabels.enabled&&(v.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(v).length&&a.destroyElements(v),!1===g.showInLegend&&a.legendItem&&k.legend.destroyItem(a))},this));b.zIndex!==f.zIndex&&B.forEach(function(a){l[a]&&l[a].attr({zIndex:b.zIndex})});l.initialType=r;k.linkSeries();q(this,"afterUpdate");d(c,!0)&&k.redraw(n?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=
375+a;this.chart.isDirtyLegend=!0}});x(F.prototype,{update:function(a,c){var l=this.chart,k=a&&a.events||{};a=e(this.userOptions,a);l.options[this.coll].indexOf&&(l.options[this.coll][l.options[this.coll].indexOf(this.userOptions)]=a);b(l.options[this.coll].events,function(a,b){"undefined"===typeof k[b]&&(k[b]=void 0)});this.destroy(!0);this.init(l,x(a,{events:k}));l.isDirtyBox=!0;d(c,!0)&&l.redraw()},remove:function(a){for(var b=this.chart,e=this.coll,k=this.series,f=k.length;f--;)k[f]&&k[f].remove(!1);
376+w(b.axes,this);w(b[e],this);n(b.options[e])?b.options[e].splice(this.options.index,1):delete b.options[e];b[e].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;d(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});J(H,"parts/AreaSeries.js",[H["parts/Globals.js"]],function(a){var C=a.color,y=a.pick,F=a.Series,p=a.seriesType;p("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,
377+getStackPoints:function(h){var p=[],v=[],w=this.xAxis,x=this.yAxis,q=x.stacks[this.stackKey],g={},f=this.index,n=x.series,e=n.length,b,d=y(x.options.reversedStacks,!0)?1:-1,m;h=h||this.points;if(this.options.stacking){for(m=0;m<h.length;m++)h[m].leftNull=h[m].rightNull=null,g[h[m].x]=h[m];a.objectEach(q,function(a,b){null!==a.total&&v.push(b)});v.sort(function(a,b){return a-b});b=n.map(function(a){return a.visible});v.forEach(function(a,n){var k=0,h,r;if(g[a]&&!g[a].isNull)p.push(g[a]),[-1,1].forEach(function(c){var l=
378+1===c?"rightNull":"leftNull",k=0,z=q[v[n+c]];if(z)for(m=f;0<=m&&m<e;)h=z.points[m],h||(m===f?g[a][l]=!0:b[m]&&(r=q[a].points[m])&&(k-=r[1]-r[0])),m+=d;g[a][1===c?"rightCliff":"leftCliff"]=k});else{for(m=f;0<=m&&m<e;){if(h=q[a].points[m]){k=h[1];break}m+=d}k=x.translate(k,0,1,0,1);p.push({isNull:!0,plotX:w.translate(a,0,0,0,1),x:a,plotY:k,yBottom:k})}})}return p},getGraphPath:function(a){var h=F.prototype.getGraphPath,p=this.options,w=p.stacking,x=this.yAxis,q,g,f=[],n=[],e=this.index,b,d=x.stacks[this.stackKey],
379+m=p.threshold,k=x.getThreshold(p.threshold),z,p=p.connectNulls||"percent"===w,B=function(g,r,c){var l=a[g];g=w&&d[l.x].points[e];var h=l[c+"Null"]||0;c=l[c+"Cliff"]||0;var q,z,l=!0;c||h?(q=(h?g[0]:g[1])+c,z=g[0]+c,l=!!h):!w&&a[r]&&a[r].isNull&&(q=z=m);void 0!==q&&(n.push({plotX:b,plotY:null===q?k:x.getThreshold(q),isNull:l,isCliff:!0}),f.push({plotX:b,plotY:null===z?k:x.getThreshold(z),doCurve:!1}))};a=a||this.points;w&&(a=this.getStackPoints(a));for(q=0;q<a.length;q++)if(g=a[q].isNull,b=y(a[q].rectPlotX,
380+a[q].plotX),z=y(a[q].yBottom,k),!g||p)p||B(q,q-1,"left"),g&&!w&&p||(n.push(a[q]),f.push({x:q,plotX:b,plotY:z})),p||B(q,q+1,"right");q=h.call(this,n,!0,!0);f.reversed=!0;g=h.call(this,f,!0,!0);g.length&&(g[0]="L");g=q.concat(g);h=h.call(this,n,!1,p);g.xMap=q.xMap;this.areaPath=g;return h},drawGraph:function(){this.areaPath=[];F.prototype.drawGraph.apply(this);var a=this,p=this.areaPath,v=this.options,w=[["area","highcharts-area",this.color,v.fillColor]];this.zones.forEach(function(h,q){w.push(["zone-area-"+
381+q,"highcharts-area highcharts-zone-area-"+q+" "+h.className,h.color||a.color,h.fillColor||v.fillColor])});w.forEach(function(h){var q=h[0],g=a[q],f=g?"animate":"attr",n={};g?(g.endX=a.preventGraphAnimation?null:p.xMap,g.animate({d:p})):(n.zIndex=0,g=a[q]=a.chart.renderer.path(p).addClass(h[1]).add(a.group),g.isArea=!0);a.chart.styledMode||(n.fill=y(h[3],C(h[2]).setOpacity(y(v.fillOpacity,.75)).get()));g[f](n);g.startX=p.xMap;g.shiftUnit=v.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
382+J(H,"parts/SplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,F,p){var h=F.plotX,u=F.plotY,v=a[p-1];p=a[p+1];var w,x,q,g;if(v&&!v.isNull&&!1!==v.doCurve&&!F.isCliff&&p&&!p.isNull&&!1!==p.doCurve&&!F.isCliff){a=v.plotY;q=p.plotX;p=p.plotY;var f=0;w=(1.5*h+v.plotX)/2.5;x=(1.5*u+a)/2.5;q=(1.5*h+q)/2.5;g=(1.5*u+p)/2.5;q!==w&&(f=(g-x)*(q-h)/(q-w)+u-g);x+=f;g+=f;x>a&&x>u?(x=Math.max(a,u),g=2*u-x):x<a&&x<u&&(x=Math.min(a,u),g=
383+2*u-x);g>p&&g>u?(g=Math.max(p,u),x=2*u-g):g<p&&g<u&&(g=Math.min(p,u),x=2*u-g);F.rightContX=q;F.rightContY=g}F=["C",C(v.rightContX,v.plotX),C(v.rightContY,v.plotY),C(w,h),C(x,u),h,u];v.rightContX=v.rightContY=null;return F}})});J(H,"parts/AreaSplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.seriesTypes.area.prototype,y=a.seriesType;y("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
384+J(H,"parts/ColumnSeries.js",[H["parts/Globals.js"]],function(a){var C=a.animObject,y=a.color,F=a.extend,p=a.defined,h=a.isNumber,u=a.merge,v=a.pick,w=a.Series,x=a.seriesType,q=a.svg;x("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,
385+tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var a=this,f=a.chart;f.hasRendered&&f.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,n=a.xAxis,e=a.yAxis,b=n.options.reversedStacks,b=n.reversed&&!b||!n.reversed&&b,d,m={},k=0;!1===f.grouping?k=1:a.chart.series.forEach(function(b){var c=b.options,
386+l=b.yAxis,f;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||e.len!==l.len||e.pos!==l.pos||(c.stacking?(d=b.stackKey,void 0===m[d]&&(m[d]=k++),f=m[d]):!1!==c.grouping&&(f=k++),b.columnIndex=f)});var h=Math.min(Math.abs(n.transA)*(n.ordinalSlope||f.pointRange||n.closestPointRange||n.tickInterval||1),n.len),q=h*f.groupPadding,p=(h-2*q)/(k||1),f=Math.min(f.maxPointWidth||n.len,v(f.pointWidth,p*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(p-f)/2+(q+((a.columnIndex||0)+
387+(b?1:0))*p-h/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,f,n,e){var b=this.chart,d=this.borderWidth,g=-(d%2?.5:0),d=d%2?.5:1;b.inverted&&b.renderer.isVML&&(d+=1);this.options.crisp&&(n=Math.round(a+n)+g,a=Math.round(a)+g,n-=a);e=Math.round(f+e)+d;g=.5>=Math.abs(f)&&.5<e;f=Math.round(f)+d;e-=f;g&&e&&(--f,e+=1);return{x:a,y:f,width:n,height:e}},translate:function(){var a=this,f=a.chart,n=a.options,e=a.dense=2>a.closestPointRange*a.xAxis.transA,e=a.borderWidth=v(n.borderWidth,e?0:1),b=a.yAxis,
388+d=n.threshold,m=a.translatedThreshold=b.getThreshold(d),k=v(n.minPointLength,5),h=a.getColumnMetrics(),q=h.width,A=a.barW=Math.max(q,1+2*e),r=a.pointXOffset=h.offset;f.inverted&&(m-=.5);n.pointPadding&&(A=Math.ceil(A));w.prototype.translate.apply(a);a.points.forEach(function(c){var e=v(c.yBottom,m),g=999+Math.abs(e),n=q,g=Math.min(Math.max(-g,c.plotY),b.len+g),h=c.plotX+r,t=A,z=Math.min(g,e),B,u=Math.max(g,e)-z;k&&Math.abs(u)<k&&(u=k,B=!b.reversed&&!c.negative||b.reversed&&c.negative,c.y===d&&a.dataMax<=
389+d&&b.min<d&&(B=!B),z=Math.abs(z-m)>k?e-k:m-(B?k:0));p(c.options.pointWidth)&&(n=t=Math.ceil(c.options.pointWidth),h-=Math.round((n-q)/2));c.barX=h;c.pointWidth=n;c.tooltipPos=f.inverted?[b.len+b.pos-f.plotLeft-g,a.xAxis.len-h-t/2,u]:[h+t/2,g+b.pos-f.plotTop,u];c.shapeType=a.pointClass.prototype.shapeType||"rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[h,m,t,0]:[h,z,t,u])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},
390+pointAttribs:function(a,f){var g=this.options,e,b=this.pointAttrToOptions||{};e=b.stroke||"borderColor";var d=b["stroke-width"]||"borderWidth",m=a&&a.color||this.color,k=a&&a[e]||g[e]||this.color||m,h=a&&a[d]||g[d]||this[d]||0,b=a&&a.dashStyle||g.dashStyle,q=v(g.opacity,1),p;a&&this.zones.length&&(p=a.getZone(),m=a.options.color||p&&p.color||this.color,p&&(k=p.borderColor||k,b=p.dashStyle||b,h=p.borderWidth||h));f&&(a=u(g.states[f],a.options.states&&a.options.states[f]||{}),f=a.brightness,m=a.color||
391+void 0!==f&&y(m).brighten(a.brightness).get()||m,k=a[e]||k,h=a[d]||h,b=a.dashStyle||b,q=v(a.opacity,q));e={fill:m,stroke:k,"stroke-width":h,opacity:q};b&&(e.dashstyle=b);return e},drawPoints:function(){var a=this,f=this.chart,n=a.options,e=f.renderer,b=n.animationLimit||250,d;a.points.forEach(function(g){var k=g.graphic,m=k&&f.pointCount<b?"animate":"attr";if(h(g.plotY)&&null!==g.y){d=g.shapeArgs;k&&k.element.nodeName!==g.shapeType&&(k=k.destroy());if(k)k[m](u(d));else g.graphic=k=e[g.shapeType](d).add(g.group||
392+a.group);if(n.borderRadius)k[m]({r:n.borderRadius});f.styledMode||k[m](a.pointAttribs(g,g.selected&&"select")).shadow(!1!==g.allowShadow&&n.shadow,null,n.stacking&&!n.borderRadius);k.addClass(g.getClassName(),!0)}else k&&(g.graphic=k.destroy())})},animate:function(a){var f=this,g=this.yAxis,e=f.options,b=this.chart.inverted,d={},m=b?"translateX":"translateY",k;q&&(a?(d.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(e.threshold))),b?d.translateX=a-g.len:d.translateY=a,f.clipBox&&f.setClip(),
393+f.group.attr(d)):(k=f.group.attr(m),f.group.animate({scaleY:1},F(C(f.options.animation),{step:function(a,b){d[m]=k+b.pos*(g.pos-k);f.group.attr(d)}})),f.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&f.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)});w.prototype.remove.apply(a,arguments)}})});J(H,"parts/BarSeries.js",[H["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});J(H,"parts/ScatterSeries.js",[H["parts/Globals.js"]],function(a){var C=
394+a.Series,y=a.seriesType;y("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,
395+drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,p=this.options.jitter,h=this.points.length;p&&this.points.forEach(function(u,v){["x","y"].forEach(function(w,x){var q,g="plot"+w.toUpperCase(),f,n;p[w]&&!u.isNull&&(q=a[w+"Axis"],n=p[w]*q.transA,q&&!q.isLog&&(f=Math.max(0,u[g]-n),q=Math.min(q.len,u[g]+n),x=1E4*Math.sin(v+x*h),u[g]=f+(q-f)*(x-Math.floor(x)),"x"===w&&(u.clientX=u.plotX)))})})}});a.addEvent(C,"afterTranslate",function(){this.applyJitter&&
396+this.applyJitter()})});J(H,"mixins/centered-series.js",[H["parts/Globals.js"]],function(a){var C=a.deg2rad,y=a.isNumber,F=a.pick,p=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,u=this.chart,v=2*(a.slicedOffset||0),w=u.plotWidth-2*v,u=u.plotHeight-2*v,x=a.center,x=[F(x[0],"50%"),F(x[1],"50%"),a.size||"100%",a.innerSize||0],q=Math.min(w,u),g,f;for(g=0;4>g;++g)f=x[g],a=2>g||2===g&&/%$/.test(f),x[g]=p(f,[w,u,q,x[2]][g])+(a?v:0);x[3]>x[2]&&(x[3]=x[2]);return x},getStartAndEndRadians:function(a,
397+p){a=y(a)?a:0;p=y(p)&&p>a&&360>p-a?p:a+360;return{start:C*(a+-90),end:C*(p+-90)}}}});J(H,"parts/PieSeries.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.CenteredSeriesMixin,F=a.defined,p=y.getStartAndEndRadians,h=a.merge,u=a.noop,v=a.pick,w=a.Point,x=a.Series,q=a.seriesType,g=a.setAnimation;q("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},
398+softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var f=
399+this,e=f.points,b=f.startAngleRad;a||(e.forEach(function(a){var d=a.graphic,e=a.shapeArgs;d&&(d.attr({r:a.startR||f.center[3]/2,start:b,end:b}),d.animate({r:e.r,start:e.start,end:e.end},f.options.animation))}),f.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,g=0,e=this.points,b=e.length,d,m=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)d=e[a],g+=m&&!d.visible?0:d.isNull?0:d.y;this.total=g;for(a=0;a<b;a++)d=e[a],d.percentage=0<g&&(d.visible||!m)?
400+d.y/g*100:0,d.total=g},generatePoints:function(){x.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,g,e){var b=this.center,d=this.radii?this.radii[e.index]:b[2]/2;return b[0]+(g?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(d+e.labelDistance),1),-1)))*(d+e.labelDistance)+(0<e.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},translate:function(a){this.generatePoints();var f=0,e=this.options,b=e.slicedOffset,d=b+(e.borderWidth||0),g,k,h=p(e.startAngle,e.endAngle),
401+q=this.startAngleRad=h.start,h=(this.endAngleRad=h.end)-q,A=this.points,r,c,l=e.dataLabels.distance,e=e.ignoreHiddenPoint,E,D=A.length,u;a||(this.center=a=this.getCenter());for(E=0;E<D;E++){u=A[E];u.labelDistance=v(u.options.dataLabels&&u.options.dataLabels.distance,l);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,u.labelDistance);g=q+f*h;if(!e||u.visible)f+=u.percentage/100;k=q+f*h;u.shapeType="arc";u.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*g)/1E3,end:Math.round(1E3*
402+k)/1E3};k=(k+g)/2;k>1.5*Math.PI?k-=2*Math.PI:k<-Math.PI/2&&(k+=2*Math.PI);u.slicedTranslation={translateX:Math.round(Math.cos(k)*b),translateY:Math.round(Math.sin(k)*b)};r=Math.cos(k)*a[2]/2;c=Math.sin(k)*a[2]/2;u.tooltipPos=[a[0]+.7*r,a[1]+.7*c];u.half=k<-Math.PI/2||k>Math.PI/2?1:0;u.angle=k;g=Math.min(d,u.labelDistance/5);u.labelPosition={natural:{x:a[0]+r+Math.cos(k)*u.labelDistance,y:a[1]+c+Math.sin(k)*u.labelDistance},"final":{},alignment:0>u.labelDistance?"center":u.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+
403+r+Math.cos(k)*g,y:a[1]+c+Math.sin(k)*g},touchingSliceAt:{x:a[0]+r,y:a[1]+c}}}}},drawGraph:null,redrawPoints:function(){var a=this,g=a.chart,e=g.renderer,b,d,m,k,q=a.options.shadow;!q||a.shadowGroup||g.styledMode||(a.shadowGroup=e.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(f){var n={};d=f.graphic;if(!f.isNull&&d){k=f.shapeArgs;b=f.getTranslate();if(!g.styledMode){var r=f.shadowGroup;q&&!r&&(r=f.shadowGroup=e.g("shadow").add(a.shadowGroup));r&&r.attr(b);m=a.pointAttribs(f,
404+f.selected&&"select")}f.delayedRendering?(d.setRadialReference(a.center).attr(k).attr(b),g.styledMode||d.attr(m).attr({"stroke-linejoin":"round"}).shadow(q,r),f.delayRendering=!1):(d.setRadialReference(a.center),g.styledMode||h(!0,n,m),h(!0,n,k,b),d.animate(n));d.attr({visibility:f.visible?"inherit":"hidden"});d.addClass(f.getClassName())}else d&&(f.graphic=d.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(f){f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group),
405+f.delayedRendering=!0)})},searchPoint:u,sortByAngle:function(a,g){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:y.getCenter,getSymbol:u},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=v(a.name,"Slice");g=function(e){a.slice("select"===e.type)};C(a,"select",g);C(a,"unselect",g);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,g){var e=this,b=e.series,
406+d=b.chart,f=b.options.ignoreHiddenPoint;g=v(g,f);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,b.options.data[b.data.indexOf(e)]=e.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&d.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),f&&(b.isDirty=!0),g&&d.redraw())},slice:function(a,h,e){var b=this.series;g(e,b.chart);v(h,!0);this.sliced=this.options.sliced=F(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=
407+this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var f=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(f.x,f.y,f.r+a,f.r+a,{innerR:this.shapeArgs.r-1,start:f.start,end:f.end})},connectorShapes:{fixedOffset:function(a,g,e){var b=g.breakAt;g=g.touchingSliceAt;return["M",a.x,
408+a.y].concat(e.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*b.x-g.x,2*b.y-g.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",g.x,g.y])},straight:function(a,g){g=g.touchingSliceAt;return["M",a.x,a.y,"L",g.x,g.y]},crookedLine:function(f,g,e){g=g.touchingSliceAt;var b=this.series,d=b.center[0],m=b.chart.plotWidth,k=b.chart.plotLeft,b=f.alignment,h=this.shapeArgs.r;e=a.relativeLength(e.crookDistance,1);e="left"===b?d+h+(m+k-d-h)*(1-e):k+(d-h)*e;d=["L",e,f.y];if("left"===b?e>f.x||e<g.x:e<f.x||e>g.x)d=
409+[];return["M",f.x,f.y].concat(d).concat(["L",g.x,g.y])}},getConnectorPath:function(){var a=this.labelPosition,g=this.series.options.dataLabels,e=g.connectorShape,b=this.connectorShapes;b[e]&&(e=b[e]);return e.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,g)}})});J(H,"parts/DataLabels.js",[H["parts/Globals.js"]],function(a){var C=a.arrayMax,y=a.defined,F=a.extend,p=a.format,h=a.merge,u=a.noop,v=a.pick,w=a.relativeLength,x=a.Series,q=a.seriesTypes,g=a.stableSort,f=a.isArray,
410+n=a.splat;a.distribute=function(e,b,d){function f(a,b){return a.target-b.target}var k,h=!0,n=e,q=[],r;r=0;var c=n.reducedLen||b;for(k=e.length;k--;)r+=e[k].size;if(r>c){g(e,function(a,b){return(b.rank||0)-(a.rank||0)});for(r=k=0;r<=c;)r+=e[k].size,k++;q=e.splice(k-1,e.length)}g(e,f);for(e=e.map(function(a){return{size:a.size,targets:[a.target],align:v(a.align,.5)}});h;){for(k=e.length;k--;)h=e[k],r=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=Math.min(Math.max(0,r-h.size*h.align),
411+b-h.size);k=e.length;for(h=!1;k--;)0<k&&e[k-1].pos+e[k-1].size>e[k].pos&&(e[k-1].size+=e[k].size,e[k-1].targets=e[k-1].targets.concat(e[k].targets),e[k-1].align=.5,e[k-1].pos+e[k-1].size>b&&(e[k-1].pos=b-e[k-1].size),e.splice(k,1),h=!0)}n.push.apply(n,q);k=0;e.some(function(c){var e=0;if(c.targets.some(function(){n[k].pos=c.pos+e;if(Math.abs(n[k].pos-n[k].target)>d)return n.slice(0,k+1).forEach(function(a){delete a.pos}),n.reducedLen=(n.reducedLen||b)-.1*b,n.reducedLen>.1*b&&a.distribute(n,b,d),!0;
412+e+=n[k].size;k++}))return!0});g(n,f)};x.prototype.drawDataLabels=function(){function e(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function b(a,b){var c=[],d;if(f(a)&&!f(b))c=a.map(function(a){return h(a,b)});else if(f(b)&&!f(a))c=b.map(function(b){return h(a,b)});else if(f(a)||f(b))for(d=Math.max(a.length,b.length);d--;)c[d]=h(a[d],b[d]);
413+else c=h(a,b);return c}var d=this,g=d.chart,k=d.options,q=k.dataLabels,B=d.points,A,r=d.hasRendered||0,c,l=a.animObject(k.animation).duration,E=Math.min(l,200),D=v(q.defer,0<E),u=g.renderer,q=b(b(g.options.plotOptions&&g.options.plotOptions.series&&g.options.plotOptions.series.dataLabels,g.options.plotOptions&&g.options.plotOptions[d.type]&&g.options.plotOptions[d.type].dataLabels),q);a.fireEvent(this,"drawDataLabels");if(f(q)||q.enabled||d._hasPointLabels)c=d.plotGroup("dataLabelsGroup","data-labels",
414+D&&!r?"hidden":"inherit",q.zIndex||6),D&&(c.attr({opacity:+r}),r||setTimeout(function(){var a=d.dataLabelsGroup;a&&(d.visible&&c.show(!0),a[k.animation?"animate":"attr"]({opacity:1},{duration:E}))},l-E)),B.forEach(function(l){A=n(b(q,l.dlOptions||l.options&&l.options.dataLabels));A.forEach(function(b,f){var r=b.enabled&&(!l.isNull||l.dataLabelOnNull)&&e(l,b),m,h,n,t,q=l.dataLabels?l.dataLabels[f]:l.dataLabel,z=l.connectors?l.connectors[f]:l.connector,E=!q;r&&(m=l.getLabelConfig(),h=v(b[l.formatPrefix+
415+"Format"],b.format),m=y(h)?p(h,m,g.time):(b[l.formatPrefix+"Formatter"]||b.formatter).call(m,b),h=b.style,n=b.rotation,g.styledMode||(h.color=v(b.color,h.color,d.color,"#000000"),"contrast"===h.color&&(l.contrastColor=u.getContrast(l.color||d.color),h.color=b.inside||0>v(b.distance,l.labelDistance)||k.stacking?l.contrastColor:"#000000"),k.cursor&&(h.cursor=k.cursor)),t={r:b.borderRadius||0,rotation:n,padding:b.padding,zIndex:1},g.styledMode||(t.fill=b.backgroundColor,t.stroke=b.borderColor,t["stroke-width"]=
416+b.borderWidth),a.objectEach(t,function(a,b){void 0===a&&delete t[b]}));!q||r&&y(m)?r&&y(m)&&(q?t.text=m:(l.dataLabels=l.dataLabels||[],q=l.dataLabels[f]=n?u.text(m,0,-9999).addClass("highcharts-data-label"):u.label(m,0,-9999,b.shape,null,null,b.useHTML,null,"data-label"),f||(l.dataLabel=q),q.addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),q.options=b,q.attr(t),g.styledMode||q.css(h).shadow(b.shadow),q.added||q.add(c),b.textPath&&q.setTextPath(l.getDataLabelPath&&
417+l.getDataLabelPath(q)||l.graphic,b.textPath),d.alignDataLabel(l,q,b,null,E)):(l.dataLabel=l.dataLabel&&l.dataLabel.destroy(),l.dataLabels&&(1===l.dataLabels.length?delete l.dataLabels:delete l.dataLabels[f]),f||delete l.dataLabel,z&&(l.connector=l.connector.destroy(),l.connectors&&(1===l.connectors.length?delete l.connectors:delete l.connectors[f])))})});a.fireEvent(this,"afterDrawDataLabels")};x.prototype.alignDataLabel=function(a,b,d,f,k){var e=this.chart,g=this.isCartesian&&e.inverted,m=v(a.dlBox&&
418+a.dlBox.centerX,a.plotX,-9999),r=v(a.plotY,-9999),c=b.getBBox(),l,h=d.rotation,n=d.align,q=this.visible&&(a.series.forceDL||e.isInsidePlot(m,Math.round(r),g)||f&&e.isInsidePlot(m,g?f.x+1:f.y+f.height-1,g)),t="justify"===v(d.overflow,"justify");if(q&&(l=e.renderer.fontMetrics(e.styledMode?void 0:d.style.fontSize,b).b,f=F({x:g?this.yAxis.len-r:m,y:Math.round(g?this.xAxis.len-m:r),width:0,height:0},f),F(d,{width:c.width,height:c.height}),h?(t=!1,m=e.renderer.rotCorr(l,h),m={x:f.x+d.x+f.width/2+m.x,y:f.y+
419+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*f.height},b[k?"attr":"animate"](m).attr({align:n}),r=(h+720)%360,r=180<r&&360>r,"left"===n?m.y-=r?c.height:0:"center"===n?(m.x-=c.width/2,m.y-=c.height/2):"right"===n&&(m.x-=c.width,m.y-=r?0:c.height),b.placed=!0,b.alignAttr=m):(b.align(d,null,f),m=b.alignAttr),t&&0<=f.height?a.isLabelJustified=this.justifyDataLabel(b,d,m,c,f,k):v(d.crop,!0)&&(q=e.isInsidePlot(m.x,m.y)&&e.isInsidePlot(m.x+c.width,m.y+c.height)),d.shape&&!h))b[k?"attr":"animate"]({anchorX:g?
420+e.plotWidth-a.plotY:a.plotX,anchorY:g?e.plotHeight-a.plotX:a.plotY});q||(b.attr({y:-9999}),b.placed=!1)};x.prototype.justifyDataLabel=function(a,b,d,f,k,g){var e=this.chart,m=b.align,r=b.verticalAlign,c,l,h=a.box?0:a.padding||0;c=d.x+h;0>c&&("right"===m?b.align="left":b.x=-c,l=!0);c=d.x+f.width-h;c>e.plotWidth&&("left"===m?b.align="right":b.x=e.plotWidth-c,l=!0);c=d.y+h;0>c&&("bottom"===r?b.verticalAlign="top":b.y=-c,l=!0);c=d.y+f.height-h;c>e.plotHeight&&("top"===r?b.verticalAlign="bottom":b.y=e.plotHeight-
421+c,l=!0);l&&(a.placed=!g,a.align(b,null,k));return l};q.pie&&(q.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,b,d,f){return a.getX(d<b.top+2||d>b.bottom-2?f:d,b.half,b)},justify:function(a,b,d){return d[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,d,f){a=a.getBBox().width;return b?a+f:d-a-f},alignToConnectors:function(a,b,d,f){var e=0,g;a.forEach(function(a){g=a.dataLabel.getBBox().width;g>
422+e&&(e=g)});return b?e+f:d-e-f}},q.pie.prototype.drawDataLabels=function(){var e=this,b=e.data,d,f=e.chart,k=e.options.dataLabels,g=k.connectorPadding,n,q=f.plotWidth,r=f.plotHeight,c=f.plotLeft,l=Math.round(f.chartWidth/3),p,D=e.center,u=D[2]/2,t=D[1],w,M,Q,K,F=[[],[]],O,L,H,J,N=[0,0,0,0],R=e.dataLabelPositioners,W;e.visible&&(k.enabled||e._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),
423+a.dataLabel.shortened=!1)}),x.prototype.drawDataLabels.apply(e),b.forEach(function(a){a.dataLabel&&(a.visible?(F[a.half].push(a),a.dataLabel._pos=null,!y(k.style.width)&&!y(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>l&&(a.dataLabel.css({width:.7*l}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),F.forEach(function(b,l){var m,h,n=b.length,p=[],z;if(n)for(e.sortByAngle(b,
424+l-.5),0<e.maxLabelDistance&&(m=Math.max(0,t-u-e.maxLabelDistance),h=Math.min(t+u+e.maxLabelDistance,f.plotHeight),b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,t-u-a.labelDistance),a.bottom=Math.min(t+u+a.labelDistance,f.plotHeight),z=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+z/2,size:z,rank:a.y},p.push(a.distributeBox))}),m=h+z-m,a.distribute(p,m,m/5)),J=0;J<n;J++){d=b[J];Q=d.labelPosition;w=d.dataLabel;H=!1===d.visible?"hidden":
425+"inherit";L=m=Q.natural.y;p&&y(d.distributeBox)&&(void 0===d.distributeBox.pos?H="hidden":(K=d.distributeBox.size,L=R.radialDistributionY(d)));delete d.positionIndex;if(k.justify)O=R.justify(d,u,D);else switch(k.alignTo){case "connectors":O=R.alignToConnectors(b,l,q,c);break;case "plotEdges":O=R.alignToPlotEdges(w,l,q,c);break;default:O=R.radialDistributionX(e,d,L,m)}w._attr={visibility:H,align:Q.alignment};w._pos={x:O+k.x+({left:g,right:-g}[Q.alignment]||0),y:L+k.y-10};Q.final.x=O;Q.final.y=L;v(k.crop,
426+!0)&&(M=w.getBBox().width,m=null,O-M<g&&1===l?(m=Math.round(M-O+g),N[3]=Math.max(m,N[3])):O+M>q-g&&0===l&&(m=Math.round(O+M-q+g),N[1]=Math.max(m,N[1])),0>L-K/2?N[0]=Math.max(Math.round(-L+K/2),N[0]):L+K/2>r&&(N[2]=Math.max(Math.round(L+K/2-r),N[2])),w.sideOverflow=m)}}),0===C(N)||this.verifyDataLabelOverflow(N))&&(this.placeDataLabels(),this.points.forEach(function(a){W=h(k,a.options.dataLabels);if(n=v(W.connectorWidth,1)){var b;p=a.connector;if((w=a.dataLabel)&&w._pos&&a.visible&&0<a.labelDistance){H=
427+w._attr.visibility;if(b=!p)a.connector=p=f.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(e.dataLabelsGroup),f.styledMode||p.attr({"stroke-width":n,stroke:W.connectorColor||a.color||"#666666"});p[b?"attr":"animate"]({d:a.getConnectorPath()});p.attr("visibility",H)}else p&&(a.connector=p.destroy())}}))},q.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,d;b&&a.visible&&((d=b._pos)?
428+(b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](d),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},q.pie.prototype.alignDataLabel=u,q.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,d=this.options,e=d.center,k=d.minSize||80,f,g=null!==d.size;g||(null!==e[0]?f=Math.max(b[2]-
429+Math.max(a[1],a[3]),k):(f=Math.max(b[2]-a[1]-a[3],k),b[0]+=(a[3]-a[1])/2),null!==e[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),k):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),k),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(w(d.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):g=!0);return g});q.column&&(q.column.prototype.alignDataLabel=function(a,b,d,f,k){var e=this.chart.inverted,g=a.series,m=a.dlBox||a.shapeArgs,r=v(a.below,a.plotY>v(this.translatedThreshold,
430+g.yAxis.len)),c=v(d.inside,!!this.options.stacking);m&&(f=h(m),0>f.y&&(f.height+=f.y,f.y=0),m=f.y+f.height-g.yAxis.len,0<m&&(f.height-=m),e&&(f={x:g.yAxis.len-f.y-f.height,y:g.xAxis.len-f.x-f.width,width:f.height,height:f.width}),c||(e?(f.x+=r?0:f.width,f.width=0):(f.y+=r?f.height:0,f.height=0)));d.align=v(d.align,!e||c?"center":r?"right":"left");d.verticalAlign=v(d.verticalAlign,e||c?"middle":r?"top":"bottom");x.prototype.alignDataLabel.call(this,a,b,d,f,k);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})});
431+J(H,"modules/overlapping-datalabels.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,y=a.isArray,F=a.objectEach,p=a.pick,h=a.addEvent,u=a.fireEvent;h(C,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(h){a=a.concat(h())});(this.yAxis||[]).forEach(function(h){h.options.stackLabels&&!h.options.stackLabels.allowOverlap&&F(h.stacks,function(h){F(h,function(h){a.push(h.label)})})});(this.series||[]).forEach(function(h){var u=h.options.dataLabels;h.visible&&(!1!==u.enabled||
432+h._hasPointLabels)&&h.points.forEach(function(h){h.visible&&(y(h.dataLabels)?h.dataLabels:h.dataLabel?[h.dataLabel]:[]).forEach(function(g){var f=g.options;g.labelrank=p(f.labelrank,h.labelrank,h.shapeArgs&&h.shapeArgs.height);f.allowOverlap||a.push(g)})})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var h=this,p=a.length,q=h.renderer,g,f,n,e,b,d,m=function(a,b,d,e,f,c,l,g){return!(f>a+d||f+l<a||c>b+e||c+g<b)};n=function(a){var b,d,e,f=a.box?0:a.padding||0;e=0;if(a&&
433+(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},d=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,e=q.fontMetrics(null,a.element).h),{x:b.x+(d.translateX||0)+f,y:b.y+(d.translateY||0)+f-e,width:a.width-2*f,height:a.height-2*f}};for(f=0;f<p;f++)if(g=a[f])g.oldOpacity=g.opacity,g.newOpacity=1,g.absoluteBox=n(g);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(f=0;f<p;f++)for(d=(n=a[f])&&n.absoluteBox,g=f+1;g<p;++g)if(b=(e=a[g])&&
434+e.absoluteBox,d&&b&&n!==e&&0!==n.newOpacity&&0!==e.newOpacity&&(b=m(d.x,d.y,d.width,d.height,b.x,b.y,b.width,b.height)))(n.labelrank<e.labelrank?n:e).newOpacity=0;a.forEach(function(a){var b,d;a&&(d=a.newOpacity,a.oldOpacity!==d&&(a.alignAttr&&a.placed?(d?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=d,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),u(h,"afterHideOverlappingLabels")):a.attr({opacity:d})),a.isOld=!0)})}});J(H,"parts/Interaction.js",[H["parts/Globals.js"]],function(a){var C=
435+a.addEvent,y=a.Chart,F=a.createElement,p=a.css,h=a.defaultOptions,u=a.defaultPlotOptions,v=a.extend,w=a.fireEvent,x=a.hasTouch,q=a.isObject,g=a.Legend,f=a.merge,n=a.pick,e=a.Point,b=a.Series,d=a.seriesTypes,m=a.svg,k;k=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,d=b.pointer,e=function(a){var b=d.getPointFromEvent(a);void 0!==b&&(d.isDirectTouch=!0,b.onMouseOver(a))};a.points.forEach(function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=
436+a:a.dataLabel.element.point=a)});a._hasTracking||(a.trackerGroups.forEach(function(c){if(a[c]){a[c].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){d.onTrackerMouseOut(a)});if(x)a[c].on("touchstart",e);!b.styledMode&&a.options.cursor&&a[c].css(p).css({cursor:a.options.cursor})}}),a._hasTracking=!0);w(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,d=b.trackByArea,e=[].concat(d?a.areaPath:a.graphPath),c=e.length,l=a.chart,f=l.pointer,g=l.renderer,
437+k=l.options.tooltip.snap,h=a.tracker,n,q=function(){if(l.hoverSeries!==a)a.onMouseOver()},p="rgba(192,192,192,"+(m?.0001:.002)+")";if(c&&!d)for(n=c+1;n--;)"M"===e[n]&&e.splice(n+1,0,e[n+1]-k,e[n+2],"L"),(n&&"M"===e[n]||n===c)&&e.splice(n,0,"L",e[n-2]+k,e[n-1]);h?h.attr({d:e}):a.graph&&(a.tracker=g.path(e).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),l.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:p,
438+fill:d?p:"none","stroke-width":a.graph.strokeWidth()+(d?0:2*k)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",q).on("mouseout",function(a){f.onTrackerMouseOut(a)});b.cursor&&!l.styledMode&&a.css({cursor:b.cursor});if(x)a.on("touchstart",q)}));w(this,"afterDrawTracker")}};d.column&&(d.column.prototype.drawTracker=k.drawTrackerPoint);d.pie&&(d.pie.prototype.drawTracker=k.drawTrackerPoint);d.scatter&&(d.scatter.prototype.drawTracker=k.drawTrackerPoint);
439+v(g.prototype,{setItemEvents:function(a,b,d){var g=this,c=g.chart.renderer.boxWrapper,l=a instanceof e,k="highcharts-legend-"+(l?"point":"series")+"-active",h=g.chart.styledMode;(d?b:a.legendGroup).on("mouseover",function(){g.allItems.forEach(function(b){a!==b&&b.setState("inactive",!l)});a.setState("hover");a.visible&&c.addClass(k);h||b.css(g.options.itemHoverStyle)}).on("mouseout",function(){g.styledMode||b.css(f(a.visible?g.itemStyle:g.itemHiddenStyle));g.allItems.forEach(function(b){a!==b&&b.setState("",
440+!l)});c.removeClass(k);a.setState()}).on("click",function(b){var d=function(){a.setVisible&&a.setVisible()};c.removeClass(k);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,d):w(a,"legendItemClick",b,d)})},createCheckboxForItem:function(a){a.checkbox=F("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){w(a.series||a,"checkboxClick",
441+{checked:b.target.checked,item:a},function(){a.select()})})}});v(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,d=h.lang,e=b.options.chart.resetZoomButton,c=e.theme,l=c.states,f="chart"===e.relativeTo||"spaceBox"===e.relativeTo?null:"plotBox";w(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(d.resetZoom,null,null,a,c,l&&l.hover).attr({align:e.position.align,title:d.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,
442+f)});w(this,"afterShowResetZoom")},zoomOut:function(){w(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var d=this,e,f=d.pointer,c=!1,l=d.inverted?f.mouseDownX:f.mouseDownY,g;!b||b.resetSelection?(d.axes.forEach(function(a){e=a.zoom()}),f.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var g=b.axis,k=d.inverted?g.left:g.top,h=d.inverted?k+g.width:k+g.height,m=g.isXAxis,r=!1;if(!m&&l>=k&&l<=h||m||!a.defined(l))r=!0;f[m?"zoomX":"zoomY"]&&r&&(e=g.zoom(b.min,b.max),g.displayBtn&&
443+(c=!0))});g=d.resetZoomButton;c&&!g?d.showResetZoom():!c&&q(g)&&(d.resetZoomButton=g.destroy());e&&d.redraw(n(d.options.chart.animation,b&&b.animation,100>d.pointCount))},pan:function(a,b){var d=this,e=d.hoverPoints,c;w(this,"pan",{originalEvent:a},function(){e&&e.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=d[b?"xAxis":"yAxis"][0];var e=b.horiz,l=a[e?"chartX":"chartY"],e=e?"mouseDownX":"mouseDownY",f=d[e],g=(b.pointRange||0)/2,k=b.reversed&&!d.inverted||!b.reversed&&
444+d.inverted?-1:1,h=b.getExtremes(),m=b.toValue(f-l,!0)+g*k,k=b.toValue(f+b.len-l,!0)-g*k,r=k<m,f=r?k:m,m=r?m:k,k=Math.min(h.dataMin,g?h.min:b.toValue(b.toPixels(h.min)-b.minPixelPadding)),g=Math.max(h.dataMax,g?h.max:b.toValue(b.toPixels(h.max)+b.minPixelPadding)),r=k-f;0<r&&(m+=r,f=k);r=m-g;0<r&&(m=g,f-=r);b.series.length&&f!==h.min&&m!==h.max&&(b.setExtremes(f,m,!1,!1,{trigger:"pan"}),c=!0);d[e]=l});c&&d.redraw(!1);p(d.container,{cursor:"move"})})}});v(e.prototype,{select:function(a,b){var d=this,
445+e=d.series,c=e.chart;a=n(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;e.options.data[e.data.indexOf(d)]=d.options;d.setState(a&&"select");b||c.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==d&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(c.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,
446+d=b.pointer;a=a?d.normalize(a):d.getChartCoordinatesFromPoint(this,b.inverted);d.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,d=f(b.series.options.point,b.options).events;b.events=d;a.objectEach(d,function(a,d){C(b,d,a)});this.hasImportedEvents=!0}},setState:function(a,
447+b){var d=Math.floor(this.plotX),e=this.plotY,c=this.series,l=this.state,f=c.options.states[a||"normal"]||{},g=u[c.type].marker&&c.options.marker,k=g&&!1===g.enabled,h=g&&g.states&&g.states[a||"normal"]||{},m=!1===h.enabled,q=c.stateMarkerGraphic,p=this.marker||{},z=c.chart,B=c.halo,x,y,C,F=g&&c.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(m||k&&!1===h.enabled)||a&&p.states&&p.states[a]&&!1===p.states[a].enabled)){this.state=a;F&&(x=c.markerAttribs(this,
448+a));if(this.graphic)l&&this.graphic.removeClass("highcharts-point-"+l),a&&this.graphic.addClass("highcharts-point-"+a),z.styledMode||(y=c.pointAttribs(this,a),C=n(z.options.chart.animation,f.animation),c.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:y.opacity},C)}),this.connector&&this.connector.animate({opacity:y.opacity},C)),this.graphic.animate(y,C)),x&&this.graphic.animate(x,n(z.options.chart.animation,h.animation,g.animation)),q&&q.hide();else{if(a&&
449+h){l=p.symbol||c.symbol;q&&q.currentSymbol!==l&&(q=q.destroy());if(q)q[b?"animate":"attr"]({x:x.x,y:x.y});else l&&(c.stateMarkerGraphic=q=z.renderer.symbol(l,x.x,x.y,x.width,x.height).add(c.markerGroup),q.currentSymbol=l);!z.styledMode&&q&&q.attr(c.pointAttribs(this,a))}q&&(q[a&&z.isInsidePlot(d,e,z.inverted)?"show":"hide"](),q.element.point=this)}(a=f.halo)&&a.size?(B||(c.halo=B=z.renderer.path().add((this.graphic||q).parentGroup)),B.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),B.attr({"class":"highcharts-halo highcharts-color-"+
450+n(this.colorIndex,c.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),B.point=this,z.styledMode||B.attr(v({fill:this.color||c.color,"fill-opacity":a.opacity},a.attributes))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide);w(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});v(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();
451+this.options.events.mouseOver&&w(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&w(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var d=this,e=d.options,c=d.graph,l=e.inactiveOtherPoints,f=e.states,g=e.lineWidth,k=e.opacity,h=n(f[a||
452+"normal"]&&f[a||"normal"].animation,d.chart.options.chart.animation),e=0;a=a||"";if(d.state!==a&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(b){b&&(d.state&&b.removeClass("highcharts-series-"+d.state),a&&b.addClass("highcharts-series-"+a))}),d.state=a,!d.chart.styledMode)){if(f[a]&&!1===f[a].enabled)return;a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0),k=n(f[a].opacity,k));if(c&&!c.dashstyle)for(f={"stroke-width":g},c.animate(f,h);d["zone-graph-"+e];)d["zone-graph-"+e].attr(f),e+=
453+1;l||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(a){a&&a.animate({opacity:k},h)})}b&&l&&d.points&&d.points.forEach(function(b){b.setState&&b.setState(a)})},setVisible:function(a,b){var d=this,e=d.chart,c=d.legendItem,l,f=e.options.chart.ignoreHiddenSeries,g=d.visible;l=(d.visible=a=d.options.visible=d.userOptions.visible=void 0===a?!g:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(d[a])d[a][l]()});if(e.hoverSeries===
454+d||(e.hoverPoint&&e.hoverPoint.series)===d)d.onMouseOut();c&&e.legend.colorizeItem(d,a);d.isDirty=!0;d.options.stacking&&e.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});d.linkedSeries.forEach(function(b){b.setVisible(a,!1)});f&&(e.isDirtyBox=!0);w(d,l);!1!==b&&e.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);
455+w(this,a?"select":"unselect")},drawTracker:k.drawTrackerGraph})});J(H,"parts/Responsive.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,y=a.isArray,F=a.isObject,p=a.pick,h=a.splat;C.prototype.setResponsive=function(h,p){var u=this.options.responsive,v=[],q=this.currentResponsive;!p&&u&&u.rules&&u.rules.forEach(function(g){void 0===g._id&&(g._id=a.uniqueKey());this.matchResponsiveRule(g,v,h)},this);p=a.merge.apply(0,v.map(function(g){return a.find(u.rules,function(a){return a._id===g}).chartOptions}));
456+p.isResponsiveOptions=!0;v=v.toString()||void 0;v!==(q&&q.ruleIds)&&(q&&this.update(q.undoOptions,h),v?(q=this.currentOptions(p),q.isResponsiveOptions=!0,this.currentResponsive={ruleIds:v,mergedOptions:p,undoOptions:q},this.update(p,h)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,h){var u=a.condition;(u.callback||function(){return this.chartWidth<=p(u.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=p(u.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=p(u.minWidth,0)&&this.chartHeight>=
457+p(u.minHeight,0)}).call(this)&&h.push(a._id)};C.prototype.currentOptions=function(u){function v(u,q,g,f){var n;a.objectEach(u,function(a,b){if(!f&&-1<["series","xAxis","yAxis"].indexOf(b))for(a=h(a),g[b]=[],n=0;n<a.length;n++)q[b][n]&&(g[b][n]={},v(a[n],q[b][n],g[b][n],f+1));else F(a)?(g[b]=y(a)?[]:{},v(a,q[b]||{},g[b],f+1)):g[b]=p(q[b],null)})}var w={};v(u,this.options,w,0);return w}});J(H,"masters/highcharts.src.js",[H["parts/Globals.js"]],function(a){return a});J(H,"parts/Scrollbar.js",[H["parts/Globals.js"]],
458+function(a){function C(a,d,e){this.init(a,d,e)}var y=a.addEvent,F=a.Axis,p=a.correctFloat,h=a.defaultOptions,u=a.defined,v=a.destroyObjectProperties,w=a.fireEvent,x=a.hasTouch,q=a.merge,g=a.pick,f=a.removeEvent,n,e={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,
459+rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};h.scrollbar=q(!0,e,h.scrollbar);a.swapXY=n=function(a,d){var b=a.length,e;if(d)for(d=0;d<b;d+=3)e=a[d+1],a[d+1]=a[d+2],a[d+2]=e;return a};C.prototype={init:function(a,d,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=d;this.options=q(e,d);this.chart=f;this.size=g(this.options.size,this.options.height);d.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=
460+this.renderer,d=this.options,e=this.size,f=this.chart.styledMode,g;this.group=g=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:d.trackBorderRadius||0,height:e,width:e}).add(g);f||this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);
461+this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(n(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L",0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth}),this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=
462+this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,d,e,f){var b=this.options.vertical,g=0,k=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=f;this.yOffset=g;b?(this.width=this.yOffset=e=g=this.size,this.xOffset=d=0,this.barWidth=f-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=
463+f=d=this.size,this.barWidth=e-2*f,this.y+=this.options.margin);this.group[k]({translateX:a,translateY:this.y});this.track[k]({width:e,height:f});this.scrollbarButtons[1][k]({translateX:b?0:e-d,translateY:b?f-g:0})},drawScrollbarButton:function(a){var b=this.renderer,e=this.scrollbarButtons,f=this.options,g=this.size,h;h=b.g().add(this.group);e.push(h);h=b.rect().addClass("highcharts-scrollbar-button").add(h);this.chart.styledMode||h.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,
464+fill:f.buttonBackgroundColor});h.attr(h.crisp({x:-.5,y:-.5,width:g+1,height:g+1,r:f.buttonBorderRadius},h.strokeWidth()));h=b.path(n(["M",g/2+(a?-1:1),g/2-3,"L",g/2+(a?-1:1),g/2+3,"L",g/2+(a?2:-2),g/2],f.vertical)).addClass("highcharts-scrollbar-arrow").add(e[a]);this.chart.styledMode||h.attr({fill:f.buttonArrowColor})},setRange:function(a,d){var b=this.options,e=b.vertical,f=b.minWidth,g=this.barWidth,h,r,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":
465+"animate";u(g)&&(a=Math.max(a,0),h=Math.ceil(g*a),this.calculatedWidth=r=p(g*Math.min(d,1)-h),r<f&&(h=(g-f+r)*a,r=f),f=Math.floor(h+this.xOffset+this.yOffset),g=r/2-.5,this.from=a,this.to=d,e?(this.scrollbarGroup[c]({translateY:f}),this.scrollbar[c]({height:r}),this.scrollbarRifles[c]({translateY:g}),this.scrollbarTop=f,this.scrollbarLeft=0):(this.scrollbarGroup[c]({translateX:f}),this.scrollbar[c]({width:r}),this.scrollbarRifles[c]({translateX:g}),this.scrollbarLeft=f,this.scrollbarTop=0),12>=r?
466+this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),e=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(d=a.cursorToScrollbarPosition(d)[e],e=a[e],e=d-e,a.hasDragged=!0,a.updatePosition(f[0]+e,f[1]+e),a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",
467+DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=p(a.to-a.from)*a.options.step;a.updatePosition(p(a.from-d),p(a.to-d));w(a,
468+"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b),e=a.to-a.from,f=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>f||!a.options.vertical&&d.chartX>g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);w(a,"changed",{from:a.from,
469+to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,d){1<d&&(a=p(1-p(d-a)),d=1);0>a&&(d=p(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,q(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?
470+[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,h=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e,"mousedown",f],[e.ownerDocument,"mousemove",g],[e.ownerDocument,"mouseup",h]];x&&a.push([e,"touchstart",f],[e.ownerDocument,"touchmove",g],[e.ownerDocument,"touchend",h]);a.forEach(function(a){y.apply(null,a)});this._events=
471+a},removeEvents:function(){this._events.forEach(function(a){f.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,v(a.scrollbarButtons))}};a.Scrollbar||(y(F,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=
472+!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new C(b.chart.renderer,b.options.scrollbar,b.chart),y(b.scrollbar,"changed",function(d){var e=Math.min(g(b.options.min,b.min),b.min,b.dataMin),f=Math.max(g(b.options.max,b.max),b.max,b.dataMax)-e,h;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(h=e+f*this.to,e+=f*this.from):(h=e+f*(1-this.from),e+=f*(1-this.to));g(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===d.DOMType||!u(d.DOMType)?b.setExtremes(e,
473+h,!0,"mousemove"!==d.DOMType,d):this.setRange(this.from,this.to)}))}),y(F,"afterRender",function(){var a=Math.min(g(this.options.min,this.min),this.min,g(this.dataMin,this.min)),d=Math.max(g(this.options.max,this.max),this.max,g(this.dataMax,this.max)),e=this.scrollbar,f=this.titleOffset||0;if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:f+this.axisTitleMargin+this.offset),this.width,this.height),f=1):(e.position(this.left+this.width+
474+2+this.chart.scrollbarsOffsets[0]+(this.opposite?f+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),f=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[f]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)||isNaN(d)||!u(this.min)||!u(this.max)?e.setRange(0,0):(f=(this.min-a)/(d-a),a=(this.max-a)/(d-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(f,a):e.setRange(1-a,1-f))}}),y(F,"afterGetOffset",function(){var a=
475+this.horiz?2:1,d=this.scrollbar;d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=d.size+d.options.margin)}),a.Scrollbar=C)});J(H,"parts/Navigator.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}var y=a.addEvent,F=a.Axis,p=a.Chart,h=a.color,u=a.defaultOptions,v=a.defined,w=a.destroyObjectProperties,x=a.erase,q=a.extend,g=a.hasTouch,f=a.isArray,n=a.isNumber,e=a.isTouchDevice,b=a.merge,d=a.pick,m=a.removeEvent,k=a.Scrollbar,z=a.Series,B,A=function(a){var b=[].filter.call(arguments,
476+n);if(b.length)return Math[a].apply(0,b)};B=void 0===a.seriesTypes.areaspline?"line":"areaspline";q(u,{navigator:{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:h("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:B,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
477+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},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,
478+labels:{align:"left",style:{color:"#999999"},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}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,d,e,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};F.prototype.toFixedRange=
479+function(a,b,e,f){var c=this.chart&&this.chart.fixedRange;a=d(e,this.translate(a,!0,!this.horiz));b=d(f,this.translate(b,!0,!this.horiz));e=c&&(b-a)/c;.7<e&&1.3>e&&(f?a=b-c:b=a+c);n(a)&&n(b)||(a=b=void 0);return{min:a,max:b}};C.prototype={drawHandle:function(a,b,d,e){var c=this.navigatorOptions.handles.height;this.handles[b][e](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-c)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+
480+this.height/2-c/2-1)})},drawOutline:function(a,b,d,e){var c=this.navigatorOptions.maskInside,l=this.outline.strokeWidth(),f=l/2,l=l%2/2,g=this.outlineHeight,k=this.scrollbarHeight,h=this.size,n=this.left-k,m=this.top;d?(n-=f,d=m+b+l,b=m+a+l,a=["M",n+g,m-k-l,"L",n+g,d,"L",n,d,"L",n,b,"L",n+g,b,"L",n+g,m+h+k].concat(c?["M",n+g,d-f,"L",n+g,b+f]:[])):(a+=n+k-l,b+=n+k-l,m+=f,a=["M",n,m,"L",a,m,"L",a,m+g,"L",b,m+g,"L",b,m,"L",n+h+2*k,m].concat(c?["M",a-f,m,"L",b+f,m]:[]));this.outline[e]({d:a})},drawMasks:function(a,
481+b,d,e){var c=this.left,l=this.top,f=this.height,g,k,h,n;d?(h=[c,c,c],n=[l,l+a,l+b],k=[f,f,f],g=[a,b-a,this.size-b]):(h=[c,c+a,c+b],n=[l,l,l],k=[a,b-a,this.size-b],g=[f,f,f]);this.shades.forEach(function(a,b){a[e]({x:h[b],y:n[b],width:k[b],height:g[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,d=b.maskInside,e=a.chart,f=e.renderer,g,k={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=g=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!d,d,!d].forEach(function(c,
482+d){a.shades[d]=f.rect().addClass("highcharts-navigator-mask"+(1===d?"-inside":"-outside")).add(g);e.styledMode||a.shades[d].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===d&&k)});a.outline=f.path().addClass("highcharts-navigator-outline").add(g);e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=e.inverted;a.handles[c]=f.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,
483+b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(g);if(!e.styledMode){var d=b.handles;a.handles[c].attr({fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.lineWidth}).css(k)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,c,e,f){var l=
484+this.chart,g,k,h=this.scrollbarHeight,m,r=this.xAxis;g=r.fake?l.xAxis[0]:r;var q=this.navigatorEnabled,p,u=this.rendered;k=l.inverted;var E,z=l.xAxis[0].minRange,B=l.xAxis[0].options.maxRange;if(!this.hasDragged||v(e)){if(!n(b)||!n(c))if(u)e=0,f=d(r.width,g.width);else return;this.left=d(r.left,l.plotLeft+h+(k?l.plotWidth:0));this.size=p=m=d(r.len,(k?l.plotHeight:l.plotWidth)-2*h);l=k?h:m+2*h;e=d(e,r.toPixels(b,!0));f=d(f,r.toPixels(c,!0));n(e)&&Infinity!==Math.abs(e)||(e=0,f=l);b=r.toValue(e,!0);
485+c=r.toValue(f,!0);E=Math.abs(a.correctFloat(c-b));E<z?this.grabbedLeft?e=r.toPixels(c-z,!0):this.grabbedRight&&(f=r.toPixels(b+z,!0)):v(B)&&E>B&&(this.grabbedLeft?e=r.toPixels(c-B,!0):this.grabbedRight&&(f=r.toPixels(b+B,!0)));this.zoomedMax=Math.min(Math.max(e,f,0),p);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,f),0),p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);q&&(this.navigatorGroup.attr({visibility:"visible"}),
486+u=u&&!this.hasDragged?"animate":"attr",this.drawMasks(e,p,k,u),this.drawOutline(e,p,k,u),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,k,u),this.drawHandle(p,1,k,u)));this.scrollbar&&(k?(k=this.top-h,g=this.left-h+(q||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),h=m+2*h):(k=this.top+(q?this.height:-h),g=this.left-h),this.scrollbar.position(g,k,l,h),this.scrollbar.setRange(this.zoomedMin/(m||1),this.zoomedMax/(m||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
487+d=b.container,e=[],f,k;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=k=function(b){a.onMouseUp(b)};e=a.getPartsEvents("mousedown");e.push(y(d,"mousemove",f),y(d.ownerDocument,"mouseup",k));g&&(e.push(y(d,"touchmove",f),y(d.ownerDocument,"touchend",k)),e.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=e;a.series&&a.series[0]&&e.push(y(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,d=[];
488+["shades","handles"].forEach(function(c){b[c].forEach(function(e,f){d.push(y(e.element,a,function(a){b[c+"Mousedown"](a,f)}))})});return d},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,k=this.range,h=a.chartX,n,m;c.inverted&&(h=a.chartY,f=this.top);1===b?(this.grabbedCenter=h,this.fixedWidth=k,this.dragOffset=h-e):(a=h-f-k/2,0===b?a=Math.max(0,a):2===b&&a+k>=g&&(a=g-k,this.reversedExtremes?(a-=k,m=this.getUnionExtremes().dataMin):
489+n=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=k,b=d.toFixedRange(a,a+k,m,n),v(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);
490+a.fixedRange=null},onMouseMove:function(b){var c=this,f=c.chart,g=c.left,k=c.navigatorSize,h=c.range,n=c.dragOffset,m=f.inverted;b.touches&&0===b.touches[0].pageX||(b=f.pointer.normalize(b),f=b.chartX,m&&(g=c.top,f=b.chartY),c.grabbedLeft?(c.hasDragged=!0,c.render(0,0,f-g,c.otherHandlePos)):c.grabbedRight?(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,f-g)):c.grabbedCenter&&(c.hasDragged=!0,f<n?f=n:f>k+n-h&&(f=k+n-h),c.render(0,0,f-n,f-n+h)),c.hasDragged&&c.scrollbar&&d(c.scrollbar.options.liveRedraw,
491+a.svg&&!e&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){c.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,d=this.xAxis,e=this.scrollbar,f,g,k=a.DOMEvent||a;(!this.hasDragged||e&&e.hasDragged)&&"scrollbar"!==a.trigger||(e=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?f=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(g=this.fixedExtreme),this.zoomedMax===this.size&&(g=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(f=this.reversedExtremes?
492+e.dataMax:e.dataMin),d=d.toFixedRange(this.zoomedMin,this.zoomedMax,f,g),v(d.min)&&b.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:k}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),
493+this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){m(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&m(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var c=a.options,e=c.navigator,f=e.enabled,g=c.scrollbar,h=g.enabled,c=f?e.height:0,n=h?g.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();
494+this.height=c;this.scrollbarHeight=n;this.scrollbarEnabled=h;this.navigatorEnabled=f;this.navigatorOptions=e;this.scrollbarOptions=g;this.outlineHeight=c+n;this.opposite=d(e.opposite,!f&&a.inverted);var m=this,f=m.baseSeries,g=a.xAxis.length,h=a.yAxis.length,r=f&&f[0]&&f[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;m.navigatorEnabled?(m.xAxis=new F(a,b({breaks:r.options.breaks,ordinal:r.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:g,isInternal:!0,
495+offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[n,0,-n,0],width:c}:{offsets:[0,-n,0,n],height:c})),m.yAxis=new F(a,b(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,zoomEnabled:!1},a.inverted?{width:c}:{height:c})),f||e.series.data?m.updateNavigatorSeries(!1):0===a.series.length&&(m.unbindRedraw=y(a,"beforeRedraw",function(){0<a.series.length&&!m.series&&(m.setBaseSeries(),m.unbindRedraw())})),m.reversedExtremes=
496+a.inverted&&!m.xAxis.reversed||!a.inverted&&m.xAxis.reversed,m.renderElements(),m.addMouseEvents()):m.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),f=d.len-2*n,g=A("min",d.options.min,e.dataMin),d=A("max",d.options.max,e.dataMax)-g;return c?b*d/f+g:f*(b-g)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:F.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=m.scrollbar=new k(a.renderer,b(a.options.scrollbar,
497+{margin:m.navigatorEnabled?0:10,vertical:a.inverted}),a),y(m.scrollbar,"changed",function(b){var c=m.size,d=c*this.to,c=c*this.from;m.hasDragged=m.scrollbar.hasDragged;m.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){m.onMouseUp(b)})}));m.addBaseSeriesEvents();m.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],e=this.xAxis,f=e.options,g=b.options,k;a&&null===b.dataMin||(k={dataMin:d(f&&f.min,A("min",
498+g.min,b.dataMin,e.dataMin,e.min)),dataMax:d(f&&f.max,A("max",g.max,b.dataMax,e.dataMax,e.max))});return k},setBaseSeries:function(b,c){var d=this.chart,e=this.baseSeries=[];b=b||d.options&&d.options.navigator.baseSeries||(d.series.length?a.find(d.series,function(a){return!a.options.isInternal}).index:0);(d.series||[]).forEach(function(a,c){a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,
499+c)},updateNavigatorSeries:function(d,c){var e=this,g=e.chart,k=e.baseSeries,h,n,r=e.navigatorOptions.series,p,v={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},z=e.series=(e.series||[]).filter(function(a){var b=a.baseSeries;return 0>k.indexOf(b)?(b&&(m(b,"updatedData",e.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});k&&k.length&&
500+k.forEach(function(a){var d=a.navigatorSeries,l=q({color:a.color,visible:a.visible},f(r)?u.navigator.series:r);d&&!1===e.navigatorOptions.adaptToUpdatedData||(v.name="Navigator "+k.length,h=a.options||{},p=h.navigatorOptions||{},n=b(h,v,l,p),l=p.data||l.data,e.hasNavigatorData=e.hasNavigatorData||!!l,n.data=l||h.data&&h.data.slice(0),d&&d.options?d.update(n,c):(a.navigatorSeries=g.initSeries(n),a.navigatorSeries.baseSeries=a,z.push(a.navigatorSeries)))});if(r.data&&(!k||!k.length)||f(r))e.hasNavigatorData=
501+!1,r=a.splat(r),r.forEach(function(a,c){v.name="Navigator "+(z.length+1);n=b(u.navigator.series,{color:g.series[c]&&!g.series[c].options.isInternal&&g.series[c].color||g.options.colors[c]||g.options.colors[0]},v,a);n.data=a.data;n.data&&(e.hasNavigatorData=!0,z.push(g.initSeries(n)))});d&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&y(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){y(b,"show",function(){this.navigatorSeries&&
502+this.navigatorSeries.setVisible(!0,!1)});y(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&y(b,"updatedData",this.updatedDataHandler);y(b,"remove",function(){this.navigatorSeries&&(x(a.series,this.navigatorSeries),v(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?
503+b.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),e=b.dataMin,f=b.dataMax,b=b.max-b.min,g=a.stickToMin,k=a.stickToMax,h=d(this.options.overscroll,0),m,q,p=a.series&&a.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(q=e,
504+m=q+b),k&&(m=f+h,g||(q=Math.max(m-b,a.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(g||k)&&n(q)&&(this.min=this.userMin=q,this.max=this.userMax=m));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,d=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=n(this.xAxis.min)&&this.xAxis.min<=d&&(!this.chart.fixedRange||!a.stickToMax);
505+b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(y(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),y(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":
506+"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis));this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&
507+this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){w(a)},this)}};a.Navigator||(a.Navigator=C,y(F,"zoom",function(a){var b=this.chart.options,d=b.chart.zoomType,f=b.chart.pinchType,g=b.navigator,b=b.rangeSelector;this.isXAxis&&(g&&g.enabled||b&&b.enabled)&&("y"===d?a.zoomed=!1:(!e&&"xy"===d||e&&"xy"===f)&&this.options.range&&(d=this.previousZoom,v(a.newMin)?this.previousZoom=[this.min,this.max]:d&&(a.newMin=d[0],a.newMax=d[1],delete this.previousZoom)));void 0!==
508+a.zoomed&&a.preventDefault()}),y(p,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,d=a.rangeSelector;if((b&&b.enabled||d&&d.enabled)&&(!e&&"x"===a.chart.zoomType||e&&"x"===a.chart.pinchType))return!1}),y(p,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new C(this)}),y(p,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,e,f,g,k;b&&(f=a&&a.options,g=b.xAxis,k=b.yAxis,e=b.scrollbarHeight,this.inverted?
509+(b.left=b.opposite?this.chartWidth-e-b.height:this.spacing[3]+e,b.top=this.plotTop+e):(b.left=this.plotLeft+e,b.top=b.navigatorOptions.top||this.chartHeight-b.height-e-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(f&&"bottom"===f.verticalAlign&&f.enabled&&!f.floating?a.legendHeight+d(f.margin,10):0)),g&&k&&(this.inverted?g.options.left=k.options.left=b.left:g.options.top=k.options.top=b.top,g.setAxisSize(),k.setAxisSize()))}),y(p,"update",function(a){var c=
510+a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(b(!0,this.options.navigator,c),b(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),y(p,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new C(this),d(a.redraw,!0)&&this.redraw(a.animation))}),y(p,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,
511+!1)}),y(z,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),p.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});J(H,"parts/OrdinalAxis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.Axis,F=a.Chart,p=a.css,h=a.defined,u=a.extend,v=a.noop,w=a.pick,x=a.timeUnits;C(a.Series,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinalIndex});
512+y.prototype.getTimeTicks=function(a,g,f,n,e,b,d){var m=0,k,q,p={},u,r,c,l=[],v=-Number.MAX_VALUE,w=this.options.tickPixelInterval,G=this.chart.time,t=[];if(!this.options.ordinal&&!this.options.breaks||!e||3>e.length||void 0===g)return G.getTimeTicks.apply(G,arguments);r=e.length;for(k=0;k<r;k++){c=k&&e[k-1]>f;e[k]<g&&(m=k);if(k===r-1||e[k+1]-e[k]>5*b||c){if(e[k]>v){for(q=G.getTimeTicks(a,e[m],e[k],n);q.length&&q[0]<=v;)q.shift();q.length&&(v=q[q.length-1]);t.push(l.length);l=l.concat(q)}m=k+1}if(c)break}q=
513+q.info;if(d&&q.unitRange<=x.hour){k=l.length-1;for(m=1;m<k;m++)G.dateFormat("%d",l[m])!==G.dateFormat("%d",l[m-1])&&(p[l[m]]="day",u=!0);u&&(p[l[0]]="day");q.higherRanks=p}q.segmentStarts=t;l.info=q;if(d&&h(w)){m=t=l.length;u=[];for(var y,G=[];m--;)k=this.translate(l[m]),y&&(G[m]=y-k),u[m]=y=k;G.sort();G=G[Math.floor(G.length/2)];G<.6*w&&(G=null);m=l[t-1]>f?t-1:t;for(y=void 0;m--;)k=u[m],t=Math.abs(y-k),y&&t<.8*w&&(null===G||t<.8*G)?(p[l[m]]&&!p[l[m+1]]?(t=m+1,y=k):t=m,l.splice(t,1)):y=k}return l};
514+u(y.prototype,{beforeSetTickPositions:function(){var a,g=[],f,h=!1,e,b=this.getExtremes(),d=b.min,m=b.max,k,p=this.isXAxis&&!!this.options.breaks,b=this.options.ordinal,u=Number.MAX_VALUE,v=this.chart.options.chart.ignoreHiddenSeries,r;if(b||p){this.series.forEach(function(b,d){f=[];if(!(v&&!1===b.visible||!1===b.takeOrdinalPosition&&!p)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),u=Math.min(u,w(b.closestPointRange,u)),a)){for(d=0;d<a-1;)g[d]!==g[d+1]&&f.push(g[d+1]),
515+d++;f[0]!==g[0]&&f.unshift(g[0]);g=f}b.isSeriesBoosting&&(r=!0)});r&&(g.length=0);a=g.length;if(2<a){e=g[1]-g[0];for(k=a-1;k--&&!h;)g[k+1]-g[k]!==e&&(h=!0);!this.options.keepOrdinalPadding&&(g[0]-d>e||m-g[g.length-1]>e)&&(h=!0)}else this.options.overscroll&&(2===a?u=g[1]-g[0]:1===a?(u=this.options.overscroll,g=[g[0],g[0]+u]):u=this.overscrollPointsRange);h?(this.options.overscroll&&(this.overscrollPointsRange=u,g=g.concat(this.getOverscrollPositions())),this.ordinalPositions=g,e=this.ordinal2lin(Math.max(d,
516+g[0]),!0),k=Math.max(this.ordinal2lin(Math.min(m,g[g.length-1]),!0),1),this.ordinalSlope=m=(m-d)/(k-e),this.ordinalOffset=d-e*m):(this.overscrollPointsRange=w(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=b&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var f=this.ordinalPositions;if(f){var h=f.length,e,b;for(e=h;e--;)if(f[e]===a){b=e;break}for(e=h-1;e--;)if(a>f[e]||0===e){a=(a-f[e])/(f[e+1]-f[e]);b=e+
517+a;break}g=g?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var f=this.ordinalPositions;if(f){var h=this.ordinalSlope,e=this.ordinalOffset,b=f.length-1,d;if(g)0>a?a=f[0]:a>b?a=f[b]:(b=Math.floor(a),d=a-b);else for(;b--;)if(g=h*b+e,a>=g){h=h*(b+1)+e;d=(a-g)/(h-g);break}return void 0!==d&&void 0!==f[b]?f[b]+(d?d*(f[b+1]-f[b]):0):a}return a},getExtendedPositions:function(){var a=this,g=a.chart,f=a.series[0].currentDataGrouping,h=a.ordinalIndex,e=f?f.count+f.unitName:
518+"raw",b=a.options.overscroll,d=a.getExtremes(),m,k;h||(h=a.ordinalIndex={});h[e]||(m={series:[],chart:g,getExtremes:function(){return{min:d.dataMin,max:d.dataMax+b}},options:{ordinal:!0},val2lin:y.prototype.val2lin,ordinal2lin:y.prototype.ordinal2lin},a.series.forEach(function(b){k={xAxis:m,xData:b.xData.slice(),chart:g,destroyGroupedData:v};k.xData=k.xData.concat(a.getOverscrollPositions());k.options={dataGrouping:f?{enabled:!0,forced:!0,approximation:"open",units:[[f.unitName,[f.count]]]}:{enabled:!1}};
519+b.processData.apply(k);m.series.push(k)}),a.beforeSetTickPositions.apply(m),h[e]=m.ordinalPositions);return h[e]},getOverscrollPositions:function(){var h=this.options.overscroll,g=this.overscrollPointsRange,f=[],n=this.dataMax;if(a.defined(g))for(f.push(n);n<=this.dataMax+h;)n+=g,f.push(n);return f},getGroupIntervalFactor:function(a,g,f){var h;f=f.processedXData;var e=f.length,b=[];h=this.groupIntervalFactor;if(!h){for(h=0;h<e-1;h++)b[h]=f[h+1]-f[h];b.sort(function(a,b){return a-b});b=b[Math.floor(e/
520+2)];a=Math.max(a,f[0]);g=Math.min(g,f[e-1]);this.groupIntervalFactor=h=e*b/(g-a)}return h},postProcessTickInterval:function(a){var g=this.ordinalSlope;return g?this.options.breaks?this.closestPointRange||a:a/(g/this.closestPointRange):a}});y.prototype.ordinal2lin=y.prototype.val2lin;C(F,"pan",function(a){var g=this.xAxis[0],f=g.options.overscroll,h=a.originalEvent.chartX,e=!1;if(g.options.ordinal&&g.series.length){var b=this.mouseDownX,d=g.getExtremes(),m=d.dataMax,k=d.min,q=d.max,u=this.hoverPoints,
521+v=g.closestPointRange||g.overscrollPointsRange,b=(b-h)/(g.translationSlope*(g.ordinalSlope||v)),r={ordinalPositions:g.getExtendedPositions()},v=g.lin2val,c=g.val2lin,l;r.ordinalPositions?1<Math.abs(b)&&(u&&u.forEach(function(a){a.setState()}),0>b?(u=r,l=g.ordinalPositions?g:r):(u=g.ordinalPositions?g:r,l=r),r=l.ordinalPositions,m>r[r.length-1]&&r.push(m),this.fixedRange=q-k,b=g.toFixedRange(null,null,v.apply(u,[c.apply(u,[k,!0])+b,!0]),v.apply(l,[c.apply(l,[q,!0])+b,!0])),b.min>=Math.min(d.dataMin,
522+k)&&b.max<=Math.max(m,q)+f&&g.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=h,p(this.container,{cursor:"move"})):e=!0}else e=!0;e?f&&(g.max=g.dataMax+f):a.preventDefault()});C(y,"foundExtremes",function(){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))})});
523+J(H,"modules/broken-axis.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.pick,F=a.extend,p=a.isArray,h=a.find,u=a.fireEvent,v=a.Axis,w=a.Series,x=function(a,g){return h(g,function(f){return f.from<a&&a<f.to})};F(v.prototype,{isInBreak:function(a,g){var f=a.repeat||Infinity,h=a.from,e=a.to-a.from;g=g>=h?(g-h)%f:f-(h-g)%f;return a.inclusive?g<=e:g<e&&0!==g},isInAnyBreak:function(a,g){var f=this.options.breaks,h=f&&f.length,e,b,d;if(h){for(;h--;)this.isInBreak(f[h],a)&&(e=!0,b||(b=y(f[h].showPoints,
524+!this.isXAxis)));d=e&&g?e&&!b:e}return d}});C(v,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});C(v,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,g=this.tickPositions.info,f=[],h;for(h=0;h<a.length;h++)this.isInAnyBreak(a[h])||f.push(a[h]);this.tickPositions=f;this.tickPositions.info=g}});C(v,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});v.prototype.setBreaks=function(a,g){function f(a){var b=
525+a,d,f;for(f=0;f<e.breakArray.length;f++)if(d=e.breakArray[f],d.to<=a)b-=d.len;else if(d.from>=a)break;else if(e.isInBreak(d,a)){b-=a-d.from;break}return b}function h(a){var b,d;for(d=0;d<e.breakArray.length&&!(b=e.breakArray[d],b.from>=a);d++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a}var e=this,b=p(a)&&!!a.length;e.isDirty=e.isBroken!==b;e.isBroken=b;e.options.breaks=e.userOptions.breaks=a;e.forceRedraw=!0;b||e.val2lin!==f||(delete e.val2lin,delete e.lin2val);b&&(e.userOptions.ordinal=
526+!1,e.val2lin=f,e.lin2val=h,e.setExtremes=function(a,b,e,f,g){if(this.isBroken){for(var d,k=this.options.breaks;d=x(a,k);)a=d.to;for(;d=x(b,k);)b=d.from;b<a&&(b=a)}v.prototype.setExtremes.call(this,a,b,e,f,g)},e.setAxisTranslation=function(a){v.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=e.options.breaks;var b=[],d=[],f=0,g,h,n=e.userMin||e.min,c=e.userMax||e.max,l=y(e.pointRangePadding,0),p,q;a.forEach(function(a){h=a.repeat||Infinity;e.isInBreak(a,n)&&(n+=a.to%
527+h-n%h);e.isInBreak(a,c)&&(c-=c%h-a.from%h)});a.forEach(function(a){p=a.from;for(h=a.repeat||Infinity;p-h>n;)p-=h;for(;p<n;)p+=h;for(q=p;q<c;q+=h)b.push({value:q,move:"in"}),b.push({value:q+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});g=0;p=n;b.forEach(function(a){g+="in"===a.move?1:-1;1===g&&"in"===a.move&&(p=a.value);0===g&&(d.push({from:p,to:a.value,len:a.value-p-(a.size||0)}),f+=a.value-p-(a.size||
528+0))});e.breakArray=d;e.unitLength=c-n-f+l;u(e,"afterBreaks");e.staticScale?e.transA=e.staticScale:e.unitLength&&(e.transA*=(c-e.min+l)/e.unitLength);l&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=n;e.max=c}});y(g,!0)&&this.chart.redraw()};C(w,"afterGeneratePoints",function(){var a=this.xAxis,g=this.yAxis,f=this.points,h,e=f.length,b=this.options.connectNulls,d;if(a&&g&&(a.options.breaks||g.options.breaks))for(;e--;)h=f[e],d=null===h.y&&!1===b,d||!a.isInAnyBreak(h.x,!0)&&!g.isInAnyBreak(h.y,
529+!0)||(f.splice(e,1),this.data[e]&&this.data[e].destroyElements())});C(w,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,y(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,g){var f=this,h=f.points,e,b,d,m;a&&g.forEach(function(g){e=a.breakArray||[];b=a.isXAxis?a.min:y(f.options.threshold,a.min);h.forEach(function(f){m=y(f["stack"+g.toUpperCase()],f[g]);e.forEach(function(e){d=!1;if(b<e.from&&m>e.to||b>e.from&&m<e.from)d="pointBreak";else if(b<
530+e.from&&m>e.from&&m<e.to||b>e.from&&m>e.to&&m<e.from)d="pointInBreak";d&&u(a,d,{point:f,brk:e})})})})};a.Series.prototype.gappedPath=function(){var h=this.currentDataGrouping,g=h&&h.gapSize,h=this.options.gapSize,f=this.points.slice(),n=f.length-1,e=this.yAxis;if(h&&0<n)for("value"!==this.options.gapUnit&&(h*=this.closestPointRange),g&&g>h&&(h=g);n--;)f[n+1].x-f[n].x>h&&(g=(f[n].x+f[n+1].x)/2,f.splice(n+1,0,{isNull:!0,x:g}),this.options.stacking&&(g=e.stacks[this.stackKey][g]=new a.StackItem(e,e.options.stackLabels,
531+!1,g,this.stack),g.total=0));return this.getGraphPath(f)}});J(H,"masters/modules/broken-axis.src.js",[],function(){});J(H,"parts/DataGrouping.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.arrayMax,F=a.arrayMin,p=a.Axis,h=a.defaultPlotOptions,u=a.defined,v=a.extend,w=a.format,x=a.isNumber,q=a.merge,g=a.pick,f=a.Point,n=a.Series,e=a.Tooltip,b=a.approximations={sum:function(a){var b=a.length,c;if(!b&&a.hasNulls)c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var c=
532+a.length;a=b.sum(a);x(a)&&c&&(a/=c);return a},averages:function(){var a=[];[].forEach.call(arguments,function(c){a.push(b.average(c))});return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?y(a):a.hasNulls?null:void 0},low:function(a){return a.length?F(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,c,d,e){a=b.open(a);c=b.high(c);d=b.low(d);e=b.close(e);if(x(a)||
533+x(c)||x(d)||x(e))return[a,c,d,e]},range:function(a,c){a=b.low(a);c=b.high(c);if(x(a)||x(c))return[a,c];if(null===a&&null===c)return null}},d=function(a,c,d,e){var f=this,g=f.data,k=f.options&&f.options.data,l=[],h=[],m=[],n=a.length,p,r,v=!!c,w=[],z=f.pointArrayMap,B=z&&z.length,D=["x"].concat(z||["y"]),A=0,E=0,y,G;e="function"===typeof e?e:b[e]?b[e]:b[f.getDGApproximation&&f.getDGApproximation()||"average"];B?z.forEach(function(){w.push([])}):w.push([]);y=B||1;for(G=0;G<=n&&!(a[G]>=d[0]);G++);for(G;G<=
534+n;G++){for(;void 0!==d[A+1]&&a[G]>=d[A+1]||G===n;){p=d[A];f.dataGroupInfo={start:f.cropStart+E,length:w[0].length};r=e.apply(f,w);f.pointClass&&!u(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=q(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+E])),D.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==r&&(l.push(p),h.push(r),m.push(f.dataGroupInfo));E=G;for(p=0;p<y;p++)w[p].length=0,w[p].hasNulls=!1;A+=1;if(G===n)break}if(G===n)break;if(z){p=f.cropStart+
535+G;r=g&&g[p]||f.pointClass.prototype.applyOptions.apply({series:f},[k[p]]);var C;for(p=0;p<B;p++)C=r[z[p]],x(C)?w[p].push(C):null===C&&(w[p].hasNulls=!0)}else p=v?c[G]:null,x(p)?w[0].push(p):null===p&&(w[0].hasNulls=!0)}return{groupedXData:l,groupedYData:h,groupMap:m}},m={approximations:b,groupData:d},k=n.prototype,z=k.processData,B=k.generatePoints,A={groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S",
536+"%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},r={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},c=a.defaultDataGroupingUnits=
537+[["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]],["week",[1]],["month",[1,3,6]],["year",null]];k.getDGApproximation=function(){return a.seriesTypes.arearange&&this instanceof a.seriesTypes.arearange?"range":a.seriesTypes.ohlc&&this instanceof a.seriesTypes.ohlc?"ohlc":a.seriesTypes.column&&this instanceof a.seriesTypes.column?"sum":"average"};k.groupData=d;k.processData=function(){var a=this.chart,b=this.options.dataGrouping,
538+d=!1!==this.allowDG&&b&&g(b.enabled,a.options.isStock),e=this.visible||!a.options.chart.ignoreHiddenSeries,f,h=this.currentDataGrouping,m,n=!1;this.forceCrop=d;this.groupPixelWidth=null;this.hasProcessed=!0;d&&!this.requireSorting&&(this.requireSorting=n=!0);d=!1===z.apply(this,arguments)||!d;n&&(this.requireSorting=!1);if(!d){this.destroyGroupedData();var p,d=b.groupAll?this.xData:this.processedXData,q=b.groupAll?this.yData:this.processedYData,r=a.plotSizeX,a=this.xAxis,v=a.options.ordinal,w=this.groupPixelWidth=
539+a.getGroupPixelWidth&&a.getGroupPixelWidth();if(w){this.isDirty=f=!0;this.points=null;n=a.getExtremes();m=n.min;var n=n.max,v=v&&a.getGroupIntervalFactor(m,n,this)||1,w=w*(n-m)/r*v,r=a.getTimeTicks(a.normalizeTimeTickInterval(w,b.units||c),Math.min(m,d[0]),Math.max(n,d[d.length-1]),a.options.startOfWeek,d,this.closestPointRange),q=k.groupData.apply(this,[d,q,r,b.approximation]),d=q.groupedXData,v=q.groupedYData,B=0;if(b.smoothed&&d.length){p=d.length-1;for(d[p]=Math.min(d[p],n);p--&&0<p;)d[p]+=w/
540+2;d[0]=Math.max(d[0],m)}for(p=1;p<r.length;p++)r.info.segmentStarts&&-1!==r.info.segmentStarts.indexOf(p)||(B=Math.max(r[p]-r[p-1],B));m=r.info;m.gapSize=B;this.closestPointRange=r.info.totalRange;this.groupMap=q.groupMap;if(u(d[0])&&d[0]<a.dataMin&&e){if(!u(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=d[0];a.dataMin=d[0]}b.groupAll&&(b=this.cropData(d,v,a.min,a.max,1),d=b.xData,v=b.yData);this.processedXData=d;this.processedYData=v}else this.groupMap=null;this.hasGroupedData=f;this.currentDataGrouping=
541+m;this.preventGraphAnimation=(h&&h.totalRange)!==(m&&m.totalRange)}};k.destroyGroupedData=function(){var a=this.groupedData;(a||[]).forEach(function(b,c){b&&(a[c]=b.destroy?b.destroy():null)});this.groupedData=null};k.generatePoints=function(){B.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};C(f,"update",function(){if(this.dataGroup)return a.error(24,!1,this.series.chart),!1});C(e,"headerFormatter",function(a){var b=this.chart.time,c=a.labelConfig,d=c.series,
542+e=d.tooltipOptions,f=d.options.dataGrouping,g=e.xDateFormat,k,h=d.xAxis,l,m=e[(a.isFooter?"footer":"header")+"Format"];h&&"datetime"===h.options.type&&f&&x(c.key)&&(l=d.currentDataGrouping,f=f.dateTimeLabelFormats||A.dateTimeLabelFormats,l?(e=f[l.unitName],1===l.count?g=e[0]:(g=e[1],k=e[2])):!g&&f&&(g=this.getXDateFormat(c,e,h)),g=b.dateFormat(g,c.key),k&&(g+=b.dateFormat(k,c.key+l.totalRange-1)),d.chart.styledMode&&(m=this.styledModeFormat(m)),a.text=w(m,{point:v(c.point,{key:g}),series:d},b),a.preventDefault())});
543+C(n,"destroy",k.destroyGroupedData);C(n,"afterSetOptions",function(a){a=a.options;var b=this.type,c=this.chart.options.plotOptions,d=h[b].dataGrouping,e=this.useCommonDataGrouping&&A;if(r[b]||e)d||(d=q(A,r[b])),a.dataGrouping=q(e,d,c.series&&c.series.dataGrouping,c[b].dataGrouping,this.userOptions.dataGrouping)});C(p,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});p.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,c,d=0,e=!1,f;for(c=b;c--;)(f=a[c].options.dataGrouping)&&
544+(d=Math.max(d,g(f.groupPixelWidth,A.groupPixelWidth)));for(c=b;c--;)(f=a[c].options.dataGrouping)&&a[c].hasProcessed&&(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};p.prototype.setDataGrouping=function(a,b){var c;b=g(b,!0);a||(a={forced:!1,units:null});if(this instanceof p)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinalSlope=
545+null;b&&this.chart.redraw()};return a.dataGrouping=m});J(H,"parts/OHLCSeries.js",[H["parts/Globals.js"]],function(a){var C=a.Point,y=a.seriesType,F=a.seriesTypes;y("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},
546+{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){F.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,h){h=F.column.prototype.pointAttribs.call(this,a,h);var p=this.options;delete h.fill;!a.options.color&&p.upColor&&a.open<a.close&&(h.stroke=p.upColor);return h},translate:function(){var a=this,
547+h=a.yAxis,u=!!a.modifyValue,v=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];F.column.prototype.translate.apply(a);a.points.forEach(function(p){[p.open,p.high,p.low,p.close,p.low].forEach(function(w,q){null!==w&&(u&&(w=a.modifyValue(w)),p[v[q]]=h.toPixels(w,!0))});p.tooltipPos[1]=p.plotHigh+h.pos-a.chart.plotTop})},drawPoints:function(){var a=this,h=a.chart;a.points.forEach(function(p){var u,w,x,q,g=p.graphic,f,n=!g;void 0!==p.plotY&&(g||(p.graphic=g=h.renderer.path().add(a.group)),h.styledMode||
548+g.attr(a.pointAttribs(p,p.selected&&"select")),w=g.strokeWidth()%2/2,f=Math.round(p.plotX)-w,x=Math.round(p.shapeArgs.width/2),q=["M",f,Math.round(p.yBottom),"L",f,Math.round(p.plotHigh)],null!==p.open&&(u=Math.round(p.plotOpen)+w,q.push("M",f,u,"L",f-x,u)),null!==p.close&&(u=Math.round(p.plotClose)+w,q.push("M",f,u,"L",f+x,u)),g[n?"attr":"animate"]({d:q}).addClass(p.getClassName(),!0))})},animate:null},{getClassName:function(){return C.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":
549+" highcharts-point-down")}})});J(H,"parts/CandlestickSeries.js",[H["parts/Globals.js"]],function(a){var C=a.defaultPlotOptions,y=a.merge,F=a.seriesType,p=a.seriesTypes;F("candlestick","ohlc",y(C.column,{states:{hover:{lineWidth:2}},tooltip:C.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,u){var h=p.column.prototype.pointAttribs.call(this,a,u),w=this.options,x=a.open<a.close,q=w.lineColor||this.color;h["stroke-width"]=w.lineWidth;
550+h.fill=a.options.color||(x?w.upColor||this.color:this.color);h.stroke=a.lineColor||(x?w.upLineColor||q:q);u&&(a=w.states[u],h.fill=a.color||h.fill,h.stroke=a.lineColor||h.stroke,h["stroke-width"]=a.lineWidth||h["stroke-width"]);return h},drawPoints:function(){var a=this,p=a.chart,v=a.yAxis.reversed;a.points.forEach(function(h){var u=h.graphic,q,g,f,n,e,b,d,m=!u;void 0!==h.plotY&&(u||(h.graphic=u=p.renderer.path().add(a.group)),a.chart.styledMode||u.attr(a.pointAttribs(h,h.selected&&"select")).shadow(a.options.shadow),
551+e=u.strokeWidth()%2/2,b=Math.round(h.plotX)-e,q=h.plotOpen,g=h.plotClose,f=Math.min(q,g),q=Math.max(q,g),d=Math.round(h.shapeArgs.width/2),g=v?q!==h.yBottom:Math.round(f)!==Math.round(h.plotHigh),n=v?Math.round(f)!==Math.round(h.plotHigh):q!==h.yBottom,f=Math.round(f)+e,q=Math.round(q)+e,e=[],e.push("M",b-d,q,"L",b-d,f,"L",b+d,f,"L",b+d,q,"Z","M",b,f,"L",b,g?Math.round(v?h.yBottom:h.plotHigh):f,"M",b,q,"L",b,n?Math.round(v?h.plotHigh:h.yBottom):q),u[m?"attr":"animate"]({d:e}).addClass(h.getClassName(),
552+!0))})}})});J(H,"mixins/on-series.js",[H["parts/Globals.js"]],function(a){var C=a.defined,y=a.seriesTypes,F=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){y.column.prototype.translate.apply(this);var a=this,h=a.options,u=a.chart,v=a.points,w=v.length-1,x,q=h.onSeries,q=q&&u.get(q),h=h.onKey||"y",g=q&&q.options.step,f=q&&q.points,n=f&&f.length,e=u.inverted,b=a.xAxis,d=a.yAxis,
553+m=0,k,z,B,A;if(q&&q.visible&&n)for(m=(q.pointXOffset||0)+(q.barW||0)/2,u=q.currentDataGrouping,z=f[n-1].x+(u?u.totalRange:0),F(v,function(a,b){return a.x-b.x}),h="plot"+h[0].toUpperCase()+h.substr(1);n--&&v[w]&&!(k=f[n],u=v[w],u.y=k.y,k.x<=u.x&&void 0!==k[h]&&(u.x<=z&&(u.plotY=k[h],k.x<u.x&&!g&&(B=f[n+1])&&void 0!==B[h]&&(A=(u.x-k.x)/(B.x-k.x),u.plotY+=A*(B[h]-k[h]),u.y+=A*(B.y-k.y))),w--,n++,0>w)););v.forEach(function(f,c){var g;f.plotX+=m;if(void 0===f.plotY||e)0<=f.plotX&&f.plotX<=b.len?e?(f.plotY=
554+b.translate(f.x,0,1,0,1),f.plotX=C(f.y)?d.translate(f.y,0,0,0,1):0):f.plotY=(b.opposite?0:a.yAxis.len)+b.offset:f.shapeArgs={};(x=v[c-1])&&x.plotX===f.plotX&&(void 0===x.stackIndex&&(x.stackIndex=0),g=x.stackIndex+1);f.stackIndex=g});this.onSeries=q}}});J(H,"parts/FlagsSeries.js",[H["parts/Globals.js"],H["mixins/on-series.js"]],function(a,C){function y(a){f[a+"pin"]=function(e,b,d,g,k){var h=k&&k.anchorX;k=k&&k.anchorY;var m;"circle"===a&&g>d&&(e-=Math.round((g-d)/2),d=g);m=f[a](e,b,d,g);h&&k&&(m.push("M",
555+"circle"===a?e+d/2:m[1]+m[4]/2,b>k?b:b+g,"L",h,k),m=m.concat(f.circle(h-1,k-1,2,2)));return m}}var F=a.addEvent,p=a.merge,h=a.noop,u=a.defined,v=a.Renderer,w=a.Series,x=a.seriesType,q=a.TrackerMixin,g=a.VMLRenderer,f=a.SVGRenderer.prototype.symbols;x("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},
556+style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:w.prototype.init,pointAttribs:function(a,e){var b=this.options,d=a&&a.color||this.color,f=b.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||b.fillColor;e&&(a=b.states[e].fillColor,f=b.states[e].lineColor,g=b.states[e].lineWidth);return{fill:a||d,stroke:f||d,"stroke-width":g||b.lineWidth||0}},translate:C.translate,getPlotBox:C.getPlotBox,drawPoints:function(){var f=
557+this.points,e=this.chart,b=e.renderer,d,g,k=e.inverted,h=this.options,q=h.y,v,r,c,l,w,x,y=this.yAxis,t={},C=[];for(r=f.length;r--;)c=f[r],x=(k?c.plotY:c.plotX)>this.xAxis.len,d=c.plotX,l=c.stackIndex,v=c.options.shape||h.shape,g=c.plotY,void 0!==g&&(g=c.plotY+q-(void 0!==l&&l*h.stackDistance)),c.anchorX=l?void 0:c.plotX,w=l?void 0:c.plotY,l=c.graphic,void 0!==g&&0<=d&&!x?(l||(l=c.graphic=b.label("",null,null,v,null,null,h.useHTML),e.styledMode||l.attr(this.pointAttribs(c)).css(p(h.style,c.style)),
558+l.attr({align:"flag"===v?"left":"center",width:h.width,height:h.height,"text-align":h.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.graphic.div&&(c.graphic.div.point=c),e.styledMode||l.shadow(h.shadow),l.isNew=!0),0<d&&(d-=l.strokeWidth()%2),v={y:g,anchorY:w},h.allowOverlapX&&(v.x=d,v.anchorX=c.anchorX),l.attr({text:c.options.title||h.title||"A"})[l.isNew?"attr":"animate"](v),h.allowOverlapX||(t[c.plotX]?t[c.plotX].size=Math.max(t[c.plotX].size,l.width):t[c.plotX]={align:0,size:l.width,
559+target:d,anchorX:d}),c.tooltipPos=[d,g+y.pos-e.plotTop]):l&&(c.graphic=l.destroy());h.allowOverlapX||(a.objectEach(t,function(a){a.plotX=a.anchorX;C.push(a)}),a.distribute(C,k?y.len:this.xAxis.len,100),f.forEach(function(a){var b=a.graphic&&t[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos,anchorX:a.anchorX}),u(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));h.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,
560+[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;q.drawTrackerPoint.apply(this);a.forEach(function(e){var b=e.graphic;b&&F(b.element,"mouseover",function(){0<e.stackIndex&&!e.raised&&(e._y=b.y,b.attr({y:e._y-8}),e.raised=!0);a.forEach(function(a){a!==e&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){w.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&
561+this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:h,invertGroups:h},{isValid:function(){return a.isNumber(this.y)||void 0===this.y}});f.flag=function(a,e,b,d,g){var k=g&&g.anchorX||a;g=g&&g.anchorY||e;return f.circle(k-1,g-1,2,2).concat(["M",k,g,"L",a,e+d,a,e,a+b,e,a+b,e+d,a,e+d,"Z"])};y("circle");y("square");v===g&&["flag","circlepin","squarepin"].forEach(function(a){g.prototype.symbols[a]=f[a]})});J(H,"parts/RangeSelector.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}
562+var y=a.addEvent,F=a.Axis,p=a.Chart,h=a.css,u=a.createElement,v=a.defaultOptions,w=a.defined,x=a.destroyObjectProperties,q=a.discardElement,g=a.extend,f=a.fireEvent,n=a.isNumber,e=a.merge,b=a.pick,d=a.pInt,m=a.splat;g(v,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});v.lang=e(v.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
563+rangeSelectorTo:"To"});C.prototype={clickButton:function(a,d){var e=this.chart,f=this.buttonOptions[a],g=e.xAxis[0],c=e.scroller&&e.scroller.getUnionExtremes()||g||{},h=c.dataMin,k=c.dataMax,p,q=g&&Math.round(Math.min(g.max,b(k,g.max))),t=f.type,u,c=f._range,v,w,z,x=f.dataGrouping;if(null!==h&&null!==k){e.fixedRange=c;x&&(this.forcedDataGrouping=!0,F.prototype.setDataGrouping.call(g||{chart:this.chart},x,!1),this.frozenStates=f.preserveDataGrouping);if("month"===t||"year"===t)g?(t={range:f,max:q,
564+chart:e,dataMin:h,dataMax:k},p=g.minFromRange.call(t),n(t.newMax)&&(q=t.newMax)):c=f;else if(c)p=Math.max(q-c,h),q=Math.min(p+c,k);else if("ytd"===t)if(g)void 0===k&&(h=Number.MAX_VALUE,k=Number.MIN_VALUE,e.series.forEach(function(a){a=a.xData;h=Math.min(a[0],h);k=Math.max(a[a.length-1],k)}),d=!1),q=this.getYTDExtremes(k,h,e.time.useUTC),p=v=q.min,q=q.max;else{this.deferredYTDClick=a;return}else"all"===t&&g&&(p=h,q=k);p+=f._offsetMin;q+=f._offsetMax;this.setSelected(a);g?g.setExtremes(p,q,b(d,1),
565+null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(u=m(e.options.xAxis)[0],z=u.range,u.range=c,w=u.min,u.min=v,y(e,"load",function(){u.range=z;u.min=w}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,d=a.options.rangeSelector,e=d.buttons||[].concat(b.defaultButtons),
566+g=d.selected,c=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&f(a,"blur");c&&c.blur&&f(c,"blur")};b.chart=a;b.options=d;b.buttons=[];b.buttonOptions=e;this.unMouseDown=y(a.container,"mousedown",c);this.unResize=y(a,"resize",c);e.forEach(b.computeButtonRange);void 0!==g&&e[g]&&this.clickButton(g,!1);y(a,"load",function(){a.xAxis&&a.xAxis[0]&&y(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&
567+!b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,d=b.xAxis[0],e=Math.round(d.max-d.min),f=!d.hasVisibleSeries,c=b.scroller&&b.scroller.getUnionExtremes()||d,g=c.dataMin,h=c.dataMax,b=a.getYTDExtremes(h,g,b.time.useUTC),m=b.min,p=b.max,q=a.selected,u=n(q),v=a.options.allButtonsEnabled,w=a.buttons;a.buttonOptions.forEach(function(b,c){var k=b._range,l=b.type,n=b.count||1,r=w[c],t=0,x=b._offsetMax-b._offsetMin;b=c===q;var z=k>h-g,B=k<d.minRange,
568+A=!1,y=!1,k=k===e;("month"===l||"year"===l)&&e+36E5>=864E5*{month:28,year:365}[l]*n-x&&e-36E5<=864E5*{month:31,year:366}[l]*n+x?k=!0:"ytd"===l?(k=p-m+x===e,A=!b):"all"===l&&(k=d.max-d.min>=h-g,y=!b&&u&&k);l=!v&&(z||B||y||f);n=b&&k||k&&!u&&!A||b&&a.frozenStates;l?t=3:n&&(u=!0,t=2);r.state!==t&&(r.setState(t),0===t&&q===c&&a.setSelected(null))})},computeButtonRange:function(a){var d=a.type,e=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[d])a._range=f[d]*e;else if("month"===
569+d||"year"===d)a._range=864E5*{month:30,year:365}[d]*e;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var d=this.chart.options.rangeSelector,e=this.chart.time,f=this[a+"Input"];w(b)&&(f.previousValue=f.HCTime,f.HCTime=b);f.value=e.dateFormat(d.inputEditDateFormat||"%Y-%m-%d",f.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(d.inputDateFormat||"%b %e, %Y",f.HCTime)})},showInput:function(a){var b=this.inputGroup,d=this[a+
570+"DateBox"];h(this[a+"Input"],{left:b.translateX+d.x+"px",top:b.translateY+"px",width:d.width-2+"px",height:d.height-2+"px",border:"2px solid silver"})},hideInput:function(a){h(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function f(){var a=x.value,b=(l.inputDateParser||Date.parse)(a),c=m.xAxis[0],e=m.scroller&&m.scroller.xAxis?m.scroller.xAxis:c,f=e.dataMin,e=e.dataMax;b!==x.previousValue&&(x.previousValue=b,n(b)||(b=a.split("-"),b=Date.UTC(d(b[0]),
571+d(b[1])-1,d(b[2]))),n(b)&&(m.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),w?b>k.maxInput.HCTime?b=void 0:b<f&&(b=f):b<k.minInput.HCTime?b=void 0:b>e&&(b=e),void 0!==b&&c.setExtremes(w?b:c.min,w?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var k=this,m=k.chart,p=m.renderer.style||{},c=m.renderer,l=m.options.rangeSelector,q=k.div,w="min"===b,x,t,y=this.inputGroup;this[b+"Label"]=t=c.label(v.lang[w?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(y);
572+y.offset+=t.width+5;this[b+"DateBox"]=c=c.label("",y.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,"text-align":"center"}).on("click",function(){k.showInput(b);k[b+"Input"].focus()});m.styledMode||c.attr({stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1});c.add(y);y.offset+=c.width+(w?10:0);this[b+"Input"]=x=u("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:m.plotTop+"px"},q);m.styledMode||(t.css(e(p,
573+l.labelStyle)),c.css(e({color:"#333333"},p,l.inputStyle)),h(x,g({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:p.fontSize,fontFamily:p.fontFamily,top:"-9999em"},l.inputStyle)));x.onfocus=function(){k.showInput(b)};x.onblur=function(){x===a.doc.activeElement&&(f(),k.hideInput(b),x.blur())};x.onchange=f;x.onkeypress=function(a){13===a.keyCode&&f()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
574+0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,d){var e=this.chart.time,f=new e.Date(a),c=e.get("FullYear",f);d=d?e.Date.UTC(c,0,1):+new e.Date(c,0,1);b=Math.max(b||0,d);f=f.getTime();return{max:Math.min(a||f,f),min:b}},render:function(a,d){var e=this,f=e.chart,g=f.renderer,c=f.container,h=f.options,k=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,m=v.lang,n=e.div,p=h.rangeSelector,q=b(h.chart.style&&h.chart.style.zIndex,
575+0)+1,h=p.floating,w=e.buttons,n=e.inputGroup,x=p.buttonTheme,z=p.buttonPosition,y=p.inputPosition,C=p.inputEnabled,F=x&&x.states,H=f.plotLeft,J,N=e.buttonGroup,R;R=e.rendered;var W=e.options.verticalAlign,X=f.legend,P=X&&X.options,U=z.y,S=y.y,Y=R||!1,Z=Y?"animate":"attr",V=0,ba=0,aa;if(!1!==p.enabled){R||(e.group=R=g.g("range-selector-group").attr({zIndex:7}).add(),e.buttonGroup=N=g.g("range-selector-buttons").add(R),e.zoomText=g.text(m.rangeSelectorZoom,0,15).add(N),f.styledMode||(e.zoomText.css(p.labelStyle),
576+x["stroke-width"]=b(x["stroke-width"],0)),e.buttonOptions.forEach(function(a,b){w[b]=g.button(a.text,0,0,function(c){var d=a.events&&a.events.click,f;d&&(f=d.call(a,c));!1!==f&&e.clickButton(b);e.isActive=!0},x,F&&F.hover,F&&F.select,F&&F.disabled).attr({"text-align":"center"}).add(N)}),!1!==C&&(e.div=n=u("div",null,{position:"relative",height:0,zIndex:q}),c.parentNode.insertBefore(n,c),e.inputGroup=n=g.g("input-group").add(R),n.offset=0,e.drawInput("min"),e.drawInput("max")));e.zoomText[Z]({x:b(H+
577+z.x,H)});J=b(H+z.x,H)+e.zoomText.getBBox().width+5;e.buttonOptions.forEach(function(a,c){w[c][Z]({x:J});J+=w[c].width+b(p.buttonSpacing,5)});H=f.plotLeft-f.spacing[3];e.updateButtonStates();k&&this.titleCollision(f)&&"top"===W&&"right"===z.align&&z.y+N.getBBox().height-12<(k.y||0)+k.height&&(V=-40);"left"===z.align?aa=z.x-f.spacing[3]:"right"===z.align&&(aa=z.x+V-f.spacing[1]);N.align({y:z.y,width:N.getBBox().width,align:z.align,x:aa},!0,f.spacingBox);e.group.placed=Y;e.buttonGroup.placed=Y;!1!==
578+C&&(V=k&&this.titleCollision(f)&&"top"===W&&"right"===y.align&&y.y-n.getBBox().height-12<(k.y||0)+k.height+f.spacing[0]?-40:0,"left"===y.align?aa=H:"right"===y.align&&(aa=-Math.max(f.axisOffset[1],-V)),n.align({y:y.y,width:n.getBBox().width,align:y.align,x:y.x+aa-2},!0,f.spacingBox),c=n.alignAttr.translateX+n.alignOptions.x-V+n.getBBox().x+2,k=n.alignOptions.width,m=N.alignAttr.translateX+N.getBBox().x,aa=N.getBBox().width+20,(y.align===z.align||m+aa>c&&c+k>m&&U<S+n.getBBox().height)&&n.attr({translateX:n.alignAttr.translateX+
579+(f.axisOffset[1]>=-V?0:-V),translateY:n.alignAttr.translateY+N.getBBox().height+10}),e.setInputValue("min",a),e.setInputValue("max",d),e.inputGroup.placed=Y);e.group.align({verticalAlign:W},!0,f.spacingBox);a=e.group.getBBox().height+20;d=e.group.alignAttr.translateY;"bottom"===W&&(X=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?X.legendHeight+b(P.margin,10):0,a=a+X-20,ba=d-a-(h?0:p.y)-10);if("top"===W)h&&(ba=0),f.titleOffset&&(ba=f.titleOffset+f.options.title.margin),ba+=f.margin[0]-f.spacing[0]||
580+0;else if("middle"===W)if(S===U)ba=0>S?d+void 0:d;else if(S||U)ba=0>S||0>U?ba-Math.min(S,U):d-a+NaN;e.group.translate(p.x,p.y+Math.floor(ba));!1!==C&&(e.minInput.style.marginTop=e.group.translateY+"px",e.maxInput.style.marginTop=e.group.translateY+"px");e.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,d=a.y,e=a.buttonPosition.y,f=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+d:0;b=Math.min(f,e);if(0>f&&0>e||0<f&&0<e)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
581+a.options.subtitle.text)},update:function(a){var b=this.chart;e(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,d=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();x(b.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a.objectEach(b,function(a,d){a&&"chart"!==d&&(a.destroy?a.destroy():a.nodeType&&q(this[d]));a!==C.prototype[d]&&(b[d]=null)},this)}};F.prototype.minFromRange=function(){var a=
582+this.range,d={month:"Month",year:"FullYear"}[a.type],e,f=this.max,g,c,h=this.chart.time,m=function(a,b){var c=new h.Date(a),e=h.get(d,c);h.set(d,c,e+b);e===h.get(d,c)&&c.setDate(0);return c.getTime()-a};n(a)?(e=f-a,c=a):(e=f+m(f,-a.count),this.chart&&(this.chart.fixedRange=f-e));g=b(this.dataMin,Number.MIN_VALUE);n(e)||(e=g);e<=g&&(e=g,void 0===c&&(c=m(e,a.count)),this.newMax=Math.min(e+c,this.dataMax));n(f)||(e=void 0);return e};a.RangeSelector||(y(p,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
583+(this.rangeSelector=new C(this))}),y(p,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(n(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),y(p,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var d=this.extraBottomMargin,
584+e=this.extraTopMargin;b&&b.enabled&&!w(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new C(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==d||this.extraTopMargin!==e)&&(this.isDirtyBox=!0)}),y(p,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
585+"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),y(p,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),p.prototype.callbacks.push(function(a){function b(){d=a.xAxis[0].getExtremes();n(d.min)&&e.render(d.min,d.max)}var d,e=a.rangeSelector,f,c;e&&(c=y(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=y(a,"redraw",b),b());y(a,"destroy",function(){e&&
586+(f(),c())})}),a.RangeSelector=C)});J(H,"parts/StockChart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.arrayMax,F=a.arrayMin,p=a.Axis,h=a.Chart,u=a.defined,v=a.extend,w=a.format,x=a.isNumber,q=a.isString,g=a.merge,f=a.pick,n=a.Point,e=a.Renderer,b=a.Series,d=a.splat,m=a.SVGRenderer,k=a.VMLRenderer,z=b.prototype,B=z.init,A=z.processData,r=n.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,e,k){var c=q(b)||b.nodeName,l=arguments[c?1:0],m=l,n=l.series,p=a.getOptions(),r,
587+u=f(l.navigator&&l.navigator.enabled,p.navigator.enabled,!0),v=u?{startOnTick:!1,endOnTick:!1}:null,w={marker:{enabled:!1,radius:2}},x={shadow:!1,borderWidth:0};l.xAxis=d(l.xAxis||{}).map(function(a,b){return g({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},p.xAxis,p.xAxis&&p.xAxis[b],a,{type:"datetime",categories:null},v)});l.yAxis=d(l.yAxis||{}).map(function(a,b){r=f(a.opposite,!0);return g({labels:{y:-2},opposite:r,showLastLabel:!(!a.categories&&
588+"category"!==a.type),title:{text:null}},p.yAxis,p.yAxis&&p.yAxis[b],a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:u},scrollbar:{enabled:f(p.scrollbar.enabled,!0)},rangeSelector:{enabled:f(p.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:f(p.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:w,spline:w,area:w,areaspline:w,arearange:w,areasplinerange:w,column:x,columnrange:x,candlestick:x,ohlc:x}},l,{isStock:!0});l.series=m.series=n;return c?
589+new h(b,l,k):new h(l,e)};C(p,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled&&(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,a.align="right",a.preventDefault()))});C(p,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});
590+C(p,"getPlotLinePath",function(b){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return x(a)?[g[b][a]]:q(a)?[g.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,g=d.chart,h=g.renderer,k=d.left,m=d.top,n,p,r,v,w=[],y=[],z,A,B=b.translatedValue,C=b.value,F=b.force,H;if("xAxis"===d.coll||"yAxis"===d.coll)b.preventDefault(),y=c(d.coll),z=d.isXAxis?g.yAxis:g.xAxis,z.forEach(function(a){if(u(a.options.id)?-1===a.options.id.indexOf("navigator"):
591+1){var b=a.isXAxis?"yAxis":"xAxis",b=u(a.options[b])?g[b][a.options[b]]:g[b][0];d===b&&y.push(a)}}),A=y.length?[]:[d.isXAxis?g.yAxis[0]:g.xAxis[0]],y.forEach(function(b){-1!==A.indexOf(b)||a.find(A,function(a){return a.pos===b.pos&&a.len===b.len})||A.push(b)}),H=f(B,d.translate(C,null,null,b.old)),x(H)&&(d.horiz?A.forEach(function(a){var b;p=a.pos;v=p+a.len;n=r=Math.round(H+d.transB);"pass"!==F&&(n<k||n>k+d.width)&&(F?n=r=Math.min(Math.max(k,n),k+d.width):b=!0);b||w.push("M",n,p,"L",r,v)}):A.forEach(function(a){var b;
592+n=a.pos;r=n+a.len;p=v=Math.round(m+d.height-H);"pass"!==F&&(p<m||p>m+d.height)&&(F?p=v=Math.min(Math.max(m,p),d.top+d.height):b=!0);b||w.push("M",n,p,"L",r,v)})),b.path=0<w.length?h.crispPolyLine(w,b.lineWidth||1):null});m.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};e===k&&(k.prototype.crispPolyLine=m.prototype.crispPolyLine);C(p,"afterHideCrosshair",
593+function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});C(p,"afterDrawCrosshair",function(a){var b,c;if(u(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,g=this.horiz;b=this.opposite;c=this.left;var h=this.top,k=this.crossLabel,m=e.format,n="",p="inside"===this.options.tickPosition,q=!1!==this.crosshair.snap,r=0,x=a.e||this.cross&&this.cross.e,y=a.point;a=this.lin2log;var z,A;this.isLog?(z=a(this.min),A=a(this.max)):(z=
594+this.min,A=this.max);a=g?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:f(e.padding,8),r:f(e.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||k.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||
595+"","stroke-width":e.borderWidth||0}).css(v({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));g?(a=q?y.plotX+c:x.chartX,h+=b?0:this.height):(a=b?this.width+c:0,h=q?y.plotY+h:x.chartY);m||e.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),m="{value"+(n?":"+n:"")+"}");n=q?y[this.isXAxis?"x":"y"]:this.toValue(g?x.chartX:x.chartY);k.attr({text:m?w(m,{value:n},d.time):e.formatter.call(this,n),x:a,y:h,visibility:n<z||n>A?"hidden":"visible"});e=k.getBBox();if(g){if(p&&!b||
596+!p&&b)h=k.y-e.height}else h=k.y-e.height/2;g?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);k.translateX<b&&(r=b-k.translateX);k.translateX+e.width>=c&&(r=-(k.translateX+e.width-c));k.attr({x:a+r,y:h,anchorX:g?a:this.opposite?0:d.chartWidth,anchorY:g?this.opposite?d.chartHeight:0:h+e.height/2})}});z.init=function(){B.apply(this,arguments);this.setCompare(this.options.compare)};z.setCompare=function(a){this.modifyValue="value"===
597+a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};z.processData=function(){var a,b=-1,d,e,f=!0===this.options.compareStart?0:1,g,h;A.apply(this,arguments);if(this.xAxis&&this.processedYData)for(d=this.processedXData,e=this.processedYData,g=e.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||
598+this.pointValKey||"y")),a=0;a<g-f;a++)if(h=e[a]&&-1<b?e[a][b]:e[a],x(h)&&d[a+f]>=this.xAxis.min&&0!==h){this.compareValue=h;break}};C(b,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=F(a);this.dataMax=y(a)}});p.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),f(b,!0)&&this.chart.redraw())};n.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<
599+this.change?"+":"")+a.numberFormat(this.change,f(this.series.tooltipOptions.changeDecimals,2)));return r.apply(this,[b])};C(b,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(a=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=g(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,
600+height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});C(h,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(g(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});J(H,"masters/modules/stock.src.js",[],function(){});J(H,"masters/highstock.src.js",[H["masters/highcharts.src.js"]],function(a){return a});H["masters/highstock.src.js"]._modules=H;return H["masters/highstock.src.js"]});
601+//# sourceMappingURL=highstock.js.map
--- /dev/null
+++ b/static/js/highstock/modules/export-data.js
@@ -0,0 +1,29 @@
1+/*
2+ Highcharts JS v7.1.1 (2019-04-09)
3+
4+ Exporting module
5+
6+ (c) 2010-2019 Torstein Honsi
7+
8+ License: www.highcharts.com/license
9+*/
10+(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/export-data",["highcharts","highcharts/modules/exporting"],function(f){c(f);c.Highcharts=f;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function f(a,d,b,g){a.hasOwnProperty(d)||(a[d]=g.apply(null,b))}c=c?c._modules:{};f(c,"mixins/ajax.js",[c["parts/Globals.js"]],function(a){a.ajax=function(d){var b=a.merge(!0,{url:!1,
11+type:"GET",dataType:"json",success:!1,error:!1,data:!1,headers:{}},d);d={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"};var g=new XMLHttpRequest;if(!b.url)return!1;g.open(b.type.toUpperCase(),b.url,!0);g.setRequestHeader("Content-Type",d[b.dataType]||d.text);a.objectEach(b.headers,function(a,d){g.setRequestHeader(d,a)});g.onreadystatechange=function(){var a;if(4===g.readyState){if(200===g.status){a=g.responseText;if("json"===b.dataType)try{a=JSON.parse(a)}catch(n){b.error&&
12+b.error(g,n);return}return b.success&&b.success(a)}b.error&&b.error(g,g.responseText)}};try{b.data=JSON.stringify(b.data)}catch(D){}g.send(b.data||!0)}});f(c,"mixins/download-url.js",[c["parts/Globals.js"]],function(a){var d=a.win,b=d.navigator,g=d.document,c=d.URL||d.webkitURL||d,n=/Edge\/\d+/.test(b.userAgent);a.dataURLtoBlob=function(a){if((a=a.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<a.length&&d.atob&&d.ArrayBuffer&&d.Uint8Array&&d.Blob&&c.createObjectURL){for(var g=d.atob(a[3]),b=
13+new d.ArrayBuffer(g.length),b=new d.Uint8Array(b),h=0;h<b.length;++h)b[h]=g.charCodeAt(h);a=new d.Blob([b],{type:a[1]});return c.createObjectURL(a)}};a.downloadURL=function(h,c){var q=g.createElement("a"),r;if("string"===typeof h||h instanceof String||!b.msSaveOrOpenBlob){if(n||2E6<h.length)if(h=a.dataURLtoBlob(h),!h)throw Error("Failed to convert to blob");if(void 0!==q.download)q.href=h,q.download=c,g.body.appendChild(q),q.click(),g.body.removeChild(q);else try{if(r=d.open(h,"chart"),void 0===r||
14+null===r)throw Error("Failed to open window");}catch(l){d.location.href=h}}else b.msSaveOrOpenBlob(h,c)}});f(c,"modules/export-data.src.js",[c["parts/Globals.js"]],function(a){function d(a,b){if(c.Blob&&c.navigator.msSaveOrOpenBlob)return new c.Blob(["\ufeff"+a],{type:b})}var b=a.defined,g=a.pick,c=a.win,n=c.document,h=a.seriesTypes,f=a.downloadURL,q=a.fireEvent;a.setOptions({exporting:{csv:{columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},
15+showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",openInCloud:"Open in Highcharts Cloud",viewData:"View data table"}});a.addEvent(a.Chart,"render",function(){this.options&&this.options.exporting&&this.options.exporting.showTable&&this.viewData()});a.Chart.prototype.setUpKeyToAxis=function(){h.arearange&&(h.arearange.prototype.keyToAxis={low:"y",high:"y"});h.gantt&&(h.gantt.prototype.keyToAxis={start:"x",end:"x"})};a.Chart.prototype.getDataRows=
16+function(c){var d=this.time,h=this.options.exporting&&this.options.exporting.csv||{},k,l=this.xAxis,t={},f=[],m,n=[],p=[],x,u,v,C=function(e,d,b){if(h.columnHeaderFormatter){var k=h.columnHeaderFormatter(e,d,b);if(!1!==k)return k}return e?e instanceof a.Axis?e.options.title&&e.options.title.text||(e.isDatetimeAxis?"DateTime":"Category"):c?{columnTitle:1<b?d:e.name,topLevelColumnTitle:e.name}:e.name+(1<b?" ("+d+")":""):"Category"},y=[];u=0;this.setUpKeyToAxis();this.series.forEach(function(e){var b=
17+e.options.keys||e.pointArrayMap||["y"],k=b.length,v=!e.requireSorting&&{},w={},A={},m=l.indexOf(e.xAxis),B,f;b.forEach(function(a){var b=(e.keyToAxis&&e.keyToAxis[a]||a)+"Axis";w[a]=e[b]&&e[b].categories||[];A[a]=e[b]&&e[b].isDatetimeAxis});if(!1!==e.options.includeInDataExport&&!e.options.isInternal&&!1!==e.visible){a.find(y,function(e){return e[0]===m})||y.push([m,u]);for(f=0;f<k;)x=C(e,b[f],b.length),p.push(x.columnTitle||x),c&&n.push(x.topLevelColumnTitle||x),f++;B={chart:e.chart,autoIncrement:e.autoIncrement,
18+options:e.options,pointArrayMap:e.pointArrayMap};e.options.data.forEach(function(a,c){var l,p;p={series:B};e.pointClass.prototype.applyOptions.apply(p,[a]);a=p.x;l=e.data[c]&&e.data[c].name;v&&(v[a]&&(a+="|"+c),v[a]=!0);f=0;e.xAxis&&"name"!==e.exportKey||(a=l);t[a]||(t[a]=[],t[a].xValues=[]);t[a].x=p.x;t[a].name=l;for(t[a].xValues[m]=p.x;f<k;)c=b[f],l=p[c],t[a][u+f]=g(w[c][l],A[c]?d.dateFormat(h.dateFormat,l):null,l),f++});u+=f}});for(m in t)t.hasOwnProperty(m)&&f.push(t[m]);var w,z;m=c?[n,p]:[p];
19+for(u=y.length;u--;)w=y[u][0],z=y[u][1],k=l[w],f.sort(function(a,b){return a.xValues[w]-b.xValues[w]}),v=C(k),m[0].splice(z,0,v),c&&m[1]&&m[1].splice(z,0,v),f.forEach(function(a){var e=a.name;k&&!b(e)&&(k.isDatetimeAxis?(a.x instanceof Date&&(a.x=a.x.getTime()),e=d.dateFormat(h.dateFormat,a.x)):e=k.categories?g(k.names[a.x],k.categories[a.x],a.x):a.x);a.splice(z,0,e)});m=m.concat(f);q(this,"exportData",{dataRows:m});return m};a.Chart.prototype.getCSV=function(a){var b="",c=this.getDataRows(),d=this.options.exporting.csv,
20+l=g(d.decimalPoint,","!==d.itemDelimiter&&a?(1.1).toLocaleString()[1]:"."),h=g(d.itemDelimiter,","===l?";":","),f=d.lineDelimiter;c.forEach(function(a,d){for(var k,g=a.length;g--;)k=a[g],"string"===typeof k&&(k='"'+k+'"'),"number"===typeof k&&"."!==l&&(k=k.toString().replace(".",l)),a[g]=k;b+=a.join(h);d<c.length-1&&(b+=f)});return b};a.Chart.prototype.getTable=function(a){var b='\x3ctable id\x3d"highcharts-data-table-'+this.index+'"\x3e',c=this.options,d=a?(1.1).toLocaleString()[1]:".",h=g(c.exporting.useMultiLevelHeaders,
21+!0);a=this.getDataRows(h);var f=0,l=h?a.shift():null,m=a.shift(),n=function(a,b,c,h){var k=g(h,"");b="text"+(b?" "+b:"");"number"===typeof k?(k=k.toString(),","===d&&(k=k.replace(".",d)),b="number"):h||(b="empty");return"\x3c"+a+(c?" "+c:"")+' class\x3d"'+b+'"\x3e'+k+"\x3c/"+a+"\x3e"};!1!==c.exporting.tableCaption&&(b+='\x3ccaption class\x3d"highcharts-table-caption"\x3e'+g(c.exporting.tableCaption,c.title.text?c.title.text.replace(/&/g,"\x26amp;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;").replace(/"/g,
22+"\x26quot;").replace(/'/g,"\x26#x27;").replace(/\//g,"\x26#x2F;"):"Chart")+"\x3c/caption\x3e");for(var p=0,r=a.length;p<r;++p)a[p].length>f&&(f=a[p].length);b+=function(a,b,d){var k="\x3cthead\x3e",f=0;d=d||b&&b.length;var g,e,l=0;if(e=h&&a&&b){a:if(e=a.length,b.length===e){for(;e--;)if(a[e]!==b[e]){e=!1;break a}e=!0}else e=!1;e=!e}if(e){for(k+="\x3ctr\x3e";f<d;++f)e=a[f],g=a[f+1],e===g?++l:l?(k+=n("th","highcharts-table-topheading",'scope\x3d"col" colspan\x3d"'+(l+1)+'"',e),l=0):(e===b[f]?c.exporting.useRowspanHeaders?
23+(g=2,delete b[f]):(g=1,b[f]=""):g=1,k+=n("th","highcharts-table-topheading",'scope\x3d"col"'+(1<g?' valign\x3d"top" rowspan\x3d"'+g+'"':""),e));k+="\x3c/tr\x3e"}if(b){k+="\x3ctr\x3e";f=0;for(d=b.length;f<d;++f)void 0!==b[f]&&(k+=n("th",null,'scope\x3d"col"',b[f]));k+="\x3c/tr\x3e"}return k+"\x3c/thead\x3e"}(l,m,Math.max(f,m.length));b+="\x3ctbody\x3e";a.forEach(function(a){b+="\x3ctr\x3e";for(var c=0;c<f;c++)b+=n(c?"td":"th",null,c?"":'scope\x3d"row"',a[c]);b+="\x3c/tr\x3e"});b+="\x3c/tbody\x3e\x3c/table\x3e";
24+a={html:b};q(this,"afterGetTable",a);return a.html};a.Chart.prototype.downloadCSV=function(){var a=this.getCSV(!0);f(d(a,"text/csv")||"data:text/csv,\ufeff"+encodeURIComponent(a),this.getFilename()+".csv")};a.Chart.prototype.downloadXLS=function(){var a='\x3chtml xmlns:o\x3d"urn:schemas-microsoft-com:office:office" xmlns:x\x3d"urn:schemas-microsoft-com:office:excel" xmlns\x3d"http://www.w3.org/TR/REC-html40"\x3e\x3chead\x3e\x3c!--[if gte mso 9]\x3e\x3cxml\x3e\x3cx:ExcelWorkbook\x3e\x3cx:ExcelWorksheets\x3e\x3cx:ExcelWorksheet\x3e\x3cx:Name\x3eArk1\x3c/x:Name\x3e\x3cx:WorksheetOptions\x3e\x3cx:DisplayGridlines/\x3e\x3c/x:WorksheetOptions\x3e\x3c/x:ExcelWorksheet\x3e\x3c/x:ExcelWorksheets\x3e\x3c/x:ExcelWorkbook\x3e\x3c/xml\x3e\x3c![endif]--\x3e\x3cstyle\x3etd{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";} .text{ mso-number-format:"@";}\x3c/style\x3e\x3cmeta name\x3dProgId content\x3dExcel.Sheet\x3e\x3cmeta charset\x3dUTF-8\x3e\x3c/head\x3e\x3cbody\x3e'+
25+this.getTable(!0)+"\x3c/body\x3e\x3c/html\x3e";f(d(a,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+c.btoa(unescape(encodeURIComponent(a))),this.getFilename()+".xls")};a.Chart.prototype.viewData=function(){this.dataTableDiv||(this.dataTableDiv=n.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));this.dataTableDiv.innerHTML=this.getTable();q(this,"afterViewData",this.dataTableDiv)};
26+a.Chart.prototype.openInCloud=function(){function b(c){Object.keys(c).forEach(function(d){"function"===typeof c[d]&&delete c[d];a.isObject(c[d])&&b(c[d])})}var c,d;c=a.merge(this.userOptions);b(c);c={name:c.title&&c.title.text||"Chart title",options:c,settings:{constructor:"Chart",dataProvider:{csv:this.getCSV()}}};d=JSON.stringify(c);(function(){var a=n.createElement("form");n.body.appendChild(a);a.method="post";a.action="https://cloud-api.highcharts.com/openincloud";a.target="_blank";var b=n.createElement("input");
27+b.type="hidden";b.name="chart";b.value=d;a.appendChild(b);a.submit();n.body.removeChild(a)})()};var r=a.getOptions().exporting;r&&(a.extend(r.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.viewData()}},openInCloud:{textKey:"openInCloud",onclick:function(){this.openInCloud()}}}),r.buttons&&r.buttons.contextButton.menuItems.push("separator",
28+"downloadCSV","downloadXLS","viewData","openInCloud"));h.map&&(h.map.prototype.exportKey="name");h.mapbubble&&(h.mapbubble.prototype.exportKey="name");h.treemap&&(h.treemap.prototype.exportKey="name")});f(c,"masters/modules/export-data.src.js",[],function(){})});
29+//# sourceMappingURL=export-data.js.map
--- /dev/null
+++ b/static/js/highstock/modules/exporting.js
@@ -0,0 +1,37 @@
1+/*
2+ Highcharts JS v7.1.1 (2019-04-09)
3+
4+ Exporting module
5+
6+ (c) 2010-2019 Torstein Honsi
7+
8+ License: www.highcharts.com/license
9+*/
10+(function(f){"object"===typeof module&&module.exports?(f["default"]=f,module.exports=f):"function"===typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(h){f(h);f.Highcharts=h;return f}):f("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(f){function h(c,C,f,n){c.hasOwnProperty(C)||(c[C]=n.apply(null,f))}f=f?f._modules:{};h(f,"modules/full-screen.src.js",[f["parts/Globals.js"]],function(c){c.FullScreen=function(c){this.init(c.parentNode)};c.FullScreen.prototype=
11+{init:function(c){c.requestFullscreen?c.requestFullscreen():c.mozRequestFullScreen?c.mozRequestFullScreen():c.webkitRequestFullscreen?c.webkitRequestFullscreen():c.msRequestFullscreen&&c.msRequestFullscreen()}}});h(f,"mixins/navigation.js",[],function(){return{initUpdate:function(c){c.navigation||(c.navigation={updates:[],update:function(c,f){this.updates.forEach(function(n){n.update.call(n.context,c,f)})}})},addUpdate:function(c,f){f.navigation||this.initUpdate(f);f.navigation.updates.push({update:c,
12+context:f})}}});h(f,"modules/exporting.src.js",[f["parts/Globals.js"],f["mixins/navigation.js"]],function(c,f){var h=c.defaultOptions,n=c.doc,A=c.Chart,v=c.addEvent,C=c.removeEvent,D=c.fireEvent,r=c.createElement,E=c.discardElement,w=c.css,p=c.merge,t=c.pick,F=c.objectEach,y=c.extend,J=c.isTouchDevice,z=c.win,H=z.navigator.userAgent,G=c.SVGRenderer,I=c.Renderer.prototype.symbols,K=/Edge\/|Trident\/|MSIE /.test(H),L=/firefox/i.test(H);y(h.lang,{viewFullscreen:"View in full screen",printChart:"Print chart",
13+downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});h.navigation||(h.navigation={});p(!0,h.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}});p(!0,h.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",
14+color:"#333333",background:"none",fontSize:J?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}});h.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},
15+menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen=new c.FullScreen(this.container)}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",
16+onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};c.post=function(b,a,c){var d=r("form",p({method:"post",action:b,enctype:"multipart/form-data"},c),{display:"none"},n.body);F(a,function(a,b){r("input",{type:"hidden",name:b,value:a},null,d)});d.submit();E(d)};y(A.prototype,{sanitizeSVG:function(b,a){var c=b.indexOf("\x3c/svg\x3e")+6,d=b.substr(c);b=b.substr(0,c);a&&a.exporting&&a.exporting.allowHTML&&d&&(d='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+a.chart.width+'" height\x3d"'+
17+a.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+d+"\x3c/body\x3e\x3c/foreignObject\x3e",b=b.replace("\x3c/svg\x3e",d+"\x3c/svg\x3e"));b=b.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(\S+)("|&quot;)\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (|NS[0-9]+\:)href=/g," xlink:href\x3d").replace(/\n/," ").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,
18+'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/&nbsp;/g,"\u00a0").replace(/&shy;/g,"\u00ad");this.ieSanitizeSVG&&(b=this.ieSanitizeSVG(b));return b},getChartHTML:function(){this.styledMode&&this.inlineStyles();return this.container.innerHTML},getSVG:function(b){var a,u,d,f,m,k=p(this.options,b);u=r("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},n.body);d=this.renderTo.style.width;m=this.renderTo.style.height;d=k.exporting.sourceWidth||k.chart.width||
19+/px$/.test(d)&&parseInt(d,10)||(k.isGantt?800:600);m=k.exporting.sourceHeight||k.chart.height||/px$/.test(m)&&parseInt(m,10)||400;y(k.chart,{animation:!1,renderTo:u,forExport:!0,renderer:"SVGRenderer",width:d,height:m});k.exporting.enabled=!1;delete k.data;k.series=[];this.series.forEach(function(a){f=p(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});f.isInternal||k.series.push(f)});this.axes.forEach(function(a){a.userOptions.internalKey||(a.userOptions.internalKey=
20+c.uniqueKey())});a=new c.Chart(k,this.callback);b&&["xAxis","yAxis","series"].forEach(function(d){var c={};b[d]&&(c[d]=b[d],a.update(c))});this.axes.forEach(function(b){var d=c.find(a.axes,function(a){return a.options.internalKey===b.userOptions.internalKey}),e=b.getExtremes(),u=e.userMin,e=e.userMax;d&&(void 0!==u&&u!==d.min||void 0!==e&&e!==d.max)&&d.setExtremes(u,e,!0,!1)});d=a.getChartHTML();D(this,"getSVG",{chartCopy:a});d=this.sanitizeSVG(d,k);k=null;a.destroy();E(u);return d},getSVGForExport:function(b,
21+a){var c=this.options.exporting;return this.getSVG(p({chart:{borderRadius:0}},c.chartOptions,a,{exporting:{sourceWidth:b&&b.sourceWidth||c.sourceWidth,sourceHeight:b&&b.sourceHeight||c.sourceHeight}}))},getFilename:function(){var b=this.userOptions.title&&this.userOptions.title.text,a=this.options.exporting.filename;if(a)return a;"string"===typeof b&&(a=b.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,
22+24).replace(/[\-]+$/g,""));if(!a||5>a.length)a="chart";return a},exportChart:function(b,a){a=this.getSVGForExport(b,a);b=p(this.options.exporting,b);c.post(b.url,{filename:b.filename||this.getFilename(),type:b.type,width:b.width||0,scale:b.scale,svg:a},b.formAttributes)},print:function(){function b(b){(a.fixedDiv?[a.fixedDiv,a.scrollingContainer]:[a.container]).forEach(function(a){b.appendChild(a)})}var a=this,c=[],d=n.body,f=d.childNodes,m=a.options.exporting.printMaxWidth,k,e;if(!a.isPrinting){a.isPrinting=
23+!0;a.pointer.reset(null,0);D(a,"beforePrint");if(e=m&&a.chartWidth>m)k=[a.options.chart.width,void 0,!1],a.setSize(m,void 0,!1);[].forEach.call(f,function(a,b){1===a.nodeType&&(c[b]=a.style.display,a.style.display="none")});b(d);setTimeout(function(){z.focus();z.print();setTimeout(function(){b(a.renderTo);[].forEach.call(f,function(a,b){1===a.nodeType&&(a.style.display=c[b])});a.isPrinting=!1;e&&a.setSize.apply(a,k);D(a,"afterPrint")},1E3)},1)}},contextMenu:function(b,a,u,d,f,m,k){var e=this,x=e.options.navigation,
24+l=e.chartWidth,q=e.chartHeight,h="cache-"+b,g=e[h],B=Math.max(f,m),p;g||(e.exportContextMenu=e[h]=g=r("div",{className:b},{position:"absolute",zIndex:1E3,padding:B+"px",pointerEvents:"auto"},e.fixedDiv||e.container),p=r("div",{className:"highcharts-menu"},null,g),e.styledMode||w(p,y({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},x.menuStyle)),g.hideMenu=function(){w(g,{display:"none"});k&&k.setState(0);e.openMenu=!1;c.clearTimeout(g.hideTimer);
25+D(e,"exportMenuHidden")},e.exportEvents.push(v(g,"mouseleave",function(){g.hideTimer=setTimeout(g.hideMenu,500)}),v(g,"mouseenter",function(){c.clearTimeout(g.hideTimer)}),v(n,"mouseup",function(a){e.pointer.inClass(a.target,b)||g.hideMenu()}),v(g,"click",function(){e.openMenu&&g.hideMenu()})),a.forEach(function(a){"string"===typeof a&&(a=e.options.exporting.menuItemDefinitions[a]);if(c.isObject(a,!0)){var b;a.separator?b=r("hr",null,null,p):(b=r("div",{className:"highcharts-menu-item",onclick:function(b){b&&
26+b.stopPropagation();g.hideMenu();a.onclick&&a.onclick.apply(e,arguments)},innerHTML:a.text||e.options.lang[a.textKey]},null,p),e.styledMode||(b.onmouseover=function(){w(this,x.menuItemHoverStyle)},b.onmouseout=function(){w(this,x.menuItemStyle)},w(b,y({cursor:"pointer"},x.menuItemStyle))));e.exportDivElements.push(b)}}),e.exportDivElements.push(p,g),e.exportMenuWidth=g.offsetWidth,e.exportMenuHeight=g.offsetHeight);a={display:"block"};u+e.exportMenuWidth>l?a.right=l-u-f-B+"px":a.left=u-B+"px";d+m+
27+e.exportMenuHeight>q&&"top"!==k.alignOptions.verticalAlign?a.bottom=q-d-B+"px":a.top=d+m-B+"px";w(g,a);e.openMenu=!0},addButton:function(b){var a=this,c=a.renderer,d=p(a.options.navigation.buttonOptions,b),f=d.onclick,m=d.menuItems,k,e,h=d.symbolSize||12;a.btnCount||(a.btnCount=0);a.exportDivElements||(a.exportDivElements=[],a.exportSVGElements=[]);if(!1!==d.enabled){var l=d.theme,q=l.states,n=q&&q.hover,q=q&&q.select,g;a.styledMode||(l.fill=t(l.fill,"#ffffff"),l.stroke=t(l.stroke,"none"));delete l.states;
28+f?g=function(b){b&&b.stopPropagation();f.call(a,b)}:m&&(g=function(b){b&&b.stopPropagation();a.contextMenu(e.menuClassName,m,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});d.text&&d.symbol?l.paddingLeft=t(l.paddingLeft,25):d.text||y(l,{width:d.width,height:d.height,padding:0});a.styledMode||(l["stroke-linecap"]="round",l.fill=t(l.fill,"#ffffff"),l.stroke=t(l.stroke,"none"));e=c.button(d.text,0,0,g,l,n,q).addClass(b.className).attr({title:t(a.options.lang[d._titleKey||d.titleKey],"")});
29+e.menuClassName=b.menuClassName||"highcharts-menu-"+a.btnCount++;d.symbol&&(k=c.symbol(d.symbol,d.symbolX-h/2,d.symbolY-h/2,h,h,{width:h,height:h}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(e),a.styledMode||k.attr({stroke:d.symbolStroke,fill:d.symbolFill,"stroke-width":d.symbolStrokeWidth||1}));e.add(a.exportingGroup).align(y(d,{width:e.width,x:t(d.x,a.buttonOffset)}),!0,"spacingBox");a.buttonOffset+=(e.width+d.buttonSpacing)*("right"===d.align?-1:1);a.exportSVGElements.push(e,k)}},
30+destroyExport:function(b){var a=b?b.target:this;b=a.exportSVGElements;var f=a.exportDivElements,d=a.exportEvents,h;b&&(b.forEach(function(b,d){b&&(b.onclick=b.ontouchstart=null,h="cache-"+b.menuClassName,a[h]&&delete a[h],a.exportSVGElements[d]=b.destroy())}),b.length=0);a.exportingGroup&&(a.exportingGroup.destroy(),delete a.exportingGroup);f&&(f.forEach(function(b,d){c.clearTimeout(b.hideTimer);C(b,"mouseleave");a.exportDivElements[d]=b.onmouseout=b.onmouseover=b.ontouchstart=b.onclick=null;E(b)}),
31+f.length=0);d&&(d.forEach(function(b){b()}),d.length=0)}});G.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");G.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/];G.prototype.unstyledElements=["clipPath","defs","desc"];A.prototype.inlineStyles=function(){function b(b){return b.replace(/([A-Z])/g,function(b,a){return"-"+a.toLowerCase()})}
32+function a(c){function u(a,g){q=v=!1;if(h){for(r=h.length;r--&&!v;)v=h[r].test(g);q=!v}"transform"===g&&"none"===a&&(q=!0);for(r=f.length;r--&&!q;)q=f[r].test(g)||"function"===typeof a;q||m[g]===a&&"svg"!==c.nodeName||e[c.nodeName][g]===a||(-1!==d.indexOf(g)?c.setAttribute(b(g),a):n+=b(g)+":"+a+";")}var g,m,n="",t,q,v,r;if(1===c.nodeType&&-1===k.indexOf(c.nodeName)){g=z.getComputedStyle(c,null);m="svg"===c.nodeName?{}:z.getComputedStyle(c.parentNode,null);e[c.nodeName]||(x=l.getElementsByTagName("svg")[0],
33+t=l.createElementNS(c.namespaceURI,c.nodeName),x.appendChild(t),e[c.nodeName]=p(z.getComputedStyle(t,null)),"text"===c.nodeName&&delete e.text.fill,x.removeChild(t));if(L||K)for(var w in g)u(g[w],w);else F(g,u);n&&(g=c.getAttribute("style"),c.setAttribute("style",(g?g+";":"")+n));"svg"===c.nodeName&&c.setAttribute("stroke-width","1px");"text"!==c.nodeName&&[].forEach.call(c.children||c.childNodes,a)}}var c=this.renderer,d=c.inlineToAttributes,f=c.inlineBlacklist,h=c.inlineWhitelist,k=c.unstyledElements,
34+e={},x,l,c=n.createElement("iframe");w(c,{width:"1px",height:"1px",visibility:"hidden"});n.body.appendChild(c);l=c.contentWindow.document;l.open();l.write('\x3csvg xmlns\x3d"http://www.w3.org/2000/svg"\x3e\x3c/svg\x3e');l.close();a(this.container.querySelector("svg"));x.parentNode.removeChild(x)};I.menu=function(b,a,c,d){return["M",b,a+2.5,"L",b+c,a+2.5,"M",b,a+d/2+.5,"L",b+c,a+d/2+.5,"M",b,a+d-1.5,"L",b+c,a+d-1.5]};I.menuball=function(b,a,c,d){b=[];d=d/3-2;return b=b.concat(this.circle(c-d,a,d,d),
35+this.circle(c-d,a+d+4,d,d),this.circle(c-d,a+2*(d+4),d,d))};A.prototype.renderExporting=function(){var b=this,a=b.options.exporting,c=a.buttons,d=b.isDirtyExporting||!b.exportSVGElements;b.buttonOffset=0;b.isDirtyExporting&&b.destroyExport();d&&!1!==a.enabled&&(b.exportEvents=[],b.exportingGroup=b.exportingGroup||b.renderer.g("exporting-group").attr({zIndex:3}).add(),F(c,function(a){b.addButton(a)}),b.isDirtyExporting=!1);v(b,"destroy",b.destroyExport)};v(A,"init",function(){var b=this;b.exporting=
36+{update:function(a,c){b.isDirtyExporting=!0;p(!0,b.options.exporting,a);t(c,!0)&&b.redraw()}};f.addUpdate(function(a,c){b.isDirtyExporting=!0;p(!0,b.options.navigation,a);t(c,!0)&&b.redraw()},b)});A.prototype.callbacks.push(function(b){b.renderExporting();v(b,"redraw",b.renderExporting)})});h(f,"masters/modules/exporting.src.js",[],function(){})});
37+//# sourceMappingURL=exporting.js.map
--- a/templates/combo-multi-axes.htm
+++ b/templates/combo-multi-axes.htm
@@ -44,7 +44,7 @@ Highcharts.chart('container', {
4444 format: '{value}°C',
4545 style: {
4646 color: Highcharts.getOptions().colors[3]
47- }
47+ },
4848 },
4949 title: {
5050 text: 'Temperature',
@@ -57,7 +57,7 @@ Highcharts.chart('container', {
5757 tickInterval: 10,
5858 startOnTick: false,
5959 endOnTick: false,
60- opposite: true
60+ opposite: false
6161
6262 }, { // Secondary yAxis
6363 gridLineWidth: 0,
--- /dev/null
+++ b/templates/compare.htm
@@ -0,0 +1,119 @@
1+<!DOCTYPE HTML>
2+<html>
3+ <head>
4+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5+ <meta name="viewport" content="width=device-width, initial-scale=1">
6+ <title>Highstock Example</title>
7+
8+ <style type="text/css">
9+#container {
10+ min-width: 320px;
11+ height: 400px;
12+ margin: 0 auto;
13+}
14+ </style>
15+ </head>
16+ <body>
17+<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
18+<script src="../static/js/highstock/highstock.js"></script>
19+<script src="../static/js/highstock/modules/exporting.js"></script>
20+<script src="../static/js/highstock/modules/export-data.js"></script>
21+
22+<div id="container"></div>
23+
24+
25+<script type="text/javascript">
26+
27+Highcharts.stockChart('container', {
28+
29+ rangeSelector: {
30+ selected: 4
31+ },
32+ yAxis: [{ // Primary yAxis
33+ labels: {
34+ format: '{value}°C',
35+ style: {
36+ color: Highcharts.getOptions().colors[3]
37+ },
38+ },
39+ title: {
40+ text: 'Temperature',
41+ style: {
42+ color: Highcharts.getOptions().colors[3]
43+ },
44+ },
45+ max: 45,
46+ min: -15,
47+ tickInterval: 10,
48+ startOnTick: false,
49+ endOnTick: false,
50+ opposite: false
51+
52+ }, { // Secondary yAxis
53+ gridLineWidth: 0,
54+ title: {
55+ text: 'humidity',
56+ style: {
57+ color: Highcharts.getOptions().colors[0]
58+ }
59+ },
60+ labels: {
61+ format: '{value} %',
62+ style: {
63+ color: Highcharts.getOptions().colors[0]
64+ }
65+ },
66+ max: 100,
67+ min: 0,
68+ tickInterval: 10,
69+ startOnTick: false,
70+ endOnTick: false,
71+ opposite: true,
72+ }],
73+
74+ series: [{
75+ name: 'temperature',
76+ color: Highcharts.getOptions().colors[3],
77+ data: {{temperature|tojson|safe}},
78+ yAxis: 0,
79+ tooltip: {
80+ valueSuffix: ' °C'
81+ },
82+ }, {
83+ name: 'humidity',
84+ color: Highcharts.getOptions().colors[0],
85+ data: {{humidity|tojson|safe}},
86+ yAxis: 1,
87+ tooltip: {
88+ valueSuffix: ' %'
89+ },
90+ }, {
91+ name: 'photosensitive',
92+ color: Highcharts.getOptions().colors[6],
93+ data: {{photosensitive|tojson|safe}},
94+ yAxis: 1,
95+ tooltip: {
96+ valueSuffix: ' %'
97+ },
98+ }, {
99+ name: 'soilmoisture',
100+ color: Highcharts.getOptions().colors[4],
101+ data: {{soilmoisture|tojson|safe}},
102+ yAxis: 1,
103+ tooltip: {
104+ valueSuffix: ' %'
105+ },
106+ }, {
107+ name: 'soiltemperature',
108+ color: Highcharts.getOptions().colors[7],
109+ data: {{soiltemperature|tojson|safe}},
110+ yAxis: 0,
111+ tooltip: {
112+ valueSuffix: ' °C'
113+ },
114+ }]
115+});
116+
117+ </script>
118+ </body>
119+</html>