(function(n,t){typeof module=="object"&&module.exports?module.exports=n.document?t(n):t:n.Highcharts=t(n)})(typeof window!="undefined"?window:this,function(n){function ui(t,i){var r="Highcharts error #"+t+": www.highcharts.com/errors/"+t;if(i)throw Error(r);n.console&&console.log(r)}function rf(n,t,i){this.options=t;this.elem=n;this.prop=i}function s(){var t,n=arguments,r,i={},u=function(n,t){var r,i;typeof n!="object"&&(n={});for(i in t)t.hasOwnProperty(i)&&(r=t[i],n[i]=r&&typeof r=="object"&&Object.prototype.toString.call(r)!=="[object Array]"&&i!=="renderTo"&&typeof r.nodeType!="number"?u(n[i]||{},r):t[i]);return n};for(n[0]===!0&&(i=n[1],n=Array.prototype.slice.call(n,2)),r=n.length,t=0;t<r;t++)i=u(i,n[t]);return i}function v(n,t){return parseInt(n,t||10)}function ki(n){return typeof n=="string"}function yt(n){return n&&typeof n=="object"}function fr(n){return Object.prototype.toString.call(n)==="[object Array]"}function fi(n){return typeof n=="number"}function er(n){return ot.log(n)/ot.LN10}function ai(n){return ot.pow(10,n)}function vi(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function r(n){return n!==u&&n!==null}function ft(n,t,i){var u,f;if(ki(t))r(i)?n.setAttribute(t,i):n&&n.getAttribute&&(f=n.getAttribute(t));else if(r(t)&&yt(t))for(u in t)n.setAttribute(u,t[u]);return f}function ei(n){return fr(n)?n:[n]}function gr(n,t,i){if(t)return setTimeout(n,t,i);n.call(0,i)}function b(n,t){rr&&!bt&&t&&t.opacity!==u&&(t.filter="alpha(opacity="+t.opacity*100+")");o(n.style,t)}function lt(n,t,i,r,u){return n=l.createElement(n),t&&o(n,t),u&&b(n,{padding:0,border:"none",margin:0}),i&&b(n,i),r&&r.appendChild(n),n}function kt(n,t){var i=function(){};return i.prototype=new n,o(i.prototype,t),i}function pr(n,t){return Array((t||2)+1-String(n).length).join(0)+n}function fu(n){return(nf&&nf(n)||hf||0)*6e4}function tr(n,t){for(var e="{",s=!1,i,r,o,u,f,c=[];(e=n.indexOf(e))!==-1;){if(i=n.slice(0,e),s){for(r=i.split(":"),o=r.shift().split("."),f=o.length,i=t,u=0;u<f;u++)i=i[o[u]];r.length&&(r=r.join(":"),o=/\.([0-9])/,u=nt.lang,f=void 0,/f$/.test(r)?(f=(f=r.match(o))?f[1]:-1,i!==null&&(i=h.numberFormat(i,f,u.decimalPoint,r.indexOf(",")>-1?u.thousandsSep:""))):i=dt(r,i))}c.push(i);n=n.slice(e+1);e=(s=!s)?"}":"{"}return c.push(n),c.join("")}function uf(n){return ot.pow(10,ut(ot.log(n)/ot.LN10))}function ff(n,i,r,u,f){var o,e=n,r=t(r,1);for(o=n/r,i||(i=[1,2,2.5,5,10],u===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),u=0;u<i.length;u++)if(e=i[u],f&&e*r>=n||!f&&o<=(i[u]+(i[u+1]||i[u]))/2)break;return e*r}function pu(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].safeI=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.safeI-i.safeI:r}),i=0;i<u;i++)delete n[i].safeI}function or(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function di(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function sr(n,t){for(var i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function wr(n){ku||(ku=lt(dr));n&&ku.appendChild(n);ku.innerHTML=""}function ni(n,t){return parseFloat(n.toPrecision(t||14))}function nu(n,i){i.renderer.globalAnimation=t(n,i.animation)}function df(){var f=nt.global,u=f.useUTC,r=u?"getUTC":"get",i=u?"setUTC":"set";vt=f.Date||n.Date;hf=u&&f.timezoneOffset;nf=u&&f.getTimezoneOffset;gu=function(n,i,r,f,e,o){var s;return u?(s=vt.UTC.apply(0,arguments),s+=fu(s)):s=new vt(n,i,t(r,1),t(f,0),t(e,0),t(o,0)).getTime(),s};cf=r+"Minutes";lf=r+"Hours";af=r+"Day";su=r+"Date";hu=r+"Month";cu=r+"FullYear";ie=i+"Milliseconds";re=i+"Seconds";ue=i+"Minutes";fe=i+"Hours";vf=i+"Date";yf=i+"Month";pf=i+"FullYear"}function oi(n){if(!(this instanceof oi))return new oi(n);this.init(n)}function et(){}function tu(n,t,i,r){this.axis=n;this.pos=t;this.type=i||"";this.isNew=!0;i||r||this.addLabel()}function gf(n,i,r,u,f){var e=n.chart.inverted;this.axis=n;this.isNegative=r;this.options=i;this.x=u;this.total=null;this.points={};this.stack=f;this.alignOptions={align:i.align||(e?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(e?"middle":r?"bottom":"top"),y:t(i.y,e?4:r?14:-6),x:t(i.x,e?r?-6:6:0)};this.textAlign=i.textAlign||(e?r?"right":"left":"center")}function ef(n){var t=n.options,i=t.navigator,r=i.enabled,t=t.scrollbar,u=t.enabled,f=r?i.height:0,e=u?t.height:0;this.handles=[];this.scrollbarButtons=[];this.elementsToDestroy=[];this.chart=n;this.setBaseSeries();this.height=f;this.scrollbarHeight=e;this.scrollbarEnabled=u;this.navigatorEnabled=r;this.navigatorOptions=i;this.scrollbarOptions=t;this.outlineHeight=f+e;this.init()}function of(n){this.init(n)}var u,l=n.document,ot=Math,e=ot.round,ut=ot.floor,gi=ot.ceil,f=ot.max,c=ot.min,g=ot.abs,ct=ot.cos,wt=ot.sin,yi=ot.PI,ti=yi/180,ir=n.navigator&&n.navigator.userAgent||"",ne=n.opera,rr=/(msie|trident|edge)/i.test(ir)&&!ne,wu=l&&l.documentMode===8,bu=!rr&&/AppleWebKit/.test(ir),br=/Firefox/.test(ir),eu=/(Mobile|Android|Windows Phone)/.test(ir),hr="http://www.w3.org/2000/svg",bt=l&&l.createElementNS&&!!l.createElementNS(hr,"svg").createSVGRect,ce=br&&parseInt(ir.split("Firefox/")[1],10)<4,ii=l&&!bt&&!rr&&!!l.createElement("canvas").getContext,kr,iu,te={},sf=0,ku,nt,dt,k,gt=function(){},at=[],ou=0,dr="div",le=/^[0-9]+$/,du=["plotTop","marginRight","marginBottom","plotLeft"],vt,gu,hf,nf,cf,lf,af,su,hu,cu,ie,re,ue,fe,vf,yf,pf,y={},h,ur,cr,si,i,lr,wf,hi,a,it,d,ru,ar,rt,ri,lu,st,ee,p,tf,pi,vr,au,ci,oe,wi,w,bi,li,uu,vu,ht,yu;h=n.Highcharts?ui(16,!0):{win:n};h.seriesTypes=y;ur=[];rf.prototype={dSetter:function(){var r=this.paths[0],u=this.paths[1],t=[],f=this.now,n=r.length,i;if(f===1)t=this.toD;else if(n===u.length&&f<1)for(;n--;)i=parseFloat(r[n]),t[n]=isNaN(i)?r[n]:f*parseFloat(u[n]-i)+i;else t=u;this.elem.attr("d",t)},update:function(){var n=this.elem,t=this.prop,i=this.now,r=this.options.step;this[t+"Setter"]?this[t+"Setter"]():n.attr?n.element&&n.attr(t,i):n.style[t]=i+this.unit;r&&r.call(n,i,this)},run:function(n,t,i){var f=this,r=function(n){return r.stopped?!1:f.step(n)},u;this.startTime=+new vt;this.start=n;this.end=t;this.unit=i;this.now=this.start;this.pos=0;r.elem=this.elem;r()&&ur.push(r)===1&&(r.timerId=setInterval(function(){for(u=0;u<ur.length;u++)ur[u]()||ur.splice(u--,1);ur.length||clearInterval(r.timerId)},13))},step:function(n){var u=+new vt,t,i=this.options;t=this.elem;var f=i.complete,e=i.duration,r=i.curAnim,o;if(t.attr&&!t.element)t=!1;else if(n||u>=e+this.startTime){this.now=this.end;this.pos=1;this.update();n=r[this.prop]=!0;for(o in r)r[o]!==!0&&(n=!1);n&&f&&f.call(t);t=!1}else this.pos=i.easing((u-this.startTime)/e),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},initPath:function(n,t,i){var t=t||"",r=n.shift,e=t.indexOf("C")>-1,u=e?7:3,f,t=t.split(" "),i=[].concat(i),o,s,h=function(n){for(f=n.length;f--;)n[f]==="M"&&n.splice(f+1,0,n[f+1],n[f+2],n[f+1],n[f+2])};if(e&&(h(t),h(i)),n.isArea&&(o=t.splice(t.length-6,6),s=i.splice(i.length-6,6)),r<=i.length/u&&t.length===i.length)for(;r--;)i=[].concat(i).splice(0,u).concat(i);if(n.shift=0,t.length)for(n=i.length;t.length<n;)r=[].concat(t).splice(t.length-u,u),e&&(r[u-6]=r[u-2],r[u-5]=r[u-1]),t=t.concat(r);return o&&(t=t.concat(o),i=i.concat(s)),[t,i]}};var o=h.extend=function(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n},t=h.pick=function(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],t!==u&&t!==null)return t},tt=h.wrap=function(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}};if(dt=function(n,i,u){if(!r(i)||isNaN(i))return nt.lang.invalidDate||"";var n=t(n,"%Y-%m-%d %H:%M:%S"),f=new vt(i-fu(i)),s,c=f[lf](),l=f[af](),y=f[su](),a=f[hu](),p=f[cu](),v=nt.lang,w=v.weekdays,f=o({a:w[l].substr(0,3),A:w[l],d:pr(y),e:y,w:l,b:v.shortMonths[a],B:v.months[a],m:pr(a+1),y:p.toString().substr(2,2),Y:p,H:pr(c),k:c,I:pr(c%12||12),l:c%12||12,M:pr(f[cf]()),p:c<12?"AM":"PM",P:c<12?"am":"pm",S:pr(f.getSeconds()),L:pr(e(i%1e3),3)},h.dateFormats);for(s in f)for(;n.indexOf("%"+s)!==-1;)n=n.replace("%"+s,typeof f[s]=="function"?f[s](i):f[s]);return u?n.substr(0,1).toUpperCase()+n.substr(1):n},k={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},h.numberFormat=function(n,t,i,r){var u=nt.lang,n=+n||0,f=t===-1?Math.min((n.toString().split(".")[1]||"").length,20):isNaN(t=Math.abs(t))?2:t,t=i===void 0?u.decimalPoint:i,r=r===void 0?u.thousandsSep:r,u=n<0?"-":"",i=String(v(n=g(n).toFixed(f))),e=i.length>3?i.length%3:0;return u+(e?i.substr(0,e)+r:"")+i.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+r)+(f?t+g(n-i).toFixed(f).slice(2):"")},Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)},cr=function(t,i){var r=n.getComputedStyle(t,void 0);return r&&v(r.getPropertyValue(i))},si=function(n,t){return t.indexOf?t.indexOf(n):[].indexOf.call(t,n)},lr=function(n,t){return[].filter.call(n,t)},hi=function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},wf=function(t){var i=l.documentElement,t=t.getBoundingClientRect();return{top:t.top+(n.pageYOffset||i.scrollTop)-(i.clientTop||0),left:t.left+(n.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}},ar=function(n){for(var t=ur.length;t--;)ur[t].elem===n&&(ur[t].stopped=!0)},i=function(n,t){return Array.prototype.forEach.call(n,t)},a=function(t,i,r){function f(i){i.target=i.srcElement||n;r.call(t,i)}var u=t.hcEvents=t.hcEvents||{};t.addEventListener?t.addEventListener(i,r,!1):t.attachEvent&&(t.hcEventsIE||(t.hcEventsIE={}),t.hcEventsIE[r.toString()]=f,t.attachEvent("on"+i,f));u[i]||(u[i]=[]);u[i].push(r)},it=function(n,t,i){function e(t,i){n.removeEventListener?n.removeEventListener(t,i,!1):n.attachEvent&&(i=n.hcEventsIE[i.toString()],n.detachEvent("on"+t,i))}function o(){var u,f,i;if(n.nodeName)for(i in t?(u={},u[t]=!0):u=r,u)if(r[i])for(f=r[i].length;f--;)e(i,r[i][f])}var u,r=n.hcEvents,f;r&&(t?(u=r[t]||[],i?(f=si(i,u),f>-1&&(u.splice(f,1),r[t]=u),e(t,i)):(o(),r[t]=[])):(o(),n.hcEvents={}))},d=function(n,t,i,r){var u,e,f,s,h,i;if(u=n.hcEvents,i=i||{},l.createEvent&&(n.dispatchEvent||n.fireEvent))u=l.createEvent("Events"),u.initEvent(t,!0,!0),u.target=n,o(u,i),n.dispatchEvent?n.dispatchEvent(u):n.fireEvent(t,u);else if(u)for(u=u[t]||[],e=u.length,s=function(){i.defaultPrevented=!0},f=0;f<e;f++){if(h=u[f],i.stopped)return;i.preventDefault=s;i.target=n;i.type||(i.type=t);h.call(n,i)===!1&&i.preventDefault()}r&&!i.defaultPrevented&&r(i)},ru=function(n,t,i){var u,o="",r,e,f;yt(i)||(u=arguments,i={duration:u[2],easing:u[3],complete:u[4]});fi(i.duration)||(i.duration=400);i.easing=Math[i.easing]||Math.easeInOutSine;i.curAnim=s(t);for(f in t)e=new rf(n,i,f),r=null,f==="d"?(e.paths=e.initPath(n,n.d,t.d),e.toD=t.d,u=0,r=1):n.attr?u=n.attr(f):(u=parseFloat(cr(n,f))||0,f!=="opacity"&&(o="px")),r||(r=t[f]),r.match&&r.match("px")&&(r=r.replace(/px/g,"")),e.run(u,r,o)},n.jQuery&&(n.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new h[ki(n[0])?n.shift():"Chart"](this[0],n[0],n[1]),this):at[ft(this[0],"data-highcharts-chart")]}),l&&!l.defaultView&&(cr=function(n,t){var i;return(i={width:"clientWidth",height:"clientHeight"}[t],n.style[t])?v(n.style[t]):(t==="opacity"&&(t="filter"),i)?(n.style.zoom=1,n[i]-2*cr(n,"padding")):(i=n.currentStyle[t.replace(/\-(\w)/g,function(n,t){return t.toUpperCase()})],t==="filter"&&(i=i.replace(/alpha\(opacity=([0-9]+)\)/,function(n,t){return t/100})),i===""?1:v(i))}),Array.prototype.forEach||(i=function(n,t){for(var i=0,r=n.length;i<r;i++)if(t.call(n[i],n[i],i,n)===!1)return i}),Array.prototype.indexOf||(si=function(n,t){var r,i=0;if(t)for(r=t.length;i<r;i++)if(t[i]===n)return i;return-1}),Array.prototype.filter||(lr=function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)t(n[i],i)&&r.push(n[i]);return r}),h.Fx=rf,h.inArray=si,h.each=i,h.grep=lr,h.offset=wf,h.map=hi,h.addEvent=a,h.removeEvent=it,h.fireEvent=d,h.animate=ru,h.stop=ar,nt={colors:"#7cb5ec,#434348,#90ed7d,#f7a35c,#8085e9,#f15c80,#e4d354,#2b908f,#f45b5b,#91e8e1".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/stock/4.2.1/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"}},subtitle:{text:"",align:"center",style:{color:"#555555"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0,lineWidthPlus:1,radiusPlus:2},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return this.y===null?"":h.numberFormat(this.y,-1)},style:{color:"contrast",fontSize:"11px",fontWeight:"bold",textShadow:"0 0 6px contrast, 0 0 3px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#909090",borderRadius:0,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:bt,backgroundColor:"rgba(249, 249, 249, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{point.color}">●<\/span> {series.name}: <b>{point.y}<\/b><br/>',shadow:!0,snap:eu?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}},rt=nt.plotOptions,ht=rt.line,df(),oi.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(n){return[v(n[1]),v(n[2]),v(n[3]),parseFloat(n[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(n){return[v(n[1],16),v(n[2],16),v(n[3],16),1]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(n){return[v(n[1]),v(n[2]),v(n[3]),1]}}],init:function(n){var u,t,i,r;if((this.input=n)&&n.stops)this.stops=hi(n.stops,function(n){return new oi(n[1])});else for(i=this.parsers.length;i--&&!t;)r=this.parsers[i],(u=r.regex.exec(n))&&(t=r.parse(u));this.rgba=t||[]},get:function(n){var u=this.input,t=this.rgba,r;return this.stops?(r=s(u),r.stops=[].concat(r.stops),i(this.stops,function(t,i){r.stops[i]=[r.stops[i][0],t.get(n)]})):r=t&&!isNaN(t[0])?n==="rgb"||!n&&t[3]===1?"rgb("+t[0]+","+t[1]+","+t[2]+")":n==="a"?t[3]:"rgba("+t.join(",")+")":u,r},brighten:function(n){var t,r=this.rgba;if(this.stops)i(this.stops,function(t){t.brighten(n)});else if(fi(n)&&n!==0)for(t=0;t<3;t++)r[t]+=v(n*255),r[t]<0&&(r[t]=0),r[t]>255&&(r[t]=255);return this},setOpacity:function(n){return this.rgba[3]=n,this}},et.prototype={opacity:1,textProps:"direction,fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textOverflow,textShadow".split(","),init:function(n,t){this.element=t==="span"?lt(t):l.createElementNS(hr,t);this.renderer=n},animate:function(n,i,r){return i=t(i,this.renderer.globalAnimation,!0),ar(this),i?(i=s(i,{}),r&&(i.complete=r),ru(this,n,i)):this.attr(n,null,r),this},colorGradient:function(n,t,u){var h=this.renderer,p,o,f,w,v,a,y,b,k,c,l,e=[],d;if(n.linearGradient?o="linearGradient":n.radialGradient&&(o="radialGradient"),o){f=n[o];v=h.gradients;y=n.stops;c=u.radialReference;fr(f)&&(n[o]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});o==="radialGradient"&&c&&!r(f.gradientUnits)&&(w=f,f=s(f,h.getRadialAttr(c,w),{gradientUnits:"userSpaceOnUse"}));for(l in f)l!=="id"&&e.push(l,f[l]);for(l in y)e.push(y[l]);e=e.join(",");v[e]?c=v[e].attr("id"):(f.id=c="highcharts-"+sf++,v[e]=a=h.createElement(o).attr(f).add(h.defs),a.radAttr=w,a.stops=[],i(y,function(n){n[1].indexOf("rgba")===0?(p=oi(n[1]),b=p.get("rgb"),k=p.get("a")):(b=n[1],k=1);n=h.createElement("stop").attr({offset:n[0],"stop-color":b,"stop-opacity":k}).add(a);a.stops.push(n)}));d="url("+h.url+"#"+c+")";u.setAttribute(t,d);u.gradient=e;n.toString=function(){return d}}},applyTextShadow:function(n){var t=this.element,e,s=n.indexOf("contrast")!==-1,r={},o=this.renderer.forExport,h=o||t.style.textShadow!==u&&!rr;s&&(r.textShadow=n=n.replace(/contrast/g,this.renderer.getContrast(t.style.fill)));(bu||o)&&(r.textRendering="geometricPrecision");h?this.css(r):(this.fakeTS=!0,this.ySetter=this.xSetter,e=[].slice.call(t.getElementsByTagName("tspan")),i(n.split(/\s?,\s?/g),function(n){var o=t.firstChild,r,u,n=n.split(" ");r=n[n.length-1];(u=n[n.length-2])&&i(e,function(n,i){var e;i===0&&(n.setAttribute("x",t.getAttribute("x")),i=t.getAttribute("y"),n.setAttribute("y",i||0),i===null&&t.setAttribute("y",0));e=n.cloneNode(1);ft(e,{"class":"highcharts-text-shadow",fill:r,stroke:r,"stroke-opacity":1/f(v(u),3),"stroke-width":u,"stroke-linejoin":"round"});t.insertBefore(e,o)})}))},attr:function(n,t,i){var r,e=this.element,o,s=this,f;if(typeof n=="string"&&t!==u&&(r=n,n={},n[r]=t),typeof n=="string")s=(this[n+"Getter"]||this._defaultGetter).call(this,n,e);else{for(r in n)t=n[r],f=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(r)&&(o||(this.symbolAttr(n),o=!0),f=!0),this.rotation&&(r==="x"||r==="y")&&(this.doTransform=!0),f||(this[r+"Setter"]||this._defaultSetter).call(this,t,r,e),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(r)&&this.updateShadows(r,t);this.doTransform&&(this.updateTransform(),this.doTransform=!1)}return i&&i(),s},updateShadows:function(n,t){for(var i=this.shadows,r=i.length;r--;)i[r].setAttribute(n,n==="height"?Math.max(t-(i[r].cutHeight||0),0):n==="d"?this.d:t)},addClass:function(n){var t=this.element,i=ft(t,"class")||"";return i.indexOf(n)===-1&&ft(t,"class",i+" "+n),this},symbolAttr:function(n){var r=this;i("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(i){r[i]=t(n[i],r[i])});r.attr({d:r.renderer.symbols[r.symbolName](r.x,r.y,r.width,r.height,r)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},crisp:function(n){var t,r={},i,u=n.strokeWidth||this.strokeWidth||0;i=e(u)%2/2;n.x=ut(n.x||this.x||0)+i;n.y=ut(n.y||this.y||0)+i;n.width=ut((n.width||this.width||0)-2*i);n.height=ut((n.height||this.height||0)-2*i);n.strokeWidth=u;for(t in n)this[t]!==n[t]&&(this[t]=r[t]=n[t]);return r},css:function(n){var i=this.styles,u={},f=this.element,r,t,e="";if(r=!i,n&&n.color&&(n.fill=n.color),i)for(t in n)n[t]!==i[t]&&(u[t]=n[t],r=!0);if(r){if(r=this.textWidth=n&&n.width&&f.nodeName.toLowerCase()==="text"&&v(n.width)||this.textWidth,i&&(n=o(i,u)),this.styles=n,r&&(ii||!bt&&this.renderer.forExport)&&delete n.width,rr&&!bt)b(this.element,n);else{i=function(n,t){return"-"+t.toLowerCase()};for(t in n)e+=t.replace(/([A-Z])/g,i)+":"+n[t]+";";ft(f,"style",e)}r&&this.added&&this.renderer.buildText(this)}return this},on:function(n,t){var r=this,i=r.element;return iu&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=vt.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(ir.indexOf("Android")===-1||vt.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){var t=this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){return this.inverted=!0,this.updateTransform(),this},updateTransform:function(){var n=this.translateX||0,u=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,i=this.element;o&&(n+=this.attr("width"),u+=this.attr("height"));n=["translate("+n+","+u+")"];o?n.push("rotate(90) scale(-1,1)"):s&&n.push("rotate("+s+" "+(i.getAttribute("x")||0)+" "+(i.getAttribute("y")||0)+")");(r(f)||r(e))&&n.push("scale("+t(f,1)+" "+t(e,1)+")");n.length&&i.setAttribute("transform",n.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(n,i,r){var f,u,o,h,s={};return u=this.renderer,o=u.alignedObjects,n?(this.alignOptions=n,this.alignByTranslate=i,!r||ki(r))&&(this.alignTo=f=r||"renderer",vi(o,this),o.push(this),r=null):(n=this.alignOptions,i=this.alignByTranslate,f=this.alignTo),r=t(r,u[f],u),f=n.align,u=n.verticalAlign,o=(r.x||0)+(n.x||0),h=(r.y||0)+(n.y||0),(f==="right"||f==="center")&&(o+=(r.width-(n.width||0))/{right:1,center:2}[f]),s[i?"translateX":"x"]=e(o),(u==="bottom"||u==="middle")&&(h+=(r.height-(n.height||0))/({bottom:1,middle:2}[u]||1)),s[i?"translateY":"y"]=e(h),this[this.placed?"animate":"attr"](s),this.placed=!0,this.alignAttr=s,this},getBBox:function(n,r){var f,c=this.renderer,e,v,l,h=this.element,y=this.styles;e=this.textStr;var b,p=h.style,a,w=c.cache,k=c.cacheKeys,s;if(v=t(r,this.rotation),l=v*ti,e!==u&&(s=["",v||0,y&&y.fontSize,h.style.width].join(","),s=e===""||le.test(e)?"num:"+e.toString().length+s:e+s),s&&!n&&(f=w[s]),!f){if(h.namespaceURI===hr||c.forExport){try{a=this.fakeTS&&function(n){i(h.querySelectorAll(".highcharts-text-shadow"),function(t){t.style.display=n})};br&&p.textShadow?(b=p.textShadow,p.textShadow=""):a&&a("none");f=h.getBBox?o({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight};b?p.textShadow=b:a&&a("")}catch(d){}(!f||f.width<0)&&(f={width:0,height:0})}else f=this.htmlGetBBox();if(c.isSVG&&(c=f.width,e=f.height,rr&&y&&y.fontSize==="11px"&&e.toPrecision(3)==="16.9"&&(f.height=e=14),v&&(f.width=g(e*wt(l))+g(c*ct(l)),f.height=g(e*ct(l))+g(c*wt(l)))),s){for(;k.length>250;)delete w[k.shift()];w[s]||k.push(s);w[s]=f}}return f},show:function(n){return this.attr({visibility:n?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},add:function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==void 0&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,t=n.element||{},f=n.shadows,r=n.renderer.isSVG&&t.nodeName==="SPAN"&&n.parentGroup,e,u;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,ar(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(u=0;u<n.stops.length;u++)n.stops[u]=n.stops[u].destroy();n.stops=null}for(n.safeRemoveChild(t),f&&i(f,function(t){n.safeRemoveChild(t)});r&&r.div&&r.div.childNodes.length===0;)t=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=t;n.alignTo&&vi(n.renderer.alignedObjects,n);for(e in n)delete n[e];return null},shadow:function(n,i,r){var c=[],e,u,h=this.element,o,s,l,a;if(n){for(s=t(n.width,3),l=(n.opacity||.15)/s,a=this.parentInverted?"(-1,-1)":"("+t(n.offsetX,1)+", "+t(n.offsetY,1)+")",e=1;e<=s;e++)u=h.cloneNode(0),o=s*2+1-2*e,ft(u,{isShadow:"true",stroke:n.color||"black","stroke-opacity":l*e,"stroke-width":o,transform:"translate"+a,fill:"none"}),r&&(ft(u,"height",f(ft(u,"height")-o,0)),u.cutHeight=o),i?i.element.appendChild(u):h.parentNode.insertBefore(u,h),c.push(u);this.shadows=c}return this},xGetter:function(n){return this.element.nodeName==="circle"&&(n={x:"cx",y:"cy"}[n]||n),this._defaultGetter(n)},_defaultGetter:function(n){return n=t(this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" "));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");i.setAttribute(t,n);this[t]=n},dashstyleSetter:function(n){var t;if(n=n&&n.toLowerCase()){for(n=n.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(","),t=n.length;t--;)n[t]=v(n[t])*this["stroke-width"];n=n.join(",").replace("NaN","none");this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[n])},opacitySetter:function(n,t,i){this[t]=n;i.setAttribute(t,n)},titleSetter:function(n){var i=this.element.getElementsByTagName("title")[0];i||(i=l.createElementNS(hr,"title"),this.element.appendChild(i));i.appendChild(l.createTextNode(String(t(n),"").replace(/<[^>]*>/g,"")))},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){typeof n=="string"?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},visibilitySetter:function(n,t,i){n==="inherit"?i.removeAttribute(t):i.setAttribute(t,n)},zIndexSetter:function(n,t){var u=this.renderer,f=this.parentGroup,u=(f||u).element||u.box,i,h,e=this.element,o,s;if(i=this.added,r(n)&&(e.setAttribute(t,n),n=+n,this[t]===n&&(i=!1),this[t]=n),i){for((n=this.zIndex)&&f&&(f.handleZ=!0),f=u.childNodes,s=0;s<f.length&&!o;s++)(i=f[s],h=ft(i,"zIndex"),i!==e&&(v(h)>n||!r(n)&&r(h)))&&(u.insertBefore(e,i),o=!0);o||u.appendChild(e)}return o},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}},et.prototype.yGetter=et.prototype.xGetter,et.prototype.translateXSetter=et.prototype.translateYSetter=et.prototype.rotationSetter=et.prototype.verticalAlignSetter=et.prototype.scaleXSetter=et.prototype.scaleYSetter=function(n,t){this[t]=n;this.doTransform=!0},et.prototype["stroke-widthSetter"]=et.prototype.strokeSetter=function(n,t,i){this[t]=n;this.stroke&&this["stroke-width"]?(this.strokeWidth=this["stroke-width"],et.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):t==="stroke-width"&&n===0&&this.hasStroke&&(i.removeAttribute("stroke"),this.hasStroke=!1)},ri=function(){this.init.apply(this,arguments)},ri.prototype={Element:et,init:function(t,i,r,u,f,e){var s,u=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(u)),o;s=u.element;t.appendChild(s);t.innerHTML.indexOf("xmlns")===-1&&ft(s,"xmlns",hr);this.isSVG=!0;this.box=s;this.boxWrapper=u;this.alignedObjects=[];this.url=(br||bu)&&l.getElementsByTagName("base").length?n.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(l.createTextNode("Created with Highstock 4.2.1"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=f;this.gradients={};this.cache={};this.cacheKeys=[];this.setSize(i,r,!1);br&&t.getBoundingClientRect&&(this.subPixelFix=i=function(){b(t,{left:0,top:0});o=t.getBoundingClientRect();b(t,{left:gi(o.left)-o.left+"px",top:gi(o.top)-o.top+"px"})},i(),a(n,"resize",i))},getStyle:function(n){return this.style=o({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),sr(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.subPixelFix&&it(n,"resize",this.subPixelFix),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},getRadialAttr:function(n,t){return{cx:n[0]-n[2]/2+t.cx*n[2],cy:n[1]-n[2]/2+t.cy*n[2],r:t.r*n[2]}},buildText:function(n){for(var f=n.element,o=this,w=o.forExport,r=t(n.textStr,"").toString(),k=r.indexOf("<")!==-1,d=f.childNodes,h,c,a=ft(f,"x"),u=n.styles,e=n.textWidth,g=u&&u.lineHeight,y=u&&u.textShadow,p=u&&u.textOverflow==="ellipsis",nt=d.length,s=e&&!n.added&&this.box,tt=function(n){return g?v(g):o.fontMetrics(/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:u&&u.fontSize||o.style.fontSize||12,n).h},it=function(n){return n.replace(/&lt;/g,"<").replace(/&gt;/g,">")};nt--;)f.removeChild(d[nt]);!k&&!y&&!p&&r.indexOf(" ")===-1?f.appendChild(l.createTextNode(it(r))):(h=/<.*style="([^"]+)".*>/,c=/<.*href="(http[^"]+)".*>/,s&&s.appendChild(f),r=k?r.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(/<br.*?>/g):[r],r[r.length-1]===""&&r.pop(),i(r,function(t,r){var s,v=0,t=t.replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");s=t.split("|||");i(s,function(t){var y,i,rt;if((t!==""||s.length===1)&&(y={},i=l.createElementNS(hr,"tspan"),h.test(t)&&(rt=t.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),ft(i,"style",rt)),c.test(t)&&!w&&(ft(i,"onclick",'location.href="'+t.match(c)[1]+'"'),b(i,{cursor:"pointer"})),t=it(t.replace(/<(.|\n)*?>/g,"")||" "),t!==" ")){if(i.appendChild(l.createTextNode(t)),v?y.dx=0:r&&a!==null&&(y.x=a),ft(i,y),f.appendChild(i),!v&&r&&(!bt&&w&&b(i,{display:"block"}),ft(i,"dy",tt(i))),e){for(var y=t.replace(/([^\^])-/g,"$1- ").split(" "),ot=s.length>1||r||y.length>1&&u.whiteSpace!=="nowrap",k,d,g,ut=[],st=tt(i),ht=1,ct=n.rotation,nt=t,et=nt.length;(ot||p)&&(y.length||ut.length);)n.rotation=0,k=n.getBBox(!0),g=k.width,!bt&&o.forExport&&(g=o.measureSpanWidth(i.firstChild.data,n.styles)),k=g>e,d===void 0&&(d=k),p&&d?(et/=2,nt===""||!k&&et<.5?y=[]:(k&&(d=!0),nt=t.substring(0,nt.length+(k?-1:1)*gi(et)),y=[nt+(e>3?"…":"")],i.removeChild(i.firstChild))):!k||y.length===1?(y=ut,ut=[],y.length&&(ht++,i=l.createElementNS(hr,"tspan"),ft(i,{dy:st,x:a}),rt&&ft(i,"style",rt),f.appendChild(i)),g>e&&(e=g)):(i.removeChild(i.firstChild),ut.unshift(y.pop())),y.length&&i.appendChild(l.createTextNode(y.join(" ").replace(/- /g,"-")));d&&n.attr("title",n.textStr);n.rotation=ct}v++}})}),s&&s.removeChild(f),y&&n.applyTextShadow&&n.applyTextShadow(y))},getContrast:function(n){return n=oi(n).rgba,n[0]+n[1]+n[2]>384?"#000000":"#FFFFFF"},button:function(n,t,i,r,u,f,e,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),v=0,b,k,y,p,w,d,n={x1:0,y1:0,x2:0,y2:1},u=s({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:n,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},u);return y=u.style,delete u.style,f=s(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#FFF"],[1,"#ACF"]]}},f),p=f.style,delete f.style,e=s(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#9BD"],[1,"#CDF"]]}},e),w=e.style,delete e.style,h=s(u,{style:{color:"#CCC"}},h),d=h.style,delete h.style,a(l.element,rr?"mouseover":"mouseenter",function(){v!==3&&l.attr(f).css(p)}),a(l.element,rr?"mouseout":"mouseleave",function(){v!==3&&(b=[u,f,e][v],k=[y,p,w][v],l.attr(b).css(k))}),l.setState=function(n){(l.state=v=n)?n===2?l.attr(e).css(w):n===3&&l.attr(h).css(d):l.attr(u).css(y)},l.on("click",function(n){v!==3&&r.call(l,n)}).attr(u).css(o({cursor:"default"},y))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=e(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=e(n[2])+t%2/2),n},path:function(n){var t={fill:"none"};return fr(n)?t.d=n:yt(n)&&o(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){return n=yt(n)?n:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=function(n){this.element.setAttribute("cx",n)},t.ySetter=function(n){this.element.setAttribute("cy",n)},t.attr(n)},arc:function(n,t,i,r,u,f){return yt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),n=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),n.r=i,n},rect:function(n,t,i,r,e,o){var e=yt(n)?n.r:e,s=this.createElement("rect"),n=yt(n)?n:n===u?{}:{x:n,y:t,width:f(i,0),height:f(r,0)};return o!==u&&(n.strokeWidth=o,n=s.crisp(n)),e&&(n.r=e),s.rSetter=function(n){ft(this.element,{rx:n,ry:n})},s.attr(n)},setSize:function(n,i,r){var u=this.alignedObjects,f=u.length;for(this.width=n,this.height=i,this.boxWrapper[t(r,!0)?"animate":"attr"]({width:n,height:i});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return r(n)?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,r,u){var f={preserveAspectRatio:"none"};return arguments.length>1&&o(f,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(f),f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):f.element.setAttribute("hc-svg-href",n),f},symbol:function(n,t,i,r,u,f){var s,h=this.symbols[n],h=h&&h(e(t),e(i),r,u,f),v=/^url\((.*?)\)$/,c,a;return h?(s=this.path(h),o(s,{symbolName:n,x:t,y:i,width:r,height:u}),f&&o(s,f)):v.test(n)&&(a=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(e((r-t[0])/2),e((u-t[1])/2)))},c=n.match(v)[1],n=te[c]||f&&f.width&&f.height&&[f.width,f.height],s=this.image(c).attr({x:t,y:i}),s.isImg=!0,n?a(s,n):(s.attr({width:0,height:0}),lt("img",{onload:function(){this.width===0&&(b(this,{position:"absolute",top:"-999em"}),l.body.appendChild(this));a(s,te[c]=[this.width,this.height]);this.parentNode&&this.parentNode.removeChild(this)},src:c}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return["M",n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var e=u.start,i=u.r||i||r,f=u.end-.001,r=u.innerR,o=u.open,s=ct(e),h=wt(e),c=ct(f),f=wt(f),u=u.end-e<yi?0:1;return["M",n+i*s,t+i*h,"A",i,i,0,u,1,n+i*c,t+i*f,o?"M":"L",n+r*c,t+r*f,"A",r,r,0,u,0,n+r*s,t+r*h,o?"":"Z"]},callout:function(n,t,i,r,u){var f=c(u&&u.r||0,i,r),o=f+6,e=u&&u.anchorX,u=u&&u.anchorY,s;return s=["M",n+f,t,"L",n+i-f,t,"C",n+i,t,n+i,t,n+i,t+f,"L",n+i,t+r-f,"C",n+i,t+r,n+i,t+r,n+i-f,t+r,"L",n+f,t+r,"C",n,t+r,n,t+r,n,t+r-f,"L",n,t+f,"C",n,t,n,t,n+f,t],e&&e>i&&u>t+o&&u<t+r-o?s.splice(13,3,"L",n+i,u-6,n+i+6,u,n+i,u+6,n+i,t+r-f):e&&e<0&&u>t+o&&u<t+r-o?s.splice(33,3,"L",n,u+6,n-6,u,n,u-6,n,t+f):u&&u>r&&e>n+o&&e<n+i-o?s.splice(23,3,"L",e+6,t+r,e,t+r+6,e-6,t+r,n+f,t+r):u&&u<0&&e>n+o&&e<n+i-o&&s.splice(3,3,"L",e-6,t,e,t-6,e+6,t,i-f,t),s}},clipRect:function(n,t,i,r){var u="highcharts-"+sf++,f=this.createElement("clipPath").attr({id:u}).add(this.defs),n=this.rect(n,t,i,r,0).add(f);return n.id=u,n.clipPath=f,n.count=0,n},text:function(n,t,i,r){var f=ii||!bt&&this.forExport,u={};return r&&(this.allowHTML||!this.forExport)?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),(n||n===0)&&(u.text=n),n=this.createElement("text").attr(u),f&&n.css({position:"absolute"}),r||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),u,e=i.getAttribute(t),r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},fontMetrics:function(t,i){var r,u,t=t||this.style.fontSize;return!t&&i&&n.getComputedStyle&&(i=i.element||i,t=(r=n.getComputedStyle(i,""))&&r.fontSize),t=/px/.test(t)?v(t):/em/.test(t)?parseFloat(t)*12:12,r=t<24?t+3:e(t*1.2),u=e(r*.8),{h:r,b:u,f:t}},rotCorr:function(n,t,i){var r=n;return t&&i&&(r=f(r*ct(t*ti),4)),{x:-n/3*wt(t*ti),y:r}},label:function(n,t,f,h,c,l,a,v,y){var g=this,p=g.g(y),w=g.text("",0,0,a).attr({zIndex:1}),b,k,ft=0,d=3,ot=0,nt,ht,ct,lt,st=0,rt={},at,vt,yt,ut,tt,pt;return yt=function(){var n,t;n=w.element.style;k=(nt===void 0||ht===void 0||p.styles.textAlign)&&r(w.textStr)&&w.getBBox();p.width=(nt||k.width||0)+2*d+ot;p.height=(ht||k.height||0)+2*d;at=d+g.fontMetrics(n&&n.fontSize,w).b;vt&&(b||(n=st,t=(v?-at:0)+st,p.box=b=h?g.symbol(h,n,t,p.width,p.height,rt):g.rect(n,t,p.width,p.height,0,rt["stroke-width"]),b.isImg||b.attr("fill","none"),b.add(p)),b.isImg||b.attr(o({width:e(p.width),height:e(p.height)},rt)),rt=null)},ut=function(){var n=p.styles,n=n&&n.textAlign,i=ot+d,t;t=v?0:at;r(nt)&&k&&(n==="center"||n==="right")&&(i+={center:.5,right:1}[n]*(nt-k.width));(i!==w.x||t!==w.y)&&(w.attr("x",i),t!==u&&w.attr("y",t));w.x=i;w.y=t},tt=function(n,t){b?b.attr(n,t):rt[n]=t},p.onAdd=function(){w.add(p);p.attr({text:n||n===0?n:"",x:t,y:f});b&&r(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(n){nt=n},p.heightSetter=function(n){ht=n},p.paddingSetter=function(n){r(n)&&n!==d&&(d=p.padding=n,ut())},p.paddingLeftSetter=function(n){r(n)&&n!==ot&&(ot=n,ut())},p.alignSetter=function(n){n={left:0,center:.5,right:1}[n];n!==ft&&(ft=n,k&&p.attr({x:t}))},p.textSetter=function(n){n!==u&&w.textSetter(n);yt();ut()},p["stroke-widthSetter"]=function(n,t){n&&(vt=!0);st=n%2/2;tt(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){t==="fill"&&n&&(vt=!0);tt(t,n)},p.anchorXSetter=function(n,t){c=n;tt(t,e(n)-st-ct)},p.anchorYSetter=function(n,t){l=n;tt(t,n-lt)},p.xSetter=function(n){p.x=n;ft&&(n-=ft*((nt||k.width)+2*d));ct=e(n);p.attr("translateX",ct)},p.ySetter=function(n){lt=p.y=e(n);p.attr("translateY",lt)},pt=p.css,o(p,{css:function(n){if(n){var t={},n=s(n);i(p.textProps,function(i){n[i]!==u&&(t[i]=n[i],delete n[i])});w.css(t)}return pt.call(p,n)},getBBox:function(){return{width:k.width+2*d,height:k.height+2*d,x:k.x-d,y:k.y-d}},shadow:function(n){return b&&b.shadow(n),p},destroy:function(){it(p.element,"mouseenter");it(p.element,"mouseleave");w&&(w=w.destroy());b&&(b=b.destroy());et.prototype.destroy.call(p);p=g=yt=ut=tt=null}})}},kr=ri,o(et.prototype,{htmlCss:function(n){var t=this.element;return(t=n&&t.tagName==="SPAN"&&n.width)&&(delete n.width,this.textWidth=t,this.updateTransform()),n&&n.textOverflow==="ellipsis"&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=o(this.styles,n),b(this.element,n),this},htmlGetBBox:function(){var n=this.element;return n.nodeName==="text"&&(n.style.position="absolute"),{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var h=this.renderer,n=this.element,c=this.translateX||0,l=this.translateY||0,w=this.x||0,k=this.y||0,o=this.textAlign||"left",a={left:0,center:.5,right:1}[o],u=this.shadows,y=this.styles;if(b(n,{marginLeft:c,marginTop:l}),u&&i(u,function(n){b(n,{marginLeft:c+1,marginTop:l+1})}),this.inverted&&i(n.childNodes,function(t){h.invertChild(t,n)}),n.tagName==="SPAN"){var f=this.rotation,e,s=v(this.textWidth),p=[f,o,n.innerHTML,this.textWidth,this.textAlign].join(",");p!==this.cTT&&(e=h.fontMetrics(n.style.fontSize).b,r(f)&&this.setSpanRotation(f,a,e),u=t(this.elemWidth,n.offsetWidth),u>s&&/[ \-]/.test(n.textContent||n.innerText)&&(b(n,{width:s+"px",display:"block",whiteSpace:y&&y.whiteSpace||"normal"}),u=s),this.getSpanCorrection(u,e,a,f,o));b(n,{left:w+(this.xCorr||0)+"px",top:k+(this.yCorr||0)+"px"});bu&&(e=n.offsetHeight);this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var r={},u=rr?"-ms-transform":bu?"-webkit-transform":br?"MozTransform":ne?"-o-transform":"";r[u]=r.transform="rotate("+n+"deg)";r[u+(br?"Origin":"-origin")]=r.transformOrigin=t*100+"% "+i+"px";b(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}}),o(ri.prototype,{html:function(n,t,r){var u=this.createElement("span"),f=u.element,s=u.renderer;return u.textSetter=function(n){n!==f.innerHTML&&delete this.bBox;f.innerHTML=this.textStr=n;u.htmlUpdateTransform()},u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){t==="align"&&(t="textAlign");u[t]=n;u.htmlUpdateTransform()},u.attr({text:n,x:e(t),y:e(r)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),f.style.whiteSpace="nowrap",u.css=u.htmlCss,s.isSVG&&(u.add=function(n){var t,r=s.box.parentNode,e=[];if(this.parentGroup=n){if(t=n.div,!t){for(;n;)e.push(n),n=n.parentGroup;i(e.reverse(),function(n){var u,f=ft(n.element,"class");f&&(f={className:f});t=n.div=n.div||lt(dr,f,{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px"},t||r);u=t.style;o(n,{translateXSetter:function(t,i){u.left=t+"px";n[i]=t;n.doTransform=!0},translateYSetter:function(t,i){u.top=t+"px";n[i]=t;n.doTransform=!0}});i(["opacity","visibility"],function(t){tt(n,t+"Setter",function(n,t,i,r){n.call(this,t,i,r);u[i]=t})})})}}else t=r;return t.appendChild(f),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}}),bt||ii||(st={init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],u=t===dr;(t==="shape"||u)&&r.push("left:0;top:0;width:1px;height:1px;");r.push("visibility: ",u?"hidden":"visible");i.push(' style="',r.join(""),'"/>');t&&(i=u||t==="span"||t==="img"?i.join(""):n.prepVML(i),this.element=lt(i));this.renderer=n},add:function(n){var i=this.renderer,r=this.element,t=i.box,u=n&&n.inverted,t=n?n.element||n:t;return n&&(this.parentGroup=n),u&&i.invertChild(r,t),t.appendChild(r),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),this.onAdd&&this.onAdd(),this},updateTransform:et.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=ct(n*ti),i=wt(n*ti);b(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(n,i,r,u,f){var e=u?ct(u*ti):1,o=u?wt(u*ti):0,h=t(this.elemHeight,this.element.offsetHeight),s;this.xCorr=e<0&&-n;this.yCorr=o<0&&-h;s=e*o<0;this.xCorr+=o*i*(s?1-r:r);this.yCorr-=e*i*(u?s?r:1-r:1);f&&f!=="left"&&(this.xCorr-=n*r*(e<0?-1:1),u&&(this.yCorr-=h*r*(o<0?-1:1)),b(this.element,{textAlign:f}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)fi(n[t])?i[t]=e(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at"))&&(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1));return i.join(" ")||"x"},clip:function(n){var t=this,i;return n?(i=n.members,vi(i,t),i.push(t),t.destroyClip=function(){vi(i,t)},n=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),n={clip:wu?"inherit":"rect(auto)"}),t.css(n)},css:et.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&wr(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),et.prototype.destroy.apply(this)},on:function(t,i){return this.element["on"+t]=function(){var t=n.event;t.target=t.srcElement;i(t)},this},cutOffPath:function(n,t){var i,n=n.split(/[ ,]/);return i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=v(n[i-2])-10*t),n.join(" ")},shadow:function(n,i,r){var a=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,h,c,l,w;if(o&&typeof o.value!="string"&&(o="x"),c=o,n){for(l=t(n.width,3),w=(n.opacity||.15)/l,f=1;f<=3;f++)h=l*2+1-2*f,r&&(c=this.cutOffPath(o.value,h+.5)),s=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',c,'" coordsize="10 10" style="',e.style.cssText,'" />'],u=lt(y.prepVML(s),null,{left:v(p.left)+t(n.offsetX,1),top:v(p.top)+t(n.offsetY,1)}),r&&(u.cutOff=h+1),s=['<stroke color="',n.color||"black",'" opacity="',w*f,'"/>'],lt(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),a.push(u);this.shadows=a}return this},updateShadows:gt,setAttr:function(n,t){wu?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){this.element.className=n},dashstyleSetter:function(n,t,i){(i.getElementsByTagName("stroke")[0]||lt(this.renderer.prepVML(["<stroke/>"]),null,null,i))[t]=n||"solid";this[t]=n},dSetter:function(n,t,i){var r=this.shadows,n=n||[];if(this.d=n.join&&n.join(" "),i.path=n=this.pathToVML(n),r)for(i=r.length;i--;)r[i].path=r[i].cutOff?this.cutOffPath(n,r[i].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;r==="SPAN"?i.style.color=n:r!=="IMG"&&(i.filled=n!=="none",this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},"fill-opacitySetter":function(n,t,i){lt(this.renderer.prepVML(["<",t.split("-")[0],' opacity="',n,'"/>']),null,null,i)},opacitySetter:gt,rotationSetter:function(n,t,i){i=i.style;this[t]=i[t]=n;i.left=-e(wt(n*ti)+1)+"px";i.top=e(ct(n*ti))+"px"},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t,this))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n;this[t]=n;fi(n)&&(n+="px");this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,t,r){n==="inherit"&&(n="visible");this.shadows&&i(this.shadows,function(i){i.style[t]=n});r.nodeName==="DIV"&&(n=n==="hidden"?"-999em":0,wu||(r.style[t]=n?"visible":"hidden"),t="top");r.style[t]=n},xSetter:function(n,t,i){this[t]=n;t==="x"?t="left":t==="y"&&(t="top");this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},st["stroke-opacitySetter"]=st["fill-opacitySetter"],h.VMLElement=st=kt(et,st),st.prototype.ySetter=st.prototype.widthSetter=st.prototype.heightSetter=st.prototype.xSetter,st={Element:st,isIE8:ir.indexOf("MSIE 8.0")>-1,init:function(n,t,i,r){var u;if(this.alignedObjects=[],r=this.createElement(dr).css(o(this.getStyle(r),{position:"relative"})),u=r.element,n.appendChild(r.element),this.isVML=!0,this.box=u,this.boxWrapper=r,this.gradients={},this.cache={},this.cacheKeys=[],this.setSize(t,i,!1),!l.namespaces.hcv){l.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{l.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){l.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,t,r,u){var s=this.createElement(),f=yt(n);return o(s,{members:[],count:0,left:(f?n.x:n)+1,top:(f?n.y:t)+1,width:(f?n.width:r)-1,height:(f?n.height:u)-1,getCSS:function(n){var t=n.element,f=t.nodeName,n=n.inverted,i=this.top-(f==="shape"?t.offsetTop:0),r=this.left,t=r+this.width,u=i+this.height,i={clip:"rect("+e(n?r:i)+"px,"+e(n?u:t)+"px,"+e(n?t:u)+"px,"+e(n?i:r)+"px)"};return!n&&wu&&f==="DIV"&&o(i,{width:t+"px",height:u+"px"}),i},updateClipping:function(){i(s.members,function(n){n.element&&n.css(s.getCSS(n))})}})},color:function(n,t,r,u){var ht=this,s,w=/^rgba/,b,c,f="none";if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var h,v,e=n.linearGradient||n.radialGradient,l,k,d,g,tt,y="",n=n.stops,p,it=[],rt=function(){b=['<fill colors="'+it.join(",")+'" opacity="',d,'" o:opacity2="',k,'" type="',c,'" ',y,'focus="100%" method="any" />'];lt(ht.prepVML(b),null,null,t)};if(l=n[0],p=n[n.length-1],l[0]>0&&n.unshift([0,l[1]]),p[0]<1&&n.push([1,p[1]]),i(n,function(n,t){w.test(n[1])?(s=oi(n[1]),h=s.get("rgb"),v=s.get("a")):(h=n[1],v=1);it.push(n[0]*100+"% "+h);t?(d=v,g=h):(k=v,tt=h)}),r==="fill")if(c==="gradient")r=e.x1||e[0]||0,n=e.y1||e[1]||0,l=e.x2||e[2]||0,e=e.y2||e[3]||0,y='angle="'+(90-ot.atan((e-n)/(l-r))*180/yi)+'"',rt();else{var f=e.r,ut=f*2,ft=f*2,et=e.cx,st=e.cy,a=t.radialReference,o,f=function(){a&&(o=u.getBBox(),et+=(a[0]-o.x)/o.width-.5,st+=(a[1]-o.y)/o.height-.5,ut*=a[2]/o.width,ft*=a[2]/o.height);y='src="'+nt.global.VMLRadialGradientURL+'" size="'+ut+","+ft+'" origin="0.5,0.5" position="'+et+","+st+'" color2="'+tt+'" ';rt()};u.added?f():u.onAdd=f;f=g}else f=h}else w.test(n)&&t.tagName!=="IMG"?(s=oi(n),u[r+"-opacitySetter"](s.get("a"),r,t),f=s.get("rgb")):(f=t.getElementsByTagName(r),f.length&&(f[0].opacity=1,f[0].type="solid"),f=n);return f},prepVML:function(n){var t=this.isIE8,n=n.join("");return t?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):n.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):n=n.replace("<","<hcv:"),n},text:ri.prototype.html,path:function(n){var t={coordsize:"10 10"};return fr(n)?t.d=n:yt(n)&&o(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return yt(n)&&(i=n.r,t=n.y,n=n.x),r.isCircle=!0,r.r=i,r.attr({x:n,y:t})},g:function(n){var t;return n&&(t={className:"highcharts-"+n,"class":"highcharts-"+n}),this.createElement(dr).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>1&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return n==="rect"?this.symbol(n):ri.prototype.createElement.call(this,n)},invertChild:function(n,t){var f=this,u=t.style,r=n.tagName==="IMG"&&n.style;b(n,{flip:"x",left:v(u.width)-(r?v(r.top):1),top:v(u.height)-(r?v(r.left):1),rotation:-90});i(n.childNodes,function(t){f.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var f=u.start,o=u.end,e=u.r||i||r,i=u.innerR,r=ct(f),s=wt(f),h=ct(o),c=wt(o);return o-f==0?["x"]:(f=["wa",n-e,t-e,n+e,t+e,n+e*r,t+e*s,n+e*h,t+e*c],u.open&&!i&&f.push("e","M",n,t),f.push("at",n-i,t-i,n+i,t+i,n+i*h,t+i*c,n+i*r,t+i*s,"x","e"),f.isArc=!0,f)},circle:function(n,t,i,r,u){return u&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,i,u,f){return ri.prototype.symbols[!r(f)||!f.r?"square":"callout"].call(0,n,t,i,u,f)}}},h.VMLRenderer=lu=function(){this.init.apply(this,arguments)},lu.prototype=s(ri.prototype,st),kr=lu),ri.prototype.measureSpanWidth=function(n,t){var i=l.createElement("span"),r;return r=l.createTextNode(n),i.appendChild(r),b(i,t),this.box.appendChild(i),r=i.offsetWidth,wr(i),r},ii&&(h.CanVGRenderer=st=function(){hr="http://www.w3.org/1999/xhtml"},st.prototype.symbols={},ee=function(){function t(){for(var i=n.length,t=0;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){if(n.length===0){var f=l.getElementsByTagName("head")[0],u=l.createElement("script");u.type="text/javascript";u.src=r;u.onload=t;f.appendChild(u)}n.push(i)}}}(),kr=st),tu.prototype={addLabel:function(){var n=this.axis,e=n.options,c=n.chart,i=n.categories,o=n.names,f=this.pos,h=e.labels,u=n.tickPositions,l=f===u[0],a=f===u[u.length-1],o=i?t(i[f],o[f],f):f,i=this.label,u=u.info,v;n.isDatetimeAxis&&u&&(v=e.dateTimeLabelFormats[u.higherRanks[f]||u.unitName]);this.isFirst=l;this.isLast=a;e=n.labelFormatter.call({axis:n,chart:c,isFirst:l,isLast:a,dateTimeLabelFormat:v,value:n.isLog?ni(ai(o)):o});r(i)?i&&i.attr({text:e}):(this.labelLength=(this.label=i=r(e)&&h.enabled?c.renderer.text(e,0,0,h.useHTML).css(s(h.style)).add(n.labelGroup):null)&&i.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(n){var i=this.axis,o=n.x,v=i.chart.chartWidth,s=i.chart.spacing,y=t(i.labelLeft,c(i.pos,s[3])),s=t(i.labelRight,f(i.pos+i.len,v-s[1])),p=this.label,l=this.rotation,u={left:0,center:.5,right:1}[i.labelAlign],h=p.getBBox().width,r=i.slotWidth,b=1,a,w={};l?l<0&&o-u*h<y?a=e(o/ct(l*ti)-y):l>0&&o+u*h>s&&(a=e((v-o)/ct(l*ti))):(v=o+(1-u)*h,o-u*h<y?r=n.x+r*(1-u)-y:v>s&&(r=s-n.x+r*u,b=-1),r=c(i.slotWidth,r),r<i.slotWidth&&i.labelAlign==="center"&&(n.x+=b*(i.slotWidth-r-u*(i.slotWidth-c(h,r)))),h>r||i.autoRotation&&p.styles.width)&&(a=r);a&&(w.width=a,i.options.labels.style.textOverflow||(w.textOverflow="ellipsis"),p.css(w))},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,i,u,f,o,s,h){var c=this.axis,y=c.transA,p=c.reversed,l=c.staggerLines,v=c.tickRotCorr||{x:0,y:0},a=f.y;return r(a)||(a=c.side===2?v.y+8:a=ct(i.rotation*ti)*(v.y-i.getBBox(!1,0).height/2)),n=n+f.x+v.x-(o&&u?o*y*(p?-1:1):0),t=t+a-(o&&!u?o*y*(p?1:-1):0),l&&(i=s/(h||1)%l,c.opposite&&(i=l-i-1),t+=i*(c.labelOffset/l)),{x:n,y:e(t)}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},render:function(n,i,r){var f=this.axis,o=f.options,d=f.chart.renderer,a=f.horiz,s=this.type,p=this.label,v=this.pos,w=o.labels,h=this.gridLine,c=s?s+"Grid":"grid",l=s?s+"Tick":"tick",b=o[c+"LineWidth"],ut=o[c+"LineColor"],it=o[c+"LineDashStyle"],y=o[l+"Length"],c=t(o[l+"Width"],!s&&f.isXAxis?1:0),ft=o[l+"Color"],et=o[l+"Position"],l=this.mark,g=w.step,nt=!0,tt=f.tickmarkOffset,e=this.getPosition(a,v,tt,i),k=e.x,e=e.y,rt=a&&k===f.pos+f.len||!a&&e===f.pos?-1:1,r=t(r,1);this.isActive=!0;b&&(v=f.getPlotLinePath(v+tt,b*rt,i,!0),h===u&&(h={stroke:ut,"stroke-width":b},it&&(h.dashstyle=it),s||(h.zIndex=1),i&&(h.opacity=0),this.gridLine=h=b?d.path(v).attr(h).add(f.gridGroup):null),!i&&h&&v&&h[this.isNew?"attr":"animate"]({d:v,opacity:r}));c&&y&&(et==="inside"&&(y=-y),f.opposite&&(y=-y),s=this.getMarkPath(k,e,y,c*rt,a,d),l?l.animate({d:s,opacity:r}):this.mark=d.path(s).attr({stroke:ft,"stroke-width":c,opacity:r}).add(f.axisGroup));p&&!isNaN(k)&&(p.xy=e=this.getLabelPosition(k,e,p,a,w,tt,n,g),this.isFirst&&!this.isLast&&!t(o.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(o.showLastLabel,1)?nt=!1:a&&!f.isRadial&&!w.step&&!w.rotation&&!i&&r!==0&&this.handleOverflow(e),g&&n%g&&(nt=!1),nt&&!isNaN(e.y)?(e.opacity=r,p[this.isNew?"attr":"animate"](e),this.isNew=!1):p.attr("y",-9999))},destroy:function(){sr(this,this.axis)}},h.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)},h.PlotLineOrBand.prototype={render:function(){var o=this,f=o.axis,c=f.horiz,t=o.options,u=t.label,h=o.label,p=t.width,a=t.to,v=t.from,i=r(v)&&r(a),w=t.value,d=t.dashStyle,l=o.svgElem,n=[],g,b=t.color,y=t.zIndex,k=t.events,e={},nt=f.chart.renderer;if(f.isLog&&(v=er(v),a=er(a),w=er(w)),p)(n=f.getPlotLinePath(w,p),e={stroke:b,"stroke-width":p},d)&&(e.dashstyle=d);else if(i)n=f.getPlotBandPath(v,a,t),b&&(e.fill=b),t.borderWidth&&(e.stroke=t.borderColor,e["stroke-width"]=t.borderWidth);else return;if(r(y)&&(e.zIndex=y),l)n?(l.show(),l.animate({d:n})):(l.hide(),h)&&(o.label=h=h.destroy());else if(n&&n.length&&(o.svgElem=l=nt.path(n).attr(e).add(),k))for(g in t=function(n){l.on(n,function(t){k[n].apply(o,[t])})},k)t(g);return u&&r(u.text)&&n&&n.length&&f.width>0&&f.height>0&&!n.flat?(u=s({align:c&&i&&"center",x:c?!i&&4:10,verticalAlign:!c&&i&&"middle",y:c?i?16:10:i?6:-4,rotation:c&&!i&&90},u),h||(e={align:u.textAlign||u.align,rotation:u.rotation},r(y)&&(e.zIndex=y),o.label=h=nt.text(u.text,0,0,u.useHTML).attr(e).css(u.style).add()),f=[n[1],n[4],i?n[6]:n[1]],i=[n[2],n[5],i?n[7]:n[2]],n=or(f),c=or(i),h.align(u,!1,{x:n,y:c,width:di(f)-n,height:di(i)-c}),h.show()):h&&h.hide(),o},destroy:function(){vi(this.axis.plotLinesAndBands,this);delete this.axis;sr(this)}},p=h.Axis=function(){this.init.apply(this,arguments)},p.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#D8D8D8",labels:{enabled:!0,style:{color:"#606060",cursor:"default",fontSize:"11px"},x:0,y:15},lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return h.numberFormat(this.total,-1)},style:s(rt.line.dataLabels.style,{color:"#000000"})}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0,y:-15},title:{rotation:0}},init:function(n,i){var e=i.isX,o,s,f;this.chart=n;this.horiz=n.inverted?!e:e;this.coll=(this.isXAxis=e)?"xAxis":"yAxis";this.opposite=i.opposite;this.side=i.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(i);f=this.options;o=f.type;this.labelFormatter=f.labels.formatter||this.defaultLabelFormatter;this.userOptions=i;this.minPixelPadding=0;this.reversed=f.reversed;this.visible=f.visible!==!1;this.zoomEnabled=f.zoomEnabled!==!1;this.categories=f.categories||o==="category";this.names=this.names||[];this.isLog=o==="logarithmic";this.isDatetimeAxis=o==="datetime";this.isLinked=r(f.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=f.minRange||f.maxZoom;this.range=f.range;this.offset=f.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=t(f.crosshair,ei(n.options.tooltip.crosshairs)[e?0:1],!1);f=this.options.events;si(this,n.axes)===-1&&(e&&!this.isColorAxis?n.axes.splice(n.xAxis.length,0,this):n.axes.push(this),n[this.coll].push(this));this.series=this.series||[];n.inverted&&e&&this.reversed===u&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(s in f)a(this,s,f[s]);this.isLog&&(this.val2lin=er,this.lin2val=ai)},setOptions:function(n){this.options=s(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],s(nt[this.coll],n))},defaultLabelFormatter:function(){var i=this.axis,n=this.value,r=i.categories,o=this.dateTimeLabelFormat,e=nt.lang.numericSymbols,f=e&&e.length,t,s=i.options.labels.format,i=i.isLog?n:i.tickInterval;if(s)t=tr(s,this);else if(r)t=n;else if(o)t=dt(o,n);else if(f&&i>=1e3)for(;f--&&t===u;)r=Math.pow(1e3,f+1),i>=r&&n*10%r==0&&e[f]!==null&&(t=h.numberFormat(n/r,-1)+e[f]);return t===u&&(t=g(n)>=1e4?h.numberFormat(n,-1):h.numberFormat(n,-1,u,"")),t},getSeriesExtremes:function(){var n=this,u=n.chart;n.hasVisibleSeries=!1;n.dataMin=n.dataMax=n.threshold=null;n.softThreshold=!n.isXAxis;n.buildStacks&&n.buildStacks();i(n.series,function(i){if(i.visible||!u.options.chart.ignoreHiddenSeries){var e=i.options,o=e.threshold,s;n.hasVisibleSeries=!0;n.isLog&&o<=0&&(o=null);n.isXAxis?(e=i.xData,e.length)&&(n.dataMin=c(t(n.dataMin,e[0]),or(e)),n.dataMax=f(t(n.dataMax,e[0]),di(e))):(i.getExtremes(),s=i.dataMax,i=i.dataMin,r(i)&&r(s)&&(n.dataMin=c(t(n.dataMin,i),i),n.dataMax=f(t(n.dataMax,s),s)),r(o)&&(n.threshold=o),(!e.softThreshold||n.isLog)&&(n.softThreshold=!1))}})},translate:function(n,t,i,r,u,f){var e=this.linkedParent||this,o=1,h=0,s=r?e.oldTransA:e.transA,r=r?e.oldMin:e.min,c=e.minPixelPadding,u=(e.doPostTranslate||e.isLog&&u)&&e.lin2val;return s||(s=e.transA),i&&(o*=-1,h=e.len),e.reversed&&(o*=-1,h-=o*(e.sector||e.len)),t?(n=n*o+h,n-=c,n=n/s+r,u&&(n=e.lin2val(n))):(u&&(n=e.val2lin(n)),f==="between"&&(f=.5),n=o*(n-r)*s+h+o*c+(fi(f)?s*f*e.pointRange:0)),n},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(n,i,r,u,o){var h=this.chart,a=this.left,v=this.top,s,l,p=r&&h.oldChartHeight||h.chartHeight,b=r&&h.oldChartWidth||h.chartWidth,y;s=this.transB;var w=function(n,t,i){return(n<t||n>i)&&(u?n=c(f(t,n),i):y=!0),n},o=t(o,this.translate(n,null,null,r)),n=r=e(o+s);return s=l=e(p-o-s),isNaN(o)?y=!0:this.horiz?(s=v,l=p-this.bottom,n=r=w(n,a,a+this.width)):(n=a,r=b-this.right,s=l=w(s,v,v+this.height)),y&&!u?null:h.renderer.crispLine(["M",n,s,"L",r,l],i||1)},getLinearTickPositions:function(n,t,i){var r,f=ni(ut(t/n)*n),e=ni(gi(i/n)*n),u=[];if(t===i&&fi(t))return[t];for(t=f;t<=e;){if(u.push(t),t=ni(t+n),t===r)break;r=t}return u},getMinorTickPositions:function(){var f=this.options,i=this.tickPositions,u=this.minorTickInterval,r=[],n,t=this.pointRangePadding||0,e;if(n=this.min-t,t=this.max+t,e=t-n,e&&e/u<this.len/3)if(this.isLog)for(t=i.length,n=1;n<t;n++)r=r.concat(this.getLogTickPositions(u,i[n-1],i[n],!0));else if(this.isDatetimeAxis&&f.minorTickInterval==="auto")r=r.concat(this.getTimeTicks(this.normalizeTimeTickInterval(u),n,t,f.startOfWeek));else for(i=n+(i[0]-n)%u;i<=t;i+=u)r.push(i);return r.length!==0&&this.trimTicks(r,f.startOnTick,f.endOnTick),r},adjustForMinRange:function(){var s=this.options,n=this.min,f=this.max,e,y=this.dataMax-this.dataMin>=this.minRange,l,h,v,a,p,o;this.isXAxis&&this.minRange===u&&!this.isLog&&(r(s.min)||r(s.max)?this.minRange=null:(i(this.series,function(n){for(a=n.xData,h=p=n.xIncrement?1:a.length-1;h>0;h--)(v=a[h]-a[h-1],l===u||v<l)&&(l=v)}),this.minRange=c(l*5,this.dataMax-this.dataMin)));f-n<this.minRange&&(o=this.minRange,e=(o-f+n)/2,e=[n-e,t(s.min,n-e)],y&&(e[2]=this.dataMin),n=di(e),f=[n+o,t(s.max,n+o)],y&&(f[2]=this.dataMax),f=or(f),f-n<o&&(e[0]=f-o,e[1]=t(s.min,f-o),n=di(e)));this.min=n;this.max=f},setAxisTranslation:function(n){var u=this,y=u.max-u.min,l=u.axisPointRange||0,e,s=0,h=0,o=u.linkedParent,p=!!u.categories,a=u.transA,v=u.isXAxis;(v||p||l)&&(o?(s=o.minPointOffset,h=o.pointRangePadding):(i(u.series,function(n){var t=n.closestPointRange;!n.noSharedTooltip&&r(t)&&(e=r(e)?c(e,t):t)}),i(u.series,function(n){var i=p?1:v?t(n.options.pointRange,e,0):u.axisPointRange||0,n=n.options.pointPlacement;l=f(l,i);u.single||(s=f(s,ki(n)?0:i/2),h=f(h,n==="on"?0:i))})),o=u.ordinalSlope&&e?u.ordinalSlope/e:1,u.minPointOffset=s*=o,u.pointRangePadding=h*=o,u.pointRange=c(l,y),v)&&(u.closestPointRange=e);n&&(u.oldTransA=a);u.translationSlope=u.transA=a=u.len/(y+h||1);u.transB=u.horiz?u.left:u.bottom;u.minPixelPadding=a*s},minFromRange:function(){return this.max-this.range},setTickInterval:function(n){var u=this,s=u.chart,e=u.options,k=u.isLog,d=u.isDatetimeAxis,it=u.isXAxis,v=u.isLinked,y=e.maxPadding,p=e.minPadding,h=e.tickInterval,w=e.tickPixelInterval,b=u.categories,o=u.threshold,g=u.softThreshold,nt,tt,l,a;d||b||v||this.getTickAmount();l=t(u.userMin,e.min);a=t(u.userMax,e.max);v?(u.linkedParent=s[u.coll][e.linkedTo],s=u.linkedParent.getExtremes(),u.min=t(s.min,s.dataMin),u.max=t(s.max,s.dataMax),e.type!==u.linkedParent.options.type&&ui(11,1)):(!g&&r(o)&&(u.dataMin>=o?(nt=o,p=0):u.dataMax<=o&&(tt=o,y=0)),u.min=t(l,nt,u.dataMin),u.max=t(a,tt,u.dataMax));k&&(!n&&c(u.min,t(u.dataMin,u.min))<=0&&ui(10,1),u.min=ni(er(u.min),15),u.max=ni(er(u.max),15));u.range&&r(u.max)&&(u.userMin=u.min=l=f(u.min,u.minFromRange()),u.userMax=a=u.max,u.range=null);u.beforePadding&&u.beforePadding();u.adjustForMinRange();b||u.axisPointRange||u.usePercentage||v||!r(u.min)||!r(u.max)||!(s=u.max-u.min)||(!r(l)&&p&&(u.min-=s*p),!r(a)&&y&&(u.max+=s*y));fi(e.floor)&&(u.min=f(u.min,e.floor));fi(e.ceiling)&&(u.max=c(u.max,e.ceiling));g&&r(u.dataMin)&&((o=o||0,!r(l)&&u.min<o&&u.dataMin>=o)?u.min=o:!r(a)&&u.max>o&&u.dataMax<=o&&(u.max=o));u.tickInterval=u.min===u.max||u.min===void 0||u.max===void 0?1:v&&!h&&w===u.linkedParent.options.tickPixelInterval?h=u.linkedParent.tickInterval:t(h,this.tickAmount?(u.max-u.min)/f(this.tickAmount-1,1):void 0,b?1:(u.max-u.min)*w/f(u.len,w));it&&!n&&i(u.series,function(n){n.processData(u.min!==u.oldMin||u.max!==u.oldMax)});u.setAxisTranslation(!0);u.beforeSetTickPositions&&u.beforeSetTickPositions();u.postProcessTickInterval&&(u.tickInterval=u.postProcessTickInterval(u.tickInterval));u.pointRange&&!h&&(u.tickInterval=f(u.pointRange,u.tickInterval));n=t(e.minTickInterval,u.isDatetimeAxis&&u.closestPointRange);!h&&u.tickInterval<n&&(u.tickInterval=n);d||k||h||(u.tickInterval=ff(u.tickInterval,null,uf(u.tickInterval),t(e.allowDecimals,!(u.tickInterval>.5&&u.tickInterval<5&&u.max>1e3&&u.max<9999)),!!this.tickAmount));!this.tickAmount&&this.len&&(u.tickInterval=u.unsquish());this.setTickPositions()},setTickPositions:function(){var t=this.options,n,u=t.tickPositions,i=t.tickPositioner,e=t.startOnTick,o=t.endOnTick,f;this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0;this.minorTickInterval=t.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:t.minorTickInterval;this.tickPositions=n=u&&u.slice();!n&&(n=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),n.length>this.len&&(n=[n[0],n.pop()]),this.tickPositions=n,i&&(i=i.apply(this,[this.min,this.max])))&&(this.tickPositions=n=i);this.isLinked||(this.trimTicks(n,e,o),this.min===this.max&&r(this.min)&&!this.tickAmount&&(f=!0,this.min-=.5,this.max+=.5),this.single=f,!u&&!i&&this.adjustTickAmount())},trimTicks:function(n,t,i){var u=n[0],f=n[n.length-1],e=this.minPointOffset||0;t?this.min=u:this.min-e>u&&n.shift();i?this.max=f:this.max+e<f&&n.pop();n.length===0&&r(u)&&n.push((f+u)/2)},alignToOthers:function(){var n={},t,r=this.options;return this.chart.options.chart.alignTicks!==!1&&r.alignTicks!==!1&&i(this.chart[this.coll],function(i){var r=i.options,r=[i.horiz?r.left:r.top,r.width,r.height,r.pane].join(",");i.series.length&&(n[r]?t=!0:n[r]=1)}),t},getTickAmount:function(){var t=this.options,n=t.tickAmount,i=t.tickPixelInterval;!r(t.tickInterval)&&this.len<i&&!this.isRadial&&!this.isLog&&t.startOnTick&&t.endOnTick&&(n=2);!n&&this.alignToOthers()&&(n=gi(this.len/i)+1);n<4&&(this.finalTickAmt=n,n=5);this.tickAmount=n},adjustTickAmount:function(){var t=this.tickInterval,n=this.tickPositions,i=this.tickAmount,f=this.finalTickAmt,e=n&&n.length;if(e<i){for(;n.length<i;)n.push(ni(n[n.length-1]+t));this.transA*=(e-1)/(i-1);this.max=n[n.length-1]}else e>i&&(this.tickInterval*=2,this.setTickPositions());if(r(f)){for(t=i=n.length;t--;)(f===3&&t%2==1||f<=2&&t>0&&t<i-1)&&n.splice(t,1);this.finalTickAmt=u}},setScale:function(){var t,n;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();n=this.len!==this.oldAxisLength;i(this.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(t=!0)});n||t||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty)||(this.isDirty=n||this.min!==this.oldMin||this.max!==this.oldMax):this.cleanStacks&&this.cleanStacks()},setExtremes:function(n,r,u,f,e){var s=this,h=s.chart,u=t(u,!0);i(s.series,function(n){delete n.kdTree});e=o(e,{min:n,max:r});d(s,"setExtremes",e,function(){s.userMin=n;s.userMax=r;s.eventArgs=e;u&&h.redraw(f)})},zoom:function(n,i){var o=this.dataMin,s=this.dataMax,e=this.options,h=c(o,t(e.min,o)),e=f(s,t(e.max,s));return this.allowZoomOutside||(r(o)&&n<=h&&(n=h),r(s)&&i>=e&&(i=e)),this.displayBtn=n!==u||i!==u,this.setExtremes(n,i,!1,u,{trigger:"zoom"}),!0},setAxisSize:function(){var i=this.chart,n=this.options,e=n.offsetLeft||0,s=this.horiz,o=t(n.width,i.plotWidth-e+(n.offsetRight||0)),r=t(n.height,i.plotHeight),u=t(n.top,i.plotTop),n=t(n.left,i.plotLeft+e),e=/%$/;e.test(r)&&(r=parseFloat(r)/100*i.plotHeight);e.test(u)&&(u=parseFloat(u)/100*i.plotHeight+i.plotTop);this.left=n;this.top=u;this.width=o;this.height=r;this.bottom=i.chartHeight-r-u;this.right=i.chartWidth-o-n;this.len=f(s?o:r,0);this.pos=s?n:u},getExtremes:function(){var n=this.isLog;return{min:n?ni(ai(this.min)):this.min,max:n?ni(ai(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(n){var t=this.isLog,i=t?ai(this.min):this.min,t=t?ai(this.max):this.max;return n===null?n=t<0?t:i:i>n?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},autoLabelAlign:function(n){return n=(t(n,0)-this.side*90+720)%360,n>15&&n<165?"right":n>195&&n<345?"left":"center"},unsquish:function(){var h=this.ticks,n=this.options.labels,p=this.horiz,f=this.tickInterval,e=f,c=this.len/(((this.categories?1:0)+this.max-this.min)/f),l,u=n.rotation,a=this.chart.renderer.fontMetrics(n.style.fontSize,h[0]&&h[0].label),o,v=Number.MAX_VALUE,s,y=function(n){return n/=c||1,n=n>1?gi(n):1,n*f};return p?(s=!n.staggerLines&&!n.step&&(r(u)?[u]:c<t(n.autoRotationLimit,80)&&n.autoRotation))&&i(s,function(n){var t;(n===u||n&&n>=-90&&n<=90)&&(o=y(g(a.h/wt(ti*n))),t=o+g(n/360),t<v&&(v=t,l=n,e=o))}):n.step||(e=y(a.h)),this.autoRotation=s,this.labelRotation=t(l,u),e},renderUnsquish:function(){var n=this.chart,b=n.renderer,r=this.tickPositions,o=this.ticks,t=this.options.labels,y=this.horiz,h=n.margin,c=this.categories?r.length:r.length-1,h=this.slotWidth=y&&(t.step||0)<2&&!t.rotation&&(this.staggerLines||1)*n.plotWidth/c||!y&&(h[3]&&h[3]-n.spacing[3]||n.chartWidth*.33),u=f(1,e(h-2*(t.padding||5))),l={},c=b.fontMetrics(t.style.fontSize,o[0]&&o[0].label),k=t.style.textOverflow,a,v=0,p,w;if(ki(t.rotation)||(l.rotation=t.rotation||0),this.autoRotation)i(r,function(n){(n=o[n])&&n.labelLength>v&&(v=n.labelLength)}),v>u&&v>c.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(a={width:u+"px"},!k))for(a.textOverflow="clip",p=r.length;!y&&p--;)(w=r[p],u=o[w].label)&&(u.styles.textOverflow==="ellipsis"&&u.css({textOverflow:"clip"}),u.getBBox().height>this.len/r.length-(c.h-c.f)||o[w].labelLength>h)&&(u.specCss={textOverflow:"ellipsis"});l.rotation&&(a={width:(v>n.chartHeight*.5?n.chartHeight*.33:n.chartHeight)+"px"},!k)&&(a.textOverflow="ellipsis");this.labelAlign=l.align=t.align||this.autoLabelAlign(this.labelRotation);i(r,function(n){var t=(n=o[n])&&n.label;t&&(t.attr(l),a&&t.css(s(a,t.specCss)),delete t.specCss,n.rotation=l.rotation)});this.tickRotCorr=b.rotCorr(c.b,this.labelRotation||0,this.side!==0)},hasData:function(){return this.hasVisibleSeries||r(this.min)&&r(this.max)&&!!this.tickPositions},getOffset:function(){var n=this,s=n.chart,c=s.renderer,e=n.options,nt=n.tickPositions,h=n.ticks,l=n.horiz,o=n.side,tt=s.inverted?[1,0,3,2][o]:o,y,p,it=0,w,rt=0,u=e.title,v=e.labels,a=0,ft=n.opposite,b=s.axisOffset,s=s.clipOffset,k=[-1,1,1,-1][o],d,g=n.axisParent;if(y=n.hasData(),n.showAxis=p=y||t(e.showEmpty,!0),n.staggerLines=n.horiz&&v.staggerLines,n.axisGroup||(n.gridGroup=c.g("grid").attr({zIndex:e.gridZIndex||1}).add(g),n.axisGroup=c.g("axis").attr({zIndex:e.zIndex||2}).add(g),n.labelGroup=c.g("axis-labels").attr({zIndex:v.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels").add(g)),y||n.isLinked)(i(nt,function(t){h[t]?h[t].addLabel():h[t]=new tu(n,t)}),n.renderUnsquish(),v.reserveSpace!==!1&&(o===0||o===2||{1:"left",3:"right"}[o]===n.labelAlign||n.labelAlign==="center")&&i(nt,function(n){a=f(h[n].getLabelSize(),a)}),n.staggerLines)&&(a*=n.staggerLines,n.labelOffset=a*(n.opposite?-1:1));else for(d in h)h[d].destroy(),delete h[d];u&&u.text&&u.enabled!==!1&&(n.axisTitle||(n.axisTitle=c.text(u.text,0,0,u.useHTML).attr({zIndex:7,rotation:u.rotation||0,align:u.textAlign||{low:ft?"right":"left",middle:"center",high:ft?"left":"right"}[u.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(u.style).add(n.axisGroup),n.axisTitle.isNew=!0),p&&(it=n.axisTitle.getBBox()[l?"height":"width"],w=u.offset,rt=r(w)?0:t(u.margin,l?5:10)),n.axisTitle[p?"show":"hide"](!0));n.offset=k*t(e.offset,b[o]);n.tickRotCorr=n.tickRotCorr||{x:0,y:0};c=o===2?n.tickRotCorr.y:0;l=Math.abs(a)+rt+(a&&k*(l?t(v.y,n.tickRotCorr.y+8):v.x)-c);n.axisTitleMargin=t(w,l);b[o]=f(b[o],n.axisTitleMargin+it+k*n.offset,l);e=e.offset?0:ut(e.lineWidth/2)*2;s[tt]=f(s[tt],e)},getLinePath:function(n){var i=this.chart,u=this.opposite,t=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+t,t=i.chartHeight-this.bottom-(u?this.height:0)+t;return u&&(n*=-1),i.renderer.crispLine(["M",r?this.left:f,r?t:this.top,"L",r?i.chartWidth-this.right:f,r?t:i.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,i=this.left,e=this.top,t=this.len,r=this.options.title,u=n?i:e,f=this.opposite,o=this.offset,s=r.x||0,h=r.y||0,c=v(r.style.fontSize||12),t={low:u+(n?0:t),middle:u+t/2,high:u+(n?t:0)}[r.align],i=(n?e+this.height:i)+(n?1:-1)*(f?-1:1)*this.axisTitleMargin+(this.side===2?c:0);return{x:n?t+s:i+(f?this.width:0)+o+s,y:n?i+h-(f?this.height:0)+o:t+h}},render:function(){var n=this,l=n.chart,b=l.renderer,o=n.options,k=n.isLog,d=n.isLinked,c=n.tickPositions,a=n.axisTitle,t=n.ticks,e=n.minorTicks,f=n.alternateBands,g=o.stackLabels,nt=o.alternateGridColor,s=n.tickmarkOffset,y=o.lineWidth,p,tt=l.hasRendered&&r(n.oldMin)&&!isNaN(n.oldMin),it=n.showAxis,rt=b.globalAnimation,w,v;n.labelEdge.length=0;n.overlap=!1;i([t,e,f],function(n){for(var t in n)n[t].isActive=!1});(n.hasData()||d)&&(n.minorTickInterval&&!n.categories&&i(n.getMinorTickPositions(),function(t){e[t]||(e[t]=new tu(n,t,"minor"));tt&&e[t].isNew&&e[t].render(null,!0);e[t].render(null,!1,1)}),c.length&&(i(c,function(i,r){(!d||i>=n.min&&i<=n.max)&&(t[i]||(t[i]=new tu(n,i)),tt&&t[i].isNew&&t[i].render(r,!0,.1),t[i].render(r))}),s&&(n.min===0||n.single))&&(t[-1]||(t[-1]=new tu(n,-1,null,!0)),t[-1].render(-1)),nt&&i(c,function(t,i){v=c[i+1]!==u?c[i+1]+s:n.max-s;i%2==0&&t<n.max&&v<=n.max+(l.polar?-s:s)&&(f[t]||(f[t]=new h.PlotLineOrBand(n)),w=t+s,f[t].options={from:k?ai(w):w,to:k?ai(v):v,color:nt},f[t].render(),f[t].isActive=!0)}),n._addedPlotLB||(i((o.plotLines||[]).concat(o.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));i([t,e,f],function(n){var t,i,r=[],u=rt?rt.duration||500:0;for(t in n)n[t].isActive||(n[t].render(t,!1,0),n[t].isActive=!1,r.push(t));gr(function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])},n===f||!l.hasRendered||!u?0:u)});y&&(p=n.getLinePath(y),n.axisLine?n.axisLine.animate({d:p}):n.axisLine=b.path(p).attr({stroke:o.lineColor,"stroke-width":y,zIndex:7}).add(n.axisGroup),n.axisLine[it?"show":"hide"](!0));a&&it&&(a[a.isNew?"attr":"animate"](n.getTitlePosition()),a.isNew=!1);g&&g.enabled&&n.renderStackTotals();n.isDirty=!1},redraw:function(){this.visible&&(this.render(),i(this.plotLinesAndBands,function(n){n.render()}));i(this.series,function(n){n.isDirty=!0})},destroy:function(n){var t=this,r=t.stacks,u,f=t.plotLinesAndBands;n||it(t);for(u in r)sr(r[u]),r[u]=null;for(i([t.ticks,t.minorTicks,t.alternateBands],function(n){sr(n)}),n=f.length;n--;)f[n].destroy();i("stackTotalGroup,axisLine,axisTitle,axisGroup,cross,gridGroup,labelGroup".split(","),function(n){t[n]&&(t[n]=t[n].destroy())});this.cross&&this.cross.destroy()},drawCrosshair:function(n,i){var u,f=this.crosshair,e,o;!this.crosshair||(r(i)||!t(f.snap,!0))===!1||i&&i.series&&i.series[this.coll]!==this?this.hideCrosshair():(t(f.snap,!0)?r(i)&&(u=this.isXAxis?i.plotX:this.len-i.plotY):u=this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos,u=this.isRadial?this.getPlotLinePath(this.isXAxis?i.x:t(i.stackY,i.y))||null:this.getPlotLinePath(null,null,null,null,u)||null,u===null)?this.hideCrosshair():(e=this.categories&&!this.isRadial,o=t(f.width,e?this.transA:1),this.cross)?this.cross.attr({d:u,visibility:"visible","stroke-width":o}):(e={"stroke-width":o,stroke:f.color||(e?"rgba(155,200,255,0.2)":"#C0C0C0"),zIndex:t(f.zIndex,2)},f.dashStyle&&(e.dashstyle=f.dashStyle),this.cross=this.chart.renderer.path(u).attr(e).add())},hideCrosshair:function(){this.cross&&this.cross.hide()}},o(p.prototype,{getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t,null,null,!0),r=this.getPlotLinePath(n,null,null,!0);return r&&i?(r.flat=r.toString()===i.toString(),r.push(i[4],i[5],i[1],i[2])):r=null,r},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new h.PlotLineOrBand(this,n).render(),r=this.userOptions;return i&&(t&&(r[t]=r[t]||[],r[t].push(n)),this.plotLinesAndBands.push(i)),i},removePlotBandOrLine:function(n){for(var r=this.plotLinesAndBands,u=this.options,f=this.userOptions,t=r.length;t--;)r[t].id===n&&r[t].destroy();i([u.plotLines||[],f.plotLines||[],u.plotBands||[],f.plotBands||[]],function(i){for(t=i.length;t--;)i[t].id===n&&vi(i,i[t])})}}),p.prototype.getTimeTicks=function(n,u,f,e){var a=[],v={},y=nt.global.useUTC,l,s=new vt(u-fu(u)),h=n.unitRange,c=n.count;if(r(u)){s[ie](h>=k.second?0:c*ut(s.getMilliseconds()/c));h>=k.second&&s[re](h>=k.minute?0:c*ut(s.getSeconds()/c));h>=k.minute&&s[ue](h>=k.hour?0:c*ut(s[cf]()/c));h>=k.hour&&s[fe](h>=k.day?0:c*ut(s[lf]()/c));h>=k.day&&s[vf](h>=k.month?1:c*ut(s[su]()/c));h>=k.month&&(s[yf](h>=k.year?0:c*ut(s[hu]()/c)),l=s[cu]());h>=k.year&&(l-=l%c,s[pf](l));h===k.week&&s[vf](s[su]()-s[af]()+t(e,1));u=1;(hf||nf)&&(s=s.getTime(),s=new vt(s+fu(s)));l=s[cu]();for(var e=s.getTime(),p=s[hu](),w=s[su](),b=(k.day+(y?fu(s):s.getTimezoneOffset()*6e4))%k.day;e<f;)a.push(e),h===k.year?e=gu(l+u*c,0):h===k.month?e=gu(l,p+u*c):!y&&(h===k.day||h===k.week)?e=gu(l,p,w+u*c*(h===k.day?1:7)):e+=h*c,u++;a.push(e);i(lr(a,function(n){return h<=k.hour&&n%k.day===b}),function(n){v[n]="day"})}return a.info=o(n,{higherRanks:v,totalRange:h*c}),a},p.prototype.normalizeTimeTickInterval=function(n,t){for(var i=t||[["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]],r=i[i.length-1],u=k[r[0]],o=r[1],e=0;e<i.length;e++)if(r=i[e],u=k[r[0]],o=r[1],i[e+1]&&n<=(u*o[o.length-1]+k[i[e+1][0]])/2)break;return u===k.year&&n<5*u&&(o=[1,2,5]),i=ff(n/u,o,r[0]==="year"?f(uf(n/u),1):1),{unitRange:u,count:i,unitName:r[0]}},p.prototype.getLogTickPositions=function(n,i,r,f){var s=this.options,o=this.len,c=[],l,y,a,h,v;if(f||(this._minorAutoInterval=null),n>=.5)n=e(n),c=this.getLinearTickPositions(n,i,r);else if(n>=.08)for(o=ut(i),s=n>.3?[1,2,4]:n>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];o<r+1&&!v;o++)for(y=s.length,l=0;l<y&&!v;l++)a=er(ai(o)*s[l]),a>i&&(!f||h<=r)&&h!==u&&c.push(h),h>r&&(v=!0),h=a;else(i=ai(i),r=ai(r),n=s[f?"minorTickInterval":"tickInterval"],n=t(n==="auto"?null:n,this._minorAutoInterval,(r-i)*(s.tickPixelInterval/(f?5:1))/((f?o/this.tickPositions.length:o)||1)),n=ff(n,null,uf(n)),c=hi(this.getLinearTickPositions(n,i,r),er),f)||(this._minorAutoInterval=n/5);return f||(this.tickInterval=n),c},tf=h.Tooltip=function(){this.init.apply(this,arguments)},tf.prototype={init:function(n,t){var r=t.borderWidth,i=t.style,u=v(i.padding);this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=n.renderer.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).add().attr({y:-9999});ii||this.label.shadow(t.shadow);this.shared=t.shared},destroy:function(){this.label&&(this.label=this.label.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(n,t,i,r){var f=this,e=f.now,s=f.options.animation!==!1&&!f.isHidden&&(g(n-e.x)>1||g(t-e.y)>1),h=f.followPointer||f.len>1;o(e,{x:s?(2*e.x+n)/3:n,y:s?(e.y+t)/2:t,anchorX:h?u:s?(2*e.anchorX+i)/3:i,anchorY:h?u:s?(e.anchorY+r)/2:r});f.label.attr(e);s&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(n,t,i,r)},32))},hide:function(n){var i=this;clearTimeout(this.hideTimer);n=t(n,this.options.hideDelay,500);this.isHidden||(this.hideTimer=gr(function(){i.label[n?"fadeOut":"hide"]();i.isHidden=!0},n))},getAnchor:function(n,t){var f,r=this.chart,o=r.inverted,c=r.plotTop,v=r.plotLeft,s=0,h=0,l,a,n=ei(n);return f=n[0].tooltipPos,this.followPointer&&t&&(t.chartX===u&&(t=r.pointer.normalize(t)),f=[t.chartX-r.plotLeft,t.chartY-c]),f||(i(n,function(n){l=n.series.yAxis;a=n.series.xAxis;s+=n.plotX+(!o&&a?a.left-v:0);h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,f=[o?r.plotWidth-h:s,this.shared&&!o&&n.length>1&&t?t.chartY-c:o?r.plotHeight-s:h]),hi(f,e)},getPosition:function(n,i,r){var u=this.chart,o=this.distance,e={},s=r.h||0,h,l=["y",u.chartHeight,i,r.plotY+u.plotTop,u.plotTop,u.plotTop+u.plotHeight],a=["x",u.chartWidth,n,r.plotX+u.plotLeft,u.plotLeft,u.plotLeft+u.plotWidth],p=t(r.ttBelow,u.inverted&&!r.negative||!u.inverted&&r.negative),w=function(n,t,i,r,u,h){var a=i<r-o,v=r+o+i<t,l=r-o-i;if(r+=o,p&&v)e[n]=r;else if(!p&&a)e[n]=l;else if(a)e[n]=c(h-i,l-s<0?l:l-s);else if(v)e[n]=f(u,r+s+i>t?r:r+s);else return!1},b=function(n,t,i,r){var u;return r<o||r>t-o?u=!1:e[n]=r<i/2?1:r>t-i/2?t-i-2:r-i/2,u},v=function(n){var t=l;l=a;a=t;h=n},y=function(){w.apply(0,l)!==!1?b.apply(0,a)===!1&&!h&&(v(!0),y()):h?e.x=e.y=0:(v(!0),y())};return(u.inverted||this.len>1)&&v(),y(),e},defaultFormatter:function(n){var i=this.points||ei(this),t;return t=[n.tooltipFooterHeaderFormatter(i[0])],t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t.join("")},refresh:function(n,r){var e=this.chart,o=this.label,v=this.options,h,c,s,u={},f,l=[],a,y;f=v.formatter||this.defaultFormatter;u=e.hoverPoints;y=this.shared;clearTimeout(this.hideTimer);this.followPointer=ei(n)[0].series.tooltipOptions.followPointer;s=this.getAnchor(n,r);h=s[0];c=s[1];y&&(!n.series||!n.series.noSharedTooltip)?(e.hoverPoints=n,u&&i(u,function(n){n.setState()}),i(n,function(n){n.setState("hover");l.push(n.getLabelConfig())}),u={x:n[0].category,y:n[0].y},u.points=l,this.len=l.length,n=n[0]):u=n.getLabelConfig();f=f.call(u,this);u=n.series;this.distance=t(u.tooltipOptions.distance,16);f===!1?this.hide():(this.isHidden&&(ar(o),o.attr("opacity",1).show()),o.attr({text:f}),a=v.borderColor||n.color||u.color||"#606060",o.attr({stroke:a}),this.updatePosition({plotX:h,plotY:c,negative:n.negative,ttBelow:n.ttBelow,h:s[2]||0}),this.isHidden=!1);d(e,"tooltipRefresh",{text:f,x:h+e.plotLeft,y:c+e.plotTop,borderColor:a})},updatePosition:function(n){var i=this.chart,t=this.label,t=(this.options.positioner||this.getPosition).call(this,t.width,t.height,n);this.move(e(t.x),e(t.y||0),n.plotX+i.plotLeft,n.plotY+i.plotTop)},getXDateFormat:function(n,t,i){var u,t=t.dateTimeLabelFormats,f=i&&i.closestPointRange,r,e={millisecond:15,second:12,minute:9,hour:6,day:3},o,s="millisecond";if(f){o=dt("%m-%d %H:%M:%S.%L",n.x);for(r in k){if(f===k.week&&+dt("%w",n.x)===i.options.startOfWeek&&o.substr(6)==="00:00:00.000"){r="week";break}if(k[r]>f){r=s;break}if(e[r]&&o.substr(e[r])!=="01-01 00:00:00.000".substr(e[r]))break;r!=="week"&&(s=r)}r&&(u=t[r])}else u=t.day;return u||t.year},tooltipFooterHeaderFormatter:function(n,t){var i=t?"footer":"header",u=n.series,f=u.tooltipOptions,r=f.xDateFormat,e=u.xAxis,o=e&&e.options.type==="datetime"&&fi(n.key),i=f[i+"Format"];return o&&!r&&(r=this.getXDateFormat(n,f,e)),o&&r&&(i=i.replace("{point.key}","{point.key:"+r+"}")),tr(i,{point:n,series:u})},bodyFormatter:function(n){return hi(n,function(n){var t=n.series.tooltipOptions;return(t.pointFormatter||n.point.tooltipFormatter).call(n.point,t.pointFormat)})}},iu=l&&l.documentElement.ontouchstart!==u,vr=h.Pointer=function(n,t){this.init(n,t)},vr.prototype={init:function(n,i){var r=i.chart,e=r.events,u=ii?"":r.zoomType,r=n.inverted,f;this.options=i;this.chart=n;this.zoomX=f=/x/.test(u);this.zoomY=u=/y/.test(u);this.zoomHor=f&&!r||u&&r;this.zoomVert=u&&!r||f&&r;this.hasZoom=f||u;this.runChartClick=e&&!!e.click;this.pinchDown=[];this.lastValidTouch={};h.Tooltip&&i.tooltip.enabled&&(n.tooltip=new tf(n,i.tooltip),this.followTouchMove=t(i.tooltip.followTouchMove,!0));this.setDOMEvents()},normalize:function(t,i){var s,r,t=t||n.event;return t.target||(t.target=t.srcElement),r=t.touches?t.touches.length?t.touches.item(0):t.changedTouches[0]:t,i||(this.chartPosition=i=wf(this.chart.container)),r.pageX===u?(s=f(t.x,t.clientX-i.left),r=t.y):(s=r.pageX-i.left,r=r.pageY-i.top),o(t,{chartX:e(s),chartY:e(r)})},getCoordinates:function(n){var t={xAxis:[],yAxis:[]};return i(this.chart.axes,function(i){t[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(n[i.horiz?"chartX":"chartY"])})}),t},runPointActions:function(n){var c=this.chart,f=c.series,r=c.tooltip,h=r?r.shared:!1,v=c.hoverPoint,e=c.hoverSeries,o,w=Number.MAX_VALUE,p,b,y,s=[],u,k;if(!h&&!e)for(o=0;o<f.length;o++)(f[o].directTouch||!f[o].options.stickyTracking)&&(f=[]);if(e&&(h?e.noSharedTooltip:e.directTouch)&&v?u=v:(i(f,function(i){p=i.noSharedTooltip&&h;b=!h&&i.directTouch;i.visible&&!p&&!b&&t(i.options.enableMouseTracking,!0)&&(k=i.searchPoint(n,!p&&i.kdDimensions===1))&&s.push(k)}),i(s,function(n){y=!h&&n.series.kdDimensions===1?n.dist:n.distX;n&&typeof y=="number"&&y<w&&(w=y,u=n)})),u&&(u!==this.prevKDPoint||r&&r.isHidden)){if(h&&!u.series.noSharedTooltip){for(o=s.length;o--;)(s[o].clientX!==u.clientX||s[o].series.noSharedTooltip)&&s.splice(o,1);s.length&&r&&r.refresh(s,n);i(s,function(t){t.onMouseOver(n,t!==(e&&e.directTouch&&v||u))})}else if(r&&r.refresh(u,n),!e||!e.directTouch)u.onMouseOver(n);this.prevKDPoint=u}else f=e&&e.tooltipOptions.followPointer,r&&f&&!r.isHidden&&(f=r.getAnchor([{}],n),r.updatePosition({plotX:f[0],plotY:f[1]}));this._onDocumentMouseMove||(this._onDocumentMouseMove=function(n){if(at[pi])at[pi].pointer.onDocumentMouseMove(n)},a(l,"mousemove",this._onDocumentMouseMove));i(c.axes,function(i){i.drawCrosshair(n,t(u,v))})},reset:function(n,r){var u=this.chart,h=u.hoverSeries,f=u.hoverPoint,o=u.hoverPoints,e=u.tooltip,s=e&&e.shared?o:f;(n=n&&e&&s)&&i(ei(s),function(t){t.plotX===void 0&&(n=!1)});n?(e.refresh(s),f&&(f.setState(f.state,!0),i(u.axes,function(n){t(n.options.crosshair&&n.options.crosshair.snap,!0)?n.drawCrosshair(null,f):n.hideCrosshair()}))):(f&&f.onMouseOut(),o&&i(o,function(n){n.setState()}),h&&h.onMouseOut(),e&&e.hide(r),this._onDocumentMouseMove&&(it(l,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=null),i(u.axes,function(n){n.hideCrosshair()}),this.hoverX=u.hoverPoints=u.hoverPoint=null)},scaleGroups:function(n,t){var r=this.chart,u;i(r.series,function(i){u=n||i.getPlotBox();i.xAxis&&i.xAxis.zoomEnabled&&(i.group.attr(u),i.markerGroup&&(i.markerGroup.attr(u),i.markerGroup.clip(t?r.clipRect:null)),i.dataLabelsGroup&&i.dataLabelsGroup.attr(u))});r.clipRect.attr(t||r.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var i=this.chart,o=i.options.chart,t=n.chartX,u=n.chartY,v=this.zoomHor,y=this.zoomVert,f=i.plotLeft,e=i.plotTop,c=i.plotWidth,l=i.plotHeight,a,r=this.selectionMarker,s=this.mouseDownX,h=this.mouseDownY,p=o.panKey&&n[o.panKey+"Key"];r&&r.touch||(t<f?t=f:t>f+c&&(t=f+c),u<e?u=e:u>e+l&&(u=e+l),this.hasDragged=Math.sqrt(Math.pow(s-t,2)+Math.pow(h-u,2)),this.hasDragged>10)&&(a=i.isInsidePlot(s-f,h-e),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&a&&!p&&!r&&(this.selectionMarker=r=i.renderer.rect(f,e,v?1:c,y?1:l,0).attr({fill:o.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),r&&v&&(t-=s,r.attr({width:g(t),x:(t>0?0:t)+s})),r&&y&&(t=u-h,r.attr({height:g(t),y:(t>0?0:t)+h})),a&&!r&&o.panning&&i.pan(n,o.panning))},drop:function(n){var v=this,u=this.chart,e=this.hasPinched;if(this.selectionMarker){var s={xAxis:[],yAxis:[]},t=this.selectionMarker,h=t.attr?t.attr("x"):t.x,l=t.attr?t.attr("y"):t.y,y=t.attr?t.attr("width"):t.width,p=t.attr?t.attr("height"):t.height,a;(this.hasDragged||e)&&(i(u.axes,function(t){if(t.zoomEnabled&&r(t.min)&&(e||v[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])){var i=t.horiz,u=n.type==="touchend"?t.minPixelPadding:0,o=t.toValue((i?h:l)+u),i=t.toValue((i?h+y:l+p)-u);s[t.coll].push({axis:t,min:c(o,i),max:f(o,i)});a=!0}}),a&&d(u,"selection",s,function(n){u.zoom(o(n,e?{animation:!1}:null))}));this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}u&&(b(u.container,{cursor:u._cursor}),u.cancelClick=this.hasDragged>10,u.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n);n.preventDefault&&n.preventDefault();this.dragStart(n)},onDocumentMouseUp:function(n){at[pi]&&at[pi].pointer.drop(n)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition,n=this.normalize(n,i);!i||this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.reset()},onContainerMouseLeave:function(){var n=at[pi];n&&(n.pointer.reset(),n.pointer.chartPosition=null)},onContainerMouseMove:function(n){var t=this.chart;pi=t.index;n=this.normalize(n);n.returnValue=!1;t.mouseIsDown==="mousedown"&&this.drag(n);(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&!t.openMenu&&this.runPointActions(n)},inClass:function(n,t){for(var i;n;){if(i=ft(n,"class")){if(i.indexOf(t)!==-1)return!0;if(i.indexOf("highcharts-container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries,n=n.relatedTarget||n.toElement;!t||t.options.stickyTracking||this.inClass(n,"highcharts-tooltip")||this.inClass(n,"highcharts-series-"+t.index)||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,r=t.plotLeft,u=t.plotTop,n=this.normalize(n);t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(d(i.series,"click",o(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(o(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&d(t,"click",n)))},setDOMEvents:function(){var n=this,t=n.chart.container;t.onmousedown=function(t){n.onContainerMouseDown(t)};t.onmousemove=function(t){n.onContainerMouseMove(t)};t.onclick=function(t){n.onContainerClick(t)};a(t,"mouseleave",n.onContainerMouseLeave);ou===1&&a(l,"mouseup",n.onDocumentMouseUp);iu&&(t.ontouchstart=function(t){n.onContainerTouchStart(t)},t.ontouchmove=function(t){n.onContainerTouchMove(t)},ou===1&&a(l,"touchend",n.onDocumentTouchEnd))},destroy:function(){var n;it(this.chart.container,"mouseleave",this.onContainerMouseLeave);ou||(it(l,"mouseup",this.onDocumentMouseUp),it(l,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(n in this)this[n]=null}},o(h.Pointer.prototype,{pinchTranslate:function(n,t,i,r,u,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var a=this.chart,c=n?"x":"y",k=n?"X":"Y",v="chart"+k,rt=n?"width":"height",d=a["plot"+(n?"Left":"Top")],l,nt,s=o||1,tt=a.inverted,y=a.bounds[n?"h":"v"],p=t.length===1,w=t[0][v],h=i[0][v],ut=!p&&t[1][v],b=!p&&i[1][v],it,i=function(){!p&&g(w-ut)>20&&(s=o||g(h-b)/g(w-ut));nt=(d-h)/s+w;l=a["plot"+(n?"Width":"Height")]/s};i();t=nt;t<y.min?(t=y.min,it=!0):t+l>y.max&&(t=y.max-l,it=!0);it?(h-=.8*(h-e[c][0]),p||(b-=.8*(b-e[c][1])),i()):e[c]=[h,b];tt||(f[c]=nt-d,f[rt]=l);f=tt?1/s:s;u[rt]=l;u[c]=t;r[tt?n?"scaleY":"scaleX":"scale"+k]=s;r["translate"+k]=f*d+(h-f*w)},pinch:function(n){var r=this,e=r.chart,u=r.pinchDown,s=n.touches,h=s.length,l=r.lastValidTouch,a=r.hasZoom,v=r.selectionMarker,y={},w=h===1&&(r.inClass(n.target,"highcharts-tracker")&&e.runTrackerClick||r.runChartClick),p={};h>1&&(r.initiated=!0);a&&r.initiated&&!w&&n.preventDefault();hi(s,function(n){return r.normalize(n)});n.type==="touchstart"?(i(s,function(n,t){u[t]={chartX:n.chartX,chartY:n.chartY}}),l.x=[u[0].chartX,u[1]&&u[1].chartX],l.y=[u[0].chartY,u[1]&&u[1].chartY],i(e.axes,function(n){if(n.zoomEnabled){var r=e.bounds[n.horiz?"h":"v"],u=n.minPixelPadding,i=n.toPixels(t(n.options.min,n.dataMin)),o=n.toPixels(t(n.options.max,n.dataMax)),s=c(i,o),i=f(i,o);r.min=c(n.pos,s-u);r.max=f(n.pos+n.len,i+u)}}),r.res=!0):u.length&&(v||(r.selectionMarker=v=o({destroy:gt,touch:!0},e.plotBox)),r.pinchTranslate(u,s,y,v,p,l),r.hasPinched=a,r.scaleGroups(y,p),!a&&r.followTouchMove&&h===1?this.runPointActions(r.normalize(n)):r.res&&(r.res=!1,this.reset(!1,0)))},touch:function(n,t){var i=this.chart;pi=i.index;n.touches.length===1?(n=this.normalize(n),i.isInsidePlot(n.chartX-i.plotLeft,n.chartY-i.plotTop)&&!i.openMenu?(t&&this.runPointActions(n),this.pinch(n)):t&&this.reset()):n.touches.length===2&&this.pinch(n)},onContainerTouchStart:function(n){this.touch(n,!0)},onContainerTouchMove:function(n){this.touch(n)},onDocumentTouchEnd:function(n){at[pi]&&at[pi].pointer.drop(n)}}),n.PointerEvent||n.MSPointerEvent){var nr={},bf=!!n.PointerEvent,ae=function(){var n,t=[];t.item=function(n){return this[n]};for(n in nr)nr.hasOwnProperty(n)&&t.push({pageX:nr[n].pageX,pageY:nr[n].pageY,target:nr[n].target});return t},kf=function(n,t,i,r){(n.pointerType==="touch"||n.pointerType===n.MSPOINTER_TYPE_TOUCH)&&at[pi]&&(r(n),r=at[pi].pointer,r[t]({type:i,target:n.currentTarget,preventDefault:gt,touches:ae()}))};o(vr.prototype,{onContainerPointerDown:function(n){kf(n,"onContainerTouchStart","touchstart",function(n){nr[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){kf(n,"onContainerTouchMove","touchmove",function(n){nr[n.pointerId]={pageX:n.pageX,pageY:n.pageY};nr[n.pointerId].target||(nr[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){kf(n,"onDocumentTouchEnd","touchend",function(n){delete nr[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,bf?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,bf?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(l,bf?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});tt(vr.prototype,"init",function(n,t,i){n.call(this,t,i);this.hasZoom&&b(t.container,{"-ms-touch-action":"none","touch-action":"none"})});tt(vr.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(a)});tt(vr.prototype,"destroy",function(n){this.batchMSEvents(it);n.call(this)})}au=h.Legend=function(n,t){this.init(n,t)};au.prototype={init:function(n,i){var r=this,u=i.itemStyle,f=i.itemMarginTop||0;this.options=i;i.enabled&&(r.itemStyle=u,r.itemHiddenStyle=s(u,i.itemHiddenStyle),r.itemMarginTop=f,r.padding=u=t(i.padding,8),r.initialItemX=u,r.initialItemY=u-5,r.maxItemWidth=0,r.chart=n,r.itemHeight=0,r.symbolWidth=t(i.symbolWidth,16),r.pages=[],r.render(),a(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var f=this.options,r=n.legendItem,c=n.legendLine,e=n.legendSymbol,i=this.itemHiddenStyle.color,f=t?f.itemStyle.color:i,o=t?n.legendColor||n.color||"#CCC":i,i=n.options&&n.options.marker,s={fill:o},h;if(r&&r.css({fill:f,color:f}),c&&c.attr({stroke:o}),e){if(i&&e.isMarker)for(h in s.stroke=o,i=n.convertAttribs(i),i)r=i[h],r!==u&&(s[h]=r);e.attr(s)}},positionItem:function(n){var i=this.options,f=i.symbolPadding,i=!i.rtl,t=n._legendItemPos,r=t[0],t=t[1],u=n.checkbox;(n=n.legendGroup)&&n.element&&n.translate(i?r:this.legendWidth-r-2*f-4,t);u&&(u.x=r,u.y=t)},destroyItem:function(n){var t=n.checkbox;i(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())});t&&wr(n.checkbox)},destroy:function(){var n=this.group,t=this.box;t&&(this.box=t.destroy());n&&(this.group=n.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,t,u=this.clipHeight||this.legendHeight,f=this.titleHeight;r&&(t=r.translateY,i(this.allItems,function(i){var e=i.checkbox,o;e&&(o=t+f+e.y+(n||0)+3,b(e,{left:r.translateX+i.checkboxOffset+e.x-20+"px",top:o+"px",display:o>t-6&&o<t+u-6?"":"none"}))}))},renderTitle:function(){var n=this.padding,t=this.options.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,n-3,n-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(t.style).add(this.group)),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i}));this.titleHeight=i},setText:function(n){var t=this.options;n.legendItem.attr({text:t.labelFormat?tr(t.labelFormat,n):t.labelFormatter.call(n)})},renderItem:function(n){var w=this.chart,o=w.renderer,i=this.options,l=i.layout==="horizontal",r=this.symbolWidth,u=i.symbolPadding,y=this.itemStyle,b=this.itemHiddenStyle,k=this.padding,d=l?t(i.itemDistance,20):0,g=!i.rtl,nt=i.width,p=i.itemMarginBottom||0,a=this.itemMarginTop,v=this.initialItemX,h=n.legendItem,tt=n.series&&n.series.drawLegendSymbol?n.series:n,c=tt.options,c=this.createCheckboxForItem&&c&&c.showCheckbox,it=i.useHTML;h||(n.legendGroup=o.g("legend-item").attr({zIndex:1}).add(this.scrollGroup),n.legendItem=h=o.text("",g?r+u:-u,this.baseline||0,it).css(s(n.visible?y:b)).attr({align:g?"left":"right",zIndex:2}).add(n.legendGroup),this.baseline||(this.fontMetrics=o.fontMetrics(y.fontSize,h),this.baseline=this.fontMetrics.f+3+a,h.attr("y",this.baseline)),tt.drawLegendSymbol(this,n),this.setItemEvents&&this.setItemEvents(n,h,it,y,b),this.colorizeItem(n,n.visible),c&&this.createCheckboxForItem(n));this.setText(n);o=h.getBBox();r=n.checkboxOffset=i.itemWidth||n.legendItemWidth||r+u+o.width+d+(c?20:0);this.itemHeight=u=e(n.legendItemHeight||o.height);l&&this.itemX-v+r>(nt||w.chartWidth-2*k-v-i.x)&&(this.itemX=v,this.itemY+=a+this.lastLineHeight+p,this.lastLineHeight=0);this.maxItemWidth=f(this.maxItemWidth,r);this.lastItemY=a+this.itemY+p;this.lastLineHeight=f(u,this.lastLineHeight);n._legendItemPos=[this.itemX,this.itemY];l?this.itemX+=r:(this.itemY+=a+u+p,this.lastLineHeight=u);this.offsetWidth=nt||f((l?this.itemX-v-d:r)+k,this.offsetWidth)},getAllItems:function(){var n=[];return i(this.chart.series,function(i){var f=i.options;t(f.showInLegend,r(f.linkedTo)?!1:u,!0)&&(n=n.concat(i.legendItems||(f.legendType==="point"?i.data:i)))}),n},adjustMargins:function(n,u){var o=this.chart,e=this.options,s=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);this.display&&!e.floating&&i([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(i,h){i.test(s)&&!r(n[h])&&(o[du[h]]=f(o[du[h]],o.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+t(e.margin,12)+u[h]))})},render:function(){var n=this,a=n.chart,h=a.renderer,s=n.group,f,c,e,t,r=n.box,u=n.options,v=n.padding,l=u.borderWidth,y=u.backgroundColor;n.itemX=n.initialItemX;n.itemY=n.initialItemY;n.offsetWidth=0;n.lastItemY=0;s||(n.group=s=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(s),n.scrollGroup=h.g().add(n.contentGroup));n.renderTitle();f=n.getAllItems();pu(f,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});u.reversed&&f.reverse();n.allItems=f;n.display=c=!!f.length;n.lastLineHeight=0;i(f,function(t){n.renderItem(t)});e=(u.width||n.offsetWidth)+v;t=n.lastItemY+n.lastLineHeight+n.titleHeight;t=n.handleOverflow(t);t+=v;(l||y)&&(r?e>0&&t>0&&(r[r.isNew?"attr":"animate"](r.crisp({width:e,height:t})),r.isNew=!1):(n.box=r=h.rect(0,0,e,t,u.borderRadius,l||0).attr({stroke:u.borderColor,"stroke-width":l||0,fill:y||"none"}).add(s).shadow(u.shadow),r.isNew=!0),r[c?"show":"hide"]());n.legendWidth=e;n.legendHeight=t;i(f,function(t){n.positionItem(t)});c&&s.align(o({width:e,height:t},u),!0,"spacingBox");a.isResizing||this.positionCheckboxes()},handleOverflow:function(n){var u=this,b=this.chart,h=b.renderer,l=this.options,r=l.y,r=b.spacingBox.height+(l.verticalAlign==="top"?-r:r)-this.padding,d=l.maxHeight,a,v=this.clipRect,k=l.navigation,g=t(k.animation,!0),y=k.arrowSize||12,o=this.nav,s=this.pages,p=this.padding,w,nt=this.allItems,tt=function(n){v.attr({height:n});u.contentGroup.div&&(u.contentGroup.div.style.clip="rect("+p+"px,9999px,"+(p+n)+"px,0)")};return l.layout==="horizontal"&&(r/=2),d&&(r=c(r,d)),s.length=0,n>r?(this.clipHeight=a=f(r-20-this.titleHeight-p,0),this.currentPage=t(this.currentPage,1),this.fullHeight=n,i(nt,function(n,t){var i=n._legendItemPos[1],u=e(n.legendItem.getBBox().height),r=s.length;(!r||i-s[r-1]>a&&(w||i)!==s[r-1])&&(s.push(w||i),r++);t===nt.length-1&&i+u-s[r-1]>a&&s.push(i);i!==w&&(w=i)}),v||(v=u.clipRect=h.clipRect(0,p,9999,0),u.contentGroup.clip(v)),tt(a),o||(this.nav=o=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,y,y).on("click",function(){u.scroll(-1,g)}).add(o),this.pager=h.text("",15,10).css(k.style).add(o),this.down=h.symbol("triangle-down",0,0,y,y).on("click",function(){u.scroll(1,g)}).add(o)),u.scroll(0),n=r):o&&(tt(b.chartHeight),o.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},scroll:function(n,t){var r=this.pages,f=r.length,i=this.currentPage+n,s=this.clipHeight,e=this.options.navigation,o=e.activeColor,e=e.inactiveColor,h=this.pager,c=this.padding;i>f&&(i=f);i>0&&(t!==u&&nu(t,this.chart),this.nav.attr({translateX:c,translateY:s+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:i===1?e:o}).css({cursor:i===1?"default":"pointer"}),h.attr({text:i+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===f?e:o}).css({cursor:i===f?"default":"pointer"}),r=-r[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:r}),this.currentPage=i,this.positionCheckboxes(r))}};st=h.LegendSymbolMixin={drawRectangle:function(n,t){var i=n.options.symbolHeight||n.fontMetrics.f;t.legendSymbol=this.chart.renderer.rect(0,n.baseline-i+1,n.symbolWidth,i,n.options.symbolRadius||0).attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,i=t.marker,u=n.symbolWidth,f=this.chart.renderer,o=this.legendGroup,n=n.baseline-e(n.fontMetrics.b*.3),r;t.lineWidth&&(r={"stroke-width":t.lineWidth},t.dashStyle&&(r.dashstyle=t.dashStyle),this.legendLine=f.path(["M",0,n,"L",u,n]).attr(r).add(o));i&&i.enabled!==!1&&(t=i.radius,this.legendSymbol=i=f.symbol(this.symbol,u/2-t,n-t,2*t,2*t,i).add(o),i.isMarker=!0)}};(/Trident\/7\.0/.test(ir)||br)&&tt(au.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i();setTimeout(i)});ci=h.Chart=function(){this.getArgs.apply(this,arguments)};h.chart=function(n,t,i){return new ci(n,t,i)};ci.prototype={callbacks:[],getArgs:function(){var n=[].slice.call(arguments);(ki(n[0])||n[0].nodeName)&&(this.renderTo=n.shift());this.init(n[0],n[1])},init:function(n,i){var f,u=n.series,e,r,o;if(n.series=null,f=s(nt,n),f.series=n.series=u,this.userOptions=n,u=f.chart,this.margin=this.splashArray("margin",u),this.spacing=this.splashArray("spacing",u),e=u.events,this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=f,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=at.length,at.push(r),ou++,u.reflow!==!1&&a(r,"load",function(){r.initReflow()}),e)for(o in e)a(r,o,e[o]);r.xAxis=[];r.yAxis=[];r.animation=ii?!1:t(u.animation,!0);r.pointCount=r.colorCounter=r.symbolCounter=0;r.firstRender()},initSeries:function(n){var t=this.options.chart;return(t=y[n.type||t.type||t.defaultSeriesType])||ui(17,!0),t=new t,t.init(this,n),t},isInsidePlot:function(n,t,i){var r=i?t:n,n=i?n:t;return r>=0&&r<=this.plotWidth&&n>=0&&n<=this.plotHeight},redraw:function(n){var u=this.axes,t=this.series,s=this.pointer,h=this.legend,c=this.isDirtyLegend,f,l,a=this.hasCartesianSeries,e=this.isDirtyBox,v=t.length,r=v,y=this.renderer,p=y.isHidden(),w=[];for(nu(n,this),p&&this.cloneRenderTo(),this.layOutTitles();r--;)if(n=t[r],n.options.stacking&&(f=!0,n.isDirty)){l=!0;break}if(l)for(r=v;r--;)(n=t[r],n.options.stacking)&&(n.isDirty=!0);i(t,function(n){n.isDirty&&n.options.legendType==="point"&&(n.updateTotals&&n.updateTotals(),c=!0)});c&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1);f&&this.getStacks();a&&!this.isResizing&&(this.maxTicks=null,i(u,function(n){n.setScale()}));this.getMargins();a&&(i(u,function(n){n.isDirty&&(e=!0)}),i(u,function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,w.push(function(){d(n,"afterSetExtremes",o(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(e||f)&&n.redraw()}));e&&this.drawChartBox();i(t,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()});s&&s.reset(!0);y.draw();d(this,"redraw");p&&this.cloneRenderTo(!0);i(w,function(n){n.call()})},get:function(n){for(var i=this.axes,r=this.series,u,t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<r.length;t++)if(r[t].options.id===n)return r[t];for(t=0;t<r.length;t++)for(u=r[t].points||[],i=0;i<u.length;i++)if(u[i].id===n)return u[i];return null},getAxes:function(){var r=this,n=this.options,t=n.xAxis=ei(n.xAxis||{}),n=n.yAxis=ei(n.yAxis||{});i(t,function(n,t){n.index=t;n.isX=!0});i(n,function(n,t){n.index=t});t=t.concat(n);i(t,function(n){new p(r,n)})},getSelectedPoints:function(){var n=[];return i(this.series,function(t){n=n.concat(lr(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return lr(this.series,function(n){return n.selected})},setTitle:function(n,t,r){var e,u=this,f=u.options,o;o=f.title=s(f.title,n);e=f.subtitle=s(f.subtitle,t);f=e;i([["title",n,o],["subtitle",t,f]],function(n){var t=n[0],i=u[t],r=n[1],n=n[2];i&&r&&(u[t]=i=i.destroy());n&&n.text&&!i&&(u[t]=u.renderer.text(n.text,0,0,n.useHTML).attr({align:n.align,"class":"highcharts-"+t,zIndex:n.zIndex||4}).css(n.style).add())});u.layOutTitles(r)},layOutTitles:function(n){var u=0,i=this.title,e=this.subtitle,r=this.options,f=r.title,r=r.subtitle,s=this.renderer,h=this.spacingBox.width-44;!i||(i.css({width:(f.width||h)+"px"}).align(o({y:s.fontMetrics(f.style.fontSize,i).b-3},f),!1,"spacingBox"),f.floating||f.verticalAlign)||(u=i.getBBox().height);e&&(e.css({width:(r.width||h)+"px"}).align(o({y:u+(f.margin-13)+s.fontMetrics(r.style.fontSize,i).b},r),!1,"spacingBox"),!r.floating&&!r.verticalAlign&&(u=gi(u+e.getBBox().height)));i=this.titleOffset!==u;this.titleOffset=u;!this.isDirtyBox&&i&&(this.isDirtyBox=i,this.hasRendered&&t(n,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var n=this.options.chart,i=n.width,n=n.height,u=this.renderToClone||this.renderTo;r(i)||(this.containerWidth=cr(u,"width"));r(n)||(this.containerHeight=cr(u,"height"));this.chartWidth=f(0,i||this.containerWidth||600);this.chartHeight=f(0,t(n,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),wr(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),b(t,{position:"absolute",top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),l.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n,u=this.options,i=u.chart,t,r,f;n=this.renderTo;f="highcharts-"+sf++;n||(this.renderTo=n=i.renderTo);ki(n)&&(this.renderTo=n=l.getElementById(n));n||ui(13,!0);t=v(ft(n,"data-highcharts-chart"));!isNaN(t)&&at[t]&&at[t].hasRendered&&at[t].destroy();ft(n,"data-highcharts-chart",this.index);n.innerHTML="";i.skipClone||n.offsetWidth||this.cloneRenderTo();this.getChartSize();t=this.chartWidth;r=this.chartHeight;this.container=n=lt(dr,{className:"highcharts-container"+(i.className?" "+i.className:""),id:f},o({position:"relative",overflow:"hidden",width:t+"px",height:r+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},i.style),this.renderToClone||n);this._cursor=n.style.cursor;this.renderer=new(h[i.renderer]||kr)(n,t,r,i.style,i.forExport,u.exporting&&u.exporting.allowHTML);ii&&this.renderer.create(this,n,t,r);this.renderer.chartIndex=this.index},getMargins:function(n){var t=this.spacing,i=this.margin,u=this.titleOffset;this.resetMargins();u&&!r(i[0])&&(this.plotTop=f(this.plotTop,u+this.options.title.margin+t[0]));this.legend.adjustMargins(i,t);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);n||this.getAxisMargins()},getAxisMargins:function(){var n=this,t=n.axisOffset=[0,0,0,0],u=n.margin;n.hasCartesianSeries&&i(n.axes,function(n){n.visible&&n.getOffset()});i(du,function(i,f){r(u[f])||(n[i]+=t[f])});n.setChartSize()},reflow:function(t){var i=this,r=i.options.chart,e=i.renderTo,u=r.width||cr(e,"width"),f=r.height||cr(e,"height"),r=t?t.target:n;!i.hasUserSize&&!i.isPrinting&&u&&f&&(r===n||r===l)&&((u!==i.containerWidth||f!==i.containerHeight)&&(clearTimeout(i.reflowTimeout),i.reflowTimeout=gr(function(){i.container&&(i.setSize(u,f,!1),i.hasUserSize=null)},t?100:0)),i.containerWidth=u,i.containerHeight=f)},initReflow:function(){var t=this,i=function(n){t.reflow(n)};a(n,"resize",i);a(t,"destroy",function(){it(n,"resize",i)})},setSize:function(n,t,u){var o=this,s,h,c=o.renderer;o.isResizing+=1;nu(u,o);o.oldChartHeight=o.chartHeight;o.oldChartWidth=o.chartWidth;r(n)&&(o.chartWidth=s=f(0,e(n)),o.hasUserSize=!!s);r(t)&&(o.chartHeight=h=f(0,e(t)));n=c.globalAnimation;(n?ru:b)(o.container,{width:s+"px",height:h+"px"},n);o.setChartSize(!0);c.setSize(s,h,u);o.maxTicks=null;i(o.axes,function(n){n.isDirty=!0;n.setScale()});i(o.series,function(n){n.isDirty=!0});o.isDirtyLegend=!0;o.isDirtyBox=!0;o.layOutTitles();o.getMargins();o.redraw(u);o.oldChartHeight=null;d(o,"resize");n=c.globalAnimation;gr(function(){o&&d(o,"endResize",null,function(){o.isResizing-=1})},n===!1?0:n&&n.duration||500)},setChartSize:function(n){var u=this.inverted,o=this.renderer,t=this.chartWidth,v=this.chartHeight,y=this.options.chart,r=this.spacing,s=this.clipOffset,l,a,h,c;this.plotLeft=l=e(this.plotLeft);this.plotTop=a=e(this.plotTop);this.plotWidth=h=f(0,e(t-l-this.marginRight));this.plotHeight=c=f(0,e(v-a-this.marginBottom));this.plotSizeX=u?c:h;this.plotSizeY=u?h:c;this.plotBorderWidth=y.plotBorderWidth||0;this.spacingBox=o.spacingBox={x:r[3],y:r[0],width:t-r[3]-r[1],height:v-r[0]-r[2]};this.plotBox=o.plotBox={x:l,y:a,width:h,height:c};t=2*ut(this.plotBorderWidth/2);u=gi(f(t,s[3])/2);o=gi(f(t,s[0])/2);this.clipBox={x:u,y:o,width:ut(this.plotSizeX-f(t,s[1])/2-u),height:f(0,ut(this.plotSizeY-f(t,s[2])/2-o))};n||i(this.axes,function(n){n.setAxisSize();n.setAxisTranslation()})},resetMargins:function(){var n=this;i(du,function(i,r){n[i]=t(n.margin[r],n.spacing[r])});n.axisOffset=[0,0,0,0];n.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this.options.chart,r=this.renderer,a=this.chartWidth,v=this.chartHeight,t=this.chartBackground,y=this.plotBackground,c=this.plotBorder,p=this.plotBGImage,u=n.borderWidth||0,w=n.backgroundColor,b=n.plotBackgroundColor,k=n.plotBackgroundImage,f=n.plotBorderWidth||0,i,e=this.plotLeft,o=this.plotTop,s=this.plotWidth,h=this.plotHeight,d=this.plotBox,g=this.clipRect,l=this.clipBox;i=u+(n.shadow?8:0);(u||w)&&(t?t.animate(t.crisp({width:a-i,height:v-i})):(t={fill:w||"none"},u&&(t.stroke=n.borderColor,t["stroke-width"]=u),this.chartBackground=r.rect(i/2,i/2,a-i,v-i,n.borderRadius,u).attr(t).addClass("highcharts-background").add().shadow(n.shadow)));b&&(y?y.animate(d):this.plotBackground=r.rect(e,o,s,h,0).attr({fill:b}).add().shadow(n.plotShadow));k&&(p?p.animate(d):this.plotBGImage=r.image(k,e,o,s,h).add());g?g.animate({width:l.width,height:l.height}):this.clipRect=r.clipRect(l);f&&(c?c.animate(c.crisp({x:e,y:o,width:s,height:h,strokeWidth:-f})):this.plotBorder=r.rect(e,o,s,h,0,-f).attr({stroke:n.plotBorderColor,"stroke-width":f,fill:"none",zIndex:1}).add());this.isDirtyBox=!1},propFromSeries:function(){var t=this,u=t.options.chart,n,f=t.options.series,e,r;i(["inverted","angular","polar"],function(i){for(n=y[u.type||u.defaultSeriesType],r=t[i]||u[i]||n&&n.prototype[i],e=f&&f.length;!r&&e--;)(n=y[f[e].type])&&n.prototype[i]&&(r=!0);t[i]=r})},linkSeries:function(){var n=this,r=n.series;i(r,function(n){n.linkedSeries.length=0});i(r,function(i){var r=i.options.linkedTo;ki(r)&&(r=r===":previous"?n.series[i.index-1]:n.get(r))&&(r.linkedSeries.push(i),i.linkedParent=r,i.visible=t(i.options.visible,r.options.visible,i.visible))})},renderSeries:function(){i(this.series,function(n){n.translate();n.render()})},renderLabels:function(){var n=this,t=n.options.labels;t.items&&i(t.items,function(i){var r=o(t.style,i.style),u=v(r.left)+n.plotLeft,f=v(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(i.html,u,f).attr({zIndex:2}).css(r).add()})},render:function(){var n=this.axes,o=this.renderer,u=this.options,f,e,t,r;this.setTitle();this.legend=new au(this,u.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();f=this.plotWidth;e=this.plotHeight-=21;i(n,function(n){n.setScale()});this.getAxisMargins();t=f/this.plotWidth>1.1;r=e/this.plotHeight>1.05;(t||r)&&(this.maxTicks=null,i(n,function(n){(n.horiz&&t||!n.horiz&&r)&&n.setTickInterval(!0)}),this.getMargins());this.drawChartBox();this.hasCartesianSeries&&i(n,function(n){n.visible&&n.render()});this.seriesGroup||(this.seriesGroup=o.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.showCredits(u.credits);this.hasRendered=!0},showCredits:function(t){t.enabled&&!this.credits&&(this.credits=this.renderer.text(t.text,0,0).on("click",function(){t.href&&(n.location.href=t.href)}).attr({align:t.position.align,zIndex:8}).css(t.style).add().align(t.position))},destroy:function(){var n=this,f=n.axes,e=n.series,r=n.container,t,o=r&&r.parentNode;for(d(n,"destroy"),at[n.index]=u,ou--,n.renderTo.removeAttribute("data-highcharts-chart"),it(n),t=f.length;t--;)f[t]=f[t].destroy();for(t=e.length;t--;)e[t]=e[t].destroy();i("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())});r&&(r.innerHTML="",it(r),o&&wr(r));for(t in n)delete n[t]},isReadyToRender:function(){var t=this;return!bt&&n==n.top&&l.readyState!=="complete"||ii&&!n.canvg?(ii?ee.push(function(){t.firstRender()},t.options.global.canvasToolsURL):l.attachEvent("onreadystatechange",function(){l.detachEvent("onreadystatechange",t.firstRender);l.readyState==="complete"&&t.firstRender()}),!1):!0},firstRender:function(){var n=this,t=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),d(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),i(t.series||[],function(t){n.initSeries(t)}),n.linkSeries(),d(n,"beforeRender"),h.Pointer&&(n.pointer=new vr(n,t)),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),i(n.callbacks,function(t){n.index!==u&&t.apply(n,[n])}),d(n,"load"),n.cloneRenderTo(!0))},splashArray:function(n,i){var r=i[n],r=yt(r)?r:[r,r,r,r];return[t(i[n+"Top"],r[0]),t(i[n+"Right"],r[1]),t(i[n+"Bottom"],r[2]),t(i[n+"Left"],r[3])]}};oe=h.CenteredSeriesMixin={getCenter:function(){for(var r=this.options,u=this.chart,e=2*(r.slicedOffset||0),o=u.plotWidth-2*e,u=u.plotHeight-2*e,n=r.center,n=[t(n[0],"50%"),t(n[1],"50%"),r.size||"100%",r.innerSize||0],s=c(o,u),f,i=0;i<4;++i)f=n[i],r=i<2||i===2&&/%$/.test(f),n[i]=(/%$/.test(f)?[o,u,s,n[2]][i]*parseFloat(f)/100:parseFloat(f))+(r?e:0);return n[3]>n[2]&&(n[3]=n[2]),n}};wi=function(){};wi.prototype={init:function(n,t,i){return this.series=n,this.color=n.color,this.applyOptions(t,i),this.pointAttr={},n.options.colorByPoint&&(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter++],n.colorCounter===t.length)&&(n.colorCounter=0),n.chart.pointCount++,this},applyOptions:function(n,t){var i=this.series,r=i.options.pointValKey||i.pointValKey,n=wi.prototype.optionsToObject.call(this,n);return o(this,n),this.options=this.options?o(this.options,n):n,r&&(this.y=this[r]),this.x===u&&i&&(this.x=t===u?i.autoIncrement():t),this},optionsToObject:function(n){var i={},t=this.series,u=t.options.keys,f=u||t.pointArrayMap||["y"],o=f.length,r=0,e=0;if(typeof n=="number"||n===null)i[f[0]]=n;else if(fr(n))for(!u&&n.length>o&&(t=typeof n[0],t==="string"?i.name=n[0]:t==="number"&&(i.x=n[0]),r++);e<o;)u&&n[r]===void 0||(i[f[e]]=n[r]),r++,e++;else typeof n=="object"&&(i=n,n.dataLabels&&(t._hasPointLabels=!0),n.marker&&(t._hasPointMarkers=!0));return i},destroy:function(){var n=this.series.chart,t=n.hoverPoints,i;n.pointCount--;t&&(this.setState(),vi(t,this),!t.length)&&(n.hoverPoints=null);this===n.hoverPoint&&this.onMouseOut();(this.graphic||this.dataLabel)&&(it(this),this.destroyElements());this.legendItem&&n.legend.destroyItem(this);for(i in this)this[i]=null},destroyElements:function(){for(var i=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],n,t=6;t--;)n=i[t],this[n]&&(this[n]=this[n].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(n){var u=this.series,r=u.tooltipOptions,o=t(r.valueDecimals,""),f=r.valuePrefix||"",e=r.valueSuffix||"";return i(u.pointArrayMap||["y"],function(t){t="{point."+t;(f||e)&&(n=n.replace(t+"}",f+t+"}"+e));n=n.replace(t+"}",t+":,."+o+"f}")}),tr(n,{point:this,series:this.series})},firePointEvent:function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();n==="click"&&u.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});d(this,n,t,i)},visible:!0};w=h.Series=function(){};w.prototype={isCartesian:!0,type:"line",pointClass:wi,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(n,r){var u=this,s,f,e=n.series,h=function(n,i){return t(n.options.index,n._i)-t(i.options.index,i._i)};u.chart=n;u.options=r=u.setOptions(r);u.linkedSeries=[];u.bindAxes();o(u,{name:r.name,state:"",pointAttr:{},visible:r.visible!==!1,selected:r.selected===!0});ii&&(r.animation=!1);f=r.events;for(s in f)a(u,s,f[s]);(f&&f.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(n.runTrackerClick=!0);u.getColor();u.getSymbol();i(u.parallelArrays,function(n){u[n+"Data"]=[]});u.setData(r.data,!1);u.isCartesian&&(n.hasCartesianSeries=!0);e.push(u);u._i=e.length-1;pu(e,h);this.yAxis&&pu(this.yAxis.series,h);i(e,function(n,t){n.index=t;n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,t=n.options,f=n.chart,r;i(n.axisTypes||[],function(e){i(f[e],function(i){r=i.options;(t[e]===r.index||t[e]!==u&&t[e]===r.id||t[e]===u&&r.index===0)&&(i.series.push(n),n[e]=i,i.isDirty=!0)});n[e]||n.optionalAxis===e||ui(18,!0)})},updateParallelArrays:function(n,t){var r=n.series,u=arguments;i(r.parallelArrays,typeof t=="number"?function(i){var u=i==="y"&&r.toYData?r.toYData(n):n[i];r[i+"Data"][t]=u}:function(n){Array.prototype[t].apply(r[n+"Data"],Array.prototype.slice.call(u,2))})},autoIncrement:function(){var n=this.options,i=this.xIncrement,r,u=n.pointIntervalUnit,i=t(i,n.pointStart,0);return this.pointInterval=r=t(this.pointInterval,n.pointInterval,1),(u==="month"||u==="year")&&(n=new vt(i),n=u==="month"?+n[yf](n[hu]()+r):+n[pf](n[cu]()+r),r=n-i),this.xIncrement=i+r,i},getSegments:function(){var t=-1,r=[],u,n=this.points,f=n.length;if(f)if(this.options.connectNulls){for(u=f;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else i(n,function(i,u){i.y===null?(u>t+1&&r.push(n.slice(t+1,u)),t=u):u===f-1&&r.push(n.slice(t+1,u+1))});this.segments=r},setOptions:function(n){var i=this.chart,t=i.options.plotOptions,i=i.userOptions||{},u=i.plotOptions||{},f=t[this.type];return this.userOptions=n,t=s(f,t.series,n),this.tooltipOptions=s(nt.tooltip,nt.plotOptions[this.type].tooltip,i.tooltip,u.series&&u.series.tooltip,u[this.type]&&u[this.type].tooltip,n.tooltip),f.marker===null&&delete t.marker,this.zoneAxis=t.zoneAxis,n=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&n.push({value:t[this.zoneAxis+"Threshold"]||t.threshold||0,color:t.negativeColor,fillColor:t.negativeFillColor}),n.length&&r(n[n.length-1].value)&&n.push({color:this.color,fillColor:this.fillColor}),t},getCyclic:function(n,t,i){var u=this.userOptions,f="_"+n+"Index",e=n+"Counter";t||(r(u[f])?t=u[f]:(u[f]=t=this.chart[e]%i.length,this.chart[e]+=1),t=i[t]);this[n]=t},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||rt[this.type].color,this.chart.options.colors)},getSymbol:function(){var n=this.options.marker;this.getCyclic("symbol",n.symbol,this.chart.options.symbols);/^url/.test(this.symbol)&&(n.radius=0)},drawLegendSymbol:st.drawLineMarker,setData:function(n,f,e,o){var s=this,l=s.points,b=l&&l.length||0,c,v=s.options,k=s.chart,h=null,a=s.xAxis,y=a&&!!a.categories,d=v.turboThreshold,w=this.xData,p=this.yData,g=(c=s.pointArrayMap)&&c.length,n=n||[];if(c=n.length,f=t(f,!0),o!==!1&&c&&b===c&&!s.cropped&&!s.hasGroupedData&&s.visible)i(n,function(n,t){l[t].update&&n!==v.data[t]&&l[t].update(n,!1,null,!1)});else{if(s.xIncrement=null,s.colorCounter=0,i(this.parallelArrays,function(n){s[n+"Data"].length=0}),d&&c>d){for(e=0;h===null&&e<c;)h=n[e],e++;if(fi(h)){for(y=t(v.pointStart,0),h=t(v.pointInterval,1),e=0;e<c;e++)w[e]=y,p[e]=n[e],y+=h;s.xIncrement=y}else if(fr(h))if(g)for(e=0;e<c;e++)h=n[e],w[e]=h[0],p[e]=h.slice(1,g+1);else for(e=0;e<c;e++)h=n[e],w[e]=h[0],p[e]=h[1];else ui(12)}else for(e=0;e<c;e++)n[e]!==u&&(h={series:s},s.pointClass.prototype.applyOptions.apply(h,[n[e]]),s.updateParallelArrays(h,e),y&&r(h.name))&&(a.names[h.x]=h.name);for(ki(p[0])&&ui(14,!0),s.data=[],s.options.data=n,e=b;e--;)l[e]&&l[e].destroy&&l[e].destroy();a&&(a.minRange=a.userMinRange);s.isDirty=s.isDirtyData=k.isDirtyBox=!0;e=!1}v.legendType==="point"&&(this.processData(),this.generatePoints());f&&k.redraw(e)},processData:function(n){var t=this.xData,l=this.yData,i=t.length,f,v,o,s,r,e,a,h,c;if(f=0,s=this.xAxis,e=this.options,r=e.cropThreshold,e=this.getExtremesFromAll||e.getExtremesFromAll,a=this.isCartesian,a&&!this.isDirty&&!s.isDirty&&!this.yAxis.isDirty&&!n)return!1;for(s&&(n=s.getExtremes(),h=n.min,c=n.max),a&&this.sorted&&!e&&(!r||i>r||this.forceCrop)&&(t[i-1]<h||t[0]>c?(t=[],l=[]):(t[0]<h||t[i-1]>c)&&(f=this.cropData(this.xData,this.yData,h,c),t=f.xData,l=f.yData,f=f.start,v=!0)),r=t.length-1;r>=0;r--)i=t[r]-t[r-1],i>0&&(o===u||i<o)?o=i:i<0&&this.requireSorting&&ui(15);this.cropped=v;this.cropStart=f;this.processedXData=t;this.processedYData=l;this.closestPointRange=o},cropData:function(n,i,r,u){for(var h=n.length,o=0,s=h,c=t(this.cropShoulder,1),e=0;e<h;e++)if(n[e]>=r){o=f(0,e-c);break}for(r=e;r<h;r++)if(n[r]>u){s=r+c;break}return{xData:n.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var e=this.options.data,t=this.data,c,o=this.processedXData,v=this.processedYData,l=this.pointClass,s=o.length,a=this.cropStart||0,i,r=this.hasGroupedData,h,f=[],n;for(t||r||(t=[],t.length=e.length,t=this.data=t),n=0;n<s;n++)i=a+n,r?f[n]=(new l).init(this,[o[n]].concat(ei(v[n]))):(t[i]?h=t[i]:e[i]!==u&&(t[i]=h=(new l).init(this,e[i],o[n])),f[n]=h),f[n].index=i;if(t&&(s!==(c=t.length)||r))for(n=0;n<c;n++)(n===a&&!r&&(n+=s),t[n])&&(t[n].destroyElements(),t[n].plotX=u);this.data=t;this.points=f},getExtremes:function(n){var c=this.yAxis,s=this.processedXData,f,o=[],h=0;f=this.xAxis.getExtremes();var l=f.min,a=f.max,r,e,t,i,n=n||this.stackedYData||this.processedYData;for(f=n.length,i=0;i<f;i++)if(e=s[i],t=n[i],r=t!==null&&t!==u&&(!c.isLog||t.length||t>0),e=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(s[i+1]||e)>=l&&(s[i-1]||e)<=a,r&&e)if(r=t.length)for(;r--;)t[r]!==null&&(o[h++]=t[r]);else o[h++]=t;this.dataMin=or(o);this.dataMax=di(o)},translate:function(){var o;this.processedXData||this.processData();this.generatePoints();for(var s=this.options,d=s.stacking,v=this.xAxis,p=v.categories,h=this.yAxis,nt=this.points,rt=nt.length,ut=!!this.modifyValue,w=s.pointPlacement,ft=w==="between"||fi(w),y=s.threshold,tt=s.startFromThreshold?y:0,l,e,it,b,k=Number.MAX_VALUE,s=0;s<rt;s++){var n=nt[s],a=n.x,i=n.y;e=n.low;o=d&&h.stacks[(this.negStacks&&i<(tt?0:y)?"-":"")+this.stackKey];h.isLog&&i!==null&&i<=0&&(n.y=i=null,ui(10));n.plotX=l=c(f(-1e5,v.translate(a,0,0,0,1,w,this.type==="flags")),1e5);d&&this.visible&&o&&o[a]&&(b=this.getStackIndicator(b,a,this.index),o=o[a],i=o.points[b.key],e=i[0],i=i[1],e===tt&&(e=t(y,h.min)),h.isLog&&e<=0&&(e=null),n.total=n.stackTotal=o.total,n.percentage=o.total&&n.y/o.total*100,n.stackY=i,o.setOffset(this.pointXOffset||0,this.barW||0));n.yBottom=r(e)?h.translate(e,0,1,0,1):null;ut&&(i=this.modifyValue(i,n));n.plotY=e=typeof i=="number"&&i!==Infinity?c(f(-1e5,h.translate(i,0,1,0,1)),1e5):u;n.isInside=e!==u&&e>=0&&e<=h.len&&l>=0&&l<=v.len;n.clientX=ft?v.translate(a,0,0,0,1):l;n.negative=n.y<(y||0);n.category=p&&p[n.x]!==u?p[n.x]:n.x;s&&(k=c(k,g(l-it)));it=l}this.closestPointRangePx=k;this.getSegments()},setClip:function(n){var t=this.chart,u=this.options,o=t.renderer,s=t.inverted,f=this.clipBox,e=f||t.clipBox,i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,e.height,u.xAxis,u.yAxis].join(","),r=t[i],h=t[i+"m"];r||(n&&(e.width=0,t[i+"m"]=h=o.clipRect(-99,s?-t.plotLeft:-t.plotTop,99,s?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(e));n&&(r.count+=1);u.clip!==!1&&(this.group.clip(n||f?r:t.clipRect),this.markerGroup.clip(h),this.sharedClipKey=i);n||(r.count-=1,r.count<=0&&i&&t[i]&&(f||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var i=this.chart,t=this.options.animation,r;t&&!yt(t)&&(t=rt[this.type].animation);n?this.setClip(t):(r=this.sharedClipKey,(n=i[r])&&n.animate({width:i.plotSizeX},t),i[r+"m"]&&i[r+"m"].animate({width:i.plotSizeX+99},t),this.animate=null)},afterAnimate:function(){this.setClip();d(this,"afterAnimate")},drawPoints:function(){var f,y=this.points,b=this.chart,c,e,l,n,i,a,p,r,h=this.options.marker,k=this.pointAttr[""],s,w,v,d=this.markerGroup,g=t(h.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*h.radius);if(h.enabled!==!1||this._hasPointMarkers)for(l=y.length;l--;)(n=y[l],c=ut(n.plotX),e=n.plotY,r=n.graphic,s=n.marker||{},w=!!n.marker,f=g&&s.enabled===u||s.enabled,v=n.isInside,f&&e!==u&&!isNaN(e)&&n.y!==null)?(f=n.pointAttr[n.selected?"select":""]||k,i=f.r,a=t(s.symbol,this.symbol),p=a.indexOf("url")===0,r)?r[v?"show":"hide"](!0).animate(o({x:c-i,y:e-i},r.symbolName?{width:2*i,height:2*i}:{})):v&&(i>0||p)&&(n.graphic=b.renderer.symbol(a,c-i,e-i,2*i,2*i,w?s:h).attr(f).add(d)):r&&(n.graphic=r.destroy())},convertAttribs:function(n,i,r,u){var e=this.pointAttrToOptions,f,o,s={},n=n||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=t(n[o],i[f],r[f],u[f]);return s},getAttribs:function(){var u=this,v=u.options,f=rt[u.type].marker?v.marker:v,l=f.states,e=l.hover,h,a=u.color,p=u.options.negativeColor,k,d,y,g,nt;h={stroke:a,fill:a};var w=u.points||[],s,n,c=[],b=u.pointAttrToOptions;if(s=u.hasPointSpecificOptions,k=f.lineColor,d=f.fillColor,n=v.turboThreshold,y=u.zones,g=u.zoneAxis||"y",v.marker?(e.radius=e.radius||f.radius+e.radiusPlus,e.lineWidth=e.lineWidth||f.lineWidth+e.lineWidthPlus):(e.color=e.color||oi(e.color||a).brighten(e.brightness).get(),e.negativeColor=e.negativeColor||oi(e.negativeColor||p).brighten(e.brightness).get()),c[""]=u.convertAttribs(f,h),i(["hover","select"],function(n){c[n]=u.convertAttribs(l[n],c[""])}),u.pointAttr=c,a=w.length,!n||a<n||s)for(;a--;){if(n=w[a],(f=n.options&&n.options.marker||n.options)&&f.enabled===!1&&(f.radius=0),y.length){for(s=0,h=y[s];n[g]>=h.value;)h=y[++s];n.color=n.fillColor=t(h.color,u.color)}if(s=v.colorByPoint||n.color,n.options)for(nt in b)r(f[b[nt]])&&(s=!0);s?(f=f||{},s=[],l=f.states||{},h=l.hover=l.hover||{},v.marker&&(!n.negative||h.fillColor||e.fillColor)||(h[u.pointAttrToOptions.fill]=h.color||!n.options.color&&e[n.negative&&p?"negativeColor":"color"]||oi(n.color).brighten(h.brightness||e.brightness).get()),h={color:n.color},d||(h.fillColor=n.color),k||(h.lineColor=n.color),f.hasOwnProperty("color")&&!f.color&&delete f.color,s[""]=u.convertAttribs(o(h,f),c[""]),s.hover=u.convertAttribs(l.hover,c.hover,s[""]),s.select=u.convertAttribs(l.select,c.select,s[""])):s=c;n.pointAttr=s}},destroy:function(){var n=this,f=n.chart,s=/AppleWebKit\/533/.test(ir),r,o=n.data||[],e,t,u;for(d(n,"destroy"),it(n),i(n.axisTypes||[],function(t){(u=n[t])&&(vi(u.series,n),u.isDirty=u.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),r=o.length;r--;)(e=o[r])&&e.destroy&&e.destroy();n.points=null;clearTimeout(n.animationTimeout);for(t in n)n[t]instanceof et&&!n[t].survive&&(r=s&&t==="group"?"hide":"destroy",n[t][r]());f.hoverSeries===n&&(f.hoverSeries=null);vi(f.series,n);for(t in n)delete n[t]},getSegmentPath:function(n){var r=this,t=[],u=r.options.step;return i(n,function(i,f){var o=i.plotX,s=i.plotY,e;r.getPointSpline?t.push.apply(t,r.getPointSpline(n,i,f)):(t.push(f?"L":"M"),u&&f&&(e=n[f-1],u==="right"?t.push(e.plotX,s,"L"):u==="center"?t.push((e.plotX+o)/2,e.plotY,"L",(e.plotX+o)/2,s,"L"):t.push(o,e.plotY,"L")),t.push(i.plotX,i.plotY))}),t},getGraphPath:function(){var n=this,t=[],r,u=[];return i(n.segments,function(i){r=n.getSegmentPath(i);i.length>1?t=t.concat(r):u.push(i[0])}),n.singlePoints=u,n.graphPath=t},drawGraph:function(){var t=this,n=this.options,u=[["graph",n.lineColor||this.color,n.dashStyle]],f=n.lineWidth,o=n.linecap!=="square",r=this.getGraphPath(),e=this.fillGraph&&this.color||"none";i(this.zones,function(i,r){u.push(["zoneGraph"+r,i.color||t.color,i.dashStyle||n.dashStyle])});i(u,function(i,u){var h=i[0],s=t[h];s?s.animate({d:r}):(f||e)&&r.length&&(s={stroke:i[1],"stroke-width":f,fill:e,zIndex:1},i[2]?s.dashstyle=i[2]:o&&(s["stroke-linecap"]=s["stroke-linejoin"]="round"),t[h]=t.chart.renderer.path(r).attr(s).add(t.group).shadow(u<2&&n.shadow))})},applyZones:function(){var g=this,n=this.chart,nt=n.renderer,tt=this.zones,s,h,l=this.clips||[],r,v=this.graph,y=this.area,p=f(n.chartWidth,n.chartHeight),o=this[(this.zoneAxis||"y")+"Axis"],a,it=o.reversed,rt=n.inverted,w=o.horiz,d,b,k,ut=!1;tt.length&&(v||y)&&o.min!==u&&(v&&v.hide(),y&&y.hide(),a=o.getExtremes(),i(tt,function(i,u){s=it?w?n.plotWidth:0:w?0:o.toPixels(a.min);s=c(f(t(h,s),0),p);h=c(f(e(o.toPixels(t(i.value,a.max),!0)),0),p);ut&&(s=h=o.toPixels(a.max));d=Math.abs(s-h);b=c(s,h);k=f(s,h);o.isXAxis?(r={x:rt?k:b,y:0,width:d,height:p},w)||(r.x=n.plotHeight-r.x):(r={x:0,y:rt?k:b,width:p,height:d},w)&&(r.y=n.plotWidth-r.y);n.inverted&&nt.isVML&&(r=o.isXAxis?{x:0,y:it?b:k,height:r.width,width:n.chartWidth}:{x:r.y-n.plotLeft-n.spacingBox.x,y:0,width:r.height,height:n.chartHeight});l[u]?l[u].animate(r):(l[u]=nt.clipRect(r),v&&g["zoneGraph"+u].clip(l[u]),y&&g["zoneArea"+u].clip(l[u]));ut=i.value>a.max}),this.clips=l)},invertGroups:function(){function t(){var t={width:n.yAxis.len,height:n.xAxis.len};i(["group","markerGroup"],function(i){n[i]&&n[i].attr(t).invert()})}var n=this,r=n.chart;n.xAxis&&(a(r,"resize",t),a(n,"destroy",function(){it(r,"resize",t)}),t(),n.invertGroups=t)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({zIndex:r||.1}).add(u),f.addClass("highcharts-series-"+this.index)),f.attr({visibility:i})[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var n=this,r=n.chart,u,f=n.options,e=(u=f.animation)&&!!n.animate&&r.renderer.isSVG&&t(u.duration,500)||0,o=n.visible?"inherit":"hidden",s=f.zIndex,h=n.hasRendered,c=r.seriesGroup;u=n.plotGroup("group","series",o,s,c);n.markerGroup=n.plotGroup("markerGroup","markers",o,s,c);e&&n.animate(!0);n.getAttribs();u.inverted=n.isCartesian?r.inverted:!1;n.drawGraph&&(n.drawGraph(),n.applyZones());i(n.points,function(n){n.redraw&&n.redraw()});n.drawDataLabels&&n.drawDataLabels();n.visible&&n.drawPoints();n.drawTracker&&n.options.enableMouseTracking!==!1&&n.drawTracker();r.inverted&&n.invertGroups();f.clip===!1||n.sharedClipKey||h||u.clip(r.clipRect);e&&n.animate();h||(n.animationTimeout=gr(function(){n.afterAnimate()},e));n.isDirty=n.isDirtyData=!1;n.hasRendered=!0},redraw:function(){var n=this.chart,r=this.isDirtyData,e=this.isDirty,i=this.group,u=this.xAxis,f=this.yAxis;i&&(n.inverted&&i.attr({width:n.plotWidth,height:n.plotHeight}),i.animate({translateX:t(u&&u.left,n.plotLeft),translateY:t(f&&f.top,n.plotTop)}));this.translate();this.render();r&&d(this,"updatedData");(e||r)&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(n,t){var i=this.xAxis,r=this.yAxis,u=this.chart.inverted;return this.searchKDTree({clientX:u?i.len-n.chartY+i.pos:n.chartX-i.pos,plotY:u?r.len-n.chartX+r.pos:n.chartY-r.pos},t)},buildKDTree:function(){function t(i,r,u){var e,f;if(f=i&&i.length)return e=n.kdAxisArray[r%u],i.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:i[f],left:t(i.slice(0,f),r+1,u),right:t(i.slice(f+1),r+1,u)}}var n=this,i=n.kdDimensions;delete n.kdTree;gr(function(){var r=lr(n.points||[],function(n){return n.y!==null});n.kdTree=t(r,i,i)},n.options.kdNow?0:1)},searchKDTree:function(n,t){function e(n,t,s,h){var l=t.point,a=o.kdAxisArray[s%h],c,v,y=l;return v=r(n[u])&&r(l[u])?Math.pow(n[u]-l[u],2):null,c=r(n[f])&&r(l[f])?Math.pow(n[f]-l[f],2):null,c=(v||0)+(c||0),l.dist=r(c)?Math.sqrt(c):Number.MAX_VALUE,l.distX=r(v)?Math.sqrt(v):Number.MAX_VALUE,a=n[a]-l[a],c=a<0?"left":"right",v=a<0?"right":"left",t[c]&&(c=e(n,t[c],s+1,h),y=c[i]<y[i]?c:l),t[v]&&Math.sqrt(a*a)<y[i]&&(n=e(n,t[v],s+1,h),y=n[i]<y[i]?n:y),y}var o=this,u=this.kdAxisArray[0],f=this.kdAxisArray[1],i=t?"distX":"dist";return this.kdTree||this.buildKDTree(),this.kdTree?e(n,this.kdTree,this.kdDimensions,this.kdDimensions):void 0}};gf.prototype={destroy:function(){sr(this,this.axis)},render:function(n){var t=this.options,i=t.format,i=i?tr(i,this):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(i,null,null,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:"hidden"}).add(n)},setOffset:function(n,t){var i=this.axis,e=i.chart,u=e.inverted,r=i.reversed,r=this.isNegative&&!r||!this.isNegative&&r,f=i.translate(i.usePercentage?100:this.total,0,0,0,1),i=i.translate(0),i=g(f-i),s=e.xAxis[0].translate(this.x)+n,o=e.plotHeight,r={x:u?r?f:f-i:s,y:u?o-s-t:r?o-f-i:o-f,width:u?i:t,height:u?t:i};(u=this.label)&&(u.align(this.alignOptions,null,r),r=u.alignAttr,u[this.options.crop===!1||e.isInsidePlot(r.x,r.y)?"show":"hide"](!0))}};ci.prototype.getStacks=function(){var n=this;i(n.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)});i(n.series,function(i){i.options.stacking&&(i.visible===!0||n.options.chart.ignoreHiddenSeries===!1)&&(i.stackKey=i.type+t(i.options.stack,""))})};p.prototype.buildStacks=function(){var i=this.series,r=t(this.options.reversedStacks,!0),n=i.length;if(!this.isXAxis){for(this.usePercentage=!1;n--;)i[r?n:i.length-n-1].setStackedPoints();if(this.usePercentage)for(n=0;n<i.length;n++)i[n].setPercentStacks()}};p.prototype.renderStackTotals=function(){var n=this.chart,f=n.renderer,i=this.stacks,r,u,t=this.stackTotalGroup;t||(this.stackTotalGroup=t=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());t.translate(n.plotLeft,n.plotTop);for(r in i)for(u in n=i[r],n)n[u].render(t)};p.prototype.resetStacks=function(){var n=this.stacks,t,i;if(!this.isXAxis)for(t in n)for(i in n[t])n[t][i].touched<this.stacksTouched?(n[t][i].destroy(),delete n[t][i]):(n[t][i].total=null,n[t][i].cum=0)};p.prototype.cleanStacks=function(){var n,t,i;if(!this.isXAxis){this.oldStacks&&(n=this.stacks=this.oldStacks);for(t in n)for(i in n[t])n[t][i].cum=n[t][i].total}};w.prototype.setStackedPoints=function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){var nt=this.processedXData,p=this.processedYData,w=[],tt=p.length,o=this.options,b=o.threshold,a=o.startFromThreshold?b:0,it=o.stack,o=o.stacking,v=this.stackKey,k="-"+v,d=this.negStacks,e=this.yAxis,r=e.stacks,y=e.oldStacks,c,u,n,l,s,i,h;for(e.stacksTouched+=1,s=0;s<tt;s++)i=nt[s],h=p[s],c=this.getStackIndicator(c,i,this.index),l=c.key,n=(u=d&&h<(a?0:b))?k:v,r[n]||(r[n]={}),r[n][i]||(y[n]&&y[n][i]?(r[n][i]=y[n][i],r[n][i].total=null):r[n][i]=new gf(e,e.options.stackLabels,u,i,it)),n=r[n][i],n.points[l]=[t(n.cum,a)],n.touched=e.stacksTouched,c.index>0&&this.singleStacks===!1&&(n.points[l][0]=n.points[this.index+","+i+",0"][0]),o==="percent"?(u=u?v:k,d&&r[u]&&r[u][i]?(u=r[u][i],n.total=u.total=f(u.total,n.total)+g(h)||0):n.total=ni(n.total+(g(h)||0))):n.total=ni(n.total+(h||0)),n.cum=t(n.cum,a)+(h||0),n.points[l].push(n.cum),w[s]=n.cum;o==="percent"&&(e.usePercentage=!0);this.stackedYData=w;e.oldStacks={}}};w.prototype.setPercentStacks=function(){var n=this,r=n.stackKey,u=n.yAxis.stacks,f=n.processedXData,t;i([r,"-"+r],function(i){for(var s,r,e,o=f.length;o--;)(r=f[o],t=n.getStackIndicator(t,r,n.index),s=(e=u[i]&&u[i][r])&&e.points[t.key],r=s)&&(e=e.total?100/e.total:0,r[0]=ni(r[0]*e),r[1]=ni(r[1]*e),n.stackedYData[o]=r[1])})};w.prototype.getStackIndicator=function(n,t,i){return!r(n)||n.x!==t?n={x:t,index:0}:n.index++,n.key=[i,t,n.index].join(","),n};o(ci.prototype,{addSeries:function(n,i,r){var f,u=this;return n&&(i=t(i,!0),d(u,"addSeries",{options:n},function(){f=u.initSeries(n);u.isDirtyLegend=!0;u.linkSeries();i&&u.redraw(r)})),f},addAxis:function(n,i,r,u){var f=i?"xAxis":"yAxis",e=this.options;new p(this,s(n,{index:this[f].length,isX:i}));e[f]=ei(e[f]||{});e[f].push(n);t(r,!0)&&this.redraw(u)},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading,f=function(){i&&b(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=lt(dr,{className:"highcharts-loading"},o(r.style,{zIndex:10,display:"none"}),t.container),t.loadingSpan=lt("span",null,r.labelStyle,i),a(t,"redraw",f));t.loadingSpan.innerHTML=n||u.lang.loading;t.loadingShown||(b(i,{opacity:0,display:""}),ru(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0);f()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&ru(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){b(n,{display:"none"})}});this.loadingShown=!1}});o(wi.prototype,{update:function(n,i,r,u){function l(){f.applyOptions(n);f.y===null&&o&&(f.graphic=o.destroy());yt(n)&&!fr(n)&&(f.redraw=function(){o&&o.element&&n&&n.marker&&n.marker.symbol&&(f.graphic=o.destroy());n&&n.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy());f.redraw=null});s=f.index;e.updateParallelArrays(f,s);a&&f.name&&(a[f.x]=f.name);c.data[s]=yt(c.data[s])?f.options:n;e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(h.isDirtyBox=!0);c.legendType==="point"&&(h.isDirtyLegend=!0);i&&h.redraw(r)}var f=this,e=f.series,o=f.graphic,s,h=e.chart,c=e.options,a=e.xAxis&&e.xAxis.names,i=t(i,!0);u===!1?l():f.firePointEvent("update",{options:n},l)},remove:function(n,t){this.series.removePoint(si(this,this.series.data),n,t)}});o(w.prototype,{addPoint:function(n,r,u,f){var e=this,l=e.options,c=e.data,h=e.graph,o=e.area,v=e.chart,y=e.xAxis&&e.xAxis.names,w=h&&h.shift||0,s=["graph","area"],h=l.data,p,a=e.xData;if(nu(f,v),u){for(f=e.zones.length;f--;)s.push("zoneGraph"+f,"zoneArea"+f);i(s,function(n){e[n]&&(e[n].shift=w+(l.step?2:1))})}if(o&&(o.isArea=!0),r=t(r,!0),o={series:e},e.pointClass.prototype.applyOptions.apply(o,[n]),s=o.x,f=a.length,e.requireSorting&&s<a[f-1])for(p=!0;f&&a[f-1]>s;)f--;e.updateParallelArrays(o,"splice",f,0,0);e.updateParallelArrays(o,f);y&&o.name&&(y[s]=o.name);h.splice(f,0,n);p&&(e.data.splice(f,0,null),e.processData());l.legendType==="point"&&e.generatePoints();u&&(c[0]&&c[0].remove?c[0].remove(!1):(c.shift(),e.updateParallelArrays(o,"shift"),h.shift()));e.isDirty=!0;e.isDirtyData=!0;r&&(e.getAttribs(),v.redraw())},removePoint:function(n,i,r){var u=this,e=u.data,f=e[n],o=u.points,s=u.chart,h=function(){e.length===o.length&&o.splice(n,1);e.splice(n,1);u.options.data.splice(n,1);u.updateParallelArrays(f||{series:u},"splice",n,1);f&&f.destroy();u.isDirty=!0;u.isDirtyData=!0;i&&s.redraw()};nu(r,s);i=t(i,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(n,i){var u=this,r=u.chart;d(u,"remove",null,function(){u.destroy();r.isDirtyLegend=r.isDirtyBox=!0;r.linkSeries();t(n,!0)&&r.redraw(i)})},update:function(n,r){var e=this,h=this.chart,a=this.userOptions,c=this.type,v=y[c].prototype,f=["group","markerGroup","dataLabelsGroup"],l;(n.type&&n.type!==c||n.zIndex!==void 0)&&(f.length=0);i(f,function(n){f[n]=e[n];delete e[n]});n=s(a,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},n);this.remove(!1);for(l in v)this[l]=u;o(this,y[n.type||c].prototype);i(f,function(n){e[n]=f[n]});this.init(h,n);h.linkSeries();t(r,!0)&&h.redraw(!1)}});o(p.prototype,{update:function(n,i){var r=this.chart,n=r.options[this.coll][this.options.index]=s(this.userOptions,n);this.destroy(!0);this._addedPlotLB=this.chart._labelPanes=u;this.init(r,o(n,{events:u}));r.isDirtyBox=!0;t(i,!0)&&r.redraw()},remove:function(n){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);vi(r.axes,this);vi(r[u],this);r.options[u].splice(this.options.index,1);i(r[u],function(n,t){n.options.index=t});this.destroy();r.isDirtyBox=!0;t(n,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}});bi=kt(w);y.line=bi;rt.area=s(ht,{softThreshold:!1,threshold:0});li=kt(w,{type:"area",singleStacks:!1,getSegments:function(){var a=this,u=[],r=[],f=[],y=this.xAxis,e=this.yAxis,o=e.stacks[this.stackKey],t={},s,h,c=this.points,p=this.options.connectNulls,v,n,l;if(this.options.stacking&&!this.cropped){for(n=0;n<c.length;n++)t[c[n].x]=c[n];for(l in o)o[l].total!==null&&f.push(+l);f.sort(function(n,t){return n-t});i(f,function(i){var u=null,f;if(!p||t[i]&&t[i].y!==null)if(t[i])r.push(t[i]);else{for(n=a.index;n<=e.series.length;n++)if(v=a.getStackIndicator(null,i,n),f=o[i].points[v.key]){u=f[1];break}s=y.translate(i);h=e.getThreshold(u);r.push({y:null,plotX:s,clientX:s,plotY:h,yBottom:h,onMouseOver:gt})}});r.length&&u.push(r)}else w.prototype.getSegments.call(this),u=this.segments;this.segments=u},getSegmentPath:function(n){var r=w.prototype.getSegmentPath.call(this,n),u=[].concat(r),i,f=this.options,e,o;if(i=r.length,e=this.yAxis.getThreshold(f.threshold),i===3&&u.push("L",r[1],r[2]),f.stacking&&!this.closedStacks)for(i=n.length-1;i>=0;i--)o=t(n[i].yBottom,e),i<n.length-1&&f.step&&u.push(n[i+1].plotX,o),u.push(n[i].plotX,o);else this.closeSegment(u,n,e);return this.areaPath=this.areaPath.concat(u),r},closeSegment:function(n,t,i){n.push("L",t[t.length-1].plotX,i,"L",t[0].plotX,i)},drawGraph:function(){this.areaPath=[];w.prototype.drawGraph.apply(this);var n=this,r=this.areaPath,t=this.options,u=[["area",this.color,t.fillColor]];i(this.zones,function(i,r){u.push(["zoneArea"+r,i.color||n.color,i.fillColor||t.fillColor])});i(u,function(i){var f=i[0],u=n[f];u?u.animate({d:r}):(u={fill:i[2]||i[1],zIndex:0},i[2]||(u["fill-opacity"]=t.fillOpacity||.75),n[f]=n.chart.renderer.path(r).attr(u).add(n.group))})},drawLegendSymbol:st.drawRectangle});y.area=li;rt.spline=s(ht);bi=kt(w,{type:"spline",getPointSpline:function(n,t,i){var h=t.plotX,r=t.plotY,s=n[i-1],o=n[i+1],a,e,l,u,v;return s&&o&&(n=s.plotY,l=o.plotX,o=o.plotY,a=(1.5*h+s.plotX)/2.5,e=(1.5*r+n)/2.5,l=(1.5*h+l)/2.5,u=(1.5*r+o)/2.5,v=(u-e)*(l-h)/(l-a)+r-u,e+=v,u+=v,e>n&&e>r?(e=f(n,r),u=2*r-e):e<n&&e<r&&(e=c(n,r),u=2*r-e),u>o&&u>r?(u=f(o,r),e=2*r-u):u<o&&u<r&&(u=c(o,r),e=2*r-u),t.rightContX=l,t.rightContY=u),i?(t=["C",s.rightContX||s.plotX,s.rightContY||s.plotY,a||h,e||r,h,r],s.rightContX=s.rightContY=null):t=["M",h,r],t}});y.spline=bi;rt.areaspline=s(rt.area);li=li.prototype;bi=kt(bi,{type:"areaspline",closedStacks:!0,getSegmentPath:li.getSegmentPath,closeSegment:li.closeSegment,drawGraph:li.drawGraph,drawLegendSymbol:st.drawRectangle});y.areaspline=bi;rt.column=s(ht,{borderColor:"#FFFFFF",borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1,halo:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0});bi=kt(w,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var n=this,t=n.chart;t.hasRendered&&i(t.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var r=this,n=r.options,f=r.xAxis,a=r.yAxis,v=f.reversed,e,s={},o=0;n.grouping===!1?o=1:i(r.chart.series,function(n){var i=n.options,f=n.yAxis,t;n.type===r.type&&n.visible&&a.len===f.len&&a.pos===f.pos&&(i.stacking?(e=n.stackKey,s[e]===u&&(s[e]=o++),t=s[e]):i.grouping!==!1&&(t=o++),n.columnIndex=t)});var h=c(g(f.transA)*(f.ordinalSlope||n.pointRange||f.closestPointRange||f.tickInterval||1),f.len),y=h*n.groupPadding,l=(h-2*y)/o,n=c(n.maxPointWidth||f.len,t(n.pointWidth,l*(1-2*n.pointPadding)));return r.columnMetrics={width:n,offset:(l-n)/2+(y+((r.columnIndex||0)+(v?1:0))*l-h/2)*(v?-1:1)},r.columnMetrics},crispCol:function(n,t,i,r){var e=this.chart,u=this.borderWidth,f=-(u%2?.5:0),u=u%2?.5:1;return e.inverted&&e.renderer.isVML&&(u+=1),i=Math.round(n+i)+f,n=Math.round(n)+f,i-=n,r=Math.round(t+r)+u,f=g(t)<=.5&&r>.5,t=Math.round(t)+u,r-=t,f&&(t-=1,r+=1),{x:n,y:t,width:i,height:r}},translate:function(){var n=this,e=n.chart,o=n.options,v=n.borderWidth=t(o.borderWidth,n.closestPointRange*n.xAxis.transA<2?0:1),r=n.yAxis,s=n.translatedThreshold=r.getThreshold(o.threshold),u=t(o.minPointLength,5),l=n.getColumnMetrics(),a=l.width,h=n.barW=f(a,1+2*v),y=n.pointXOffset=l.offset;e.inverted&&(s-=.5);o.pointPadding&&(h=gi(h));w.prototype.translate.apply(n);i(n.points,function(i){var v=c(t(i.yBottom,s),9e4),o=999+g(v),o=c(f(-o,i.plotY),r.len+o),p=i.plotX+y,b=h,w=c(o,v),k,l=f(o,v)-w;g(l)<u&&u&&(l=u,k=!r.reversed&&!i.negative||r.reversed&&i.negative,w=g(w-s)>u?v-u:s-(k?u:0));i.barX=p;i.pointWidth=a;i.tooltipPos=e.inverted?[r.len+r.pos-e.plotLeft-o,n.xAxis.len-p-b/2,l]:[p+b/2,o+r.pos-e.plotTop,l];i.shapeType="rect";i.shapeArgs=n.crispCol(p,w,b,l)})},getSymbol:gt,drawLegendSymbol:st.drawRectangle,drawGraph:gt,drawPoints:function(){var n=this,o=this.chart,t=n.options,h=o.renderer,c=t.animationLimit||250,f,e;i(n.points,function(i){var l=i.plotY,a=i.graphic;l===u||isNaN(l)||i.y===null?a&&(i.graphic=a.destroy()):(f=i.shapeArgs,l=r(n.borderWidth)?{"stroke-width":n.borderWidth}:{},e=i.pointAttr[i.selected?"select":""]||n.pointAttr[""],a?(ar(a),a.attr(l).attr(e)[o.pointCount<c?"animate":"attr"](s(f))):i.graphic=h[i.shapeType](f).attr(l).attr(e).add(i.group||n.group).shadow(t.shadow,null,t.stacking&&!t.borderRadius))})},animate:function(n){var i=this.yAxis,u=this.options,r=this.chart.inverted,t={};bt&&(n?(t.scaleY=.001,n=c(i.pos+i.len,f(i.pos,i.toPixels(u.threshold))),r?t.translateX=n-i.len:t.translateY=n,this.group.attr(t)):(t.scaleY=1,t[r?"translateX":"translateY"]=i.pos,this.group.animate(t,this.options.animation),this.animate=null))},remove:function(){var n=this,t=n.chart;t.hasRendered&&i(t.series,function(t){t.type===n.type&&(t.isDirty=!0)});w.prototype.remove.apply(n,arguments)}});y.column=bi;rt.bar=s(rt.column);li=kt(bi,{type:"bar",inverted:!0});y.bar=li;rt.scatter=s(ht,{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●<\/span> <span style="font-size: 10px;"> {series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>"}});li=kt(w,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&w.prototype.drawGraph.call(this)}});y.scatter=li;rt.pie=s(ht,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){if(this.y!==null)return this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});ht={type:"pie",isCartesian:!1,pointClass:kt(wi,{init:function(){wi.prototype.init.apply(this,arguments);var n=this,i;return n.name=t(n.name,"Slice"),i=function(t){n.slice(t.type==="select")},a(n,"select",i),a(n,"unselect",i),n},setVisible:function(n,r){var f=this,e=f.series,o=e.chart,s=e.options.ignoreHiddenPoint,r=t(r,s);n!==f.visible&&(f.visible=f.options.visible=n=n===u?!f.visible:n,e.options.data[si(f,e.data)]=f.options,i(["graphic","dataLabel","connector","shadowGroup"],function(t){f[t]&&f[t][n?"show":"hide"](!0)}),f.legendItem&&o.legend.colorizeItem(f,n),n||f.state!=="hover"||f.setState(""),s&&(e.isDirty=!0),r&&o.redraw())},slice:function(n,i,u){var f=this.series;nu(u,f.chart);t(i,!0);this.sliced=this.options.sliced=n=r(n)?n:!this.sliced;f.options.data[si(this,f.data)]=this.options;n=n?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(n);this.shadowGroup&&this.shadowGroup.animate(n)},haloPath:function(n){var t=this.shapeArgs,i=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(i.plotLeft+t.x,i.plotTop+t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r,start:t.start,end:t.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},animate:function(n){var t=this,u=t.points,r=t.startAngleRad;n||(i(u,function(n){var i=n.graphic,u=n.shapeArgs;i&&(i.attr({r:n.startR||t.center[3]/2,start:r,end:r}),i.animate({r:u.r,start:u.start,end:u.end},t.options.animation))}),t.animate=null)},updateTotals:function(){for(var i=0,r=this.points,u=r.length,t,f=this.options.ignoreHiddenPoint,n=0;n<u;n++)t=r[n],i+=f&&!t.visible?0:t.y;for(this.total=i,n=0;n<u;n++)t=r[n],t.percentage=i>0&&(t.visible||!f)?t.y/i*100:0,t.total=i},generatePoints:function(){w.prototype.generatePoints.call(this);this.updateTotals()},translate:function(n){this.generatePoints();var v=0,u=this.options,y=u.slicedOffset,l=y+u.borderWidth,f,o,i,h=u.startAngle||0,p=this.startAngleRad=yi/180*(h-90),h=(this.endAngleRad=yi/180*(t(u.endAngle,h+360)-90))-p,w=this.points,s=u.dataLabels.distance,u=u.ignoreHiddenPoint,a,b=w.length,r;for(n||(this.center=n=this.getCenter()),this.getX=function(t,r){return i=ot.asin(c((t-n[1])/(n[2]/2+s),1)),n[0]+(r?-1:1)*ct(i)*(n[2]/2+s)},a=0;a<b;a++)r=w[a],f=p+v*h,(!u||r.visible)&&(v+=r.percentage/100),o=p+v*h,r.shapeType="arc",r.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:e(f*1e3)/1e3,end:e(o*1e3)/1e3},i=(o+f)/2,i>1.5*yi?i-=2*yi:i<-yi/2&&(i+=2*yi),r.slicedTranslation={translateX:e(ct(i)*y),translateY:e(wt(i)*y)},f=ct(i)*n[2]/2,o=wt(i)*n[2]/2,r.tooltipPos=[n[0]+f*.7,n[1]+o*.7],r.half=i<-yi/2||i>yi/2?1:0,r.angle=i,l=c(l,s/2),r.labelPos=[n[0]+f+ct(i)*s,n[1]+o+wt(i)*s,n[0]+f+ct(i)*l,n[1]+o+wt(i)*l,n[0]+f,n[1]+o,s<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,e=n.chart.renderer,u,f,s=n.options.shadow,t,r,h,c;s&&!n.shadowGroup&&(n.shadowGroup=e.g("shadow").add(n.group));i(n.points,function(i){i.y!==null&&(f=i.graphic,h=i.shapeArgs,t=i.shadowGroup,r=i.pointAttr[i.selected?"select":""],r.stroke||(r.stroke=r.fill),s&&!t&&(t=i.shadowGroup=e.g("shadow").add(n.shadowGroup)),u=i.sliced?i.slicedTranslation:{translateX:0,translateY:0},t&&t.attr(u),f?f.setRadialReference(n.center).attr(r).animate(o(h,u)):(c={"stroke-linejoin":"round"},i.visible||(c.visibility="hidden"),i.graphic=f=e[i.shapeType](h).setRadialReference(n.center).attr(r).attr(c).attr(u).add(n.group).shadow(s,t)))})},searchPoint:gt,sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==void 0&&(i.angle-n.angle)*t})},drawLegendSymbol:st.drawRectangle,getCenter:oe.getCenter,getSymbol:gt};ht=kt(w,ht);y.pie=ht;w.prototype.drawDataLabels=function(){var f=this,c=f.options,y=c.cursor,n=c.dataLabels,b=f.points,l,v,p=f.hasRendered||0,e,h,w=f.chart.renderer;(n.enabled||f._hasPointLabels)&&(f.dlProcessOptions&&f.dlProcessOptions(n),h=f.plotGroup("dataLabelsGroup","data-labels",n.defer?"hidden":"visible",n.zIndex||6),t(n.defer,!0)&&(h.attr({opacity:+p}),p||a(f,"afterAnimate",function(){f.visible&&h.show();h[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),v=n,i(b,function(i){var p,a=i.dataLabel,k,d,nt=i.connector,tt=!0,b,g={};if(l=i.dlOptions||i.options&&i.options.dataLabels,p=t(l&&l.enabled,v.enabled)&&i.y!==null,a&&!p)i.dataLabel=a.destroy();else if(p){if(n=s(v,l),b=n.style,p=n.rotation,k=i.getLabelConfig(),e=n.format?tr(n.format,k):n.formatter.call(k,n),b.color=t(n.color,b.color,f.color,"black"),a)r(e)?(a.attr({text:e}),tt=!1):(i.dataLabel=a=a.destroy(),nt)&&(i.connector=nt.destroy());else if(r(e)){a={fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth,r:n.borderRadius||0,rotation:p,padding:n.padding,zIndex:1};b.color==="contrast"&&(g.color=n.inside||n.distance<0||c.stacking?w.getContrast(i.color||f.color):"#000000");y&&(g.cursor=y);for(d in a)a[d]===u&&delete a[d];a=i.dataLabel=w[p?"text":"label"](e,0,-9999,n.shape,null,null,n.useHTML).attr(a).css(o(b,g)).add(h).shadow(n.shadow)}a&&f.alignDataLabel(i,a,n,null,tt)}}))};w.prototype.alignDataLabel=function(n,i,r,u,f){var h=this.chart,s=h.inverted,l=t(n.plotX,-9999),a=t(n.plotY,-9999),c=i.getBBox(),y=h.renderer.fontMetrics(r.style.fontSize).b,v=this.visible&&(n.series.forceDL||h.isInsidePlot(l,e(a),s)||u&&h.isInsidePlot(l,s?u.x+1:u.y+u.height-1,s));v&&(u=o({x:s?h.plotWidth-a:l,y:e(s?h.plotHeight-l:a),width:0,height:0},u),o(r,{width:c.width,height:c.height}),r.rotation?(n=h.renderer.rotCorr(y,r.rotation),i[f?"attr":"animate"]({x:u.x+r.x+u.width/2+n.x,y:u.y+r.y+u.height/2}).attr({align:r.align})):(i.align(r,null,u),s=i.alignAttr,t(r.overflow,"justify")==="justify"?this.justifyDataLabel(i,r,s,c,u,f):t(r.crop,!0)&&(v=h.isInsidePlot(s.x,s.y)&&h.isInsidePlot(s.x+c.width,s.y+c.height)),r.shape&&i.attr({anchorX:n.plotX,anchorY:n.plotY})));v||(ar(i),i.attr({y:-9999}),i.placed=!1)};w.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,e,o,h=n.box?0:n.padding||0;e=i.x+h;e<0&&(c==="right"?t.align="left":t.x=-e,o=!0);e=i.x+r.width-h;e>s.plotWidth&&(c==="left"?t.align="right":t.x=s.plotWidth-e,o=!0);e=i.y+h;e<0&&(l==="bottom"?t.verticalAlign="top":t.y=-e,o=!0);e=i.y+r.height-h;e>s.plotHeight&&(l==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0);o&&(n.placed=!f,n.align(t,null,u))};y.pie&&(y.pie.prototype.drawDataLabels=function(){var a=this,k=a.data,u,st=a.chart,d=a.options.dataLabels,rt=t(d.connectorPadding,10),yt=t(d.connectorWidth,1),pt=st.plotWidth,wt=st.plotHeight,it,ct,dt=t(d.softConnector,!0),tt=d.distance,lt=a.center,ft=lt[2]/2,ht=lt[1],gt=tt>0,v,s,r,bt=[[],[]],y,o,et,ut,n,p=[0,0,0,0],kt=function(n,t){return t.y-n.y},vt,ot;if(a.visible&&(d.enabled||a._hasPointLabels)){for(w.prototype.drawDataLabels.apply(a),i(k,function(n){n.dataLabel&&n.visible&&bt[n.half].push(n)}),ut=2;ut--;){var b=[],at=[],l=bt[ut],nt=l.length,h;if(nt){for(a.sortByAngle(l,ut-.5),n=k=0;!k&&l[n];)k=l[n]&&l[n].dataLabel&&(l[n].dataLabel.getBBox().height||21),n++;if(tt>0){for(s=c(ht+ft+tt,st.plotHeight),n=f(0,ht-ft-tt);n<=s;n+=k)b.push(n);if(s=b.length,nt>s){for(u=[].concat(l),u.sort(kt),n=nt;n--;)u[n].rank=n;for(n=nt;n--;)l[n].rank>=s&&l.splice(n,1);nt=l.length}for(n=0;n<nt;n++){for(u=l[n],r=u.labelPos,u=9999,ot=0;ot<s;ot++)vt=g(b[ot]-r[1]),vt<u&&(u=vt,h=ot);if(h<n&&b[n]!==null)h=n;else for(s<nt-n+h&&b[n]!==null&&(h=s-nt+n);b[h]===null;)h++;at.push({i:h,y:b[h]});b[h]=null}at.sort(kt)}for(n=0;n<nt;n++)u=l[n],r=u.labelPos,v=u.dataLabel,et=u.visible===!1?"hidden":"inherit",u=r[1],tt>0?(s=at.pop(),h=s.i,o=s.y,u>o&&b[h+1]!==null||u<o&&b[h-1]!==null)&&(o=c(f(0,u),st.plotHeight)):o=u,y=d.justify?lt[0]+(ut?-1:1)*(ft+tt):a.getX(o===ht-ft-tt||o===ht+ft+tt?u:o,ut),v._attr={visibility:et,align:r[6]},v._pos={x:y+d.x+({left:rt,right:-rt}[r[6]]||0),y:o+d.y-10},v.connX=y,v.connY=o,this.options.size===null&&(s=v.width,y-s<rt?p[3]=f(e(s-y+rt),p[3]):y+s>pt-rt&&(p[1]=f(e(y+s-pt+rt),p[1])),o-k/2<0?p[0]=f(e(-o+k/2),p[0]):o+k/2>wt&&(p[2]=f(e(o+k/2-wt),p[2])))}}(di(p)===0||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),gt&&yt&&i(this.points,function(n){it=n.connector;r=n.labelPos;(v=n.dataLabel)&&v._pos&&n.visible?(et=v._attr.visibility,y=v.connX,o=v.connY,ct=dt?["M",y+(r[6]==="left"?5:-5),o,"C",y,o,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],"L",r[4],r[5]]:["M",y+(r[6]==="left"?5:-5),o,"L",r[2],r[3],"L",r[4],r[5]],it?(it.animate({d:ct}),it.attr("visibility",et)):n.connector=it=a.chart.renderer.path(ct).attr({"stroke-width":yt,stroke:d.connectorColor||n.color||"#606060",visibility:et}).add(a.dataLabelsGroup)):it&&(n.connector=it.destroy())}))}},y.pie.prototype.placeDataLabels=function(){i(this.points,function(n){var t=n.dataLabel;t&&n.visible&&((n=t._pos)?(t.attr(t._attr),t[t.moved?"animate":"attr"](n),t.moved=!0):t&&t.attr({y:-9999}))})},y.pie.prototype.alignDataLabel=gt,y.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,u=this.options,o=u.center,e=u.minSize||80,r=e,s;return o[0]!==null?r=f(t[2]-f(n[1],n[3]),e):(r=f(t[2]-n[1]-n[3],e),t[0]+=(n[3]-n[1])/2),o[1]!==null?r=f(c(r,t[2]-f(n[0],n[2])),e):(r=f(c(r,t[2]-n[0]-n[2]),e),t[1]+=(n[0]-n[2])/2),r<t[2]?(t[2]=r,t[3]=Math.min(/%$/.test(u.innerSize||0)?r*parseFloat(u.innerSize||0)/100:parseFloat(u.innerSize||0),r),this.translate(t),i(this.points,function(n){n.dataLabel&&(n.dataLabel._pos=null)}),this.drawDataLabels&&this.drawDataLabels()):s=!0,s});y.column&&(y.column.prototype.alignDataLabel=function(n,i,r,u,f){var o=this.chart.inverted,h=n.series,e=n.dlBox||n.shapeArgs,c=t(n.below,n.plotY>t(this.translatedThreshold,h.yAxis.len)),l=t(r.inside,!!this.options.stacking);e&&(u=s(e),u.y<0&&(u.height+=u.y,u.y=0),e=u.y+u.height-h.yAxis.len,e>0&&(u.height-=e),o&&(u={x:h.yAxis.len-u.y-u.height,y:h.xAxis.len-u.x-u.width,width:u.height,height:u.width}),l||(o?(u.x+=c?0:u.width,u.width=0):(u.y+=c?u.height:0,u.height=0)));r.align=t(r.align,!o||l?"center":c?"right":"left");r.verticalAlign=t(r.verticalAlign,o||l?"middle":c?"top":"bottom");w.prototype.alignDataLabel.call(this,n,i,r,u,f)}),function(n){var i=n.Chart,t=n.each,r=n.pick,u=n.addEvent;i.prototype.callbacks.push(function(n){function i(){var i=[];t(n.series,function(n){var u=n.options.dataLabels,f=n.dataLabelCollections||["dataLabel"];(u.enabled||n._hasPointLabels)&&!u.allowOverlap&&n.visible&&t(f,function(u){t(n.points,function(n){n[u]&&(n[u].labelrank=r(n.labelrank,n.shapeArgs&&n.shapeArgs.height),i.push(n[u]))})})});n.hideOverlappingLabels(i)}i();u(n,"redraw",i)});i.prototype.hideOverlappingLabels=function(n){for(var h=n.length,f,i,u,e,o,s,r=0;r<h;r++)(f=n[r])&&(f.oldOpacity=f.opacity,f.newOpacity=1);for(n.sort(function(n,t){return(t.labelrank||0)-(n.labelrank||0)}),r=0;r<h;r++)for(i=n[r],f=r+1;f<h;++f)(u=n[f],i&&u&&i.placed&&u.placed&&i.newOpacity!==0&&u.newOpacity!==0&&(e=i.alignAttr,o=u.alignAttr,s=2*(i.box?0:i.padding),e=!(o.x>e.x+(i.width-s)||o.x+(u.width-s)<e.x||o.y>e.y+(i.height-s)||o.y+(u.height-s)<e.y)))&&((i.labelrank<u.labelrank?i:u).newOpacity=0);t(n,function(n){var i,t;n&&(t=n.newOpacity,n.oldOpacity!==t&&n.placed&&(t?n.show(!0):i=function(){n.hide()},n.alignAttr.opacity=t,n[n.isOld?"animate":"attr"](n.alignAttr,null,i)),n.isOld=!0)})}}(h);uu=h.TrackerMixin={drawTrackerPoint:function(){var n=this,t=n.chart,e=t.pointer,r=n.options.cursor,o=r&&{cursor:r},f=function(n){for(var r=n.target,i;r&&!i;)i=r.point,r=r.parentNode;if(i!==u&&i!==t.hoverPoint)i.onMouseOver(n)};i(n.points,function(n){n.graphic&&(n.graphic.element.point=n);n.dataLabel&&(n.dataLabel.element.point=n)});n._hasTracking||(i(n.trackerGroups,function(t){if(n[t]&&(n[t].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),iu))n[t].on("touchstart",f)}),n._hasTracking=!0)},drawTrackerGraph:function(){var t=this,h=t.options,o=h.trackByArea,r=[].concat(o?t.areaPath:t.graphPath),u=r.length,s=t.chart,v=s.pointer,y=s.renderer,f=s.options.tooltip.snap,c=t.tracker,e=h.cursor,p=e&&{cursor:e},e=t.singlePoints,n,l=function(){s.hoverSeries!==t&&t.onMouseOver()},a="rgba(192,192,192,"+(bt?.0001:.002)+")";if(u&&!o)for(n=u+1;n--;)r[n]==="M"&&r.splice(n+1,0,r[n+1]-f,r[n+2],"L"),(n&&r[n]==="M"||n===u)&&r.splice(n,0,"L",r[n-2]+f,r[n-1]);for(n=0;n<e.length;n++)u=e[n],r.push("M",u.plotX-f,u.plotY,"L",u.plotX+f,u.plotY);c?c.attr({d:r}):(t.tracker=y.path(r).attr({"stroke-linejoin":"round",visibility:t.visible?"visible":"hidden",stroke:a,fill:o?a:"none","stroke-width":h.lineWidth+(o?0:2*f),zIndex:2}).add(t.group),i([t.tracker,t.markerGroup],function(n){if(n.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(n){v.onTrackerMouseOut(n)}).css(p),iu)n.on("touchstart",l)}))}};y.column&&(bi.prototype.drawTracker=uu.drawTrackerPoint);y.pie&&(y.pie.prototype.drawTracker=uu.drawTrackerPoint);y.scatter&&(li.prototype.drawTracker=uu.drawTrackerPoint);o(au.prototype,{setItemEvents:function(n,t,i,r,u){var f=this;(i?t:n.legendGroup).on("mouseover",function(){n.setState("hover");t.css(f.options.itemHoverStyle)}).on("mouseout",function(){t.css(n.visible?r:u);n.setState()}).on("click",function(t){var i=function(){n.setVisible&&n.setVisible()},t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,i):d(n,"legendItemClick",t,i)})},createCheckboxForItem:function(n){n.checkbox=lt("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container);a(n.checkbox,"click",function(t){d(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}});nt.legend.itemStyle.cursor="pointer";o(ci.prototype,{showResetZoom:function(){var t=this,i=nt.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,f=n.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=t.renderer.button(i.resetZoom,null,null,function(){t.zoomOut()},r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).add().align(n.position,!1,f)},zoomOut:function(){var n=this;d(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(n){var u,e=this.pointer,f=!1,r;!n||n.resetSelection?i(this.axes,function(n){u=n.zoom()}):i(n.xAxis.concat(n.yAxis),function(n){var t=n.axis,i=t.isXAxis;(e[i?"zoomX":"zoomY"]||e[i?"pinchX":"pinchY"])&&(u=t.zoom(n.min,n.max),t.displayBtn&&(f=!0))});r=this.resetZoomButton;f&&!r?this.showResetZoom():!f&&yt(r)&&(this.resetZoomButton=r.destroy());u&&this.redraw(t(this.options.chart.animation,n&&n.animation,this.pointCount<100))},pan:function(n,t){var r=this,u=r.hoverPoints,e;u&&i(u,function(n){n.setState()});i(t==="xy"?[1,0]:[1],function(t){var s=n[t?"chartX":"chartY"],i=r[t?"xAxis":"yAxis"][0],u=r[t?"mouseDownX":"mouseDownY"],o=(i.pointRange||0)/2,h=i.getExtremes(),l=i.toValue(u-s,!0)+o,o=i.toValue(u+r[t?"plotWidth":"plotHeight"]-s,!0)-o,u=u>s;i.series.length&&(u||l>c(h.dataMin,h.min))&&(!u||o<f(h.dataMax,h.max))&&(i.setExtremes(l,o,!1,!1,{trigger:"pan"}),e=!0);r[t?"mouseDownX":"mouseDownY"]=s});e&&r.redraw(!1);b(r.container,{cursor:"move"})}});o(wi.prototype,{select:function(n,r){var u=this,f=u.series,e=f.chart,n=t(n,!u.selected);u.firePointEvent(n?"select":"unselect",{accumulate:r},function(){u.selected=u.options.selected=n;f.options.data[si(u,f.data)]=u.options;u.setState(n&&"select");r||i(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=n.options.selected=!1,f.options.data[si(n,f.data)]=n.options,n.setState(""),n.firePointEvent("unselect"))})})},onMouseOver:function(n,t){var i=this.series,r=i.chart,u=r.tooltip,f=r.hoverPoint;r.hoverSeries!==i&&i.onMouseOver();f&&f!==this&&f.onMouseOut();this.series&&(this.firePointEvent("mouseOver"),u&&(!u.shared||i.noSharedTooltip)&&u.refresh(this,n),this.setState("hover"),!t)&&(r.hoverPoint=this)},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;this.firePointEvent("mouseOut");t&&si(this,t)!==-1||(this.setState(),n.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var n=s(this.series.options.point,this.options).events,t;this.events=n;for(t in n)a(this,t,n[t]);this.hasImportedEvents=!0}},setState:function(n,t){var f=ut(this.plotX),a=this.plotY,u=this.series,v=u.options.states,i=rt[u.type].marker&&u.options.marker,p=i&&!i.enabled,h=i&&i.states[n],w=h&&h.enabled===!1,r=u.stateMarkerGraphic,e=this.marker||{},c=u.chart,l=u.halo,y,n=n||"";y=this.pointAttr[n]||u.pointAttr[n];n===this.state&&!t||this.selected&&n!=="select"||v[n]&&v[n].enabled===!1||n&&(w||p&&h.enabled===!1)||n&&e.states&&e.states[n]&&e.states[n].enabled===!1||(this.graphic?(i=i&&this.graphic.symbolName&&y.r,this.graphic.attr(s(y,i?{x:f-i,y:a-i,width:2*i,height:2*i}:{})),r&&r.hide()):(n&&h&&((i=h.radius,e=e.symbol||u.symbol,r&&r.currentSymbol!==e&&(r=r.destroy()),r)?r[t?"animate":"attr"]({x:f-i,y:a-i}):e&&(u.stateMarkerGraphic=r=c.renderer.symbol(e,f-i,a-i,2*i,2*i).attr(y).add(u.markerGroup),r.currentSymbol=e)),r&&(r[n&&c.isInsidePlot(f,a,c.inverted)?"show":"hide"](),r.element.point=this)),(f=v[n]&&v[n].halo)&&f.size?(l||(u.halo=l=c.renderer.path().add(c.seriesGroup)),l.attr(o({fill:this.color||u.color,"fill-opacity":f.opacity},f.attributes))[t?"animate":"attr"]({d:this.haloPath(f.size)})):l&&l.attr({d:[]}),this.state=n)},haloPath:function(n){var t=this.series,i=t.chart,r=t.getPlotBox(),u=i.inverted,f=Math.floor(this.plotX);return i.renderer.symbols.circle(r.translateX+(u?t.yAxis.len-this.plotY:f)-n,r.translateY+(u?t.xAxis.len-f:this.plotY)-n,n*2,n*2)}});o(w.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut();this.options.events.mouseOver&&d(this,"mouseOver");this.setState("hover");t.hoverSeries=this},onMouseOut:function(){var i=this.options,n=this.chart,t=n.tooltip,r=n.hoverPoint;n.hoverSeries=null;r&&r.onMouseOut();this&&i.events.mouseOut&&d(this,"mouseOut");t&&!i.stickyTracking&&(!t.shared||this.noSharedTooltip)&&t.hide();this.setState()},setState:function(n){var t=this.options,r=this.graph,i=t.states,u=t.lineWidth,t=0,n=n||"";if(this.state!==n&&(this.state=n,!(i[n]&&i[n].enabled===!1)&&(n&&(u=i[n].lineWidth||u+(i[n].lineWidthPlus||0)),r&&!r.dashstyle)))for(n={"stroke-width":u},r.attr(n);this["zoneGraph"+t];)this["zoneGraph"+t].attr(n),t+=1},setVisible:function(n,t){var r=this,f=r.chart,o=r.legendItem,e,s=f.options.chart.ignoreHiddenSeries,h=r.visible;e=(r.visible=n=r.userOptions.visible=n===u?!h:n)?"show":"hide";i(["group","dataLabelsGroup","markerGroup","tracker"],function(n){r[n]&&r[n][e]()});(f.hoverSeries===r||(f.hoverPoint&&f.hoverPoint.series)===r)&&r.onMouseOut();o&&f.legend.colorizeItem(r,n);r.isDirty=!0;r.options.stacking&&i(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});i(r.linkedSeries,function(t){t.setVisible(n,!1)});s&&(f.isDirtyBox=!0);t!==!1&&f.redraw();d(r,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===u?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);d(this,n?"select":"unselect")},drawTracker:uu.drawTrackerGraph});tt(w.prototype,"init",function(n){var t;n.apply(this,Array.prototype.slice.call(arguments,1));(t=this.xAxis)&&t.options.ordinal&&a(this,"updatedData",function(){delete t.ordinalIndex})});tt(p.prototype,"getTimeTicks",function(n,t,i,f,e,o,s,h){var l=0,c,y,w={},v,b,d,a=[],g=-Number.MAX_VALUE,nt=this.options.tickPixelInterval,p;if(!this.options.ordinal&&!this.options.breaks||!o||o.length<3||i===u)return n.call(this,t,i,f,e);for(b=o.length,c=0;c<b;c++){if(d=c&&o[c-1]>f,o[c]<i&&(l=c),c===b-1||o[c+1]-o[c]>s*5||d){if(o[c]>g){for(y=n.call(this,t,o[l],o[c],e);y.length&&y[0]<=g;)y.shift();y.length&&(g=y[y.length-1]);a=a.concat(y)}l=c+1}if(d)break}if(n=y.info,h&&n.unitRange<=k.hour){for(c=a.length-1,l=1;l<c;l++)dt("%d",a[l])!==dt("%d",a[l-1])&&(w[a[l]]="day",v=!0);v&&(w[a[0]]="day");n.higherRanks=w}if(a.info=n,h&&r(nt)){for(h=n=a.length,c=[],v=[];h--;)l=this.translate(a[h]),p&&(v[h]=p-l),c[h]=p=l;for(v.sort(),v=v[ut(v.length/2)],v<nt*.6&&(v=null),h=a[n-1]>f?n-1:n,p=void 0;h--;)l=c[h],f=p-l,p&&f<nt*.8&&(v===null||f<v*.8)?(w[a[h]]&&!w[a[h+1]]?(f=h+1,p=l):f=h,a.splice(f,1)):p=l}return a});o(p.prototype,{beforeSetTickPositions:function(){var r,n=[],o=!1,t,h=this.getExtremes(),l=h.min,s=h.max,e,a=this.isXAxis&&!!this.options.breaks;if((h=this.options.ordinal)||a){if(i(this.series,function(t,i){if(t.visible!==!1&&(t.takeOrdinalPosition!==!1||a)&&(n=n.concat(t.processedXData),r=n.length,n.sort(function(n,t){return n-t}),r))for(i=r-1;i--;)n[i]===n[i+1]&&n.splice(i,1)}),r=n.length,r>2){for(t=n[1]-n[0],e=r-1;e--&&!o;)n[e+1]-n[e]!==t&&(o=!0);!this.options.keepOrdinalPadding&&(n[0]-l>t||s-n[n.length-1]>t)&&(o=!0)}o?(this.ordinalPositions=n,t=this.val2lin(f(l,n[0]),!0),e=f(this.val2lin(c(s,n[n.length-1]),!0),1),this.ordinalSlope=s=(s-l)/(e-t),this.ordinalOffset=l-t*s):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=u}this.doPostTranslate=h&&o||a;this.groupIntervalFactor=null},val2lin:function(n,t){var r=this.ordinalPositions,i,f,u;if(r){for(f=r.length,i=f;i--;)if(r[i]===n){u=i;break}for(i=f-1;i--;)if(n>r[i]||i===0){r=(n-r[i])/(r[i+1]-r[i]);u=i+r;break}i=t?u:this.ordinalSlope*(u||0)+this.ordinalOffset}else i=n;return i},lin2val:function(n,t){var i=this.ordinalPositions;if(i){var e=this.ordinalSlope,s=this.ordinalOffset,r=i.length-1,o,f;if(t)n<0?n=i[0]:n>r?n=i[r]:(r=ut(n),f=n-r);else for(;r--;)if(o=e*r+s,n>=o){e=e*(r+1)+s;f=(n-o)/(e-o);break}i=f!==u&&i[r]!==u?i[r]+(f?f*(i[r+1]-i[r]):0):n}else i=n;return i},getExtendedPositions:function(){var o=this.chart,n=this.series[0].currentDataGrouping,t=this.ordinalIndex,f=n?n.count+n.unitName:"raw",e=this.getExtremes(),r,u;return t||(t=this.ordinalIndex={}),t[f]||(r={series:[],getExtremes:function(){return{min:e.dataMin,max:e.dataMax}},options:{ordinal:!0},val2lin:p.prototype.val2lin},i(this.series,function(t){u={xAxis:r,xData:t.xData,chart:o,destroyGroupedData:gt};u.options={dataGrouping:n?{enabled:!0,forced:!0,approximation:"open",units:[[n.unitName,[n.count]]]}:{enabled:!1}};t.processData.apply(u);r.series.push(u)}),this.beforeSetTickPositions.apply(r),t[f]=r.ordinalPositions),t[f]},getGroupIntervalFactor:function(n,t,i){var r,i=i.processedXData,e=i.length,u=[];if(r=this.groupIntervalFactor,!r){for(r=0;r<e-1;r++)u[r]=i[r+1]-i[r];u.sort(function(n,t){return n-t});u=u[ut(e/2)];n=f(n,i[0]);t=c(t,i[e-1]);this.groupIntervalFactor=r=e*u/(t-n)}return r},postProcessTickInterval:function(n){var t=this.ordinalSlope;return t?this.options.breaks?this.closestPointRange:n/(t/this.closestPointRange):n}});tt(ci.prototype,"pan",function(n,t){var r=this.xAxis[0],w=t.chartX,a=!1;if(r.options.ordinal&&r.series.length){var u=this.mouseDownX,h=r.getExtremes(),v=h.dataMax,y=h.min,p=h.max,o=this.hoverPoints,l=r.closestPointRange,u=(u-w)/(r.translationSlope*(r.ordinalSlope||l)),e={ordinalPositions:r.getExtendedPositions()},l=r.lin2val,k=r.val2lin,s;e.ordinalPositions?g(u)>1&&(o&&i(o,function(n){n.setState()}),u<0?(o=e,s=r.ordinalPositions?r:e):(o=r.ordinalPositions?r:e,s=e),e=s.ordinalPositions,v>e[e.length-1]&&e.push(v),this.fixedRange=p-y,u=r.toFixedRange(null,null,l.apply(o,[k.apply(o,[y,!0])+u,!0]),l.apply(s,[k.apply(s,[p,!0])+u,!0])),u.min>=c(h.dataMin,y)&&u.max<=f(v,p)&&r.setExtremes(u.min,u.max,!0,!1,{trigger:"pan"}),this.mouseDownX=w,b(this.container,{cursor:"move"})):a=!0}else a=!0;a&&n.apply(this,Array.prototype.slice.call(arguments,1))});tt(w.prototype,"getSegments",function(n){var t,u=this.options.gapSize,r=this.xAxis;n.apply(this,Array.prototype.slice.call(arguments,1));u&&(t=this.segments,i(t,function(n,i){for(var f=n.length-1;f--;)if(n[f].x<r.min&&n[f+1].x>r.max){t.length=0;break}else n[f+1].x-n[f].x>r.closestPointRange*u&&t.splice(i+1,0,n.splice(f+1,n.length-f))}))}),function(n){n(h)}(function(n){function o(){return Array.prototype.slice.call(arguments,1)}function f(n){n.apply(this);this.drawBreaks()}var r=n.pick,t=n.wrap,u=n.each,s=n.extend,e=n.fireEvent,i=n.Axis,h=n.Series;s(i.prototype,{isInBreak:function(n,t){var i=n.repeat||Infinity,r=n.from,u=n.to-n.from,i=t>=r?(t-r)%i:i-(r-t)%i;return n.inclusive?i<=u:i<u&&i!==0},isInAnyBreak:function(n,t){var i=this.options.breaks,u=i&&i.length,f,e,o;if(u){for(;u--;)this.isInBreak(i[u],n)&&(f=!0,e||(e=r(i[u].showPoints,this.isXAxis?!1:!0)));o=f&&t?f&&!e:f}return o}});t(i.prototype,"setTickPositions",function(n){if(n.apply(this,Array.prototype.slice.call(arguments,1)),this.options.breaks){for(var i=this.tickPositions,u=this.tickPositions.info,r=[],t=0;t<i.length;t++)this.isInAnyBreak(i[t])||r.push(i[t]);this.tickPositions=r;this.tickPositions.info=u}});t(i.prototype,"init",function(n,t,r){if(r.breaks&&r.breaks.length&&(r.ordinal=!1),n.call(this,t,r),this.options.breaks){var u=this;u.doPostTranslate=!0;this.val2lin=function(n){for(var r=n,t,i=0;i<u.breakArray.length;i++)if(t=u.breakArray[i],t.to<=n)r-=t.len;else if(t.from>=n)break;else if(u.isInBreak(t,n)){r-=n-t.from;break}return r};this.lin2val=function(n){for(var t,i=0;i<u.breakArray.length;i++)if(t=u.breakArray[i],t.from>=n)break;else t.to<n?n+=t.len:u.isInBreak(t,n)&&(n+=t.len);return n};this.setExtremes=function(n,t,r,u,f){for(;this.isInAnyBreak(n);)n-=this.closestPointRange;for(;this.isInAnyBreak(t);)t-=this.closestPointRange;i.prototype.setExtremes.call(this,n,t,r,u,f)};this.setAxisTranslation=function(n){i.prototype.setAxisTranslation.call(this,n);var o=u.options.breaks,n=[],l=[],a=0,f,t,s=u.userMin||u.min,h=u.userMax||u.max,r,c;for(c in o)t=o[c],f=t.repeat||Infinity,u.isInBreak(t,s)&&(s+=t.to%f-s%f),u.isInBreak(t,h)&&(h-=h%f-t.from%f);for(c in o){for(t=o[c],r=t.from,f=t.repeat||Infinity;r-f>s;)r-=f;for(;r<s;)r+=f;for(;r<h;r+=f)n.push({value:r,move:"in"}),n.push({value:r+(t.to-t.from),move:"out",size:t.breakSize})}n.sort(function(n,t){return n.value===t.value?(n.move==="in"?0:1)-(t.move==="in"?0:1):n.value-t.value});o=0;r=s;for(c in n)t=n[c],o+=t.move==="in"?1:-1,o===1&&t.move==="in"&&(r=t.value),o===0&&(l.push({from:r,to:t.value,len:t.value-r-(t.size||0)}),a+=t.value-r-(t.size||0));u.breakArray=l;e(u,"afterBreaks");u.transA*=(h-u.min)/(h-s-a);u.min=s;u.max=h}}});t(h.prototype,"generatePoints",function(n){n.apply(this,o(arguments));var r=this.xAxis,u=this.yAxis,f=this.points,i,t=f.length,s=this.options.connectNulls,e;if(r&&u&&(r.options.breaks||u.options.breaks))for(;t--;)(i=f[t],e=i.y===null&&s===!1,!e&&(r.isInAnyBreak(i.x,!0)||u.isInAnyBreak(i.y,!0)))&&(f.splice(t,1),this.data[t]&&this.data[t].destroyElements())});n.Series.prototype.drawBreaks=function(){var o=this,h=o.points,t,s,i,f,n;u(["y","x"],function(c){t=o[c+"Axis"];s=t.breakArray||[];i=t.isXAxis?t.min:r(o.options.threshold,t.min);u(h,function(o){n=r(o["stack"+c.toUpperCase()],o[c]);u(s,function(r){f=!1;i<r.from&&n>r.to||i>r.from&&n<r.from?f="pointBreak":(i<r.from&&n>r.from&&n<r.to||i>r.from&&n>r.to&&n<r.from)&&(f="pointInBreak");f&&e(t,f,{point:o,brk:r})})})})};t(n.seriesTypes.column.prototype,"drawPoints",f);t(n.Series.prototype,"drawPoints",f)});var pt=w.prototype,ve=pt.processData,ye=pt.generatePoints,pe=pt.destroy,we={approximation:"average",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","%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"]}},se={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},he=[["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]],yr={sum:function(n){var t=n.length,i;if(!t&&n.hasNulls)i=null;else if(t)for(i=0;t--;)i+=n[t];return i},average:function(n){var t=n.length,n=yr.sum(n);return typeof n=="number"&&t&&(n/=t),n},open:function(n){return n.length?n[0]:n.hasNulls?null:u},high:function(n){return n.length?di(n):n.hasNulls?null:u},low:function(n){return n.length?or(n):n.hasNulls?null:u},close:function(n){return n.length?n[n.length-1]:n.hasNulls?null:u},ohlc:function(n,t,i,r){return n=yr.open(n),t=yr.high(t),i=yr.low(i),r=yr.close(r),typeof n=="number"||typeof t=="number"||typeof i=="number"||typeof r=="number"?[n,t,i,r]:void 0},range:function(n,t){return n=yr.low(n),t=yr.high(t),typeof n=="number"||typeof t=="number"?[n,t]:void 0}};pt.groupData=function(n,t,i,r){for(var a=this.data,p=this.options.data,v=[],y=[],h=n.length,e,o,w=!!t,s=[[],[],[],[]],r=typeof r=="function"?r:yr[r],c=this.pointArrayMap,b=c&&c.length,l,f=0;f<=h;f++)if(n[f]>=i[0])break;for(;f<=h;f++){for(;i[1]!==u&&n[f]>=i[1]||f===h;)if(e=i.shift(),o=r.apply(0,s),o!==u&&(v.push(e),y.push(o)),s[0]=[],s[1]=[],s[2]=[],s[3]=[],f===h)break;if(f===h)break;if(c)for(e=this.cropStart+f,e=a&&a[e]||this.pointClass.prototype.applyOptions.apply({series:this},[p[e]]),o=0;o<b;o++)(l=e[c[o]],typeof l=="number")?s[o].push(l):l===null&&(s[o].hasNulls=!0);else(e=w?t[f]:null,typeof e=="number")?s[0].push(e):e===null&&(s[0].hasNulls=!0)}return[v,y]};pt.processData=function(){var n=this.chart,u=this.options.dataGrouping,f=this.allowDG!==!1&&u&&t(u.enabled,n.options._stock),l;if(this.forceCrop=f,this.groupPixelWidth=null,this.hasProcessed=!0,ve.apply(this,arguments)!==!1&&f){this.destroyGroupedData();var i=this.processedXData,o=this.processedYData,h=n.plotSizeX,n=this.xAxis,c=n.options.ordinal,s=this.groupPixelWidth=n.getGroupPixelWidth&&n.getGroupPixelWidth();if(s){l=!0;this.points=null;var e=n.getExtremes(),f=e.min,e=e.max,c=c&&n.getGroupIntervalFactor(f,e,this)||1,h=s*(e-f)/h*c,s=n.getTimeTicks(n.normalizeTimeTickInterval(h,u.units||he),f,e,n.options.startOfWeek,i,this.closestPointRange),o=pt.groupData.apply(this,[i,o,s,u.approximation]),i=o[0],o=o[1];if(u.smoothed){for(u=i.length-1,i[u]=Math.min(i[u],e);u--&&u>0;)i[u]+=h/2;i[0]=Math.max(i[0],f)}this.currentDataGrouping=s.info;this.closestPointRange=s.info.totalRange;r(i[0])&&i[0]<n.dataMin&&(n.min===n.dataMin&&(n.min=i[0]),n.dataMin=i[0]);this.processedXData=i;this.processedYData=o}else this.currentDataGrouping=null;this.hasGroupedData=l}};pt.destroyGroupedData=function(){var n=this.groupedData;i(n||[],function(t,i){t&&(n[i]=t.destroy?t.destroy():null)});this.groupedData=null};pt.generatePoints=function(){ye.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};tt(tf.prototype,"tooltipFooterHeaderFormatter",function(n,t,i){var f=t.series,s=f.tooltipOptions,e=f.options.dataGrouping,r=s.xDateFormat,h,u=f.xAxis;return u&&u.options.type==="datetime"&&e&&fi(t.key)?(n=f.currentDataGrouping,e=e.dateTimeLabelFormats,n?(u=e[n.unitName],n.count===1?r=u[0]:(r=u[1],h=u[2])):!r&&e&&(r=this.getXDateFormat(t,s,u)),r=dt(r,t.key),h&&(r+=dt(h,t.key+n.totalRange-1)),tr(s[(i?"footer":"header")+"Format"],{point:o(t,{key:r}),series:f})):n.call(this,t,i)});pt.destroy=function(){for(var n=this.groupedData||[],t=n.length;t--;)n[t]&&n[t].destroy();pe.apply(this)};tt(pt,"setOptions",function(n,t){var f=n.call(this,t),i=this.type,r=this.chart.options.plotOptions,u=rt[i].dataGrouping;return se[i]&&(u||(u=s(we,se[i])),f.dataGrouping=s(u,r.series&&r.series.dataGrouping,r[i].dataGrouping,t.dataGrouping)),this.chart.options._stock&&(this.requireSorting=!0),f});tt(p.prototype,"setScale",function(n){n.call(this);i(this.series,function(n){n.hasProcessed=!1})});p.prototype.getGroupPixelWidth=function(){for(var t=this.series,i=t.length,r=0,e=!1,u,n=i;n--;)(u=t[n].options.dataGrouping)&&(r=f(r,u.groupPixelWidth));for(n=i;n--;)(u=t[n].options.dataGrouping)&&t[n].hasProcessed&&(i=(t[n].processedXData||t[n].data).length,t[n].groupPixelWidth||i>this.chart.plotSizeX/r||i&&u.forced)&&(e=!0);return e?r:0};p.prototype.setDataGrouping=function(n,r){var u,r=t(r,!0);if(n||(n={forced:!1,units:null}),this instanceof p)for(u=this.series.length;u--;)this.series[u].update({dataGrouping:n},!1);else i(this.chart.options.series,function(t){t.dataGrouping=n},!1);r&&this.chart.redraw()};rt.ohlc=s(rt.column,{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">●<\/span> <b> {series.name}<\/b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},states:{hover:{lineWidth:3}},threshold:null});ht=kt(y.column,{type:"ohlc",pointArrayMap:["open","high","low","close"],toYData:function(n){return[n.open,n.high,n.low,n.close]},pointValKey:"high",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},upColorProp:"stroke",getAttribs:function(){y.column.prototype.getAttribs.apply(this,arguments);var n=this.options,u=n.states,n=n.upColor||this.color,t=s(this.pointAttr),r=this.upColorProp;t[""][r]=n;t.hover[r]=u.hover.upColor||n;t.select[r]=u.select.upColor||n;i(this.points,function(n){n.open<n.close&&!n.options.color&&(n.pointAttr=t)})},translate:function(){var n=this.yAxis;y.column.prototype.translate.apply(this);i(this.points,function(t){t.open!==null&&(t.plotOpen=n.translate(t.open,0,1,0,1));t.close!==null&&(t.plotClose=n.translate(t.close,0,1,0,1))})},drawPoints:function(){var r=this,a=r.chart,f,s,h,o,c,t,l,n;i(r.points,function(i){i.plotY!==u&&(l=i.graphic,f=i.pointAttr[i.selected?"selected":""]||r.pointAttr[""],o=f["stroke-width"]%2/2,n=e(i.plotX)-o,c=e(i.shapeArgs.width/2),t=["M",n,e(i.yBottom),"L",n,e(i.plotY)],i.open!==null&&(s=e(i.plotOpen)+o,t.push("M",n,s,"L",n-c,s)),i.close!==null&&(h=e(i.plotClose)+o,t.push("M",n,h,"L",n+c,h)),l?l.attr(f).animate({d:t}):i.graphic=a.renderer.path(t).attr(f).add(r.group))})},animate:null});y.ohlc=ht;rt.candlestick=s(rt.column,{lineColor:"black",lineWidth:1,states:{hover:{lineWidth:2}},tooltip:rt.ohlc.tooltip,threshold:null,upColor:"white"});ht=kt(ht,{type:"candlestick",pointAttrToOptions:{fill:"color",stroke:"lineColor","stroke-width":"lineWidth"},upColorProp:"fill",getAttribs:function(){y.ohlc.prototype.getAttribs.apply(this,arguments);var t=this.options,r=t.states,n=t.upLineColor||t.lineColor,u=r.hover.upLineColor||n,f=r.select.upLineColor||n;i(this.points,function(t){t.open<t.close&&(t.lineColor&&(t.pointAttr=s(t.pointAttr),n=t.lineColor),t.pointAttr[""].stroke=n,t.pointAttr.hover.stroke=u,t.pointAttr.select.stroke=f)})},drawPoints:function(){var f=this,w=f.chart,s,b=f.pointAttr[""],c,l,t,r,y,p,h,n,a,v,o;i(f.points,function(i){a=i.graphic;i.plotY!==u&&(s=i.pointAttr[i.selected?"selected":""]||b,h=s["stroke-width"]%2/2,n=e(i.plotX)-h,c=i.plotOpen,l=i.plotClose,t=ot.min(c,l),r=ot.max(c,l),o=e(i.shapeArgs.width/2),y=e(t)!==e(i.plotY),p=r!==i.yBottom,t=e(t)+h,r=e(r)+h,v=["M",n-o,r,"L",n-o,t,"L",n+o,t,"L",n+o,r,"Z","M",n,t,"L",n,y?e(i.plotY):t,"M",n,r,"L",n,p?e(i.yBottom):r],a?a.attr(s).animate({d:v}):i.graphic=w.renderer.path(v).attr(s).add(f.group).shadow(f.options.shadow))})}});y.candlestick=ht;vu=ri.prototype.symbols;rt.flags=s(rt.column,{fillColor:"white",lineWidth:1,pointRange:0,shape:"flag",stackDistance:12,states:{hover:{lineColor:"black",fillColor:"#FCFFC5"}},style:{fontSize:"11px",fontWeight:"bold",textAlign:"center"},tooltip:{pointFormat:"{point.text}<br/>"},threshold:null,y:-30});y.flags=kt(y.column,{type:"flags",sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:w.prototype.init,pointAttrToOptions:{fill:"fillColor",stroke:"color","stroke-width":"lineWidth",r:"radius"},translate:function(){y.column.prototype.translate.apply(this);var a=this.chart,r=this.points,h=r.length-1,n,e,c=this.options.onSeries,c=(n=c&&a.get(c))&&n.options.step,o=n&&n.points,f=o&&o.length,s=this.xAxis,v=s.getExtremes(),t,p,l;if(n&&n.visible&&f)for(n=n.currentDataGrouping,p=o[f-1].x+(n?n.totalRange:0),r.sort(function(n,t){return n.x-t.x});f--&&r[h];)if((n=r[h],t=o[f],t.x<=n.x&&t.plotY!==u)&&(n.x<=p&&(n.plotY=t.plotY,t.x<n.x&&!c&&(l=o[f+1])&&l.plotY!==u&&(n.plotY+=(n.x-t.x)/(l.x-t.x)*(l.plotY-t.plotY))),h--,f++,h<0))break;i(r,function(n,t){var i;n.plotY===u&&(n.x>=v.min&&n.x<=v.max?n.plotY=a.chartHeight-s.bottom-(s.opposite?s.height:0)+s.offset-a.plotTop:n.shapeArgs={});(e=r[t-1])&&e.plotX===n.plotX&&(e.stackIndex===u&&(e.stackIndex=0),i=e.stackIndex+1);n.stackIndex=i})},drawPoints:function(){for(var o,y=this.pointAttr[""],v=this.points,p=this.chart.renderer,f,e,i=this.options,w=i.y,h,n,r,l,a,c=v.length;c--;)(n=v[c],o=n.plotX>this.xAxis.len,f=n.plotX,f>0&&(f-=t(n.lineWidth,i.lineWidth)%2),r=n.stackIndex,h=n.options.shape||i.shape,e=n.plotY,e!==u&&(e=n.plotY+w-(r!==u&&r*i.stackDistance)),l=r?u:n.plotX,a=r?u:n.plotY,r=n.graphic,e!==u&&f>=0&&!o)?(o=n.pointAttr[n.selected?"select":""]||y,r?r.attr({x:f,y:e,r:o.r,anchorX:l,anchorY:a}):n.graphic=p.label(n.options.title||i.title||"A",f,e,h,l,a,i.useHTML).css(s(i.style,n.style)).attr(o).attr({align:h==="flag"?"left":"center",width:i.width,height:i.height}).add(this.markerGroup).shadow(i.shadow),n.tooltipPos=[f,e]):r&&(n.graphic=r.destroy())},drawTracker:function(){var n=this.points;uu.drawTrackerPoint.apply(this);i(n,function(t){var r=t.graphic;r&&a(r.element,"mouseover",function(){t.stackIndex>0&&!t.raised&&(t._y=r.y,r.attr({y:t._y-8}),t.raised=!0);i(n,function(n){n!==t&&n.raised&&n.graphic&&(n.graphic.attr({y:n._y}),n.raised=!1)})})})},animate:gt,buildKDTree:gt,setClip:gt});vu.flag=function(n,t,i,r,u){return["M",u&&u.anchorX||n,u&&u.anchorY||t,"L",n,t+r,n,t,n+i,t,n+i,t+r,n,t+r,"Z"]};i(["circle","square"],function(n){vu[n+"pin"]=function(t,i,r,u,f){var o=f&&f.anchorX,f=f&&f.anchorY;return n==="circle"&&u>r&&(t-=e((u-r)/2),r=u),t=vu[n](t,i,r,u),o&&f&&t.push("M",o,i>f?i:i+u,"L",o,f),t}});kr===h.VMLRenderer&&i(["flag","circlepin","squarepin"],function(n){lu.prototype.symbols[n]=vu[n]});ht=[].concat(he);yu=function(n){var t=lr(arguments,function(n){return typeof n=="number"});if(t.length)return Math[n].apply(0,t)};ht[4]=["day",[1,2,3,4]];ht[5]=["week",[1,2,3]];o(nt,{navigator:{handles:{backgroundColor:"#ebe7e8",borderColor:"#b2b1b6"},height:40,margin:25,maskFill:"rgba(128,179,236,0.3)",maskInside:!0,outlineColor:"#b2b1b6",outlineWidth:1,series:{type:y.areaspline===u?"line":"areaspline",color:"#4572A7",compare:null,fillOpacity:.05,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:ht},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",lineColor:null,lineWidth:1,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{tickWidth:0,lineWidth:0,gridLineColor:"#EEE",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#888"},x:3,y:-4},crosshair:!1},yAxis:{gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickWidth:0}},scrollbar:{height:eu?20:14,barBackgroundColor:"#bfc8d1",barBorderRadius:0,barBorderWidth:1,barBorderColor:"#bfc8d1",buttonArrowColor:"#666",buttonBackgroundColor:"#ebe7e8",buttonBorderColor:"#bbb",buttonBorderRadius:0,buttonBorderWidth:1,minWidth:6,rifleColor:"#666",trackBackgroundColor:"#eeeeee",trackBorderColor:"#eeeeee",trackBorderWidth:1,liveRedraw:bt&&!eu}});ef.prototype={drawHandle:function(n,t){var e=this.chart,f=e.renderer,o=this.elementsToDestroy,r=this.handles,i=this.navigatorOptions.handles,i={fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":1},u;this.rendered||(r[t]=f.g("navigator-handle-"+["left","right"][t]).css({cursor:"ew-resize"}).attr({zIndex:10-t}).add(),u=f.rect(-4.5,0,9,16,0,1).attr(i).add(r[t]),o.push(u),u=f.path(["M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr(i).add(r[t]),o.push(u));r[t][e.isResizing?"animate":"attr"]({translateX:this.scrollerLeft+this.scrollbarHeight+parseInt(n,10),translateY:this.top+this.height/2-8})},drawScrollbarButton:function(n){var f=this.chart.renderer,e=this.elementsToDestroy,r=this.scrollbarButtons,t=this.scrollbarHeight,i=this.scrollbarOptions,u;this.rendered||(r[n]=f.g().add(this.scrollbarGroup),u=f.rect(-.5,-.5,t+1,t+1,i.buttonBorderRadius,i.buttonBorderWidth).attr({stroke:i.buttonBorderColor,"stroke-width":i.buttonBorderWidth,fill:i.buttonBackgroundColor}).add(r[n]),e.push(u),u=f.path(["M",t/2+(n?-1:1),t/2-3,"L",t/2+(n?-1:1),t/2+3,t/2+(n?2:-2),t/2]).attr({fill:i.buttonArrowColor}).add(r[n]),e.push(u));n&&r[n].attr({translateX:this.scrollerWidth-t})},render:function(n,i,u,o){var a=this.chart,k=a.renderer,h,p,ft,tt,nt=this.scrollbarGroup,s=this.navigatorGroup,it=this.scrollbar,s=this.xAxis,ct=this.scrollbarTrack,l=this.scrollbarHeight,lt=this.scrollbarEnabled,d=this.navigatorOptions,v=this.scrollbarOptions,y=v.minWidth,et=this.height,ot=this.top,at=this.navigatorEnabled,vt=d.outlineWidth,w=vt/2,st=0,yt=this.outlineHeight,pt=v.barBorderRadius,ht=v.barBorderWidth,b=ot+w,rt;!r(n)||isNaN(n)||this.hasDragged&&!r(u)||(this.navigatorLeft=h=t(s.left,a.plotLeft+l),this.navigatorWidth=p=t(s.len,a.plotWidth-2*l),this.scrollerLeft=ft=h-l,this.scrollerWidth=tt=tt=p+2*l,s.getExtremes&&(rt=this.getUnionExtremes(!0))&&(rt.dataMin!==s.min||rt.dataMax!==s.max)&&s.setExtremes(rt.dataMin,rt.dataMax,!0,!1),u=t(u,s.translate(n)),o=t(o,s.translate(i)),(isNaN(u)||g(u)===Infinity)&&(u=0,o=tt),s.translate(o,!0)-s.translate(u,!0)<a.xAxis[0].minRange||(this.zoomedMax=c(f(u,o,0),p),this.zoomedMin=f(this.fixedWidth?this.zoomedMax-this.fixedWidth:c(u,o),0),this.range=this.zoomedMax-this.zoomedMin,u=e(this.zoomedMax),i=e(this.zoomedMin),n=u-i,this.rendered||(at&&(this.navigatorGroup=s=k.g("navigator").attr({zIndex:3}).add(),this.leftShade=k.rect().attr({fill:d.maskFill}).add(s),d.maskInside?this.leftShade.css({cursor:"ew-resize"}):this.rightShade=k.rect().attr({fill:d.maskFill}).add(s),this.outline=k.path().attr({"stroke-width":vt,stroke:d.outlineColor}).add(s)),lt&&(this.scrollbarGroup=nt=k.g("scrollbar").add(),it=v.trackBorderWidth,this.scrollbarTrack=ct=k.rect().attr({x:0,y:-it%2/2,fill:v.trackBackgroundColor,stroke:v.trackBorderColor,"stroke-width":it,r:v.trackBorderRadius||0,height:l}).add(nt),this.scrollbar=it=k.rect().attr({y:-ht%2/2,height:l,fill:v.barBackgroundColor,stroke:v.barBorderColor,"stroke-width":ht,r:pt}).add(nt),this.scrollbarRifles=k.path().attr({stroke:v.rifleColor,"stroke-width":1}).add(nt))),a=a.isResizing?"animate":"attr",at&&(this.leftShade[a](d.maskInside?{x:h+i,y:ot,width:u-i,height:et}:{x:h,y:ot,width:i,height:et}),this.rightShade&&this.rightShade[a]({x:h+u,y:ot,width:p-u,height:et}),this.outline[a]({d:["M",ft,b,"L",h+i-w,b,h+i-w,b+yt,"L",h+u-w,b+yt,"L",h+u-w,b,ft+tt,b].concat(d.maskInside?["M",h+i+w,b,"L",h+u-w,b]:[])}),this.drawHandle(i+w,0),this.drawHandle(u+w,1)),lt&&nt&&(this.drawScrollbarButton(0),this.drawScrollbarButton(1),nt[a]({translateX:ft,translateY:e(b+et)}),ct[a]({width:tt}),h=l+i,p=n-ht,p<y&&(st=(y-p)/2,p=y,h-=st),this.scrollbarPad=st,it[a]({x:ut(h)+ht%2/2,width:p}),y=l+i+n/2-.5,this.scrollbarRifles.attr({visibility:n>12?"visible":"hidden"})[a]({d:["M",y-3,l/4,"L",y-3,2*l/3,"M",y,l/4,"L",y,2*l/3,"M",y+3,l/4,"L",y+3,2*l/3]})),this.scrollbarPad=st,this.rendered=!0))},addEvents:function(){var n=this.chart.container,r=this.mouseDownHandler,u=this.mouseMoveHandler,f=this.mouseUpHandler,t;t=[[n,"mousedown",r],[n,"mousemove",u],[l,"mouseup",f]];iu&&t.push([n,"touchstart",r],[n,"touchmove",u],[l,"touchend",f]);i(t,function(n){a.apply(null,n)});this._events=t},removeEvents:function(){i(this._events,function(n){it.apply(null,n)});this._events=u;this.navigatorEnabled&&this.baseSeries&&it(this.baseSeries,"updatedData",this.updatedDataHandler)},init:function(){var n=this,i=n.chart,f,o,l=n.scrollbarHeight,h=n.navigatorOptions,c=n.height,a=n.top,u,e=n.baseSeries,v,y;n.mouseDownHandler=function(t){var t=i.pointer.normalize(t),r=n.zoomedMin,e=n.zoomedMax,l=n.top,y=n.scrollbarHeight,a=n.scrollerLeft,p=n.scrollerWidth,h=n.navigatorLeft,w=n.navigatorWidth,b=n.scrollbarPad,s=n.range,o=t.chartX,v=t.chartY,t=i.xAxis[0],k,d=eu?10:7;v>l&&v<l+c+y&&((l=!n.scrollbarEnabled||v<l+c)&&ot.abs(o-r-h)<d?(n.grabbedLeft=!0,n.otherHandlePos=e,n.fixedExtreme=t.max,i.fixedRange=null):l&&ot.abs(o-e-h)<d?(n.grabbedRight=!0,n.otherHandlePos=r,n.fixedExtreme=t.min,i.fixedRange=null):o>h+r-b&&o<h+e+b?(n.grabbedCenter=o,n.fixedWidth=s,u=o-r):o>a&&o<a+p&&(e=l?o-h-s/2:o<h?r-s*.2:o>a+p-y?r+s*.2:o<h+r?r-s:e,e<0?e=0:e+s>=w&&(e=w-s,k=n.getUnionExtremes().dataMax),e!==r&&(n.fixedWidth=s,r=f.toFixedRange(e,e+s,null,k),t.setExtremes(r.min,r.max,!0,!1,{trigger:"navigator"}))))};n.mouseMoveHandler=function(t){var s=n.scrollbarHeight,e=n.navigatorLeft,h=n.navigatorWidth,c=n.scrollerLeft,l=n.scrollerWidth,o=n.range,r,f;t.touches&&t.touches[0].pageX===0||(t=i.pointer.normalize(t),r=t.chartX,r<e?r=e:r>c+l-s&&(r=c+l-s),n.grabbedLeft?(f=!0,n.render(0,0,r-e,n.otherHandlePos)):n.grabbedRight?(f=!0,n.render(0,0,n.otherHandlePos,r-e)):n.grabbedCenter&&(f=!0,r<u?r=u:r>h+u-o&&(r=h+u-o),n.render(0,0,r-u,r-u+o)),f&&n.scrollbarOptions.liveRedraw&&setTimeout(function(){n.mouseUpHandler(t)},0),n.hasDragged=f)};n.mouseUpHandler=function(t){var e,o;n.hasDragged&&(n.zoomedMin===n.otherHandlePos?e=n.fixedExtreme:n.zoomedMax===n.otherHandlePos&&(o=n.fixedExtreme),n.zoomedMax===n.navigatorWidth&&(o=n.getUnionExtremes().dataMax),e=f.toFixedRange(n.zoomedMin,n.zoomedMax,e,o),r(e.min)&&i.xAxis[0].setExtremes(e.min,e.max,!0,!1,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:t}));t.type!=="mousemove"&&(n.grabbedLeft=n.grabbedRight=n.grabbedCenter=n.fixedWidth=n.fixedExtreme=n.otherHandlePos=n.hasDragged=u=null)};v=i.xAxis.length;y=i.yAxis.length;i.extraBottomMargin=n.outlineHeight+h.margin;n.navigatorEnabled?(n.xAxis=f=new p(i,s({breaks:e&&e.xAxis.options.breaks,ordinal:e&&e.xAxis.options.ordinal},h.xAxis,{id:"navigator-x-axis",isX:!0,type:"datetime",index:v,height:c,offset:0,offsetLeft:l,offsetRight:-l,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),n.yAxis=o=new p(i,s(h.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:c,offset:0,index:y,zoomEnabled:!1})),e||h.series.data?n.addBaseSeries():i.series.length===0&&tt(i,"redraw",function(t,r){i.series.length>0&&!n.series&&(n.setBaseSeries(),i.redraw=t);t.call(i,r)})):n.xAxis=f={translate:function(n,t){var r=i.xAxis[0],f=r.getExtremes(),e=i.plotWidth-2*l,u=yu("min",r.options.min,f.dataMin),r=yu("max",r.options.max,f.dataMax)-u;return t?n*r/e+u:e*(n-u)/r},toFixedRange:p.prototype.toFixedRange};tt(i,"getMargins",function(i){var u=this.legend,r=u.options;i.apply(this,[].slice.call(arguments,1));n.top=a=n.navigatorOptions.top||this.chartHeight-n.height-n.scrollbarHeight-this.spacing[2]-(r.verticalAlign==="bottom"&&r.enabled&&!r.floating?u.legendHeight+t(r.margin,10):0);f&&o&&(f.options.top=o.options.top=a,f.setAxisSize(),o.setAxisSize())});n.addEvents()},getUnionExtremes:function(n){var i=this.chart.xAxis[0],u=this.xAxis,r=u.options,f=i.options,e;return n&&i.dataMin===null||(e={dataMin:t(r&&r.min,yu("min",f.min,i.dataMin,u.dataMin)),dataMax:t(r&&r.max,yu("max",f.max,i.dataMax,u.dataMax))}),e},setBaseSeries:function(n){var t=this.chart,n=n||t.options.navigator.baseSeries;this.series&&this.series.remove();this.baseSeries=t.series[n]||typeof n=="string"&&t.get(n)||t.series[0];this.xAxis&&this.addBaseSeries()},addBaseSeries:function(){var n=this.baseSeries,t=n?n.options:{},u=t.data,r=this.navigatorOptions.series,i;i=r.data;this.hasNavigatorData=!!i;t=s(t,r,{enableMouseTracking:!1,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",name:"Navigator",showInLegend:!1,stacking:!1,isInternal:!0,visible:!0});t.data=i||u;this.series=this.chart.initSeries(t);n&&this.navigatorOptions.adaptToUpdatedData!==!1&&(a(n,"updatedData",this.updatedDataHandler),n.userOptions.events=o(n.userOptions.event,{updatedData:this.updatedDataHandler}))},updatedDataHandler:function(){var r=this.chart.scroller,o=r.baseSeries,s=o.xAxis,n=s.getExtremes(),h=n.min,l=n.max,a=n.dataMin,n=n.dataMax,y=l-h,t,v,u,i,p,e=r.series,w;t=e.xData;w=!!s.setExtremes;v=l>=t[t.length-1]-(this.closestPointRange||0);t=h<=a;r.hasNavigatorData||(e.options.pointStart=o.xData[0],e.setData(o.options.data,!1),p=!0);t&&(i=a,u=i+y);v&&(u=n,t||(i=f(u-y,e.xData[0])));w&&(t||v)?isNaN(i)||s.setExtremes(i,u,!0,!1,{trigger:"updatedData"}):(p&&this.chart.redraw(!1),r.render(f(h,a),c(l,n)))},destroy:function(){this.removeEvents();i([this.xAxis,this.yAxis,this.leftShade,this.rightShade,this.outline,this.scrollbarTrack,this.scrollbarRifles,this.scrollbarGroup,this.scrollbar],function(n){n&&n.destroy&&n.destroy()});this.xAxis=this.yAxis=this.leftShade=this.rightShade=this.outline=this.scrollbarTrack=this.scrollbarRifles=this.scrollbarGroup=this.scrollbar=null;i([this.scrollbarButtons,this.handles,this.elementsToDestroy],function(n){sr(n)})}};h.Scroller=ef;tt(p.prototype,"zoom",function(n,t,i){var f=this.chart,e=f.options,o=e.chart.zoomType,h=e.navigator,e=e.rangeSelector,s;return this.isXAxis&&(h&&h.enabled||e&&e.enabled)&&(o==="x"?f.resetZoomButton="blocked":o==="y"?s=!1:o==="xy"&&(f=this.previousZoom,r(t)?this.previousZoom=[this.min,this.max]:f&&(t=f[0],i=f[1],delete this.previousZoom))),s!==u?s:n.call(this,t,i)});tt(ci.prototype,"init",function(n,t,i){a(this,"beforeRender",function(){var n=this.options;(n.navigator.enabled||n.scrollbar.enabled)&&(this.scroller=new ef(this))});n.call(this,t,i)});tt(w.prototype,"addPoint",function(n,t,i,r,u){var f=this.options.turboThreshold;f&&this.xData.length>f&&yt(t)&&!fr(t)&&this.chart.scroller&&ui(20,!0);n.call(this,t,i,r,u)});o(nt,{rangeSelector:{buttonTheme:{width:28,height:18,fill:"#f7f7f7",padding:2,r:0,"stroke-width":0,style:{color:"#444",cursor:"pointer",fontWeight:"normal"},zIndex:7,states:{hover:{fill:"#e7e7e7"},select:{fill:"#e7f0f9",style:{color:"black",fontWeight:"bold"}}}},height:35,inputPosition:{align:"right"},labelStyle:{color:"#666"}}});nt.lang=s(nt.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});of.prototype={clickButton:function(n,r){var l=this,tt=l.selected,y=l.chart,nt=l.buttons,g=l.buttonOptions[n],s=y.xAxis[0],v=y.scroller&&y.scroller.getUnionExtremes()||s||{},w=v.dataMin,h=v.dataMax,b,o=s&&e(c(s.max,t(h,s.max))),k=g.type,d,v=g._range,it,rt,ut,ft=g.dataGrouping;if(!(w===null||h===null||n===l.selected)){if(y.fixedRange=v,ft&&(this.forcedDataGrouping=!0,p.prototype.setDataGrouping.call(s||{chart:this.chart},ft,!1)),k==="month"||k==="year")s?(k={range:g,max:o,dataMin:w,dataMax:h},b=s.minFromRange.call(k),typeof k.newMax=="number")&&(o=k.newMax):v=g;else if(v)b=f(o-v,w),o=c(b+v,h);else if(k==="ytd")if(s)h===u&&(w=Number.MAX_VALUE,h=Number.MIN_VALUE,i(y.series,function(n){n=n.xData;w=c(n[0],w);h=f(n[n.length-1],h)}),r=!1),o=new vt(h),b=o.getFullYear(),b=it=f(w||0,vt.UTC(b,0,1)),o=o.getTime(),o=c(h||o,o);else{a(y,"beforeRender",function(){l.clickButton(n)});return}else k==="all"&&s&&(b=w,o=h);nt[tt]&&nt[tt].setState(0);nt[n]&&(nt[n].setState(2),l.lastSelected=n);s?(s.setExtremes(b,o,t(r,1),0,{trigger:"rangeSelectorButton",rangeSelectorButton:g}),l.setSelected(n)):(d=y.options.xAxis[0],ut=d.range,d.range=v,rt=d.min,d.min=it,l.setSelected(n),a(y,"load",function(){d.range=ut;d.min=rt}))}},setSelected:function(n){this.selected=this.options.selected=n},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(n){var t=this,r=n.options.rangeSelector,f=r.buttons||[].concat(t.defaultButtons),e=r.selected,o=t.blurInputs=function(){var n=t.minInput,i=t.maxInput;n&&n.blur&&d(n,"blur");i&&i.blur&&d(i,"blur")};t.chart=n;t.options=r;t.buttons=[];n.extraTopMargin=r.height;t.buttonOptions=f;a(n.container,"mousedown",o);a(n,"resize",o);i(f,t.computeButtonRange);e!==u&&f[e]&&this.clickButton(e,!1);a(n,"load",function(){a(n.xAxis[0],"setExtremes",function(i){this.max-this.min!==n.fixedRange&&i.trigger!=="rangeSelectorButton"&&i.trigger!=="updatedData"&&t.forcedDataGrouping&&this.setDataGrouping(!1,!1)});a(n.xAxis[0],"afterSetExtremes",function(){t.updateButtonStates(!0)})})},updateButtonStates:function(n){var r=this,f=this.chart,t=f.xAxis[0],c=f.scroller&&f.scroller.getUnionExtremes()||t,s=c.dataMin,h=c.dataMax,o=r.selected,l=r.options.allButtonsEnabled,u=r.buttons;n&&f.fixedRange!==e(t.max-t.min)&&(u[o]&&u[o].setState(0),r.setSelected(null));i(r.buttonOptions,function(n,i){var v=e(t.max-t.min),c=n._range,a=n.type,y=n.count||1,p=c>h-s,w=c<t.minRange,b=n.type==="all"&&t.max-t.min>=h-s&&u[i].state!==2,k=n.type==="ytd"&&dt("%Y",s)===dt("%Y",h),d=f.renderer.forExport&&i===o,c=c===v,g=!t.hasVisibleSeries;(a==="month"||a==="year")&&v>={month:28,year:365}[a]*864e5*y&&v<={month:31,year:366}[a]*864e5*y&&(c=!0);d||c&&i!==o&&i===r.lastSelected?(r.setSelected(i),u[i].setState(2)):!l&&(p||w||b||k||g)?u[i].setState(3):u[i].state===3&&u[i].setState(0)})},computeButtonRange:function(n){var t=n.type,i=n.count||1,r={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};r[t]?n._range=r[t]*i:(t==="month"||t==="year")&&(n._range={month:30,year:365}[t]*864e5*i)},setInputValue:function(n,t){var i=this.chart.options.rangeSelector;r(t)&&(this[n+"Input"].HCTime=t);this[n+"Input"].value=dt(i.inputEditDateFormat||"%Y-%m-%d",this[n+"Input"].HCTime);this[n+"DateBox"].attr({text:dt(i.inputDateFormat||"%b %e, %Y",this[n+"Input"].HCTime)})},showInput:function(n){var i=this.inputGroup,t=this[n+"DateBox"];b(this[n+"Input"],{left:i.translateX+t.x+"px",top:i.translateY+"px",width:t.width-2+"px",height:t.height-2+"px",border:"2px solid silver"})},hideInput:function(n){b(this[n+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(n)},drawInput:function(n){var t=this,r=t.chart,c=r.renderer.style,l=r.renderer,i=r.options.rangeSelector,y=t.div,f=n==="min",e,a,h=this.inputGroup;this[n+"Label"]=a=l.label(nt.lang[f?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).attr({padding:2}).css(s(c,i.labelStyle)).add(h);h.offset+=a.width+5;this[n+"DateBox"]=l=l.label("",h.offset).attr({padding:2,width:i.inputBoxWidth||90,height:i.inputBoxHeight||17,stroke:i.inputBoxBorderColor||"silver","stroke-width":1}).css(s({textAlign:"center",color:"#444"},c,i.inputStyle)).on("click",function(){t.showInput(n);t[n+"Input"].focus()}).add(h);h.offset+=l.width+(f?10:0);this[n+"Input"]=e=lt("input",{name:n,className:"highcharts-range-selector",type:"text"},o({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:c.fontSize,fontFamily:c.fontFamily,left:"-9em",top:r.plotTop+"px"},i.inputStyle),y);e.onfocus=function(){t.showInput(n)};e.onblur=function(){t.hideInput(n)};e.onchange=function(){var s=e.value,n=(i.inputDateParser||vt.parse)(s),o=r.xAxis[0],h=o.dataMin,c=o.dataMax;isNaN(n)&&(n=s.split("-"),n=vt.UTC(v(n[0]),v(n[1])-1,v(n[2])));isNaN(n)||(nt.global.useUTC||(n+=(new vt).getTimezoneOffset()*6e4),f?n>t.maxInput.HCTime?n=u:n<h&&(n=h):n<t.minInput.HCTime?n=u:n>c&&(n=c),n!==u&&r.xAxis[0].setExtremes(f?n:o.min,f?o.max:n,u,u,{trigger:"rangeSelectorInput"}))}},getPosition:function(){var n=this.chart,i=n.options.rangeSelector,n=t((i.buttonPosition||{}).y,n.plotTop-n.axisOffset[0]-i.height);return{buttonTop:n,inputTop:n-10}},render:function(n,u){var f=this,e=f.chart,v=e.renderer,g=e.container,h=e.options,y=h.exporting&&h.navigation&&h.navigation.buttonOptions,c=h.rangeSelector,p=f.buttons,h=nt.lang,s=f.div,s=f.inputGroup,w=c.buttonTheme,tt=c.buttonPosition||{},b=c.inputEnabled,l=w&&w.states,it=e.plotLeft,k,d=this.getPosition(),a=f.group,rt=f.rendered;rt||(f.group=a=v.g("range-selector-buttons").add(),f.zoomText=v.text(h.rangeSelectorZoom,t(tt.x,it),15).css(c.labelStyle).add(a),k=t(tt.x,it)+f.zoomText.getBBox().width+5,i(f.buttonOptions,function(n,i){p[i]=v.button(n.text,k,0,function(){f.clickButton(i);f.isActive=!0},w,l&&l.hover,l&&l.select,l&&l.disabled).css({textAlign:"center"}).add(a);k+=p[i].width+t(c.buttonSpacing,5);f.selected===i&&p[i].setState(2)}),f.updateButtonStates(),b===!1)||(f.div=s=lt("div",null,{position:"relative",height:0,zIndex:1}),g.parentNode.insertBefore(s,g),f.inputGroup=s=v.g("input-group").add(),s.offset=0,f.drawInput("min"),f.drawInput("max"));a[rt?"animate":"attr"]({translateY:d.buttonTop});b!==!1&&(s.align(o({y:d.inputTop,width:s.offset,x:y&&d.inputTop<(y.y||0)+y.height-e.spacing[0]?-40:0},c.inputPosition),!0,e.spacingBox),r(b)||(e=a.getBBox(),s[s.translateX<e.x+e.width+10?"hide":"show"]()),f.setInputValue("min",n),f.setInputValue("max",u));f.rendered=!0},destroy:function(){var t=this.minInput,i=this.maxInput,r=this.chart,u=this.blurInputs,n;it(r.container,"mousedown",u);it(r,"resize",u);sr(this.buttons);t&&(t.onfocus=t.onblur=t.onchange=null);i&&(i.onfocus=i.onblur=i.onchange=null);for(n in this)this[n]&&n!=="chart"&&(this[n].destroy?this[n].destroy():this[n].nodeType&&wr(this[n])),this[n]=null}};p.prototype.toFixedRange=function(n,i,r,u){var f=this.chart&&this.chart.fixedRange,n=t(r,this.translate(n,!0)),i=t(u,this.translate(i,!0)),r=f&&(i-n)/f;return r>.7&&r<1.3&&(u?n=i-f:i=n+f),isNaN(n)&&(n=i=void 0),{min:n,max:i}};p.prototype.minFromRange=function(){var i=this.range,e={month:"Month",year:"FullYear"}[i.type],n,f=this.max,r,u,o=function(n,t){var i=new vt(n);return i["set"+e](i["get"+e]()+t),i.getTime()-n};return typeof i=="number"?(n=this.max-i,u=i):n=f+o(f,-i.count),r=t(this.dataMin,Number.MIN_VALUE),isNaN(n)&&(n=r),n<=r&&(n=r,u===void 0&&(u=o(n,i.count)),this.newMax=c(n+u,this.dataMax)),isNaN(f)&&(n=void 0),n};tt(ci.prototype,"init",function(n,t,i){a(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new of(this))});n.call(this,t,i)});h.RangeSelector=of;ci.prototype.callbacks.push(function(n){function f(){t=n.xAxis[0].getExtremes();i.render(t.min,t.max)}function u(){t=n.xAxis[0].getExtremes();isNaN(t.min)||r.render(t.min,t.max)}function e(n){n.triggerOp!=="navigator-drag"&&i.render(n.min,n.max)}function o(n){r.render(n.min,n.max)}var t,i=n.scroller,r=n.rangeSelector;i&&(a(n.xAxis[0],"afterSetExtremes",e),tt(n,"drawChartBox",function(n){var t=this.isDirtyBox;n.call(this);t&&f()}),f());r&&(a(n.xAxis[0],"afterSetExtremes",o),a(n,"resize",u),u());a(n,"destroy",function(){i&&it(n.xAxis[0],"afterSetExtremes",e);r&&(it(n,"resize",u),it(n.xAxis[0],"afterSetExtremes",o))})});h.StockChart=h.stockChart=function(n,i,r){var o=ki(n)||n.nodeName,u=arguments[o?1:0],c=u.series,h,l=t(u.navigator&&u.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,f={marker:{enabled:!1,radius:2}},e={shadow:!1,borderWidth:0};return u.xAxis=hi(ei(u.xAxis||{}),function(n){return s({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n,{type:"datetime",categories:null},l)}),u.yAxis=hi(ei(u.yAxis||{}),function(n){return h=t(n.opposite,!0),s({labels:{y:-2},opposite:h,showLastLabel:!1,title:{text:null}},n)}),u.series=null,u=s({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:f,spline:f,area:f,areaspline:f,arearange:f,areasplinerange:f,column:e,columnrange:e,candlestick:e,ohlc:e}},u,{_stock:!0,chart:{inverted:!1}}),u.series=c,o?new ci(n,u,r):new ci(u,i)};tt(vr.prototype,"init",function(n,t,i){var r=i.chart.pinchType||"";n.call(this,t,i);this.pinchX=this.pinchHor=r.indexOf("x")!==-1;this.pinchY=this.pinchVert=r.indexOf("y")!==-1;this.hasZoom=this.hasZoom||this.pinchHor||this.pinchVert});tt(p.prototype,"autoLabelAlign",function(n){var t=this.chart,i=this.options,t=t._labelPanes=t._labelPanes||{},r=this.options.labels;return this.chart.options._stock&&this.coll==="yAxis"&&(i=i.top+","+i.height,!t[i]&&r.enabled)?(r.x===15&&(r.x=0),r.align===void 0&&(r.align="right"),t[i]=1,"right"):n.call(this,[].slice.call(arguments,1))});tt(p.prototype,"getPlotLinePath",function(n,u,o,s,h,l){var a=this,rt=this.isLinked&&!this.series?this.linkedParent.series:this.series,v=a.chart,ut=v.renderer,d=a.left,g=a.top,y,p,w,b,nt=[],tt=[],k,it;return a.coll==="colorAxis"?n.apply(this,[].slice.call(arguments,1)):(tt=a.isXAxis?r(a.options.yAxis)?[v.yAxis[a.options.yAxis]]:hi(rt,function(n){return n.yAxis}):r(a.options.xAxis)?[v.xAxis[a.options.xAxis]]:hi(rt,function(n){return n.xAxis}),i(a.isXAxis?v.yAxis:v.xAxis,function(n){if(r(n.options.id)?n.options.id.indexOf("navigator")===-1:1){var t=n.isXAxis?"yAxis":"xAxis",t=r(n.options[t])?v[t][n.options[t]]:v[t][0];a===t&&tt.push(n)}}),k=tt.length?[]:[a.isXAxis?v.yAxis[0]:v.xAxis[0]],i(tt,function(n){si(n,k)===-1&&k.push(n)}),it=t(l,a.translate(u,null,null,s)),isNaN(it)||(a.horiz?i(k,function(n){var t;p=n.pos;b=p+n.len;y=w=e(it+a.transB);(y<d||y>d+a.width)&&(h?y=w=c(f(d,y),d+a.width):t=!0);t||nt.push("M",y,p,"L",w,b)}):i(k,function(n){var t;y=n.pos;w=y+n.len;p=b=e(g+a.height-it);(p<g||p>g+a.height)&&(h?p=b=c(f(g,p),a.top+a.height):t=!0);t||nt.push("M",y,p,"L",w,b)})),nt.length>0?ut.crispPolyLine(nt,o||1):null)});p.prototype.getPlotBandPath=function(n,t){var u=this.getPlotLinePath(t,null,null,!0),r=this.getPlotLinePath(n,null,null,!0),f=[],i;if(r&&u&&r.toString()!==u.toString())for(i=0;i<r.length;i+=6)f.push("M",r[i+1],r[i+2],"L",r[i+4],r[i+5],u[i+4],u[i+5],u[i+1],u[i+2]);else f=null;return f};ri.prototype.crispPolyLine=function(n,t){for(var i=0;i<n.length;i+=6)n[i+1]===n[i+4]&&(n[i+1]=n[i+4]=e(n[i+1])-t%2/2),n[i+2]===n[i+5]&&(n[i+2]=n[i+5]=e(n[i+2])+t%2/2);return n};kr===h.VMLRenderer&&(lu.prototype.crispPolyLine=ri.prototype.crispPolyLine);tt(p.prototype,"hideCrosshair",function(n,t){n.call(this,t);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});tt(p.prototype,"drawCrosshair",function(n,i,u){var v,y;if(n.call(this,i,u),r(this.crosshair.label)&&this.crosshair.label.enabled){var n=this.chart,f=this.options.crosshair.label,c=this.horiz,a=this.opposite,l=this.left,h=this.top,e=this.crossLabel,s,p=f.format,w="",k=this.options.tickPosition==="inside",b=this.crosshair.snap!==!1;s=c?"center":a?this.labelAlign==="right"?"right":"left":this.labelAlign==="left"?"left":"center";e||(e=this.crossLabel=n.renderer.label(null,null,null,f.shape||"callout").attr({align:f.align||s,zIndex:12,fill:f.backgroundColor||this.series[0]&&this.series[0].color||"gray",padding:t(f.padding,8),stroke:f.borderColor||"","stroke-width":f.borderWidth||0,r:t(f.borderRadius,3)}).css(o({color:"white",fontWeight:"normal",fontSize:"11px",textAlign:"center"},f.style)).add());c?(s=b?u.plotX+l:i.chartX,h+=a?0:this.height):(s=a?this.width+l:0,h=b?u.plotY+h:i.chartY);p||f.formatter||(this.isDatetimeAxis&&(w="%b %d, %Y"),p="{value"+(w?":"+w:"")+"}");i=b?u[this.isXAxis?"x":"y"]:this.toValue(c?i.chartX:i.chartY);e.attr({text:p?tr(p,{value:i}):f.formatter.call(this,i),anchorX:c?s:this.opposite?0:n.chartWidth,anchorY:c?this.opposite?n.chartHeight:0:h,x:s,y:h,visibility:"visible"});i=e.getBBox();c?(k&&!a||!k&&a)&&(h=e.y-i.height):h=e.y-i.height/2;c?(v=l-i.x,y=l+this.width-i.x):(v=this.labelAlign==="left"?l:0,y=this.labelAlign==="right"?l+this.width:n.chartWidth);e.translateX<v&&(s+=v-e.translateX);e.translateX+i.width>=y&&(s-=e.translateX+i.width-y);e.attr({x:s,y:h,visibility:"visible"})}});var be=pt.init,ke=pt.processData,de=wi.prototype.tooltipFormatter;return pt.init=function(){be.apply(this,arguments);this.setCompare(this.options.compare)},pt.setCompare=function(n){this.modifyValue=n==="value"||n==="percent"?function(t,i){var r=this.compareValue;return t!==u&&(t=n==="value"?t-r:t=100*(t/r)-100,i)&&(i.change=t),t}:null;this.chart.hasRendered&&(this.isDirty=!0)},pt.processData=function(){var n,i,t,r;if(ke.apply(this,arguments),this.xAxis&&this.processedYData)for(i=this.processedXData,t=this.processedYData,r=t.length,n=0;n<r;n++)if(typeof t[n]=="number"&&i[n]>=this.xAxis.min&&t[n]!==0){this.compareValue=t[n];break}},tt(pt,"getExtremes",function(n){var t;n.apply(this,[].slice.call(arguments,1));this.modifyValue&&(t=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=or(t),this.dataMax=di(t))}),p.prototype.setCompare=function(n,r){this.isXAxis||(i(this.series,function(t){t.setCompare(n)}),t(r,!0)&&this.chart.redraw())},wi.prototype.tooltipFormatter=function(n){return n=n.replace("{point.change}",(this.change>0?"+":"")+h.numberFormat(this.change,t(this.series.tooltipOptions.changeDecimals,2))),de.apply(this,[n])},tt(w.prototype,"render",function(n){this.chart.options._stock&&this.xAxis&&(!this.clipBox&&this.animate?(this.clipBox=s(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len):this.chart[this.sharedClipKey]&&(ar(this.chart[this.sharedClipKey]),this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:this.yAxis.len})));n.call(this)}),o(h,{Color:oi,Point:wi,Tick:tu,Renderer:kr,SVGElement:et,SVGRenderer:ri,arrayMin:or,arrayMax:di,charts:at,dateFormat:dt,error:ui,format:tr,pathAnim:void 0,getOptions:function(){return nt},hasBidiBug:ce,isTouchDevice:eu,setOptions:function(n){return nt=s(!0,nt,n),df(),nt},addEvent:a,removeEvent:it,createElement:lt,discardElement:wr,css:b,each:i,map:hi,merge:s,splat:ei,stableSort:pu,extendClass:kt,pInt:v,svg:bt,canvas:ii,vml:!bt&&!ii,product:"Highstock",version:"4.2.1"}),h}),function(n){typeof module=="object"&&module.exports?module.exports=n:n(Highcharts)}(function(n){var s=n.win,t=s.document,a=n.Chart,e=n.addEvent,v=n.removeEvent,y=n.fireEvent,u=n.createElement,h=n.discardElement,o=n.css,f=n.merge,i=n.each,r=n.extend,p=n.splat,w=Math.max,b=n.isTouchDevice,k=n.Renderer.prototype.symbols,c=n.getOptions(),l;r(c.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});c.navigation={menuStyle:{border:"1px solid #A0A0A0",background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:b?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}};c.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu",symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};n.post=function(n,i,r){var e,n=u("form",f({method:"post",action:n,enctype:"multipart/form-data"},r),{display:"none"},t.body);for(e in i)u("input",{type:"hidden",name:e,value:i[e]},null,n);n.submit();h(n)};r(a.prototype,{sanitizeSVG:function(n){return n.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (NS[0-9]+\:)?href=/g," xlink:href=").replace(/\n/," ").replace(/<\/svg>.*?$/,"<\/svg>").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/&nbsp;/g," ").replace(/&shy;/g,"­").replace(/<IMG /g,"<image ").replace(/<(\/?)TITLE>/g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(n){return n.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(e){var c=this,v,l,s,y,a,o=f(c.options,e),w=o.exporting.allowHTML;return t.createElementNS||(t.createElementNS=function(n,i){return t.createElement(i)}),l=u("div",null,{position:"absolute",top:"-9999em",width:c.chartWidth+"px",height:c.chartHeight+"px"},t.body),s=c.renderTo.style.width,a=c.renderTo.style.height,s=o.exporting.sourceWidth||o.chart.width||/px$/.test(s)&&parseInt(s,10)||600,a=o.exporting.sourceHeight||o.chart.height||/px$/.test(a)&&parseInt(a,10)||400,r(o.chart,{animation:!1,renderTo:l,forExport:!0,renderer:"SVGRenderer",width:s,height:a}),o.exporting.enabled=!1,delete o.data,o.series=[],i(c.series,function(n){y=f(n.options,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:n.visible});y.isInternal||o.series.push(y)}),e&&i(["xAxis","yAxis"],function(n){i(p(e[n]),function(t,i){o[n][i]=f(o[n][i],t)})}),v=new n.Chart(o,c.callback),i(["xAxis","yAxis"],function(n){i(c[n],function(t,i){var u=v[n][i],r=t.getExtremes(),f=r.userMin,r=r.userMax;u&&(f!==void 0||r!==void 0)&&u.setExtremes(f,r,!0,!1)})}),s=v.getChartHTML(),o=null,v.destroy(),h(l),w&&(l=s.match(/<\/svg>(.*?$)/))&&(l='<foreignObject x="0" y="0" width="200" height="200"><body xmlns="http://www.w3.org/1999/xhtml">'+l[1]+"<\/body><\/foreignObject>",s=s.replace("<\/svg>",l+"<\/svg>")),s=this.sanitizeSVG(s),s.replace(/(url\(#highcharts-[0-9]+)&quot;/g,"$1").replace(/&quot;/g,"'")},getSVGForExport:function(n,t){var i=this.options.exporting;return this.getSVG(f({chart:{borderRadius:0}},i.chartOptions,t,{exporting:{sourceWidth:n&&n.sourceWidth||i.sourceWidth,sourceHeight:n&&n.sourceHeight||i.sourceHeight}}))},exportChart:function(t,i){var r=this.getSVGForExport(t,i),t=f(this.options.exporting,t);n.post(t.url,{filename:t.filename||"chart",type:t.type,width:t.width||0,scale:t.scale||2,svg:r},t.formAttributes)},print:function(){var n=this,r=n.container,u=[],o=r.parentNode,f=t.body,e=f.childNodes;n.isPrinting||(n.isPrinting=!0,n.pointer.reset(null,0),y(n,"beforePrint"),i(e,function(n,t){n.nodeType===1&&(u[t]=n.style.display,n.style.display="none")}),f.appendChild(r),s.focus(),s.print(),setTimeout(function(){o.appendChild(r);i(e,function(n,t){n.nodeType===1&&(n.style.display=u[t])});n.isPrinting=!1;y(n,"afterPrint")},1e3))},contextMenu:function(n,f,s,h,c,l,a){var y=this,g=y.options.navigation,nt=g.menuItemStyle,tt=y.chartWidth,it=y.chartHeight,rt="cache-"+n,p=y[rt],b=w(c,l),k,d,ut,ft=function(t){y.pointer.inClass(t.target,n)||d()};p||(y[rt]=p=u("div",{className:n},{position:"absolute",zIndex:1e3,padding:b+"px"},y.container),k=u("div",null,r({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},g.menuStyle),p),d=function(){o(p,{display:"none"});a&&a.setState(0);y.openMenu=!1},e(p,"mouseleave",function(){ut=setTimeout(d,500)}),e(p,"mouseenter",function(){clearTimeout(ut)}),e(t,"mouseup",ft),e(y,"destroy",function(){v(t,"mouseup",ft)}),i(f,function(n){if(n){var t=n.separator?u("hr",null,null,k):u("div",{onmouseover:function(){o(this,g.menuItemHoverStyle)},onmouseout:function(){o(this,nt)},onclick:function(t){t&&t.stopPropagation();d();n.onclick&&n.onclick.apply(y,arguments)},innerHTML:n.text||y.options.lang[n.textKey]},r({cursor:"pointer"},nt),k);y.exportDivElements.push(t)}}),y.exportDivElements.push(k,p),y.exportMenuWidth=p.offsetWidth,y.exportMenuHeight=p.offsetHeight);f={display:"block"};s+y.exportMenuWidth>tt?f.right=tt-s-c-b+"px":f.left=s-b+"px";h+l+y.exportMenuHeight>it&&a.alignOptions.verticalAlign!=="top"?f.bottom=it-h-b+"px":f.top=h+l-b+"px";o(p,f);y.openMenu=!0},addButton:function(t){var e=this,a=e.renderer,i=f(e.options.navigation.buttonOptions,t),v=i.onclick,y=i.menuItems,p,u,w={stroke:i.symbolStroke,fill:i.symbolFill},h=i.symbolSize||12;if(e.btnCount||(e.btnCount=0),e.exportDivElements||(e.exportDivElements=[],e.exportSVGElements=[]),i.enabled!==!1){var o=i.theme,s=o.states,b=s&&s.hover,s=s&&s.select,c;delete o.states;v?c=function(n){n.stopPropagation();v.call(e,n)}:y&&(c=function(){e.contextMenu(u.menuClassName,y,u.translateX,u.translateY,u.width,u.height,u);u.setState(2)});i.text&&i.symbol?o.paddingLeft=n.pick(o.paddingLeft,25):i.text||r(o,{width:i.width,height:i.height,padding:0});u=a.button(i.text,0,0,c,o,b,s).attr({title:e.options.lang[i._titleKey],"stroke-linecap":"round"});u.menuClassName=t.menuClassName||"highcharts-menu-"+e.btnCount++;i.symbol&&(p=a.symbol(i.symbol,i.symbolX-h/2,i.symbolY-h/2,h,h).attr(r(w,{"stroke-width":i.symbolStrokeWidth||1,zIndex:1})).add(u));u.add().align(r(i,{width:u.width,x:n.pick(i.x,l)}),!0,"spacingBox");l+=(u.width+i.buttonSpacing)*(i.align==="right"?-1:1);e.exportSVGElements.push(u,p)}},destroyExport:function(n){for(var n=n.target,t,i=0;i<n.exportSVGElements.length;i++)(t=n.exportSVGElements[i])&&(t.onclick=t.ontouchstart=null,n.exportSVGElements[i]=t.destroy());for(i=0;i<n.exportDivElements.length;i++)t=n.exportDivElements[i],v(t,"mouseleave"),n.exportDivElements[i]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null,h(t)}});k.menu=function(n,t,i,r){return["M",n,t+2.5,"L",n+i,t+2.5,"M",n,t+r/2+.5,"L",n+i,t+r/2+.5,"M",n,t+r-1.5,"L",n+i,t+r-1.5]};a.prototype.callbacks.push(function(n){var t,i=n.options.exporting,r=i.buttons;if(l=0,i.enabled!==!1){for(t in r)n.addButton(r[t]);e(n,"destroy",n.destroyExport)}})});$(function(){var n;$.get("/nzx/price_history.xml?stock=HBL",function(n){function b(n){var t={},r,e,u,f,i,o;if(n.nodeType==1){if(n.attributes.length>0)for(t.attributes={},r=0;r<n.attributes.length;r++)e=n.attributes.item(r),t.attributes[e.nodeName]=e.nodeValue}else n.nodeType==3&&(t=n.nodeValue);if(n.hasChildNodes())for(u=0;u<n.childNodes.length;u++)f=n.childNodes.item(u),i=f.nodeName,typeof t[i]=="undefined"?t[i]=b(f):(typeof t[i].push=="undefined"&&(o=t[i],t[i]=[],t[i].push(o)),t[i].push(b(f)));return t}var nt=$(n),k,f,w,e,r,t,s,h;console.log(nt);k=b(n);console.log(k);var p=[],c=k.document[1].feed.stock.year,g=c.length;if(typeof g=="undefined")if(f=c.month,f.length>=1)for(w=f.length,e=c.attributes.value,m=0;m<w;m+=1){var o=f[m].day,l=o.length,u=f[m].attributes.value;for(u<10&&(u=("0"+u).slice(-2)),d=0;d<l;d+=1){r=o[d].attributes;for(t in r)if(r.hasOwnProperty(t)){if(t==="price")s=parseFloat(r[t]);else{r[t]<10&&(r[t]=("0"+r[t]).slice(-2));var a=new Date(e+"-"+u+"-"+r[t]),v=a.getTime(),y=v}h=[y,s]}p.push(h)}}else{e=c[i].attributes.value;for(t in f)if(t==="day"){var o=f[t],l=o.length,u=f.attributes.value;for(u<10&&(u=("0"+u).slice(-2)),d=0;d<l;d+=1){r=o[d].attributes;for(t in r)if(r.hasOwnProperty(t)){if(t==="price")s=parseFloat(r[t]);else{r[t]<10&&(r[t]=("0"+r[t]).slice(-2));var a=new Date(e+"-"+u+"-"+r[t]),v=a.getTime(),y=v}h=[y,s]}p.push(h)}}}else for(i=0;i<g;i+=1)if(f=c[i].month,f.length>=1)for(w=f.length,e=c[i].attributes.value,m=0;m<w;m+=1){var o=f[m].day,l=o.length,u=f[m].attributes.value;for(u<10&&(u=("0"+u).slice(-2)),d=0;d<l;d+=1){r=o[d].attributes;for(t in r)if(r.hasOwnProperty(t)){if(t==="price")s=parseFloat(r[t]);else{r[t]<10&&(r[t]=("0"+r[t]).slice(-2));var a=new Date(e+"-"+u+"-"+r[t]),v=a.getTime(),y=v}h=[y,s]}p.push(h)}}else{e=c[i].attributes.value;for(t in f)if(t==="day"){var o=f[t],l=o.length,u=f.attributes.value;for(u<10&&(u=("0"+u).slice(-2)),d=0;d<l;d+=1){r=o[d].attributes;for(t in r)if(r.hasOwnProperty(t)){if(t==="price")s=parseFloat(r[t]);else{r[t]<10&&(r[t]=("0"+r[t]).slice(-2));var a=new Date(e+"-"+u+"-"+r[t]),v=a.getTime(),y=v}h=[y,s]}p.push(h)}}}$("#container").highcharts("StockChart",{rangeSelector:{enabled:!1,selected:1},navigation:{buttonOptions:{enabled:!1}},navigator:{maskFill:"rgba(21, 121, 171, 0.3)"},scrollbar:{enabled:!1},credits:{enabled:!1},colors:["#04212f","#072c3e","#0b3f59","#0e5071","#105d84","#126792","#136e9c","#1474a4","#1477a8","#1579ab"],yAxis:[{allowDecimals:!0,labels:{format:"$ {value:.3f}",align:"left",x:10},title:{text:"",margin:50},height:"90%",lineWidth:2,lineColor:"#fbfbfb"},{labels:{align:"left",x:10},title:{text:"",margin:50},top:"65%",height:"35%",offset:0,lineWidth:2,lineColor:"#fbfbfb"}],series:[{name:"HGH",data:p,tooltip:{valueDecimals:2}},{type:"column",name:"Volume",data:[],yAxis:1}]})});n="/nzx/price_summary.xml?stock=HGH";$.get(n,function(n){function u(n){var t={},r,o,f,e,i,s;if(n.nodeType==1){if(n.attributes.length>0)for(t.attributes={},r=0;r<n.attributes.length;r++)o=n.attributes.item(r),t.attributes[o.nodeName]=o.nodeValue}else n.nodeType==3&&(t=n.nodeValue);if(n.hasChildNodes())for(f=0;f<n.childNodes.length;f++)e=n.childNodes.item(f),i=e.nodeName,typeof t[i]=="undefined"?t[i]=u(e):(typeof t[i].push=="undefined"&&(s=t[i],t[i]=[],t[i].push(s)),t[i].push(u(e)));return t}var e=$(n),f=u(n),t,i,r=f.document[1].feed.summary,o=r.length;lastVal=r[0].last;for(key in lastVal)key==="#text"&&$(".share-price-value").html(lastVal[key]);if(t=r[0].price_change,jQuery.isEmptyObject(t))$(".price-change").html("0.000");else for(key in t)key==="#text"&&$(".price-change").html(t[key]);if(i=r[0].percent_change,jQuery.isEmptyObject(t))$(".perc-change").html("0.00");else for(key in i)key==="#text"&&$(".perc-change").html(i[key]);t=r[3].price_change;for(key in t)key==="#text"&&$(".price-change-rol-year").html(t[key]);i=r[3].percent_change;for(key in i)key==="#text"&&$(".perc-change-rol-year").html(i[key]);setTimeout(function(){$(".share-info").addClass("show-info")},50)})})