c13d13c91c
Newtonsoft.Json 5.0.8; RazorGenerator.Mvc 2.1.2; jQuery 2.0.3; jQuery Validate Unobtrusive 3.0.0; Microsoft.Net.Http 2.1.10; KnockoutJS 2.3.0; Highcharts 2.0; T4MVC 3.7.4; TinyMCE 4.0.9
2 lines
136 KiB
JavaScript
2 lines
136 KiB
JavaScript
(function(){function e(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function o(){for(var r=arguments.length,t={},i=function(n,t){var r,u;typeof n!="object"&&(n={});for(u in t)t.hasOwnProperty(u)&&(r=t[u],n[u]=r&&typeof r=="object"&&Object.prototype.toString.call(r)!=="[object Array]"&&typeof r.nodeType!="number"?i(n[u]||{},r):t[u]);return n},n=0;n<r;n++)t=i(t,arguments[n]);return t}function oo(){for(var n=0,t=arguments,r=t.length,i={};n<r;n++)i[t[n++]]=t[n];return i}function c(n,t){return parseInt(n,t||10)}function gt(n){return typeof n=="string"}function et(n){return typeof n=="object"}function hr(n){return Object.prototype.toString.call(n)==="[object Array]"}function di(n){return typeof n=="number"}function ci(n){return rt.log(n)/rt.LN10}function ni(n){return rt.pow(10,n)}function ti(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function r(n){return n!==f&&n!==null}function s(n,t,i){var u,f="setAttribute",e;if(gt(t))r(i)?n[f](t,i):n&&n.getAttribute&&(e=n.getAttribute(t));else if(r(t)&&et(t))for(u in t)n[f](u,t[u]);return e}function ui(n){return hr(n)?n:[n]}function n(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],typeof t!="undefined"&&t!==null)return t}function p(n,t){wi&&t&&t.opacity!==f&&(t.filter="alpha(opacity="+t.opacity*100+")"),e(n.style,t)}function ot(n,t,i,r,u){var f=h.createElement(n);return t&&e(f,t),u&&p(f,{padding:0,border:ut,margin:0}),i&&p(f,i),r&&r.appendChild(f),f}function ii(n,t){var i=function(){};return i.prototype=new n,e(i.prototype,t),i}function fr(n,t,i,r){var s=it.lang,u=+n||0,e=t===-1?(u.toString().split(".")[1]||"").length:isNaN(t=w(t))?2:t,l=i===undefined?s.decimalPoint:i,h=r===undefined?s.thousandsSep:r,a=u<0?"-":"",f=String(c(u=w(u).toFixed(e))),o=f.length>3?f.length%3:0;return a+(o?f.substr(0,o)+h:"")+f.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+h)+(e?l+w(u-f).toFixed(e).slice(2):"")}function er(n,t){return new Array((t||2)+1-String(n).length).join(0)+n}function cf(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)}}function so(n,t){var r=it.lang,i;return/f$/.test(n)?(i=n.match(/\.([0-9])/),i=i?i[1]:-1,t=fr(t,i,r.decimalPoint,n.indexOf(",")>-1?r.thousandsSep:"")):t=lu(n,t),t}function or(n,t){for(var c="{",r=!1,o,u,s,f,l,e=[],i,h;(h=n.indexOf(c))!==-1;){if(o=n.slice(0,h),r){for(u=o.split(":"),s=u.shift().split("."),l=s.length,i=t,f=0;f<l;f++)i=i[s[f]];u.length&&(i=so(u.join(":"),i)),e.push(i)}else e.push(o);n=n.slice(h+1),r=!r,c=r?"}":"{"}return e.push(n),e.join("")}function lf(n){return rt.pow(10,tt(rt.log(n)/rt.LN10))}function af(t,i,r,u){var e,f;for(r=n(r,1),e=t/r,i||(i=[1,2,2.5,5,10],u&&u.allowDecimals===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),f=0;f<i.length;f++)if(t=i[f],e<=(i[f]+(i[f+1]||i[f]))/2)break;return t*r}function ye(n,t){for(var f=t||[[se,[1,2,5,10,20,25,50,100,200,500]],[ff,[1,2,5,10,15,30]],[au,[1,2,5,10,15,30]],[kr,[1,2,3,4,6,8,12]],[ki,[1,2]],[vu,[1,2]],[dr,[1,2,3,4,6]],[ur,null]],r=f[f.length-1],u=y[r[0]],o=r[1],s,h,e=0;e<f.length;e++)if(r=f[e],u=y[r[0]],o=r[1],f[e+1]&&(h=(u*o[o.length-1]+y[f[e+1][0]])/2,n<=h))break;return u===y[ur]&&n<5*u&&(o=[1,2,5]),s=af(n/u,o,r[0]===ur?i(lf(n/u),1):1),{unitRange:u,count:s,unitName:r[0]}}function pe(i,u,f,o){var v=[],p,w={},b=it.global.useUTC,l,s=new Date(u),h=i.unitRange,c=i.count;if(r(u)){h>=y[ff]&&(s.setMilliseconds(0),s.setSeconds(h>=y[au]?0:c*tt(s.getSeconds()/c))),h>=y[au]&&s[ce](h>=y[kr]?0:c*tt(s[ef]()/c)),h>=y[kr]&&s[le](h>=y[ki]?0:c*tt(s[of]()/c)),h>=y[ki]&&s[hf](h>=y[dr]?1:c*tt(s[gr]()/c)),h>=y[dr]&&(s[ae](h>=y[ur]?0:c*tt(s[pu]()/c)),l=s[wu]()),h>=y[ur]&&(l-=l%c,s[ve](l)),h===y[vu]&&s[hf](s[gr]()-s[sf]()+n(o,1)),p=1,l=s[wu]();for(var a=s.getTime(),k=s[pu](),d=s[gr](),g=b?0:(864e5+s.getTimezoneOffset()*6e4)%864e5;a<f;)v.push(a),h===y[ur]?a=yu(l+p*c,0):h===y[dr]?a=yu(l,k+p*c):b||h!==y[ki]&&h!==y[vu]?a+=h*c:a=yu(l,k,d+p*c*(h===y[ki]?1:7)),p++;v.push(a),t(vf(v,function(n){return h<=y[kr]&&n%y[ki]===g}),function(n){w[n]=ki})}return v.info=e(i,{higherRanks:w,totalRange:h*c}),v}function we(){this.color=0,this.symbol=0}function be(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].ss_i=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.ss_i-i.ss_i:r}),i=0;i<u;i++)delete n[i].ss_i}function cr(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function gi(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function lr(n,t){var i;for(i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function nu(n){cu||(cu=ot(rr)),n&&cu.appendChild(n),cu.innerHTML=""}function fi(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;else g.console&&console.log(i)}function ri(n){return parseFloat(n.toPrecision(14))}function ar(t,i){tr=n(t,i.animation)}function ke(){var r=it.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";yu=r?Date.UTC:function(t,i,r,u,f,e){return new Date(t,i,n(r,1),n(u,0),n(f,0),n(e,0)).getTime()},ef=t+"Minutes",of=t+"Hours",sf=t+"Day",gr=t+"Date",pu=t+"Month",wu=t+"FullYear",ce=i+"Minutes",le=i+"Hours",hf=i+"Date",ae=i+"Month",ve=i+"FullYear"}function ao(n){return it=o(it,n),ke(),it}function vo(){return it}function nr(){}function pr(n,t,i,r){this.axis=n,this.pos=t,this.type=i||"",this.isNew=!0,i||r||this.addLabel()}function kf(n,t){this.axis=n,t&&(this.options=t,this.id=t.id)}function no(t,i,r,u,f,e){var o=t.chart.inverted;this.axis=t,this.isNegative=r,this.options=i,this.x=u,this.total=null,this.points={},this.stack=f,this.percent=e==="percent",this.alignOptions={align:i.align||(o?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(o?"middle":r?"bottom":"top"),y:n(i.y,o?4:r?14:-6),x:n(i.x,o?r?-6:6:0)},this.textAlign=i.textAlign||(o?r?"right":"left":"center")}function du(){this.init.apply(this,arguments)}function df(){this.init.apply(this,arguments)}function gf(n,t){this.init(n,t)}function gu(n,t){this.init(n,t)}function ne(){this.init.apply(this,arguments)}var f,h=document,g=window,rt=Math,u=rt.round,tt=rt.floor,yi=rt.ceil,i=rt.max,v=rt.min,w=rt.abs,ht=rt.cos,wt=rt.sin,pi=rt.PI,wr=pi/180,ei=navigator.userAgent,ie=g.opera,wi=/msie/i.test(ei)&&!ie,eu=h.documentMode===8,ou=/AppleWebKit/.test(ei),su=/Firefox/.test(ei),re=/(Mobile|Android|Windows Phone)/.test(ei),bi="http://www.w3.org/2000/svg",ct=!!h.createElementNS&&!!h.createElementNS(bi,"svg").createSVGRect,eo=su&&parseInt(ei.split("Firefox/")[1],10)<4,bt=!ct&&!wi&&!!h.createElement("canvas").getContext,br,hu=h.documentElement.ontouchstart!==f,ue={},tf=0,cu,it,lu,tr,rf,y,oi=function(){},ir=[],fe="Highcharts",ee="3.0.7",rr="div",si="absolute",uf="relative",vt="hidden",ft="highcharts-",kt="visible",l="px",ut="none",k="M",b="L",oe="rgba(192,192,192,"+(ct?.0001:.002)+")",yt="",dt="hover",hi="select",se="millisecond",ff="second",au="minute",kr="hour",ki="day",vu="week",dr="month",ur="year",he="stroke-width",yu,ef,of,sf,gr,pu,wu,ce,le,hf,ae,ve,lt={},tu,at,st,yr,vi,wf,ku,de,bf,ge,sr,nt,to,ru,te,uu,io,fu,ro,uo,fo,nf;g.Highcharts=g.Highcharts?fi(16,!0):{},lu=function(t,i,f){if(!r(i)||isNaN(i))return"Invalid date";t=n(t,"%Y-%m-%d %H:%M:%S");var o=new Date(i),s,h=o[of](),v=o[sf](),y=o[gr](),l=o[pu](),p=o[wu](),a=it.lang,w=a.weekdays,c=e({a:w[v].substr(0,3),A:w[v],d:er(y),e:y,b:a.shortMonths[l],B:a.months[l],m:er(l+1),y:p.toString().substr(2,2),Y:p,H:er(h),I:er(h%12||12),l:h%12||12,M:er(o[ef]()),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:er(o.getSeconds()),L:er(u(i%1e3),3)},Highcharts.dateFormats);for(s in c)while(t.indexOf("%"+s)!==-1)t=t.replace("%"+s,typeof c[s]=="function"?c[s](i):c[s]);return f?t.substr(0,1).toUpperCase()+t.substr(1):t},we.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}},y=oo(se,1,ff,1e3,au,6e4,kr,36e5,ki,864e5,vu,6048e5,dr,26784e5,ur,31556952e3),rf={init:function(n,t,i){t=t||"";var c=n.shift,s=t.indexOf("C")>-1,f=s?7:3,l,o,e,r=t.split(" "),u=[].concat(i),h,a,v=function(n){for(e=n.length;e--;)n[e]===k&&n.splice(e+1,0,n[e+1],n[e+2],n[e+1],n[e+2])};if(s&&(v(r),v(u)),n.isArea&&(h=r.splice(r.length-6,6),a=u.splice(u.length-6,6)),c<=u.length/f&&r.length===u.length)while(c--)u=[].concat(u).splice(0,f).concat(u);if(n.shift=0,r.length)for(l=u.length;r.length<l;)o=[].concat(r).splice(r.length-f,f),s&&(o[f-6]=o[f-2],o[f-5]=o[f-1]),r=r.concat(o);return h&&(r=r.concat(h),u=u.concat(a)),[r,u]},step:function(n,t,i,r){var f=[],u=n.length,e;if(i===1)f=r;else if(u===t.length&&i<1)while(u--)e=parseFloat(n[u]),f[u]=isNaN(e)?n[u]:i*parseFloat(t[u]-e)+e;else f=t;return f}},function(n){g.HighchartsAdapter=g.HighchartsAdapter||n&&{init:function(t){var u=n.fx,e=u.step,r,i=n.Tween,o=i&&i.propHooks,h=n.cssHooks.opacity;n.extend(n.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}}),n.each(["cur","_default","width","height","opacity"],function(n,t){var r=e,s,h;t==="cur"?r=u.prototype:t==="_default"&&i&&(r=o[t],t="set"),s=r[t],s&&(r[t]=function(i){if(i=n?i:this,i.prop!=="align")return h=i.elem,h.attr?h.attr(i.prop,t==="cur"?f:i.now):s.apply(this,arguments)})}),cf(h,"get",function(n,t,i){return t.attr?t.opacity||0:n.call(this,t,i)}),r=function(n){var i=n.elem,r;n.started||(r=t.init(i,i.d,i.toD),n.start=r[0],n.end=r[1],n.started=!0),i.attr("d",t.step(n.start,n.end,n.pos,i.toD))},i?o.d={set:r}:e.d=r,this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}: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},n.fn.highcharts=function(){var r="Chart",t=arguments,n,i,u;return gt(t[0])&&(r=t[0],t=Array.prototype.slice.call(t,1)),n=t[0],n!==f&&(n.chart=n.chart||{},n.chart.renderTo=this[0],u=new Highcharts[r](n,t[1]),i=this),n===f&&(i=ir[s(this[0],"data-highcharts-chart")]),i}},getScript:n.getScript,inArray:n.inArray,adapterRun:function(t,i){return n(t)[i]()},grep:n.grep,map: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},offset:function(t){return n(t).offset()},addEvent:function(t,i,r){n(t).bind(i,r)},removeEvent:function(t,i,r){var u=h.removeEventListener?"removeEventListener":"detachEvent";h[u]&&t&&!t[u]&&(t[u]=function(){}),n(t).unbind(i,r)},fireEvent:function(t,i,r,u){var f=n.Event(i),o="detached"+i,s;!wi&&r&&(delete r.layerX,delete r.layerY),e(f,r),t[i]&&(t[o]=t[i],t[i]=null),n.each(["preventDefault","stopPropagation"],function(n,t){var i=f[t];f[t]=function(){try{i.call(f)}catch(n){t==="preventDefault"&&(s=!0)}}}),n(t).trigger(f),t[o]&&(t[i]=t[o],t[o]=null),!u||f.isDefaultPrevented()||s||u(f)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===f&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,r){var u=n(t);t.style||(t.style={}),i.d&&(t.toD=i.d,i.d=1),u.stop(),i.opacity!==f&&t.attr&&(i.opacity+="px"),u.animate(i,r)},stop:function(t){n(t).stop()}}}(g.jQuery),tu=g.HighchartsAdapter,at=tu||{},tu&&tu.init.call(tu,rf);var bu=at.adapterRun,ho=at.getScript,li=at.inArray,t=at.each,vf=at.grep,co=at.offset,vr=at.map,d=at.addEvent,pt=at.removeEvent,a=at.fireEvent,lo=at.washMouseEvent,yf=at.animate,iu=at.stop,pf={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}};it={colors:["#2f7ed8","#0d233a","#8bbc21","#910000","#1aadce","#492970","#f28f43","#77a1e5","#c42525","#a6c96a"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.7/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.7/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},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:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:o(pf,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":fr(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:si,color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:si,width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:uf,top:"1em"},style:{position:si,backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ct,backgroundColor:"rgba(255, 255, 255, .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"},headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}<\/span>: <b>{point.y}<\/b><br/>',shadow:!0,snap:re?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",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"}}},st=it.plotOptions,yr=st.line,ke();var yo=/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*\)/,po=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,wo=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,ai=function(n){function f(n){n&&n.stops?u=vr(n.stops,function(n){return ai(n[1])}):(r=yo.exec(n),r?i=[c(r[1]),c(r[2]),c(r[3]),parseFloat(r[4],10)]:(r=po.exec(n),r?i=[c(r[1],16),c(r[2],16),c(r[3],16),1]:(r=wo.exec(n),r&&(i=[c(r[1]),c(r[2]),c(r[3]),1]))))}function e(r){var f;return u?(f=o(n),f.stops=[].concat(f.stops),t(u,function(n,t){f.stops[t]=[f.stops[t][0],n.get(r)]})):f=i&&!isNaN(i[0])?r==="rgb"?"rgb("+i[0]+","+i[1]+","+i[2]+")":r==="a"?i[3]:"rgba("+i.join(",")+")":n,f}function s(n){if(u)t(u,function(t){t.brighten(n)});else if(di(n)&&n!==0)for(var r=0;r<3;r++)i[r]+=c(n*255),i[r]<0&&(i[r]=0),i[r]>255&&(i[r]=255);return this}function h(n){return i[3]=n,this}var i=[],r,u;return f(n),{get:e,brighten:s,rgba:i,setOpacity:h}};nr.prototype={init:function(n,t){var i=this;i.element=t==="span"?ot(t):h.createElementNS(bi,t),i.renderer=n,i.attrSetters={}},opacity:1,animate:function(t,i,r){var u=n(i,tr,!0);iu(this),u?(u=o(u),r&&(u.complete=r),yf(this,t,u)):(this.attr(t),r&&r())},attr:function(t,u){var l=this,e,o,b,v,g,a=l.element,p=a.nodeName.toLowerCase(),nt=l.renderer,y,w,it=l.attrSetters,k=l.shadows,rt,tt,d=l;if(gt(t)&&r(u)&&(e=t,t={},t[e]=u),gt(t))e=t,p==="circle"?e={x:"cx",y:"cy"}[e]||e:e==="strokeWidth"&&(e="stroke-width"),d=s(a,e)||l[e]||0,e!=="d"&&e!=="visibility"&&e!=="fill"&&(d=parseFloat(d));else{for(e in t)if(y=!1,o=t[e],b=it[e]&&it[e].call(l,o,e),b!==!1){if(b!==f&&(o=b),e==="d")o&&o.join&&(o=o.join(" ")),/(NaN| {2}|^$)/.test(o)&&(o="M 0 0");else if(e==="x"&&p==="text")for(v=0;v<a.childNodes.length;v++)g=a.childNodes[v],s(g,"x")===s(a,"x")&&s(g,"x",o);else if(l.rotation&&(e==="x"||e==="y"))tt=!0;else if(e==="fill")o=nt.color(o,a,e);else if(p==="circle"&&(e==="x"||e==="y"))e={x:"cx",y:"cy"}[e]||e;else if(p==="rect"&&e==="r")s(a,{rx:o,ry:o}),y=!0;else if(e==="translateX"||e==="translateY"||e==="rotation"||e==="verticalAlign"||e==="scaleX"||e==="scaleY")tt=!0,y=!0;else if(e==="stroke")o=nt.color(o,a,e);else if(e==="dashstyle"){if(e="stroke-dasharray",o=o&&o.toLowerCase(),o==="solid")o=ut;else if(o){for(o=o.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(","),v=o.length;v--;)o[v]=c(o[v])*n(t["stroke-width"],l["stroke-width"]);o=o.join(",")}}else e==="width"?o=c(o):e==="align"?(e="text-anchor",o={left:"start",center:"middle",right:"end"}[o]):e==="title"&&(w=a.getElementsByTagName("title")[0],w||(w=h.createElementNS(bi,"title"),a.appendChild(w)),w.textContent=o);if(e==="strokeWidth"&&(e="stroke-width"),(e==="stroke-width"||e==="stroke")&&(l[e]=o,l.stroke&&l["stroke-width"]?(s(a,"stroke",l.stroke),s(a,"stroke-width",l["stroke-width"]),l.hasStroke=!0):e==="stroke-width"&&o===0&&l.hasStroke&&(a.removeAttribute("stroke"),l.hasStroke=!1),y=!0),l.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(e)&&(rt||(l.symbolAttr(t),rt=!0),y=!0),k&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(e))for(v=k.length;v--;)s(k[v],e,e==="height"?i(o-(k[v].cutHeight||0),0):o);(e==="width"||e==="height")&&p==="rect"&&o<0&&(o=0),l[e]=o,e==="text"?(o!==l.textStr&&delete l.bBox,l.textStr=o,l.added&&nt.buildText(l)):y||s(a,e,o)}tt&&l.updateTransform()}return d},addClass:function(n){var t=this.element,i=s(t,"class")||"";return i.indexOf(n)===-1&&s(t,"class",i+" "+n),this},symbolAttr:function(i){var r=this;t(["x","y","r","start","end","width","height","innerR","anchorX","anchorY"],function(t){r[t]=n(i[t],r[t])}),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+")":ut)},crisp:function(n,t,i,r,f){var e=this,s,c={},o={},h;n=n||e.strokeWidth||e.attr&&e.attr("stroke-width")||0,h=u(n)%2/2,o.x=tt(t||e.x||0)+h,o.y=tt(i||e.y||0)+h,o.width=tt((r||e.width||0)-2*h),o.height=tt((f||e.height||0)-2*h),o.strokeWidth=n;for(s in o)e[s]!==o[s]&&(e[s]=c[s]=o[s]);return c},css:function(n){var t=this,r=t.element,u=t.textWidth=n&&n.width&&r.nodeName.toLowerCase()==="text"&&c(n.width),i,f="",o=function(n,t){return"-"+t.toLowerCase()};if(n&&n.color&&(n.fill=n.color),n=e(t.styles,n),t.styles=n,u&&delete n.width,wi&&!ct)p(t.element,n);else{for(i in n)f+=i.replace(/([A-Z])/g,o)+":"+n[i]+";";s(r,"style",f)}return u&&t.added&&t.renderer.buildText(t),t},on:function(n,t){var r=this,i=r.element;return hu&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=Date.now(),n.preventDefault(),t.call(i,n)},i.onclick=function(n){(ei.indexOf("Android")===-1||Date.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){return this.element.radialReference=n,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){var n=this;return n.inverted=!0,n.updateTransform(),n},htmlCss:function(n){var t=this,r=t.element,i=n&&r.tagName==="SPAN"&&n.width;return i&&(delete n.width,t.textWidth=i,t.updateTransform()),t.styles=e(t.styles,n),p(t.element,n),t},htmlGetBBox:function(){var t=this,n=t.element,i=t.bBox;return i||(n.nodeName==="text"&&(n.style.position=si),i=t.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}),i},htmlUpdateTransform:function(){if(!this.added){this.alignOnAdd=!0;return}var i=this,nt=i.renderer,u=i.element,tt=i.translateX||0,it=i.translateY||0,ft=i.x||0,et=i.y||0,h=i.textAlign||"left",f={left:0,center:.5,right:1}[h],ot=h&&h!=="left",rt=i.shadows;if(p(u,{marginLeft:tt,marginTop:it}),rt&&t(rt,function(n){p(n,{marginLeft:tt+1,marginTop:it+1})}),i.inverted&&t(u.childNodes,function(n){nt.invertChild(n,u)}),u.tagName==="SPAN"){var a,w,e=i.rotation,b,k=0,o=1,s=0,d,g=c(i.textWidth),v=i.xCorr||0,y=i.yCorr||0,ut=[e,h,u.innerHTML,i.textWidth].join(",");ut!==i.cTT&&(r(e)&&(k=e*wr,o=ht(k),s=wt(k),i.setSpanRotation(e,s,o)),a=n(i.elemWidth,u.offsetWidth),w=n(i.elemHeight,u.offsetHeight),a>g&&/[ \-]/.test(u.textContent||u.innerText)&&(p(u,{width:g+l,display:"block",whiteSpace:"normal"}),a=g),b=nt.fontMetrics(u.style.fontSize).b,v=o<0&&-a,y=s<0&&-w,d=o*s<0,v+=s*b*(d?1-f:f),y-=o*b*(e?d?f:1-f:1),ot&&(v-=a*f*(o<0?-1:1),e&&(y-=w*f*(s<0?-1:1)),p(u,{textAlign:h})),i.xCorr=v,i.yCorr=y),p(u,{left:ft+v+l,top:et+y+l}),ou&&(w=u.offsetHeight),i.cTT=ut}},setSpanRotation:function(n){var t={},i=wi?"-ms-transform":ou?"-webkit-transform":su?"MozTransform":ie?"-o-transform":"";t[i]=t.transform="rotate("+n+"deg)",p(this.element,t)},updateTransform:function(){var t=this,u=t.translateX||0,f=t.translateY||0,e=t.scaleX,o=t.scaleY,h=t.inverted,c=t.rotation,i;h&&(u+=t.attr("width"),f+=t.attr("height")),i=["translate("+u+","+f+")"],h?i.push("rotate(90) scale(-1,1)"):c&&i.push("rotate("+c+" "+(t.x||0)+" "+(t.y||0)+")"),(r(e)||r(o))&&i.push("scale("+n(e,1)+" "+n(o,1)+")"),i.length&&s(t.element,"transform",i.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,r){var f,e,s,h,o={},c,l=this.renderer,a=l.alignedObjects;return t?(this.alignOptions=t,this.alignByTranslate=i,(!r||gt(r))&&(this.alignTo=c=r||"renderer",ti(a,this),a.push(this),r=null)):(t=this.alignOptions,i=this.alignByTranslate,c=this.alignTo),r=n(r,l[c],l),f=t.align,e=t.verticalAlign,s=(r.x||0)+(t.x||0),h=(r.y||0)+(t.y||0),(f==="right"||f==="center")&&(s+=(r.width-(t.width||0))/{right:1,center:2}[f]),o[i?"translateX":"x"]=u(s),(e==="bottom"||e==="middle")&&(h+=(r.height-(t.height||0))/({bottom:1,middle:2}[e]||1)),o[i?"translateY":"y"]=u(h),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},getBBox:function(){var t=this,n=t.bBox,o=t.renderer,f,i,s=t.rotation,r=t.element,h=t.styles,u=s*wr;if(!n){if(r.namespaceURI===bi||o.forExport){try{n=r.getBBox?e({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight}}catch(c){}(!n||n.width<0)&&(n={width:0,height:0})}else n=t.htmlGetBBox();o.isSVG&&(f=n.width,i=n.height,wi&&h&&h.fontSize==="11px"&&i.toPrecision(3)==="22.7"&&(n.height=i=14),s&&(n.width=w(i*wt(u))+w(f*ht(u)),n.height=w(i*ht(u))+w(f*wt(u)))),t.bBox=n}return n},show:function(){return this.attr({visibility:kt})},hide:function(){return this.attr({visibility:vt})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.hide()}})},add:function(n){var e=this.renderer,o=n||e,h=o.element||e.box,v=h.childNodes,i=this.element,t=s(i,"zIndex"),u,l,f,y;if(n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==undefined&&e.buildText(this),t&&(o.handleZ=!0,t=c(t)),o.handleZ)for(f=0;f<v.length;f++)if(u=v[f],l=s(u,"zIndex"),u!==i&&(c(l)>t||!r(t)&&r(l))){h.insertBefore(i,u),y=!0;break}return y||h.appendChild(i),this.added=!0,a(this,"add"),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},f=n.shadows,r=n.renderer.isSVG&&i.nodeName==="SPAN"&&n.parentGroup,e,o,u;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=i.point=null,iu(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(i),f&&t(f,function(t){n.safeRemoveChild(t)});r&&r.div.childNodes.length===0;)e=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=e;n.alignTo&&ti(n.renderer.alignedObjects,n);for(o in n)delete n[o];return null},shadow:function(t,r,u){var l=[],e,f,c=this.element,o,h,a,v;if(t){for(h=n(t.width,3),a=(t.opacity||.15)/h,v=this.parentInverted?"(-1,-1)":"("+n(t.offsetX,1)+", "+n(t.offsetY,1)+")",e=1;e<=h;e++)f=c.cloneNode(0),o=h*2+1-2*e,s(f,{isShadow:"true",stroke:t.color||"black","stroke-opacity":a*e,"stroke-width":o,transform:"translate"+v,fill:ut}),u&&(s(f,"height",i(s(f,"height")-o,0)),f.cutHeight=o),r?r.element.appendChild(f):c.parentNode.insertBefore(f,c),l.push(f);this.shadows=l}return this}},vi=function(){this.init.apply(this,arguments)},vi.prototype={Element:nr,init:function(n,t,i,r){var u=this,v=location,o,e,a,c,f;o=u.createElement("svg").attr({version:"1.1"}),e=o.element,n.appendChild(e),n.innerHTML.indexOf("xmlns")===-1&&s(e,"xmlns",bi),u.isSVG=!0,u.box=e,u.boxWrapper=o,u.alignedObjects=[],u.url=(su||ou)&&h.getElementsByTagName("base").length?v.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",a=this.createElement("desc").add(),a.element.appendChild(h.createTextNode("Created with "+fe+" "+ee)),u.defs=this.createElement("defs").add(),u.forExport=r,u.gradients={},u.setSize(t,i,!1),su&&n.getBoundingClientRect&&(u.subPixelFix=c=function(){p(n,{left:0,top:0}),f=n.getBoundingClientRect(),p(n,{left:yi(f.left)-f.left+l,top:yi(f.top)-f.top+l})},c(),d(g,"resize",c))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this,t=n.defs;return n.box=null,n.boxWrapper=n.boxWrapper.destroy(),lr(n.gradients||{}),n.gradients=null,t&&(n.defs=t.destroy()),n.subPixelFix&&pt(g,"resize",n.subPixelFix),n.alignedObjects=null,null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},buildText:function(i){for(var r=i.element,f=this,l=f.forExport,e=n(i.textStr,"").toString().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),a=r.childNodes,v=/style="([^"]+)"/,y=/href="(http[^"]+)"/,w=s(r,"x"),o=i.styles,u=i.textWidth,b=o&&o.lineHeight,k=a.length;k--;)r.removeChild(a[k]);u&&!i.added&&this.box.appendChild(r),e[e.length-1]===""&&e.pop(),t(e,function(n,e){var a,k=0;n=n.replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||"),a=n.split("|||"),t(a,function(n){var nt,t,tt;if((n!==""||a.length===1)&&(nt={},t=h.createElementNS(bi,"tspan"),v.test(n)&&(tt=n.match(v)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),s(t,"style",tt)),y.test(n)&&!l&&(s(t,"onclick",'location.href="'+n.match(y)[1]+'"'),p(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">"),n!==" "&&(t.appendChild(h.createTextNode(n)),k?nt.dx=0:nt.x=w,s(t,nt),!k&&e&&(!ct&&l&&p(t,{display:"block"}),s(t,"dy",b||f.fontMetrics(/px$/.test(t.style.fontSize)?t.style.fontSize:o.fontSize).h,ou&&t.offsetHeight)),r.appendChild(t),k++,u)))for(var d=n.replace(/([^\^])-/g,"$1- ").split(" "),rt,g,ut=i._clipHeight,it=[],ft=c(b||16),et=1,ot;d.length||it.length;)delete i.bBox,ot=i.getBBox(),g=ot.width,!ct&&f.forExport&&(g=f.measureSpanWidth(t.firstChild.data,i.styles)),rt=g>u,rt&&d.length!==1?(t.removeChild(t.firstChild),it.unshift(d.pop())):(d=it,it=[],d.length&&(et++,ut&&et*ft>ut?(d=["..."],i.attr("title",i.textStr)):(t=h.createElementNS(bi,"tspan"),s(t,{dy:ft,x:w}),tt&&s(t,"style",tt),r.appendChild(t),g>u&&(u=g)))),d.length&&t.appendChild(h.createTextNode(d.join(" ").replace(/- /g,"-")))})})},button:function(n,t,i,r,u,f,s,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),v=0,k,g,y,p,w,nt,a="style",b={x1:0,y1:0,x2:0,y2:1};return u=o({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:b,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},u),y=u[a],delete u[a],f=o(u,{stroke:"#68A",fill:{linearGradient:b,stops:[[0,"#FFF"],[1,"#ACF"]]}},f),p=f[a],delete f[a],s=o(u,{stroke:"#68A",fill:{linearGradient:b,stops:[[0,"#9BD"],[1,"#CDF"]]}},s),w=s[a],delete s[a],h=o(u,{style:{color:"#CCC"}},h),nt=h[a],delete h[a],d(l.element,wi?"mouseover":"mouseenter",function(){v!==3&&l.attr(f).css(p)}),d(l.element,wi?"mouseout":"mouseleave",function(){v!==3&&(k=[u,f,s][v],g=[y,p,w][v],l.attr(k).css(g))}),l.setState=function(n){l.state=v=n,n?n===2?l.attr(s).css(w):n===3&&l.attr(h).css(nt):l.attr(u).css(y)},l.on("click",function(){v!==3&&r.call(l)}).attr(u).css(e({cursor:"default"},y))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=u(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=u(n[2])+t%2/2),n},path:function(n){var t={fill:ut};return hr(n)?t.d=n:et(n)&&e(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){var r=et(n)?n:{x:n,y:t,r:i};return this.createElement("circle").attr(r)},arc:function(n,t,i,r,u,f){var e;return et(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),e=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),e.r=i,e},rect:function(n,t,r,u,f,e){f=et(n)?n.r:f;var o=this.createElement("rect").attr({rx:f,ry:f,fill:ut});return o.attr(et(n)?n:o.crisp(e,n,t,i(r,0),i(u,0)))},setSize:function(t,i,r){var u=this,f=u.alignedObjects,e=f.length;for(u.width=t,u.height=i,u.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});e--;)f[e].align()},g:function(n){var t=this.createElement("g");return r(n)?t.attr({"class":ft+n}):t},image:function(n,t,i,r,u){var o={preserveAspectRatio:ut},f;return arguments.length>1&&e(o,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(o),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,f,o){var s,a=this.symbols[n],v=a&&a(u(t),u(i),r,f,o),p,y=/^url\((.*?)\)$/,h,c,l;return v?(s=this.path(v),e(s,{symbolName:n,x:t,y:i,width:r,height:f}),o&&e(s,o)):y.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(u((r-t[0])/2),u((f-t[1])/2)))},h=n.match(y)[1],c=ue[h],s=this.image(h).attr({x:t,y:i}),s.isImg=!0,c?l(s,c):(s.attr({width:0,height:0}),p=ot("img",{onload:function(){l(s,ue[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return[k,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[k,n,t,b,n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return[k,n+i/2,t,b,n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return[k,n,t,b,n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return[k,n+i/2,t,b,n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var o=u.start,f=u.r||i||r,s=u.end-.001,e=u.innerR,h=u.open,c=ht(o),l=wt(o),a=ht(s),v=wt(s),y=u.end-o<pi?0:1;return[k,n+f*c,t+f*l,"A",f,f,0,y,1,n+f*a,t+f*v,h?k:b,n+e*a,t+e*v,"A",e,e,0,y,0,n+e*c,t+e*l,h?"":"Z"]}},clipRect:function(n,t,i,r){var u,f=ft+tf++,e=this.createElement("clipPath").attr({id:f}).add(this.defs);return u=this.rect(n,t,i,r,0).add(e),u.id=f,u.clipPath=e,u},color:function(n,i,u){var v=this,l,g=/^rgba/,h,f,y,p,w,b,k,e,a,d,c=[];if(n&&n.linearGradient?h="linearGradient":n&&n.radialGradient&&(h="radialGradient"),h){f=n[h],y=v.gradients,w=n.stops,e=i.radialReference,hr(f)&&(n[h]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"}),h==="radialGradient"&&e&&!r(f.gradientUnits)&&(f=o(f,{cx:e[0]-e[2]/2+f.cx*e[2],cy:e[1]-e[2]/2+f.cy*e[2],r:f.r*e[2],gradientUnits:"userSpaceOnUse"}));for(a in f)a!=="id"&&c.push(a,f[a]);for(a in w)c.push(w[a]);return c=c.join(","),y[c]?d=y[c].id:(f.id=d=ft+tf++,y[c]=p=v.createElement(h).attr(f).add(v.defs),p.stops=[],t(w,function(n){var t;g.test(n[1])?(l=ai(n[1]),b=l.get("rgb"),k=l.get("a")):(b=n[1],k=1),t=v.createElement("stop").attr({offset:n[0],"stop-color":b,"stop-opacity":k}).add(p),p.stops.push(t)})),"url("+v.url+"#"+d+")"}return g.test(n)?(l=ai(n),s(i,u+"-opacity",l.get("a")),l.get("rgb")):(i.removeAttribute(u+"-opacity"),n)},text:function(t,i,r,f){var o=this,s=it.chart.style,h=bt||!ct&&o.forExport,e;return f&&!o.forExport?o.html(t,i,r):(i=u(n(i,0)),r=u(n(r,0)),e=o.createElement("text").attr({x:i,y:r,text:t}).css({fontFamily:s.fontFamily,fontSize:s.fontSize}),h&&e.css({position:si}),e.x=i,e.y=r,e)},html:function(n,i,r){var c=it.chart.style,f=this.createElement("span"),o=f.attrSetters,h=f.element,a=f.renderer;return o.text=function(n){return n!==h.innerHTML&&delete this.bBox,h.innerHTML=n,!1},o.x=o.y=o.align=function(n,t){return t==="align"&&(t="textAlign"),f[t]=n,f.htmlUpdateTransform(),!1},f.attr({text:n,x:u(i),y:u(r)}).css({position:si,whiteSpace:"nowrap",fontFamily:c.fontFamily,fontSize:c.fontSize}),f.css=f.htmlCss,a.isSVG&&(f.add=function(n){var i,u=a.box.parentNode,r,o=[];if(this.parentGroup=n,n){if(i=n.div,!i){for(r=n;r;)o.push(r),r=r.parentGroup;t(o.reverse(),function(n){var t;i=n.div=n.div||ot(rr,{className:s(n.element,"class")},{position:si,left:(n.translateX||0)+l,top:(n.translateY||0)+l},i||u),t=i.style,e(n.attrSetters,{translateX:function(n){t.left=n+l},translateY:function(n){t.top=n+l},visibility:function(n,i){t[i]=n}})})}}else i=u;return i.appendChild(h),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f},fontMetrics:function(n){n=c(n||11);var t=n<24?n+4:u(n*1.2),i=u(t*.8);return{h:t,b:i}},label:function(n,i,s,h,c,l,a,v,y){function wt(){var n,t,i=b.element.style;nt=(it===undefined||st===undefined||p.styles.textAlign)&&b.getBBox(),p.width=(it||nt.width||0)+2*g+et,p.height=(st||nt.height||0)+2*g,lt=g+tt.fontMetrics(i&&i.fontSize).b,at&&(k||(n=u(-ft*g),t=v?-lt:0,p.box=k=h?tt.symbol(h,n,t,p.width,p.height,rt):tt.rect(n,t,p.width,p.height,0,rt[he]),k.add(p)),k.isImg||k.attr(o({width:p.width,height:p.height},rt)),rt=null)}function ot(){var u=p.styles,i=u&&u.textAlign,n=et+g*(1-ft),t;t=v?0:lt,r(it)&&(i==="center"||i==="right")&&(n+={center:.5,right:1}[i]*(it-nt.width)),(n!==b.x||t!==b.y)&&b.attr({x:n,y:t}),b.x=n,b.y=t}function ut(n,t){k?k.attr(n,t):rt[n]=t}function vt(){b.add(p),p.attr({text:n,x:i,y:s}),k&&r(c)&&p.attr({anchorX:c,anchorY:l})}var tt=this,p=tt.g(y),b=tt.text("",0,0,a).attr({zIndex:1}),k,nt,ft=0,g=3,et=0,it,st,ht,ct,yt=0,rt={},lt,w=p.attrSetters,at,bt;return d(p,"add",vt),w.width=function(n){return it=n,!1},w.height=function(n){return st=n,!1},w.padding=function(n){return r(n)&&n!==g&&(g=n,ot()),!1},w.paddingLeft=function(n){return r(n)&&n!==et&&(et=n,ot()),!1},w.align=function(n){return ft={left:0,center:.5,right:1}[n],!1},w.text=function(n,t){return b.attr(t,n),wt(),ot(),!1},w[he]=function(n,t){return at=!0,yt=n%2/2,ut(t,n),!1},w.stroke=w.fill=w.r=function(n,t){return t==="fill"&&(at=!0),ut(t,n),!1},w.anchorX=function(n,t){return c=n,ut(t,n+yt-ht),!1},w.anchorY=function(n,t){return l=n,ut(t,n-ct),!1},w.x=function(n){return p.x=n,n-=ft*((it||nt.width)+g),ht=u(n),p.attr("translateX",ht),!1},w.y=function(n){return ct=p.y=u(n),p.attr("translateY",ct),!1},bt=p.css,e(p,{css:function(n){if(n){var i={};n=o(n),t(["fontSize","fontWeight","fontFamily","color","lineHeight","width","textDecoration","textShadow"],function(t){n[t]!==f&&(i[t]=n[t],delete n[t])}),b.css(i)}return bt.call(p,n)},getBBox:function(){return{width:nt.width+2*g,height:nt.height+2*g,x:nt.x-g,y:nt.y-g}},shadow:function(n){return k&&k.shadow(n),p},destroy:function(){pt(p,"add",vt),pt(p.element,"mouseenter"),pt(p.element,"mouseleave"),b&&(b=b.destroy()),k&&(k=k.destroy()),nr.prototype.destroy.call(p),p=tt=wt=ot=ut=vt=null}})}},br=vi,ct||bt||(Highcharts.VMLElement=ku={init:function(n,t){var r=this,i=["<",t,' filled="f" stroked="f"'],u=["position: ",si,";"],f=t===rr;(t==="shape"||f)&&u.push("left:0;top:0;width:1px;height:1px;"),u.push("visibility: ",f?vt:kt),i.push(' style="',u.join(""),'"/>'),t&&(i=f||t==="span"||t==="img"?i.join(""):n.prepVML(i),r.element=ot(i)),r.renderer=n,r.attrSetters={}},add:function(n){var t=this,i=t.renderer,r=t.element,f=i.box,e=n&&n.inverted,u=n?n.element||n:f;return e&&i.invertChild(r,u),u.appendChild(r),t.added=!0,t.alignOnAdd&&!t.deferUpdateTransform&&t.updateTransform(),a(t,"add"),t},updateTransform:nr.prototype.htmlUpdateTransform,setSpanRotation:function(n,t,i){p(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",i,", M12=",-t,", M21=",t,", M22=",i,", sizingMethod='auto expand')"].join(""):ut})},pathToVML:function(n){for(var t=n.length,i=[],r;t--;)di(n[t])?i[t]=u(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at")&&(r=n[t]==="wa"?1:-1,i[t+5]===i[t+7]&&(i[t+7]-=r),i[t+6]===i[t+8]&&(i[t+8]-=r)));return i.join(" ")||"x"},attr:function(n,t){var h=this,e,o,v,b,c=h.element||{},p=c.style,w=c.nodeName,k=h.renderer,it=h.symbolName,d,y=h.shadows,a,g=h.attrSetters,nt=h,tt;if(gt(n)&&r(t)&&(e=n,n={},n[e]=t),gt(n))e=n,nt=e==="strokeWidth"||e==="stroke-width"?h.strokeweight:h[e];else for(e in n)if(o=n[e],a=!1,b=g[e]&&g[e].call(h,o,e),b!==!1&&o!==null){if(b!==f&&(o=b),it&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(e))d||(h.symbolAttr(n),d=!0),a=!0;else if(e==="d"){if(o=o||[],h.d=o.join(" "),c.path=o=h.pathToVML(o),y)for(v=y.length;v--;)y[v].path=y[v].cutOff?this.cutOffPath(o,y[v].cutOff):o;a=!0}else if(e==="visibility"){if(y)for(v=y.length;v--;)y[v].style[e]=o;w==="DIV"&&(o=o===vt?"-999em":0,eu||(p[e]=o?kt:vt),e="top"),p[e]=o,a=!0}else e==="zIndex"?(o&&(p[e]=o),a=!0):li(e,["x","y","width","height"])!==-1?(h[e]=o,e==="x"||e==="y"?e={x:"left",y:"top"}[e]:o=i(0,o),h.updateClipping?(h[e]=o,h.updateClipping()):p[e]=o,a=!0):e==="class"&&w==="DIV"?c.className=o:e==="stroke"?(o=k.color(o,c,e),e="strokecolor"):e==="stroke-width"||e==="strokeWidth"?(c.stroked=o?!0:!1,e="strokeweight",h[e]=o,di(o)&&(o+=l)):e==="dashstyle"?(tt=c.getElementsByTagName("stroke")[0]||ot(k.prepVML(["<stroke/>"]),null,null,c),tt[e]=o||"solid",h.dashstyle=o,a=!0):e==="fill"?w==="SPAN"?p.color=o:w!=="IMG"&&(c.filled=o!==ut?!0:!1,o=k.color(o,c,e,h),e="fillcolor"):e==="opacity"?a=!0:w==="shape"&&e==="rotation"?(h[e]=c.style[e]=o,c.style.left=-u(wt(o*wr)+1)+l,c.style.top=u(ht(o*wr))+l):e==="translateX"||e==="translateY"||e==="rotation"?(h[e]=o,h.updateTransform(),a=!0):e==="text"&&(this.bBox=null,c.innerHTML=o,a=!0);a||(eu?c[e]=o:s(c,e,o))}return nt},clip:function(n){var t=this,i,r;return n?(i=n.members,ti(i,t),i.push(t),t.destroyClip=function(){ti(i,t)},r=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),r={clip:eu?"inherit":"rect(auto)"}),t.css(r)},css:nr.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&nu(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),nr.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=g.event;n.target=n.srcElement,t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=c(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,h,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)h=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,h+.5)),s=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',l,'" coordsize="10 10" style="',e.style.cssText,'" />'],u=ot(y.prepVML(s),null,{left:c(p.left)+n(t.offsetX,1),top:c(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=h+1),s=['<stroke color="',t.color||"black",'" opacity="',w*f,'"/>'],ot(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this}},ku=ii(nr,ku),de={Element:ku,isIE8:ei.indexOf("MSIE 8.0")>-1,init:function(n,t,i){var r=this,u,f,e;if(r.alignedObjects=[],u=r.createElement(rr),f=u.element,f.style.position=uf,n.appendChild(u.element),r.isVML=!0,r.box=f,r.boxWrapper=u,r.setSize(t,i,!1),!h.namespaces.hcv){h.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),e="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ";try{h.createStyleSheet().cssText=e}catch(o){h.styleSheets[0].cssText+=e}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,i,r,f){var s=this.createElement(),o=et(n);return e(s,{members:[],left:(o?n.x:n)+1,top:(o?n.y:i)+1,width:(o?n.width:r)-1,height:(o?n.height:f)-1,getCSS:function(n){var h=n.element,c=h.nodeName,v=c==="shape",t=n.inverted,i=this,r=i.top-(v?h.offsetTop:0),f=i.left,o=f+i.width,s=r+i.height,a={clip:"rect("+u(t?f:r)+"px,"+u(t?s:o)+"px,"+u(t?o:s)+"px,"+u(t?r:f)+"px)"};return!t&&eu&&c==="DIV"&&e(a,{width:o+l,height:s+l}),a},updateClipping:function(){t(s.members,function(n){n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var gt=this,o,g=/^rgba/,v,c,l=ut,p;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var s,y,f=n.linearGradient||n.radialGradient,nt,tt,ft,et,st,ht,ct,lt,w="",h=n.stops,b,k,at=[],vt=function(){v=['<fill colors="'+at.join(",")+'" opacity="',ht,'" o:opacity2="',st,'" type="',c,'" ',w,'focus="100%" method="any" />'],ot(gt.prepVML(v),null,null,i)};if(b=h[0],k=h[h.length-1],b[0]>0&&h.unshift([0,b[1]]),k[0]<1&&h.push([1,k[1]]),t(h,function(n,t){g.test(n[1])?(o=ai(n[1]),s=o.get("rgb"),y=o.get("a")):(s=n[1],y=1),at.push(n[0]*100+"% "+s),t?(ht=y,ct=s):(st=y,lt=s)}),r==="fill")if(c==="gradient")nt=f.x1||f[0]||0,tt=f.y1||f[1]||0,ft=f.x2||f[2]||0,et=f.y2||f[3]||0,w='angle="'+(90-rt.atan((et-tt)/(ft-nt))*180/pi)+'"',vt();else{var yt=f.r,pt=yt*2,wt=yt*2,bt=f.cx,kt=f.cy,a=i.radialReference,e,dt=function(){a&&(e=u.getBBox(),bt+=(a[0]-e.x)/e.width-.5,kt+=(a[1]-e.y)/e.height-.5,pt*=a[2]/e.width,wt*=a[2]/e.height),w='src="'+it.global.VMLRadialGradientURL+'" size="'+pt+","+wt+'" origin="0.5,0.5" position="'+bt+","+kt+'" color2="'+lt+'" ',vt()};u.added?dt():d(u,"add",dt),l=ct}else l=s}else g.test(n)&&i.tagName!=="IMG"?(o=ai(n),v=["<",r,' opacity="',o.get("a"),'"/>'],ot(this.prepVML(v),null,null,i),l=o.get("rgb")):(p=i.getElementsByTagName(r),p.length&&(p[0].opacity=1,p[0].type="solid"),l=n);return l},prepVML:function(n){var t="display:inline-block;behavior:url(#default#VML);",i=this.isIE8;return n=n.join(""),i?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="'+t+'" />'):n.replace('style="','style="'+t)):n=n.replace("<","<hcv:"),n},text:vi.prototype.html,path:function(n){var t={coordsize:"10 10"};return hr(n)?t.d=n:et(n)&&e(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return et(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:ft+n,"class":ft+n}),this.createElement(rr).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},rect:function(n,t,r,u,f,e){var o=this.symbol("rect");return o.r=et(n)?n.r:f,o.attr(et(n)?n:o.crisp(e,n,t,i(r,0),i(u,0)))},invertChild:function(n,t){var i=t.style;p(n,{flip:"x",left:c(i.width)-1,top:c(i.height)-1,rotation:-90})},symbols:{arc:function(n,t,i,r,u){var s=u.start,h=u.end,e=u.r||i||r,f=u.innerR,c=ht(s),l=wt(s),a=ht(h),v=wt(h),o;return h-s==0?["x"]:(o=["wa",n-e,t-e,n+e,t+e,n+e*c,t+e*l,n+e*a,t+e*v],u.open&&!f&&o.push("e",k,n,t),o.push("at",n-f,t-f,n+f,t+f,n+f*a,t+f*v,n+f*c,t+f*l,"x","e"),o.isArc=!0,o)},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){var o=n+i,s=t+u,h,e;return r(f)&&f.r?(e=v(f.r,i,u),h=[k,n+e,t,b,o-e,t,"wa",o-2*e,t,o,t+2*e,o-e,t,o,t+e,b,o,s-e,"wa",o-2*e,s-2*e,o,s,o,s-e,o-e,s,b,n+e,s,"wa",n,s-2*e,n+2*e,s,n+e,s,n,s-e,b,n,t+e,"wa",n,t,n+2*e,t+2*e,n,t+e,n+e,t,"x","e"]):h=vi.prototype.symbols.square.apply(0,arguments),h}}},Highcharts.VMLRenderer=wf=function(){this.init.apply(this,arguments)},wf.prototype=o(vi.prototype,de),br=wf),vi.prototype.measureSpanWidth=function(n,t){var i=h.createElement("span"),r=h.createTextNode(n);return i.appendChild(r),p(i,t),this.box.appendChild(i),i.offsetWidth},bt&&(Highcharts.CanVGRenderer=bf=function(){bi="http://www.w3.org/1999/xhtml"},bf.prototype.symbols={},ge=function(){function t(){for(var i=n.length,t=0;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){n.length===0&&ho(r,t),n.push(i)}}}(),br=bf),pr.prototype={addLabel:function(){var s=this,t=s.axis,d=t.options,c=t.chart,g=t.horiz,p=t.categories,ut=t.names,o=s.pos,f=d.labels,v,h=t.tickPositions,w=g&&p&&!f.step&&!f.staggerLines&&!f.rotation&&c.plotWidth/h.length||!g&&(c.margin[3]||c.chartWidth*.33),nt=o===h[0],tt=o===h[h.length-1],a,y,it=p?n(p[o],ut[o],o):o,b=s.label,k=h.info,rt;t.isDatetimeAxis&&k&&(rt=d.dateTimeLabelFormats[k.higherRanks[o]||k.unitName]),s.isFirst=nt,s.isLast=tt,v=t.labelFormatter.call({axis:t,chart:c,isFirst:nt,isLast:tt,dateTimeLabelFormat:rt,value:t.isLog?ri(ni(it)):it}),a=w&&{width:i(1,u(w-2*(f.padding||10)))+l},a=e(a,f.style),r(b)?b&&b.attr({text:v}).css(a):(y={align:t.labelAlign},di(f.rotation)&&(y.rotation=f.rotation),w&&f.ellipsis&&(y._clipHeight=t.len/h.length),s.label=r(v)&&f.enabled?c.renderer.text(v,0,0,f.useHTML).attr(y).css(a).add(t.labelGroup):null)},getLabelSize:function(){var n=this.label,t=this.axis;return n?(this.labelBBox=n.getBBox())[t.horiz?"height":"width"]:0},getLabelSides:function(){var r=this.labelBBox,n=this.axis,u=n.options,f=u.labels,t=r.width,i=t*{left:0,center:.5,right:1}[n.labelAlign]-f.x;return[-i,t-i]},handleOverflow:function(n,t){var e=!0,u=this.axis,p=u.chart,f=this.isFirst,c=this.isLast,i=t.x,l=u.reversed,w=u.tickPositions;if(f||c){var a=this.getLabelSides(),o=a[0],s=a[1],h=p.plotLeft,v=h+u.len,r=u.ticks[w[n+(f?1:-1)]],y=r&&r.label.xy&&r.label.xy.x+r.getLabelSides()[f?0:1];f&&!l||c&&l?i+o<h&&(i=h-o,r&&i+s>y&&(e=!1)):i+s>v&&(i=v-s,r&&i+o<y&&(e=!1)),t.x=i}return e},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,e,o,s){var h=this.axis,v=h.transA,y=h.reversed,c=h.staggerLines,l=h.chart.renderer.fontMetrics(f.style.fontSize).b,a=f.rotation;return n=n+f.x-(e&&u?e*v*(y?-1:1):0),t=t+f.y-(e&&!u?e*v*(y?1:-1):0),a&&h.side===2&&(t-=l-l*ht(a*wr)),r(f.y)||a||(t+=l-i.getBBox().height/2),c&&(t+=o/(s||1)%c*(h.labelOffset/c)),{x:n,y:t}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine([k,n,t,b,n+(u?0:-i),t+(u?i:0)],r)},render:function(t,i,r){var u=this,e=u.axis,o=e.options,lt=e.chart,g=lt.renderer,h=e.horiz,l=u.type,a=u.label,ot=u.pos,nt=o.labels,y=u.gridLine,tt=l?l+"Grid":"grid",p=l?l+"Tick":"tick",w=o[tt+"LineWidth"],at=o[tt+"LineColor"],st=o[tt+"LineDashStyle"],c=o[p+"Length"],it=o[p+"Width"]||0,vt=o[p+"Color"],yt=o[p+"Position"],b,ht=u.mark,rt,ut=nt.step,v,k=!0,ft=e.tickmarkOffset,s=u.getPosition(h,ot,ft,i),d=s.x,et=s.y,ct=h&&d===e.pos+e.len||!h&&et===e.pos?-1:1,pt=e.staggerLines;this.isActive=!0,w&&(b=e.getPlotLinePath(ot+ft,w*ct,i,!0),y===f&&(v={stroke:at,"stroke-width":w},st&&(v.dashstyle=st),l||(v.zIndex=1),i&&(v.opacity=0),u.gridLine=y=w?g.path(b).attr(v).add(e.gridGroup):null),!i&&y&&b&&y[u.isNew?"attr":"animate"]({d:b,opacity:r})),it&&c&&(yt==="inside"&&(c=-c),e.opposite&&(c=-c),rt=u.getMarkPath(d,et,c,it*ct,h,g),ht?ht.animate({d:rt,opacity:r}):u.mark=g.path(rt).attr({stroke:vt,"stroke-width":it,opacity:r}).add(e.axisGroup)),a&&!isNaN(d)&&(a.xy=s=u.getLabelPosition(d,et,a,h,nt,ft,t,ut),(!u.isFirst||u.isLast||n(o.showFirstLabel,1))&&(!u.isLast||u.isFirst||n(o.showLastLabel,1))?pt||!h||nt.overflow!=="justify"||u.handleOverflow(t,s)||(k=!1):k=!1,ut&&t%ut&&(k=!1),k&&!isNaN(s.y)?(s.opacity=r,a[u.isNew?"attr":"animate"](s),u.isNew=!1):a.attr("y",-9999))},destroy:function(){lr(this,this.axis)}},kf.prototype={render:function(){var s=this,e=s.axis,w=e.horiz,ut=(e.pointRange||0)/2,u=s.options,f=u.label,h=s.label,b=u.width,y=u.to,p=u.from,l=r(p)&&r(y),k=u.value,ft=u.dashStyle,c=s.svgElem,t=[],et,ot,d,g,nt,tt,st=u.color,it=u.zIndex,rt=u.events,a,ht=e.chart.renderer;if(e.isLog&&(p=ci(p),y=ci(y),k=ci(k)),b)t=e.getPlotLinePath(k,b),a={stroke:st,"stroke-width":b},ft&&(a.dashstyle=ft);else if(l)p=i(p,e.min-ut),y=v(y,e.max+ut),t=e.getPlotBandPath(p,y,u),a={fill:st},u.borderWidth&&(a.stroke=u.borderColor,a["stroke-width"]=u.borderWidth);else return;if(r(it)&&(a.zIndex=it),c)t?c.animate({d:t},null,c.onGetPath):(c.hide(),c.onGetPath=function(){c.show()},h&&(s.label=h=h.destroy()));else if(t&&t.length&&(s.svgElem=c=ht.path(t).attr(a).add(),rt)){et=function(n){c.on(n,function(t){rt[n].apply(s,[t])})};for(ot in rt)et(ot)}return f&&r(f.text)&&t&&t.length&&e.width>0&&e.height>0?(f=o({align:w&&l&&"center",x:w?!l&&4:10,verticalAlign:!w&&l&&"middle",y:w?l?16:10:l?6:-4,rotation:w&&!l&&90},f),h||(s.label=h=ht.text(f.text,0,0,f.useHTML).attr({align:f.textAlign||f.align,rotation:f.rotation,zIndex:it}).css(f.style).add()),d=[t[1],t[4],n(t[6],t[1])],g=[t[2],t[5],n(t[7],t[2])],nt=cr(d),tt=cr(g),h.align(f,!1,{x:nt,y:tt,width:gi(d)-nt,height:gi(g)-tt}),h.show()):h&&h.hide(),s},destroy:function(){ti(this.axis.plotLinesAndBands,this),delete this.axis,lr(this)}},no.prototype={destroy:function(){lr(this,this.axis)},render:function(n){var t=this.options,i=t.format,r=i?or(i,this):t.formatter.call(this);this.label?this.label.attr({text:r,visibility:vt}):this.label=this.axis.chart.renderer.text(r,0,0,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:vt}).add(n)},setOffset:function(n,t){var a=this,o=a.axis,r=o.chart,u=r.inverted,c=this.isNegative,i=o.translate(this.percent?100:this.total,0,0,0,1),v=o.translate(0),f=w(i-v),l=r.xAxis[0].translate(this.x)+n,s=r.plotHeight,y={x:u?c?i:i-f:l,y:u?s-l-t:c?s-i-f:s-i,width:u?f:t,height:u?t:f},e=this.label,h;e&&(e.align(this.alignOptions,null,y),h=e.alignAttr,e.attr({visibility:this.options.crop===!1||r.isInsidePlot(h.x,h.y)?ct?"inherit":kt:vt}))}},du.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:"#C0C0C0",labels:pf,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:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return fr(this.total,-1)},style:pf.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(n,t){var e=t.isX,i=this,s,h;i.horiz=n.inverted?!e:e,i.isXAxis=e,i.xOrY=e?"x":"y",i.opposite=t.opposite,i.side=i.horiz?i.opposite?0:2:i.opposite?1:3,i.setOptions(t);var u=this.options,o=u.type,c=o==="datetime";i.labelFormatter=u.labels.formatter||i.defaultLabelFormatter,i.userOptions=t,i.minPixelPadding=0,i.chart=n,i.reversed=u.reversed,i.zoomEnabled=u.zoomEnabled!==!1,i.categories=u.categories||o==="category",i.names=[],i.isLog=o==="logarithmic",i.isDatetimeAxis=c,i.isLinked=r(u.linkedTo),i.tickmarkOffset=i.categories&&u.tickmarkPlacement==="between"?.5:0,i.ticks={},i.minorTicks={},i.plotLinesAndBands=[],i.alternateBands={},i.len=0,i.minRange=i.userMinRange=u.minRange||u.maxZoom,i.range=u.range,i.offset=u.offset||0,i.stacks={},i.oldStacks={},i.stackExtremes={},i.max=null,i.min=null,h=i.options.events,li(i,n.axes)===-1&&(n.axes.push(i),n[e?"xAxis":"yAxis"].push(i)),i.series=i.series||[],n.inverted&&e&&i.reversed===f&&(i.reversed=!0),i.removePlotBand=i.removePlotBandOrLine,i.removePlotLine=i.removePlotBandOrLine;for(s in h)d(i,s,h[s]);i.isLog&&(i.val2lin=ci,i.lin2val=ni)},setOptions:function(n){this.options=o(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],o(it[this.isXAxis?"xAxis":"yAxis"],n))},update:function(t,i){var r=this.chart;t=r.options[this.xOrY+"Axis"][this.options.index]=o(this.userOptions,t),this.destroy(!0),this._addedPlotLB=this.userMin=this.userMax=f,this.init(r,e(t,{events:f})),r.isDirtyBox=!0,n(i,!0)&&r.redraw()},remove:function(i){var r=this.chart,u=this.xOrY+"Axis";t(this.series,function(n){n.remove(!1)}),ti(r.axes,this),ti(r[u],this),r.options[u].splice(this.options.index,1),t(r[u],function(n,t){n.options.index=t}),this.destroy(),r.isDirtyBox=!0,n(i,!0)&&r.redraw()},defaultLabelFormatter:function(){var r=this.axis,t=this.value,c=r.categories,o=this.dateTimeLabelFormat,u=it.lang.numericSymbols,i=u&&u.length,e,n,s=r.options.labels.format,h=r.isLog?t:r.tickInterval;if(s)n=or(s,this);else if(c)n=t;else if(o)n=lu(o,t);else if(i&&h>=1e3)while(i--&&n===f)e=Math.pow(1e3,i+1),h>=e&&u[i]!==null&&(n=fr(t/e,-1)+u[i]);return n===f&&(n=t>=1e3?fr(t,0):fr(t,-1)),n},getSeriesExtremes:function(){var u=this,f=u.chart;u.hasVisibleSeries=!1,u.dataMin=u.dataMax=null,u.stackExtremes={},u.buildStacks(),t(u.series,function(t){if(t.visible||!f.options.chart.ignoreHiddenSeries){var c=t.options,o,e=c.threshold,s,h;u.hasVisibleSeries=!0,u.isLog&&e<=0&&(e=null),u.isXAxis?(o=t.xData,o.length&&(u.dataMin=v(n(u.dataMin,o[0]),cr(o)),u.dataMax=i(n(u.dataMax,o[0]),gi(o)))):(t.getExtremes(),h=t.dataMax,s=t.dataMin,r(s)&&r(h)&&(u.dataMin=v(n(u.dataMin,s),s),u.dataMax=i(n(u.dataMax,h),h)),r(e)&&(u.dataMin>=e?(u.dataMin=e,u.ignoreMinPadding=!0):u.dataMax<e&&(u.dataMax=e,u.ignoreMaxPadding=!0)))}})},translate:function(n,t,i,r,u,f){var e=this,l=e.len,o=1,c=0,s=r?e.oldTransA:e.transA,a=r?e.oldMin:e.min,h,v=e.minPixelPadding,y=(e.options.ordinal||e.isLog&&u)&&e.lin2val;return s||(s=e.transA),i&&(o*=-1,c=l),e.reversed&&(o*=-1,c-=o*l),t?(n=n*o+c,n-=v,h=n/s+a,y&&(h=e.lin2val(h))):(y&&(n=e.val2lin(n)),f==="between"&&(f=.5),h=o*(n-a)*s+c+o*v+(di(f)?s*f*e.pointRange:0)),h},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,t,i,r){var f=this,e=f.chart,c=f.left,l=f.top,o,s,a,v,y=f.translate(n,null,null,i),p=i&&e.oldChartHeight||e.chartHeight,d=i&&e.oldChartWidth||e.chartWidth,h,w=f.transB;return o=a=u(y+w),s=v=u(p-y-w),isNaN(y)?h=!0:f.horiz?(s=l,v=p-f.bottom,(o<c||o>c+f.width)&&(h=!0)):(o=c,a=d-f.right,(s<l||s>l+f.height)&&(h=!0)),h&&!r?null:e.renderer.crispLine([k,o,s,b,a,v],t||0)},getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t),r=this.getPlotLinePath(n);return r&&i?r.push(i[4],i[5],i[1],i[2]):r=null,r},getLinearTickPositions:function(n,t,i){for(var u,e=ri(tt(t/n)*n),o=ri(yi(i/n)*n),f=[],r=e;r<=o;){if(f.push(r),r=ri(r+n),r===u)break;u=r}return f},getLogTickPositions:function(t,i,r,f){var e=this,y=e.options,p=e.len,o=[],w,l,s,h,b,a,c,v;if(f||(e._minorAutoInterval=null),t>=.5)t=u(t),o=e.getLinearTickPositions(t,i,r);else if(t>=.08)for(w=tt(i),l=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],s=w;s<r+1&&!v;s++)for(b=l.length,h=0;h<b&&!v;h++)a=ci(ni(s)*l[h]),a>i&&(!f||c<=r)&&o.push(c),c>r&&(v=!0),c=a;else{var k=ni(i),d=ni(r),g=y[f?"minorTickInterval":"tickInterval"],nt=g==="auto"?null:g,it=y.tickPixelInterval/(f?5:1),rt=f?p/e.tickPositions.length:p;t=n(nt,e._minorAutoInterval,(d-k)*it/(rt||1)),t=af(t,null,lf(t)),o=vr(e.getLinearTickPositions(t,k,d),ci),f||(e._minorAutoInterval=t/5)}return f||(e.tickInterval=t),o},getMinorTickPositions:function(){var n=this,e=n.options,r=n.tickPositions,u=n.minorTickInterval,t=[],f,i,o;if(n.isLog)for(o=r.length,i=1;i<o;i++)t=t.concat(n.getLogTickPositions(u,r[i-1],r[i],!0));else if(n.isDatetimeAxis&&e.minorTickInterval==="auto")t=t.concat(pe(ye(u),n.min,n.max,e.startOfWeek)),t[0]<n.min&&t.shift();else for(f=n.min+(r[0]-n.min)%u;f<=n.max;f+=u)t.push(f);return t},adjustForMinRange:function(){var i=this,h=i.options,u=i.min,e=i.max,y,b=i.dataMax-i.dataMin>=i.minRange,l,c,p,a,k,s,w,o;i.isXAxis&&i.minRange===f&&!i.isLog&&(r(h.min)||r(h.max)?i.minRange=null:(t(i.series,function(n){for(a=n.xData,k=n.xIncrement?1:a.length-1,c=k;c>0;c--)p=a[c]-a[c-1],(l===f||p<l)&&(l=p)}),i.minRange=v(l*5,i.dataMax-i.dataMin))),e-u<i.minRange&&(o=i.minRange,y=(o-e+u)/2,s=[u-y,n(h.min,u-y)],b&&(s[2]=i.dataMin),u=gi(s),w=[u+o,n(h.max,u+o)],b&&(w[2]=i.dataMax),e=cr(w),e-u<o&&(s[0]=e-o,s[1]=n(h.min,e-o),u=gi(s))),i.min=u,i.max=e},setAxisTranslation:function(n){var u=this,s=u.max-u.min,h=0,f,e=0,o=0,c=u.linkedParent,l,a=u.transA;u.isXAxis&&(c?(e=c.minPointOffset,o=c.pointRangePadding):t(u.series,function(n){var t=n.pointRange,c=n.options.pointPlacement,u=n.closestPointRange;t>s&&(t=0),h=i(h,t),e=i(e,gt(c)?0:t/2),o=i(o,c==="on"?0:t),!n.noSharedTooltip&&r(u)&&(f=r(f)?v(f,u):u)}),l=u.ordinalSlope&&f?u.ordinalSlope/f:1,u.minPointOffset=e=e*l,u.pointRangePadding=o=o*l,u.pointRange=v(h,s),u.closestPointRange=f),n&&(u.oldTransA=a),u.translationSlope=u.transA=a=u.len/(s+o||1),u.transB=u.horiz?u.left:u.bottom,u.minPixelPadding=a*e},setTickPositions:function(u){var f=this,et=f.chart,e=f.options,y=f.isLog,w=f.isDatetimeAxis,b=f.isXAxis,c=f.isLinked,k=f.options.tickPositioner,d=e.maxPadding,g=e.minPadding,l,s,h=e.tickInterval,nt=e.minTickInterval,a=e.tickPixelInterval,o,tt,it=f.categories;if(c?(f.linkedParent=et[b?"xAxis":"yAxis"][e.linkedTo],s=f.linkedParent.getExtremes(),f.min=n(s.min,s.dataMin),f.max=n(s.max,s.dataMax),e.type!==f.linkedParent.options.type&&fi(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax)),y&&(!u&&v(f.min,n(f.dataMin,f.min))<=0&&fi(10,1),f.min=ri(ci(f.min)),f.max=ri(ci(f.max))),f.range&&(f.userMin=f.min=i(f.min,f.max-f.range),f.userMax=f.max,u&&(f.range=null)),f.beforePadding&&f.beforePadding(),f.adjustForMinRange(),it||f.usePercentage||c||!r(f.min)||!r(f.max)||(l=f.max-f.min,l&&(!r(e.min)&&!r(f.userMin)&&g&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=l*g),!r(e.max)&&!r(f.userMax)&&d&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=l*d))),f.min===f.max||f.min===undefined||f.max===undefined?f.tickInterval=1:c&&!h&&a===f.linkedParent.options.tickPixelInterval?f.tickInterval=f.linkedParent.tickInterval:(f.tickInterval=n(h,it?1:(f.max-f.min)*a/i(f.len,a)),!r(h)&&f.len<a&&!this.isRadial&&(tt=!0,f.tickInterval/=4)),b&&!u&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)}),f.setAxisTranslation(!0),f.beforeSetTickPositions&&f.beforeSetTickPositions(),f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval)),f.pointRange&&(f.tickInterval=i(f.pointRange,f.tickInterval)),!h&&f.tickInterval<nt&&(f.tickInterval=nt),w||y||h||(f.tickInterval=af(f.tickInterval,null,lf(f.tickInterval),e)),f.minorTickInterval=e.minorTickInterval==="auto"&&f.tickInterval?f.tickInterval/5:e.minorTickInterval,f.tickPositions=o=e.tickPositions?[].concat(e.tickPositions):k&&k.apply(f,[f.min,f.max]),o||(!f.ordinalPositions&&(f.max-f.min)/f.tickInterval>i(2*f.len,200)&&fi(19,!0),o=w?(f.getNonLinearTimeTicks||pe)(ye(f.tickInterval,e.units),f.min,f.max,e.startOfWeek,f.ordinalPositions,f.closestPointRange,!0):y?f.getLogTickPositions(f.tickInterval,f.min,f.max):f.getLinearTickPositions(f.tickInterval,f.min,f.max),tt&&o.splice(1,o.length-2),f.tickPositions=o),!c){var rt=o[0],ut=o[o.length-1],ft=f.minPointOffset||0,p;e.startOnTick?f.min=rt:f.min-ft>rt&&o.shift(),e.endOnTick?f.max=ut:f.max+ft<ut&&o.pop(),o.length===1&&(p=.001,f.min-=p,f.max+=p)}},setMaxTicks:function(){var i=this.chart,n=i.maxTicks||{},t=this.tickPositions,r=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");!this.isLinked&&!this.isDatetimeAxis&&t&&t.length>(n[r]||0)&&this.options.alignTicks!==!1&&(n[r]=t.length),i.maxTicks=n},adjustTickAmount:function(){var n=this,s=n.chart,o=n._maxTicksKey,t=n.tickPositions,u=s.maxTicks,f,e,i;if(u&&u[o]&&!n.isDatetimeAxis&&!n.categories&&!n.isLinked&&n.options.alignTicks!==!1){if(f=n.tickAmount,e=t.length,n.tickAmount=i=u[o],e<i){while(t.length<i)t.push(ri(t[t.length-1]+n.tickInterval));n.transA*=(e-1)/(i-1),n.max=t[t.length-1]}r(f)&&i!==f&&(n.isDirty=!0)}},setScale:function(){var n=this,i=n.stacks,r,u,e,f;if(n.oldMin=n.min,n.oldMax=n.max,n.oldAxisLength=n.len,n.setAxisSize(),f=n.len!==n.oldAxisLength,t(n.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(e=!0)}),f||e||n.isLinked||n.forceRedraw||n.userMin!==n.oldUserMin||n.userMax!==n.oldUserMax){if(!n.isXAxis)for(r in i)for(u in i[r])i[r][u].total=null,i[r][u].cum=0;n.forceRedraw=!1,n.getSeriesExtremes(),n.setTickPositions(),n.oldUserMin=n.userMin,n.oldUserMax=n.userMax,n.isDirty||(n.isDirty=f||n.min!==n.oldMin||n.max!==n.oldMax)}else if(!n.isXAxis){n.oldStacks&&(i=n.stacks=n.oldStacks);for(r in i)for(u in i[r])i[r][u].cum=i[r][u].total}n.setMaxTicks()},setExtremes:function(t,i,r,u,f){var o=this,s=o.chart;r=n(r,!0),f=e(f,{min:t,max:i}),a(o,"setExtremes",f,function(){o.userMin=t,o.userMax=i,o.eventArgs=f,o.isDirtyExtremes=!0,r&&s.redraw(u)})},zoom:function(n,t){return this.allowZoomOutside||(r(this.dataMin)&&n<=this.dataMin&&(n=f),r(this.dataMax)&&t>=this.dataMax&&(t=f)),this.displayBtn=n!==f||t!==f,this.setExtremes(n,t,!1,f,{trigger:"zoom"}),!0},setAxisSize:function(){var t=this.chart,r=this.options,s=r.offsetLeft||0,c=r.offsetRight||0,h=this.horiz,u,f,e,o;this.left=o=n(r.left,t.plotLeft+s),this.top=e=n(r.top,t.plotTop),this.width=u=n(r.width,t.plotWidth-s+c),this.height=f=n(r.height,t.plotHeight),this.bottom=t.chartHeight-f-e,this.right=t.chartWidth-u-o,this.len=i(h?u:f,0),this.pos=h?o:e},getExtremes:function(){var n=this,t=n.isLog;return{min:t?ri(ni(n.min)):n.min,max:t?ri(ni(n.max)):n.max,dataMin:n.dataMin,dataMax:n.dataMax,userMin:n.userMin,userMax:n.userMax}},getThreshold:function(n){var t=this,i=t.isLog,r=i?ni(t.min):t.min,u=i?ni(t.max):t.max;return r>n||n===null?n=r:u<n&&(n=u),t.translate(n,0,1,0,1)},addPlotBand:function(n){this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new kf(this,n).render(),r=this.userOptions;return i&&(t&&(r[t]=r[t]||[],r[t].push(n)),this.plotLinesAndBands.push(i)),i},autoLabelAlign:function(t){var i=(n(t,0)-this.side*90+720)%360;return i>15&&i<165?"right":i>195&&i<345?"left":"center"},getOffset:function(){var u=this,p=u.chart,w=p.renderer,h=u.options,a=u.tickPositions,s=u.ticks,g=u.horiz,o=u.side,lt=p.inverted?[1,0,3,2][o]:o,nt,it,at=0,vt,yt=0,e=h.title,c=h.labels,l=0,rt=p.axisOffset,pt=p.clipOffset,ut=[-1,1,1,-1][o],ft,v,y=1,wt=n(c.maxStaggerLines,5),et,b,ot,k,st,ht,ct,d;if(u.hasData=nt=u.hasVisibleSeries||r(u.min)&&r(u.max)&&!!a,u.showAxis=it=nt||n(h.showEmpty,!0),u.staggerLines=u.horiz&&c.staggerLines,u.axisGroup||(u.gridGroup=w.g("grid").attr({zIndex:h.gridZIndex||1}).add(),u.axisGroup=w.g("axis").attr({zIndex:h.zIndex||2}).add(),u.labelGroup=w.g("axis-labels").attr({zIndex:c.zIndex||7}).add()),nt||u.isLinked){if(u.labelAlign=n(c.align||u.autoLabelAlign(c.rotation)),t(a,function(n){s[n]?s[n].addLabel():s[n]=new pr(u,n)}),u.horiz&&!u.staggerLines&&wt&&!c.rotation){for(et=u.reversed?[].concat(a).reverse():a;y<wt;){for(b=[],ot=!1,v=0;v<et.length;v++)k=et[v],st=s[k].label&&s[k].label.getBBox(),ct=st?st.width:0,d=v%y,ct&&(ht=u.translate(k),b[d]!==f&&ht<b[d]&&(ot=!0),b[d]=ht+ct);if(ot)y++;else break}y>1&&(u.staggerLines=y)}t(a,function(n){(o===0||o===2||{1:"left",3:"right"}[o]===u.labelAlign)&&(l=i(s[n].getLabelSize(),l))}),u.staggerLines&&(l*=u.staggerLines,u.labelOffset=l)}else for(ft in s)s[ft].destroy(),delete s[ft];e&&e.text&&e.enabled!==!1&&(u.axisTitle||(u.axisTitle=w.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:e.textAlign||{low:"left",middle:"center",high:"right"}[e.align]}).css(e.style).add(u.axisGroup),u.axisTitle.isNew=!0),it&&(at=u.axisTitle.getBBox()[g?"height":"width"],yt=n(e.margin,g?5:10),vt=e.offset),u.axisTitle[it?"show":"hide"]()),u.offset=ut*n(h.offset,rt[o]),u.axisTitleMargin=n(vt,l+yt+(o!==2&&l&&ut*h.labels[g?"y":"x"])),rt[o]=i(rt[o],u.axisTitleMargin+at+ut*u.offset),pt[lt]=i(pt[lt],tt(h.lineWidth/2)*2)},getLinePath:function(n){var t=this.chart,r=this.opposite,u=this.offset,i=this.horiz,f=this.left+(r?this.width:0)+u,e=t.chartHeight-this.bottom-(r?this.height:0)+u;return r&&(n*=-1),t.renderer.crispLine([k,i?this.left:f,i?e:this.top,b,i?t.chartWidth-this.right:f,i?e:t.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,f=this.left,e=this.top,i=this.len,t=this.options.title,r=n?f:e,u=this.opposite,o=this.offset,l=c(t.style.fontSize||12),s={low:r+(n?0:i),middle:r+i/2,high:r+(n?i:0)}[t.align],h=(n?e+this.height:f)+(n?1:-1)*(u?-1:1)*this.axisTitleMargin+(this.side===2?l:0);return{x:n?s:h+(u?this.width:0)+o+(t.x||0),y:n?h-(u?this.height:0)+o:s+(t.y||0)}},render:function(){var n=this,h=n.chart,k=h.renderer,s=n.options,d=n.isLog,g=n.isLinked,e=n.tickPositions,l=n.axisTitle,nt=n.stacks,i=n.ticks,o=n.minorTicks,u=n.alternateBands,tt=s.stackLabels,it=s.alternateGridColor,a=n.tickmarkOffset,v=s.lineWidth,y,ot=h.hasRendered,rt=ot&&r(n.oldMin)&&!isNaN(n.oldMin),st=n.hasData,ut=n.showAxis,p,w,ft,b,et,c;if(t([i,o,u],function(n){var t;for(t in n)n[t].isActive=!1}),(st||g)&&(n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){o[t]||(o[t]=new pr(n,t,"minor")),rt&&o[t].isNew&&o[t].render(null,!0),o[t].render(null,!1,1)}),e.length&&(t(e.slice(1).concat([e[0]]),function(t,r){r=r===e.length-1?0:r+1,(!g||t>=n.min&&t<=n.max)&&(i[t]||(i[t]=new pr(n,t)),rt&&i[t].isNew&&i[t].render(r,!0),i[t].render(r,!1,1))}),a&&n.min===0&&(i[-1]||(i[-1]=new pr(n,-1,null,!0)),i[-1].render(-1))),it&&t(e,function(t,i){i%2==0&&t<n.max&&(u[t]||(u[t]=new kf(n)),p=t+a,w=e[i+1]!==f?e[i+1]+a:n.max,u[t].options={from:d?ni(p):p,to:d?ni(w):w,color:it},u[t].render(),u[t].isActive=!0)}),n._addedPlotLB||(t((s.plotLines||[]).concat(s.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0)),t([i,o,u],function(n){var t,i,r=[],f=tr?tr.duration||500:0,e=function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])};for(t in n)n[t].isActive||(n[t].render(t,!1,0),n[t].isActive=!1,r.push(t));n!==u&&h.hasRendered&&f?f&&setTimeout(e,f):e()}),v&&(y=n.getLinePath(v),n.axisLine?n.axisLine.animate({d:y}):n.axisLine=k.path(y).attr({stroke:s.lineColor,"stroke-width":v,zIndex:7}).add(n.axisGroup),n.axisLine[ut?"show":"hide"]()),l&&ut&&(l[l.isNew?"attr":"animate"](n.getTitlePosition()),l.isNew=!1),tt&&tt.enabled){c=n.stackTotalGroup,c||(n.stackTotalGroup=c=k.g("stack-labels").attr({visibility:kt,zIndex:6}).add()),c.translate(h.plotLeft,h.plotTop);for(ft in nt){b=nt[ft];for(et in b)b[et].render(c)}}n.isDirty=!1},removePlotBandOrLine:function(n){for(var r=this.plotLinesAndBands,u=this.options,f=this.userOptions,i=r.length;i--;)r[i].id===n&&r[i].destroy();t([u.plotLines||[],f.plotLines||[],u.plotBands||[],f.plotBands||[]],function(t){for(i=t.length;i--;)t[i].id===n&&ti(t,t[i])})},setTitle:function(n,t){this.update({title:n},t)},redraw:function(){var n=this,r=n.chart,i=r.pointer;i.reset&&i.reset(!0),n.render(),t(n.plotLinesAndBands,function(n){n.render()}),t(n.series,function(n){n.isDirty=!0})},buildStacks:function(){var t=this.series,n=t.length;if(!this.isXAxis){while(n--)t[n].setStackedPoints();if(this.usePercentage)for(n=0;n<t.length;n++)t[n].setPercentStacks()}},setCategories:function(n,t){this.update({categories:n},t)},destroy:function(n){var i=this,r=i.stacks,u,e=i.plotLinesAndBands,f;n||pt(i);for(u in r)lr(r[u]),r[u]=null;for(t([i.ticks,i.minorTicks,i.alternateBands],function(n){lr(n)}),f=e.length;f--;)e[f].destroy();t(["stackTotalGroup","axisLine","axisGroup","gridGroup","labelGroup","axisTitle"],function(n){i[n]&&(i[n]=i[n].destroy())})}},df.prototype={init:function(n,t){var r=t.borderWidth,i=t.style,u=c(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,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:-999}),bt||this.label.shadow(t.shadow),this.shared=t.shared},destroy:function(){t(this.crosshairs,function(n){n&&n.destroy()}),this.label&&(this.label=this.label.destroy()),clearTimeout(this.hideTimer),clearTimeout(this.tooltipTimeout)},move:function(n,t,i,r){var f=this,u=f.now,o=f.options.animation!==!1&&!f.isHidden;e(u,{x:o?(2*u.x+n)/3:n,y:o?(u.y+t)/2:t,anchorX:o?(2*u.anchorX+i)/3:i,anchorY:o?(u.anchorY+r)/2:r}),f.label.attr(u),o&&(w(n-u.x)>1||w(t-u.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(n,t,i,r)},32))},hide:function(){var r=this,i;clearTimeout(this.hideTimer),this.isHidden||(i=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){r.label.fadeOut(),r.isHidden=!0},n(this.options.hideDelay,500)),i&&t(i,function(n){n.setState()}),this.chart.hoverPoints=null)},hideCrosshairs:function(){t(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(n,i){var e,r=this.chart,o=r.inverted,c=r.plotTop,s=0,h=0,l;return n=ui(n),e=n[0].tooltipPos,this.followPointer&&i&&(i.chartX===f&&(i=r.pointer.normalize(i)),e=[i.chartX-r.plotLeft,i.chartY-c]),e||(t(n,function(n){l=n.series.yAxis,s+=n.plotX,h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,e=[o?r.plotWidth-h:s,this.shared&&!o&&n.length>1&&i?i.chartY-c:o?r.plotHeight-s:h]),vr(e,u)},getPosition:function(t,r,u){var h=this.chart,l=h.plotLeft,e=h.plotTop,a=h.plotWidth,v=h.plotHeight,o=n(this.options.distance,12),y=u.plotX,c=u.plotY,s=y+l+(h.inverted?o:-t-o),f=c-r+e+15,p;return s<7&&(s=l+i(y,0)+o),s+t>l+a&&(s-=s+t-(l+a),f=c-r+e-o,p=!0),f<e+5&&(f=e+5,p&&c>=f&&c<=f+r&&(f=c+e+o)),f+r>e+v&&(f=i(e,e+v-r-o)),{x:s,y:f}},defaultFormatter:function(n){var u=this.points||ui(this),i=u[0].series,r;return r=[i.tooltipHeaderFormatter(u[0])],t(u,function(n){i=n.series,r.push(i.tooltipFormatter&&i.tooltipFormatter(n)||n.point.tooltipFormatter(i.tooltipOptions.pointFormat))}),r.push(n.options.footerFormat||""),r.join("")},refresh:function(i,r){var f=this,o=f.chart,h=f.label,p=f.options,w,b,k,c={},l,tt=[],ut=p.formatter||f.defaultFormatter,it=o.hoverPoints,d,e=p.crosshairs,ft=f.shared,rt,g,u,nt,v,s,y;if(clearTimeout(this.hideTimer),f.followPointer=ui(i)[0].series.tooltipOptions.followPointer,k=f.getAnchor(i,r),w=k[0],b=k[1],!ft||i.series&&i.series.noSharedTooltip?c=i.getLabelConfig():(o.hoverPoints=i,it&&t(it,function(n){n.setState()}),t(i,function(n){n.setState(dt),tt.push(n.getLabelConfig())}),c={x:i[0].category,y:i[0].y},c.points=tt,i=i[0]),l=ut.call(c,f),rt=i.series,l===!1?this.hide():(f.isHidden&&(iu(h),h.attr("opacity",1).show()),h.attr({text:l}),d=p.borderColor||i.color||rt.color||"#606060",h.attr({stroke:d}),f.updatePosition({plotX:w,plotY:b}),this.isHidden=!1),e)for(e=ui(e),u=e.length;u--;)y=i.series,v=y[u?"yAxis":"xAxis"],e[u]&&v&&(s=u?n(i.stackY,i.y):i.x,v.isLog&&(s=ci(s)),u===1&&y.modifyValue&&(s=y.modifyValue(s)),g=v.getPlotLinePath(s,1),f.crosshairs[u]?f.crosshairs[u].attr({d:g,visibility:kt}):(nt={"stroke-width":e[u].width||1,stroke:e[u].color||"#C0C0C0",zIndex:e[u].zIndex||2},e[u].dashStyle&&(nt.dashstyle=e[u].dashStyle),f.crosshairs[u]=o.renderer.path(g).attr(nt).add()));a(o,"tooltipRefresh",{text:l,x:w+o.plotLeft,y:b+o.plotTop,borderColor:d})},updatePosition:function(n){var t=this.chart,i=this.label,r=(this.options.positioner||this.getPosition).call(this,i.width,i.height,n);this.move(u(r.x),u(r.y),n.plotX+t.plotLeft,n.plotY+t.plotTop)}},gf.prototype={init:function(n,t){var f=t.chart,e=f.events,o=bt?"":f.zoomType,i=n.inverted,r,u;this.options=t,this.chart=n,this.zoomX=r=/x/.test(o),this.zoomY=u=/y/.test(o),this.zoomHor=r&&!i||u&&i,this.zoomVert=u&&!i||r&&i,this.runChartClick=e&&!!e.click,this.pinchDown=[],this.lastValidTouch={},t.tooltip.enabled&&(n.tooltip=new df(n,t.tooltip)),this.setDOMEvents()},normalize:function(n,t){var o,s,r;return n=n||g.event,n.target||(n.target=n.srcElement),n=lo(n),r=n.touches?n.touches.item(0):n,t||(this.chartPosition=t=co(this.chart.container)),r.pageX===f?(o=i(n.x,n.clientX-t.left),s=n.y):(o=r.pageX-t.left,s=r.pageY-t.top),e(n,{chartX:u(o),chartY:u(s)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},getIndex:function(n){var t=this.chart;return t.inverted?t.plotHeight+t.plotTop-n.chartY:n.chartX-t.plotLeft},runPointActions:function(n){var o=this,s=o.chart,f=s.series,u=s.tooltip,t,i,y=s.hoverPoint,h=s.hoverSeries,e,r,c=s.chartWidth,l=o.getIndex(n),a;if(u&&o.options.tooltip.shared&&!(h&&h.noSharedTooltip)){for(i=[],e=f.length,r=0;r<e;r++)f[r].visible&&f[r].options.enableMouseTracking!==!1&&!f[r].noSharedTooltip&&f[r].tooltipPoints.length&&(t=f[r].tooltipPoints[l],t&&t.series&&(t._dist=w(l-t.clientX),c=v(c,t._dist),i.push(t)));for(e=i.length;e--;)i[e]._dist>c&&i.splice(e,1);i.length&&i[0].clientX!==o.hoverX&&(u.refresh(i,n),o.hoverX=i[0].clientX)}if(h&&h.tracker){if(t=h.tooltipPoints[l],t&&t!==y)t.onMouseOver(n)}else u&&u.followPointer&&!u.isHidden&&(a=u.getAnchor([{}],n),u.updatePosition({plotX:a[0],plotY:a[1]}))},reset:function(n){var e=this,i=e.chart,o=i.hoverSeries,r=i.hoverPoint,t=i.tooltip,u=t&&t.shared?i.hoverPoints:r;n=n&&t&&u,n&&ui(u)[0].plotX===f&&(n=!1),n?t.refresh(u):(r&&r.onMouseOut(),o&&o.onMouseOut(),t&&(t.hide(),t.hideCrosshairs()),e.hoverX=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox(),t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))}),r.clipRect.attr(i||r.clipBox)},pinchTranslate:function(n,t,i,r,u,f,e,o){n&&this.pinchTranslateDirection(!0,i,r,u,f,e,o),t&&this.pinchTranslateDirection(!1,i,r,u,f,e,o)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var v=this.chart,l=n?"x":"y",g=n?"X":"Y",y="chart"+g,ft=n?"width":"height",nt=v["plot"+(n?"Left":"Top")],a,s,tt,h=o||1,it=v.inverted,p=v.bounds[n?"h":"v"],b=t.length===1,k=t[0][y],c=i[0][y],et=!b&&t[1][y],d=!b&&i[1][y],rt,ut,ot,st=function(){!b&&w(k-et)>20&&(h=o||w(c-d)/w(k-et)),tt=(nt-c)/h+k,a=v["plot"+(n?"Width":"Height")]/h};st(),s=tt,s<p.min?(s=p.min,rt=!0):s+a>p.max&&(s=p.max-a,rt=!0),rt?(c-=.8*(c-e[l][0]),b||(d-=.8*(d-e[l][1])),st()):e[l]=[c,d],it||(f[l]=tt-nt,f[ft]=a),ot=it?n?"scaleY":"scaleX":"scale"+g,ut=it?1/h:h,u[ft]=a,u[l]=s,r[ot]=h,r["translate"+g]=ut*nt+(c-ut*k)},pinch:function(n){var r=this,f=r.chart,u=r.pinchDown,l=f.tooltip&&f.tooltip.options.followTouchMove,o=n.touches,a=o.length,s=r.lastValidTouch,y=r.zoomHor||r.pinchHor,p=r.zoomVert||r.pinchVert,h=y||p,c=r.selectionMarker,w={},k=a===1&&(r.inClass(n.target,ft+"tracker")&&f.runTrackerClick||f.runChartClick),b={};(h||l)&&!k&&n.preventDefault(),vr(o,function(n){return r.normalize(n)}),n.type==="touchstart"?(t(o,function(n,t){u[t]={chartX:n.chartX,chartY:n.chartY}}),s.x=[u[0].chartX,u[1]&&u[1].chartX],s.y=[u[0].chartY,u[1]&&u[1].chartY],t(f.axes,function(n){if(n.zoomEnabled){var t=f.bounds[n.horiz?"h":"v"],r=n.minPixelPadding,u=n.toPixels(n.dataMin),e=n.toPixels(n.dataMax),o=v(u,e),s=i(u,e);t.min=v(n.pos,o-r),t.max=i(n.pos+n.len,s+r)}})):u.length&&(c||(r.selectionMarker=c=e({destroy:oi},f.plotBox)),r.pinchTranslate(y,p,u,o,w,c,b,s),r.hasPinched=h,r.scaleGroups(w,b),!h&&l&&a===1&&this.runPointActions(r.normalize(n)))},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 t=this.chart,h=t.options.chart,r=n.chartX,u=n.chartY,v=this.zoomHor,y=this.zoomVert,f=t.plotLeft,e=t.plotTop,c=t.plotWidth,l=t.plotHeight,a,i,o=this.mouseDownX,s=this.mouseDownY;r<f?r=f:r>f+c&&(r=f+c),u<e?u=e:u>e+l&&(u=e+l),this.hasDragged=Math.sqrt(Math.pow(o-r,2)+Math.pow(s-u,2)),this.hasDragged>10&&(a=t.isInsidePlot(o-f,s-e),t.hasCartesianSeries&&(this.zoomX||this.zoomY)&&a&&(this.selectionMarker||(this.selectionMarker=t.renderer.rect(f,e,v?1:c,y?1:l,0).attr({fill:h.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add())),this.selectionMarker&&v&&(i=r-o,this.selectionMarker.attr({width:w(i),x:(i>0?0:i)+o})),this.selectionMarker&&y&&(i=u-s,this.selectionMarker.attr({height:w(i),y:(i>0?0:i)+s})),a&&!this.selectionMarker&&h.panning&&t.pan(n,h.panning))},drop:function(n){var r=this.chart,f=this.hasPinched;if(this.selectionMarker){var o={xAxis:[],yAxis:[],originalEvent:n.originalEvent||n},u=this.selectionMarker,s=u.x,h=u.y,c;(this.hasDragged||f)&&(t(r.axes,function(n){if(n.zoomEnabled){var f=n.horiz,t=n.toValue(f?s:h),r=n.toValue(f?s+u.width:h+u.height);isNaN(t)||isNaN(r)||(o[n.xOrY+"Axis"].push({axis:n,min:v(t,r),max:i(t,r)}),c=!0)}}),c&&a(r,"selection",o,function(n){r.zoom(e(n,f?{animation:!1}:null))})),this.selectionMarker=this.selectionMarker.destroy(),f&&this.scaleGroups()}r&&(p(r.container,{cursor:r._cursor}),r.cancelClick=this.hasDragged>10,r.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){this.drop(n)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition,r=t.hoverSeries;n=this.normalize(n,i),i&&r&&!this.inClass(n.target,"highcharts-tracker")&&!t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset(),this.chartPosition=null},onContainerMouseMove:function(n){var t=this.chart;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=s(n,"class"),i){if(i.indexOf(t)!==-1)return!0;if(i.indexOf(ft+"container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries;!t||t.options.stickyTracking||this.inClass(n.toElement||n.relatedTarget,ft+"tooltip")||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,o=t.plotLeft,s=t.plotTop,h=t.inverted,r,u,f;n=this.normalize(n),n.cancelBubble=!0,t.cancelClick||(i&&this.inClass(n.target,ft+"tracker")?(r=this.chartPosition,u=i.plotX,f=i.plotY,e(i,{pageX:r.left+o+(h?t.plotWidth-f:u),pageY:r.top+s+(h?t.plotHeight-u:f)}),a(i.series,"click",e(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(e(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-o,n.chartY-s)&&a(t,"click",n)))},onContainerTouchStart:function(n){var t=this.chart;n.touches.length===1?(n=this.normalize(n),t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)?(this.runPointActions(n),this.pinch(n)):this.reset()):n.touches.length===2&&this.pinch(n)},onContainerTouchMove:function(n){(n.touches.length===1||n.touches.length===2)&&this.pinch(n)},onDocumentTouchEnd:function(n){this.drop(n)},setDOMEvents:function(){var i=this,n=i.chart.container,r;this._events=r=[[n,"onmousedown","onContainerMouseDown"],[n,"onmousemove","onContainerMouseMove"],[n,"onclick","onContainerClick"],[n,"mouseleave","onContainerMouseLeave"],[h,"mousemove","onDocumentMouseMove"],[h,"mouseup","onDocumentMouseUp"]],hu&&r.push([n,"ontouchstart","onContainerTouchStart"],[n,"ontouchmove","onContainerTouchMove"],[h,"touchend","onDocumentTouchEnd"]),t(r,function(n){i["_"+n[2]]=function(t){i[n[2]](t)},n[1].indexOf("on")===0?n[0][n[1]]=i["_"+n[2]]:d(n[0],n[1],i["_"+n[2]])})},destroy:function(){var n=this;t(n._events,function(t){t[1].indexOf("on")===0?t[0][t[1]]=null:pt(t[0],t[1],n["_"+t[2]])}),delete n._events,clearInterval(n.tooltipTimeout)}},gu.prototype={init:function(t,i){var r=this,u=i.itemStyle,f=n(i.padding,8),e=i.itemMarginTop||0;(this.options=i,i.enabled)&&(r.baseline=c(u.fontSize)+3+e,r.itemStyle=u,r.itemHiddenStyle=o(u,i.itemHiddenStyle),r.itemMarginTop=e,r.padding=f,r.initialItemX=f,r.initialItemY=f-5,r.maxItemWidth=0,r.chart=t,r.itemHeight=0,r.lastLineHeight=0,r.render(),d(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var s=this,y=s.options,h=n.legendItem,c=n.legendLine,r=n.legendSymbol,l=s.itemHiddenStyle.color,a=t?y.itemStyle.color:l,u=t?n.color:l,i=n.options&&n.options.marker,v={stroke:u,fill:u},e,o;if(h&&h.css({fill:a,color:a}),c&&c.attr({stroke:u}),r){if(i&&r.isMarker){i=n.convertAttribs(i);for(e in i)o=i[e],o!==f&&(v[e]=o)}r.attr(v)}},positionItem:function(n){var r=this,u=r.options,o=u.symbolPadding,s=!u.rtl,f=n._legendItemPos,t=f[0],e=f[1],i=n.checkbox;n.legendGroup&&n.legendGroup.translate(s?t:r.legendWidth-t-2*o-4,e),i&&(i.x=t,i.y=e)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())}),i&&nu(n.checkbox)},destroy:function(){var n=this,t=n.group,i=n.box;i&&(n.box=i.destroy()),t&&(n.group=t.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,p(f,{left:r.translateX+t.legendItemWidth+f.x-20+l,top:e+l,display:e>i-6&&e<i+u-6?"":ut}))}))},renderTitle:function(){var u=this.options,r=this.padding,n=u.title,t=0,i;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,r-3,r-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(n.style).add(this.group)),i=this.title.getBBox(),t=i.height,this.offsetWidth=i.width,this.contentGroup.attr({translateY:t})),this.titleHeight=t},renderItem:function(t){var r=this,l=r.chart,b=l.renderer,u=r.options,s=u.layout==="horizontal",k=u.symbolWidth,v=u.symbolPadding,g=r.itemStyle,nt=r.itemHiddenStyle,tt=r.padding,it=s?n(u.itemDistance,8):0,rt=!u.rtl,h,ut=u.width,y=u.itemMarginBottom||0,p=r.itemMarginTop,c=r.initialItemX,w,e,f=t.legendItem,ft=t.series||t,et=ft.options,st=et.showCheckbox,ht=u.useHTML;if(!f){t.legendGroup=b.g("legend-item").attr({zIndex:1}).add(r.scrollGroup),ft.drawLegendSymbol(r,t),t.legendItem=f=b.text(u.labelFormat?or(u.labelFormat,t):u.labelFormatter.call(t),rt?k+v:-v,r.baseline,ht).css(o(t.visible?g:nt)).attr({align:rt?"left":"right",zIndex:2}).add(t.legendGroup);(ht?f:t.legendGroup).on("mouseover",function(){t.setState(dt),f.css(r.options.itemHoverStyle)}).on("mouseout",function(){f.css(t.visible?g:nt),t.setState()}).on("click",function(n){var i="legendItemClick",r=function(){t.setVisible()};n={browserEvent:n},t.firePointEvent?t.firePointEvent(i,n,r):a(t,i,n,r)});r.colorizeItem(t,t.visible),et&&st&&(t.checkbox=ot("input",{type:"checkbox",checked:t.selected,defaultChecked:t.selected},u.itemCheckboxStyle,l.container),d(t.checkbox,"click",function(n){var i=n.target;a(t,"checkboxClick",{checked:i.checked},function(){t.select()})}))}w=f.getBBox(),e=t.legendItemWidth=u.itemWidth||k+v+w.width+it+(st?20:0),r.itemHeight=h=w.height,s&&r.itemX-c+e>(ut||l.chartWidth-2*tt-c)&&(r.itemX=c,r.itemY+=p+r.lastLineHeight+y,r.lastLineHeight=0),r.maxItemWidth=i(r.maxItemWidth,e),r.lastItemY=p+r.itemY+y,r.lastLineHeight=i(h,r.lastLineHeight),t._legendItemPos=[r.itemX,r.itemY],s?r.itemX+=e:(r.itemY+=p+h+y,r.lastLineHeight=h),r.offsetWidth=ut||i((s?r.itemX-c-it:e)+tt,r.offsetWidth)},render:function(){var i=this,a=i.chart,l=a.renderer,c=i.group,r,v,h,u,o=i.box,s=i.options,p=i.padding,y=s.borderWidth,w=s.backgroundColor;i.itemX=i.initialItemX,i.itemY=i.initialItemY,i.offsetWidth=0,i.lastItemY=0,c||(i.group=c=l.g("legend").attr({zIndex:7}).add(),i.contentGroup=l.g().attr({zIndex:1}).add(c),i.scrollGroup=l.g().add(i.contentGroup)),i.renderTitle(),r=[],t(a.series,function(t){var i=t.options;n(i.showInLegend,i.linkedTo===f?f:!1,!0)&&(r=r.concat(t.legendItems||(i.legendType==="point"?t.data:t)))}),be(r,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)}),s.reversed&&r.reverse(),i.allItems=r,i.display=v=!!r.length,t(r,function(n){i.renderItem(n)}),h=s.width||i.offsetWidth,u=i.lastItemY+i.lastLineHeight+i.titleHeight,u=i.handleOverflow(u),(y||w)&&(h+=p,u+=p,o?h>0&&u>0&&(o[o.isNew?"attr":"animate"](o.crisp(null,null,null,h,u)),o.isNew=!1):(i.box=o=l.rect(0,0,h,u,s.borderRadius,y||0).attr({stroke:s.borderColor,"stroke-width":y||0,fill:w||ut}).add(c).shadow(s.shadow),o.isNew=!0),o[v?"show":"hide"]()),i.legendWidth=h,i.legendHeight=u,t(r,function(n){i.positionItem(n)}),v&&c.align(e({width:h,height:u},s),!0,"spacingBox"),a.isResizing||this.positionCheckboxes()},handleOverflow:function(t){var f=this,h=this.chart,e=h.renderer,w,r=this.options,a=r.y,b=r.verticalAlign==="top",u=h.spacingBox.height+(b?-a:a)-this.padding,y=r.maxHeight,c,o=this.clipRect,l=r.navigation,p=n(l.animation,!0),s=l.arrowSize||12,i=this.nav;return r.layout==="horizontal"&&(u/=2),y&&(u=v(u,y)),t>u&&!r.useHTML?(this.clipHeight=c=u-20-this.titleHeight,this.pageCount=w=yi(t/c),this.currentPage=n(this.currentPage,1),this.fullHeight=t,o||(o=f.clipRect=e.clipRect(0,0,9999,0),f.contentGroup.clip(o)),o.attr({height:c}),i||(this.nav=i=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,s,s).on("click",function(){f.scroll(-1,p)}).add(i),this.pager=e.text("",15,10).css(l.style).add(i),this.down=e.symbol("triangle-down",0,0,s,s).on("click",function(){f.scroll(1,p)}).add(i)),f.scroll(0),t=u):i&&(o.attr({height:h.chartHeight}),i.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},scroll:function(n,t){var r=this.pageCount,i=this.currentPage+n,u=this.clipHeight,o=this.options.navigation,s=o.activeColor,h=o.inactiveColor,c=this.pager,l=this.padding,e;i>r&&(i=r),i>0&&(t!==f&&ar(t,this.chart),this.nav.attr({translateX:l,translateY:u+7+this.titleHeight,visibility:kt}),this.up.attr({fill:i===1?h:s}).css({cursor:i===1?"default":"pointer"}),c.attr({text:i+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===r?h:s}).css({cursor:i===r?"default":"pointer"}),e=-v(u*(i-1),this.fullHeight-u+l)+1,this.scrollGroup.animate({translateY:e}),c.attr({text:i+"/"+r}),this.currentPage=i,this.positionCheckboxes(e))}},/Trident\/7\.0/.test(ei)&&cf(gu.prototype,"positionItem",function(n,t){var i=this,r=function(){n.call(i,t)};i.chart.renderer.forExport?r():setTimeout(r)}),ne.prototype={init:function(t,i){var f,h=t.series,u,e,r,s;if(t.series=null,f=o(it,t),f.series=t.series=h,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=ir.length,ir.push(r),u.reflow!==!1&&d(r,"load",function(){r.initReflow()}),e)for(s in e)d(r,s,e[s]);r.xAxis=[],r.yAxis=[],r.animation=bt?!1:n(u.animation,!0),r.pointCount=0,r.counters=new we,r.firstRender()},initSeries:function(n){var u=this,i=u.options.chart,f=n.type||i.type||i.defaultSeriesType,t,r=lt[f];return r||fi(17,!0),t=new r,t.init(this,n),t},addSeries:function(t,i,r){var f,u=this;return t&&(i=n(i,!0),a(u,"addSeries",{options:t},function(){f=u.initSeries(t),u.isDirtyLegend=!0,u.linkSeries(),i&&u.redraw(r)})),f},addAxis:function(t,i,r,u){var f=i?"xAxis":"yAxis",e=this.options,s;s=new du(this,o(t,{index:this[f].length,isX:i})),e[f]=ui(e[f]||{}),e[f].push(t),n(r,!0)&&this.redraw(u)},isInsidePlot:function(n,t,i){var r=i?t:n,u=i?n:t;return r>=0&&r<=this.plotWidth&&u>=0&&u<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&t(this.axes,function(n){n.adjustTickAmount()}),this.maxTicks=null},redraw:function(n){var i=this,o=i.axes,u=i.series,s=i.pointer,l=i.legend,v=i.isDirtyLegend,h,y,c=i.isDirtyBox,p=u.length,f=p,r,w=i.renderer,b=w.isHidden(),k=[];for(ar(n,i),b&&i.cloneRenderTo(),i.layOutTitles();f--;)if(r=u[f],r.options.stacking&&(h=!0,r.isDirty)){y=!0;break}if(y)for(f=p;f--;)r=u[f],r.options.stacking&&(r.isDirty=!0);t(u,function(n){n.isDirty&&n.options.legendType==="point"&&(v=!0)}),v&&l.options.enabled&&(l.render(),i.isDirtyLegend=!1),h&&i.getStacks(),i.hasCartesianSeries&&(i.isResizing||(i.maxTicks=null,t(o,function(n){n.setScale()})),i.adjustTickAmounts(),i.getMargins(),t(o,function(n){n.isDirty&&(c=!0)}),t(o,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,k.push(function(){a(n,"afterSetExtremes",e(n.eventArgs,n.getExtremes())),delete n.eventArgs})),(c||h)&&n.redraw()})),c&&i.drawChartBox(),t(u,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()}),s&&s.reset&&s.reset(!0),w.draw(),a(i,"redraw"),b&&i.cloneRenderTo(!0),t(k,function(n){n.call()})},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading;i||(t.loadingDiv=i=ot(rr,{className:ft+"loading"},e(r.style,{zIndex:10,display:ut}),t.container),t.loadingSpan=ot("span",null,r.labelStyle,i)),t.loadingSpan.innerHTML=n||u.lang.loading,t.loadingShown||(p(i,{opacity:0,display:"",left:t.plotLeft+l,top:t.plotTop+l,width:t.plotWidth+l,height:t.plotHeight+l}),yf(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0)},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&yf(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){p(n,{display:ut})}}),this.loadingShown=!1},get:function(n){for(var e=this,f=e.axes,i=e.series,r,u,t=0;t<f.length;t++)if(f[t].options.id===n)return f[t];for(t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<i.length;t++)for(u=i[t].points||[],r=0;r<u.length;r++)if(u[r].id===n)return u[r];return null},getAxes:function(){var i=this,n=this.options,r=n.xAxis=ui(n.xAxis||{}),u=n.yAxis=ui(n.yAxis||{}),f,e;t(r,function(n,t){n.index=t,n.isX=!0}),t(u,function(n,t){n.index=t}),f=r.concat(u),t(f,function(n){e=new du(i,n)}),i.adjustTickAmounts()},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(vf(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return vf(this.series,function(n){return n.selected})},getStacks:function(){var i=this;t(i.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)}),t(i.series,function(t){t.options.stacking&&(t.visible===!0||i.options.chart.ignoreHiddenSeries===!1)&&(t.stackKey=t.type+n(t.options.stack,""))})},showResetZoom:function(){var t=this,i=it.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;a(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(i){var r=this,f,o=r.pointer,e=!1,u;!i||i.resetSelection?t(r.axes,function(n){f=n.zoom()}):t(i.xAxis.concat(i.yAxis),function(n){var t=n.axis,i=t.isXAxis;(o[i?"zoomX":"zoomY"]||o[i?"pinchX":"pinchY"])&&(f=t.zoom(n.min,n.max),t.displayBtn&&(e=!0))}),u=r.resetZoomButton,e&&!u?r.showResetZoom():!e&&et(u)&&(r.resetZoomButton=u.destroy()),f&&r.redraw(n(r.options.chart.animation,i&&i.animation,r.pointCount<100))},pan:function(n,r){var u=this,f=u.hoverPoints,e;f&&t(f,function(n){n.setState()}),t(r==="xy"?[1,0]:[1],function(t){var o=n[t?"chartX":"chartY"],r=u[t?"xAxis":"yAxis"][0],s=u[t?"mouseDownX":"mouseDownY"],h=(r.pointRange||0)/2,f=r.getExtremes(),c=r.toValue(s-o,!0)+h,l=r.toValue(s+u[t?"plotWidth":"plotHeight"]-o,!0)-h;r.series.length&&c>v(f.dataMin,f.min)&&l<i(f.dataMax,f.max)&&(r.setExtremes(c,l,!1,!1,{trigger:"pan"}),e=!0),u[t?"mouseDownX":"mouseDownY"]=o}),e&&u.redraw(!1),p(u.container,{cursor:"move"})},setTitle:function(n,i){var r=this,u=r.options,f,e;f=u.title=o(u.title,n),e=u.subtitle=o(u.subtitle,i),t([["title",n,f],["subtitle",i,e]],function(n){var i=n[0],u=r[i],f=n[1],t=n[2];u&&f&&(r[i]=u=u.destroy()),t&&t.text&&!u&&(r[i]=r.renderer.text(t.text,0,0,t.useHTML).attr({align:t.align,"class":ft+i,zIndex:t.zIndex||4}).css(t.style).add())}),r.layOutTitles()},layOutTitles:function(){var n=0,r=this.title,u=this.subtitle,f=this.options,t=f.title,i=f.subtitle,o=this.spacingBox.width-44;r&&(r.css({width:(t.width||o)+l}).align(e({y:15},t),!1,"spacingBox"),t.floating||t.verticalAlign||(n=r.getBBox().height,n>=18&&n<=25&&(n=15))),u&&(u.css({width:(i.width||o)+l}).align(e({y:n+t.margin},i),!1,"spacingBox"),i.floating||i.verticalAlign||(n=yi(n+u.getBBox().height))),this.titleOffset=n},getChartSize:function(){var t=this,r=t.options.chart,u=t.renderToClone||t.renderTo;t.containerWidth=bu(u,"width"),t.containerHeight=bu(u,"height"),t.chartWidth=i(0,r.width||t.containerWidth||600),t.chartHeight=i(0,n(r.height,t.containerHeight>19?t.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),nu(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),p(t,{position:si,top:"-9999px",display:"block"}),h.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n=this,i,r=n.options.chart,u,f,t,a="data-highcharts-chart",o,v;n.renderTo=t=r.renderTo,v=ft+tf++,gt(t)&&(n.renderTo=t=h.getElementById(t)),t||fi(13,!0),o=c(s(t,a)),!isNaN(o)&&ir[o]&&ir[o].destroy(),s(t,a,n.index),t.innerHTML="",t.offsetWidth||n.cloneRenderTo(),n.getChartSize(),u=n.chartWidth,f=n.chartHeight,n.container=i=ot(rr,{className:ft+"container"+(r.className?" "+r.className:""),id:v},e({position:uf,overflow:vt,width:u+l,height:f+l,textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},r.style),n.renderToClone||t),n._cursor=i.style.cursor,n.renderer=r.forExport?new vi(i,u,f,!0):new br(i,u,f),bt&&n.renderer.create(n,i,u,f)},getMargins:function(){var u=this,o=u.spacing,s,h=u.legend,f=u.margin,e=u.options.legend,c=n(e.margin,10),l=e.x,a=e.y,v=e.align,y=e.verticalAlign,p=u.titleOffset;u.resetMargins(),s=u.axisOffset,p&&!r(f[0])&&(u.plotTop=i(u.plotTop,p+u.options.title.margin+o[0])),h.display&&!e.floating&&(v==="right"?r(f[1])||(u.marginRight=i(u.marginRight,h.legendWidth-l+c+o[1])):v==="left"?r(f[3])||(u.plotLeft=i(u.plotLeft,h.legendWidth+l+c+o[3])):y==="top"?r(f[0])||(u.plotTop=i(u.plotTop,h.legendHeight+a+c+o[0])):y==="bottom"&&(r(f[2])||(u.marginBottom=i(u.marginBottom,h.legendHeight-a+c+o[2])))),u.extraBottomMargin&&(u.marginBottom+=u.extraBottomMargin),u.extraTopMargin&&(u.plotTop+=u.extraTopMargin),u.hasCartesianSeries&&t(u.axes,function(n){n.getOffset()}),r(f[3])||(u.plotLeft+=s[3]),r(f[0])||(u.plotTop+=s[0]),r(f[2])||(u.marginBottom+=s[2]),r(f[1])||(u.marginRight+=s[1]),u.setChartSize()},initReflow:function(){function t(t){var f=i.width||bu(r,"width"),e=i.height||bu(r,"height"),o=t?t.target:g;!n.hasUserSize&&f&&e&&(o===g||o===h)&&((f!==n.containerWidth||e!==n.containerHeight)&&(clearTimeout(u),n.reflowTimeout=u=setTimeout(function(){n.container&&(n.setSize(f,e,!1),n.hasUserSize=null)},100)),n.containerWidth=f,n.containerHeight=e)}var n=this,i=n.options.chart,r=n.renderTo,u;n.reflow=t,d(g,"resize",t),d(n,"destroy",function(){pt(g,"resize",t)})},setSize:function(n,f,e){var o=this,s,h,c;o.isResizing+=1,c=function(){o&&a(o,"endResize",null,function(){o.isResizing-=1})},ar(e,o),o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,r(n)&&(o.chartWidth=s=i(0,u(n)),o.hasUserSize=!!s),r(f)&&(o.chartHeight=h=i(0,u(f))),p(o.container,{width:s+l,height:h+l}),o.setChartSize(!0),o.renderer.setSize(s,h,e),o.maxTicks=null,t(o.axes,function(n){n.isDirty=!0,n.setScale()}),t(o.series,function(n){n.isDirty=!0}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.getMargins(),o.redraw(e),o.oldChartHeight=null,a(o,"resize"),tr===!1?c():setTimeout(c,tr&&tr.duration||500)},setChartSize:function(n){var r=this,y=r.inverted,p=r.renderer,w=r.chartWidth,b=r.chartHeight,k=r.options.chart,f=r.spacing,o=r.clipOffset,c,l,a,v,s,h,e;r.plotLeft=a=u(r.plotLeft),r.plotTop=v=u(r.plotTop),r.plotWidth=s=i(0,u(w-a-r.marginRight)),r.plotHeight=h=i(0,u(b-v-r.marginBottom)),r.plotSizeX=y?h:s,r.plotSizeY=y?s:h,r.plotBorderWidth=k.plotBorderWidth||0,r.spacingBox=p.spacingBox={x:f[3],y:f[0],width:w-f[3]-f[1],height:b-f[0]-f[2]},r.plotBox=p.plotBox={x:a,y:v,width:s,height:h},e=2*tt(r.plotBorderWidth/2),c=yi(i(e,o[3])/2),l=yi(i(e,o[0])/2),r.clipBox={x:c,y:l,width:tt(r.plotSizeX-i(e,o[1])/2-c),height:tt(r.plotSizeY-i(e,o[2])/2-l)},n||t(r.axes,function(n){n.setAxisSize(),n.setAxisTranslation()})},resetMargins:function(){var t=this,i=t.spacing,r=t.margin;t.plotTop=n(r[0],i[0]),t.marginRight=n(r[1],i[1]),t.marginBottom=n(r[2],i[2]),t.plotLeft=n(r[3],i[3]),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this,t=n.options.chart,r=n.renderer,y=n.chartWidth,p=n.chartHeight,c=n.chartBackground,w=n.plotBackground,l=n.plotBorder,b=n.plotBGImage,u=t.borderWidth||0,k=t.backgroundColor,d=t.plotBackgroundColor,g=t.plotBackgroundImage,a=t.plotBorderWidth||0,i,f,e=n.plotLeft,o=n.plotTop,s=n.plotWidth,h=n.plotHeight,nt=n.plotBox,tt=n.clipRect,v=n.clipBox;i=u+(t.shadow?8:0),(u||k)&&(c?c.animate(c.crisp(null,null,null,y-i,p-i)):(f={fill:k||ut},u&&(f.stroke=t.borderColor,f["stroke-width"]=u),n.chartBackground=r.rect(i/2,i/2,y-i,p-i,t.borderRadius,u).attr(f).add().shadow(t.shadow))),d&&(w?w.animate(nt):n.plotBackground=r.rect(e,o,s,h,0).attr({fill:d}).add().shadow(t.plotShadow)),g&&(b?b.animate(nt):n.plotBGImage=r.image(g,e,o,s,h).add()),tt?tt.animate({width:v.width,height:v.height}):n.clipRect=r.clipRect(v),a&&(l?l.animate(l.crisp(null,e,o,s,h)):n.plotBorder=r.rect(e,o,s,h,0,-a).attr({stroke:t.plotBorderColor,"stroke-width":a,zIndex:1}).add()),n.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=lt[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)n=lt[f[e].type],n&&n.prototype[t]&&(r=!0);i[t]=r})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0}),t(i,function(t){var i=t.options.linkedTo;gt(i)&&(i=i===":previous"?n.series[t.index-1]:n.get(i),i&&(i.linkedSeries.push(t),t.linkedParent=i))})},render:function(){var n=this,r=n.axes,u=n.renderer,f=n.options,o=f.labels,i=f.credits,s;n.setTitle(),n.legend=new gu(n,f.legend),n.getStacks(),t(r,function(n){n.setScale()}),n.getMargins(),n.maxTicks=null,t(r,function(n){n.setTickPositions(!0),n.setMaxTicks()}),n.adjustTickAmounts(),n.getMargins(),n.drawChartBox(),n.hasCartesianSeries&&t(r,function(n){n.render()}),n.seriesGroup||(n.seriesGroup=u.g("series-group").attr({zIndex:3}).add()),t(n.series,function(n){n.translate(),n.setTooltipPoints(),n.render()}),o.items&&t(o.items,function(t){var i=e(o.style,t.style),r=c(i.left)+n.plotLeft,f=c(i.top)+n.plotTop+12;delete i.left,delete i.top,u.text(t.html,r,f).attr({zIndex:2}).css(i).add()}),i.enabled&&!n.credits&&(s=i.href,n.credits=u.text(i.text,0,0).on("click",function(){s&&(location.href=s)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position)),n.hasRendered=!0},destroy:function(){var n=this,u=n.axes,e=n.series,r=n.container,i,o=r&&r.parentNode;for(a(n,"destroy"),ir[n.index]=f,n.renderTo.removeAttribute("data-highcharts-chart"),pt(n),i=u.length;i--;)u[i]=u[i].destroy();for(i=e.length;i--;)e[i]=e[i].destroy();t(["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","scroller","rangeSelector","legend","resetZoomButton","tooltip","renderer"],function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())}),r&&(r.innerHTML="",pt(r),o&&nu(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!ct&&g==g.top&&h.readyState!=="complete"||bt&&!g.canvg?(bt?ge.push(function(){n.firstRender()},n.options.global.canvasToolsURL):h.attachEvent("onreadystatechange",function(){h.detachEvent("onreadystatechange",n.firstRender),h.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),a(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),n.linkSeries(),a(n,"beforeRender"),n.pointer=new gf(n,i),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),a(n,"load"))},splashArray:function(t,i){var r=i[t],u=et(r)?r:[r,r,r,r];return[n(i[t+"Top"],u[0]),n(i[t+"Right"],u[1]),n(i[t+"Bottom"],u[2]),n(i[t+"Left"],u[3])]}},ne.prototype.callbacks=[],sr=function(){},sr.prototype={init:function(n,t,i){var r=this,u;return r.series=n,r.applyOptions(t,i),r.pointAttr={},n.options.colorByPoint&&(u=n.options.colors||n.chart.options.colors,r.color=r.color||u[n.colorCounter++],n.colorCounter===u.length&&(n.colorCounter=0)),n.chart.pointCount++,r},applyOptions:function(n,t){var i=this,r=i.series,u=r.pointValKey;return n=sr.prototype.optionsToObject.call(this,n),e(i,n),i.options=i.options?e(i.options,n):n,u&&(i.y=i[u]),i.x===f&&r&&(i.x=t===f?r.autoIncrement():t),i},optionsToObject:function(n){var t={},i=this.series,r=i.pointArrayMap||["y"],f=r.length,u,e=0,o=0;if(typeof n=="number"||n===null)t[r[0]]=n;else if(hr(n))for(n.length>f&&(u=typeof n[0],u==="string"?t.name=n[0]:u==="number"&&(t.x=n[0]),e++);o<f;)t[r[o++]]=n[e++];else typeof n=="object"&&(t=n,n.dataLabels&&(i._hasPointLabels=!0),n.marker&&(i._hasPointMarkers=!0));return t},destroy:function(){var n=this,u=n.series,t=u.chart,i=t.hoverPoints,r;t.pointCount--,i&&(n.setState(),ti(i,n),i.length||(t.hoverPoints=null)),n===t.hoverPoint&&n.onMouseOut(),(n.graphic||n.dataLabel)&&(pt(n),n.destroyElements()),n.legendItem&&t.legend.destroyItem(n);for(r in n)n[r]=null},destroyElements:function(){for(var t=this,r=["graphic","dataLabel","dataLabelUpper","group","connector","shadowGroup"],n,i=6;i--;)n=r[i],t[n]&&(t[n]=t[n].destroy())},getLabelConfig:function(){var n=this;return{x:n.category,y:n.y,key:n.name||n.category,series:n.series,point:n,percentage:n.percentage,total:n.total||n.stackTotal}},select:function(i,r){var u=this,f=u.series,e=f.chart;i=n(i,!u.selected),u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=u.options.selected=i,f.options.data[li(u,f.data)]=u.options,u.setState(i&&hi),r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=n.options.selected=!1,f.options.data[li(n,f.data)]=n.options,n.setState(yt),n.firePointEvent("unselect"))})})},onMouseOver:function(n){var t=this,f=t.series,i=f.chart,r=i.tooltip,u=i.hoverPoint;u&&u!==t&&u.onMouseOut(),t.firePointEvent("mouseOver"),r&&(!r.shared||f.noSharedTooltip)&&r.refresh(t,n),t.setState(dt),i.hoverPoint=t},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;t&&li(this,t)!==-1||(this.firePointEvent("mouseOut"),this.setState(),n.hoverPoint=null)},tooltipFormatter:function(i){var u=this.series,r=u.tooltipOptions,o=n(r.valueDecimals,""),f=r.valuePrefix||"",e=r.valueSuffix||"";return t(u.pointArrayMap||["y"],function(n){n="{point."+n,(f||e)&&(i=i.replace(n+"}",f+n+"}"+e)),i=i.replace(n+"}",n+":,."+o+"f}")}),or(i,{point:this,series:this.series})},update:function(t,i,r){var u=this,f=u.series,o=u.graphic,e,c=f.data,s=f.chart,h=f.options;i=n(i,!0),u.firePointEvent("update",{options:t},function(){u.applyOptions(t),et(t)&&(f.getAttribs(),o&&(t&&t.marker&&t.marker.symbol?u.graphic=o.destroy():o.attr(u.pointAttr[u.state||""]))),e=li(u,c),f.xData[e]=u.x,f.yData[e]=f.toYData?f.toYData(u):u.y,f.zData[e]=u.z,h.data[e]=u.options,f.isDirty=f.isDirtyData=!0,!f.fixedBox&&f.hasCartesianSeries&&(s.isDirtyBox=!0),h.legendType==="point"&&s.legend.destroyItem(u),i&&s.redraw(r)})},remove:function(t,i){var f=this,r=f.series,o=r.points,s=r.chart,u,e=r.data;ar(i,s),t=n(t,!0),f.firePointEvent("remove",null,function(){u=li(f,e),e.length===o.length&&o.splice(u,1),e.splice(u,1),r.options.data.splice(u,1),r.xData.splice(u,1),r.yData.splice(u,1),r.zData.splice(u,1),f.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&s.redraw()})},firePointEvent:function(n,t,i){var r=this,f=this.series,u=f.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(null,n.ctrlKey||n.metaKey||n.shiftKey)}),a(this,n,t,i)},importEvents:function(){if(!this.hasImportedEvents){var n=this,r=o(n.series.options.point,n.options),t=r.events,i;n.events=t;for(i in t)d(n,i,t[i]);this.hasImportedEvents=!0}},setState:function(n){var i=this,s=i.plotX,h=i.plotY,u=i.series,v=u.options.states,f=st[u.type].marker&&u.options.marker,p=f&&!f.enabled,e=f&&f.states[n],w=e&&e.enabled===!1,r=u.stateMarkerGraphic,c=i.marker||{},y=u.chart,t,l,a=i.pointAttr;(n=n||yt,n===i.state||i.selected&&n!==hi||v[n]&&v[n].enabled===!1||n&&(w||p&&!e.enabled)||n&&c.states&&c.states[n]&&c.states[n].enabled===!1)||(i.graphic?(t=f&&i.graphic.symbolName&&a[n].r,i.graphic.attr(o(a[n],t?{x:s-t,y:h-t,width:2*t,height:2*t}:{}))):(n&&e&&(t=e.radius,l=c.symbol||u.symbol,r&&r.currentSymbol!==l&&(r=r.destroy()),r?r.attr({x:s-t,y:h-t}):(u.stateMarkerGraphic=r=y.renderer.symbol(l,s-t,h-t,2*t,2*t).attr(a[n]).add(u.markerGroup),r.currentSymbol=l)),r&&r[n&&y.isInsidePlot(s,h)?"show":"hide"]()),i.state=n)}},nt=function(){},nt.prototype={isCartesian:!0,type:"line",pointClass:sr,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(i,r){var u=this,s,f,o=i.series;u.chart=i,u.options=r=u.setOptions(r),u.linkedSeries=[],u.bindAxes(),e(u,{name:r.name,state:yt,pointAttr:{},visible:r.visible!==!1,selected:r.selected===!0}),bt&&(r.animation=!1),f=r.events;for(s in f)d(u,s,f[s]);(f&&f.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(i.runTrackerClick=!0),u.getColor(),u.getSymbol(),u.setData(r.data,!1),u.isCartesian&&(i.hasCartesianSeries=!0),o.push(u),u._i=o.length-1,be(o,function(t,i){return n(t.options.index,t._i)-n(i.options.index,t._i)}),t(o,function(n,t){n.index=t,n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,i=n.options,u=n.chart,r;n.isCartesian&&t(["xAxis","yAxis"],function(e){t(u[e],function(t){r=t.options,(i[e]===r.index||i[e]!==f&&i[e]===r.id||i[e]===f&&r.index===0)&&(t.series.push(n),n[e]=t,t.isDirty=!0)}),n[e]||fi(18,!0)})},autoIncrement:function(){var t=this,r=t.options,i=t.xIncrement;return i=n(i,r.pointStart,0),t.pointInterval=n(t.pointInterval,r.pointInterval,1),t.xIncrement=i+t.pointInterval,i},getSegments:function(){var f=this,i=-1,r=[],u,n=f.points,e=n.length;if(e)if(f.options.connectNulls){for(u=e;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else t(n,function(t,u){t.y===null?(u>i+1&&r.push(n.slice(i+1,u)),i=u):u===e-1&&r.push(n.slice(i+1,u+1))});f.segments=r},setOptions:function(n){var f=this.chart,i=f.options,r=i.plotOptions,u=r[this.type],t;return this.userOptions=n,t=o(u,r.series,n),this.tooltipOptions=o(i.tooltip,t.tooltip),u.marker===null&&delete t.marker,t},getColor:function(){var f=this.options,t=this.userOptions,e=this.chart.options.colors,i=this.chart.counters,n,u;n=f.color||st[this.type].color,n||f.colorByPoint||(r(t._colorIndex)?u=t._colorIndex:(t._colorIndex=i.color,u=i.color++),n=e[u]),this.color=n,i.wrapColor(e.length)},getSymbol:function(){var n=this,t=n.userOptions,f=n.options.marker,e=n.chart,o=e.options.symbols,i=e.counters,u;n.symbol=f.symbol,n.symbol||(r(t._symbolIndex)?u=t._symbolIndex:(t._symbolIndex=i.symbol,u=i.symbol++),n.symbol=o[u]),/^url/.test(n.symbol)&&(f.radius=0),i.wrapSymbol(o.length)},drawLegendSymbol:function(n){var t=this.options,r=t.marker,i,s=n.options,h,c=s.symbolWidth,f=this.chart.renderer,l=this.legendGroup,e=n.baseline-u(f.fontMetrics(s.itemStyle.fontSize).b*.3),o;t.lineWidth&&(o={"stroke-width":t.lineWidth},t.dashStyle&&(o.dashstyle=t.dashStyle),this.legendLine=f.path([k,0,e,b,c,e]).attr(o).add(l)),r&&r.enabled&&(i=r.radius,this.legendSymbol=h=f.symbol(this.symbol,c/2-i,e-i,2*i,2*i).add(l),h.isMarker=!0)},addPoint:function(i,r,u,f){var e=this,y=e.options,l=e.data,a=e.graph,v=e.area,p=e.chart,h=e.xData,w=e.yData,b=e.zData,k=e.xAxis&&e.xAxis.names,nt=a&&a.shift||0,d=y.data,s,g,c,o;if(ar(f,p),u&&t([a,v,e.graphNeg,e.areaNeg],function(n){n&&(n.shift=nt+1)}),v&&(v.isArea=!0),r=n(r,!0),s={series:e},e.pointClass.prototype.applyOptions.apply(s,[i]),c=s.x,o=h.length,e.requireSorting&&c<h[o-1])for(g=!0;o&&h[o-1]>c;)o--;h.splice(o,0,c),w.splice(o,0,e.toYData?e.toYData(s):s.y),b.splice(o,0,s.z),k&&(k[c]=s.name),d.splice(o,0,i),g&&(e.data.splice(o,0,null),e.processData()),y.legendType==="point"&&e.generatePoints(),u&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),h.shift(),w.shift(),b.shift(),d.shift())),e.isDirty=!0,e.isDirtyData=!0,r&&(e.getAttribs(),p.redraw())},setData:function(t,i){var u=this,c=u.points,a=u.options,p=u.chart,v=null,o=u.xAxis,w=o&&o.names,r,y,nt;u.xIncrement=null,u.pointRange=o&&o.categories?1:a.pointRange,u.colorCounter=0;var l=[],s=[],b=[],h=t?t.length:[],k=n(a.turboThreshold,1e3),e,d=u.pointArrayMap,g=d&&d.length,tt=!!u.toYData;if(k&&h>k){for(r=0;v===null&&r<h;)v=t[r],r++;if(di(v)){for(y=n(a.pointStart,0),nt=n(a.pointInterval,1),r=0;r<h;r++)l[r]=y,s[r]=t[r],y+=nt;u.xIncrement=y}else if(hr(v))if(g)for(r=0;r<h;r++)e=t[r],l[r]=e[0],s[r]=e.slice(1,g+1);else for(r=0;r<h;r++)e=t[r],l[r]=e[0],s[r]=e[1];else fi(12)}else for(r=0;r<h;r++)t[r]!==f&&(e={series:u},u.pointClass.prototype.applyOptions.apply(e,[t[r]]),l[r]=e.x,s[r]=tt?u.toYData(e):e.y,b[r]=e.z,w&&e.name&&(w[e.x]=e.name));for(gt(s[0])&&fi(14,!0),u.data=[],u.options.data=t,u.xData=l,u.yData=s,u.zData=b,r=c&&c.length||0;r--;)c[r]&&c[r].destroy&&c[r].destroy();o&&(o.minRange=o.userMinRange),u.isDirty=u.isDirtyData=p.isDirtyBox=!0,n(i,!0)&&p.redraw(!1)},remove:function(t,i){var r=this,u=r.chart;t=n(t,!0),r.isRemoving||(r.isRemoving=!0,a(r,"remove",null,function(){r.destroy(),u.isDirtyLegend=u.isDirtyBox=!0,u.linkSeries(),t&&u.redraw(i)})),r.isRemoving=!1},processData:function(n){var t=this,i=t.xData,c=t.yData,l=i.length,o,v=0,y,r,u,a=t.xAxis,e,p=t.options,w=p.cropThreshold,b=t.isCartesian,s,h;if(b&&!t.isDirty&&!a.isDirty&&!t.yAxis.isDirty&&!n)return!1;for(b&&t.sorted&&(!w||l>w||t.forceCrop)&&(s=a.min,h=a.max,i[l-1]<s||i[0]>h?(i=[],c=[]):(i[0]<s||i[l-1]>h)&&(o=this.cropData(t.xData,t.yData,s,h),i=o.xData,c=o.yData,v=o.start,y=!0)),e=i.length-1;e>=0;e--)r=i[e]-i[e-1],r>0&&(u===f||r<u)?u=r:r<0&&t.requireSorting&&fi(15);t.cropped=y,t.cropStart=v,t.processedXData=i,t.processedYData=c,p.pointRange===null&&(t.pointRange=u||1),t.closestPointRange=u},cropData:function(t,r,u,f){for(var h=t.length,o=0,s=h,c=n(this.cropShoulder,1),e=0;e<h;e++)if(t[e]>=u){o=i(0,e-c);break}for(;e<h;e++)if(t[e]>f){s=e+c;break}return{xData:t.slice(o,s),yData:r.slice(o,s),start:o,end:s}},generatePoints:function(){var t=this,p=t.options,e=p.data,i=t.data,a,o=t.processedXData,w=t.processedYData,v=t.pointClass,s=o.length,y=t.cropStart||0,r,u=t.hasGroupedData,h,c=[],n,l;for(i||u||(l=[],l.length=e.length,i=t.data=l),n=0;n<s;n++)r=y+n,u?c[n]=(new v).init(t,[o[n]].concat(ui(w[n]))):(i[r]?h=i[r]:e[r]!==f&&(i[r]=h=(new v).init(t,e[r],o[n])),c[n]=h);if(i&&(s!==(a=i.length)||u))for(n=0;n<a;n++)n!==y||u||(n+=s),i[n]&&(i[n].destroyElements(),i[n].plotX=f);t.data=i,t.points=c},setStackedPoints:function(){if(this.options.stacking&&(this.visible===!0||this.chart.options.chart.ignoreHiddenSeries===!1)){for(var f=this,g=f.processedXData,p=f.processedYData,b=[],nt=p.length,l=f.options,tt=l.threshold,it=l.stack,a=l.stacking,v=f.stackKey,k="-"+v,d=f.negStacks,o=f.yAxis,u=o.stacks,y=o.oldStacks,c,n,e,t,r,h,s=0;s<nt;s++)r=g[s],h=p[s],c=d&&h<tt,t=c?k:v,u[t]||(u[t]={}),u[t][r]||(y[t]&&y[t][r]?(u[t][r]=y[t][r],u[t][r].total=null):u[t][r]=new no(o,o.options.stackLabels,c,r,it,a)),n=u[t][r],n.points[f.index]=[n.cum||0],a==="percent"?(e=c?v:k,d&&u[e]&&u[e][r]?(e=u[e][r],n.total=e.total=i(e.total,n.total)+w(h)||0):n.total+=w(h)||0):n.total+=h||0,n.cum=(n.cum||0)+(h||0),n.points[f.index].push(n.cum),b[s]=n.cum;a==="percent"&&(o.usePercentage=!0),this.stackedYData=b,o.oldStacks={}}},setPercentStacks:function(){var n=this,i=n.stackKey,r=n.yAxis.stacks;t([i,"-"+i],function(t){for(var f=n.xData.length,o,u,i,e;f--;)o=n.xData[f],u=r[t]&&r[t][o],i=u&&u.points[n.index],i&&(e=u.total?100/u.total:0,i[0]=ri(i[0]*e),i[1]=ri(i[1]*e),n.stackedYData[f]=i[1])})},getExtremes:function(){for(var v=this.xAxis,y=this.yAxis,e=this.processedXData,s=this.stackedYData||this.processedYData,p=s.length,u=[],h=0,c=v.getExtremes(),w=c.min,b=c.max,l,a,k,d,o,t,r,i=0;i<p;i++)if(o=e[i],t=s[i],l=t!==null&&t!==f&&(!y.isLog||t.length||t>0),a=this.getExtremesFromAll||this.cropped||(e[i+1]||o)>=w&&(e[i-1]||o)<=b,l&&a)if(r=t.length,r)while(r--)t[r]!==null&&(u[h++]=t[r]);else u[h++]=t;this.dataMin=n(k,cr(u)),this.dataMax=n(d,gi(u))},translate:function(){this.processedXData||this.processData(),this.generatePoints();for(var i=this,l=i.options,k=l.stacking,a=i.xAxis,v=a.categories,o=i.yAxis,d=i.points,g=d.length,nt=!!i.modifyValue,y=l.pointPlacement,tt=y==="between"||di(y),p=l.threshold,h=0;h<g;h++){var t=d[h],c=t.x,u=t.y,e=t.low,w=o.stacks[(i.negStacks&&u<p?"-":"")+i.stackKey],s,b;o.isLog&&u<=0&&(t.y=u=null),t.plotX=a.translate(c,0,0,0,1,y,this.type==="flags"),k&&i.visible&&w&&w[c]&&(s=w[c],b=s.points[i.index],e=b[0],u=b[1],e===0&&(e=n(p,o.min)),o.isLog&&e<=0&&(e=null),t.total=t.stackTotal=s.total,t.percentage=k==="percent"&&t.y/s.total*100,t.stackY=u,s.setOffset(i.pointXOffset||0,i.barW||0)),t.yBottom=r(e)?o.translate(e,0,1,0,1):null,nt&&(u=i.modifyValue(u,t)),t.plotY=typeof u=="number"&&u!==Infinity?o.translate(u,0,1,0,1):f,t.clientX=tt?a.translate(c,0,0,0,1):t.plotX,t.negative=t.y<(p||0),t.category=v&&v[t.x]!==f?v[t.x]:t.x}i.getSegments()},setTooltipPoints:function(n){var r=this,u=[],p,s,h,e=r.xAxis,w=e&&e.getExtremes(),a=e?e.tooltipLen||e.len:r.chart.plotSizeX,c,y,l,o,b=[];if(r.options.enableMouseTracking!==!1){for(n&&(r.tooltipPoints=null),t(r.segments||r.points,function(n){u=u.concat(n)}),e&&e.reversed&&(u=u.reverse()),r.orderTooltipPoints&&r.orderTooltipPoints(u),p=u.length,o=0;o<p;o++)if(c=u[o],y=c.x,y>=w.min&&y<=w.max)for(l=u[o+1],s=h===f?0:h+1,h=u[o+1]?v(i(0,tt((c.clientX+(l?l.wrappedClientX||l.clientX:a))/2)),a):a;s>=0&&s<=h;)b[s++]=c;r.tooltipPoints=b}},tooltipHeaderFormatter:function(n){var r=this,u=r.tooltipOptions,t=u.xDateFormat,o=u.dateTimeLabelFormats,i=r.xAxis,s=i&&i.options.type==="datetime",f=u.headerFormat,h=i&&i.closestPointRange,e;if(s&&!t)if(h){for(e in y)if(y[e]>=h){t=o[e];break}}else t=o.day;return s&&t&&di(n.key)&&(f=f.replace("{point.key}","{point.key:"+t+"}")),or(f,{point:n,series:r})},onMouseOver:function(){var n=this,i=n.chart,t=i.hoverSeries;t&&t!==n&&t.onMouseOut(),n.options.events.mouseOver&&a(n,"mouseOver"),n.setState(dt),i.hoverSeries=n},onMouseOut:function(){var n=this,r=n.options,t=n.chart,i=t.tooltip,u=t.hoverPoint;u&&u.onMouseOut(),n&&r.events.mouseOut&&a(n,"mouseOut"),i&&!r.stickyTracking&&(!i.shared||n.noSharedTooltip)&&i.hide(),n.setState(),t.hoverSeries=null},animate:function(n){var i=this,t=i.chart,s=t.renderer,f,o,r=i.options.animation,c=t.clipBox,h=t.inverted,u;r&&!et(r)&&(r=st[i.type].animation),u="_sharedClip"+r.duration+r.easing,n?(f=t[u],o=t[u+"m"],f||(t[u]=f=s.clipRect(e(c,{width:0})),t[u+"m"]=o=s.clipRect(-99,h?-t.plotLeft:-t.plotTop,99,h?t.chartWidth:t.chartHeight)),i.group.clip(f),i.markerGroup.clip(o),i.sharedClipKey=u):(f=t[u],f&&(f.animate({width:t.plotSizeX},r),t[u+"m"].animate({width:t.plotSizeX+99},r)),i.animate=null,i.animationTimeout=setTimeout(function(){i.afterAnimate()},r.duration))},afterAnimate:function(){var n=this.chart,t=this.sharedClipKey,i=this.group;i&&this.options.clip!==!1&&(i.clip(n.clipRect),this.markerGroup.clip()),setTimeout(function(){t&&n[t]&&(n[t]=n[t].destroy(),n[t+"m"]=n[t+"m"].destroy())},100)},drawPoints:function(){var o=this,l,w=o.points,a=o.chart,h,s,v,t,i,y,b,r,g=o.options,k=g.marker,c,d,p,nt=o.markerGroup;if(k.enabled||o._hasPointMarkers)for(v=w.length;v--;)t=w[v],h=tt(t.plotX),s=t.plotY,r=t.graphic,c=t.marker||{},d=k.enabled&&c.enabled===f||c.enabled,p=a.isInsidePlot(u(h),s,a.inverted),d&&s!==f&&!isNaN(s)&&t.y!==null?(l=t.pointAttr[t.selected?hi:yt],i=l.r,y=n(c.symbol,o.symbol),b=y.indexOf("url")===0,r?r.attr({visibility:p?ct?"inherit":kt:vt}).animate(e({x:h-i,y:s-i},r.symbolName?{width:2*i,height:2*i}:{})):p&&(i>0||b)&&(t.graphic=r=a.renderer.symbol(y,h-i,s-i,2*i,2*i).attr(l).add(nt))):r&&(t.graphic=r.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={};t=t||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var u=this,l=u.options,n=st[u.type].marker?l.marker:l,c=n.states,o=c[dt],a,v=u.color,g={stroke:v,fill:v},w=u.points||[],y,i,s=[],h,b=u.pointAttrToOptions,p,k=l.negativeColor,nt=n.lineColor,d;for(l.marker?(o.radius=o.radius||n.radius+2,o.lineWidth=o.lineWidth||n.lineWidth+1):o.color=o.color||ai(o.color||v).brighten(o.brightness).get(),s[yt]=u.convertAttribs(n,g),t([dt,hi],function(n){s[n]=u.convertAttribs(c[n],s[yt])}),u.pointAttr=s,y=w.length;y--;){if(i=w[y],n=i.options&&i.options.marker||i.options,n&&n.enabled===!1&&(n.radius=0),i.negative&&k&&(i.color=i.fillColor=k),p=l.colorByPoint||i.color,i.options)for(d in b)r(n[b[d]])&&(p=!0);p?(n=n||{},h=[],c=n.states||{},a=c[dt]=c[dt]||{},l.marker||(a.color=ai(a.color||i.color).brighten(a.brightness||o.brightness).get()),h[yt]=u.convertAttribs(e({color:i.color,fillColor:i.color,lineColor:nt===null?i.color:f},n),s[yt]),h[dt]=u.convertAttribs(c[dt],s[dt],h[yt]),h[hi]=u.convertAttribs(c[hi],s[hi],h[yt])):h=s,i.pointAttr=h}},update:function(t,i){var u=this.chart,c=this.userOptions,s=this.type,h=lt[s].prototype,r;t=o(c,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},t),this.remove(!1);for(r in h)h.hasOwnProperty(r)&&(this[r]=f);e(this,lt[t.type||s].prototype),this.init(u,t),n(i,!0)&&u.redraw(!1)},destroy:function(){var n=this,u=n.chart,h=/AppleWebKit\/533/.test(ei),e,f,o=n.data||[],r,s,i;for(a(n,"destroy"),pt(n),t(["xAxis","yAxis"],function(t){i=n[t],i&&(ti(i.series,n),i.isDirty=i.forceRedraw=!0,i.stacks={})}),n.legendItem&&n.chart.legend.destroyItem(n),f=o.length;f--;)r=o[f],r&&r.destroy&&r.destroy();n.points=null,clearTimeout(n.animationTimeout),t(["area","graph","dataLabelsGroup","group","markerGroup","tracker","graphNeg","areaNeg","posClip","negClip"],function(t){n[t]&&(e=h&&t==="group"?"hide":"destroy",n[t][e]())}),u.hoverSeries===n&&(u.hoverSeries=null),ti(u.series,n);for(s in n)delete n[s]},drawDataLabels:function(){var u=this,l=u.options,a=l.cursor,i=l.dataLabels,y=u.points,h,c,s,v;(i.enabled||u._hasPointLabels)&&(u.dlProcessOptions&&u.dlProcessOptions(i),v=u.plotGroup("dataLabelsGroup","data-labels",u.visible?kt:vt,i.zIndex||6),c=i,t(y,function(t){var p,l=t.dataLabel,w,y,b,k,d=t.connector,g=!0;if(h=t.options&&t.options.dataLabels,p=n(h&&h.enabled,c.enabled),l&&!p)t.dataLabel=l.destroy();else if(p){if(i=o(c,h),k=i.rotation,w=t.getLabelConfig(),s=i.format?or(i.format,w):i.formatter.call(w,i),i.style.color=n(i.color,i.style.color,u.color,"black"),l)r(s)?(l.attr({text:s}),g=!1):(t.dataLabel=l=l.destroy(),d&&(t.connector=d.destroy()));else if(r(s)){y={fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.borderWidth,r:i.borderRadius||0,rotation:k,padding:i.padding,zIndex:1};for(b in y)y[b]===f&&delete y[b];l=t.dataLabel=u.chart.renderer[k?"text":"label"](s,0,-999,null,null,null,i.useHTML).attr(y).css(e(i.style,a&&{cursor:a})).add(v).shadow(i.shadow)}l&&u.alignDataLabel(t,l,i,null,g)}}))},alignDataLabel:function(t,i,r,f,o){var h=this.chart,l=h.inverted,v=n(t.plotX,-999),y=n(t.plotY,-999),c=i.getBBox(),a=this.visible&&h.isInsidePlot(t.plotX,t.plotY,l),s;a&&(f=e({x:l?h.plotWidth-y:v,y:u(l?h.plotHeight-v:y),width:0,height:0},f),e(r,{width:c.width,height:c.height}),r.rotation?(s={align:r.align,x:f.x+r.x+f.width/2,y:f.y+r.y+f.height/2},i[o?"attr":"animate"](s)):(i.align(r,null,f),s=i.alignAttr,n(r.overflow,"justify")==="justify"?this.justifyDataLabel(i,r,s,c,f,o):n(r.crop,!0)&&(a=h.isInsidePlot(s.x,s.y)&&h.isInsidePlot(s.x+c.width,s.y+c.height)))),a||i.attr({y:-999})},justifyDataLabel:function(n,t,i,r,u,f){var s=this.chart,h=t.align,c=t.verticalAlign,e,o;e=i.x,e<0&&(h==="right"?t.align="left":t.x=-e,o=!0),e=i.x+r.width,e>s.plotWidth&&(h==="left"?t.align="right":t.x=s.plotWidth-e,o=!0),e=i.y,e<0&&(c==="bottom"?t.verticalAlign="top":t.y=-e,o=!0),e=i.y+r.height,e>s.plotHeight&&(c==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0),o&&(n.placed=!f,n.align(t,null,u))},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?b:k),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t),t.length>1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i,i},drawGraph:function(){var i=this,n=this.options,u=[["graph",n.lineColor||this.color]],f=n.lineWidth,e=n.dashStyle,s=n.linecap!=="square",r=this.getGraphPath(),o=n.negativeColor;o&&u.push(["graphNeg",o]),t(u,function(t,u){var c=t[0],h=i[c],o;h?(iu(h),h.animate({d:r})):f&&r.length&&(o={stroke:t[1],"stroke-width":f,zIndex:1},e?o.dashstyle=e:s&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),i[c]=i.chart.renderer.path(r).attr(o).add(i.group).shadow(!u&&n.shadow))})},clipNeg:function(){var l=this.options,n=this.chart,a=n.renderer,k=l.negativeColor||l.negativeFillColor,t,o,s,v=this.graph,y=this.area,r=this.posClip,h=this.negClip,c=n.chartWidth,w=n.chartHeight,p=i(c,w),b=this.yAxis,f,e;k&&(v||y)&&(t=u(b.toPixels(l.threshold||0,!0)),f={x:0,y:0,width:p,height:t},e={x:0,y:t,width:p,height:p},n.inverted&&(f.height=e.y=n.plotWidth-t,a.isVML&&(f={x:n.plotWidth-t-n.plotLeft,y:0,width:c,height:w},e={x:t+n.plotLeft-c,y:0,width:n.plotLeft+t,height:c})),b.reversed?(o=e,s=f):(o=f,s=e),r?(r.animate(o),h.animate(s)):(this.posClip=r=a.clipRect(o),this.negClip=h=a.clipRect(s),v&&this.graphNeg&&(v.clip(r),this.graphNeg.clip(h)),y&&(y.clip(r),this.areaNeg.clip(h))))},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;n.xAxis&&(d(r,"resize",i),d(n,"destroy",function(){pt(r,"resize",i)}),i(),n.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var n=this,t=n.chart,i,r=n.options,h=r.animation,u=h&&!!n.animate&&t.renderer.isSVG,f=n.visible?kt:vt,e=r.zIndex,o=n.hasRendered,s=t.seriesGroup;i=n.plotGroup("group","series",f,e,s),n.markerGroup=n.plotGroup("markerGroup","markers",f,e,s),u&&n.animate(!0),n.getAttribs(),i.inverted=n.isCartesian?t.inverted:!1,n.drawGraph&&(n.drawGraph(),n.clipNeg()),n.drawDataLabels(),n.drawPoints(),n.options.enableMouseTracking!==!1&&n.drawTracker(),t.inverted&&n.invertGroups(),r.clip===!1||n.sharedClipKey||o||i.clip(t.clipRect),u?n.animate():o||n.afterAnimate(),n.isDirty=n.isDirtyData=!1,n.hasRendered=!0},redraw:function(){var t=this,i=t.chart,e=t.isDirtyData,r=t.group,u=t.xAxis,f=t.yAxis;r&&(i.inverted&&r.attr({width:i.plotWidth,height:i.plotHeight}),r.animate({translateX:n(u&&u.left,i.plotLeft),translateY:n(f&&f.top,i.plotTop)})),t.translate(),t.setTooltipPoints(!0),t.render(),e&&a(t,"updatedData")},setState:function(n){var t=this,e=t.options,i=t.graph,o=t.graphNeg,r=e.states,u=e.lineWidth,f;if(n=n||yt,t.state!==n){if(t.state=n,r[n]&&r[n].enabled===!1)return;n&&(u=r[n].lineWidth||u+1),i&&!i.dashstyle&&(f={"stroke-width":u},i.attr(f),o&&o.attr(f))}},setVisible:function(n,i){var r=this,u=r.chart,o=r.legendItem,e,s=u.options.chart.ignoreHiddenSeries,h=r.visible;r.visible=n=r.userOptions.visible=n===f?!h:n,e=n?"show":"hide",t(["group","dataLabelsGroup","markerGroup","tracker"],function(n){r[n]&&r[n][e]()}),u.hoverSeries===r&&r.onMouseOut(),o&&u.legend.colorizeItem(r,n),r.isDirty=!0,r.options.stacking&&t(u.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)}),t(r.linkedSeries,function(t){t.setVisible(n,!1)}),s&&(u.isDirtyBox=!0),i!==!1&&u.redraw(),a(r,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){var t=this;t.selected=n=n===f?!t.selected:n,t.checkbox&&(t.checkbox.checked=n),a(t,n?"select":"unselect")},drawTracker:function(){var i=this,s=i.options,e=s.trackByArea,r=[].concat(e?i.areaPath:i.graphPath),h=r.length,o=i.chart,y=o.pointer,p=o.renderer,u=o.options.tooltip.snap,c=i.tracker,l=s.cursor,w=l&&{cursor:l},a=i.singlePoints,f,n,v=function(){o.hoverSeries!==i&&i.onMouseOver()};if(h&&!e)for(n=h+1;n--;)r[n]===k&&r.splice(n+1,0,r[n+1]-u,r[n+2],b),(n&&r[n]===k||n===h)&&r.splice(n,0,b,r[n-2]+u,r[n-1]);for(n=0;n<a.length;n++)f=a[n],r.push(k,f.plotX-u,f.plotY,b,f.plotX+u,f.plotY);c?c.attr({d:r}):(i.tracker=p.path(r).attr({"stroke-linejoin":"round",visibility:i.visible?kt:vt,stroke:oe,fill:e?oe:ut,"stroke-width":s.lineWidth+(e?0:2*u),zIndex:2}).add(i.group),t([i.tracker,i.markerGroup],function(n){if(n.addClass(ft+"tracker").on("mouseover",v).on("mouseout",function(n){y.onTrackerMouseOut(n)}).css(w),hu)n.on("touchstart",v)}))}},to=ii(nt),lt.line=to,st.area=o(yr,{threshold:0}),ru=ii(nt,{type:"area",getSegments:function(){var f=[],u=[],e=[],v=this.xAxis,l=this.yAxis,n=l.stacks[this.stackKey],i={},o,s,h=this.points,y=this.options.connectNulls,a,r,c;if(this.options.stacking&&!this.cropped){for(r=0;r<h.length;r++)i[h[r].x]=h[r];for(c in n)n[c].total!==null&&e.push(+c);e.sort(function(n,t){return n-t}),t(e,function(t){(!y||i[t]&&i[t].y!==null)&&(i[t]?u.push(i[t]):(o=v.translate(t),a=n[t].percent?n[t].total?n[t].cum*100/n[t].total:0:n[t].cum,s=l.toPixels(a,!0),u.push({y:null,plotX:o,clientX:o,plotY:s,yBottom:s,onMouseOver:oi})))}),u.length&&f.push(u)}else nt.prototype.getSegments.call(this),f=this.segments;this.segments=f},getSegmentPath:function(t){var r=nt.prototype.getSegmentPath.call(this,t),u=[].concat(r),i,f=this.options,s=r.length,o=this.yAxis.getThreshold(f.threshold),e;if(s===3&&u.push(b,r[1],r[2]),f.stacking&&!this.closedStacks)for(i=t.length-1;i>=0;i--)e=n(t[i].yBottom,o),i<t.length-1&&f.step&&u.push(t[i+1].plotX,e),u.push(t[i].plotX,e);else this.closeSegment(u,t,o);return this.areaPath=this.areaPath.concat(u),r},closeSegment:function(n,t,i){n.push(b,t[t.length-1].plotX,i,b,t[0].plotX,i)},drawGraph:function(){this.areaPath=[],nt.prototype.drawGraph.apply(this);var i=this,u=this.areaPath,r=this.options,f=r.negativeColor,e=r.negativeFillColor,o=[["area",this.color,r.fillColor]];(f||e)&&o.push(["areaNeg",f,e]),t(o,function(t){var f=t[0],e=i[f];e?e.animate({d:u}):i[f]=i.chart.renderer.path(u).attr({fill:n(t[2],ai(t[1]).setOpacity(n(r.fillOpacity,.75)).get()),zIndex:0}).add(i.group)})},drawLegendSymbol:function(n,t){t.legendSymbol=this.chart.renderer.rect(0,n.baseline-11,n.options.symbolWidth,12,2).attr({zIndex:3}).add(t.legendGroup)}}),lt.area=ru,st.spline=o(yr),te=ii(nt,{type:"spline",getPointSpline:function(n,t,r){var h=1.5,a=h+1,s=t.plotX,u=t.plotY,o=n[r-1],p=n[r+1],w,e,y,f,b;if(o&&p){var g=o.plotX,c=o.plotY,nt=p.plotX,l=p.plotY,d;w=(h*s+g)/a,e=(h*u+c)/a,y=(h*s+nt)/a,f=(h*u+l)/a,d=(f-e)*(y-s)/(y-w)+u-f,e+=d,f+=d,e>c&&e>u?(e=i(c,u),f=2*u-e):e<c&&e<u&&(e=v(c,u),f=2*u-e),f>l&&f>u?(f=i(l,u),e=2*u-f):f<l&&f<u&&(f=v(l,u),e=2*u-f),t.rightContX=y,t.rightContY=f}return r?(b=["C",o.rightContX||o.plotX,o.rightContY||o.plotY,w||s,e||u,s,u],o.rightContX=o.rightContY=null):b=[k,s,u],b}}),lt.spline=te,st.areaspline=o(st.area),uu=ru.prototype,io=ii(te,{type:"areaspline",closedStacks:!0,getSegmentPath:uu.getSegmentPath,closeSegment:uu.closeSegment,drawGraph:uu.drawGraph,drawLegendSymbol:uu.drawLegendSymbol}),lt.areaspline=io,st.column=o(yr,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0}),fu=ii(nt,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){nt.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var i=this,u=i.options,e=i.xAxis,p=i.yAxis,b=e.reversed,s,c={},l,o=0;u.grouping===!1?o=1:t(i.chart.series,function(n){var t=n.options,r=n.yAxis;n.type===i.type&&n.visible&&p.len===r.len&&p.pos===r.pos&&(t.stacking?(s=n.stackKey,c[s]===f&&(c[s]=o++),l=c[s]):t.grouping!==!1&&(l=o++),n.columnIndex=l)});var a=v(w(e.transA)*(e.ordinalSlope||u.pointRange||e.closestPointRange||1),e.len),k=a*u.groupPadding,g=a-2*k,h=g/o,y=u.pointWidth,d=r(y)?(h-y)/2:h*u.pointPadding,nt=n(y,h-2*d),tt=(b?o-(i.columnIndex||0):i.columnIndex)||0,it=d+(k+tt*h-a/2)*(b?-1:1);return i.columnMetrics={width:nt,offset:it}},translate:function(){var r=this,l=r.chart,o=r.options,s=o.borderWidth,h=r.yAxis,b=o.threshold,e=r.translatedThreshold=h.getThreshold(b),f=n(o.minPointLength,5),a=r.getColumnMetrics(),y=a.width,k=r.barW=yi(i(y,1+2*s)),d=r.pointXOffset=a.offset,p=-(s%2?.5:0),c=s%2?.5:1;l.renderer.isVML&&l.inverted&&(c+=1),nt.prototype.translate.apply(r),t(r.points,function(t){var l=n(t.yBottom,e),b=v(i(-999-l,t.plotY),h.len+999+l),o=t.plotX+d,a=k,r=v(b,l),g,nt,tt,it,s=i(b,l)-r;w(s)<f&&f&&(s=f,r=u(w(r-e)>f?l-f:e-(h.translate(t.y,0,1,0,1)<=e?f:0))),t.barX=o,t.pointWidth=y,it=w(o)<.5,g=u(o+a)+p,o=u(o)+p,a=g-o,tt=w(r)<.5,nt=u(r+s)+c,r=u(r)+c,s=nt-r,it&&(o+=1,a-=1),tt&&(r-=1,s+=1),t.shapeType="rect",t.shapeArgs={x:o,y:r,width:a,height:s}})},getSymbol:oi,drawLegendSymbol:ru.prototype.drawLegendSymbol,drawGraph:oi,drawPoints:function(){var n=this,i=n.options,u=n.chart.renderer,r;t(n.points,function(t){var s=t.plotY,e=t.graphic;s===f||isNaN(s)||t.y===null?e&&(t.graphic=e.destroy()):(r=t.shapeArgs,e?(iu(e),e.animate(o(r))):t.graphic=e=u[t.shapeType](r).attr(t.pointAttr[t.selected?hi:yt]).add(n.group).shadow(i.shadow,null,i.stacking&&!i.borderRadius))})},drawTracker:function(){var n=this,i=n.chart,e=i.pointer,r=n.options.cursor,o=r&&{cursor:r},u=function(t){var u=t.target,r;for(i.hoverSeries!==n&&n.onMouseOver();u&&!r;)r=u.point,u=u.parentNode;if(r!==f&&r!==i.hoverPoint)r.onMouseOver(t)};t(n.points,function(n){n.graphic&&(n.graphic.element.point=n),n.dataLabel&&(n.dataLabel.element.point=n)}),n._hasTracking||(t(n.trackerGroups,function(t){if(n[t]&&(n[t].addClass(ft+"tracker").on("mouseover",u).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),hu))n[t].on("touchstart",u)}),n._hasTracking=!0)},alignDataLabel:function(t,i,r,u,f){var e=this.chart,s=e.inverted,l=t.dlBox||t.shapeArgs,h=t.below||t.plotY>n(this.translatedThreshold,e.plotSizeY),c=n(r.inside,!!this.options.stacking);l&&(u=o(l),s&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),c||(s?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0))),r.align=n(r.align,!s||c?"center":h?"right":"left"),r.verticalAlign=n(r.verticalAlign,s||c?"middle":h?"top":"bottom"),nt.prototype.alignDataLabel.call(this,t,i,r,u,f)},animate:function(n){var u=this,r=this.yAxis,o=u.options,e=this.chart.inverted,t={},f;ct&&(n?(t.scaleY=.001,f=v(r.pos+r.len,i(r.pos,r.toPixels(o.threshold))),e?t.translateX=f-r.len:t.translateY=f,u.group.attr(t)):(t.scaleY=1,t[e?"translateX":"translateY"]=r.pos,u.group.animate(t,u.options.animation),u.animate=null))},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)}),nt.prototype.remove.apply(n,arguments)}}),lt.column=fu,st.bar=o(st.column),ro=ii(fu,{type:"bar",inverted:!0}),lt.bar=ro,st.scatter=o(yr,{lineWidth:0,tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>",followPointer:!0},stickyTracking:!1}),uo=ii(nt,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,drawTracker:fu.prototype.drawTracker,setTooltipPoints:oi}),lt.scatter=uo,st.pie=o(yr,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}}),fo=ii(sr,{init:function(){sr.prototype.init.apply(this,arguments);var t=this,i;return t.y<0&&(t.y=null),e(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(n){t.slice(n.type==="select")},d(t,"select",i),d(t,"unselect",i),t},setVisible:function(n){var i=this,r=i.series,u=r.chart,e;i.visible=i.options.visible=n=n===f?!i.visible:n,r.options.data[li(i,r.data)]=i.options,e=n?"show":"hide",t(["graphic","dataLabel","connector","shadowGroup"],function(n){i[n]&&i[n][e]()}),i.legendItem&&u.legend.colorizeItem(i,n),!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,u.redraw())},slice:function(t,i,u){var f=this,e=f.series,s=e.chart,o;ar(u,s),i=n(i,!0),f.sliced=f.options.sliced=t=r(t)?t:!f.sliced,e.options.data[li(f,e.data)]=f.options,o=t?f.slicedTranslation:{translateX:0,translateY:0},f.graphic.animate(o),f.shadowGroup&&f.shadowGroup.animate(o)}}),nf={type:"pie",isCartesian:!1,pointClass:fo,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:oi,animate:function(n){var i=this,u=i.points,r=i.startAngleRad;n||(t(u,function(n){var t=n.graphic,u=n.shapeArgs;t&&(t.attr({r:i.center[3]/2,start:r,end:r}),t.animate({r:u.r,start:u.start,end:u.end},i.options.animation))}),i.animate=null)},setData:function(t,i){nt.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),n(i,!0)&&this.chart.redraw()},generatePoints:function(){var n,i=0,r,u,t,f=this.options.ignoreHiddenPoint;for(nt.prototype.generatePoints.call(this),r=this.points,u=r.length,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.y/i*100:0,t.total=i},getCenter:function(){var t=this.options,u=this.chart,i=2*(t.slicedOffset||0),f,e=u.plotWidth-2*i,o=u.plotHeight-2*i,s=t.center,l=[n(s[0],"50%"),n(s[1],"50%"),t.size||"100%",t.innerSize||0],h=v(e,o),r;return vr(l,function(n,t){return r=/%$/.test(n),f=t<2||t===2&&r,(r?[e,o,h,h][t]*c(n)/100:n)+(f?i:0)})},translate:function(n){this.generatePoints();var r=this,a=0,h=1e3,f=r.options,y=f.slicedOffset,c=y+f.borderWidth,p,w,t,d=f.startAngle||0,b=r.startAngleRad=pi/180*(d-90),nt=r.endAngleRad=pi/180*((f.endAngle||d+360)-90),k=nt-b,g=r.points,o,s,e=f.dataLabels.distance,tt=f.ignoreHiddenPoint,l,it=g.length,i;for(n||(r.center=n=r.getCenter()),r.getX=function(i,r){return t=rt.asin((i-n[1])/(n[2]/2+e)),n[0]+(r?-1:1)*ht(t)*(n[2]/2+e)},l=0;l<it;l++)i=g[l],p=b+a*k,(!tt||i.visible)&&(a+=i.percentage/100),w=b+a*k,i.shapeType="arc",i.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:u(p*h)/h,end:u(w*h)/h},t=(w+p)/2,t>.75*k&&(t-=2*pi),i.slicedTranslation={translateX:u(ht(t)*y),translateY:u(wt(t)*y)},o=ht(t)*n[2]/2,s=wt(t)*n[2]/2,i.tooltipPos=[n[0]+o*.7,n[1]+s*.7],i.half=t<-pi/2||t>pi/2?1:0,i.angle=t,c=v(c,e/2),i.labelPos=[n[0]+o+ht(t)*e,n[1]+s+wt(t)*e,n[0]+o+ht(t)*c,n[1]+s+wt(t)*c,n[0]+o,n[1]+s,e<0?"center":i.half?"right":"left",t]},setTooltipPoints:oi,drawGraph:null,drawPoints:function(){var n=this,h=n.chart,f=h.renderer,r,u,o=n.options.shadow,i,s;o&&!n.shadowGroup&&(n.shadowGroup=f.g("shadow").add(n.group)),t(n.points,function(t){u=t.graphic,s=t.shapeArgs,i=t.shadowGroup,o&&!i&&(i=t.shadowGroup=f.g("shadow").add(n.shadowGroup)),r=t.sliced?t.slicedTranslation:{translateX:0,translateY:0},i&&i.attr(r),u?u.animate(e(s,r)):t.graphic=u=f.arc(s).setRadialReference(n.center).attr(t.pointAttr[t.selected?hi:yt]).attr({"stroke-linejoin":"round"}).attr(r).add(n.group).shadow(o,i),t.visible===!1&&t.setVisible(!1)})},sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==undefined&&(i.angle-n.angle)*t})},drawDataLabels:function(){var l=this,ot=l.data,it,ti=l.chart,y=l.options.dataLabels,rt=n(y.connectorPadding,10),ii=n(y.connectorWidth,1),ri=ti.plotWidth,ui=ti.plotHeight,g,at,si=n(y.softConnector,!0),ut=y.distance,yt=l.center,pt=yt[2]/2,fi=yt[1],hi=ut>0,s,st,f,tt,ei=[[],[]],a,o,ht,wt,h,r,v=[0,0,0,0],oi=function(n,t){return t.y-n.y},dt,gt,ct,ni,et;if(l.visible&&(y.enabled||l._hasPointLabels)){for(nt.prototype.drawDataLabels.apply(l),t(ot,function(n){n.dataLabel&&ei[n.half].push(n)}),h=0;!tt&&ot[h];)tt=ot[h]&&ot[h].dataLabel&&(ot[h].dataLabel.getBBox().height||21),h++;for(h=2;h--;){var c=[],ft,bt=[],p=ei[h],lt,d=p.length,e;if(l.sortByAngle(p,h-.5),ut>0){for(lt=fi-pt-ut;lt<=fi+pt+ut;lt+=tt)c.push(lt);if(ft=c.length,d>ft){for(wt=[].concat(p),wt.sort(oi),r=d;r--;)wt[r].rank=r;for(r=d;r--;)p[r].rank>=ft&&p.splice(r,1);d=p.length}for(r=0;r<d;r++){for(it=p[r],f=it.labelPos,dt=9999,ct=0;ct<ft;ct++)gt=w(c[ct]-f[1]),gt<dt&&(dt=gt,e=ct);if(e<r&&c[r]!==null)e=r;else if(ft<d-r+e&&c[r]!==null)for(e=ft-d+r;c[e]===null;)e++;else while(c[e]===null)e++;bt.push({i:e,y:c[e]}),c[e]=null}bt.sort(oi)}for(r=0;r<d;r++)it=p[r],f=it.labelPos,s=it.dataLabel,ht=it.visible===!1?vt:kt,et=f[1],ut>0?(ni=bt.pop(),e=ni.i,o=ni.y,(et>o&&c[e+1]!==null||et<o&&c[e-1]!==null)&&(o=et)):o=et,a=y.justify?yt[0]+(h?-1:1)*(pt+ut):l.getX(e===0||e===c.length-1?et:o,h),s._attr={visibility:ht,align:f[6]},s._pos={x:a+y.x+({left:rt,right:-rt}[f[6]]||0),y:o+y.y-10},s.connX=a,s.connY=o,this.options.size===null&&(st=s.width,a-st<rt?v[3]=i(u(st-a+rt),v[3]):a+st>ri-rt&&(v[1]=i(u(a+st-ri+rt),v[1])),o-tt/2<0?v[0]=i(u(-o+tt/2),v[0]):o+tt/2>ui&&(v[2]=i(u(o+tt/2-ui),v[2])))}(gi(v)===0||this.verifyDataLabelOverflow(v))&&(this.placeDataLabels(),hi&&ii&&t(this.points,function(n){g=n.connector,f=n.labelPos,s=n.dataLabel,s&&s._pos?(ht=s._attr.visibility,a=s.connX,o=s.connY,at=si?[k,a+(f[6]==="left"?5:-5),o,"C",a,o,2*f[2]-f[4],2*f[3]-f[5],f[2],f[3],b,f[4],f[5]]:[k,a+(f[6]==="left"?5:-5),o,b,f[2],f[3],b,f[4],f[5]],g?(g.animate({d:at}),g.attr("visibility",ht)):n.connector=g=l.chart.renderer.path(at).attr({"stroke-width":ii,stroke:y.connectorColor||n.color||"#606060",visibility:ht}).add(l.group)):g&&(n.connector=g.destroy())}))}},verifyDataLabelOverflow:function(n){var r=this.center,e=this.options,o=e.center,f=e.minSize||80,u=f,s;return o[0]!==null?u=i(r[2]-i(n[1],n[3]),f):(u=i(r[2]-n[1]-n[3],f),r[0]+=(n[3]-n[1])/2),o[1]!==null?u=i(v(u,r[2]-i(n[0],n[2])),f):(u=i(v(u,r[2]-n[0]-n[2]),f),r[1]+=(n[0]-n[2])/2),u<r[2]?(r[2]=u,this.translate(r),t(this.points,function(n){n.dataLabel&&(n.dataLabel._pos=null)}),this.drawDataLabels()):s=!0,s},placeDataLabels:function(){t(this.points,function(n){var t=n.dataLabel,i;t&&(i=t._pos,i?(t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-999}))})},alignDataLabel:oi,drawTracker:fu.prototype.drawTracker,drawLegendSymbol:ru.prototype.drawLegendSymbol,getSymbol:oi},nf=ii(nt,nf),lt.pie=nf,e(Highcharts,{Axis:du,Chart:ne,Color:ai,Legend:gu,Pointer:gf,Point:sr,Tick:pr,Tooltip:df,Renderer:br,Series:nt,SVGElement:nr,SVGRenderer:vi,arrayMin:cr,arrayMax:gi,charts:ir,dateFormat:lu,format:or,pathAnim:rf,getOptions:vo,hasBidiBug:eo,isTouchDevice:re,numberFormat:fr,seriesTypes:lt,setOptions:ao,addEvent:d,removeEvent:pt,createElement:ot,discardElement:nu,css:p,each:t,extend:e,map:vr,merge:o,pick:n,splat:ui,extendClass:ii,pInt:c,wrap:cf,svg:ct,canvas:bt,vml:!ct&&!bt,product:fe,version:ee})})();
|
|
//# sourceMappingURL=Highcharts.min.js.map
|