/home/mip/mip/public/template/AdminLTE/plugins/fussionChart/js/fusioncharts.powercharts.js
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function M(a,d){(function r(a,d){var ba,U;for(U in a)Fb.call(a,U)&&(ba=a[U],void 0===d[U]?d[U]=ba:"object"===typeof ba&&null!==typeof ba&&r(ba,d[U]))})(a,d);return d}function v(a){return Yb(a?a:Ua)||Ua}function Da(a){var d=a.fontSize+"";if(!d)return a;d=d.replace(/(\d+)(px)*/,"$1px");a.fontSize=d;return a}function Fa(a){return void 0===a||"undefined"===typeof a||null===a||a!==a?!0:!1}function pa(a,d){this.carpet=
a;this._componentPool=d}function Ka(a){this.conf=a;this._id="GL_CARPET";this.compositionsByCategory={};this._lSpace=this.group=this.node=void 0;this.autoRecalculate=!1;this.groupName="fc-gradient-legend";this.moveInstructions={}}function Oa(){Ka.apply(this,arguments)}function ta(a,d){this.rawText=a;this.conf=d;this._id="GL_CAPTION";this._lSpace=this.bound=this.node=void 0}function ja(a,d){this.colorRange=a;this.conf=d;this._id="GL_BODY";this.bound=void 0;this.compositionsByCategory={};this._lSpace=
void 0}function ra(){ja.apply(this,arguments)}function xa(a){this.conf=a;this._id="GL_LABELS"}function Aa(){xa.apply(this,arguments)}function Ia(){xa.apply(this,arguments);this._id="GL_VALUES"}function B(){Ia.apply(this,arguments);this._id="GL_VALUES"}function p(a){this.conf=a;this._id="FL_AXIS";this.markerLine=this.shadow=this.node=void 0;this.compositionsByCategory={}}function Ba(){p.apply(this,arguments)}function d(a){var d={};this._id="GL_SG1";this.conf=a;d.conf=a;this.extremes=[];this.sliders=
{};d.sliderGroup=this;this.valueRange=[];this.callbacks=[];this.sliders[!1]=new F(!1,d,this._id+"_0");this.sliders[!0]=new F(!0,d,this._id+"_1")}function F(a,d,s){this.conf=d.conf;this.sliderIndex=a;this.rangeGroup=d.sliderGroup;this._id=s;this.tracker=this.node=void 0;this.currPos=0;this.swing=[]}function a(a,d,s){s=s.components.numberFormatter;var r,m,x,t,u,N;this.data=a;this.options=d||{};N=this.mapByPercent=!!a.mapByPercent;this.appender="";m=this.mapByPercent?0:d.min;d=this.mapByPercent?100:
d.max;2===a.colorRange.length&&(r=a.colorRange[0],x=a.colorRange[1],t=r.value=Fa(r.value)?m:r.value,u=x.value=Fa(x.value)?d:x.value,t===u&&(t=r.value=m,u=x.value=d),r.displayValue=N?t+"%":s.legendValue(t),x.displayValue=N?u+"%":s.legendValue(u));Fa(m)&&Fa(r.value)||Fa(d)&&Fa(r.value)||!a.gradient?this._preparationGoneWrong=!0:this._preparationGoneWrong=!1;s=this.colorRange=a.colorRange.sort(function(a,s){return a.value-s.value});this.valueRatio=void 0;this.values=[];a=0;for(r=s.length;a<r;a++)this.values.push(s[a].value)}
function na(){pa.apply(this,arguments)}var Z=this,W=Z.hcLib,ua=W.pluckNumber,z=W.pluck,ya=W.toRaphaelColor,D=W.graphics,ob=W.dehashify,Y=W.hashify,qa=D.convertColor,Sb=D.RGBtoHex,Ob=D.HEXtoRGB,ia=D.getLightColor,Yb=D.getValidColor,Ib="rgba(192,192,192,"+(W.isIE?.002:1E-6)+")",Ja,Ua=W.COLOR_BLACK,Fb={}.hasOwnProperty,kb,db={};Ja=function(){function a(s){var r=d.numberFormatter,U,u,N;U=0;for(u=s.length;U<u;U++)if(N=s[U].maxvalue)s[U].maxvalue=r.getCleanValue(N)}var d,s,r={legendCarpetConf:{spreadFactor:.85,
allowDrag:!1,captionAlignment:"center",padding:{v:3,h:3},style:{fill:"#e4d9c1",stroke:"#c4b89d"}},legendCaptionConf:{spreadFactor:.2,padding:{v:2,h:2},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",fontWeight:"bold",fontStyle:"normal"},bound:{style:{stroke:"none"}}},legendBodyConf:{spreadFactor:.8,padding:{v:2,h:2},bound:{style:{stroke:"none"}}}};r.legendAxisConf={legendAxisHeight:11,spreadFactor:.4,padding:{v:1,h:1},style:{stroke:"none","stroke-opacity":0,"stroke-width":1},line:{grooveLength:3,
offset:8,style:{stroke:"rgba(255, 255, 255, 0.65)","stroke-width":1.5}},shadow:{style:{stroke:"none",fill:ya({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}},bound:{style:{stroke:"none"}}};r.sliderGroupConf={showTooltip:1,outerCircle:{rFactor:1.4,style:{fill:Ib,stroke:"#757575","stroke-width":3}},innerCircle:{rFactor:.65,style:{fill:Ib,stroke:"#FFFFFF"}}};r.axisTextItemConf={spreadFactor:.3,padding:{v:1,h:1},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",
fontWeight:"normal",fontStyle:"normal"}};return{init:function(a){s=a.chart;d=s.components},setConf:function(a){},legacyDataParser:function(s,r){var t={},u=d.numberFormatter,N,da,ga,C,J,p,D,B,z;if(!s)return!1;t.mapByPercent=z=!!ua(s.mapbypercent,0);void 0===s.minvalue&&(s.minvalue=void 0!==r.min?z?0:r.min:0);void 0===s.maxvalue&&(s.maxvalue=void 0!==r.max?z?100:r.max:100);N=s.color||[];ga=s.code;D=t.colorRange=[];t.gradient=!!ua(s.gradient,1);N.length?ga=v(ga):(ga?(C=v(ga),ga=v()):(ga=v(),C=ia(ga,
1)),N.push({code:C,maxvalue:s.maxvalue,label:void 0}));a(N);N=N.sort(function(a,s){return a.maxvalue-s.maxvalue});C=B=s.minvalue&&u.getCleanValue(s.minvalue);B=(void 0!==C||null!==C)&&(z?C+"%":u.legendValue(C));D.push({code:ob(ga),value:C,displayValue:B,label:s.startlabel});ga=0;for(p=N.length;ga<p;ga++)da=N[ga],J=v(da.code||da.color),C=B=da.maxvalue,isNaN(parseInt(C,10))||(B=(void 0!==C||null!==C)&&(z?C+"%":u.legendValue(C)),D.push(Object({code:ob(J),value:C,displayValue:B,label:da.label||da.displayvalue})));
D[D.length-1].label=s.endlabel||da.label;return t},getDefaultConf:function(a){return r[a]}}}();kb=function(a){var d=a.chartInstance.id,s=db[d]||(db[d]={});return function(){function r(){var a,d,r,ba,m,U;for(a in s)for(d in r=s[a],r)if(ba=r[d],ba instanceof Array)for(m=0,U=ba.length;m<U;m++)ba[m]&&ba[m].hide();else ba.hide()}var m,x={},t;m={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_CIRCLE:"circle",KEY_PATH:"path"};x[m.KEY_RECT]=function(a){return t.rect(a)};x[m.KEY_TEXT]=function(a){return t.text(a)};
x[m.KEY_GROUP]=function(a,s){return t.group(a,s)};x[m.KEY_CIRCLE]=function(a){return t.circle(a)};x[m.KEY_PATH]=function(a,s){return t.path(a,s)};return{init:function(a){t=a;r()},emptyPool:function(){s=db[d]={}},getChart:function(){return a},getComponent:function(a,d,r){var ba=s[a],m,U,t,p=0;ba||(ba=s[a]={});return(U=ba[d])&&!(U instanceof Array)||U instanceof Array&&0<U.length?function(){return r?(t=U[p++])?t.show():U[p]=x[d].apply(this,arguments):U.show()}:function(){return r?(m=ba[d]||(ba[d]=[]),
U=x[d].apply(this,arguments),m.push(U),U.show()):ba[d]=x[d].apply(this,arguments)}},hideAll:function(){r()},getKeys:function(){return m}}}()};pa.prototype.constructor=pa;pa.prototype.draw=function(a){a.componentPool=this._componentPool;return this.carpet.draw(a)};pa.prototype.getLogicalSpace=function(a,d){a.componentPool=this._componentPool;return this.carpet.getLogicalSpace(a,d)};pa.prototype.dispose=function(){this.carpet&&this.carpet.group&&this.carpet.group.remove();this._componentPool.emptyPool()};
Ka.prototype.constructor=Ka;Ka.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};Ka.prototype.getBoundingBox=function(a){var d=this.conf,s=a.refSide,r=a.alignment,m=a.refOffset,x=a.x,t=a.y,d=d.width=s*d.spreadFactor;!r||void 0!==x&&null!==x||(x=(m+s)/2-d/2);return{width:d,height:a.maxOtherSide,x:x,y:t}};Ka.prototype.getPostCalcDecisions=function(a,d){var s=this.conf.padding,r,m=0;for(r in d)m+=d[r].height||0;a.height=m+2*s.v};Ka.prototype.getLogicalSpace=function(a,d){var s=
this._lSpace,r=this.conf.padding,m=this.compositionsByCategory,x,t,u;u=0;var N={},da,p=0;if(s&&!d)return s.isImpure=!0,s;s=this._lSpace=t=this.getBoundingBox(a);if(Fa(s.x)||Fa(s.y)||Fa(s.height)||Fa(s.width))this.autoRecalculate=!0;s=M(t,{});s.height-=2*r.v;s.width-=2*r.h;s.x+=r.h;s.y+=r.v;for(da in m)x=m[da],r=M(s,{}),r.y+=u,u=s.height*x.conf.spreadFactor,r.height=u+p,u=x.getLogicalSpace(M(r,{}),a,d),p=r.height-u.height,N[da]=u,u=u.height;this.getPostCalcDecisions(t,N);return this._lSpace=t};Ka.prototype.setupDragging=
function(){var a=this.group,d=0,s=0,r=0,m=0;a.css({cursor:"move"});a.drag(function(x,t){d=x;s=t;a.attr({transform:"t"+(r+d)+","+(m+s)})},function(){r+=d;m+=s},function(){})};Ka.prototype.draw=function(a){var d=this.conf,s=this.compositionsByCategory,r=a.paper,m=a.parentGroup,x=a.componentPool,t,u,N=x.getChart().get("config","animationObj").duration,da,p=x.getKeys();this.getLogicalSpace(a,this.autoRecalculate);u=this._lSpace;da=x.getComponent(this._id,p.KEY_GROUP);this.group=m=da(this.groupName,m);
m.attr({opacity:0});m.animate({opacity:1},N,"easeIn");da=x.getComponent(this._id,p.KEY_RECT);this.node=da(m).attr(u).css(d.style);for(t in s)x=s[t],x.draw(d.captionAlignment,u,{colorRange:a.colorRange,numberFormatter:a.numberFormatter,paper:r,parentLayer:m,smartLabel:a.smartLabel,moveInstructions:this.moveInstructions[t],componentPool:a.componentPool});d.allowDrag&&this.setupDragging();return this.node};Oa.prototype=Object.create(Ka.prototype);Oa.prototype.constructor=Oa;Oa.prototype.getBoundingBox=
function(a){var d=this.conf,s=a.refSide,r=a.alignment,m=a.refOffset,x=a.x,t=a.y,d=d.height=s*d.spreadFactor;!r||void 0!==t&&null!==t||(t=(m+s)/2-d/2);return{width:a.maxOtherSide,height:d,x:x,y:t}};Oa.prototype.getPostCalcDecisions=function(a,d){var s=this.conf.padding,r=Number.NEGATIVE_INFINITY,m,x,t=this.moveInstructions;Ka.prototype.getPostCalcDecisions.apply(this,arguments);for(x in d)m=d[x].width,r=r<m?m:r;a.width=r+2*s.h;for(x in d)if(m=d[x].width,s=r-m)t[x]="t"+s/2+",0"};ta.prototype.constructor=
ta;ta.LEFT={x:function(a,d){return d.x+a.width/2+2}};ta.RIGHT={x:function(a,d){return d.x+d.width-a.width/2-2}};ta.CENTER={x:function(a,d){return d.x+d.width/2}};ta.prototype.getLogicalSpace=function(a,d,s){var r=this.conf.padding,m=this._lSpace,x=this.rawText,t=d.componentPool.getChart();if(m&&!s)return m.isImpure=!0,m;m=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartText:void 0}};s=d.smartLabel;if(!x)return m.bound;d=M(a,{});d.height-=2*r.v;d.width-=2*r.h;d.x+=r.h;d.y+=r.v;s.useEllipsesOnOverflow(t.config.useEllipsesWhenOverflow);
t=M(this.conf.style,{});Da(t);s.setStyle(t);x=s.getSmartText(x,d.width,d.height);d.height=x.height;d.width=x.width;a.height=x.height+2*r.v;a.width=x.width+2*r.h;m.node.smartText=x;m.node.logicArea=d;return m.bound=a};ta.prototype.draw=function(){var a,d=this.conf.bound||{},s,r,m,x,t,u,N;3<=arguments.length?(m=arguments[0],x=arguments[1],t=arguments[2]):2<=arguments.length&&(m=arguments[0],t=arguments[1]);a=t.parentLayer;u=t.componentPool;N=u.getKeys();s=u.getComponent(this._id,N.KEY_GROUP);this.group=
a=s("legend-caption",a);this.getLogicalSpace(x,t);s=this._lSpace;t=s.node;r=s.bound;s=u.getComponent(this._id,N.KEY_RECT);this.bound=d=s(a).attr(r).css(d.style);m="string"===typeof m?ta[m.toUpperCase()].x(t.smartText,x||t.logicArea):m;s=u.getComponent(this._id,N.KEY_TEXT);this.node=s(a).attr({text:t.smartText.text,x:m,y:t.logicArea.y+t.smartText.height/2}).css(this.conf.style);return{group:a,bound:d,node:this.node}};ja.SC_STACK=["LEGEND_LABEL","LEGEND_AXIS","AXIS_VALUE"];ja.DARW_STACK=["AXIS_VALUE",
"LEGEND_AXIS","LEGEND_LABEL"];ja.prototype.constructor=ja;ja.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};ja.prototype.getCompositionPlotAreaFor=function(a){var d;d=M(a,{});return function(s,r){s=s||{};d.y+=s.height||0;d.height=a.height*r;return d}};ja.prototype.getSpaceTaken=function(a){return a.height};ja.prototype.updateEffectivePlotArea=function(a,d,s){var r=this.conf.padding;d.height=s;a.height=s+2*r.v};ja.prototype.getLogicalSpace=function(a,d,s){var r=this._lSpace,
m=this.conf.padding,x=this.compositionsByCategory,t,u,N,da=0,p,C;if(r&&!s)return r.isImpure=!0,r;r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};u=M(a,{});u.height-=2*m.v;u.width-=2*m.h;u.x+=m.h;u.y+=m.v;N=this.getCompositionPlotAreaFor(u);d.colorRange=this.colorRange;p=0;for(C=ja.SC_STACK.length;p<C;p++)if(m=x[ja.SC_STACK[p]])t=N(t,m.conf.spreadFactor),t=m.getLogicalSpace(M(t,{}),d,s),da+=this.getSpaceTaken(t);this.updateEffectivePlotArea(a,u,da);r.node.logicArea=u;return r.bound=
a};ja.prototype.draw=function(){var a,d;d=this.conf.bound.style||{};var s=this.compositionsByCategory,r,m,x,t,u,N;3<=arguments.length?(m=arguments[1],t=arguments[2]):2<=arguments.length&&(t=arguments[1]);a=t.parentLayer;x=t.componentPool;u=x.getKeys();this.getLogicalSpace(m,t);m=this._lSpace;N=x.getComponent(this._id,u.KEY_GROUP);a=N("legend-body",a).attr({transform:"t0,0"});N=x.getComponent(this._id,u.KEY_RECT);this.bound=d=N(a).attr(m.bound).css(d);t.colorRange=this.colorRange;t.parentLayer=a;x=
0;for(u=ja.DARW_STACK.length;x<u;x++)(r=s[ja.DARW_STACK[x]])&&r.draw(t);t.moveInstructions&&a.attr({transform:t.moveInstructions});return{bound:d,group:a}};ra.prototype=Object.create(ja.prototype);ra.prototype.constructor=ra;ra.prototype.getCompositionPlotAreaFor=function(a){var d;d=M(a,{});return function(s,r){s=s||{};d.x+=s.width||0;d.width=a.width*r;return d}};ra.prototype.updateEffectivePlotArea=function(a,d,s){var r=this.conf.padding;d.width=s;a.width=s+2*r.h};ra.prototype.getSpaceTaken=function(a){return a.width};
xa.prototype.constructor=xa;xa.prototype.getEffectivePlotArea=function(a){var d=this.conf.padding;a.height-=2*d.v;a.width-=2*d.h;a.x+=d.h;a.y+=d.v;this.node=[];return a};xa.prototype.getLogicalSpace=function(a,d,s){var r=this._lSpace,m=this.conf,x=m.padding,t,u,N=[],da,p,C,J,v,D=0,B,z,F;v=d.componentPool.getChart();var Y=[];if(r&&!s)return r.isImpure=!0,r;r=d.colorRange;d=d.smartLabel;s=r.getCumulativeValueRatio();t=r.colorRange;r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};
J=r.node.smartTexts;da=M(a,{});da=this.getEffectivePlotArea(da);d.useEllipsesOnOverflow(v.config.useEllipsesWhenOverflow);m=M(m.style,{});Da(m);d.setStyle(m);v=d.getSmartText("W");u=0;for(m=t.length;u<m;u++)(p=t[u].label)?(D++,Y.push({oriIndex:u,label:p})):J[u]=void 0;m=Y.length;if(0===m)return{height:0,width:0};p=C=1<m?(s[Y[m-1].oriIndex]-s[Y[0].oriIndex])/2*da.width/100:Math.max(s[Y[0].oriIndex],100-s[Y[0].oriIndex])/2*da.width/100;D=d.getSmartText(Y[0].label,p,da.height);D.x=s[Y[0].oriIndex]*da.width/
100;u=D.x+D.width;N.push(D.height);J[Y[0].oriIndex]=D;D=d.getSmartText(Y[m-1].label,p,da.height);D.x=s[Y[m-1].oriIndex]*da.width/100;t=D.x-D.width;N.push(D.height);J[Y[m-1].oriIndex]=D;z=u;for(u=1;u<m-1;u++)p=Y[u].label,F=Y[u].oriIndex,D=void 0,C=u+1===m-1?t:s[Y[u+1].oriIndex]*da.width/100,B=s[Y[u].oriIndex]*da.width/100,C=Math.min(B-z,C-B),C>2*v.width&&(D=d.getSmartText(p,C,da.height),D.x=s[F]*da.width/100,z=C,N.push(D.height)),J[Y[u].oriIndex]=D;N=Math.max.apply(Math,N);da.height=N;a.height=N+2*
x.v;r.node.logicArea=da;return r.bound=a};xa.prototype.draw=function(){var a,d,s=this.conf;d=s.bound&&s.bound.style||{stroke:"none"};var r,m,x,t,u,N={},p;2<=arguments.length?(m=arguments[0],t=arguments[1]):1<=arguments.length&&(t=arguments[0]);a=t.parentLayer;t.colorRange.getCumulativeValueRatio();r=t.componentPool;u=r.getKeys();this.getLogicalSpace(m,t);x=this._lSpace;m=x.node.logicArea;t=x.node.smartTexts;p=r.getComponent(this._id,u.KEY_GROUP);a=p("legend-labels",a);p=r.getComponent(this._id,u.KEY_RECT);
this.bound=d=p(a).attr(x.bound).css(d);a.transform("R0");p=r.getComponent(this._id,u.KEY_TEXT,!0);u=0;for(x=t.length;u<x;u++)if(r=t[u])N.y=m.y+r.height/2,N.x=u===x-1?m.x+r.x-r.width/2:u?m.x+r.x:m.x+r.x+r.width/2,this.node.push(p(a).attr({text:r.text}).attr(N).css(s.style).transform("R0"));return{group:a,bound:d,node:this.node}};Aa.prototype=Object.create(xa.prototype);Aa.prototype.constructor=Aa;Aa.prototype.getLogicalSpace=function(a){var d;if(a){d=a;var s=d.height;d.height=d.width;d.width=s}d=xa.prototype.getLogicalSpace.apply(this,
arguments);return{height:d.width,width:d.height}};Aa.prototype.draw=function(){var a,d,s,r,m;s=xa.prototype.draw.apply(this,arguments);a=s.bound;d=s.group;a=a.getBBox();s=s.node;d.transform("R90,"+(a.x+a.height/2)+","+(a.y+a.height/2));d=0;for(a=s.length;d<a;d++)r=s[d],m=r.getBBox(),r.transform("R180,"+(m.x+m.width/2)+","+(m.y+m.height/2))};Ia.prototype=Object.create(xa.prototype);Ia.prototype.constructor=Ia;Ia.prototype.getLogicalSpace=function(a,d,s){var r=this._lSpace,m=this.conf,x=m.padding,t=
d.componentPool.getChart(),u,N,p,v,C,J,D=[],B,z,Y,F;if(r&&!s)return r.isImpure=!0,r;r=d.colorRange;d=d.smartLabel;s=r.colorRange;p=r.getCumulativeValueRatio();r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};F=r.node.smartTexts;z=M(a,{});z.height-=2*x.v;z.width-=2*x.h;z.x+=x.h;z.y+=x.v;d.useEllipsesOnOverflow(t.config.useEllipsesWhenOverflow);m=M(m.style,{});Da(m);d.setStyle(m);t=d.getSmartText("W");m=s.length;J=(p[m-1]-p[0])/2*z.width/100;u=s[0].displayValue;u=d.getSmartText("string"!==
typeof u&&void 0!==u&&u.toString()||u,J,z.height);u.x=p[0]*z.width/100;N=u.x+u.width;D.push(u.height);F[0]=u;u=d.getSmartText(s[m-1].displayValue,J,z.height);u.x=p[m-1]*z.width/100;J=u.x-u.width;D.push(u.height);F[m-1]=u;B=N;for(N=1;N<m-1;N++)u=void 0,Y=s[N].displayValue,v=N+1===m-1?J:p[N+1]*z.width/100,C=p[N]*z.width/100,v=Math.min(C-B,v-C),v>1.5*t.width&&(u=d.getSmartText(Y,2*v,z.height),u.x=p[N]*z.width/100,B=v,D.push(u.height)),F[N]=u;D=Math.max.apply(Math,D);z.height=D;a.height=D+2*x.v;r.node.logicArea=
z;return r.bound=a};Ia.prototype.draw=function(){var a=this.conf,d=a.bound&&a.bound.style||{stroke:"none"},s,r={},m,x,t,u,N,p,v;2<=arguments.length?(t=arguments[0],N=arguments[1]):1<=arguments.length&&(N=arguments[0]);m=N.parentLayer;p=N.colorRange.getCumulativeValueRatio();x=N.componentPool;s=x.getKeys();this.getLogicalSpace(t,N);u=this._lSpace;t=u.node.logicArea;N=u.node.smartTexts;v=x.getComponent(this._id,s.KEY_GROUP);m=v("legend-values",m);v=x.getComponent(this._id,s.KEY_RECT);this.bound=d=v(m).attr(u.bound).css(d);
v=x.getComponent(this._id,s.KEY_TEXT,!0);s=0;for(p=p.length;s<p;s++)if(x=N[s])r.y=t.y+x.height/2,r.x=s===p-1?t.x+x.x-x.width/2:s?t.x+x.x:t.x+x.x+x.width/2,v(m).attr({text:x.text}).attr(r).css(a.style);return{group:m,bound:d}};B.prototype=Object.create(Ia.prototype);B.prototype.constructor=B;B.prototype.getLogicalSpace=function(a,d,s){var r=this._lSpace,m=this.conf,x=m.padding,t=d.componentPool.getChart(),u,N,p,v,C,J,D=[],z,B,Y,F;if(r&&!s)return r.isImpure=!0,r;r=d.colorRange;d=d.smartLabel;s=r.colorRange;
N=r.getCumulativeValueRatio();r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};F=r.node.smartTexts;C=M(a,{});C.height-=2*x.v;C.width-=2*x.h;C.x+=x.h;C.y+=x.v;d.useEllipsesOnOverflow(t.config.useEllipsesWhenOverflow);m=M(m.style,{});Da(m);d.setStyle(m);Y=d.getSmartText("W");t=s.length;J=(N[t-1]-N[0])/2*C.height/100;m=d.getSmartText(s[0].displayValue,C.width,J);m.y=N[0]*C.height/100;u=m.y+m.width;D.push(m.width);F[0]=m;m=d.getSmartText(s[t-1].displayValue,C.width,J);m.y=
N[t-1]*C.height/100;J=m.y-m.height;D.push(m.width);F[t-1]=m;z=u;for(u=1;u<t-1;u++)m=void 0,B=s[u].displayValue,p=u+1===t-1?J:N[u+1]*C.height/100,v=N[u]*C.height/100,p=Math.min(v-z,p-v),p>2*Y.height&&(m=d.getSmartText(B,C.width,2*p),m.y=N[u]*C.height/100,z=p,D.push(m.width)),F[u]=m;D=Math.max.apply(Math,D);C.width=D;a.width=D+2*x.h;r.node.logicArea=C;return r.bound=a};B.prototype.draw=function(){var a,d,s=this.conf;d=s.bound&&s.bound.style||{stroke:"none"};var r,m,x,t,u,p,v={},D;2<=arguments.length?
(r=arguments[0],x=arguments[1]):1<=arguments.length&&(x=arguments[0]);a=x.parentLayer;t=x.colorRange.getCumulativeValueRatio();u=x.componentPool;p=u.getKeys();this.getLogicalSpace(r,x);m=this._lSpace;r=m.node.logicArea;x=m.node.smartTexts;D=u.getComponent(this._id,p.KEY_GROUP);a=D("legend-values",a);D=u.getComponent(this._id,p.KEY_RECT);this.bound=d=D(a).attr(m.bound).css(d);D=u.getComponent(this._id,p.KEY_TEXT,!0);u=0;for(p=t.length;u<p;u++)if(t=x[u])v.x=r.x+t.width/2,v.y=u===p-1?r.y+t.y-t.height/
2:u?r.y+t.y:r.y+t.y+t.height/2,D(a).attr({text:t.text}).attr(v).css(s.style);return{group:a,bound:d}};p.prototype.constructor=p;p.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};p.prototype.getLogicalSpace=function(a,d,s){d=this._lSpace;var r=this.conf,m=r.padding,x,t;t=r.legendAxisHeight;var u=this.compositionsByCategory,p;p=0;if(d&&!s)return d.isImpure=!0,d;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};s=M(a,{});s.height-=2*m.v;s.width-=2*m.h;s.x+=m.h;
s.y+=m.v;r=t/2+r.line.offset;x=t/2;if(u=u.RANGE)p=u.sliders[!1],p=p.conf.outerCircle.rFactor*t,x+=p=Math.max(p/2-t/2,0);s.y+=p;s.height=t=x+r+p;a.height=t+2*m.v;d.node.logicArea=s;return d.bound=a};p.prototype.getDrawableAxisArea=function(a){var d=this.conf;return{x:a.x,y:a.y,width:a.width,height:d.legendAxisHeight,r:d.legendAxisHeight/2}};p.prototype.preDrawingRangeParam=function(a){return{y:a.y+a.height/2,calculationBase:a.height,rangeStart:a.x,rangeEnd:a.x+a.width,prop:"y"}};p.prototype.getScaleMarkerPathStr=
function(a,d){var s=M(a,{}),r=this.conf.line,m,x,t,u,p="";s.x+=s.r;s.width-=2*s.r;u=s.y+s.height;m=0;for(x=d.length;m<x;m++)t=d[m],t=s.x+t*s.width/100,p+="M"+t+","+(u-r.grooveLength)+"L"+t+","+(u+r.offset);s=""+("M"+s.x+","+(u+r.offset)+"L"+(s.x+s.width)+","+(u+r.offset));return p+s};p.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(),shadow:ya({FCcolor:{alpha:"25,0,0",angle:90,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};p.prototype.draw=function(){var a,d=this.conf,s=d.line,
r=(d.bound||{}).style||{},m,x,t=this.compositionsByCategory,u,p,v,D,C,J;2<=arguments.length?(m=arguments[0],C=arguments[1]):1<=arguments.length&&(C=arguments[0]);a=C.parentLayer;u=C.colorRange;p=u.getCumulativeValueRatio();J=C.componentPool;v=J.getKeys();this.getLogicalSpace(m,C);D=this._lSpace;m=J.getComponent(this._id,v.KEY_GROUP);a=m("legend-axis",a);m=J.getComponent(this._id,v.KEY_RECT,!0);this.bound=m(a).attr(D.bound).css(r);r=this.getDrawableAxisArea(D.node.logicArea);u=this.getColorGradient(u);
d.style.fill=u.axis;d.shadow.style.fill=u.shadow;this.node=m(a).attr(r).css(d.style);this.shadow=m(a).attr(r).css(d.shadow.style);d=this.getScaleMarkerPathStr(r,p);m=J.getComponent(this._id,v.KEY_PATH);m("M0,0",a).attr({path:d}).css(s.style);for(x in t)switch(s=t[x],x){case "RANGE":v=this.preDrawingRangeParam(r),C[v.prop]=v[v.prop],C.key=v.prop,C.rCalcBase=v.calculationBase,C.parentLayer=a,s.draw(v.rangeStart,v.rangeEnd,C)}};Ba.prototype=Object.create(p.prototype);Ba.prototype.constructor=Ba;Ba.prototype.getLogicalSpace=
function(a,d,s){d=this._lSpace;var r=this.conf,m=r.padding,x,t;t=r.legendAxisHeight;var u=this.compositionsByCategory,p;p=0;if(d&&!s)return d.isImpure=!0,d;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};s=M(a,{});s.height-=2*m.v;s.width-=2*m.h;s.x+=m.h;s.y+=m.v;r=t/2+r.line.offset;x=t/2;if(u=u.RANGE)p=u.sliders[!1],p=p.conf.outerCircle.rFactor*t,x+=p=Math.max(p/2-t/2,0);s.x+=p;s.width=t=x+r+p;a.width=t+2*m.v;d.node.logicArea=s;return d.bound=a};Ba.prototype.getDrawableAxisArea=
function(a){var d=this.conf;return{x:a.x,y:a.y,width:d.legendAxisHeight,height:a.height,r:d.legendAxisHeight/2}};Ba.prototype.getScaleMarkerPathStr=function(a,d){var s=M(a,{}),r=this.conf.line,m,x,t,u,p="";s.y+=s.r;s.height-=2*s.r;u=s.x+s.width;m=0;for(t=d.length;m<t;m++)x=d[m],x=s.y+x*s.height/100,p+="M"+(u-r.grooveLength)+","+x+"L"+(u+r.offset)+","+x;s=""+("M"+(u+r.offset)+","+s.y+"L"+(u+r.offset)+","+(s.y+s.height));return p+s};Ba.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(!0),
shadow:ya({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};Ba.prototype.preDrawingRangeParam=function(a){return{x:a.x+a.width/2,calculationBase:a.width,rangeStart:a.y,rangeEnd:a.y+a.height,prop:"x"}};d.prototype.constructor=d;d.prototype.initRange=function(a,d){this.extremes[+a.sliderIndex]=d};d.prototype.updateRange=function(a,d){var s=a.sliderIndex;this.sliders[!s].updateSwingRange(s,d)};d.prototype.reset=function(){var a={};a.conf=this.conf;a.sliderGroup=this;
this.sliders[!1]=new F(!1,a,this._id+"_0");this.sliders[!0]=new F(!0,a,this._id+"_1");this.draw.apply(this,this._drawParams)};d.prototype.clearListeners=function(){this.callbacks.length=0};d.prototype.draw=function(a,d,s){var r=this.sliders,m=r[!1],r=r[!0],x=s.colorRange,t=x.colorRange,u=this._fcChart=s.componentPool.getChart();this.getValueFormPixel=function(a,d,s,r){var m=(d-a)/(r-s);this.getValueFormPixel=function(d){return a+m*d}};this.updateWhenInMove=function(a,d){this.updateWhenInMove=function(s,
r){var m=this.extremes,m=this.getValueFormPixel(s.sliderIndex?m[1]-m[0]+r:r);return m=d?parseFloat(m).toFixed(2)+"%":a.legendValue(m)}};this._drawParams=[a,d,s];this.updateWhenInMove(u.components.numberFormatter,x.mapByPercent);a=m.draw(a,t[0].displayValue,s[s.key],s);a=r.draw(d,t[t.length-1].displayValue,s[s.key],s);m.swing=this.extremes.slice(0);r.swing=this.extremes.slice(0);this.getValueFormPixel(t[0].value,t[t.length-1].value,this.extremes[0],this.extremes[1]);return a};d.prototype.registerListener=
function(a,d,s){this.callbacks.push({fn:a,context:d,params:s||[]})};d.prototype.updateWhenInRest=function(a,d){var s=this.sliders,r=this.extremes,m=a.sliderIndex,x,t=this.callbacks,u,p;m?(x=s[!m].currPos,s=r[1]-r[0]+d):(x=d,s=r[1]-r[0]+s[!m].currPos);r=0;for(m=t.length;r<m;r++)u=t[r],p=u.params.slice(0),p.unshift(this.getValueFormPixel(s)),p.unshift(this.getValueFormPixel(x)),u.fn.apply(u.context,p)};d.prototype.dragStarted=function(a){var d=this.sliders,s=this.extremes,r=a.conf,m=this._fcChart;Z.raiseEvent("legendpointerdragstart",
{pointerIndex:+a.sliderIndex,pointers:[{value:this.getValueFormPixel(d[!1].currPos)},{value:this.getValueFormPixel(s[1]-s[0]+d[!0].currPos)}],legendPointerHeight:r.outerRadius,legendPointerWidth:r.innerRadius,outerRadius:r.outerRadius,innerRadius:r.innerRadius},m.chartInstance,[m.id])};d.prototype.dragCompleted=function(a,d,s){var r=this.sliders,m=this.extremes,x=a.conf,t=this.getValueFormPixel(r[!1].currPos),r=this.getValueFormPixel(m[1]-m[0]+r[!0].currPos),u=this._fcChart,p;a.sliderIndex?(p=t,s=
this.getValueFormPixel(m[1]-m[0]+s)):(p=this.getValueFormPixel(s),s=r);d&&Z.raiseEvent("legendrangeupdated",{previousMinValue:t,previousMaxValue:r,minValue:p,maxValue:s},u.chartInstance,[u.id]);Z.raiseEvent("legendpointerdragstop",{pointerIndex:+a.sliderIndex,pointers:[{value:t},{value:r}],legendPointerHeight:x.outerRadius,legendPointerWidth:x.innerRadius,outerRadius:x.outerRadius,innerRadius:x.innerRadius},u.chartInstance,[u.id])};F.prototype.constructor=F;F.prototype.updateSwingRange=function(a,
d){this.swing[+a]=d};F.prototype.draw=function(a,d,s,r){var m=r.parentLayer,x=this.conf,t=x.outerCircle,u=x.innerCircle,p=Math.ceil(t.rFactor*r.rCalcBase/2),v=Math.ceil(u.rFactor*r.rCalcBase/2),D=p-v,C=this.rangeGroup,J=this.sliderIndex,z,B,Y=r.componentPool,F=Y.getKeys();x.outerRadius=p;x.innerRadius=v;this._scaleVal=d;u.style["stroke-width"]=D;D=Math.ceil(t.style["stroke-width"]/2);v+=D;B=Y.getComponent(this._id,F.KEY_GROUP);m=this.node=B("fc-gl-slider",m).attr({cursor:"pointer",transform:"t0,0"});
"x"===r.key?a=z=a+(J?-v:+v):(z=s,a=s=a+(J?-v:+v));C.initRange(this,a);B=Y.getComponent(this._id,F.KEY_CIRCLE,!0);B(m).attr({cx:s,cy:z,r:p}).css(t.style);B(m).attr({cx:s,cy:z,r:v}).css(u.style);d=this.tracker=B(m).attr({cx:s,cy:z,r:p+5,ishot:!0,fill:Ib,stroke:0,cursor:"pointer"}).trackTooltip(x.showTooltip?!0:!1).tooltip(d,null,null,!0);this._dragAPI=r=this.getDragAPI("x"===r.key);d.undrag();d.drag(r.dragging,r.dragStart,r.dragEnd);return{translateAscending:p+D}};F.prototype.getDragAPI=function(a){var d=
this,s=d.node,r=d.sliderIndex,m=d.rangeGroup,x,t,u,p=d.conf.innerRadius,v;return{dragging:function(D,C,J,z,B){var Y;B.stopPropagation();B.preventDefault();Y=a?C:D;r?(D=x[0]-x[1]+p,C=0):(D=0,C=x[1]-x[0]-p);if(!(d.currPos+Y<D||d.currPos+Y>C))return s.attr({transform:a?"t0,"+(d.currPos+Y):"t"+(d.currPos+Y)+",0"}),t=Y,u&&clearTimeout(u),u=setTimeout(function(){m.updateWhenInRest(d,d.currPos+Y)},100),d.tracker.tooltip(m.updateWhenInMove(d,d.currPos+Y),null,null,!0),v=!0},dragStart:function(r,t,u){u.stopPropagation();
u.preventDefault();s.attr({transform:a?"t0,"+d.currPos:"t"+d.currPos+",0"});x=x||d.swing;v=!1;m.dragStarted(d)},dragEnd:function(){var a;m.dragCompleted(d,v,d.currPos+t);v&&(u&&clearTimeout(u),u=setTimeout(function(){m.updateWhenInRest(d,d.currPos)},100),d.currPos+=t,a=x[+r]+d.currPos,m.updateRange(d,a))}}};a.prototype.constructor=a;a.prototype.getValueRatio=function(){var a=this.colorRange,d,s,r=a.length,m=this.valueRatio,x=a[0].value,t=a[r-1].value-x,u=0;if(m)return m;m=this.valueRatio=[];for(s=
0;s<r;s++)d=a[s],d=(d.value-x)/t,m.push(100*(d-u)),u=d;return m};a.prototype.getCumulativeValueRatio=function(){var a=this.colorRange,d,s,r=a.length,m=a[0].value,x=a[r-1].value,t=[];for(s=0;s<r;s++)d=a[s],t.push((d.value-m)/(x-m)*100);return t};a.prototype.getBoxFill=function(a){var d=this.colorRange,s,r=d.length,m=[],x;x=a?90:0;for(s=0;s<r;s++)a=d[s],m.push(a.code);d={FCcolor:{alpha:"100,100,100",angle:x,color:m.join(","),ratio:this.getValueRatio().join(",")}};return ya(d)};a.prototype.getColorByValue=
function(a){var d=this.values,s=this.colorRange,r,m,x,t;if(void 0!==a&&null!==a){m=0;for(r=d.length;m<r;m++)if(a===d[m]){t=s[m].code;break}else if(!m&&a<d[m]){x=!0;break}else if(m===r-1&&a>d[m]){x=!0;break}else if(a>d[m]&&a<d[m+1]){d=s[m];r=s[m+1];s=d.value;m=Ob(d.code);d=r.value;r=Ob(r.code);t=t=void 0;t=d-s;t=[Math.round(m[0]+(r[0]-m[0])/t*(a-s)),Math.round(m[1]+(r[1]-m[1])/t*(a-s)),Math.round(m[2]+(r[2]-m[2])/t*(a-s))];t=Sb(t);break}if(!x)return t}};na.prototype=Object.create(pa.prototype);na.prototype.constructor=
na;FusionCharts.register("component",["gradientLegend","gradientLegend",{pIndex:1,enabled:!1,init:function(d){function p(m){s.data=d.chart.jsonData.colorrange;(t=s.nData=Ja.legacyDataParser(s.data,m))?(s.drawOptions={smartLabel:r.linkedItems.smartLabel,colorRange:s.colorRange=x=new a(t,m,u),maxOtherSide:m.maxOtherSide},s._dontPlot=!1,x&&x._preparationGoneWrong&&(s._dontPlot=!0),s._recalculateLogicalSpace=!0,s._configure()):s._dontPlot=!0}var s=this,r=d.chart,m,x,t,u;Ja.init(d);u=s._chart=d.chart;
s._cpool=kb(u);if(!(m=d.dataExtremes))return p;p(m)},_configure:function(){var a=this._chart,d=a.jsonData.chart,s=this.conf={},r=d.outcnvbasefont,m=d.outcnvbasefontsize,x=d.outcnvbasefontcolor,a=a.config.dataLabelStyle,t,u,p,v,D,C,J;s.caption=z(d.legendcaption);s.legendPosition=z(d.legendposition,"bottom").toLowerCase();s.showLegend=ua(d.showlegend,1);s.interactiveLegend=ua(d.interactivelegend,1);s.showLegendLabels=ua(d.showlegendlabels,1);t=d.legenditemfontcolor||x;u=d.legenditemfont||r;p=d.legenditemfontsize||
m;v=ua(d.legenditemfontbold,0);x=d.legendcaptionfontcolor||x;r=d.legendcaptionfont||r;m=d.legendcaptionfontsize||m;D=ua(d.legendcaptionfontbold,1);J=(C=d.legendaxisbordercolor?Y(ob(d.legendaxisbordercolor)):void 0)?ua(d.legendaxisborderalpha,100)/100:void 0;s.axisTextItemConf={style:{fill:t?qa(z(t)):a.color,fontFamily:u?z(u):a.fontFamily,fontSize:p?ua(p):a.fontSize.match(/\d+/)[0],fontWeight:v?"bold":a.fontWeight}};s.legendCaptionConf={style:{fill:x?qa(z(x)):a.color,fontFamily:r?z(r):a.fontFamily,
fontSize:m?ua(m):a.fontSize.match(/\d+/)[0],fontWeight:D?"bold":a.fontWeight,fontStyle:"normal"}};s.legendAxisConf={legendAxisHeight:11,style:{stroke:C,"stroke-opacity":J},line:{style:{stroke:qa(z(d.legendscalelinecolor,"FFF8E9"),ua(d.legendscalelinealpha,100)),"stroke-width":ua(d.legendscalelinethickness)}}};s.sliderGroupConf={showTooltip:ua(d.showtooltip,1),outerCircle:{rFactor:ua(d.sliderdiameterfactor),style:{stroke:qa(z(d.legendpointerbordercolor,"757575"),ua(d.legendpointerborderalpha,100))}},
innerCircle:{rFactor:ua(d.sliderholediameterfactor),style:{stroke:qa(z(d.legendpointercolor,"FFFFFF"),ua(d.legendpointeralpha,100))}}};s.legendCarpetConf={spreadFactor:ua(d.legendspreadfactor),allowDrag:!!ua(d.legendallowdrag,0),captionAlignment:z(d.legendcaptionalignment,"center"),style:{fill:qa(z(d.legendbgcolor,"e4d9c1"),ua(d.legendbgalpha,100)),stroke:qa(z(d.legendbordercolor,"c4b89d"),ua(d.legendborderalpha,100)),"stroke-width":ua(d.legendborderthickness,1)}}},postConfigureInit:function(){var a=
this.conf,v,s,r,m,x,t,u;this.elem={};a.caption&&(x=M(Ja.getDefaultConf("legendCaptionConf"),a.legendCaptionConf),v=new ta(a.caption,x));a.interactiveLegend&&(x=M(Ja.getDefaultConf("sliderGroupConf"),a.sliderGroupConf),this.elem.sGroup=m=new d(x),this.listeners&&0<this.listeners.length&&m.registerListener.apply(m,this.listeners));x=M(Ja.getDefaultConf("legendCarpetConf"),a.legendCarpetConf);"bottom"===a.legendPosition?(this.drawOptions.refSideKey="canvasWidth",this.drawOptions.refOffsetKey="canvasLeft",
s=new Ka(x),t=new ja(this.drawOptions.colorRange,Ja.getDefaultConf("legendBodyConf")),r=new p(M(Ja.getDefaultConf("legendAxisConf"),a.legendAxisConf)),x=M(Ja.getDefaultConf("axisTextItemConf"),a.axisTextItemConf),a.showLegendLabels&&(u=new xa(x)),a=new Ia(x)):(this.drawOptions.refSideKey="canvasHeight",this.drawOptions.refOffsetKey="canvasTop",s=new Oa(x),t=new ra(this.drawOptions.colorRange,Ja.getDefaultConf("legendBodyConf")),r=new Ba(M(Ja.getDefaultConf("legendAxisConf"),a.legendAxisConf)),x=M(Ja.getDefaultConf("axisTextItemConf"),
a.axisTextItemConf),a.showLegendLabels&&(u=new Aa(x)),a=new B(x));m&&r.addCompositions(m,"RANGE");u&&t.addCompositions(u,"LEGEND_LABEL");t.addCompositions(r,"LEGEND_AXIS");t.addCompositions(a,"AXIS_VALUE");v&&s.addCompositions(v,"CAPTION");s.addCompositions(t,"LEGEND_BODY");this.elem.gl=new na(s,this._cpool)},notifyWhenUpdate:function(a,d,s){var r;(r=this.elem&&this.elem.sGroup)?r.registerListener(a,d,s):this.listeners=[a,d,s]},dispose:function(){this.elem&&this.elem.gl&&this.elem.gl.dispose();this.elem=
{}},getLogicalSpace:function(a){var d=this.conf,s={height:0,width:0},r=this.drawOptions,m=this._chart;if(!this._recalculateLogicalSpace)return d=r.refSideKey,r=r.refOffsetKey,this.drawOptions.refSide=m.config[d],this.drawOptions.refOffset=m.config[r],(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))||s;if(this._dontPlot)return s;this._recalculateLogicalSpace=!1;this.postConfigureInit();if(!d.showLegend)return s;d=r.refSideKey;r=r.refOffsetKey;this.drawOptions.refSide=m.config[d];
this.drawOptions.refOffset=m.config[r];this.drawOptions.maxOtherSide=a||this.drawOptions.maxOtherSide;return this.elem.gl&&(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))},resetLegend:function(){var a;(a=this.elem&&this.elem.sGroup)&&a.reset()},clearListeners:function(){var a;(a=this.elem&&this.elem.sGroup)&&a.clearListeners()},draw:function(a,d,s){var r=this.conf;this._dontPlot||(this._cpool.init(s.paper),r.showLegend?(this.drawOptions.paper=s.paper,this.drawOptions.parentGroup=
s.parentGroup,this.drawOptions.x=a,this.drawOptions.y=d,this.drawOptions.maxOtherSide=this.drawOptions.maxOtherSide||s.maxOtherSide,a=this.elem.gl.draw(this.drawOptions),a=a.getBBox(),r.xPos=a.x,r.yPos=a.y,r.height=a.height,r.width=a.width,this.enabled=!0):this.enabled=!1)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function M(a){"number"===typeof a&&(a="'"+a+"'");return a.split("").reduce(function(a,d){a=(a<<5)-a+d.charCodeAt(0);return a&a},0)}function v(a,d){var p;if(a.getBBox)return a;p=a.getBoundingClientRect();a.getBBox=function(){return{x:d.x,y:d.y,width:p.right-p.left,height:p.bottom-p.top,isArtificial:!0}};return a}function Da(a,d,p){var v,z;for(v in a)z=a[v],void 0!==z&&null!==z&&(p?d[v]||(d[v]=z):d[v]=z)}function Fa(a,
d){switch(a){case "click":return function(a){pa.dem.listen(d,"click",function(d){d.target&&d.target.parentNode&&a.call(d.target)})};case "hover":return function(a,p){pa.dem.listen(d,"pointerhover",function(d){d.target&&d.target.parentNode&&("start"===d.state?a:p).call(d.target)})}}}var pa=this.hcLib,Ka=pa.Raphael,Oa=this.window.document,ta=pa.graphics,ja=ta.convertColor,ra=ta.getLightColor,xa=ta.rawRGBtoHEX,Aa=pa.pluckNumber,Ia=pa.pluck,B={},p={},Ba={},d=pa.extend2,F,a,na,Z,W=function(){},ua=ja("FFFFFF",
0),z=0,ya;F=function(a,d,p){return["M",a-p,d-p]};a=function(a,d,p){var v=p/4;return["M",a-3*v,d,"L",a-v,d+p,a+p,d-p]};na=function(){Ka.addSymbol("Internal_CB",F);return{register:function(){var a,d,p;if(1===arguments.length){d=arguments[0];if(null==d||"object"!==typeof d)return;p=d}else if(1<arguments.length){a=arguments[0];d=arguments[1];if("string"!==typeof a||"function"!==typeof d)return;p={};p[a]=d}else return;for(a in p)d=p[a],{}.hasOwnProperty.call(p,a)&&Ka.addSymbol(a,d)}}}();ya=function(){function a(){this.pool=
{}}function d(a){var p,v,z,D,B,F;if(a)for(p in a)for(v in z=a[p],z)if(D=z[v],D instanceof Array)for(B=0,F=D.length;B<F;B++)D[B].hide&&D[B].hide();else D.hide&&D.hide()}var p={},v,z,B,F,M={};a.prototype.constructor=a;z={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",KEY_PATH:"path",KEY_DIV:"div"};p[z.KEY_DIV]=function(){return Oa.createElement("div")};p[z.KEY_RECT]=function(a){return F.paper.rect(a)};p[z.KEY_TEXT]=function(a){return F.paper.text(a)};p[z.KEY_GROUP]=
function(a,d){return F.paper.group(a,d)};p[z.KEY_SCROLLER]=function(a,d,p,v,z,D,B){return F.paper.scroller(a,d,p,v,z,D,B)};p[z.KEY_BUTTON]=function(a,d,p,v,z,D){return F.paper.button(a,d,p,v,z,D)};p[z.KEY_PATH]=function(a,d){return F.paper.path(a,d)};return{init:function(p,z){var B;F=p;B=M[z]||(M[z]={});d(B.pool);B.initialized||(v=B.pool=(new a).pool,v._tmp=z,B.initialized=!0)},isInitialized:function(){},getCreationStatus:function(){return B},emptyPool:function(a){a=M[a]||{};a.pool&&(a.pool={})},
hideRecursive:function(a){d((M[a]||{}).pool)},getComponent:function(a,d,v,z){d=(M[d||0]||{}).pool;var D=d[a],F,U,W,s=0;D||(D=d[a]={});return(U=D[v])&&!(U instanceof Array)||U instanceof Array&&0<U.length?function(){B=!1;return z?(W=U[s++])?W.show():U[s]=p[v].apply(this,arguments):U.show&&"function"===typeof U.show&&U.show()||U}:function(){B=!0;return z?(F=D[v]||(D[v]=[]),U=p[v].apply(this,arguments),F.push(U),U.show&&"function"===typeof U.show&&U.show()||U):D[v]=p[v].apply(this,arguments)}},getKeys:function(){return z}}}();
Z=function(){function z(a){a=a||{};this.name=a.name;this.handler=a.handler||W;this.action=a.action&&a.action.toLowerCase()||"click";this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:Ba.baseFontFamily,fontSize:Ba.baseFontSize+"px"};this.hoverOverStyle=a.hoverOverStyle||{};this.hoverOutStyle=a.hoverOutStyle||{};Da(a.style||{},this.style);this.node=this.subConRef=void 0}function Z(a,d){var m=this,p,t;p=d&&d.top||0;var u=d&&d.left,v=d&&d.right;this.container=a;this.position=Z.POSITION_BOTTOM;
this.atomicLists=[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;u&&v||(this.positionCalculation=!0);this.hoverOverStyle={background:"#333333",color:"#FFFFFF",cursor:"pointer"};this.hoverOutStyle={background:"#FFFFFF",color:"#000000"};this._defaultStyle={position:"absolute","z-index":50,top:void 0===p?"auto":p+"px",right:void 0===v?"auto":v+"px",left:void 0===u?"auto":u+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",
padding:"5px 3px",display:"none"};p=this.container.style;for(t in this._defaultStyle)p[t]=this._defaultStyle[t];ba.linkedItems&&(ba.linkedItems.container.appendChild(this.container),t=Fa("hover",this.container),t(function(){m.show(this)},function(){m.hide(300,this)}))}function Y(a){this.listContainer=this.container=void 0;this.measurement=a}function qa(a,d,m,p){this.symbol=a;this._id="TB_SYMBOL"+(m||0);this.node=void 0;this.pId=p;this.isPlaintext=d;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};
this.evt={tooltext:void 0,click:W,hover:[W,W]}}function pa(a,d,m,p){qa.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(m||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:kb};this.pId=p;this.checked=!!d;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function ta(a,d,m){qa.call(this);this._id="TB_SCROLLER"+(d||0);this.pId=m;this.conf={};this.userConf=p;this.setConfiguaration(a);this.evt.scroll=W;return this}
function ia(a,d,m){var p;qa.call(this,a,void 0,d,m);this.rawContextDefinitation=void 0;this.listContainerManager=(new Y(this.position)).init(m);p=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){p.show(v(a.target||a.fromElement,a))},function(a){p.hide(300,a.target)}]}function Ia(a,r){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=r;d(this.btnConfig={},B);d(this.groupConfig={},Ua)}function Ka(a,d){Ja[this.id="TB_MASTER"+a||M((new Date).getTime())]=
this;this.toolbarRect=void 0;this.componentGroups=[];this.toolbarConfig=Fb;this.group=void 0;this.pId=d}var Ja={},Ua={hPadding:3,vPadding:3,borderRadius:2,fill:ja("DBDBDB",100),borderColor:ja("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},Fb={hPadding:3,vPadding:3,borderRadius:0,fill:ja("EBEBEB",100),borderColor:ja("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},kb={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},db,
U,ba;z.prototype.assignSubContainer=function(a){a instanceof Z&&(this.subConRef=a)};z.prototype.stickIntoContainer=function(a,d){var m=this.node=Oa.createElement("div"),p=this.style,t,u,v,z=this;this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(m);m.innerHTML=this.name;u=m.style;for(t in p)u[t]=p[t];p=Fa("hover",m);Fa("click",m)(function(){z.handler&&((v=z.eventMap.click)&&v.apply(z,[ba]),d.hide())});p(function(){var a,d=m.style,s=z.hoverOverStyle;for(a in s)d[a]=s[a];z.subConRef&&
z.subConRef.show(this)},function(){var a,d=m.style,s=z.hoverOutStyle;for(a in s)d[a]=s[a];z.subConRef&&z.subConRef.hide(300,this)})};z.prototype.setStyle=function(a){Da(a||{},this.style)};z.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};Z.POSITION_TOP="top";Z.POSITION_BOTTOM="bottom";Z.prototype.addAtomicListItem=function(a){a instanceof z&&(this.atomicLists.push(a),a.stickIntoContainer(this.container,this))};Z.prototype.show=function(a){var d=this.hideFnIds,
m=ba.config.width,p=this.positionCalculation,t=0,u;this.target=this.target||a;for(u=d.length;t<u;t++)clearTimeout(d[t]);d.length=0;(d=this.parentListCon)?(d.show(this.target),this.container.style.left=d.container.offsetLeft+d.container.offsetWidth+"px",this.container.style.top=d.container.offsetTop+this.target.offsetTop+"px"):(d=a&&a.nodeName&&"DIV"===a.nodeName.toUpperCase()?!0:!1,d||(a=a.getBBox(),p&&(this.container.style.display="block",p=this.container.offsetWidth,p+a.x>m?(this.container.style.left=
"auto",this.container.style.right=m-a.x-a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===ia.POSITION_BOTTOM?(m=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*m+"px",this.container.style.bottom="auto"):(this.container.style.bottom=ba.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};Z.prototype.hide=function(a){var d=this.container,m;(m=this.parentListCon)&&
m.hide(300);this.hideFnIds.push(setTimeout(function(){d.style.display="none"},a))};Z.prototype.dispose=function(){var a=this.atomicLists,d=this.refContainers,m,p;m=this.hideFnIds.length=0;for(p=a.length;m<p;m++)a[m].dispose();m=a.length=0;for(p=d.length;m<p;m++)d[m].dispose();d.length=0};Y.prototype.init=function(a){var d=ya.getKeys();this.container||(a=ya.getComponent("div0",a,d.KEY_DIV),(a=a())&&(a.innerHTML=""),this.container=new Z(a,this.measurement));return this};Y.prototype.getFirstContainer=
function(){return this.container};Y.prototype.appendAsList=function(a,d){var m=this,p,t=this.container.hoverOverStyle,u=this.container.hoverOutStyle;(function da(a,d){var s,r=0,v,B,F,M,Y,U,ba,ra;ba=d?d:m.container;s=a instanceof Array?a:[a];for(v=s.length;r<v;r++){B=s[r];F=new z({hoverOverStyle:t,hoverOutStyle:u});for(M in B)F.name=M,Y=B[M],F.action=Y.action,F.setStyle(Y.style),-1!==M.search(/^<[^<]+>$/)&&(F.hoverOverStyle={},F.hoverOutStyle={},Y.handler=W),U=Y.handler,"function"!==typeof U?ra=da(U,
new Z(Oa.createElement("div"))):F.handler=Y.handler;ba.addAtomicListItem(F);ra&&(ra.parentListCon=ba,ba.refContainers.push(ra),F.assignSubContainer(ra));ra=void 0}return p=ba})(a,d);return p};Y.prototype.dispose=function(){this.container.dispose();this.container=void 0};qa.prototype.registerSymbol=function(a){na.register(this.symbol,a)};qa.prototype._setConfiguaration=function(a){this.conf?Da(a,this.conf,!0):this.conf=a};qa.prototype.attachEventHandlers=function(a,d){var m=this.evt,p=a.tooltext,t=
a.click||W,u=a.hover,v=d&&d.click||W,z=this;p&&(m.tooltext=p);m.click="function"===typeof t?function(){v();t.apply(z,arguments)}:function(){var a=t.fn,d=t.context,s=(t.args||[]).slice(0);t.hasOwnProperty("context")?s.push(z):d=z;[].push.apply(s,arguments);v();a.apply(d,s)};u&&u instanceof Array&&(m.hover=u);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);return z};qa.prototype.getLogicalSpace=function(){return{width:this.conf.width,
height:this.conf.height}};qa.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};qa.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};qa.prototype.draw=function(a,d,m){var p=this.conf||{},t,u,v=ya.getKeys(),z=ba.get("config","animationObj"),B=z.animObj,C=z.dummyObj,D=z.duration;this.isPlaintext?u=this.symbol:t=this.symbol;void 0!==m.idCount&&(this._id+=m.idCount);p.hoverFill=p.hoverFill?ja(p.hoverFill):ja(ra(xa(p.fill),80));m=this.node=ya.getComponent(this._id,
this.pId,v.KEY_BUTTON,!0)(a,d,u,t,{width:p.width,height:p.height,r:p.radius,verticalPadding:p.symbolHPadding*p.scale,horizontalPadding:p.symbolHPadding},m.parentLayer).labelcss(this.conf.btnTextStyle);m.attr({ishot:!0,fill:[p.fill,p.labelFill,p.symbolFill,p.hoverFill,!0],stroke:[p.stroke,p.symbolStroke],"stroke-width":[p.strokeWidth,p.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);ya.getCreationStatus()||(this.node.unclick(),
this.node.animateWith(C,B,{"button-repaint":[a,d,p.width,p.height,p.radius]},D,z.animType),this.node.attr({"button-label":u,"button-padding":[p.symbolHPadding,p.symbolHPadding*p.scale]}),this.node.buttonclick(this.evt.click));m.getBBox=function(){return{x:a,y:d,width:p.width,height:p.height}};return m};qa.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};pa.prototype=Object.create(qa.prototype);pa.prototype.constructor=pa;pa.prototype.check=function(){var d=this.pos;this.checked=
!0;this.regSymbolCmd=a;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[d.x,d.y,d.width,d.height,d.r]}))};pa.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=F;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};pa.prototype.click=function(){this.checked?this.uncheck():this.check()};pa.prototype.attachEventHandlers=function(a){var d=this;qa.prototype.attachEventHandlers.apply(this,
[a,{click:function(){d.click()}}])};pa.prototype.getLogicalSpace=function(){var a=ba.linkedItems.smartLabel,d=this.text.style,m;m=qa.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(ba.config.useEllipsesWhenOverflow);a.setStyle(d);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+m.width,height:Math.max(m.height,a.height)}};pa.prototype.draw=function(a,d,m){var p,t=this.conf,u;u=ba.linkedItems.smartLabel;var v=db.colorManager,z=this.text.plaintext,
B,C=ya.getKeys();this.registerSymbol(this.regSymbolCmd);p=this.node=qa.prototype.draw.apply(this,arguments);this.pos={x:a,y:d,width:t.width,height:t.height,r:t.radius};B=this.text.style;B.fill=B.fill||"#"+v.getColor("baseFontColor");u.useEllipsesOnOverflow(ba.config.useEllipsesWhenOverflow);u.setStyle(B);u=u.getSmartText(z);p=p.getBBox();v=ya.getComponent(this._id,this.pId,C.KEY_TEXT);this.textNode=v(m.parentLayer).attr({text:z,x:p.x+p.width+u.width/2+this.interPadding,y:p.y+p.height/2}).css(B);t=
t.height>u.height?t.height:u.height;v=ya.getComponent(this._id,this.pId,C.KEY_RECT);return v(m.parentLayer).attr({height:t,width:p.width+u.width+this.interPadding,x:a,y:d,stroke:ua})};pa.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;qa.prototype.dispose.call(this)};ta.prototype=Object.create(qa.prototype);ta.prototype.constructor=pa;ta.prototype.setConfiguaration=function(a){var d=db.colorManager;p.color||(p.color="#"+d.getColor("altHGridColor"));Da(p,this.conf);
Da(a,this.conf)};ta.prototype.getLogicalSpace=function(){var a=this.conf,d={};Da(p,d);Da(d,a);return qa.prototype.getLogicalSpace.call(this)};ta.prototype.getDefaultLayer=function(){var a=ya.getKeys();return ya.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};ta.prototype.registerSymbol=void 0;ta.prototype._setConfiguaration=function(){};ta.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);qa.prototype.attachEventHandlers.apply(this,
arguments);return this};ta.prototype.draw=function(){var a,d,m,v,t,u,z,B,D,C,J,F,M,Y,U,W;U=this.conf;var Z,ra=ya.getKeys(),na={},ia=ba.get("config","animationObj"),qa=ia.animObj,pa=ia.dummyObj;m={};var ja=ia.duration;1===arguments.length?(U=arguments[0],a=U.x,d=U.y,z=U.parentLayer,t=!!U.sepLayer):(a=arguments[0],d=arguments[1],t=arguments[2],U&&t?Da(t,U):t={},z=t.parentLayer,t=!!t.sepLayer);Da(p,m);U.isHorizontal?delete m.width:delete m.height;Da(m,U);d+=U.padding;m=U.height;v=U.width;u=U.isHorizontal;
W=U.startPercent;B=U.scrollRatio;D=U.showButtons;C=U.displayFlat;J=U.fullCanvasWidth;F=U.windowedCanvasWidth;M=U.color;Y=U.roundEdges;na["scroll-repaint"]=[a,d,v,m];z=z?z:this.getDefaultLayer();Z=ya.getComponent(this._id,this.pId,ra.KEY_RECT);z=t?Z("scroll-child"):z;Z=ya.getComponent(this._id,this.pId,ra.KEY_SCROLLER);this.node=Z(a,d,v,m,u,{scrollPosition:U.scrollPosition||Aa(W,0),displayStyleFlat:C,showButtons:D},z).data("fullCanvasWidth",J).data("windowedCanvasWidth",F).attr({"scroll-ratio":B,fill:M,
r:Y&&2||0}).scroll(this.evt.scroll);ya.getCreationStatus()||(this.node.undrag(),this.node.animateWith(pa,qa,na,ja,ia.animType),this.node.attr({"scroll-display-style":C?"flat":"3d","scroll-position":U.scrollPosition||Aa(W,0)}).scroll(this.evt.scroll));return this.node};ia.POSITION_TOP="top";ia.POSITION_BOTTOM="bottom";ia.prototype=Object.create(qa.prototype);ia.prototype.constructor=ia;ia.allNodes=[];ia.prototype.getListRefernce=function(){return this.listContainerManager};ia.prototype.attachEventHandler=
function(a){var d=this.evt;if(a=a.tooltext)d.tooltext=a};ia.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:qa.prototype.getLogicalSpace.call(this)};ia.prototype.draw=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;if(a&&0===a.length)return this.hide(),{getBBox:function(){return{width:0,height:0}}};a=qa.prototype.draw.apply(this,arguments);ia.allNodes.push(this.node);return a};
ia.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;qa.prototype.dispose.call(this)};Ia.prototype.addSymbol=function(a,d){var m=this.symbolList;d?m.unshift(a):m.push(a)};Ia.prototype.setConfiguaration=function(a){var d=a.buttons;a=a.group;d&&Da(d,this.btnConfig);a&&Da(a,this.groupConfig)};Ia.prototype.draw=function(a,d,m){var p=this.preId,t=this.symbolList,u,v,z=this.groupConfig,B=this.btnConfig,C=d.x,D=d.y,F=0,M=0,Y=Number.NEGATIVE_INFINITY;
u=ya.getKeys();p=this.id=p.toString()+m;U.toolbarGroup=U.toolbar||{};m=ya.getComponent(this.id,this.pId,u.KEY_GROUP);a=m("toolbar-group"+p,a).trackTooltip(!0);m=ya.getComponent(this.id,this.pId,u.KEY_RECT);p=this.groupRect=m(a).attr({height:0,width:0,x:C,y:D});C+=z.hPadding;D+=z.vPadding;M+=z.hPadding;F+=z.vPadding;u=0;for(m=t.length;u<m;u++)v=t[u],v._setConfiguaration(B),v=v.draw(C,D,{parentLayer:a}),v=v.getBBox(),Y<v.height&&(Y=v.height),C+=v.width+(v=B.spacing);M+=C+z.hPadding-d.x-v-z.offsetAdjustment;
F+=Y+z.vPadding+z.offsetAdjustment;isFinite(F)||(F=0);isFinite(M)||(M=0);p.attr({height:F,width:M}).attr({fill:z.fill,r:z.radius,stroke:z.borderColor,"stroke-width":z.borderThickness});v=p.getBBox();return{height:v.height,width:v.width}};Ia.prototype.getLogicalSpace=function(){var a=this.symbolList,d,p,v,t=0,u=0,z=Number.NEGATIVE_INFINITY,B=0;p=0;for(v=a.length;p<v;p++)d=a[p],d._setConfiguaration(this.btnConfig),d=d.getLogicalSpace(),u+=d.width+this.btnConfig.spacing,B+=d.width,z=z<d.height?d.height:
z;if(!B)return{width:0,height:0};z!==Number.NEGATIVE_INFINITY&&u&&(u-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,t=z+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:u,height:t}};Ia.prototype.dispose=function(){for(var a=this.symbolList,d=0,p=a.length;d<p;d++)a[d].dispose();a.length=0;this.groupRect.remove()};Ka.prototype.getId=function(){return this.id};Ka.prototype.addComponent=function(a){this.componentGroups.push(a)};Ka.prototype.draw=
function(a,d){var p=this.componentGroups,v,t,u,z;z=this.id;var B=a,D=d,C,J=this.toolbarConfig,F,M=Number.NEGATIVE_INFINITY;t=ya.getKeys();U.toolbar=U.toolbar||{};C=ya.getComponent(this.id,this.pId,t.KEY_GROUP,!0);this.group=z=C(z);C=ya.getComponent(this.id,this.pId,t.KEY_RECT,!0);C=this.toolbarRect=C(z).attr({height:0,width:0,x:B,y:D});B+=J.hPadding;D+=J.vPadding;t=0;for(u=p.length;t<u;t++)v=p[t],F=v.groupConfig.spacing||1,v=v.draw(z,{x:B,y:D},t),B+=v.width+F,M=M>v.height?M:v.height;p=M;B=B-F-J.hPadding-
a;isFinite(p)||(p=0);isFinite(B)||(B=0);C.attr({height:p+=2*J.vPadding,width:B+=2*J.hPadding}).attr({fill:J.fill,r:J.radius,stroke:J.borderColor,"stroke-width":J.borderThickness});return{height:p,width:B}};Ka.prototype.getLogicalSpace=function(){var a=this.componentGroups,d,p,v,t=d=0,u=Number.NEGATIVE_INFINITY,z,B=0;d=0;for(p=a.length;d<p;d++)v=a[d],z=v.getLogicalSpace(),v=v.groupConfig.spacing||1,t+=z.width+v,B+=z.width,u=u<z.height?z.height:u;if(!B)return{width:0,height:0};t-=v-2*this.toolbarConfig.hPadding;
d=u+2*this.toolbarConfig.vPadding;return{width:t,height:d}};Ka.prototype.dispose=function(){for(var a=this.componentGroups,d=0,p=a.length;d<p;d++)a[d].dispose();a.length=0;this.toolbarRect.remove();ya.emptyPool(this.pId)};return{init:function(a){U=a.graphics;ba=a.chart;db=a.components},HorizontalToolbar:Ka,ComponentGroup:Ia,Symbol:qa,CheckboxSymbol:pa,Scroller:ta,SymbolWithContext:ia,getInstanceById:function(a){return Ja[a]}}}();FusionCharts.register("component",["toolbox","toolbox",{onceInitialized:!1,
ALIGNMENT_HORIZONTAL:0,ALIGNMENT_VERTICAL:1,POSITION_TOP:0,POSITION_RIGHT:1,POSITION_BOTTOM:2,POSITION_LEFT:3,init:function(a){if(this.onceInitialized)return this.configure(),this._iCount;Z.init(a);this._options=a;this._chart=a.chart;this._iCount=++z;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,d;Z.init(this._options);B.scale=Aa(a.toolbarbuttonscale,1.15);B.width=Aa(a.toolbarbuttonwidth,15);B.height=Aa(a.toolbarbuttonheight,15);
B.radius=Aa(a.toolbarbuttonradius,2);B.spacing=Aa(a.toolbarbuttonspacing,5);B.fill=ja(Ia(a.toolbarbuttoncolor,"ffffff"));B.labelFill=ja(Ia(a.toolbarlabelcolor,"cccccc"));B.symbolFill=ja(Ia(a.toolbarsymbolcolor,"ffffff"));B.hoverFill=Ia(a.toolbarbuttonhovercolor);B.stroke=ja(Ia(a.toolbarbuttonbordercolor,"bbbbbb"));B.symbolStroke=ja(Ia(a.toolbarsymbolbordercolor,"9a9a9a"));B.strokeWidth=Aa(a.toolbarbuttonborderthickness,1);B.symbolStrokeWidth=Aa(a.toolbarsymbolborderthickness,1);d=B.symbolPadding=
Aa(a.toolbarsymbolpadding,5);B.symbolHPadding=Aa(a.toolbarsymbolhpadding,d);B.symbolVPadding=Aa(a.toolbarsymbolvpadding,d);p.color=a.scrollcolor&&ja(a.scrollcolor);p.padding=Aa(a.scrollpadding,0);p.height=Aa(a.scrollheight,12);p.width=Aa(a.scrollwidth,12);p.displayFlat=Aa(a.flatscrollbars,0);p.scrollBar3DLighting=Aa(a.scrollbar3dlighting,1);p.startPercent=Math.min(1,Math.max(0,parseFloat(a.scrolltoend)||0));p.showButtons=!!Aa(a.scrollshowbuttons,1);p.buttonPadding=Aa(a.scrollbtnpadding,0);Ba.baseFontFamily=
Ia(a.basefont,"Verdana,sans");Ba.baseFontSize=Aa(a.basefontsize,10);Ba.baseFontColor=Ia(a.basefontcolor,"595959")},getAPIInstances:function(a){var d=this._chart,p={};switch(a){case this.ALIGNMENT_HORIZONTAL:p.Toolbar=Z.HorizontalToolbar}ya.init(d.components,this._iCount);p.ComponentGroup=Z.ComponentGroup;p.Symbol=Z.Symbol;p.Scroller=Z.Scroller;p.SymbolWithContext=Z.SymbolWithContext;p.SymbolStore=na;p.CheckboxSymbol=Z.CheckboxSymbol;return p},getDefaultConfiguration:function(){return B},clean:function(){ya.hideRecursive(this._iCount)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-powercharts",function(){var M=this,v=M.hcLib,Da=v.Raphael,Fa="VML"===Da.type,pa=M.window,Ka=pa.Image,Oa=pa.document,ta=v.preDefStr,ja=ta.colors.B90000,ra=ta.line,xa=ta.column,Aa=ta.bar,Ia=ta.volume,B=v.BLANKSTRING,p=v.BLANKSTRING,Ba=v.parseTooltext,d=v.pluck,F=v.getValidValue,a=v.pluckNumber,na=v.getFirstValue,Z=v.parseUnsafeString,W=v.extend2,ua=v.getDashStyle,z=v.toRaphaelColor,ya=v.toPrecision,D=v.hasSVG,ob=v.isIE,Y=v.regex.dropHash,
qa=v.HASHSTRING,Sb=v.hashify,ta=v.setAttribDefs,Ob=v.parseConfiguration,ia=v.attrTypeNum,Yb=function(b,g){var e;b||(b={});for(e in g)b[e]=g[e];return b},Ib=v.COMMASPACE,Ja=v.chartPaletteStr={chart2D:{bgColor:"bgColor",bgAlpha:"bgAlpha",bgAngle:"bgAngle",bgRatio:"bgRatio",canvasBgColor:"canvasBgColor",canvasBaseColor:"canvasBaseColor",divLineColor:"divLineColor",legendBgColor:"legendBgColor",legendBorderColor:"legendBorderColor",toolTipbgColor:"toolTipbgColor",toolTipBorderColor:"toolTipBorderColor",
baseFontColor:"baseFontColor",anchorBgColor:"anchorBgColor"},chart3D:{bgColor:"bgColor3D",bgAlpha:"bgAlpha3D",bgAngle:"bgAngle3D",bgRatio:"bgRatio3D",canvasBgColor:"canvasBgColor3D",canvasBaseColor:"canvasBaseColor3D",divLineColor:"divLineColor3D",divLineAlpha:"divLineAlpha3D",legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",anchorBgColor:"anchorBgColor3D"}},Ua=v.each,
Fb=v.addEvent,kb=v.removeEvent,db=v.getTouchEvent,U=v.componentDispose,ba=function(b){return void 0!==b&&null!==b},s="rgba(192,192,192,"+(ob?.002:1E-6)+")",r=v.TOUCH_THRESHOLD_PIXELS,m=v.CLICK_THRESHOLD_PIXELS,x=8===pa.document.documentMode?"visible":p,t=v.BGRATIOSTRING,u=Math,N=u.sin,da=u.cos,ga=u.round,C=u.min,J=u.max,Ca=u.abs,Tb=u.PI,bc=u.ceil,Ub=u.floor,jc=u.sqrt,kc=u.pow,cc=Tb/180,qb=v.hasTouch,Pa=qb?r:m,Ha=v.getFirstColor,dc=v.setLineHeight,ib=v.pluckFontSize,$a=v.getFirstAlpha,lc=v.graphics.getDarkColor,
pb=v.graphics.getLightColor,aa=v.graphics.convertColor,Vb=v.POSITION_TOP,Pb=v.POSITION_BOTTOM,ec=v.POSITION_RIGHT,fc=v.POSITION_LEFT,mc=v.bindSelectionEvent,K=v.chartAPI,nc=v.graphics.mapSymbolName,Wb=v.COMMASTRING,La=v.HUNDREDSTRING,Qb=v.getMouseCoordinate,za=v.plotEventHandler,gc=M.xssEncode,Cb=v.SHAPE_RECT,r=v.graphics,oc=r.parseColor,pc=r.getValidColor,Rb=function(){this.data("move",!1);clearTimeout(this._longpressactive);delete this._longpressactive},qc=v.createElement;v.eventList.chartupdated=
"FC_ChartUpdated";v.eventList.dataposted="FC_DataPosted";v.eventList.dataposterror="FC_DataPostError";v.eventList.datarestored="FC_DataRestored";M.addEventListener("rendered",function(b){b=b.sender;var g=b.__state,e=b.jsVars&&b.jsVars.instanceAPI;!g.listenersAdded&&e&&"function"===typeof e.getCollatedData&&(b.addEventListener(["chartupdated","dataupdated","rendered"],function(b){delete b.sender.__state.hasStaleData}),g.listenersAdded=!0)});K("spline",{friendlyName:"Spline Chart",standaloneInit:!0,
singleseries:!0,creditLabel:!1,defaultDatasetType:"msspline",defaultPlotShadow:1,applicableDSList:{spline:!0},getSplineExtremities:function(b,g,e,c,h){var f=[],a=!1;c=c||0;for(h=h||{max:Number.MIN_VALUE,min:Number.MAX_VALUE};c<b.length;++c)if(a)if(isNaN(b[c].config.setValue)||null===b[c].config.setValue){if(!e)break}else f.push({index:c,y:b[c].config.setValue});else isNaN(b[c].config.setValue)||null===b[c].config.setValue||(a=!0,f.push({index:c,y:b[c].config.setValue}));2<f.length&&this.evalSplineExtremities(f,
g,h);c<b.length&&!e&&this.getSplineExtremities(b,g,e,c,h);return h},evalSplineExtremities:function(b,g,e){var c={},h,f,a;for(f=0;f<b.length;++f)h=b[f].index,c["D"+h]=0;for(h=0;10>h;++h)for(f=0;f<b.length;++f)a=0===f?(3*(b[f+1].y-b[f].y)-c["D"+b[f+1].index])/2:f===b.length-1?(3*(b[f].y-b[f-1].y)-c["D"+b[f-1].index])/2:(3*(b[f+1].y-b[f-1].y)-c["D"+b[f+1].index]-c["D"+b[f-1].index])/4,c["D"+b[f].index]=a;g=ga(g/(b.length-1));for(f=1;f<b.length;++f)this.getSegmentExtremities(f,b,c,e,g)},getSegmentExtremities:function(b,
g,e,c,h){var f,a,k,l,d;f=e["D"+g[0].index];a=e["D"+g[b].index];e=g[0].y;k=3*(g[b].y-g[0].y)-2*f-a;b=2*(g[0].y-g[b].y)+f+a;g=c.max;a=c.min;for(l=0;l<=h;l++)d=l/h,d=e+f*d+k*d*d+b*d*d*d,d<a&&(a=d),d>g&&(g=d);c.max=g;c.min=a}},K.sscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});K("splinearea",{friendlyName:"Spline Area Chart",standaloneInit:!0,hasLegend:!1,singleseries:!0,creditLabel:!1,defaultDatasetType:"mssplinearea",defaultPlotShadow:0,anchorAlpha:"100"},K.spline);K("msspline",
{standaloneInit:!0,friendlyName:"Multi-series Spline Chart",creditLabel:!1,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},defaultPlotShadow:1,getSplineExtremities:K.spline.getSplineExtremities,evalSplineExtremities:K.spline.evalSplineExtremities,getSegmentExtremities:K.spline.getSegmentExtremities},K.mscartesian);K("mssplinearea",{friendlyName:"Multi-series Spline Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"mssplinearea",defaultPlotShadow:0},K.msspline);K("mssplinedy",
{friendlyName:"Multi-series Dual Y-Axis Spline Chart",standaloneInit:!0,creditLabel:!1,isDual:!0,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},getSplineExtremities:K.spline.getSplineExtremities,evalSplineExtremities:K.spline.evalSplineExtremities,getSegmentExtremities:K.spline.getSegmentExtremities},K.msdybasecartesian);K("msstepline",{friendlyName:"Multi-series Step Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"msstepline",defaultPlotShadow:1,applicableDSList:{msstepline:!0}},
K.mscartesian);K("multiaxisline",{friendlyName:"Multi-axis Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"multiaxisline",defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{LINE:!0},_createDatasets:function(){var b=this.components,g=this.config,e=this.jsonData,c=e.axis,h,f,a,k,l=0,w,y,q=this.defaultDatasetType,E=this.applicableDSList,ha=b.legend.components.items||[],T,Qa,s,ea,m=this.isStacked,A,ka={},H=0,r;if(c){h=c.length;this.config.categories=e.categories&&
e.categories[0].category;e=b.dataset||(b.dataset=[]);k=e.length;r=g.axisDataSetMap=[];for(f=0;f<h;f++)if(a=c[f].dataset,r[f]=[],a)for(y=a.length,l+=y,g=0;g<y;g++)if(ea=a[g],ea.seriesname&&(ea.seriesname=Z(ea.seriesname)),w=ea.parentyaxis||p,Qa=(Qa=this.isDual&&"s"===w.toLowerCase()?d(ea.renderas,this.sDefaultDatasetType):d(ea.renderas,q))&&Qa.toLowerCase(),E[Qa]||(Qa=q),w=FusionCharts.get("component",["dataset",Qa]))void 0===ka[Qa]?ka[Qa]=0:ka[Qa]++,A="datasetGroup_"+Qa,s=FusionCharts.register("component",
["datasetGroup",Qa]),T=b[A],s&&!T&&(T=b[A]=new s,T.chart=this,T.init()),e[H]?(w=e[H],T=w.JSONData,T=T.data?T.data.length:0,Qa=ea.data?ea.data.length:0,T>Qa&&w.removeData(Qa-1,T-Qa,!1),w.JSONData=ea,w.index=f,w.axisIndex=f,w.configure(),r[f].push(H),H+=1):(w=new w,e.push(w),w.chart=this,w.index=f,w.axisIndex=f,r[f].push(H),H+=1,T&&(m?T.addDataSet(w,0,ka[Qa]):T.addDataSet(w,ka[Qa],0)),w.init(ea));if(k>l){b=k-l;for(g=l;g<k;g++)U.call(e[g]);e.splice(l,b);ha.splice(l,b)}}else this.setChartMessage()},_createAxes:function(){var b=
this.components,g=FusionCharts.register("component",["axis","cartesian"]);b.yAxis=[];b.xAxis=[];b.xAxis[0]=b=new g;b.chart=this;b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,g=this.config,e=b.colorManager,c=b.numberFormatter,h=this.jsonData,f=h.chart,n,k,l=this.is3d;k=l?Ja.chart3D:Ja.chart2D;var w=FusionCharts.register("component",["axis","cartesian"]),y,q,E,ha,T,p,s,ea,m,A,ka,H;n=!1;var r=0;n={outCanfontFamily:d(f.outcnvbasefont,f.basefont,"Verdana,sans"),outCanfontSize:ib(f.outcnvbasefontsize,
f.basefontsize,10),outCancolor:d(f.outcnvbasefontcolor,f.basefontcolor,e.getColor(k.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:f.xaxisnamepadding,axisValuePadding:f.labelpadding,axisNameFont:f.xaxisnamefont,axisNameFontSize:f.xaxisnamefontsize,axisNameFontColor:f.xaxisnamefontcolor,axisNameFontBold:f.xaxisnamefontbold,axisNameFontItalic:f.xaxisnamefontitalic,axisNameBgColor:f.xaxisnamebgcolor,axisNameBorderColor:f.xaxisnamebordercolor,axisNameAlpha:f.xaxisnamealpha,axisNameFontAlpha:f.xaxisnamefontalpha,
axisNameBgAlpha:f.xaxisnamebgalpha,axisNameBorderAlpha:f.xaxisnameborderalpha,axisNameBorderPadding:f.xaxisnameborderpadding,axisNameBorderRadius:f.xaxisnameborderradius,axisNameBorderThickness:f.xaxisnameborderthickness,axisNameBorderDashed:f.xaxisnameborderdashed,axisNameBorderDashLen:f.xaxisnameborderdashlen,axisNameBorderDashGap:f.xaxisnameborderdashgap,useEllipsesWhenOverflow:f.useellipseswhenoverflow,divLineColor:d(f.vdivlinecolor,f.divlinecolor,e.getColor(k.divLineColor)),divLineAlpha:d(f.vdivlinealpha,
f.divlinealpha,l?e.getColor("divLineAlpha3D"):e.getColor("divLineAlpha")),divLineThickness:a(f.vdivlinethickness,f.divlinethickness,1),divLineIsDashed:Boolean(a(f.vdivlinedashed,f.vdivlineisdashed,f.divlinedashed,f.divlineisdashed,0)),divLineDashLen:a(f.vdivlinedashlen,f.divlinedashlen,4),divLineDashGap:a(f.vdivlinedashgap,f.divlinedashgap,2),showAlternateGridColor:a(f.showalternatevgridcolor,0),alternateGridColor:d(f.alternatevgridcolor,e.getColor("altVGridColor")),alternateGridAlpha:d(f.alternatevgridalpha,
e.getColor("altVGridAlpha")),numDivLines:f.numvdivlines,labelFont:f.labelfont,labelFontSize:f.labelfontsize,labelFontColor:f.labelfontcolor,labelFontBold:f.labelfontbold,labelFontItalic:f.labelfontitalic,labelFontAlpha:f.labelalpha,maxLabelHeight:f.maxlabelheight,axisName:f.xaxisname,axisMinValue:f.xaxisminvalue,axisMaxValue:f.xaxismaxvalue,setAdaptiveMin:f.setadaptivexmin,adjustDiv:f.adjustvdiv,labelDisplay:f.labeldisplay,showLabels:f.showlabels,rotateLabels:f.rotatelabels,slantLabel:a(f.slantlabels,
f.slantlabel),labelStep:a(f.labelstep,f.xaxisvaluesstep),showAxisValues:a(f.showxaxisvalues,f.showxaxisvalue),showLimits:f.showvlimits,showDivLineValues:a(f.showvdivlinevalues,f.showvdivlinevalues),showZeroPlane:f.showvzeroplane,zeroPlaneColor:f.vzeroplanecolor,zeroPlaneThickness:f.vzeroplanethickness,zeroPlaneAlpha:f.vzeroplanealpha,showZeroPlaneValue:f.showvzeroplanevalue,trendlineColor:f.trendlinecolor,trendlineToolText:f.trendlinetooltext,trendlineThickness:f.trendlinethickness,trendlineAlpha:f.trendlinealpha,
showTrendlinesOnTop:f.showtrendlinesontop,showAxisLine:a(f.showxaxisline,f.showaxislines,f.drawAxisLines,0),axisLineThickness:a(f.xaxislinethickness,f.axislinethickness,1),axisLineAlpha:a(f.xaxislinealpha,f.axislinealpha,100),axisLineColor:d(f.xaxislinecolor,f.axislinecolor,"#000000")};k={outCanfontFamily:d(f.outcnvbasefont,f.basefont,"Verdana,sans"),outCanfontSize:ib(f.outcnvbasefontsize,f.basefontsize,10),outCancolor:d(f.outcnvbasefontcolor,f.basefontcolor,e.getColor(k.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),useEllipsesWhenOverflow:f.useellipseswhenoverflow,showAlternateGridColor:0,axisNameFont:f.yaxisnamefont,axisNameFontSize:f.yaxisnamefontsize,axisNameFontColor:f.yaxisnamefontcolor,axisNameFontBold:f.yaxisnamefontbold,axisNameFontItalic:f.yaxisnamefontitalic,axisNameBgColor:f.yaxisnamebgcolor,axisNameBorderColor:f.yaxisnamebordercolor,axisNameAlpha:f.yaxisnamealpha,axisNameFontAlpha:f.yaxisnamefontalpha,axisNameBgAlpha:f.yaxisnamebgalpha,axisNameBorderAlpha:f.yaxisnameborderalpha,axisNameBorderPadding:f.yaxisnameborderpadding,
axisNameBorderRadius:f.yaxisnameborderradius,axisNameBorderThickness:f.yaxisnameborderthickness,axisNameBorderDashed:f.yaxisnameborderdashed,axisNameBorderDashLen:f.yaxisnameborderdashlen,axisNameBorderDashGap:f.yaxisnameborderdashgap};l=b.xAxis[0];l.setCommonConfigArr(n,!1,!1,!1);l.configure();g.axesArr={leftAxes:[],rightAxes:[],axesMap:[],checkBox:[],leftSideSelected:!1};l=g.axesArr.leftAxes=[];p=g.axesArr.rightAxes=[];s=g.axesArr.axesMap=[];y=h.axis||[];q=0;for(E=y.length;q<E;q+=1){b.yAxis[q]?
h=b.yAxis[q]:(h=b.yAxis[q]=new w,h.chart=this,h.init());T=y[q];n=!1;H=0;for(ha=T.dataset?T.dataset.length:0;H<ha;H+=1)0!==Number(T.dataset[H].visible)&&(n=!0);H=a(T.showaxis,1);ha=e.getPlotColor(q);ea=d(T.color,f.axiscolor,ha);aa(ea,100);m=a(T.divlinethickness,f.divlinethickness,1);A=a(T.tickwidth,f.axistickwidth,2);ka=a(T.axislinethickness,f.axislinethickness,2);(ha=!a(T.axisonleft,1))?(s.push({side:"r",index:p.length,showAxis:H,checkBoxChecked:n}),p.push({index:q,showAxis:H,checkBoxChecked:n})):
(H&&(g.axesArr.leftSideSelected=!0),s.push({side:"l",index:l.length,showAxis:H,checkBoxChecked:n}),l.push({index:q,showAxis:H,checkBoxChecked:n}));k.labelStep=a(T.yaxisvaluesstep,T.yaxisvaluestep,f.yaxisvaluesstep,f.yaxisvaluestep);k.axisMaxValue=T.maxvalue;k.axisMinValue=T.minvalue;k.setAdaptiveMin=a(T.setadaptiveymin,f.setadaptiveymin);k.numDivLines=a(T.numdivlines,f.numdivlines,4);k.adjustDiv=a(T.adjustdiv,f.adjustdiv);k.showAxisValues=a(T.showyaxisvalues,T.showyaxisvalue,f.showyaxisvalues,f.showyaxisvalue,
1);k.showLimits=a(T.showlimits,f.showyaxislimits,f.showlimits,k.showAxisValues);k.showDivLineValues=a(T.showdivlinevalue,f.showdivlinevalues,T.showdivlinevalues,k.showAxisValues);k.showZeroPlane=a(T.showzeroplane,f.showzeroplane);k.showZeroPlaneValue=a(T.showzeroplanevalue,f.showzeroplanevalue);k.zeroPlaneColor=T.zeroplanecolor;k.zeroPlaneThickness=a(T.zeroplanethickness,T.divlinethickness,g.zeroplanethickness,2);k.zeroPlaneAlpha=a(T.zeroplanealpha,T.divlinealpha,g.zeroplanealpha);k.showZeroPlaneOnTop=
g.showzeroplaneontop;k.divLineColor=d(T.divlinecolor,ea);k.divLineAlpha=a(T.divlinealpha,f.divlinealpha,e.getColor("divLineAlpha"),100);k.divLineThickness=m;k.divLineIsDashed=Boolean(a(T.divlinedashed,T.divlineisdashed,f.divlinedashed,f.divlineisdashed,0));k.divLineDashLen=a(T.divlinedashlen,f.divlinedashlen,4);k.divLineDashGap=a(T.divlinedashgap,f.divlinedashgap,2);k.showAxisLine=1;k.axisLineThickness=ka;k.axisLineAlpha=100;k.axisLineColor=ea;k.tickLength=A;k.tickColor=ea;k.tickAlpha=100;k.tickWidth=
ka;k.axisName=T.title;k.rotateAxisName=1;h.setCommonConfigArr(W({},k),!0,!1,ha);h.configure();c.parseMLAxisConf(T,q);0===a(T.showaxis)?(h.hide(),h.setAxisConfig({axisIndex:q,drawAxisLineWRTCanvas:!1,drawLabels:!1,drawPlotlines:!1,drawAxisLine:!1,drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!1,drawTrendLabels:!1,drawTick:!1,drawTickMinor:!1})):(h.show(),h.setAxisConfig({axisIndex:q,drawAxisLineWRTCanvas:!1,drawLabels:!0,drawPlotlines:!0,drawAxisLine:!0,drawPlotBands:!0,drawAxisName:!0,drawTrendLines:!0,
drawTrendLabels:!0,drawTick:!0,drawTickMinor:!0}));r+=1}q=r;for(E=b.yAxis.length;q<E;q+=1)b.yAxis[q].hide()},_setAxisLimits:function(){var b=this.components,g=this.config.axisDataSetMap,e=b.dataset,b=b.yAxis,c=g.length,h,f=-Infinity,a=Infinity,k,l,d;for(h=0;h<c;h+=1){k=0;for(l=g[h].length;k<l;k+=1)d=e[g[h][k]].getDataLimits(),f=J(f,d.max),a=C(a,d.min);Infinity===a&&(a=0);-Infinity===f&&(f=a+1);b[h].setDataLimit(f,a);f=-Infinity;a=Infinity}},_spaceManager:function(){var b,g,e=this.config,c=e.axesArr,
h=this.components;g=e.legendPosition;var f=h.xAxis,n=h.yAxis,k=this.hasLegend,l=e.yDepth;b=h.legend;var d=e.axesPadding,y=0,q=0,E=e.axisDataSetMap.length,ha,T,p,s=this.jsonData.chart,ea=a(s.showborder,this.is3D?0:1),h=h.canvas.config.canvasBorderWidth;ha=e.borderWidth=ea?a(s.borderthickness,1):0;var m=e.canvasMarginTop,A=e.canvasMarginBottom,ka=e.canvasMarginLeft,s=e.canvasMarginRight,H=e.height,ea=e.width;this._allocateSpace({top:ha,bottom:ha,left:ha,right:ha});this._allocateSpace({left:e.canvasMarginLeft,
right:e.canvasMarginRight});ha=c.axesMap;T=c.leftAxes;c=c.rightAxes;p="right"===g?.3*e.canvasWidth:.3*e.canvasHeight;!1!==k&&f&&this._allocateSpace(b._manageLegendPosition(p));for(k=0;k<E;k+=1)0!==ha[k].showaxis&&(b=.7*e.canvasWidth,b=n[k].placeAxis(b),n[k]&&this._allocateSpace(b),p=ha[k],"r"===p.side?(c[p.index].width=b.right,y+=d):(T[p.index].width=b.left,q+=d));g=g===Pb?.225*e.canvasHeight:.225*e.canvasWidth;this._manageChartMenuBar(g);b=.7*e.canvasWidth;b>y+q&&this._allocateSpace({left:q,right:y});
g=.6*e.canvasHeight;f[0]&&this._allocateSpace(f[0].placeAxis(g));g=.325*e.canvasHeight;this._getDSspace&&this._allocateSpace(this._getDSspace(g));l&&this._allocateSpace({bottom:l});this._allocateSpace({top:h,bottom:h,left:h,right:h});f=m>e.canvasTop?m-e.canvasTop:0;l=A>H-e.canvasBottom?A+e.canvasBottom-H:0;y=ka>e.canvasLeft?ka-e.canvasLeft:0;q=s>ea-e.canvasRight?s+e.canvasRight-ea:0;this._allocateSpace({top:f,bottom:l,left:y,right:q});e.actualCanvasMarginTop=f;e.actualCanvasMarginLeft=y;e.actualCanvasMarginRight=
q;e.actualCanvasMarginBottom=l},_postSpaceManagement:function(){var b=this.config,g=this.components,e=g.xAxis&&g.xAxis[0],c=g.legend,h=b.xDepth,f=g.canvas.config,g=f.canvasBorderWidth,a=f.canvasPadding,k=f.canvasPaddingLeft,f=f.canvasPaddingRight;e&&e.setAxisDimention({x:b.canvasLeft+(h||0)+J(k,a),y:b.canvasBottom+(b.shift||0)+g,opposite:b.canvasTop-g,axisLength:b.canvasWidth-(h||0)-J(k,a)-J(f,a)});e&&e.shiftLabels(-h,0);c.postSpaceManager()},_resuffelAxis:function(){var b=this.data("axisDetails"),
g=b.iapi,e=g.config.axesArr,c,h,f,a,k;c=e.leftAxes;h=e.rightAxes;if("l"===b.position){for(a=c.length-1;a>b.index;a--)if(c[a].showAxis){f=a;k=b.index;break}void 0!==f&&(b=W({},c[k]),c[k]=W({},c[f]),c[f]=W({},b));if(e.leftSideSelected&&void 0===f)return;e.leftSideSelected=!0}else{for(a=0;a<b.index;a++)if(h[a].showAxis){f=a;k=b.index;break}void 0!==f&&(b=W({},h[k]),h[k]=W({},h[f]),h[f]=W({},b));if(!e.leftSideSelected&&void 0===f)return;e.leftSideSelected=!1}g._drawAxis(!0)},_dolegendInteraction:function(b,
g){var e=g.components.dataset,c=g.components.legend,h;if(this.checked)for(h in e)e.hasOwnProperty(h)&&(e[h].visible||e[h].axisIndex!==b||e[h].show());else for(h in e)e.hasOwnProperty(h)&&e[h].visible&&e[h].axisIndex===b&&e[h].hide();c.drawLegend()},_drawAxis:function(b){var g=this.config,e=g.axesArr,c=this.components,h=c.yAxis||[],f=c.xAxis||[],a=c.paper,k=g.allowAxisShift,l=g.allowSelection,d=this.graphics.axisHotElement||[],y=this.graphics.trackerContainer,q=this.graphics.buttonGroup,E=c.canvas.config,
ha=E.canvasBorderWidth,T=E.canvasPaddingTop,E=E.canvasPaddingBottom,Qa=g.axesPadding,m=this.components.tb,ea=0,$b=0,A=0,ka,H,r,v,u,t,I,L,Q,x,V,B,S,C,O,X,Wa=!1,J=0,$,G;Q=this.get("config","animationObj");$=Q.animObj;G=Q.dummyObj;V=Q.transposeAnimDuration;B=Q.animType;Q=c.tb||(c.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));Q.init({iAPI:this,graphics:this.graphics,chart:this,components:c});x=c.toolBoxAPI.CheckboxSymbol;u=e.leftAxes;c=e.rightAxes;C=e.checkBox;for(t in C)C.hasOwnProperty(t)&&
C[t].checkbox.hide();L={cursor:"col-resize",stroke:s,fill:s,ishot:!0,visibility:!0};for(t=u.length-1;0<=t;--t)if(0!==u[t].showAxis&&(ka=g.canvasLeft-ha-ea-Qa,H=g.canvasTop+T,r=g.canvasHeight-T-E,v=u[t].width,S=u[t].index,I=h[S],I.setAxisDimention({x:ka,y:H,opposite:g.canvasRight+ha,axisLength:r}),ea+=v+Qa,!Wa&&e.leftSideSelected?(I.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),Wa=!0):I.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),l&&
(C[S]?(I=C[S],O=ka-v-C[S].checkboxPrePos.x,X=H+r+4-C[S].checkboxPrePos.y,I.checkbox.show(),I.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[S,this]}}),V?I.checkbox.node.animateWith(G,$,{transform:"t"+O+","+X},V,B):I.checkbox.node.attr({transform:"t"+O+","+X})):(I=C[S]={},I.checkbox=new x(p,!0,J++,m.pId),I.checkbox.conf=Q.getDefaultConfiguration(),I.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[S,this]}}),I.checkbox.draw(ka-v,H+r+4,{parentLayer:q}),
I.checkboxPrePos={x:ka-v,y:H+r+4}),I.checkbox.node.attr({stroke:z({color:g.checkBoxColor,alpha:100})}),I.checkbox.node.attr({"stroke-width":[1,2]}),g.axisConfigured&&(u[t].checkBoxChecked?I.checkbox.check():I.checkbox.uncheck())),k)){L.x=ka-v;L.y=H;L.width=v;L.height=r;if(d[A])for(r=d[A].attr(L),r.show(),ka=0,H=r.events.length;ka<H;ka++)r.events[ka].unbind(),r.events.splice(ka,1),--H;else r=d[A]=a.rect(L,y);r.data("axisDetails",{iapi:this,position:"l",index:t});qb?r.touchstart(this._resuffelAxis):
r.mousedown(this._resuffelAxis);A+=1}t=0;for(ea=c.length;t<ea;t+=1)if(0!==c[t].showAxis&&(S=c[t].index,I=h[S],ka=g.canvasRight+ha+$b+Qa,H=g.canvasTop+T,r=g.canvasHeight-T-E,v=c[t].width,I.setAxisDimention({x:ka,y:H,opposite:g.canvasLeft-ha,axisLength:r}),$b+=c[t].width+Qa,Wa||e.leftSideSelected?I.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}):(I.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),Wa=!0),u=I.getAxisData("axisNamePadding"),l&&
(C[S]?(I=C[S],O=ka-v-I.checkboxPrePos.x,X=H+r+4-I.checkboxPrePos.y,I.checkbox.show(),I.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[S,this]}}),V?I.checkbox.node.animateWith(G,$,{transform:"t"+O+","+X},V,B):I.checkbox.node.attr({transform:"t"+O+","+X})):(I=C[S]={},I.checkbox=new x(p,!0,J++,m.pId),I.checkbox.conf=Q.getDefaultConfiguration(),I.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[S,this]}}),I.checkbox.draw(ka+u,H+r+4,{parentLayer:q}),I.checkboxPrePos=
{x:ka-v,y:H+r+4}),I.checkbox.node.attr({stroke:z({color:g.checkBoxColor,alpha:100})}),I.checkbox.node.attr({"stroke-width":[1,2]}),g.axisConfigured&&(c[t].checkBoxChecked?I.checkbox.check():I.checkbox.uncheck())),k)){L.x=ka;L.y=H;L.width=v;L.height=r;if(d[A])for(r=d[A].attr(L),r.show(),ka=0,H=r.events.length;ka<H;ka++)r.events[ka].unbind(),r.events.splice(ka,1),--H;else r=d[A]=a.rect(L,y);r.data("axisDetails",{iapi:this,position:"r",index:t});qb?r.touchstart(this._resuffelAxis):r.mousedown(this._resuffelAxis);
A+=1}this.graphics.axisHotElement=d;t=A;for(ea=d.length;t<ea;t+=1)d[t].hide();if(!b)for(t=0,ea=f.length;t<ea;t++)f[t].draw();t=0;for(ea=h.length;t<ea;t++)h[t].draw();g.axisConfigured=!1}},K.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});K("inversemsline",{friendlyName:"Inverted Y-Axis Multi-series Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:ra,defaultPlotShadow:1,applicableDSList:{LINE:!0}},K.msinversecartesian,{zeroplanethickness:1,zeroplanealpha:40,
showzeroplaneontop:0});K("inversemsarea",{friendlyName:"Inverted Y-Axis Multi-series Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"area",applicableDSList:{area:!0}},K.msinversecartesian);K("inversemscolumn2d",{friendlyName:"Inverted Y-Axis Multi-series Column Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:xa,applicableDSList:{COLUMN:!0}},K.msinversecartesian);K("logmsline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:!1,defaultDatasetType:ra,
defaultPlotShadow:1,applicableDSList:{LINE:!0}},K.mslog);K("logmscolumn2d",{friendlyName:"Multi-series Log Column Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:xa,applicableDSList:{COLUMN:!0}},K.mslog);K("logstackedcolumn2d",{friendlyName:"Stacked Log Column Chart",standaloneInit:!0,creditLabel:!1,isStacked:!0},K.logmscolumn2d);K("errorbar2d",{friendlyName:"Error Bar Chart",standaloneInit:!0,creditLabel:!1,showValues:0,isErrorChart:!0,fireGroupEvent:!0,hasLegend:!0,defaultDatasetType:"errorbar2d",
applicableDSList:{errorbar2d:!0},eiMethods:{}},K.mscartesian);FusionCharts.register("component",["dataset","ErrorBar2D",{configure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,f=C(h&&h.length,c&&c.length),n=b.jsonData.chart,k=b.components.colorManager,l,w=k.getPlotColor(this.index||this.positionIndex),y=a(e.dashed,n.plotborderdashed),q=a(n.useplotgradientcolor,1),E=v.parseUnsafeString,ha=E(n.yaxisname),T=E(n.xaxisname),s=E(d(n.tooltipsepchar,", ")),m=a(n.seriesnameintooltip,
1),ea=v.parseTooltext,r,A,ka,H,t,u,x,B,I,L,Q,tb,V,R,S,D,O,X,Wa,Zb,$,G,M,U,P,la,N,ma,K=v.getDashStyle,Y=this.components.data,oa=b.components.numberFormatter,W=b.isBar,ba=b.is3D;O=b.isStacked;var va,ca,Z;l={};l=l.dataObj||(l.dataObj={});L=l.chart||(l.chart={});g.legendSymbolColor=w;l=g.showplotborder=a(n.showplotborder,ba?0:1);g.plotDashLen=x=a(n.plotborderdashlen,5);g.plotDashGap=B=a(n.plotborderdashgap,4);g.plotfillAngle=Q=a(360-n.plotfillangle,W?180:90);g.plotFillAlpha=tb=d(e.alpha,n.plotfillalpha,
La);g.plotColor=d(e.color,w);g.legendSymbolColor=g.plotColor;g.isRoundEdges=I=a(n.useroundedges,0);g.plotRadius=a(n.useRoundEdges,g.isRoundEdges?1:0);g.plotFillRatio=V=d(e.ratio,n.plotfillratio);g.plotgradientcolor=R=v.getDefinedColor(n.plotgradientcolor,k.getColor("plotGradientColor"));!q&&(R=p);g.plotBorderAlpha=S=l?d(n.plotborderalpha,tb,La):0;g.plotBorderColor=D=d(n.plotbordercolor,ba?"#ffffff":k.getColor("plotBorderColor"));g.plotBorderThickness=q=a(n.plotborderthickness,1);g.plotBorderDashStyle=
y=y?K(x,B,q):"none";g.showValues=a(e.showvalues,n.showvalues,1);g.valuePadding=a(n.valuepadding,2);g.enableAnimation=va=a(n.animation,n.defaultanimation,1);g.animation=va?{duration:1E3*a(n.animationduration,1)}:!1;L.transposeAnimation=g.transposeAnimation=a(n.transposeanimation,L.transposeAnimation,va);g.transposeAnimDuration=1E3*a(n.transposeanimduration,.2);g.showShadow=I||ba?a(n.showshadow,1):a(n.showshadow,k.getColor("showShadow"));g.showHoverEffect=L=a(n.plothovereffect,n.showhovereffect,void 0);
g.showTooltip=k=a(n.showtooltip,1);g.stack100Percent=va=a(b.stack100percent,n.stack100percent,0);g.definedGroupPadding=J(a(n.plotspacepercent),0);g.plotSpacePercent=J(a(n.plotspacepercent,20)%100,0);g.maxColWidth=a(W?n.maxbarheight:n.maxcolwidth,50);g.showPercentValues=a(n.showpercentvalues,O&&va?1:0);g.showPercentInToolTip=a(n.showpercentintooltip,O&&va?1:0);g.plotPaddingPercent=a(n.plotpaddingpercent);g.rotateValues=a(n.rotatevalues)?270:0;g.placeValuesInside=a(n.placevaluesinside,0);g.includeInLegend=
a(e.includeinlegend,1);g.errorInPercent=ca=a(e.errorinpercent,n.errorinpercent);g.use3DLighting=a(n.use3dlighting,1);g.parentYAxis=va="s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),"p")?1:0;Y||(Y=this.components.data=[]);for(Z=0;Z<f;Z++)u=c&&c[Z],O=(H=Y[Z])&&H.config,H||(H=Y[Z]={graphics:{}}),H.config||(O=Y[Z].config={}),O.showValue=a(u.showvalue,g.showValues),O.setValue=H=oa.getCleanValue(u.value),O.setLink=d(u.link),O.toolTipValue=A=oa.dataLabels(H,va),O.setDisplayValue=w=E(u.displayvalue),
O.displayValue=d(w,A),A=a(u.dashed),w=a(u.dashlen,x),r=B=a(u.dashgap,B),O.plotBorderDashStyle=r=1===A?K(w,r,q):0===A?"none":y,w=d(u.color,g.plotColor),tb=d(u.alpha,g.plotFillAlpha),0>H&&!I&&(t=Q,Q=W?180-Q:360-Q),O.colorArr=X=v.graphics.getColumnColor(w+","+R,tb,V,Q,I,D,S.toString(),W?1:0,ba?!0:!1),O.label=A=F(E(d(h[Z].tooltext,h[Z].label))),0!==L&&(Wa=d(u.hovercolor,e.hovercolor,n.plotfillhovercolor,n.columnhovercolor,w),Zb=d(u.hoveralpha,e.hoveralpha,n.plotfillhoveralpha,n.columnhoveralpha,tb),$=
d(u.hovergradientcolor,e.hovergradientcolor,n.plothovergradientcolor,R),!$&&($=p),G=d(u.hoverratio,e.hoverratio,n.plothoverratio,V),M=a(360-u.hoverangle,360-e.hoverangle,360-n.plothoverangle,Q),U=d(u.borderhovercolor,e.borderhovercolor,n.plotborderhovercolor,D),P=d(u.borderhoveralpha,e.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,S,tb),tb=a(u.borderhoverthickness,e.borderhoverthickness,n.plotborderhoverthickness,q),la=a(u.borderhoverdashed,e.borderhoverdashed,n.plotborderhoverdashed),
N=a(u.borderhoverdashgap,e.borderhoverdashgap,n.plotborderhoverdashgap,x),ma=a(u.borderhoverdashlen,e.borderhoverdashlen,n.plotborderhoverdashlen,B),la=la?K(ma,N,tb):r,1==L&&Wa===w&&(Wa=pb(Wa,70)),w=v.graphics.getColumnColor(Wa+","+$,Zb,G,M,I,U,P.toString(),W?1:0,ba?!0:!1),O.setRolloutAttr={fill:ba?[z(X[0]),!g.use3DLighting]:z(X[0]),stroke:l&&z(X[1]),"stroke-width":q,"stroke-dasharray":r},O.setRolloverAttr={fill:ba?[z(w[0]),!g.use3DLighting]:z(w[0]),stroke:l&&z(w[1]),"stroke-width":tb,"stroke-dasharray":la}),
r=O.toolTipValue,w=F(E(d(u.tooltext,e.plottooltext,n.plottooltext))),O.setErrorValue=X=oa.getCleanValue(u.errorvalue),O.errorInPercent=a(u.errorinpercent,ca,0),O.errorInPercent&&(O.setErrorValue=X=a((X/100*H).toFixed(2))),O.positiveErrorValue=oa.getCleanValue(u.positiveerrorvalue),O.errorInPercent&&O.positiveErrorValue&&(O.positiveErrorValue=a((O.positiveErrorValue/100*H).toFixed(2))),O.negativeErrorValue=oa.getCleanValue(u.negativeerrorvalue),O.errorInPercent&&O.negativeErrorValue&&(O.negativeErrorValue=
a((O.negativeErrorValue/100*H).toFixed(2))),O.errorToolTipValue=Wa=oa.dataLabels(X,va),O.negativeErrorToolTipValue=oa.dataLabels(O.negativeErrorValue,va),O.positiveErrorToolTipValue=oa.dataLabels(O.positiveErrorValue,va),O.errorPercentValue=Zb=ga(X/H*La*La)/La+"%",k?null===r?u=!1:void 0!==w?(H=[1,2,3,4,5,6,7,99,100,101,102,120,121],A={yaxisName:ha,xaxisName:T,formattedValue:r,errorValue:X,errorDataValue:Wa,errorPercentValue:Zb,errorPercentDataValue:Zb,positiveErrorValue:O.positiveErrorToolTipValue,
negativeErrorValue:O.negativeErrorToolTipValue,label:A},u=ea(w,H,A,u,n,e)):(m&&(ka=na(e&&e.seriesname)),u=ka?ka+s:p,u+=A?A+s:p):u=!1,O.toolText=u,O.setTooltext=u,t&&(Q=t);g=this.config.includeInLegend;!1!==b.hasLegend&&g&&this._addLegend();this.ErrorValueConfigure()},ErrorValueConfigure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,h=C(h&&h.length,c&&c.length),f=b.jsonData.chart,b=v.parseUnsafeString,n,k,l,w=this.components.data,y=b(f.yaxisname),q=b(f.xaxisname),
E=a(f.seriesnameintooltip,1),ha,T=b(d(f.tooltipsepchar,", ")),s,m,ea,r,A,ka,H,u=-Infinity,t=Infinity,z,x,I,L,Q=function(b){g.showTooltip?null===A?b=!1:void 0!==b?(s=[1,2,3,4,5,6,7,99,100,101,102,120,121],m={yaxisName:y,xaxisName:q,formattedValue:l.toolTipValue,errorValue:r,errorDataValue:l.errorToolTipValue,errorPercentValue:l.errorPercentValue,errorPercentDataValue:l.errorPercentValue,positiveErrorValue:l.positiveErrorToolTipValue,negativeErrorValue:l.negativeErrorToolTipValue,label:l.label},b=Ba(b,
s,m,n,f,e)):(E&&(ha=na(e&&e.seriesname)),b=ha?ha+T:p,b+=l.label?l.label+T:p):b=!1;return b},B;g.showValues=a(e.showvalues,f.showvalues,0);g.errorBarShadow=H=a(f.errorbarshadow,f.showshadow,1);g.ignoreEmptyDatasets=a(e.ignoreemptydatasets,0);x=a(f.halferrorbar,1);g.notHalfErrorBar=!a(f.halferrorbar,1);ea=$a(d(e.errorbaralpha,f.errorbaralpha,g.plotFillAlpha));g.errorBarWidthPercent=a(e.errorbarwidthpercent,f.errorbarwidthpercent,70);g.errorBarColor=aa(Ha(d(e.errorbarcolor,f.errorbarcolor,"AAAAAA")),
ea);g.errorBarThickness=a(e.errorbarthickness,f.errorbarthickness,1);g.shadowOpacity=H?ea/250:0;for(B=0;B<h;B++)if(n=c&&c[B],l=(k=w[B])&&k.config,H=ea=void 0,void 0!==a(n.value)){k||(k=w[B]={graphics:{}});k.config||(l=w[B].config={});l.notHalfErrorBar=g.notHalfErrorBar;l.halfErrorBar=x;z=l.setValue;l.showValue=a(n.showvalue,g.showValues);l.hasErrorValue=void 0!==a(n.errorvalue)?1:0;r=l.setErrorValue;l.errorValue=r;A=k=l.errorToolTipValue;ka=F(b(d(n.errorplottooltext,e.errorplottooltext,f.errorplottooltext,
A)));k=Q(ka);(ka=F(b(d(n.errorplottooltext,e.errorplottooltext,f.errorplottooltext,l.positiveErrorToolTipValue))))&&l.positiveErrorToolTipValue&&(ea=Q(ka));(ka=F(b(d(n.errorplottooltext,e.errorplottooltext,f.errorplottooltext,l.negativeErrorToolTipValue))))&&l.negativeErrorToolTipValue&&(H=Q(ka));I=l.positiveErrorValue;L=l.negativeErrorValue;if(I||L)l.halfErrorBar=0,l.notHalfErrorBar=!0;ka=z+(null!==I?I:r);z-=l.halfErrorBar?0:0>L&&0>z?0:null!=L?L:r;u=J(u,ka,z);t=C(t,ka,z);null==r&&(r=void 0);l.errorValueArr=
[];l.errorValueArr.push({errorValue:null!=L?L:null!==I?r:-r,tooltext:H||k});l.notHalfErrorBar&&l.errorValueArr.push({errorValue:null!==I?-I:null!=L?-r:r,tooltext:ea||k})}g.maxValue=u;g.minValue=t},init:function(b){var g=this.chart,e=g.components,e=g.isDual?e.yAxis[this.yAxis||0]:e.yAxis[0];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=g.chartGraphics;this.components={};this.graphics={};this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},
draw:function(){var b=this,g=b.JSONData,e=b.chart.jsonData.chart,c=b.config,h=b.groupManager,f=b.index,n=b.chart.config.categories,k=g.data,l,w,y,q,E=b.visible,ha=b.chart,T=ha.components.paper,Qa=ha.components.xAxis[0],m=ha.components.yAxis[0];l=ha.graphics.columnGroup;var ea,r,A=ha.graphics,ka=v.parseUnsafeString,H=v.getValidValue,u=v.Raphael,t=c.showTooltip,x=Qa.getAxisPosition(0),B=Qa.getAxisPosition(1),I=c.groupMaxWidth=B-x,L=c.definedGroupPadding,Q=c.plotSpacePercent/200,tb=h.getDataSetPosition(b),
x=h.manageClip,V=c.maxColWidth,R=ha.get("config","animationObj"),B=R.animType,S=R.animObj,J=R.dummyObj,R=R.duration,I=(1-.01*L)*I||C(I*(1-2*Q),1*V),I=a(tb.columnWidth,I/1),O,L=tb.xPosOffset||0,tb=tb.height,X,Wa,Q=b.components.data,D,$,G,F,M,P;F={};P={};var V=m.getLimit(),U=V.min,V=0<V.max&&0>U,U=m.getAxisBase(),N=m.yBasePos=m.getAxisPosition(U),K=0,Y=c.showShadow,Z=c.plotBorderThickness,oa=c.plotRadius,W=b.graphics.container,ba=b.graphics.trackerContainer,va=b.graphics.dataLabelContainer,ca=b.graphics.shadowContainer,
ga=b.graphics.errorGroupContainer,ra=b.graphics.errorTrackerContainer,aa=b.graphics.errorShadowContainer;q=A.trackerGroup;var da,ia,A=!0,na=!1,qa=!1,pa,Ga=(b.components.removeDataArr||[]).length,ja=b.components.pool||[],c=c.showHoverEffect,ta=function(b){return function(c){0!==this.data("showHoverEffect")&&b.attr(this.data("setRolloverAttr"));za.call(this,ha,c,"DataPlotRollOver")}},ya=function(b){return function(c){0!==this.data("showHoverEffect")&&b.attr(this.data("setRolloutAttr"));za.call(this,
ha,c,"DataPlotRollOut")}},sa=function(b){za.call(this,ha,b)},ua=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(W.hide(),ba.hide(),ca.hide(),va&&va.hide(),ga&&ga.hide(),ra&&ra.hide(),aa&&aa.hide(),b._conatinerHidden=!0)},Aa=function(){b.drawLabel();b.drawErrorValue()};W||(W=b.graphics.container=T.group("columns",l),E||W.hide());ba||(ba=b.graphics.trackerContainer=T.group("col-hot",q),E||ba.hide());ca||(ca=b.graphics.shadowContainer=T.group("shadow",l).toBack(),E||
ca.hide());l=Qa.getCategoryLen();for(q=0;q<l;q++)if(w=k&&k[q],F=(P=(D=Q[q])&&D.config)&&P.setValue,pa=!1,void 0!==D&&void 0!==F&&null!==F){ea=0<=F;G=P.setLink;da=P.colorArr;D.graphics||(Q[q].graphics={});M=P.displayValue;ea=ea?P.previousPositiveY:P.previousNegativeY;Wa=H(ka(d(w.tooltext,g.plottooltext,e.plottooltext)));O=m.getAxisPosition(ea||U);w=Qa.getAxisPosition(q)+L;0!==tb?(ea=m.getAxisPosition(F+(ea||0)),X=Ca(O-ea)):(X=0,ea=O);ea=C(ea,O);!V&&x&&E&&0<Z&&(X+=Z,h.manageClip=!1);D._oriXPos=w;D._oriYPos=
ea;D._oriHeight=X;D._oriWidth=I;h.isCrisp?(r=u.crispBound(w,ea,I,X,Z),w=r.x,ea=r.y,O=r.width,X=r.height):O=I;Wa=P.toolText+(Wa?p:P.toolTipValue);ia=P.plotBorderDashStyle;M={index:q,link:G,value:F,displayValue:M,categoryLabel:n[q].label,toolText:Wa,id:p,datasetIndex:f,datasetName:g.seriesname,visible:E};F=P.setRolloutAttr;P=P.setRolloverAttr;R||(N=ea,K=X);y={x:w,y:N,width:O,height:K||1,r:oa,ishot:!t,fill:z(da[0]),stroke:z(da[1]),"stroke-width":Z,"stroke-dasharray":ia,"stroke-linejoin":"miter",visibility:E};
D._xPos=w;D._yPos=ea;D._height=X;D._width=O;D.graphics.element?(na=qa=!0,$=D.graphics.element,y={x:w,y:ea,width:O,height:X||1},$.animateWith(J,S,y,R,B,A&&ua),$.attr({r:oa,ishot:!t,fill:z(da[0]),stroke:z(da[1]),"stroke-width":Z,"stroke-dasharray":ia,"stroke-linejoin":"miter",visibility:E})):(ja.element&&ja.element.length?($=D.graphics.element=ja.element.shift(),$.show()):($=D.graphics.element=T.rect(y,W),pa=!0),$.attr(y),$.animateWith(J,S,{y:ea,height:X||1},R,B,A&&Aa),R?A=!1:na=qa=!0);$.shadow({opacity:Y},
ca).data("BBox",r);if(G||t)X<Pa&&(ea-=(Pa-X)/2,X=Pa),y={x:w,y:ea,width:O,height:X,r:oa,cursor:G?"pointer":p,stroke:s,"stroke-width":Z,fill:s,ishot:!0,visibility:E},D.graphics.hotElement?D.graphics.hotElement.attr(y):(ja.hotElement&&ja.hotElement.length?(G=D.graphics.hotElement=ja.hotElement.shift(),G.show()):(G=D.graphics.hotElement=T.rect(y,ba),pa=!0),G.attr(y));G=D.graphics.hotElement;(G||$).data("eventArgs",M).data("groupId",void 0).data("showHoverEffect",c).data("setRolloverAttr",P).data("setRolloutAttr",
F);pa&&(G||$).click(sa).hover(ta($),ya($));t?(G||$).tooltip(Wa):(G||$).tooltip(!1)}Ga&&b.remove();na&&b.drawLabel();qa&&b.drawErrorValue()},show:function(){var b=this.graphics&&this.graphics.container,g=this.graphics&&this.graphics.trackerContainer,e=this.graphics&&this.graphics.dataLabelContainer,c=this.graphics&&this.graphics.shadowContainer,h=this.graphics&&this.graphics.errorGroupContainer,f=this.graphics&&this.graphics.errorTrackerContainer,a=this.graphics&&this.graphics.errorShadowContainer,
k=this.chart.is3D,d=this.components.data,w=this.chart.config.categories,y=this.yAxis,q=this.chart,w=C(this.JSONData.data&&this.JSONData.data.length,w&&w.length);q._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(k)for(b=0;b<w;b++)d[b].graphics.element&&d[b].graphics.element.attr({visibility:"visible"}),d[b].graphics.hotElement&&d[b].graphics.hotElement.attr({visibility:"visible"});else b.show(),g.show();c.show();e&&e.show();h&&h.show();f&&f.show();a&&a.show();q._setAxisLimits();y.draw();
q._drawDataset()},hide:function(){var b=this.yAxis,g=this.chart;g._chartAnimation();this.visible=!1;g._setAxisLimits();b.draw();g._drawDataset()},drawErrorValue:function(){var b=this.config,g=this.chart.config.categories,e=this.JSONData.data,c=g&&g.length,h=e&&e.length,f,a=this.visible,k=this.chart,d=k.graphics.columnGroup,e=k.components.paper,g=k.components.yAxis[0],w=this.components.data,y=this.groupManager.getDataSetPosition(this).height,q=k.get("config","animationObj"),E=q.animType,ha=q.animObj,
T=q.dummyObj,q=q.duration,Qa=b.errorBarThickness,m=b.errorBarWidthPercent,ea=b.errorBarColor,r=b.showTooltip,b=b.shadowOpacity,A=this.graphics.errorGroupContainer,ka=this.graphics.errorTrackerContainer,H=this.graphics.errorShadowContainer,u=k.graphics.trackerGroup,t,v,z,I,L,Q,x,B,R,S,D,O,X,J=function(b){za.call(this,k,b)},F=function(b){za.call(this,k,b,"DataPlotRollOver")},$=function(b){za.call(this,k,b,"DataPlotRollOut")},G=function(b){return function(){void 0!==b&&k.linkClickFN.call({link:b},k)}};
A||(A=this.graphics.errorGroupContainer=e.group("errorBar",d),a||A.hide());ka||(ka=this.graphics.errorTrackerContainer=e.group("error-hot",u),a||ka.hide());H||(H=this.graphics.errorShadowContainer=e.group("error-shadow",d).toBack(),a||H.hide());c=C(c,h);for(h=0;h<c;h++)if(z=(u=(d=w[h])&&d.config)&&u.setValue,!d||void 0!==z&&null!==z||(d.graphics.element&&(d.graphics.element.hide(),d.graphics.element.shadow(!1)),d.graphics.hotElement&&d.graphics.hotElement.hide(),d.graphics.error&&d.graphics.error[0]&&
(d.graphics.error[0].hide(),d.graphics.error[0].shadow({opacity:0})),d.graphics.error&&d.graphics.error[1]&&(d.graphics.error[1].hide(),d.graphics.error[1].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[0]&&(d.graphics.errorTracker[0].hide(),d.graphics.errorTracker[0].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&(d.graphics.errorTracker[1].hide(),d.graphics.errorTracker[1].shadow({opacity:0}))),void 0!==d&&void 0!==z&&null!==z)if(B=u.errorValueArr,
R=B.length,!d.graphics.error&&(d.graphics.error=[]),!d.graphics.errorTracker&&(d.graphics.errorTracker=[]),u.errorValue===p||void 0===u.errorValue||null===u.errorValue&&null===u.positiveErrorValue&&null===u.negativeErrorValue)d.graphics.error&&d.graphics.error[0]&&(d.graphics.error[0].hide(),d.graphics.error[0].shadow({opacity:0})),d.graphics.error&&d.graphics.error[1]&&(d.graphics.error[1].hide(),d.graphics.error[1].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[0]&&(d.graphics.errorTracker[0].hide(),
d.graphics.errorTracker[0].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&(d.graphics.errorTracker[1].hide(),d.graphics.errorTracker[1].shadow({opacity:0}));else{a=u.setLink;S=0>z;t=d._oriXPos;D=d._oriYPos;O=d._oriWidth;X=d._oriHeight;z=S?D+X:D;for(v=t+O/2;R--;)if(Q=I=null,Q=B[R],t=Q.tooltext,f=z,I=Q.errorValue,null===I||isNaN(I))d.graphics.error&&d.graphics.error[R]&&(d.graphics.error[R].hide(),d.graphics.error[R].shadow({opacity:R})),d.graphics.errorTracker&&d.graphics.errorTracker[R]&&
(d.graphics.errorTracker[R].hide(),d.graphics.errorTracker[R].shadow({opacity:R}));else{Q=m/100*O;Q/=2;L=0===y?0:1;x=D+(g.getAxisPosition(0)-g.getAxisPosition(1))*I*L;S&&(x+=X);I=x;L=v;I=ga(x)+Qa%2/2;L=ga(v)+Qa%2/2;Q=["M",L,f,"V",I,"M",L-Q,I,"H",L+Q];d.graphics.error[R]?(f={path:Q},I=d.graphics.error[R],I.animateWith(T,ha,f,q,E),I.attr({stroke:ea,ishot:!r,"stroke-width":Qa,cursor:a?"pointer":p,"stroke-linecap":"round"})):I=d.graphics.error[R]=e.path(Q,A).attr({stroke:ea,ishot:!r,"stroke-width":Qa,
cursor:a?"pointer":p,"stroke-linecap":"round"});I.show();I.shadow({opacity:b},H);f={path:Q,stroke:s,"stroke-width":Qa<Pa?Pa:Qa,cursor:a?"pointer":p,ishot:!!a};if(d.graphics.errorTracker[R])d.graphics.errorTracker[R].show(),d.graphics.errorTracker[R].attr(f);else if(a||r)Q=d.graphics.errorTracker[R]=e.path(ka).attr(f);f=d.graphics.element&&(d.graphics.element.data("eventArgs")||d.graphics.hotElement.data("eventArgs"));(Q=d.graphics.errorTracker[R])&&Q.data("eventArgs",f);Q&&Q.click(J).data("groupId",
void 0).hover(F,$);r?Q&&Q.tooltip(t):Q&&Q.tooltip(!1);(a||r)&&Q&&Q.click(G(a))}u.notHalfErrorBar||(d.graphics.error&&d.graphics.error[1]&&d.graphics.error[1].hide()&&d.graphics.error[1].shadow({opacity:0}),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&d.graphics.errorTracker[1].hide()&&d.graphics.errorTracker[1].shadow({opacity:0}))}},remove:function(){var b=this.components,g=b.removeDataArr,e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=g.length,h,f=this.maxminFlag,a,d;for(d=0;d<
c;d++)h=g[0],g.splice(0,1),h&&h.graphics&&(a=h.graphics,a.element&&a.element.hide()&&a.element.shadow({opacity:0}),a.error&&a.error[0]&&a.error[0].hide()&&a.error[0].shadow({opacity:0}),a.error&&a.error[1]&&a.error[1].hide()&&a.error[1].shadow({opacity:0}),a.errorTracker&&a.errorTracker[0]&&a.errorTracker[0].hide()&&a.errorTracker[0].shadow({opacity:0}),a.errorTracker&&a.errorTracker[1]&&a.errorTracker[1].hide()&&a.errorTracker[1].shadow({opacity:0}),a.hotElement&&a.hotElement.hide()&&a.hotElement.attr({width:0}),
h.graphics.element&&(e.element=e.element.concat(h.graphics.element)),h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement)),h.graphics.label&&(e.label=e.label.concat(h.graphics.label)));b.pool=e;f&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["datasetGroup","errorbar2d",{},xa]);K("errorline",{friendlyName:"Error Line Chart",useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,creditLabel:!1,defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,canvasPaddingModifiers:["anchor",
"errorbar"],defaultDatasetType:"errorline",applicableDSList:{errorline:!0}},K.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});FusionCharts.register("component",["dataset","ErrorLine",{type:ra,ErrorValueConfigure:function(){var b=this.chart,g=this.config,e=g.parentYAxis,c=this.JSONData,h=c.data,f=b.jsonData.chart,n=b.components.xAxis[0].getCategoryLen(),k=v.parseUnsafeString,l,w,y,q=this.components.data,b=b.components.numberFormatter,E,ha,T,s,m=g.lineThickness,ea=-Infinity,
r=Infinity,A,ka=k(f.yaxisname),H=k(f.xaxisname),u=d(f.tooltipsepchar,", "),t,z,x,I=a(f.seriesnameintooltip,1),L=function(b){g.showTooltip?null===T?b=!1:void 0!==b?(t=[1,2,3,4,5,6,7,99,100,101,102],z={yaxisName:ka,xaxisName:H,formattedValue:y.toolTipValue,errorValue:ha,errorDataValue:y.errorToolTipValue,errorPercentValue:y.errorPercentValue,errorPercentDataValue:y.errorPercentValue,label:y.label},b=Ba(b,t,z,l,f,c)):(I&&(x=na(c&&c.seriesname)),b=x?x+u:p,b+=y.label?y.label+u:p):b=!1;return b};g.errorBarShadow=
s=a(f.errorbarshadow,f.showshadow,1);g.ignoreEmptyDatasets=a(c.ignoreemptydatasets,0);A=a(f.halferrorbar,1);g.notHalfErrorBar=!a(f.halferrorbar,1);E=$a(d(c.errorbaralpha,f.errorbaralpha,g.lineAlpha));g.errorBarWidth=a(c.errorbarwidth,f.errorbarwidth,5);g.errorBarColor=aa(Ha(d(c.errorbarcolor,f.errorbarcolor,"AAAAAA")),E);w=a(c.errorbarthickness,f.errorbarthickness,1);g.errorBarThickness=w>m?m:w;g.shadowOpacity=s?E/250:0;for(E=0;E<n;E++)h&&(l=h&&h[E],y=(w=q[E])&&w.config,w||(w=q[E]={graphics:{}}),
w.config||(y=q[E].config={}),m=y.setValue,ha=b.getCleanValue(l.errorvalue),y.errorToolTipValue=b.dataLabels(ha,e),ga(ha/m*La*La),y.hasErrorValue=void 0!==a(l.errorvalue)?1:0,ha=b.getCleanValue(l.errorvalue),T=w=y.errorToolTipValue,w=F(k(d(l.errorplottooltext,c.errorplottooltext,f.errorplottooltext,T))),y.errorValue=l.errorvalue,s=m+ha,m-=A?0:ha,ea=J(ea,s,m),r=C(r,s,m),w=L(w),y.errorValueArr=[],y.errorValueArr.push({errorValue:-ha,tooltext:w}),g.notHalfErrorBar&&y.errorValueArr.push({errorValue:ha,
tooltext:w}),y.toolText=L(y.setTooltext));g.maxValue=ea;g.minValue=r},init:function(b){var g=this.chart,e=g.components,c=g.isDual;this.chart=g;this.yAxis=c?e.yAxis[this.yAxis||0]:e.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},show:function(){var b=this.chart,g=this.yAxis,e=this.graphics&&this.graphics.container,c=this.graphics&&this.graphics.trackerContainer,h=this.graphics&&this.graphics.dataLabelContainer,
f=this.graphics&&this.graphics.errorGroupContainer,a=this.graphics&&this.graphics.errorTrackerContainer,d=this.graphics&&this.graphics.errorShadowContainer;b._chartAnimation();e.lineGroup.show();e.anchorGroup.show();e.anchorShadowGroup.show();e.lineShadowGroup.show();c.show();h.show();this.visible=!0;f&&f.show();a&&a.show();d&&d.show();this._conatinerHidden=!1;b._setAxisLimits();g.draw();b._drawDataset()},hide:function(){var b=this.chart,g=this.yAxis;b._chartAnimation();this.visible=!1;b._setAxisLimits();
g.draw();b._drawDataset()},drawErrorValue:function(){var b=this.config,g=this.chart,e=g.graphics.datasetGroup,c=g.components,h=c.xAxis[0].getCategoryLen(),f,a,d=this.visible,c=c.paper,l=this.yAxis,w=this.components.data,y=g.get("config","animationObj"),q=y.animType,E=y.animObj,ha=y.dummyObj,y=y.duration,T=b.errorBarThickness,m=b.errorBarWidth,r=b.errorBarColor,ea=b.showTooltip,u=b.shadowOpacity,A=this.graphics.container.lineGroup,ka=this.graphics.errorGroupContainer,H=this.graphics.errorTrackerContainer,
t=this.graphics.errorShadowContainer;a=g.graphics.trackerGroup;var v=this.graphics.trackerContainer,z,x,I,L,Q,B,C,R,S,D=function(b){za.call(this,g,b)},O=function(b){za.call(this,g,b,"DataPlotRollOver")},X=function(b){za.call(this,g,b,"DataPlotRollOut")},J=function(b){return function(){void 0!==b&&g.linkClickFN.call({link:b},g)}};ka||(ka=this.graphics.errorGroupContainer=c.group("errorBar",e).insertAfter(A),d||ka.hide());H||(H=this.graphics.errorTrackerContainer=c.group("error-hot",a).insertBefore(v),
d||H.hide());t||(t=this.graphics.errorShadowContainer=c.group("error-shadow",e).insertBefore(ka),d||t.hide());for(e=0;e<h;e++)if(a=(z=(A=w[e])&&A.config)&&z.setValue,void 0===A||void 0===a||null===a){if(A.graphics.error)for(a=0;a<A.graphics.error.length;a++)A.graphics.error[a].hide(),A.graphics.errorTracker[a].hide(),A.graphics.error[a].shadow(!1)}else if(a=z.errorValueArr,v=a.length,!A.graphics.error&&(A.graphics.error=[]),!A.graphics.errorTracker&&(A.graphics.errorTracker=[]),z.errorValue===p||
void 0===z.errorValue)A.graphics.error&&A.graphics.error[0]&&(A.graphics.error[0].hide(),A.graphics.error[0].shadow({opacity:0})),A.graphics.error&&A.graphics.error[1]&&(A.graphics.error[1].hide(),A.graphics.error[1].shadow({opacity:0}));else{z=z.setLink;x=A._xPos;L=S=A._yPos;for(I=x;v--;){C=Q=null;C=a[v];x=C.tooltext;f=L;B=C.errorValue;C=m/2;Q=d?1:0;Q=R=S+(l.getAxisPosition(0)-l.getAxisPosition(1))*B*Q;B=I;Q=ga(R)+T%2/2;B=ga(I)+T%2/2;C=["M",B,f,"V",Q,"M",B-C,Q,"H",B+C];A.graphics.error[v]?(f={path:C},
Q=A.graphics.error[v],Q.animateWith(ha,E,f,y,q),Q.attr({stroke:r,ishot:!ea,"stroke-width":T,cursor:z?"pointer":p,"stroke-linecap":"round"})):Q=A.graphics.error[v]=c.path(C,ka).attr({stroke:r,ishot:!ea,"stroke-width":T,cursor:z?"pointer":p,"stroke-linecap":"round"});Q.show();Q.shadow({opacity:u},t);f={path:C,stroke:s,"stroke-width":T<Pa?Pa:T,cursor:z?"pointer":p,ishot:!!z};if(A.graphics.errorTracker[v])A.graphics.errorTracker[v].attr(f);else if(z||ea)C=A.graphics.errorTracker[v]=c.path(H).attr(f);
f=A.graphics.element&&A.graphics.element.data("eventArgs")||A.graphics.hotElement&&A.graphics.hotElement.data("eventArgs");(C=A.graphics.errorTracker[v])&&C.show();C&&C.data("eventArgs",f);C&&C.click(D).data("groupId",void 0).hover(O,X);ea?C&&C.tooltip(x):C&&C.tooltip(!1);(z||ea)&&C&&C.click(J(z))}b.notHalfErrorBar||(A.graphics.error&&A.graphics.error[1]&&A.graphics.error[1].hide()&&A.graphics.error[1].shadow({opacity:0}),A.graphics.errorTracker&&A.graphics.errorTracker[1]&&A.graphics.errorTracker[1].hide()&&
A.graphics.errorTracker[1].shadow({opacity:0}))}},manageSpace:function(){var b=.5*this.config.errorBarWidth,g=this.chart,e=g.config.dataLabelStyle,c=(this.components||{}).data||[],h=c[0],c=c[c.length-1],f,d;f={};var k,l,w,y=g.linkedItems.smartLabel,q={paddingLeft:0,paddingRight:0};h&&(h=h.config,w=h.showValue,d=h&&h.anchorProps||{},w&&(f=h.displayValue,y.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),y.setStyle(e),f=y.getOriSize(f)),h.setValue&&(k=J(a(d.radius,0),b)+a(d.borderThickness,0),
l=(f.width||0)/2),q.paddingLeft=J(k,l));c&&(h=c.config,w=h.showValue,d=h&&h.anchorProps||{},w&&(f=h.displayValue,y.setStyle(e),f=y.getOriSize(f)),h.setValue&&(k=J(a(d.radius,0),b)+a(d.borderThickness,0),l=(f.width||0)/2),q.paddingRight=J(k,l));return q},_removeDataVisuals:function(b){b&&(b=b.graphics,b.element&&b.element.hide()&&b.element.shadow({opacity:0}),b.error&&b.error[0]&&b.error[0].hide()&&b.error[0].shadow({opacity:0}),b.error&&b.error[1]&&b.error[1].hide()&&b.error[1].shadow({opacity:0}),
b.errorTracker&&b.errorTracker[0]&&b.errorTracker[0].hide()&&b.errorTracker[0].shadow({opacity:0}),b.errorTracker&&b.errorTracker[1]&&b.errorTracker[1].hide()&&b.errorTracker[1].shadow({opacity:0}),b.hotElement&&b.hotElement.hide()&&b.hotElement.attr({width:0}))}},ra]);K("errorscatter",{friendlyName:"Error Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:!1,defaultDatasetType:"errorscatter",applicableDSList:{errorscatter:!0},defaultZeroPlaneHighlighted:!1,useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,
initAnimation:!0},K.scatterBase);FusionCharts.register("component",["dataset","ErrorScatter",{ErrorValueConfigure:function(){var b=this.chart,g=b.components,e=this.config,c=this.JSONData,h=b.config.categories,f=b.jsonData.chart,n=c.data,k=g.xAxis[0].getCategoryLen(),k=n&&n.length||k,l=v.parseUnsafeString,w,y,q,E=this.components.data,ha=g.numberFormatter,T,p,s,m,r,A,ka,H,u,t,z,x,I,L,Q=d(f.tooltipsepchar,", "),D=l(f.yaxisname),V=l(f.xaxisname),R=e.parentYAxis,S,M,O,X,Wa,U,$,G,N,K=-Infinity,P=Infinity,
la=Infinity,Z=-Infinity,ma=function(b,g){var h;e.showTooltip?null===M?h=!1:void 0!==b?(Wa=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],U={yaxisName:D,xaxisName:V,yDataValue:M,xDataValue:q.label,formattedValue:q.toolTipValue,horizontalErrorValue:u,horizontalErrorDataValue:z,verticalErrorValue:t,verticalErrorDataValue:I,horizontalErrorPercent:O,verticalErrorPercent:X,label:q.label,errorValue:g,errorDataValue:g,errorPercentValue:q.errorPercentValue,errorPercentDataValue:q.errorPercentValue},
h=Ba(b,Wa,U,w,f,c)):null===M?h=!1:(e.seriesNameInTooltip&&($=v.getFirstValue(c&&c.seriesname)),h=$?$+Q:B,h+=S.x?ha.xAxis(S.x)+Q:B,h+=q.toolTipValue):h=!1;return h};e.errorBarShadow=g=a(f.errorbarshadow,f.showshadow,0);e.ignoreEmptyDatasets=a(c.ignoreemptydatasets,0);e.notHalfErrorBar=!a(f.halferrorbar,1);e.errorBarAlpha=$a(d(c.errorbaralpha,f.errorbaralpha));e.errorBarWidth=p=a(c.errorbarwidth,f.errorbarwidth,5);e.errorBarColor=s=aa(Ha(d(c.errorbarcolor,f.errorbarcolor,"AAAAAA")),void 0);e.errorBarThickness=
T=a(c.errorbarthickness,f.errorbarthickness,1);e.shadowOpacity=g?NaN:0;e.halfHorizontalErrorBar=m=a(f.halfhorizontalerrorbar,1);e.halfVerticalErrorBar=r=a(f.halfverticalerrorbar,1);void 0===e.initAnimation&&(e.initAnimation=b.initAnimation);b=d(c.horizontalerrorbaralpha,c.errorbaralpha,f.horizontalerrorbaralpha,void 0);A=a(c.verticalerrorbaralpha,c.errorbaralpha,f.verticalerrorbaralpha,void 0);ka=aa(d(c.horizontalerrorbarcolor,c.errorbarcolor,f.horizontalerrorbarcolor,s),b);s=aa(d(c.verticalerrorbarcolor,
c.errorbarcolor,f.verticalerrorbarcolor,s),A);H=a(c.horizontalerrorbarthickness,c.errorbarthickness,f.horizontalerrorbarthickness,T);T=a(c.verticalerrorbarthickness,c.errorbarthickness,f.verticalerrorbarthickness,T);e.horizontalErrorBarWidth=a(c.horizontalerrorbarwidth,f.horizontalerrorbarwidth,p);e.verticalErrorBarWidth=a(c.verticalerrorbarwidth,f.verticalerrorbarwidth,p);for(p=0;p<k;p++)n&&(w=n&&n[p],q=(y=E[p])&&y.config,y||(y=E[p]={graphics:{}}),y.config||(q=E[p].config={}),y=ha.getCleanValue(w.errorvalue),
S=q.setValue,q.errorValue=w.errorvalue,q.hErrorValue=u=ha.getCleanValue(d(w.horizontalerrorvalue,w.errorvalue)),q.vErrorValue=t=ha.getCleanValue(d(w.verticalerrorvalue,w.errorvalue)),z=ha.dataLabels(u,R),x=F(l(d(w.errorplottooltext,c.errorplottooltext,f.errorplottooltext,z))),I=ha.dataLabels(t,e.parentYAxis),L=F(l(d(w.errorplottooltext,c.errorplottooltext,f.errorplottooltext,I))),h&&h[p]&&(q.label=F(l(d(h[p].tooltext,h[p].label)))),null!==S.x&&(G=S.x+Number(u),N=S.x-(m?0:Number(u)),Z=J(Z,G,N),la=
C(la,G,N)),null!==S.y&&(G=S.y+Number(t),N=S.y-(r?0:Number(t)),K=J(K,G,N),P=C(P,G,N)),q.useHorizontalErrorBar=a(w.usehorizontalerrorbar,c.usehorizontalerrorbar,f.usehorizontalerrorbar,0),q.useVerticalErrorBar=a(w.useverticalerrorbar,c.useverticalerrorbar,f.useverticalerrorbar,1),q.errorValueArr=[],q.errorValueArr.push({errorValue:-u,tooltext:ma(x,z),errorBarColor:ka,isHorizontal:1,errorBarThickness:H,shadowOpacity:g?b/250:0}),q.errorValueArr.push({errorValue:u,tooltext:ma(x,z),errorBarColor:ka,isHorizontal:1,
errorBarThickness:H,shadowOpacity:g?b/250:0}),q.errorValueArr.push({errorValue:-t,tooltext:ma(L,I),errorBarColor:s,errorBarThickness:T,shadowOpacity:g?A/250:0}),q.errorValueArr.push({errorValue:t,tooltext:ma(L,I),errorBarColor:s,errorBarThickness:T,shadowOpacity:g?A/250:0}),S=q.setValue,ga(y/S*La*La),O=ga(u/S*La*La)/La+"%",X=ga(t/S*La*La)/La+"%",M=q.formatedVal,e.showTooltip?void 0!==q.setTooltext?(Wa=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],U={yaxisName:D,xaxisName:V,yDataValue:M,
xDataValue:q.label,formattedValue:q.toolTipValue,horizontalErrorValue:u,horizontalErrorDataValue:z,verticalErrorValue:t,verticalErrorDataValue:I,horizontalErrorPercent:O,verticalErrorPercent:X,label:q.label},y=Ba(q.setTooltext,Wa,U,w,f,c)):null===M?y=!1:(e.seriesNameInTooltip&&($=v.getFirstValue(c&&c.seriesname)),y=$?$+Q:B,y+=S.x?ha.xAxis(S.x)+Q:B,y+=q.toolTipValue):y=!1,q.toolText=y);e.xMax=Z;e.xMin=la;e.yMin=P;e.yMax=K},drawErrorValue:function(){var b=this.chart,g=b.components,e=this.parentContainer,
c=this.config,h=this.JSONData.data,h=h&&h.length,f,d=this.visible,k=g.paper,g=g.xAxis[0],l=this.yAxis,w=this.components.data,y,q,E,ha,T=b.graphics,m=c.showTooltip,r=c.shadowOpacity,ea=b.get("config","animationObj"),u=ea.animType,A=ea.animObj,ka=ea.dummyObj,ea=ea.duration,H=this.graphics.container.lineGroup,t=this.graphics.errorGroupContainer,v=this.graphics.errorTrackerContainer,z=this.graphics.errorShadowContainer,x=this.graphics.trackerContainer,I=T.trackerGroup,L,B,C,V,R,S,D,O,J,F,T=function(c){za.call(this,
b,c)},M=function(c){za.call(this,b,c,"DataPlotRollOver")},$=function(c){za.call(this,b,c,"DataPlotRollOut")},G=function(c){return function(){void 0!==c&&b.linkClickFN.call({link:c},b)}};t||(t=this.graphics.errorGroupContainer=k.group("errorBar",e).insertAfter(H),d||t.hide());v||(v=this.graphics.errorTrackerContainer=k.group("error-hot",I).insertBefore(x),d||v.hide());z||(z=this.graphics.errorShadowContainer=k.group("error-shadow",e).insertBefore(t),d||z.hide());for(e=0;e<h;e++)if(L=(x=(H=w[e])&&H.config)&&
x.setValue,I=x.errorValueArr,void 0!==H&&void 0!==L&&null!==L&&I&&(D=I.length,!H.graphics.error&&(H.graphics.error=[]),!H.graphics.errorTracker&&(H.graphics.errorTracker=[]),null===x.vErrorValue&&(H.graphics.error&&H.graphics.error[0]&&(H.graphics.error[0].hide(),H.graphics.error[0].shadow({opacity:0})),H.graphics.error&&H.graphics.error[1]&&(H.graphics.error[1].hide(),H.graphics.error[1].shadow({opacity:0}))),null===x.hErrorValue&&(H.graphics.error&&H.graphics.error[2]&&(H.graphics.error[2].hide(),
H.graphics.error[2].shadow({opacity:0})),H.graphics.error&&H.graphics.error[3]&&(H.graphics.error[3].hide(),H.graphics.error[3].shadow({opacity:0}))),null!==x.hErrorValue||null!==x.vErrorValue))for(L=x.setLink,O=H._xPos,V=J=H._yPos,C=O,F=0;F<D;F++)if(!x.useHorizontalErrorBar&&(0===F||1===F)||!x.useVerticalErrorBar&&(2===F||3===F)||1===F&&c.halfHorizontalErrorBar||3===F&&c.halfVerticalErrorBar)H.graphics.error&&H.graphics.error[F]&&H.graphics.error[F].hide()&&H.graphics.error[F].shadow({opacity:0}),
H.graphics.errorTracker&&H.graphics.errorTracker[F]&&H.graphics.errorTracker[F].hide()&&H.graphics.errorTracker[F].shadow({opacity:0});else{q=y=null;q=I[F];B=q.tooltext;f=V;R=q.errorValue;ha=q.errorBarColor;y=a(q.isHorizontal,0);q=a(q.errorBarThickness,c.errorBarThickness,1);E=y?c.horizontalErrorBarWidth:c.verticalErrorBarWidth;E=d?E/2:0;S=d?1:0;y?(y=S=O+(g.getAxisPosition(0)-g.getAxisPosition(1))*R*S,R=C,y=ga(f)+q%2/2,R=ga(S)+q%2/2,E=["M",C,y,"H",R,"M",R,y-E,"V",y+E]):(y=S=J+(l.getAxisPosition(0)-
l.getAxisPosition(1))*R*S,R=C,y=ga(S)+q%2/2,R=ga(C)+q%2/2,E=["M",R,f,"V",y,"M",R-E,y,"H",R+E]);H.graphics.error[F]?(y=H.graphics.error[F],f={path:E,"stroke-width":d?q:0},y.animateWith(ka,A,f,ea,u),y.attr({stroke:ha,ishot:!m,cursor:L?"pointer":p,"stroke-linecap":"round"})):(y=H.graphics.error[F]=k.path(E,t).attr({stroke:ha,ishot:!m,"stroke-width":q,cursor:L?"pointer":p,"stroke-linecap":"round"}),c.initAnimation&&y.attr({opacity:0}).animateWith(ka,A,{opacity:1},ea,u));y.show();y.shadow({opacity:r},
z);f={path:E,stroke:s,"stroke-width":d?q<Pa?Pa:q:0,cursor:L?"pointer":p,ishot:!!L};if(H.graphics.errorTracker[F])H.graphics.errorTracker[F].attr(f);else if(L||m)q=H.graphics.errorTracker[F]=k.path(v).attr(f);ha=H.graphics.element&&H.graphics.element.data("eventArgs")||H.graphics.hotElement&&H.graphics.hotElement.data("eventArgs");(q=H.graphics.errorTracker[F])&&q.show();q&&q.data("eventArgs",ha);q&&q.click(T).data("groupId",void 0).hover(M,$);m?q&&q.tooltip(B):q&&q.tooltip(!1);(L||m)&&q.click(G(L))}c.initAnimation=
!1},show:function(){var b=this.chart,g=this.yAxis,e=this.graphics&&this.graphics.errorGroupContainer,c=this.graphics&&this.graphics.errorTrackerContainer,h=this.graphics&&this.graphics.errorShadowContainer;b._chartAnimation();this.visible=!0;this._conatinerHidden=!1;e&&e.show();c&&c.show();h&&h.show();b._setAxisLimits();g.draw();this.draw()},remove:function(){var b=this.components,g=b.removeDataArr,e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=g.length,h,f=this.maxminFlag,a,d,l;for(d=0;d<
c;d++)if(h=g[0],g.splice(0,1),h&&h.graphics){a=h.graphics;a.element&&a.element.hide()&&a.element.shadow({opacity:0});for(l=0;4>l;l++)a.error&&a.error[l]&&a.error[l].hide()&&a.error[l].shadow({opacity:0}),a.errorTracker&&a.errorTracker[l]&&a.errorTracker[l].hide()&&a.errorTracker[l].shadow({opacity:0});a.hotElement&&a.hotElement.hide()&&a.hotElement.attr({width:0});h.graphics.element&&(e.element=e.element.concat(h.graphics.element));h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement));
h.graphics.label&&(e.label=e.label.concat(h.graphics.label))}b.pool=e;f&&this.setMaxMin()}},"Scatter"]);FusionCharts.register("component",["dataset","MSStepLine",{type:"stepline",configure:function(){var b=this.JSONData,g=this.config,e=this.chart.jsonData.chart;this.__base__.configure.call(this);g.drawVerticalJoins=a(e.drawverticaljoins,1);g.useForwardSteps=a(e.useforwardsteps,1);g.shadow={opacity:a(e.showshadow,1)?g.lineAlpha/100:0};this.visible=1===a(b.visible,!Number(b.initiallyhidden),1);this._addLegend()},
init:function(b){var g=this.chart,e=g.components;this.chart=g;this.yAxis=e.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},_addLegend:function(){var b=this.config,g=this.chart.components.legend,e=a(b.drawAnchors,1),b={enabled:b.includeInLegend,type:ra,drawLine:!0,fillColor:z({color:b.anchorBgColor,alpha:b.anchorBgAlpha}),strokeColor:z({color:d(b.lineColor,b.anchorBorderColor),alpha:d(b.lineAlpha,b.anchorBorderAlpha)}),anchorSide:e?b.anchorSides:0,strokeWidth:b.anchorBorderThickness,
label:na(this.JSONData.seriesname)};this.legendItemId=g.addItems(this,this.legendInteractivity,b)},draw:function(){var b=this,g=b.JSONData,e=b.chart,c=e.components,h=b.config,f=b.index||b.positionIndex,a,k,l=c.paper,w=c.xAxis[0],y=b.yAxis,q,E,ha=e.graphics;a=ha.datalabelsGroup;var T,m,r,ea,u,A,ka=b.components.data,H,t,v,x=e.config.style,B=b.components.removeDataArr||[],I=B.length;k={fontFamily:x.fontFamily,fontSize:x.fontSize,lineHeight:x.lineHeight,fontWeight:x.fontWeight,fontStyle:x.fontStyle,color:x.color};
var x=h.lineThickness,L=b.graphics.container,C=b.graphics.trackerContainer;q=ha.trackerGroup;var D=h.connectNullData,V=ha.datasetGroup,R,ha=h.shadow,S,F=b.graphics.dataLabelContainer,O={},X,O=e.get("config","animationObj"),M=O.dummyObj,U=O.animObj,$=O.duration,G=b.components.pool||[],N,K=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(L.lineGroup.hide(),L.lineShadowGroup.hide(),L.anchorShadowGroup.hide(),L.anchorGroup.hide(),C.hide(),F&&F.hide(),b._conatinerHidden=
!0)},P=function(){V.lineConnector.attr({"clip-rect":null});V.lineConnector.node&&V.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(L.lineShadowGroup.show(),L.anchorShadowGroup.show(),L.anchorGroup.show(),C.show(),F&&F.show());e._animCallBack()},la=!0,Z,ma=y.getAxisBase(),ma=y.yBasePos=y.getAxisPosition(ma),Y=c.canvas.config.clip,c=Y["clip-canvas-init"].slice(0),Y=Y["clip-canvas"].slice(0),W=h.lineDashStyle,oa={color:h.lineColor,alpha:h.lineAlpha},ba,ga,va,ca,aa=[],da=0,ia=[],na=null,
ja,pa=[],qa=!1,za,Ga=b.graphics.lineElement,ta=b.visible,ya=h.drawVerticalJoins,ua=h.useForwardSteps,sa,Aa=O.animType,Ha;V.lineConnector=V.lineConnector||l.group("line-connector",V);L||(L=b.graphics.container={lineShadowGroup:l.group("connector-shadow",V.lineConnector),anchorShadowGroup:l.group("anchor-shadow",V.lineConnector),lineGroup:l.group(ra,V.lineConnector),anchorGroup:l.group("anchors",V.lineConnector)},ta||(L.lineShadowGroup.hide(),L.anchorShadowGroup.hide(),L.lineGroup.hide(),L.anchorGroup.hide()));
C||(C=b.graphics.trackerContainer=l.group("line-hot",q),ta||C.hide());ka||(ka=b.components.data=[]);e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",k);F||(F=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||l.group("datalabel",a),ta||F.hide());ta&&(L.lineShadowGroup.show(),L.anchorShadowGroup.show(),L.lineGroup.show(),L.anchorGroup.show(),C.show(),F.show());a=w.getCategoryLen();for(k=0;k<a;k++)if(H=ka[k])X=H.config,u=X.setValue,ea=X.setLink,T=X.setLevelTooltext,N=X.showValue,
O=X.anchorProps,t=O.symbol,S=O.shadow,A=X.displayValue,m=H.graphics.element,v=H.graphics.image,r=H.graphics.hotElement,sa=H.graphics.label,H||(H=ka[k]={graphics:{}}),null===u?(pa.length=0,D||(na=null),m&&m.hide(),v&&v.hide(),sa&&sa.hide(),r&&r.hide()):(ca={color:X.color,alpha:X.alpha},Z=X.dashStyle,q=w.getAxisPosition(k),E=!b.visible&&$?ma:y.getAxisPosition(u),R=X.hoverEffects,O.isAnchorHoverRadius=R.anchorRadius,Ha=w.getLabel(k),T=T=X.toolText+(T?p:X.toolTipValue),u={index:k,link:ea,value:u,displayValue:A,
categoryLabel:Ha,toolText:T,id:h.userID,datasetIndex:f,datasetName:g.seriesname,visible:ta},A=!1,O.imageUrl?(H._xPos=q,H._yPos=E,S=new Ka,S.onload=this._onAnchorImageLoad(b,k,u,q,E),S.onerror=this._onErrorSetter(q,E,k,b),S.src=O.imageUrl):(v&&v.hide(),v=[t[1]||2,q,E,O.radius,O.startAngle,O.dip],t={fill:z({color:O.bgColor,alpha:O.bgAlpha}),stroke:z({color:O.borderColor,alpha:O.borderAlpha}),"stroke-width":O.borderThickness,visibility:O.radius?ta:"hidden"},m||(G.element&&G.element.length?m=H.graphics.element=
G.element.shift():(A=!0,m=H.graphics.element=l.polypath(L.anchorGroup),m.attr({polypath:v}))),m.show().animateWith(M,U,{polypath:v},$,Aa,la&&K),m.attr(t).shadow(S,L.anchorShadowGroup),la=!1),S=H.graphics.connector,R.enabled&&(v={polypath:[R.anchorSides||2,q,E,R.anchorRadius,R.startAngle,R.dip],fill:z({color:R.anchorColor,alpha:R.anchorBgAlpha}),stroke:z({color:R.anchorBorderColor,alpha:R.anchorBorderAlpha}),"stroke-width":R.anchorBorderThickness},t={polypath:[O.sides,q,E,O.radius,O.startAngle,0],
fill:z({color:O.bgColor,alpha:O.bgAlpha}),stroke:z({color:O.borderColor,alpha:O.borderAlpha}),"stroke-width":O.borderThickness},m&&m.data("anchorRadius",O.radius).data("anchorHoverRadius",R.anchorRadius).data("setRolloverAttr",v).data("setRolloutAttr",t)),t=J(O.radius,R&&R.anchorRadius||0,Pa),ea={cx:q,cy:E,r:t,cursor:ea?"pointer":p,stroke:s,"stroke-width":O.borderThickness,fill:s,ishot:!0,visibility:ta},r||(G.hotElement&&G.hotElement.length?r=H.graphics.hotElement=G.hotElement.shift():(A=!0,r=H.graphics.hotElement=
l.circle(C))),r.show().attr(ea),A&&(r||m).click(b.getPlotClickFn(e)).hover(b.rolloverResponseSetter(H,e),b.rolloutResponseSetter(H,e)),(r||m).data("eventArgs",u).data("groupId",void 0).data("dataset",b).data("hoverEnabled",R.enabled).tooltip(T),va=va!==[z(ca||oa),Z||W].join(":"),null!==na?(pa.length&&(aa=aa.concat(pa),pa.length=0),aa.join(p)||aa.push("M",ja,na),ua?(aa.push("H",q),ya?aa.push("V",E):aa.push("M",q,E)):(ya?aa.push("V",E):aa.push("M",ja,E),aa.push("H",q)),va&&(da?ia=ia.concat(aa):(S||
(S=H.graphics.connector=l.path(L.lineGroup),qa=!0),S.animateWith(M,U,{path:aa},$,Aa,la&&K),S.attr({"stroke-dasharray":ga,"stroke-width":x,stroke:ba,"stroke-linecap":"round","stroke-linejoin":2<x?"round":"miter"}).shadow(za,L.lineShadowGroup),la=!1),aa=[]),va||S&&S.hide()):pa.push("M",q,E),ja=q,na=E,ba=z(ca||oa),za=ca?{opacity:ca&&ca.alpha/100}:ha,ga=Z||W,da=void 0===d(X.color,X.alpha,X.dashed)?1:0,va=[ba,ga].join(":"),H._xPos=q,H._yPos=E,N&&!O.imageUrl?N&&!O.imageUrl&&this.drawLabel(k):sa&&sa.hide());
aa.length&&(ia=ia.concat(aa));g={path:ia};t={"stroke-dasharray":W,"stroke-width":x,stroke:z(oa),"stroke-linecap":"round","stroke-linejoin":2<=x?"round":"miter"};Ga||(Ga=b.graphics.lineElement=l.path({path:ia},L.lineGroup),qa=!0);Ga.show().animateWith(M,U,g,$,Aa,la&&K);Ga.attr(t).shadow(ha,L.lineShadowGroup);la=!1;$&&ta&&qa&&(L.anchorGroup.hide(),L.lineShadowGroup.hide(),L.anchorShadowGroup.hide(),F.hide(),V.lineConnector.attr({"clip-rect":c}).animateWith(M,U,{"clip-rect":Y},$,"normal",P));for(k=0;k<
I;k++)b._removeDataVisuals(B.shift());b.drawn=!0}},ra]);FusionCharts.register("component",["dataset","multiaxisline",{type:"multiaxisline",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var b=this.chart,g=this.JSONData,e=this.config,c=b.config,h=b.components,f=b.jsonData,n=f.chart,k=f.axis[this.axisIndex],l=b.singleseries,f=FusionCharts.get("component",["dataset",ra]).prototype;f.configure.call(this);this.yAxis=h.yAxis[this.axisIndex];c.axesPadding=5;c.allowAxisShift=a(n.allowaxisshift,
1);c.allowSelection=a(n.allowselection,1);c.checkBoxColor=d(n.checkboxcolor,"#2196f3");c.axisConfigured=!0;e.lineThickness=a(g.linethickness,k.linethickness,n.linethickness,l?4:2);e.lineDashLen=a(g.linedashlen,k.linedashlen,n.linedashlen,5);e.lineDashGap=a(g.linedashgap,k.linedashgap,n.linedashgap,4);e.lineAlpha=a(g.alpha,k.linealpha,n.linealpha,La);e.lineColor=d(g.color,k.linecolor,k.color,n.linecolor,e.plotColor);e.legendSymbolColor=this.type===ra?e.lineColor:e.plotFillColor;h=a(g.dashed,k.linedashed,
n.linedashed);c=v.getDashStyle(e.lineDashLen,e.lineDashGap,e.lineThickness);e.anchorBorderColor=d(g.anchorbordercolor,n.anchorbordercolor,e.lineColor,e.plotColor);e.lineDashStyle=h?c:"none";f._setConfigure.call(this);!1!==b.hasLegend&&this._addLegend()},init:function(b){this.chart=this.chart;this.components={};this.conf={};this.graphics={};this.JSONData=b;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},legendInteractivity:function(b,g){var e=b.chart,
c=e.components.dataset,h=this.config,f=b.visible,a=g.config,d=g.graphics,l=h.itemHiddenStyle.color,h=h.itemStyle.color,w=a.fillColor,a=a.strokeColor,y=b.axisIndex,q=!0,E,e=e.config.axesArr.checkBox;f?b.hide():b.show();if(f){for(E in c)c.hasOwnProperty(E)&&c[E].visible&&c[E].axisIndex===y&&(q=!1);q&&e[y]&&e[y].checkbox.uncheck()}else e[y]&&e[y].checkbox.check();f?(d.legendItemSymbol&&d.legendItemSymbol.attr({fill:l,stroke:l}),d.legendItemText&&d.legendItemText.attr({fill:l}),d.legendIconLine&&d.legendIconLine.attr({stroke:l})):
(d.legendItemSymbol&&d.legendItemSymbol.attr({fill:w,stroke:a}),d.legendItemText&&d.legendItemText.attr({fill:h}),d.legendIconLine&&d.legendIconLine.attr({stroke:w}))}},ra]);K("waterfall2d",{standaloneInit:!0,friendlyName:"Waterfall Chart",creditLabel:!1,defaultDatasetType:"Waterfall2D",applicableDSList:{Waterfall2D:!0},singleseries:!0,hasLegend:!1,_dataSegregator:function(b){var g=[],e=[];Ua(b,function(b,h){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline?g.push(b):e.push({index:h,data:b})});
return{data:g,catData:e}}},K.sscartesian);K("multilevelpie",{standaloneInit:!0,friendlyName:"Multi-level Pie Chart",creditLabel:!1,defaultDatasetType:"multiLevelPie",applicableDSList:{multiLevelPie:!0},is3d:!0,hasLegend:!1,hasCanvas:!1,_createDatasets:function(){var b=this.components,g=this.jsonData,e=g.dataset||[],c=e.length,h,f,a=this.defaultDatasetType,k=this.applicableDSList,l;h=[];var w={};h=this.config.categories=g.category||[];g=h.length;!c&&g&&(e=h,c=g);g||this.setChartMessage();h=b.dataset||
(b.dataset=[]);for(b=0;b<c;b+=1)if(g=e[b],g.seriesname&&(g.seriesname=Z(g.seriesname)),f=g.parentyaxis||p,f=(f="s"===f.toLowerCase()?d(g.renderas,this.sDefaultDatasetType):d(g.renderas,a))&&f.toLowerCase(),k[f]||(f=a),l=FusionCharts.get("component",["dataset",f]))void 0===w[f]?w[f]=0:w[f]++,h[0]?(f=h[0],f.JSONData=g):(f=new l,h.push(f),f.chart=this,f.index=b),f.init(e)},_spaceManager:function(){this._manageChartMenuBar(.225*this.config.canvasHeight)}},K.guageBase);FusionCharts.register("component",
["dataset","multiLevelPie",{init:function(b){!this.components&&(this.components={data:[]});this.conf={};this.graphics={};this.JSONData=b;this.configure()},configure:function(){var b,g,e=this,c=e.chart,h=c.config,f=e.conf||(e.conf={}),n=f.dataLabelOptions||(f.dataLabelOptions={}),k=f.piePlotOptions,l=c.config.style,w=e.JSONData,c=c.jsonData.chart;b=f.enableAnimation=a(c.animation,c.defaultanimation,1);var y=a(-c.centerangle,180),q=a(c.totalangle,360);f.animation=b?{duration:1E3*a(c.animationduration,
c.moveduration,1)}:!1;f.showShadow=a(c.showshadow,0);b=f.useHoverColor=Boolean(a(c.usehovercolor,1));f.hoverFillColor=aa(d(c.hoverfillcolor,"FF5904"),a(c.hoverfillalpha,100));f.pierad=parseInt(c.pieradius,10);g=(g=na(c.valuebordercolor,B))?aa(g,a(c.valueborderalpha,c.valuebgalpha,c.valuealpha,100)):B;!n.style&&(n.style={fontFamily:d(c.valuefont,l.fontFamily),fontSize:a(c.valuefontsize,parseInt(l.fontSize,10))+"px",color:aa(d(c.valuefontcolor,l.color),a(c.valuefontalpha,c.valuealpha,100)),fontWeight:a(c.valuefontbold)?
"bold":"normal",fontStyle:a(c.valuefontitalic)?"italic":"normal",backgroundColor:c.valuebgcolor?aa(c.valuebgcolor,a(c.valuebgalpha,c.valuealpha,100)):B,border:g||c.valuebgcolor?a(c.valueborderthickness,1)+"px solid":B,borderPadding:a(c.valueborderpadding,2),borderThickness:a(c.valueborderthickness,l.borderThickness,1),borderRadius:a(c.valueborderradius,l.borderRadius,0),borderColor:g,borderDash:a(c.valueborderdashed,0)?ua(a(c.valueborderdashlen,4),a(c.valueborderdashgap,2),a(c.valueborderthickness,
1)):"none"});!k&&(k=f.piePlotOptions={});k.allowPointSelect=!1;f.borderColor=aa(d(c.plotbordercolor,c.piebordercolor,"FFFFFF"),"0"!=c.showplotborder?d(c.plotborderalpha,c.pieborderalpha,100):0);f.showTooltip=a(c.showtooltip,1);f.borderWidth=a(c.pieborderthickness,c.plotborderthickness,1);k.startingAngle=0;k.size="100%";f.showLabels=a(c.showlabels,1);f.showValues=a(c.showvalues,0);f.showValuesInTooltip=a(c.showvaluesintooltip,c.showvalues,0);f.showPercentValues=a(c.showpercentvalues,c.showpercentagevalues,
0);f.showPercentInTooltip=a(c.showpercentintooltip,0);f.toolTipSepChar=d(c.tooltipsepchar,c.hovercapsepchar,Ib);f.labelSepChar=d(c.labelsepchar,f.toolTipSepChar);f.tooltext=c.plottooltext;f.alpha=d(c.plotfillalpha,c.piefillalpha,100);f.startAngle=Tb/180*(y-q/2);f.endtAngle=Tb/180*(y+q/2);f.initialAngle=f.endtAngle;f.originX=a(c.originx);f.originY=a(c.originy);b&&(f.events={mouseOver:function(){for(var b=this.data("plotItem").selfRef,c=e.conf;b.graphics.element;)b.graphics.element.attr({fill:c.hoverFillColor}),
b=b.linkedItems.parent},mouseOut:function(){for(var b=this.data("plotItem"),c=b.selfRef;c.graphics.element;)c.graphics.element.attr({fill:(c.config||b).color}),c=c.linkedItems.parent}});h.plotBorderWidth=0;h.plotBorderWidth=0;f.maxLevel=e.addMSPieCat(w,1,e,f.startAngle,f.endtAngle);f.pieRadius=parseInt(c.pieradius,10);n.distance=0;n.placeLabelsInside=!0},removalFn:function(b,g,e){var c,h,f=this.pool||(this.pool={});c=this.chart.get("config","animationObj");var a=c.duration,d=c.dummyObj,l=c.animObj,
w=c.animType,y=function(b){(b||this).hide()};!f[e]&&(f[e]=[]);"element"===e?(h=b.attr("ringpath"),c=(h[4]+h[5])/2,g?b.animateWith(d,l,{ringpath:[h[0],h[1],h[2],h[3],c,c]},a,w,y):f[e].push(b)):g?y(b):f[e].push(b)},removeGraphics:function(b,g){var e,c,h=b.components&&b.components.data,f,a=b.graphics;if(h)for(f=h.length,e=0;e<f;e+=1)this.removeGraphics(h[e]);if(b.graphics)for(c in a)a.hasOwnProperty(c)&&this.removalFn(b.graphics[c],g,c)},removeChild:function(b,g,e){var c,h;if(b.length)for(c=0;c<b.length;c+=
1)h=b[c],e?this.removalFn(h,g,e):this.removeGraphics(h,g);else for(c in b)this.removeChild(b[c],g,c)},addMSPieCat:function(b,g,e,c,h){var f,n,k,l=b.length,w=this,y=e.components.data,q=w.chart.components,E=w.conf,ha=E.borderWidth,T=E.borderColor,p=q.numberFormatter,q=q.colorManager,s,m=0,r,A,u=E.labelSepChar,t,v,z,x,C,I=g,L=y.length,Q=function(){w.removeChild.apply(w,arguments)},D=b.length;s=h-c;var V=0,R;for(A=0;A<l;A+=1)h=b[A],h._userValue=p.getCleanValue(h.value,!0),h._value=a(h._userValue,1),m+=
h._value;m=m||1;s/=m;for(A=l-1;0<=A;--A)h=b[A],r=s*h._value,f=Z(d(h.label,h.name)),v=null!==h._userValue?p.dataLabels(h._userValue):B,z=p.percentValue(h._value/m*100),t=a(h.alpha,E.alpha),C=E.showLabels?f:B,E.showValues&&(E.showPercentValues?C+=C!==B?u+z:z:void 0!==v&&v!==B&&(C+=C!==B?u+v:v)),x=E.showTooltip?Z(d(h.tooltext,h.hovertext,E.tooltext)):void 0,x===B?(x=f,E.showValuesInTooltip&&(E.showPercentInTooltip?x+=x!==B?u+z:z:void 0!==v&&v!==B&&(x+=x!==B?u+v:v))):x=Ba(x,[1,2,3,14],{percentValue:z,
label:f,formattedValue:v},h),f=y[A],v=c+V,V+=r,f||(f=y[A]={components:{data:[]},linkedItems:{},config:{},graphics:{}}),f.graphics.element&&(R=f.config.startAngle+f.config.angleStrech),f.config={initialAngle:R||(e.conf||e.config).initialAngle,startAngle:v,angleStrech:r,level:g,displayValue:C,toolText:x,link:F(h.link),doNotSlice:!0,color:aa(h.color||q.getPlotColor(),t),borderWidth:a(h.borderwidth,ha),borderColor:d(h.bordercolor,T),dashStyle:a(h.valueborderdashed,0)?ua(a(h.borderdashlen,4),a(h.borderdashgap,
2),a(h.borderthickness,1)):"none",shadow:{opacity:.01*ga(50<t?t*t*t*1E-4:t*t*.01)},isSingleTon:1<l?!1:!0},f.linkedItems.parent=e,h.category?(I=J(I,w.addMSPieCat(h.category,g+1,f,v,r+v)),(n=f.components.data.length)>(k=h.category.length)&&Q(f.components.data.splice(n-1,k))):(n=f.components.data.length)&&Q(f.components.data.splice(0,n));L>D&&Q(y.splice(L-1,D));return I},draw:function(b){var g,e,c,h=this.conf||{},f=this.chart,d=f.config,k=f.graphics;c=this.components;var l=c.data.length,w=d.dataLabelStyle;
g=h.showShadow;var y=f.components.paper,q=d.textDirection,E=d.tooltip||{},E=E&&!1!==E.enabled,ha,T=d.canvasWidth;ha=d.canvasHeight;var m=a(h.originX,d.canvasLeft+.5*T),d=a(h.originY,d.canvasTop+.5*ha),s,r,u,A,t,v,x=k.datasetGroup.trackTooltip(!0),B=f.get("config","animationObj"),F=B.duration||0,D=B.dummyObj,I=B.animObj,B=B.animType,L,Q,J,V,R=h.events||{};J=function(b){var c=R.mouseOver;za.call(this,f,b,"DataPlotRollOver");c&&c.call(this)};e=function(b){var c=R.mouseOut;za.call(this,f,b,"DataPlotRollOut");
c&&c.call(this)};var S=function(b){var c=R.mouseOver;za.call(this,f,b,"DataPlotRollOver");c&&c.call(this)},M=function(b){var c=R.mouseOut;za.call(this,f,b,"DataPlotRollOut");c&&c.call(this)},O=function(b){za.call(this,f,b)},X=function(b,c){return function(b,c){return function(){K.show();c===l-1&&(K.show(),f._animCallBack())}}(b,c)},U=this.pool||(this.pool={});c=(c=c.removeDataArr)&&c.length;ha=a(2*h.pieRadius,C(T,ha))/(2*h.maxLevel);var K=k.datalabels||(k.datalabels=y.group("datalabels").insertAfter(x));
c&&this.remove();F&&K.hide();!b&&(b=this);l=b.components.data.length;for(h=0;h<l;h+=1)this.draw(b.components.data[h]);T=b.config;(c=T.level)?(k=c*ha,c=(c-1)*ha,L=b.graphics,r=T.angleStrech,u=T.displayValue,ha=T.toolText,A=!!T.link,s=T.color,t=T.startAngle,v=t+T.angleStrech,V=T.initialAngle,Q=L.element,Q||(U.element&&U.element.length?(Q=L.element=U.element.shift(),Q.show()):Q=L.element=y.ringpath(x).mouseover(J).mouseout(e).mouseup(O),Q.attr({ringpath:[m,d,k,c,V,V]})),b={chart:f,link:T.link,value:r,
color:s,labelText:u,graphics:{element:Q},selfRef:b},x={link:T.link,label:T.displayValue,toolText:T.toolText},Q.attr({"stroke-width":T.borderWidth,stroke:T.borderColor,fill:z(T.color),"stroke-dasharray":T.dashStyle,ishot:!E,cursor:A?"pointer":p}).tooltip(T.toolText).shadow(g&&!!T.shadow).data("plotItem",b).data("eventArgs",x),J=L.label,void 0!==u&&u!==p?(g=(t+v)/2,e=0===c&&T.isSingleTon?0:c+(k-c)/2,J=L.label,J||(J=U.label&&U.label.length?L.label=U.label.shift():L.label=y.text(K).mouseover(S).mouseout(M).mouseup(O)),
b.label=J,J.attr({text:u,fill:w.color||"#000000",direction:q,ishot:A,cursor:A?"pointer":p,x:m+e*da(g),y:d+e*N(g),"text-bound":[w.backgroundColor,w.borderColor,w.borderThickness,w.borderPadding,w.borderRadius,w.borderDash]}).show().css(w).data("plotItem",b).data("eventArgs",x),E&&J.tooltip(ha)):J&&J.hide(),Q.animateWith(D,I,{ringpath:[m,d,k,c,t,v]},F,B,!h&&X(void 0,void 0))):this.removeChild(this.pool,!0)}},"Pie2D"]);K("radar",{friendlyName:"Radar Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"radar",
applicableDSList:{radar:!0},hasLegend:!0,areaAlpha:50,showValues:0,defaultPlotShadow:0,_postSpaceManagement:function(){var b=this.components,g=this.config,e=b.legend;(b.yAxis&&b.yAxis[0]).setAxisDimention({x:g.canvasLeft+g.canvasWidth/2,y:g.canvasTop,axisLength:g.canvasHeight/2});e.postSpaceManager()}},K.mspolar);K("dragbase",{configure:function(){var b=this.jsonData.chart,g,e;this.base.base.configure.call(this);e=this.config;e.formAction=F(b.formaction);"0"!==b.submitdataasxml||b.formdataformat||
(b.formdataformat=M.dataFormats.CSV);e.formDataFormat=d(b.formdataformat,M.dataFormats.XML);e.formTarget=d(b.formtarget,"_self");e.formMethod=d(b.formmethod,"POST");e.submitFormAsAjax=a(b.submitformusingajax,1);e.restoreBtnTitle=d(b.restorebtntitle,"Restore");e.submitBtnTitle=d(b.formbtntitle,"Submit");e.showFormBtn=a(b.showformbtn,1)&&e.formAction;e.showRestoreBtn=a(b.showrestorebtn,1);e.formBtnTitle=d(b.formbtntitle,"Submit");e.formBtnBorderColor=d(b.formbtnbordercolor,"CBCBCB");e.formBtnBgColor=
d(b.formbtnbgcolor,"FFFFFF");e.btnPadding=a(b.btnpadding,7);e.btnSpacing=a(b.btnspacing,5);e.formBtnStyle={fontSize:e.style.outCanfontSize,fontFamily:e.style.outCanfontFamily,fontWeight:"bold"};e.formBtnLabelFill=e.style.outCancolor;b.btntextcolor&&(e.formBtnLabelFill=b.btntextcolor.replace(Y,qa));0<=(g=a(b.btnfontsize))&&(e.formBtnStyle.fontSize=g+"px");e.restoreBtnWidth=a(b.restorebtnwidth,0);e.formBtnWidth=a(b.formbtnwidth,0);e.restoreBtnBorderColor=d(b.restorebtnbordercolor,e.formBtnBorderColor);
e.restoreBtnBgColor=d(b.restorebtnbgcolor,e.formBtnBgColor);e.restoreBtnStyle={fontSize:e.formBtnStyle.fontSize,fontFamily:e.formBtnStyle.fontFamily,fontWeight:"bold"};e.restoreBtnLabelFill=e.formBtnLabelFill},_createToolBox:function(){var b=this,g=b.components.tb||(b.components.tb=new (FusionCharts.register("component",["toolbox","toolbox"]))),e,c,h;h=b.components;var f,a,d=b.linkedItems.smartLabel,l=b.config,w=l.showRestoreBtn,y=l.formAction,q=l.restoreBtnTitle,E=l.submitBtnTitle,p=l.formBtnStyle,
T=l.restoreBtnStyle,m=l.restoreBtnWidth,s=l.restoreBtnBgColor,r=l.restoreBtnBorderColor,u=l.formBtnBgColor,A=l.formBtnBorderColor,t=l.restoreBtnLabelFill,v=l.formBtnLabelFill,z=l.btnSpacing,x=l.btnPadding,C=l.formBtnWidth;e=h.chartMenuBar;e&&e.drawn||(e=g.init({graphics:b.graphics||(b.graphics={}),chart:b,components:b.components}),g.pId=e,e=h.toolBoxAPI=g.getAPIInstances(g.ALIGNMENT_HORIZONTAL),c=e.ComponentGroup,h=e.Toolbar,f=e.Symbol,g.getDefaultConfiguration(),e=g.getDefaultConfiguration(),a=new f(q,
!0,(g.idCount=g.idCount||0,g.idCount++),g.pId),f=new f(E,!0,g.idCount++,g.pId),K.mscartesian._createToolBox.call(b),b.addConfigureOptions&&b.addConfigureOptions(),c=new c(g.idCount++,g.pId),d.useEllipsesOnOverflow(l.useEllipsesWhenOverflow),d.setStyle(T),q=d.getOriSize(q),m=J(q.width,m),l=q.height,d.setStyle(p),q=d.getOriSize(E),C=J(C,q.width),d=q.height,a.conf.width=m+x,f.conf.width=C+x,a.conf.stroke=aa(r,100),a.conf.height=l+x,f.conf.height=d+x,f.conf.fill=aa(u,100),f.conf.labelFill=aa(v,100),a.conf.fill=
aa(s,100),a.conf.labelFill=aa(t,100),f.conf.stroke=aa(A,100),f.conf.btnTextStyle.fontSize=p.fontSize,a.conf.btnTextStyle.fontSize=T.fontSize,e.spacing=z,c.setConfiguaration({buttons:e,group:{fill:aa("FFFFFF",0),borderThickness:0}}),w&&(c.addSymbol(a),a.attachEventHandlers({click:function(){b.restoreData()}})),y&&(c.addSymbol(f),f.attachEventHandlers({click:function(){b.submitData(M)}})),g=new h(g.idCount++,g.pId),g=b.components.actionBar=g,g.addComponent(c),g.toolbarConfig.fill=aa("EBEBEB",0),g.toolbarConfig.borderThickness=
0)},addConfigureOptions:function(){var b=this,g=b.chartMenuTools,e=b.components.chartMenuBar.componentGroups[0].symbolList[0].getListRefernce(),c=a(b.jsonData.chart.allowaxischange,1),g=g.set,h=[{"Increase Upper Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeUpperLimits(c.max+c.tickInterval)},action:"click"}},{"Increase Lower Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeLowerLimits(c.min+c.tickInterval)},action:"click"}},{"Decrease Upper Limit":{handler:function(){var c=
b.components.yAxis[0].config.axisRange;b.changeUpperLimits(c.max-c.tickInterval)},action:"click"}},{"Decrease Lower Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeLowerLimits(c.min-c.tickInterval)},action:"click"}}];c&&(g(h),e.appendAsList(h))},_manageActionBarSpace:function(){var b=this.components.actionBar,b=b&&b.getLogicalSpace()||{};this.config.actionBarHeight=b.height;return{bottom:b.height||0}},drawAxisUpdateUI:function(){var b=this,g=b.components.yAxis[0],e=
g.config.axisRange,c=g.graphics.labels||[],h=b.config,g=e.min,e=e.max,f=c[c.length-1],c=c[0],a=b.linkedItems.container,d=b.config.inCanvasStyle||{},l=Yb({outline:"none","-webkit-appearance":"none",filter:"alpha(opacity=0)",position:"absolute",background:"transparent",border:"1px solid #cccccc",textAlign:"right",top:0,left:0,width:50,zIndex:20,opacity:0,borderRadius:0},d),w={max:{label:f,value:e},min:{label:c,value:g}};Ua(["max","min"],function(c){var g=w[c],e=g.label,f=g.value,T=g.oldValue=f,g=e&&
e.getBBox(),m="max"===c?!0:!1,s,r,u,A,t,H,z=function(c,g,e){return c===g+p?null:e?b.changeUpperLimits(c):b.changeLowerLimits(c)},x=function(){return function(){var b={opacity:1,filter:"alpha(opacity=100)",color:d.color},c;this.value=f;for(c in b)this.style[c]=b[c];A=H=!0;e.hide()}}(f),C=function(){return function(){var b=this;H&&(H=!1,qb||setTimeout(function(){b.select()},0))}}(),B=function(){return function(){!0!==z(this.value,T,m)&&(this.style.opacity=0,this.style.filter="alpha(opacity=0)",e.show());
ob&&Oa.getElementsByTagName("body")[0].focus&&Oa.getElementsByTagName("body")[0].focus();A=H=!1}}(m,T),I=function(){return function(b){var c=b.originalEvent.keyCode,g=this.value;13===c?(b=z(g,T,m),!1===b&&(this.style.color="#dd0000")):27===c&&(this.value=T,v.dem.fire(this,"blur",b))}}(m,T);if(g&&e){c=g.x+g.width-h.marginLeft;r=h.canvasLeft-c-(D?4:5);s=qc("input",{type:"text",value:f,name:f||p},a,!0);Yb(l,{top:g.y+(D?-1:0)+"px",left:r+"px",width:c+"px"});for(u in l)s.style[u]=l[u];v.dem.listen(s,["focus",
"mouseup","blur","keyup"],[x,C,B,I]);s.setAttribute("isOverlay","true");D?(Fb(a,"defaultprevented",t=function(b){s.parentNode&&v.dem.fire(s,"blur",b)}),Fb(a,"destroy",function(){kb(b,"defaultprevented",t);s.parentNode.removeChild(s)})):(Fb(a,"mousedown",t=function(b){b.srcElement!==s&&A&&v.dem.fire(s,"blur",b)}),Fb(a,"destroy",function(){kb(a,"mousedown",t);s.parentNode.removeChild(s)}))}})},drawActionBar:function(){var b=this.config,g=this.components.actionBar||{},e;e=g.getLogicalSpace();g.toolbarConfig.fill=
s;g.toolbarConfig.vPadding=0;g.toolbarConfig.borderColor=s;g.draw(b.width-b.marginRight-e.width,b.height-b.marginBottom-e.height);g.drawn=!0},changeUpperLimits:function(b){var g=this.components.yAxis[0],e=g.config.axisRange,c=e.min,h=e.max,f=this.config.yMax,e=!1;void 0!==b&&b>f&&b!==h?e=!0:b=f>h?f:h;e&&(g.setAxisData({axisMaxValue:b,axisMinValue:c}),g.setDataLimit(b,c),this._drawAxis(),this._drawDataset())},changeLowerLimits:function(b){var g=this.components.yAxis[0],e=g.config.axisRange,c=this.config.yMin,
h=e.max,f,a=!1,e=e.min;void 0!==b&&b<c&&b!==e?(f=b,a=!0):b=c<e?c:e;a&&(g.setAxisData({axisMaxValue:h,axisMinValue:b}),g.setDataLimit(h,f),this._drawAxis(),this._drawDataset())},eiMethods:{getDataWithId:function(){for(var b=this.jsVars.instanceAPI.getJSONData(),g=[[B]],e=b.dataset,b=b.categories&&b.categories[0]&&b.categories[0].category,c=e&&e.length||0,h=0,f,a,d,l,w,y;c--;)if(a=e[c])for(g[0][c+1]=a.id||a.seriesname,l=a.id||c+1,y=(a=a.data)&&a.length||0,w=0;w<y;w+=1){d=w+1;if(!g[d]){for(f=b&&b[w+
h]||{};f.vline;)h+=1,f=b[w+h]||{};f=f.label||f.name||B;g[d]=[f]}f=g[d];d=a[w].id||d+"_"+l;f[c+1]=[d,Number(a[w].value)]}return g},getData:function(b){var g=this.jsVars.instanceAPI,e=g.getJSONData(),c=[[B]],h=e.dataset,f=e.categories&&e.categories[0]&&e.categories[0].category,a=h&&h.length||0,d=0,l,w;if(b)c=/^json$/ig.test(b)?e:M.core.transcodeData.call(g.chartInstance,e,"json",b);else for(;a--;)if(b=h[a])for(c[0][a+1]=h[a].seriesname,g=(b=h[a]&&h[a].data)&&b.length||0,e=0;e<g;e+=1){w=e+1;if(!c[w]){for(l=
f&&f[e+d]||{};l.vline;)d+=1,l=f[e+d]||{};l=l.label||l.name||B;c[w]=[l]}w=c[w];w[a+1]=Number(b[e].value)}return c}},restoreData:function(){var b=this.components,g=b.yAxis[0],e=b.dataset,b=b.legend,c=e.length,h,a;for(a=0;a<c;a++)h=e[a],h.configure();g.setAxisData({axisMaxValue:void 0,axisMinValue:void 0});this._setAxisLimits();this._drawAxis();this._drawDataset();b._drawPointLegendItem()},submitData:function(b){var g=this.chartInstance,e=new b.ajax,c=this.config,h=b.dataFormats.JSON,a=b.dataFormats.CSV,
d=b.dataFormats.XML,k=c.formAction,l=this.chartInstance,w=c.submitFormAsAjax,y,q,E,p,T;c.formDataFormat===h?(y=h,q=JSON.stringify(this.getJSONData())):this.formDataFormat===a?(y=a,q=g.getCSVString&&g.getCSVString(),void 0===q&&(q=b.core.transcodeData(this.getJSONData(),h,a))):(y=d,q=b.core.transcodeData(this.getJSONData(),h,d));b.raiseEvent("beforeDataSubmit",{data:q},l,void 0,function(){w?(e.onError=function(b,c,g,e){v.raiseEvent("dataSubmitError",{xhrObject:c.xhr,url:e,statusText:b,httpStatus:c.xhr&&
c.xhr.status?c.xhr.status:-1,data:q},l,[l.id,b,c.xhr&&c.xhr.status])},e.onSuccess=function(b,c,g,h){v.raiseEvent("dataSubmitted",{xhrObject:e,response:b,url:h,data:q},l,[l.id,b])},E={},E["str"+y.toUpperCase()]=q,e.open&&e.abort(),e.post(k,E)):(p=pa.document.createElement("span"),p.innerHTML='<form style="display:none" action="'+k+'" method="'+c.formMethod+'" target="'+c.formTarget+'"> <input type="hidden" name="strXML" value="'+gc(q)+'"><input type="hidden" name="dataFormat" value="'+y.toUpperCase()+
'" /></form>',T=p.removeChild(p.firstChild),pa.document.body.appendChild(T),T.submit&&T.submit(),T.parentNode.removeChild(T),p=T=null)},function(){b.raiseEvent("dataSubmitCancelled",{data:q},l)})},getJSONData:function(){var b=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),g=this.components,e=g["datasetGroup_"+b],b=g.dataset,c=this.jsonData.dataset,h,a=this.jsonData,d=b.length,g=[],k;if(e)g=e.getJSONData();else for(e=0;e<d;e++)h=b[e],k=h.getJSONData(),h=c[e]||{},delete h.data,g.push(W(h,
k));b=W({},a);b.dataset=g;return b},_setDataLimits:function(){var b=this.components.dataset,g=this.config,e=-Infinity,c=Infinity,h,a,d;a=b.length;for(d=0;d<a;d++)h=b[d],h=h.getDataLimits(),e=J(e,h.max),c=C(c,h.min);g.yMax=e;g.yMin=c}},K.mscartesian);K("dragnode",{friendlyName:"Dragable Node Chart",standaloneInit:!0,hasLegend:!0,numVDivLines:0,numDivLines:0,showLimits:0,setadaptivexmin:1,showdivlinevalues:0,showzeroplane:0,showyaxisvalues:0,dontShowLegendByDefault:!0,creditLabel:!1,defaultDatasetType:"dragnode",
configure:function(){var b=this.jsonData.chart,g;K.dragbase.configure.call(this);g=this.config;g.formAction=F(b.formaction);"0"!==b.submitdataasxml||b.formdataformat||(b.formdataformat=M.dataFormats.CSV);g.formDataFormat=d(b.formdataformat,M.dataFormats.XML);g.formTarget=d(b.formtarget,"_self");g.formMethod=d(b.formmethod,"POST");g.submitFormAsAjax=a(b.submitformusingajax,1);g.viewMode=a(b.viewmode,0)},_createDatasets:function(){var b=this.config,g=this.components,e=this.jsonData,c=e.dataset,h=e.connectors,
a=e.labels&&e.labels.label||[],d=c&&c.length,k=h&&h.length,l=a&&a.length||[],w=g.legend,y,q,E,p,T,s,m,r,u,A;r=0;var t=b.datasetMap||(b.datasetMap={connectors:[],dragnode:[],labels:[]}),v,z={connectors:[],dragnode:[],labels:[]},x={};if(c){this.config.categories=e.categories&&e.categories[0].category;q=g.dataset=[];y=FusionCharts.register("component",["datasetGroup","dragnode"]);e=g.datasetGroup_dragnode;y&&!e&&(e=g.datasetGroup_dragnode=new y,e.chart=this,e.init());T=FusionCharts.get("component",["dataset",
"Dragnode"]);s=FusionCharts.get("component",["dataset","Connector"]);m=FusionCharts.get("component",["dataset","DragableLabels"]);for(y=0;y<d;y++)g="dragnode",E=t[g],v=E[0],void 0===x[g]?x[g]=0:x[g]++,v?(p=c[y],u=v.components&&v.components.data||[],z[g].push(v),q.push(v),u=u.length,A=p&&p.data&&p.data.length||0,u>A&&v.removeData(A-1,u-A),v.JSONData=p,v.configure(),E.shift()):(p=c[y],E=new T,E.chart=this,z[g].push(E),q.push(E),E.chart=this,E.index=y,E.init(p),e.addDataset(E,y)),r++;for(y=0;y<k;y++)g=
"connectors",d=h[y],E=t[g],v=E[0],void 0===x[g]?x[g]=0:x[g]++,v?(u=v.components&&v.components.data||[],u=u.length,A=d.connector&&d.connector.length||0,z[g].push(v),q.push(v),u>A&&v.removeData(A-1,u-A),v.JSONData=d,v.configure(),E.shift()):(E=new s,E.chart=this,z[g].push(E),q.push(E),E.init(d),e.addConnectors(E,y)),r++;g="labels";E=t[g];v=E[0];void 0===x[g]?x[g]=0:x[g]++;v?(u=v.JSONData,u=u.length,A=l,z[g].push(v),q.push(v),u>A&&v.removeData(A-1,u-A),v.JSONData=a,v.configure(),E.shift()):(r=new m,
r.chart=this,z[g].push(r),q.push(r),r.init(a),e.addLabels(r,0));this.config._datasetUpdated=!0;for(c in t)if(E=t[c],a=E.length,r=x[c]||-1,a)for(h=0;h<a;h++)"dragnode"===c?(e.removeNodeDataset(r),e._clearConnectors(),w.removeItem(E[h].legendItemId)):"connectors"===c?e.removeConnectorSet(r):e.removeLabelSet(r),U.call(E[h]),r+=1;b.datasetMap=z}else this.setChartMessage()},addConfigureOptions:function(){var b=this.chartMenuTools,g=this.components["datasetGroup_"+this.defaultDatasetType],e=this.components.chartMenuBar.componentGroups[0].symbolList[0].getListRefernce(),
b=b.set,c=this.config.viewMode,h=[{"Add Node":{handler:function(){g.showNodeAddUI()},action:"click"}},{"Add Connector":{handler:function(){g.showConnectorAddUI(g.chart,{})},action:"click"}},{"Add Label":{handler:function(){g.showLabelUpdateUI(g.chart,{})},action:"click"}}];b(h);!c&&e.appendAsList(h)},_redrawDragNode:function(b,g){var e=this.chart;this.draw();v.raiseEvent("chartUpdated",W({sourceEvent:g},b),e.chartInstance,[e.chartInstance.id])},addNode:function(b){var g=this.components.dataset,e=
b.datasetId,c=g.length,h,a,d,k;for(k=0;k<c;k++)if(h=g[k]||{},d=h.config&&h.config.id,void 0!==d&&(d=d.toString()),d===e){a=!0;break}h&&a&&(g=h.groupManager,e=h.components.data,b.add=!0,c=e.length,e={index:c,dataIndex:c,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:h.index,datasetName:h.JSONData.seriesname,sourceType:"dataplot"},h._setConfigure(c,b),this._redrawDragNode.call(g,e,"nodeAdded"),M.raiseEvent("nodeAdded",
e,this.chartInstance))},updateNode:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.datasets,c=e.length,h,a,d,k,l,w,y;b.update=!0;for(l=0;l<c;l++)for(d=e[l].dataset,w=d.components.data||[],h=w.length,y=0;y<h;y++)if(k=w[y],k.config.id===b.id){a=!0;break}d&&a&&(e={index:y,dataIndex:y,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:d.index,datasetName:d.JSONData.seriesname,
sourceType:"dataplot"},d._setConfigure(y,b),this._redrawDragNode.call(g,e,"nodeupdated"),M.raiseEvent("nodeupdated",e,this.chartInstance))},deleteNode:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType].nodes,e=g[b],c,h,a,d,k,l,w,y,q=function(b){for(var c in b)b[c].remove()};if(e){c=e.dataset;h=c.components.data;a=e.config.startConnectors;d=e.config.endConnectors;y=h.length;for(e=0;e<y;e++)if(l=h[e],l.config.id===b){k=!0;break}if(!0===k){h=l.graphics;q(h);for(w in a)k=a[w]||
{},h=k.graphics,q(h),delete k.graphics;for(w in d)k=d[w]||{},h=k.graphics,q(h),delete k.graphics;delete g[b];l.removed=!0;b=l.config||{};c={index:e,dataIndex:e,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.displayValue,toolText:b.toolText,id:b.id,datasetIndex:e,datasetName:c.JSONData.seriesname,sourceType:"dataplot"};v.raiseEvent("chartUpdated",W({sourceEvent:"nodedeleted"},c),this.chartInstance,[this.chartInstance.id]);M.raiseEvent("nodedeleted",
c,this.chartInstance)}}},addConnector:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.connectorSet[0].connectors,c=e.components.data.length;b.add=!0;e._setConfigure(c,b);b={arrowAtEnd:Boolean(b.arrowAtEnd),arrowAtStart:Boolean(b.arrowAtStart),fromNodeId:b.from,id:b.id,label:b.label,link:b.connectorLink,sourceType:"connector",toNodeId:b.to};this._redrawDragNode.call(g,b,"connectoradded");M.raiseEvent("connectoradded",b,this.chartInstance)},editConnector:function(b){var g=
this.components["datasetGroup_"+this.defaultDatasetType],e=b.from,c=b.to,h=g.connectorSet,a,d,k,l,w,y,q,E,p=h.length;for(a=0;a<p;a++)for(k=(E=h[a].connectors)&&E.components.data||[],d=k.length,y=0;y<d;y++)if(l=k[y],w=l.config,l=w.from,w=w.to,l===e&&w===c){q=!0;break}b.update=!0;q&&(E._setConfigure(y,b),b={arrowAtEnd:Boolean(b.arrowatend),arrowAtStart:Boolean(b.arrowatstart),fromNodeId:b.from,id:b.id,label:b.label,link:b.link,sourceType:"connector",toNodeId:b.to},this._redrawDragNode.call(g,b,"connectorupdated"),
M.raiseEvent("connectorupdated",b,this.chartInstance))},deleteConnector:function(b){var g=b.from;b=b.to;var e=this.components["datasetGroup_"+this.defaultDatasetType].connectorSet,c,h,a,d,k,l=!1,w=e.length;for(c=0;c<w;c++)for(h=e[c].connectors,d=h.components.data,k=d.length,h=0;h<k;h++)if(a=d[h],a.config.from===g&&a.config.to===b){l=!0;break}if(l){g=a.config||{};g={arrowAtEnd:g.arrowAtEnd,arrowAtStart:g.arrowAtStart,fromNodeId:g.from,id:g.id,label:g.label,link:g.connectorLink,sourceType:"connector",
toNodeId:g.to};b=a.graphics;for(var y in b)b[y].remove();delete a.graphics;a.removed=!0;v.raiseEvent("chartUpdated",W({sourceEvent:"connectordeleted"},g),this.chartInstance,[this.chartInstance.id]);M.raiseEvent("connectordeleted",g,this.chartInstance)}},addLabel:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.labelSet,c=FusionCharts.get("component",["dataset","DragableLabels"]);b.add=!0;e.length?(e=g.labelSet[0].labels,c=e.components.data,c=c.length,e._setConfigure(c,
b)):(e=new c,e.chart=this,e.init([b]),g.addLabels(e,0));e={text:b.text,x:b.x,y:b.y,allowdrag:b.allowdrag,sourceType:"labelnode",link:b.link};this._redrawDragNode.call(g,e,"labeladded");M.raiseEvent("labeladded",e,this.chartInstance);b.add=!0},deleteLabel:function(b){b=this.components["datasetGroup_"+this.defaultDatasetType].labelSet[0].labels.components.data[b];var g,e;if(g=b.graphics.element)e=g.data("eventArgs"),g.remove(),delete b.graphics;v.raiseEvent("chartUpdated",W({sourceEvent:"labeldeleted"},
e),this.chartInstance,[this.chartInstance.id]);M.raiseEvent("labeldeleted",e,this.chartInstance);b.removed=!0},restoreData:function(){var b=this.components["datasetGroup_"+this.defaultDatasetType],g=b.datasets,e=this.components.legend,c=b.connectorSet,a,f,d,k,l=b.labelSet,w=function(b){var c,g;for(c=0;c<b.length;c++)if(d=b[c],delete d.removed,d.config.add)for(g in k=b[c].graphics,k)k[g].remove()};for(a=0;a<g.length;a++)f=g[a].dataset,b=f.components.data,w(b),f.drawn=!1,f.configure();for(a=0;a<c.length;a++)f=
c[a].connectors,b=f.components.data,w(b),f.drawn=!1,f.configure();l.length&&(g=l[0].labels,b=g.components.data,w(b),g.configure());this._setAxisLimits();this._drawAxis();this._drawDataset();e._drawPointLegendItem()},getJSONData:function(){var b=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),g=this.components,e=g["datasetGroup_"+b],b=g.dataset,c=this.jsonData,a=b.length,g=[],f;if(e)g=e.getJSONData();else for(e=0;e<a;e++)f=b[e],f=f.getJSONData(),g.push(f);b=W({},c);b.dataset=g.dataset;
b.connectors=g.connectors;b.labels=g.labels;return b},_setCategories:function(){var b=this.jsonData,g=this.components.xAxis,b=b.categories&&b.categories[0].category||[],e=b.length,c=[],a,f;for(a=0;a<e;a++)f=b[a]||{},void 0!==f.x&&c.push(f);g&&g[0].setCategory(c)},_drawDataset:function(){var b=this.components["datasetGroup_"+this.defaultDatasetType];b&&b.draw()},_setAxisLimits:function(){var b=this.components,g=this.jsonData,g=g.categories&&g.categories[0].category||[],e,c=b.dataset,a=b.yAxis,b=b.xAxis,
f,n=c.length,k,l=-Infinity,w=Infinity,y=Infinity,q=-Infinity,E,p,T={},s=[],m=function(b){E=d(b.xMax,-Infinity);p=d(b.xMin,Infinity);l=J(l,b.max);w=C(w,b.min);q=J(q,E);y=C(y,p)};for(k=0;k<n;k++)f=c[k],(e=f.groupManager)?T[f.type]=e:s.push(f);for(e in T)c=T[e].getDataLimits(),m(c);n=s.length;for(k=0;k<n;k++)c=s[k].getDataLimits(),m(c);-Infinity===l&&(l=0);Infinity===w&&(w=0);this.config.yMax=l;this.config.yMin=w;a[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});a[0].setDataLimit(l,
w);if(-Infinity!==q||Infinity!==y){k=0;for(n=g.length;k<n;k++)if(e=g[k],e=e.x)e<y&&(y=e),e>q&&(q=e);b[0].setDataLimit(q,y)}}},K.dragbase);FusionCharts.register("component",["datasetGroup","DragNode",{init:function(){this.connectorSet=[];this.nodes={};this.datasets=[];this.components=[];this.graphics={};this.labelSet=[]},addDataset:function(b,g){var e=this.datasets[g];b.groupManager=this;b.datasetIndex=g;e||(this.datasets[g]={dataset:b})},addLabels:function(b,g){var e=this.labelSet[g];b.groupManager=
this;e||(this.labelSet[g]={labels:b})},addConnectors:function(b,g){var e=this.connectorSet[g];b.groupManager=this;e||(this.connectorSet[g]={connectors:b})},showNodeAddUI:function(){var b=this.chart,g=b.components.dataset,e=p,c,a,f;for(f=0;f<g.length;f++)a=g[f]||{},c=a.config,a=a.plotType,"dragnode"===a&&(e+='<option value="'+c.id+'">'+(c.name!==B&&void 0!==c.name&&c.name+Wb+" "||B)+c.id+"</option>");this.showNodeUpdateUI(b,{dataset:{innerHTML:e}})},showConnectorAddUI:function(){var b=this.chart,g=
this.nodes,e=p,c,a;for(a in g)c=g[a],c=c.config,c=c.id,e+='<option value="'+c+'">'+c+"</option>";this.showConnectorUpdateUI(b,{fromid:{innerHTML:e},toid:{innerHTML:e}})},draw:function(){var b=this.datasets,g=this.connectorSet,e,c,a=this.labelSet,f;this.updateUIvisuals();e=0;for(f=b.length;e<f;e++)c=b[e].dataset,c.draw();e=0;for(f=g.length;e<f;e++)b=g[e].connectors,b.draw();e=0;for(f=a.length;e<f;e++)g=a[e].labels,g.draw();this.drawn=!0},getJSONData:function(){var b=this.datasets,g=this.connectorSet,
e=this.labelSet,c={},a,f,d;c.dataset=[];c.connectors=[];c.labels=[];a=0;for(f=b.length;a<f;a++)d=b[a]&&b[a].dataset,c.dataset[a]||(c.dataset[a]=W({},d.JSONData)),c.dataset[a].data=d.getJSONData();a=0;for(f=g.length;a<f;a++)d=g[a]&&g[a].connectors,c.connectors[a]||(c.connectors[a]=W({},d.JSONData)),c.connectors[a].connector=d.getJSONData();a=0;for(f=e.length;a<f;a++)d=e[a]&&e[a].labels,c.labels[a]||(c.labels[a]={label:[]}),c.labels[a].label=d.getJSONData();return c},clearLongPress:function(){this.data("move",
!1);clearTimeout(this._longpressactive);delete this._longpressactive},createHtmlDialog:function(b,g,e,c,a,f,d){var k=b.components.paper,l=b.config.style.inCanvasStyle||{},w=b.config.width,y=b.config.height,q=b.get("config","animationObj").transposeAnimDuration,E={color:Sb(l.color),textAlign:"center",paddingTop:"1px",border:"1px solid #cccccc",borderRadius:"4px",cursor:"pointer",_cursor:"hand",backgroundColor:"#ffffff",zIndex:21,"-webkit-border-radius":"4px"},p=d;p?q?p.animate({width:w,height:y},q,
"normal"):p.attr({width:w,height:y}):p=k.html("div",{fill:"transparent",width:w,height:y},{fontSize:"10px",lineHeight:"15px",fontFamily:l.fontFamily},b.linkedItems.container);p.veil?q?p.veil.animate({width:w,height:y},q,"normal"):p.veil.attr({width:w,height:y}):p.veil=k.html("div",{fill:"000000",width:w,height:y,opacity:.3},void 0,p);b={x:(w-g)/2,y:(y-e)/2,fill:"efefef",strokeWidth:1,stroke:"000000",width:g,height:e};p.dialog?q?p.dialog.animate({x:b.x,y:b.y,width:b.width,height:b.height},q,"normal"):
p.dialog.attr(b):p.dialog=k.html("div",b,{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},p);b={x:g-70-5,y:e-23-5,width:65,height:17,text:"Submit",tabIndex:1};p.ok?q?p.ok.animate({x:b.x,y:b.y,width:b.width,height:b.height},q,"normal"):p.ok.attr(b):p.ok=k.html("div",b,E,p.dialog).on("click",c);c={x:g-140-5,y:e-23-5,width:65,height:17,
text:"Cancel",tabIndex:2};p.cancel?q?p.cancel.animate({x:c.x,y:c.y,width:c.width,height:c.height},q,"normal"):p.cancel.attr(c):p.cancel=k.html("div",c,E,p.dialog).on("click",a);g={x:g-210-5,y:e-23-5,width:65,height:17,text:"Delete",tabIndex:3};p.remove?q?p.remove.animate({x:g.x,y:g.y,width:g.width,height:g.height},q,"normal"):p.remove.attr(g):p.remove=k.html("div",g,E,p.dialog).on("click",f);p.handleKeyPress||(p.handleKeyPress=function(b){13===b.keyCode?p.ok.trigger(qb?"touchStart":"click",b):27===
b.keyCode&&p.cancel.trigger(qb?"touchStart":"click",b)});return p},updateUIvisuals:function(){var b=this.graphics.cacheConnectorUpdateUI,g=this.chart,e=this.graphics.cacheLabelUpdateUI,c=this.graphics.cacheLabelDeleteUI,a=this.graphics.cacheUpdateUI;b&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,b);a&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,a);e&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,e);c&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,c)},showConnectorUpdateUI:function(b,
g,e){var c=b.components.paper,a=this.cacheConnectorUpdateUI,f={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(b.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},n={textAlign:"right"},k=a&&a.fields,l=a&&a.labels,w,y,q,E=function(){var c=a&&a.fields,c={from:c.fromid.val(),to:c.toid.val(),id:c.id.val()};b.deleteConnector(c);a.hide()},s;a?(a.attr({width:b.config.width,height:b.config.height}),a.veil.attr({width:b.config.width,height:b.config.height}),a.dialog.attr({x:(b.config.width-
315)/2,y:(b.config.height-215)/2,width:315,height:215})):(a=this.graphics.cacheConnectorUpdateUI=this.createHtmlDialog(b,315,215,function(){var c=a&&a.fields,g;c&&(g={from:c.fromid.val(),to:c.toid.val(),id:c.id.val(),label:c.label.val(),color:c.color.val(),alpha:c.alpha.val(),link:c.url.val(),tooltext:c.tooltext.val(),strength:c.strength.val(),arrowatstart:c.arratstart.val(),arrowatend:c.arratend.val(),dashed:c.dashed.val(),dashlen:c.dashlen.val(),dashgap:c.dashgap.val()},g.from?g.to?g.from!=g.to?
(e?b.editConnector(g):b.addConnector(g),a.enableFields(),a.hide(),a.clearFields()):(a.error.attr({text:"Connector cannot start and end at the same node!"}),c.fromid.focus()):(a.error.attr({text:"Please select a valid connector end."}),c.toid.focus()):(a.error.attr({text:"Please select a valid connector start."}),c.fromid.focus()))},function(){a.error.attr({text:p});a.enableFields();a.hide()},E),s=a.dialog,l=a.labels={},k=a.fields={});a.config=g;a.enableFields||(a.enableFields=function(){for(var b in g)g[b]&&
g[b].disabled&&k[b]&&k[b].element.removeAttribute("disabled")});a.clearFields||(a.clearFields=function(){var b,c=a.fields;for(b in c)c[b].element.disabled||(c[b].element.value=p)});Ua(this.connectorUpdateUIDefinition,function(b){var e=b.key,E=g[e]||{};l[e]||(l[e]=c.html("label",{x:b.x,y:b.y,width:b.labelWidth||45,text:b.text},n,s));if(!b.noInput){if(!(y=k[e])){y=k[e]=c.html(b.inputType||"input",{y:-2+(b.inputPaddingTop||0),x:b.labelWidth&&b.labelWidth+5||50,width:b.inputWidth||50,name:e||p},f);if("select"!==
b.inputType)y.attr({type:b.type||"text"}).on("keyup",a.handleKeyPress);y.add(l[e])}(w=d(E.innerHTML,b.innerHTML))&&y.attr({innerHTML:w});void 0!==(q=d(E.val,b.val))&&y.val(q);E.disabled&&y.attr({disabled:"disabled"})}});a.checkDash=function(){var b=k.dashed&&k.dashed.val()?"show":"hide";l.dashgap&&l.dashgap[b]();k.dashgap&&k.dashgap[b]();l.dashlen&&l.dashlen[b]();k.dashlen&&k.dashlen[b]()};a.checkDash();k.dashed.on("click",a.checkDash);a.error||(a.error=c.html("span",{color:"ff0000",x:10,y:170},void 0,
s));a.remove[e?"show":"hide"]();b.animation?a.fadeIn("fast"):a.show()},labelUpdateUIDefinition:[{key:"label",text:"Label*",x:10,y:15,inputWidth:235},{key:"size",text:"Size",x:10,y:40},{key:"padding",text:"Padding",x:10,y:65},{key:"x",text:"Position",x:120,y:65,labelWidth:70,inputWidth:25},{key:"y",text:",",x:225,y:65,labelWidth:10,inputWidth:25},{key:"xy",text:"(x, y)",x:260,y:65,noInput:!0},{key:"allowdrag",text:"Allow Drag",x:120,y:40,inputType:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:70,
val:1},{key:"color",text:"Color",x:10,y:90},{key:"alpha",text:"Alpha",x:145,y:90,inputWidth:30,val:"100"},{key:"bordercolor",text:"Border Color",x:10,y:125,labelWidth:100},{key:"bgcolor",text:"Background Color",x:10,y:150,labelWidth:100}],showLabelUpdateUI:function(b,g){var e=b.components.paper,c=this.graphics.cacheLabelUpdateUI,a={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(b.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},f={textAlign:"right"},n=c&&c.fields,
k=c&&c.labels,l,w,y;c||(c=this.graphics.cacheLabelUpdateUI=this.createHtmlDialog(b,315,205,function(){var g=c&&c.fields,e;g&&(e={text:g.label.val(),x:g.x.val(),y:g.y.val(),color:g.color.val(),alpha:g.alpha.val(),bgcolor:g.bgcolor.val(),bordercolor:g.bordercolor.val(),fontsize:g.size.val(),allowdrag:g.allowdrag.val(),padding:g.padding.val()},e.text?(b.addLabel&&b.addLabel(e),c.hide()):(c.error.attr({text:"Label cannot be blank."}),g.label.focus()))},function(){c.error.attr({text:p});c.hide()}),y=c.dialog,
k=c.labels={},n=c.fields={});Ua(this.labelUpdateUIDefinition,function(b){var E=b.key;k[E]||(k[E]=e.html("label",{x:b.x,y:b.y,width:b.labelWidth||45,text:b.text},f,y));b.noInput||((l=n[E])||(l=n[E]=e.html("input",{y:-2+(b.inputPaddingTop||0),x:b.labelWidth&&b.labelWidth+5||50,width:b.inputWidth||50,type:b.inputType||"text",name:E||p},a,k[E]).on("keyup",c.handleKeyPress)),void 0!==(w=d(g[E],b.val))&&l.val(w))});c.error||(c.error=e.html("span",{color:"ff0000",x:10,y:180},void 0,y));b.animation?c.fadeIn("fast"):
c.show();c.fields.label.focus()},showLabelDeleteUI:function(b){var g=this.chart,e=g.get("config","animationObj").duration,c=g.components.paper,a=this.graphics.cacheLabelDeleteUI;a||(a=this.graphics.cacheLabelDeleteUI=this.createHtmlDialog(g,250,100,void 0,function(){a.hide()},function(){g.deleteLabel(b.config.index);a.hide()}),a.message=c.html("span",{x:10,y:10,width:230,height:80}).add(a.dialog),a.ok.hide(),a.remove.translate(175).show());a.message.attr({text:'Would you really like to delete the label: "'+
b.config.text+'"?'});e?a.fadeIn("fast"):a.show()},connectorUpdateUIDefinition:[{key:"fromid",text:"Connect From",inputType:"select",x:10,y:15,labelWidth:80,inputWidth:100},{key:"toid",text:"Connect To",inputType:"select",x:10,y:40,labelWidth:80,inputWidth:100},{key:"arratstart",text:"Arrow At Start",x:200,y:15,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"arratend",text:"Arrow At End",x:200,y:40,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"label",text:"Label",
x:10,y:75,labelWidth:40,inputWidth:120},{key:"id",text:"Node ID",x:190,y:75,inputWidth:55},{key:"color",text:"Color",x:10,y:100,labelWidth:40,inputWidth:35},{key:"alpha",text:"Alpha",x:110,y:100,inputWidth:25,labelWidth:35},{key:"strength",text:"Strength",x:190,y:100,inputWidth:55,val:"0.1"},{key:"url",text:"Link",x:10,y:125,labelWidth:40,inputWidth:120},{key:"tooltext",text:"Tooltip",x:190,y:125,labelWidth:40,inputWidth:60},{key:"dashed",text:"Dashed",x:10,y:150,type:"checkbox",inputPaddingTop:3,
inputWidth:15,labelWidth:40},{key:"dashgap",text:"Dash Gap",x:85,y:150,labelWidth:60,inputWidth:25},{key:"dashlen",text:"Dash Length",x:190,y:150,labelWidth:70,inputWidth:30}],nodeUpdateUIDefinition:[{key:"id",text:"Id",inputWidth:60,x:10,y:15},{key:"dataset",text:"dataset",inputType:"select",inputWidth:110,innerHTML:void 0,x:170,y:15},{key:"x",text:"Value",x:10,y:40,inputWidth:21},{key:"y",text:",",x:88,y:40,inputWidth:21,labelWidth:5},{text:"(x, y)",x:125,y:40,labelWidth:33,noInput:!0},{key:"tooltip",
text:"Tooltip",inputWidth:105,x:170,y:40},{key:"label",text:"Label",inputWidth:92,x:10,y:65},{key:"labelalign",text:"Align",labelWidth:70,inputWidth:110,inputType:"select",innerHTML:'<option></option><option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:145,y:63},{key:"color",text:"Color",x:10,y:90,inputWidth:60},{key:"colorOut",innerHTML:" ",x:85,y:90,inputWidth:15,inputType:"span"},{key:"alpha",text:"Alpha",x:170,y:90,inputWidth:20},
{key:"draggable",text:"Allow Drag",value:!0,inputWidth:20,x:250,y:90,labelWidth:58,inputPaddingTop:3,type:"checkbox"},{key:"shape",text:"Shape",inputType:"select",inputWidth:97,innerHTML:'<option value="rect">Rectangle</option><option value="circ">Circle</option><option value="poly">Polygon</option>',x:10,y:115},{key:"rectHeight",text:"Height",x:170,y:115,inputWidth:20},{key:"rectWidth",text:"Width",x:255,y:115,inputWidth:20},{key:"circPolyRadius",text:"Radius",x:170,y:115,inputWidth:20},{key:"polySides",
text:"Sides",x:255,y:115,inputWidth:20},{key:"link",text:"Link",x:10,y:140,inputWidth:92},{key:"image",text:"Image",type:"checkbox",inputPaddingTop:4,inputWidth:20,x:10,y:170},{key:"imgUrl",text:"URL",inputWidth:105,x:170,y:170},{key:"imgWidth",text:"Width",inputWidth:20,x:10,y:195},{key:"imgHeight",text:"Height",inputWidth:20,x:82,y:195},{key:"imgAlign",text:"Align",inputType:"select",inputWidth:75,innerHTML:'<option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',
x:170,y:195}],showNodeUpdateUI:function(){var b=function(){for(var b=this.graphics.cacheUpdateUI,g=b.fields.shape,e=["rectWidth","rectHeight","circPolyRadius","polySides"],a=e.length,k;a--;)k=e[a],/rect|poly|circ/ig.test(k)&&(b.labels[k].hide(),b.fields[k].hide()),(new RegExp(d(g.val(),"rect"),"ig")).test(k)&&(b.labels[k].show(),b.fields[k].show())},g=function(){var b=this.graphics.cacheUpdateUI.fields,g=pc(b.color.val());g&&b.colorOut.css({background:oc(g)})},e=function(b,g){var e=this.graphics.cacheUpdateUI,
a=b.config.height,d=e.fields.image.val(),l=g?300:0,w=["imgWidth","imgHeight","imgAlign","imgUrl"],y,q,E;y=d?250:215;e.ok.hide();e.cancel.hide();e.remove.hide();e.error.hide();for(q=w.length;!d&&q--;)E=w[q],e.labels[E].hide(),e.fields[E].hide();v.danimate.animate(e.dialog.element,{top:(a-y)/2,height:y},l,"linear",function(){for(q=w.length;q--&&d;)E=w[q],e.labels[E].show(),e.fields[E].show();e.ok.attr({y:y-23-5}).show();e.cancel.attr({y:y-23-5}).show();e.remove.attr({y:y-23-5});e.error.attr({y:y-23-
5+4}).show();e.edit?e.remove.show():e.remove.hide()})};return function(c,a,f){var d=this,k=d.graphics,l=k.cacheUpdateUI,w=d.nodes,y=c.config,q=y.animation,E=c.components.paper,s={width:"80px",border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",padding:"2px",fontFamily:(y.style.inCanvasStyle||{}).fontFamily},T={textAlign:"right"},m=l&&l.fields,r=l&&l.labels,u,y=function(){var b=l&&l.fields,c=l.edit,g=d.chart,e=g.components,a,f,h;a=e.xAxis[0].config.axisRange.min;e=e.yAxis[0].config.axisRange.min;
if(b){switch(b.shape.val()){case "circ":h="circle";break;case "poly":h="polygon";break;default:h="rectangle"}a={x:na(b.x.val(),a),y:na(b.y.val(),e),id:b.id.val(),datasetId:b.dataset.val(),name:b.label.val(),tooltext:b.tooltip.val(),color:b.color.val(),alpha:b.alpha.val(),labelalign:b.labelalign.val(),allowdrag:b.draggable.val(),shape:h,width:b.rectWidth.val(),height:b.rectHeight.val(),radius:b.circPolyRadius.val(),numsides:b.polySides.val(),imagenode:b.image.val(),imagewidth:b.imgWidth.val(),imageheight:b.imgHeight.val(),
imagealign:b.imgAlign.val(),imageurl:b.imgUrl.val(),link:b.link.val()};w[a.id]&&(f=!0);if(f&&void 0===c)l.error.attr({text:"ID already exist."}),b.label.focus();else{b=a.datasetId;if(b!==p||c)c?g.updateNode(a):g.addNode(a),l.hide(),l.visible=!1;return}}l.enableFields()},t=function(){l.hide();l.visible=!1;l.enableFields();l.error.attr({text:B});l.visible=!1},A=function(){c.deleteNode(l.fields.id.val());l.hide();l.visible=!1};l||(l=k.cacheUpdateUI=this.createHtmlDialog(c,350,215,y,t,A),u=l.dialog,r=
l.labels={},m=l.fields={});l.config=a;l.edit=f;l.error||(l.error=E.html("span",{color:"ff0000",x:30,y:228},void 0,u));l.enableFields||(l.enableFields=function(){for(var b in a)a[b]&&a[b].disabled&&m[b]&&m[b].element.removeAttribute("disabled")});l.clearFields||(l.clearFields=function(){var b,c=l.fields;for(b in c)c[b].element.disabled||(c[b].element.value=p)});Ua(this.nodeUpdateUIDefinition,function(f){var k,q=f.key,w={},y=a[q]||{},A,t;!r[q]&&(r[q]=E.html("label",{x:f.x,y:f.y,width:f.labelWidth||
45,text:f.text},T,u));if(!f.noInput){k=m[q];if(!k){s.border="checkbox"==f.type?B:"1px solid #cccccc";k=m[q]=E.html(f.inputType||"input",{x:f.labelWidth&&f.labelWidth+5||50,y:-2+(f.inputPaddingTop||0),width:f.inputWidth||50,name:q||p},s);if("select"!==f.inputType)k.attr({type:f.type||"text"}).on("keyup",l.handleKeyPress);k.add(r[q])}ba(A=na(y.innerHTML,f.innerHTML))&&(w.innerHTML=A);y.disabled?w.disabled="disabled":k.element&&(k.element.disabled=!1);k.attr(w);ba(t=na(y.value,f.value))&&k.val(t);"shape"==
q&&k.on("change",function(){b.call(d,c)});"image"==q&&k.on("click",function(){e.call(d,c,!0)});"color"==q&&k.on("keyup",function(){g.call(d,c)})}});g.call(this,c);e.call(this,c);b.call(this,c);q?l.fadeIn("fast"):l.show();l.visible=!0;l.fields[f?"label":"id"].focus()}}(),getDataLimits:function(){var b=this.datasets,g,e=Infinity,c=-Infinity,a=-Infinity,f=Infinity,d;for(g=0;g<b.length;g++)d=b[g].dataset.config,c=J(c,d.yMax),e=C(e,d.yMin),a=J(a,d.xMax),f=C(f,d.xMin);return{max:c,min:e,xMax:a,xMin:f}},
removeNodeDataset:function(b){this.datasets.splice(b)},removeConnectorSet:function(b){this.connectorSet.splice(b)},removeLabelSet:function(b){this.labelSet.splice(b)},_clearConnectors:function(){var b=this.nodes,g,e,c,a,f;for(g in b)if(c=b[g]){e=c.config.startConnectors||[];c=c.config.endConnectors||[];for(f=0;f<e.length;f++)a={graphics:e[f].graphics||{}},U.call(a);for(f=0;f<c.length;f++)a={graphics:c[f].graphics||{}},U.call(a)}this.nodes={}}}]);FusionCharts.register("component",["dataset","Dragnode",
{type:"dragnode",configure:function(){var b=this.index,g=this.chart,e=this.JSONData,c=g.jsonData.chart,h=(e.data||[]).length,f=this.config,g=g.components.colorManager,n,k,l,w,y,q;f.showValues=a(e.showvalues,c.showvalues,1);q=f.useRoundEdges=a(c.useroundedges);f.zIndex=1;f.name=F(e.seriesname);f.viewMode=a(c.viewmode,0);f.id=d(e.id,this.index);if(0===a(e.includeinlegend)||void 0===f.name)f.showInLegend=!1;f.includeInLegend=a(e.includeinlegend,1);f.showTooltip=a(c.showtooltip,1);f.seriesNameInTooltip=
a(c.seriesnameintooltip,1);f.tooltipSepChar=d(c.tooltipsepchar," - ");n=f.plotFillAlpha=d(c.plotfillalpha,"100");k=f.showPlotBorder=a(c.showplotborder,1);l=f.plotBorderColor=Ha(d(c.plotbordercolor,"666666"));w=f.plotBorderThickness=a(c.plotborderthickness,q?2:1);y=f.plotBorderAlpha=d(c.plotborderalpha,c.plotfillalpha,q?"35":"95");f.use3DLighting=Boolean(a(c.use3dlighting,c.is3d,q?1:0));f.color=Ha(d(e.color,g.getPlotColor(b)));f.alpha=d(e.plotfillalpha,e.nodeFillAlpha,e.alpha,n);f.datasetShowPlotBorder=
Boolean(a(e.showplotborder,k));f.datasetPlotBorderColor=Ha(d(e.plotbordercolor,e.nodebordercolor,l));f.datasetPlotBorderThickness=a(e.plotborderthickness,e.nodeborderthickness,w);f.datasetPlotBorderAlpha=f.datasetShowPlotBorder?d(e.plotborderalpha,e.nodeborderalpha,e.alpha,y):"0";f.seriesname=Z(e.seriesname);f.datasetAllowDrag=Boolean(a(e.allowdrag,1));f.colorObj={fillColor:aa(f.color,f.alpha),lineColor:{FCcolor:{color:f.datasetPlotBorderColor,alpha:f.datasetPlotBorderAlpha}}};f.lineWidth=void 0;
f.symbol="poly_4";b=this.components.data=this.components.data||(this.components.data=[]);c=b.length;c>h&&b.splice(h,c-h);this.visible=1===a(e.visible,!Number(e.initiallyhidden),1);f.yMin=f.yMax=f.xMax=f.xMin=0;this._refreshData=!0;for(e=0;e<h;e+=1)this._setConfigure(e);this._refreshData=!1;this._addLegend()},_setConfigure:function(b,g){var e=this.JSONData,c=e.data,h=g?g:c[b],f=this.components.data,c=this.config,f=f[b]=f[b]||(f[b]={}),n=f.config=f.config||(f.config={}),k=c.id,l=c.yMin||Infinity,w=
c.yMax||-Infinity,y=c.xMax||-Infinity,q=c.xMin||Infinity,E,p,s=c.use3DLighting,m=c.datasetPlotBorderThickness,r=c.datasetPlotBorderColor,u=c.datasetPlotBorderAlpha,t=this.chart.jsonData.chart,A=c.color,v=c.alpha,H=c.datasetAllowDrag,x=this.chart.components.numberFormatter;!f.graphics&&(f.graphics={});n._options=W({},h);if(h||g){E=n.y=x.getCleanValue(d(h.y));p=n.x=x.getCleanValue(d(h.x));n.index=b;n.dragStart||(n.dragStart={});w=J(w,n.y);l=C(l,n.y);y=J(y,n.x);q=C(q,n.x);if(null===E)n.value=null;else{p=
x.xAxis(p);n.formatedVal=null===E?E:x.dataLabels(E);n.setTooltext=F(Z(d(h.tooltext,e.plottooltext,t.plottooltext)));n.pointLabel=d(h.label,h.name);e=Z(n.pointLabel);n.label=e;n.name=e;n.displayValue=e;n.xValue=p;n.toolText=c.showTooltip?this._configureTooltext(n,c,t):!1;n.link=h.link;n.id=d(h.id,k+"_"+b);n.allowDrag=Boolean(a(h.allowdrag,H));e=n.shape=F(d(h.shape),"rectangle").toLowerCase();n.height=F(d(h.height),10);n.width=F(d(h.width),10);n.radius=F(d(h.radius),10);n.numSides=F(d(h.numsides),4);
n.color=Ha(d(h.color,A));n.borderColor=Ha(d(h.bordercolor,r));n.alpha=d(h.alpha,v);n.imageURL=F(h.imageurl);n.imageNode=Boolean(a(h.imagenode));n.imageWidth=h.imagewidth;n.imageHeight=h.imageheight;n.imageAlign=F(h.imagealign,B).toLowerCase();n.labelAlign=d(h.labelalign,n.imageNode&&ba(n.imageURL)?Vb:"middle");switch(n.shape){case "circle":h=0;break;case "polygon":h=2;e=nc(n.numSides);break;default:h=1}n.symbol=e;s?(n.fillColor=this.getPointColor(n.color,n.alpha,h),n.cloneFillColor=this.getPointColor(n.color,
50,h)):(n.fillColor={color:n.color,alpha:n.alpha},n.cloneFillColor=aa(n.color,50));n.rollOverProperties=this.pointHoverOptions(f,t,{shapeType:h,use3D:s,height:n.height,width:n.width,radius:n.radius,color:n.color,alpha:n.alpha,borderColor:n.borderColor,borderAlpha:u,borderThickness:m})}!n.update&&g&&(n.update=g.update);!n.add&&g&&(n.add=g.add);!0===this._refreshData&&delete f.removed}f.dataset=this;c.xMax=y;c.xMin=q;c.yMin=l;c.yMax=w},_configureTooltext:function(b,g,e){var c=b.setTooltext,a=b.formatedVal,
f=g.seriesname,d=b.label,k=b.xValue,l=b.pointLabel,w=g.tooltipSepChar;void 0!==c?b=Ba(c,[3,4,5,6,8,9,10,11],{yaxisName:Z(e.yaxisname),xaxisName:Z(e.xaxisname),yDataValue:a,xDataValue:k,label:d},b,e,g):void 0!==l?b=d:null===a?b=!1:(g.seriesNameInToolTip&&(f=na(g.seriesname)),b=f?f+w:B,b+=k?k+w:B,b+=a);return b},updatePointConfig:function(b,g){var e=this.chart,c=this.config,a=(this.components.data[g]||{}).config,f=e.components.numberFormatter,e=e.jsonData.chart,n=c.yMin||Infinity,k=c.yMax||-Infinity,
l=c.xMax||-Infinity,w=c.xMin||Infinity;void 0!==a&&(a.y=f.getCleanValue(d(b.y)),a.x=f.getCleanValue(d(b.x)),a._options.x=a.x,a._options.y=a.y,J(k,a.y),C(n,a.y),J(l,a.x),C(w,a.x),n=f.xAxis(a.x),a.formatedVal=null===a.y?a.y:f.dataLabels(a.y),a.xValue=n,a.toolText=c.showTooltip?this._configureTooltext(a,c,e):!1,a.update=b.update)},pointHoverOptions:function(b,g,e){var c=a(b.showhovereffect,this.showhovereffect,g.plothovereffect,g.showhovereffect),h={},f=!!d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,
b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,b.borderhovercolor,this.borderhovercolor,g.plotborderhovercolor,b.borderhoveralpha,this.borderhoveralpha,g.plotborderhoveralpha,b.borderhoverthickness,this.borderhoverthickness,g.plotborderhoverthickness,b.hoverheight,this.hoverheight,g.plothoverheight,b.hoverwidth,this.hoverwidth,g.plothoverwidth,b.hoverradius,this.hoverradius,g.plothoverradius,c),n=!1;if(void 0===c&&f||c)n=!0,c=d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,pb(e.color,70)),
f=d(b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,e.alpha),h={stroke:aa(d(b.borderhovercolor,this.borderhovercolor,g.plotborderhovercolor,e.borderColor),a(b.borderhoveralpha,this.borderhoveralpha,g.plotborderhoveralpha,f,e.borderAlpha)),"stroke-width":a(b.borderhoverthickness,this.borderhoverthickness,g.plotborderhoverthickness,e.borderThickness),height:a(b.hoverheight,this.hoverheight,g.plothoverheight,e.height),width:a(b.hoverwidth,this.hoverwidth,g.plothoverwidth,e.width),r:a(b.hoverradius,
this.hoverradius,g.plothoverradius,e.radius)},b=e.use3D?this.getPointColor(Ha(d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,pb(e.color,70))),d(b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,e.alpha),e.shapeType):aa(c,f),h.fill=z(b);return{enabled:n,rollOverAttrs:h}},getJSONData:function(){var b=this.components.data,g=b.length,e=[],c,a;for(a=0;a<g;a++)c=b[a],!c.removed&&c.config._options&&(delete c.config._options.update,delete c.config._options.add,e.push(c.config._options));return e},getPointColor:function(b,
g,e){var c;b=Ha(b);g=$a(g);c=pb(b,80);b=lc(b,65);g={FCcolor:{gradientUnits:"objectBoundingBox",color:c+","+b,alpha:g+","+g,ratio:t}};e?g.FCcolor.angle=1===e?0:180:(g.FCcolor.cx=.4,g.FCcolor.cy=.4,g.FCcolor.r="50%",g.FCcolor.radialGradient=!0);return g},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.plotType="dragnode";this.configure()},_addLegend:function(){var b=this.config,g=this.chart.components.legend,b={enabled:b.includeInLegend,
type:this.type,fillColor:z({color:b.color,alpha:b.alpha}),strokeColor:z({color:b.plotBorderColor,alpha:"100"}),anchorSide:4,strokeWidth:b.anchorBorderThickness,label:na(this.JSONData.seriesname)};this.legendItemId=g.addItems(this,this.legendInteractivity,b)},draw:function(){var b=this.graphics,g=this.chart,e=g.linkedItems.smartLabel,c=this.components.data,a=this.components.removeDataArr||[],f=a.length,d=g.components.paper,k,l=g.config.dataLabelStyle||{color:"#000000"},w;k=g.graphics;w=k.datasetGroup;
var y=k.trackerGroup;k=b.group=b.group||d.group(w);w=b.dragLabelGroup=b.dragLabelGroup||d.group("dragLabelGroup",w);b.trackerContainer=b.trackerContainer||d.group("tracker",y);e.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);e.setStyle(l);g=0;for(e=c.length;g<e;g+=1)d=c[g].removed,!d&&this._drawNode(g);this.drawn=!0;this.visible&&(k.show(),w.show(),b.trackerContainer.show());for(g=0;g<f;g++)this._removeDataVisuals(a.shift())},_drawNode:function(b){var g=this.chart,e=g.components,c=this.groupManager,
h=c.nodes,f=g.config,n=e.paper,k=this.xAxis=e.xAxis[0],l=this.yAxis=e.yAxis[0],e=this.components.data[b],w=e.config,y=this.config,q=g.get("config","animationObj")||{},E=q.duration,s=q.dummyObj,q=q.animObj,m=g.linkedItems.smartLabel,r=f.dataLabelStyle||{color:"#000000"},u={fontFamily:r.fontFamily,fontSize:r.fontSize,lineHeight:r.lineHeight,fontWeight:r.fontWeight,fontStyle:r.fontStyle},t=e.graphics||(e.graphics={}),v=w.symbol,A,x,H,C,F,D,J,I,L,Q=y.colorObj.lineColor,M=y.datasetPlotBorderThickness,
V;C=this.graphics;var R=!c.animationDone,S=function(){g._animCallBack()};L=g.graphics.datasetGroup;var U=C.group,O=e.config.rollOverProperties,X,N,K,$,G=this.components.pool||{},Z;A=t.graphic;var Y=t.cloneGraphic,P=t.cloneText,la=t.cloneImage,W=t.image,ma,aa=t.label;C.cloneGraphicGroup=C.cloneGraphicGroup||n.group("clone",L);w._yPos=l=l.getAxisPosition(w.y);w._xPos=k=k.getAxisPosition(w.x);if(void 0!==l&&!isNaN(l)){w.shapeArg={};w.startConnectors=[];w.endConnectors=[];D=w.shapeArg;x=a(w.height);A=
a(w.width);H=a(w.radius);v="rectangle"===v;C=w.id;F=w.imageNode;J=w.imageURL;I=w.imageAlign;L=w.labelAlign;V=v?A:1.4*H;X=a(w.imageWidth,V);H=v?x:1.4*H;N=a(w.imageHeight,H);$=z(w.fillColor);K={fill:$,"stroke-width":M,stroke:z(Q)};v=D.symbol=d(w.symbol,y.symbol,B);v=v.split("_");Z=[v[1],k,l,w.radius,w.startAngle,0];"poly"===v[0]||"circle"===v[0]?(w.shapeType=v[0],ma="polypath",y="path",Z={polypath:Z},D.x=k,D.y=l,D.radius=w.radius,D.sides=v[1]):(w.shapeType=Cb,y=ma="rect",D.x=k-A/2,D.y=l-x/2,D.r=0,D.width=
A,D.height=x,Z={x:D.x,y:D.y,width:A,height:x,r:0},K.width=A,K.height=x,K.x=k-A/2,K.y=l-x/2,O&&O.enabled&&(O=O.rollOverAttrs,O.x=k-O.width/2,O.y=l-O.height/2,delete O.r));O=(A=t.element)&&A.type;-1===ma.indexOf(O)&&A&&(A.remove(),A=t.element=null,aa&&aa.remove(),W&&W.remove(),delete t.label,delete t.image,aa=W=null);A||(G.element&&G.element[y]&&G.element[y].length?(A=t.element=G.element[y].shift(),A.toFront()):(A=t.element=n[ma](U),A.attr(Z)));A.show().animateWith(s,q,Z,E,R&&S);A.attr({fill:$,"stroke-width":M,
stroke:z(Q)});c.animationDone=!0;Y&&(Y.transform(p),Y.attr(Z));if(F&&J){N>H&&(N=H);X>V&&(X=V);switch(I){case "middle":c=l-N/2;break;case "bottom":c=H>N?l+H/2-N:l-N/2;break;default:c=H>N?l-.5*H:l-N/2}w.imageX=k-X/2;w.imageY=c;w.imageWidth=X;w.imageHeight=N;y="image";W||(G.image&&G.image[y]&&G.image[y].length?(W=t.image=G.image[y].shift(),W.toFront()):W=t.image=n.image(U));W.show().attr({src:J,x:w.imageX,y:c,width:X,height:N});la&&(la.transform(p),la.attr({src:J,x:w.imageX,y:c,width:X,height:N}))}w.pointAttr=
K;this._drawTracker(e,b);b=w.displayValue;if(ba(b)||b!==B){y="text";m.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);f=m.getSmartText(b,V,H);b=.5*H-.5*f.height;switch(L){case "top":b=-b;break;case "bottom":break;default:b=0}e._yAdjustment=b;b=l+b;aa||(G.label&&G.label[y]&&G.label[y].length?(aa=t.label=G.label[y].shift(),aa.toFront()):(aa=t.label=n.text(U),aa.attr({x:k,y:b})));aa.show().animateWith(s,q,{x:k,y:b},E,"normal");aa.attr({text:f.text,title:f.tooltext||p,fill:r.color,"text-bound":[r.backgroundColor,
r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash]}).css(u);P&&(P.transform(p),P.attr({x:k,y:b,text:f.text,title:f.tooltext||p,fill:r.color,"text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash]}))}h[C]=e}},_removeDataVisuals:function(b){var g=this.components.pool||(this.components.pool={}),e,c,a,f;if(b)for(c in b=b.graphics,b)e=g[c]||(g[c]={}),a=(f=b[c])&&f.type,e=e[a]||(e[a]=[]),f.hide&&"function"===typeof f.hide&&(f.attr({"text-bound":[]}),
f.hide(),f.transform&&f.transform(p)),e.push(b[c])},show:function(){var b=this.graphics,g=this.graphics.trackerContainer,e=b.dragLabelGroup;b.group.show();e.show();g.show();this.visible=!0},hide:function(){var b=this.graphics,g=this.graphics.trackerContainer,e=b.dragLabelGroup;b.group.hide();g.hide();e.hide();this.visible=!1},_drawTracker:function(b,g){var e=this,c=e.chart,a=b.config,f=a.shapeArg,n=f.width,k=f.height,l=f.x,w=f.y,y=a.pointAttr,q=a.shapeType,E=f.sides,m=f.radius,f=b.graphics.trackerElement,
T=b.graphics.cloneGraphic,r=e.graphics.trackerContainer,t=a.rollOverProperties,u={},v=c.components.paper,A=b.graphics.cloneImage,x=b.graphics.cloneText,H=function(b,g){return function(e){var a=this.data("hoverAttr");g&&b.graphics.element.attr(a);za.call(this,c,e,"DataPlotRollOver")}},z=function(b,g){return function(e){var a=this.data("unHoverAttr");g&&b.graphics.element.attr(a);za.call(this,c,e,"DataPlotRollOut")}},C=f&&f.data("type"),B=a.toolText,D=a.link?"pointer":a.allowDrag?"move":p;u.fill=s;
u.stroke=s;u.cursor=D;u.ishot=!0;C!=={circle:"path",rect:"rect",poly:"path"}[q]&&f&&(f.remove(),f=b.graphics.trackerElement=null);f?(q!==Cb?f.attr({polypath:[E||2,l,w,m,a.startAngle,0]}).attr(u):f.attr({x:l,y:w,width:n,height:k}).attr(u),f.tooltip(B)):(q!==Cb?(f=b.graphics.trackerElement=v.polypath(E||2,l,w,m,a.startAngle,0,r),f.data("type","path")):(f=b.graphics.trackerElement=v.rect(l,w,n,k,0,r),f.data("type","rect")),T&&(T.remove(),delete b.graphics.cloneGraphic),A&&(A.remove(),delete b.graphics.cloneImage),
x&&(x.remove(),delete b.graphics.cloneText),f.attr(u).tooltip(B),f.hover(H(b,t&&t.enabled),z(b,t&&t.enabled)),f.data("drag-options",{dataObj:b,dataset:e,endConnectors:a.endConnectors,startConnectors:a.startConnectors,boundaryTop:c.config.canvasTop,boundaryBottom:c.config.canvasTop+c.canvasHeight,boundaryLeft:c.config.canvasLeft,boundaryRight:c.config.canvasLeft+c.config.canvasWidth,datasetIndex:e.index,pointIndex:b.config.index,cursor:D,chart:c,link:b.link}),f.drag(function(b,g,a,f){e._dragMove.call(this,
b,g,a,f,c)},function(b){e._dragStart.call(this,b,c)},function(b){e._dragUp.call(this,b)}));a={index:g,link:a.link,y:a.y,x:a.x,shape:d(q,"rect"),width:n,height:k,radius:m,sides:a.numSides,label:a.displayValue,toolText:a.toolText,id:a.id,datasetIndex:e.index,datasetName:e.JSONData.seriesname,sourceType:"dataplot"};f.data("eventArgs",a);f.data("hoverAttr",t&&t.rollOverAttrs);f.data("unHoverAttr",y)},_dragStart:function(b,g){var e=this,c=e.data("drag-options"),a=e.getBBox(),f=c.dataObj,d=f.config,k=c.dataset,
l=k.groupManager,w=l.graphics,y=w.waitElement,q=c.dataset.config,c=q.viewMode;qb&&db(b);var E=g.components.paper,p=k.graphics.trackerContainer,s=d.dragStart||(d.dragStart={}),m=f.graphics.cloneGraphic,r=k.graphics.cloneGraphicGroup,t=f.graphics.cloneText,u=f.graphics.image,A=f.graphics.cloneImage,v=f.graphics.label,x={circle:"circ",rectangle:"rect",polygon:"poly"};Fa&&(e._.dirty=1);d.symbol.split("_");d.allowDrag&&(!m&&f.graphics.element&&(m=f.graphics.cloneGraphic=f.graphics.element.clone(),r.appendChild(m)),
v&&!t&&(t=f.graphics.cloneText=f.graphics.label.clone(),t.followers[0]&&t.followers[0].el&&r.appendChild(t.followers[0].el),r.appendChild(t)),u&&!A&&(A=f.graphics.cloneImage=f.graphics.image.clone(),r.appendChild(A)),r.attr({opacity:.3}),m.show());s.xPos=d._xPos;s.yPos=d._yPos;s.x=d.x;s.y=d.y;s.bBox=a;s.origX=s.lastDx||(s.lastDx=0);s.origY=s.lastDy||(s.lastDy=0);e.data("fire_click_event",1);e.data("mousedown",1);clearTimeout(e._longpressactive);e.data("move",!0);c||(y||(y=w.waitElement=E.ringpath(d._xPos,
d._yPos,8,11,0,0,p).attr({fill:z({alpha:"100,100",angle:120,color:"CCCCCC,FFFFFF",ratio:"30,50"}),"stroke-width":0})),y.attr({ringpath:[d._xPos,d._yPos,8,11,0,0]}).show().animate({ringpath:[d._xPos,d._yPos,8,11,0,6.28]},1E3),e._longpressactive=setTimeout(function(){var b=q.name!==B&&void 0!==q.name?q.name+Wb+" ":B,c=q.id;w.waitElement&&w.waitElement.hide();e.data("fire_click_event",0);l.showNodeUpdateUI(g,{x:{value:d.x},y:{value:d.y},draggable:{value:na(d.allowdrag,1)},color:{value:d.color},alpha:{value:d.alpha},
label:{value:na(d.label,d.name)},tooltip:{value:d.toolText},shape:{value:x[d.shape]},rectWidth:{value:d.width},rectHeight:{value:d.height},circPolyRadius:{value:d.radius},polySides:{value:d.numsides},image:{value:d.imageNode},imgWidth:{value:d.imageWidth},imgHeight:{value:d.imageHeight},imgAlign:{value:d.imageAlign},imgUrl:{value:d.imageURL},id:{value:d.id,disabled:!0},link:{value:d.link},dataset:{innerHTML:'<option value="'+c+'">'+b+c+"</option>",disabled:!0},datasetIndex:k.index},!0)},1E3));m&&
m.show();t&&t.show();A&&A.show();r&&r.show()},_dragMove:function(b,g,e,c,a){var f=this.data("drag-options"),d=f.dataObj;e=d.graphics.cloneGraphic;c=d.graphics.cloneImage;var k=d.graphics.cloneText,d=d.config,l=d.dragStart,w=l.bBox.x+b,y=l.bBox.x2+b,q=l.bBox.y+g,E=l.bBox.y2+g,p=f.dataset.groupManager.graphics,s=a.config.canvasLeft,m=a.config.canvasRight,r=a.config.canvasTop;a=a.config.canvasBottom;w<s&&(b+=s-w);y>m&&(b-=y-m);q<r&&(g+=r-q);E>a&&(g-=E-a);if(b||g)p.waitElement&&p.waitElement.hide(),this.data("fire_click_event",
0),Rb.call(this);d.allowDrag&&(l.draged=!0,l.lastDx=b,l.lastDy=g,a=f._transformObj={transform:"t"+(l.origX+b)+","+(l.origY+g)},e&&e.attr(a),c&&c.attr(a),k&&k.attr({x:d._xPos+b,y:d._yPos+g}))},removeData:function(b,g){var e=this.components,c=this.groupManager,a=e.data,f=e.removeDataArr||(e.removeDataArr=[]);b=b||0;0>b&&(b=0);e.removeDataArr=f.concat(a.splice(b,g||1));c._clearConnectors()},_dragUp:function(b){var g=this.data("drag-options"),e=g.dataset,c=e.chart,a=e.components.data,f=g.dataObj,g=g.dataset.groupManager,
d=e.graphics.cloneGraphicGroup,k=this.data("fire_click_event"),l=f.config,w=c.config.canvasTop,y=c.config.canvasLeft,q=f.config.dragStart||{},E=e.yAxis,p=f.graphics.cloneText,s=e.groupManager.graphics,m=c.components.xAxis[0],r={};s.waitElement&&s.waitElement.hide();Rb.call(this);this.data("mousedown",0);k&&za.call(this,c,b);if(q.draged){q.origX+=q.lastDx;q.origY+=q.lastDy;f.config._xPos=q.xPos+q.lastDx;f.config._yPos=q.yPos+q.lastDy;r.x=m.getValue(f.config._xPos-y);r.y=E.getValue(f.config._yPos-w);
r.update=!0;k=0;for(y=a.length;k<y&&(w=a[k],f.config.id!==w.config.id);k++);e.updatePointConfig(r,k);e=this.data("eventArgs");e.x=r.x;e.y=r.y;b=Qb(c.linkedItems.container,b);b.sourceEvent="dataplotdragend";p.attr({"text-bound":[]});v.raiseEvent("chartupdated",W(b,e),c.chartInstance);g.draw();q.draged=!1}d&&d.hide();delete l.dragStart},getDataLimits:function(){var b=this.config;return{max:b.yMax,min:b.yMin,xMax:b.xMax,xMin:b.xMin}}},"Area"]);FusionCharts.register("component",["dataset","Connector",
{type:"connector",configure:function(){var b=this.chart.jsonData.chart,g=this.config,e=this.components.data||(this.components.data=[]),c=this.JSONData,h=c.connector,f=h&&h.length,n=v.parseUnsafeString;g.connectorsTooltext=F(n(d(c.connectortooltext,b.connectortooltext)));g.stdThickness=a(c.stdthickness,1);g.conColor=Ha(d(c.color,"FF5904"));g.conAlpha=d(c.alpha,"100");g.conDashGap=a(c.dashgap,5);g.conDashLen=a(c.dashlen,5);g.conDashed=Boolean(a(c.dashed,0));g.arrowAtStart=Boolean(a(c.arrowatstart,1));
g.arrowAtEnd=Boolean(a(c.arrowatend,1));g.conStrength=a(c.strength,1);g.toolTipSepChar=d(b.tooltipsepchar," - ");g.showTooltip=a(b.showtooltip,1);g.viewMode=a(b.viewmode,1);b=e.length;b>f&&e.splice(f,b-f);g._refreshData=!0;for(e=0;e<f;e+=1)this._setConfigure(e,h[e]);g._refreshData=!0},_setConfigure:function(b,g){var e=this.components.data,e=e[b]||(e[b]=e[b]={}),c=this.config,h=this.chart,f=Z(d(g.label,g.name)),n=d(g.alpha,c.conAlpha),k=h.linkedItems.smartLabel,l="$fromLabel"+c.toolTipSepChar+"$toLabel",
n={FCcolor:{color:Ha(d(g.color,c.conColor)),alpha:n}},w=F(Z(d(g.tooltext,c.connectorsTooltext)));k.useEllipsesOnOverflow(h.config.useEllipsesWhenOverflow);h=k.getOriSize(f);e.config=e.config||(e.config={});!e.graphics&&(e.graphics={});l=c.showTooltip?d(w,f?"$label":l):!1;f=e.config={_options:g,id:d(g.id,b).toString(),from:d(g.from,B),to:d(g.to,B),label:f,toolText:l,customToolText:w,color:n,index:b,dashStyle:Boolean(a(g.dashed,c.conDashed))?ua(a(g.dashlen,c.conDashLen),a(g.dashgap,c.conDashGap),c.stdThickness):
"none",dashed:g.dashed,dashlen:g.dashlen,dashgap:g.dashgap,arrowAtStart:Boolean(a(g.arrowatstart,c.arrowAtStart)),arrowAtEnd:Boolean(a(g.arrowatend,c.arrowAtEnd)),conStrength:a(g.strength,c.conStrength),link:g.link,stdThickness:c.stdThickness,labelWidth:h.widht,labelHeight:h.height};f.add=g.add;f.update=g.update;c._refreshData&&delete e.removed},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},draw:function(){var b=this,
g=b.chart,e=b.groupManager,c=b.config,h=b.chart.components,f=e.nodes,n=b.components.data,k,l,w,y,q,E={},s=h.paper,m=g.graphics.datasetGroup;l=f[l];var r=f[w],h=h.numberFormatter,t,u,v,A,x,H,C=g.config.dataLabelStyle,B,D=function(){var f=this,h=f.data("config"),d=h||{};f._longpressactive=clearTimeout(f._longpressactive);f.data("fire_click_event",1);f._longpressactive=setTimeout(function(){f.data("fire_click_event",0);f.data("viewMode")||e.showConnectorUpdateUI(g,{fromid:{val:d.from,innerHTML:"<option>"+
d.from+"</option>",disabled:!0},toid:{val:d.to,innerHTML:"<option>"+d.to+"</option>",disabled:!0},datasetIndex:b.index,index:h.index,arratstart:{val:Boolean(a(d.arrowatstart,1))},arratend:{val:Boolean(a(d.arrowatend,1))},dashed:{val:a(d.dashed)},dashgap:{val:d.dashgap},dashlen:{val:d.dashlen},label:{val:d.label},tooltext:{val:d.tooltext},id:{val:c.id,disabled:!0},strength:{val:d.conStrength},alpha:{val:d.alpha},color:{val:d.color.FCcolor.color}},!0)},1E3)},F=function(){this.data("fire_click_event",
0);Rb.call(this)},I=function(b){Rb.call(this);za.call(this,g,b,"ConnectorClick")},L=function(b){za.call(this,g,b,"ConnectorRollover")},Q=function(b){za.call(this,g,b,"ConnectorRollout")},J=n.length,V=b.components.removeDataArr||[],R=V.length,S,M,O=b.components.pool||{},X=g.get("config","animationObj"),U=X.duration,N=X.dummyObj,X=X.animObj,$;$||($=b.graphics.connectorGroup=b.graphics.connectorGroup||s.group("connectorGroup").insertBefore(m));c.showTooltip&&$.trackTooltip(!0);for(B=0;B<J;B++)k=n[B],
k.removed||(S=k.config,m=k.graphics||(k.graphics={}),l=S.from,w=S.to,t=S.toolText,l=f[l],r=f[w],l&&r&&!0!==S.deleted&&(S.fromPointObj=l,S.toPointObj=r,t=l.config,M=r.config,S.fromX=u=t._xPos,S.fromY=v=t._yPos,S.toX=A=M._xPos,S.toY=x=M._yPos,S.strokeWidth=y=S.conStrength*S.stdThickness,q=S.color,S.textBgColor=w=q&&q.FCcolor&&q.FCcolor.color,H=E.label=S.label,E.arrowAtStart=S.arrowAtStart,E.arrowAtEnd=S.arrowAtEnd,E.link=S.link,E.id=S.id,E.fromNodeId=t.id,E.toNodeId=M.id,t=S.toolText=Ba(S.toolText,
[3,83,84,85,86,87,88,89,90,91,92],{label:S.label,fromXValue:h.dataLabels(l.config.x),fromYValue:h.dataLabels(l.config.y),fromXDataValue:l.config.x,fromYDataValue:l.config.y,fromLabel:d(l.config.displayValue,l.config.id),toXValue:h.dataLabels(r.config.x),toYValue:h.dataLabels(r.config.y),toXDataValue:r.config.x,toYDataValue:r.config.y,toLabel:d(r.config.displayValue,r.config.id)}),l.config&&l.config.startConnectors&&l.config.startConnectors.push(k),r.config&&r.config.endConnectors&&r.config.endConnectors.push(k),
l=this._getlinePath(k),k=m.graphic,m.graphic||(O.graphic&&O.graphic.path&&O.graphic.path.length?k=m.graphic=O.graphic.path.shift():(k=m.graphic=s.path($).mousedown(D).mousemove(F).mouseup(I).hover(L,Q),k.attr({path:l}))),k.show().animateWith(N,X,{path:l},U,"normal"),k.attr({"stroke-width":y,ishot:!0,"stroke-dasharray":S.dashStyle,cursor:S.link?"pointer":p,stroke:z(q)}).data("eventArgs",E).data("viewMode",c.viewMode).data("config",S).tooltip(t),l=m.text,H?(m.text||(O.text&&O.text.length?m.text=l=O.text.shift():
(m.text=l=s.text($).mousedown(D).mousemove(F).mouseup(I).hover(L,Q),l.attr({x:(u+A)/2,y:(v+x)/2}))),l.show().css(C).animateWith(N,X,{x:(u+A)/2,y:(v+x)/2},U,"normal"),l.attr({text:H,fill:C.color,ishot:!0,direction:p,cursor:S.link?"pointer":p,"text-bound":[d(C.backgroundColor,w),d(C.borderColor,w),1,"2"]}).data("eventArgs",E).data("viewMode",c.viewMode).data("config",S).tooltip(t)):l&&l.hide().attr({"text-bound":[]})));b.drawn=!0;for(B=0;B<R;B++)b._removeDataVisuals(V.shift())},getJSONData:function(){var b=
this.components.data,g=b.length,e=[],c,a;for(a=0;a<g;a++)c=b[a],c.removed||(c.config._options&&(delete c.config._options.update,delete c.config._options.add),e.push(c.config._options));return e},_updateFromPos:function(b,g){this.fromX=b;this.fromY=g;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_updateToPos:function(b,g){this.toX=b;this.toY=g;this.graphic&&this.graphic.animate({path:this.getlinePath()});
this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_getlinePath:function(b){b=b.config;var g=b.fromPointObj,a=b.toPointObj,c=b.fromX,h=b.fromY,f=b.toX,d=b.toY,k=["M",c,h];b.arrowAtStart&&(g=g.config,k=g.shapeType===Cb?k.concat(this._drawArrow(c,h,f,d,g.shapeArg.width,g.shapeArg.height)):k.concat(this._drawArrow(c,h,f,d,g.shapeArg.radius)));b.arrowAtEnd&&(g=a.config,k=g.shapeType===Cb?k.concat(this._drawArrow(f,d,c,h,g.shapeArg.width,g.shapeArg.height)):k.concat(this._drawArrow(f,
d,c,h,g.shapeArg.radius)));k.push("L",f,d);return k},_drawArrow:function(b,g,a,c,h,f){var d=u.atan((g-c)/(b-a)),k=[];0>d&&(d=2*u.PI+d);if(c>g){if(a>=b&&d>u.PI||a<b&&d>u.PI)d-=u.PI}else if(a>=b&&d<u.PI&&0!==d||a<b&&d<u.PI)d+=u.PI;"undefined"==typeof f?(a=b+h*da(d),h=g+h*N(d)):(h=Ca(h)/2,f=Ca(f)/2,a=b+(h=b<a?h:-h),h=g+h*u.tan(d),Ca(g-h)>Ca(f)&&(h=g+(f=g<c?f:-f),a=b+f/u.tan(d)));k.push("L",a,h,a+10*da(d+.79),h+10*N(d+.79),"M",a+10*da(d-.79),h+10*N(d-.79),"L",a,h);return k},removeData:function(b,g){var a=
this.components,c=a.data;0>b&&(b=0);a.removeDataArr=c.splice(b,g)}},"Dragnode"]);FusionCharts.register("component",["dataset","DragableLabels",{configure:function(){var b=(this.JSONData||[]).length,g,e=this.components.data;this.config.viewMode=a(this.chart.jsonData.chart.viewmode,0);e||(e=this.components.data=[]);g=e.length;g>b&&e.splice(b,g-b);for(g=0;g<b;g++)this._setConfigure(g)},_setConfigure:function(b,g){var e=this.JSONData,e=g?g:e[b],c=this.components.data,h,f=this.chart.config.style.inCanvasStyle,
n=f.fontSize,k;h=c[b];!h&&(h=c[b]={});!h.graphics&&(h.graphics={});c=h.config=h.config||(h.config={});h=Z(d(e.text,e.label));c._options=e;c.add=e.add;h&&(c.text=h,c.x=e.x||0,c.y=e.y||0,c.labelFontSize=k=a(e.fontsize,n),c.labelColor=h=d(e.color,f.color),c.alpha=n=a(e.alpha,100)/100,c.allowdrag=a(e.allowdrag,1),c.padding=a(e.padding,5),c.labelStyle=f={fontSize:k+"px",fontFamily:f.fontFamily,fill:h,color:h,opacity:n},c.labelBGColor=h=d(e.bgcolor&&e.bgcolor.replace(Y,qa)),c.labelBDColor=k=d(e.bordercolor&&
e.bordercolor.replace(Y,qa)),c.link=e.link,c.allowDrag=a(e.allowdrag,1),h&&(f.backgroundOpacity=n),c.borderThickness=e.borderthickness,c.dashLen=e.dashlen,c.dashGap=e.dashgap,c.dashed=e.dashed,c.radius=e.radius,k&&(f.borderOpacity=n))},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},getJSONData:function(){var b=this.components.data,g=b.length,a=[],c,h;for(h=0;h<g;h++)c=b[h],c.removed||c.config._options&&a.push(c.config._options);
return a},draw:function(){var b=this.components.data,g=this.chart,e=g.get("config","animationObj"),c=e.duration,h=e.dummyObj,e=e.animObj,f=g.components.paper,d=g.components.yAxis[0],k=g.components.xAxis[0],l=g.linkedItems.smartLabel,w=g.graphics.datalabelsGroup,y=g.graphics.trackerGroup,q=g.config.dataLabelStyle,E,s,m,r,t,u,v,A,x,z,C,B,D,F,I,L=b.length,Q=this.components.removeDataArr||[],J=Q.length,V=this.components.pool||{},R,w=this.graphics.dataLabelContainer=this.graphics.dataLabelContainer||f.group("datalabels",
w);this.graphics.trackerContainer=this.graphics.trackerContainer||f.group("tracker",y);for(R=0;R<L;R++)z=b[R],z.removed||(x=z.config,!z.graphics&&(z.graphics={}),x.index=R,y=k.getPixel(x.x),r=d.getPixel(x.y),t=x.text,u=x.labelBGColor,v=x.labelBDColor,A=x.padding,C=x.allowDrag,B=x.labelFontSize,D=x.labelStyle,F=x.radius,m=x.dashed,E=x.dashLen,s=x.dashGap,I=x.borderThickness,E={text:t,"class":"fusioncharts-label",align:"center","text-bound":[u||p,v||p,a(I,1),A,a(F,0),a(m,0)?ua(a(E,5),a(s,4),a(I,1)):
"none"],"font-size":B,"font-weight":q.fontWeight,"font-style":q.fontStyle,"font-family":q.fontFamily,visibility:"visible"},u={backgroundColor:u,borderColor:v,borderPadding:A,fontSize:B+"px",fontStyle:q.fontStyle,fontWeight:q.fontWeight,borderRadius:0,borderDash:"none",fontFamily:q.fontFamily},dc(u),l.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),l.setStyle(u),u={link:x.link,text:t,x:y,y:r,allowdrag:C,sourceType:"labelnode"},C=z.graphics.element,C||(V.element&&V.element.length?C=z.graphics.element=
V.element.shift():(C=z.graphics.element=f.text(w),C.attr({x:y,y:r}))),C.animateWith(h,e,{x:y,y:r},c,"normal"),C.css(D).attr(E),C.data("eventArgs",u),t=l.getOriSize(t),x.width=t.width,x.height=t.height,x.xPos=y,x.yPos=r,this.drawTracker(C,R));for(R=0;R<J;R++)this._removeDataVisuals(Q.shift())},removeData:function(b,g){var a=this.components;a.removeDataArr=a.data.splice(b,g)},drawTracker:function(b,g){var a=this,c=a.chart,h=c.components.paper,f=a.groupManager,d=a.config,k=a.graphics.trackerContainer,
l=a.components.data[g],w=l.config,y=w.padding||0,q=w.width,E=w.height,m=w.xPos-q/2,r=w.yPos-E/2,t=l.graphics.trackerElement,y={x:m-y,y:r-y,width:q+2*y,height:E+2*y,cursor:w.allowDrag?"move":p,fill:s,stroke:s,ishot:!0},q=function(b){var c=this;c.data("fire_click_event",1);clearTimeout(c._longpressactive);c._longpressactive=setTimeout(function(){c.data("fire_click_event",0);c.data("viewMode")||f.showLabelDeleteUI(b)},1E3)},E=function(){this.data("fire_click_event")&&(this.data("fire_click_event",0),
f.clearLongPress.call(this))},u=function(b){var g=this.data("fire_click_event");f.clearLongPress.call(this);g&&za.call(this,c,b,"LabelClick")},v=function(b){za.call(this,c,b,"LabelRollover")},x=function(b){za.call(this,c,b,"LabelRollout")},w={link:w.link,text:w.text,x:m,y:r,allowdrag:w.allowDrag,sourceType:"labelnode"};t||(t=l.graphics.trackerElement=h.rect(k).mousedown(q).mousemove(E).mouseup(u).data("viewMode",d.viewMode).data("eventArgs",w).hover(v,x).drag(function(b,g,f,h,d){a._labelDragMove.call(this,
b,g,f,h,c,d)},function(b){a._labelDragStart.call(this,b,c)},function(b){a._labelDragUp.call(this,b)}));t.attr(y);t.data("drag-options",{index:g,dataset:a})},_labelDragStart:function(){var b=this,g=b.getBBox(),a=b.data("drag-options"),c=a.dataset,h=c.groupManager,f=c.components.data[a.index],c=f.graphics.element,d=f.dragStart=f.dragStart||(f.dragStart={});a.ox=c.attr("x");a.oy=c.attr("y");a.bBox=g;d.xPos=f.config.xPos;d.yPos=f.config.yPos;d.bBox=g;b.data("fire_click_event",1);b.data("fire_dragend",
0);clearTimeout(b._longpressactive);b._longpressactive=setTimeout(function(){b.data("fire_click_event",0);b.data("viewMode")||h.showLabelDeleteUI(f)},1E3)},_labelDragMove:function(b,g,a,c,d,f){c=d.config;a=c.canvasLeft;var n=c.canvasRight,k=c.canvasBottom;c=c.canvasTop;var l=this.data("drag-options"),w=l.dataset,y=w.groupManager,w=w.components.data[l.index],q=w.graphics.element,E=w.dragStart,p=E.bBox,m=E.bBox.x+b,s=E.bBox.x2+b,r=E.bBox.y+g,t=E.bBox.y2+g,u=d.components.yAxis[0],v=d.components.xAxis[0];
m<a&&(b+=a-m);s>n&&(b-=s-n);r<c&&(g+=c-r);t>k&&(g-=t-k);E.draged=!0;this.attr({x:p.x+b,y:p.y+g});n=l.ox+b;k=l.oy+g;q.attr({x:l.ox+b,y:l.oy+g});w.config.x=v.getValue(n-a);w.config.y=u.getValue(k-c);this.data("fire_dragend")||(za.call(this,d,f,"LabelDragStart"),this.data("fire_dragend",1));this.data("fire_click_event")&&(this.data("fire_click_event",0),y.clearLongPress.call(this))},_labelDragUp:function(b){var g=this.data("drag-options"),a=g.dataset,c=a.chart,d=a.groupManager,f=a.components.data[g.index].dragStart,
g=this.data("eventArgs"),a=a.yAxis;g.x=c.components.xAxis[0].getValue(this.attr("x"));g.y=a.getValue(this.attr("y"));f.draged=!1;this.data("fire_dragend")&&(a=Qb(c.linkedItems.container,b),a.sourceEvent="labeldragend",v.raiseEvent("chartupdated",W(a,g),c.chartInstance),za.call(this,c,b,"labeldragend"));d.clearLongPress.call(this)}},"Dragnode"]);K("dragarea",{friendlyName:"Dragable Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"dragarea",decimals:2,anchorAlpha:"100",applicableDSList:{dragarea:!0}},
K.dragbase);K("dragline",{friendlyName:"Dragable Line Chart",standaloneInit:!0,creditLabel:!1,decimals:2,defaultDatasetType:"dragline",applicableDSList:{dragline:!0},defaultPlotShadow:1},K.dragbase);K("dragcolumn2d",{friendlyName:"Dragable Column Chart",standaloneInit:!0,creditLabel:!1,decimals:2,defaultDatasetType:"DragColumn",applicableDSList:{dragcolumn:!0}},K.dragbase);FusionCharts.register("component",["dataset","DragColumn",{configure:function(){var b,g=this.chart.jsonData.chart,e,c;c=this.JSONData;
var d=this.JSONData.data||[],f,n;this.__base__.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.snapToDiv=b.snapToDivOnly?1:a(g.snaptodiv,1);b.doNotSnap=a(g.donotsnap,0);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);f=e.length;for(g=0;g<f;g++)n=d[g]||{},c=e[g].config,c.allowDrag=a(n.allowdrag,
b.allowDrag),c.allowNegDrag=a(n.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data.length,g;this.__base__.draw.call(this);for(g=0;g<b;g++)this.drawTracker(g)},drawTracker:function(b){var g=this.chart,a=g.components.paper,c=this.components.data[b],d=c.graphics||{},f=c._width,n=c._xPos,k=d.element,l=c._yPos+(0>c.config.setValue&&c._height)||0,w=qb?40:10,d=d&&d.dragTracker||null,y=this.components.pool||{},q=this.graphics.trackerContainer,E=c.config.setValue,p=c.config.allowDrag;
k&&null!==E&&p&&(k.getBBox(),f=["M",n,l,"L",n+f,l,"Z"],w={path:f,stroke:s,"stroke-width":w,ishot:!0,cursor:D&&"ns-resize"||"n-resize"},d||(y.dragTracker&&y.dragTracker.length?d=c.graphics.dragTracker=y.dragTracker.shift():(d=c.graphics.dragTracker=a.path(q),d.drag(this.dragMove,this.dragStart,this.dragUp))),d.attr(w).data("drag-options",{items:k,yPos:l,chart:g,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:b,dataObj:c}),c.graphics.dragTracker=d)},dragStart:function(){var b=this.data("drag-options"),
g=b.chart,a=g.config,c=g.components.yAxis[0],g=c.config.axisRange.max,c=c.config.axisRange.min,d=this.getBBox();b.barH=b.items.getBBox().height;b.isAllPositive=0<g&&0<c;b.isAllPositiveZero=0<g&&0<=c;b.isAllNegative=0>g&&0>c;b.isAllNegativeZero=0>=g&&0>c;b.isPositiveNegative=0<g&&0>c;b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.bBoxY=d.y;b.bBoxY2=d.y2||d.y+d.height;b.startValue=b.dataObj.config.setValue;b.origX=b.lastX||(b.lastX=0);b.origY=b.lastY||(b.lastY=0);b.draged=!1},
dragMove:function(b,g){var a=this.data("drag-options"),c=a.items,h=a.dataObj,f=a.chart,n=h.config,k=f.config,l=f.components,w=l.canvas.config,y=l.yAxis[0],q=l.dataset[a.datasetIndex],l=l.numberFormatter,E=y.getPixel(y.getAxisBase()),p={},m=a.bBoxY2+g,s=a.bBoxY+g,r=k.canvasBottom,t=h.config.allowNegDrag?r:E,k=k.canvasTop,u=parseFloat(q.config.plotBorderThickness)||0,w=w.showCanvasBorder,v=a.isAllNegativeZero,x=a.isPositiveNegative,z=h._xPos,B=h._width,D=h.graphics.hotElement;s<a.boundaryTop&&(g=a.boundaryTop-
a.bBoxY);m>t&&(g=t-a.bBoxY2);a.draged||(m={dataIndex:a.pointIndex+1,datasetIndex:a.datasetIndex,startValue:a.startValue,datasetName:a.name},M.raiseEvent("dataplotDragStart",m,f.chartInstance));m=a.yPos+g;m<=E?(p.y=m,p.height=E-m):(p.y=E,p.height=m-E);w&&!x&&(v?p.y-=p.y-(k-u/2):p.height=r-p.y+u);this.attr({path:["M",z,m,"L",z+B,m]});c.animate(p);D.data("draged",!0);a.shapeAttr=p;c=a.value=ga(y.getValue(m-k));n.setValue=c;y=y.getPixel(y.getAxisBase());h._yPos=C(m,y);h._height=p.height;y=l.dataLabels(c);
n.toolTipValue=y;n.displayValue=d(n.setDisplayValue,y);a.draged=!0;a.lastX=b;a.lastY=g;h.draged=!0;h.lastX=b;h.lastY=g;f=f.config.animationObj;h=f.duration;f.duration=0;q.drawLabel(a.pointIndex,a.pointIndex+1);f.duration=h},dragUp:function(){var b=this.data("drag-options"),a=b.chart,e=a.components.dataset[b.datasetIndex],c=e.config,d=!c.doNotSnap,f=b.dataObj,n=e.yAxis,k,l,w=a.config.canvasTop,y=f.config.setTooltext,q=c.snapToDivRelaxation,E=c.snapToDiv,p=f.graphics.hotElement,m=c.snapToDivOnly,c=
f.config,s=c.setValue,c=c.toolTipValue;b.draged&&(l=k=b.yPos+b.lastY,d&&E&&(l=Ca(n.getValue(k+q-w)-s),d=n.getClosestDiv(s,m?null:l),l=n.getPixel(d),f.config.setValue=d,l-k&&e.dragMove.call(this,0,l-b.yPos)),f={dataIndex:b.pointIndex+1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:f.config.setValue,datasetName:b.name},n=[a.chartInstance.id,f.dataIndex,f.datasetIndex,f.datsetName,f.startValue,f.endValue],M.raiseEvent("dataplotDragEnd",f,a.chartInstance),v.raiseEvent("chartupdated",
f,a.chartInstance,n),b.yPos=l,b.lastX+=b.origX,b.lastY+=b.origY,p.data("draged",!1),p&&p.attr(b.shapeAttr).tooltip(y+c),e.setMaxMin(),a._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,a=this.components.data,e=[],c={},d,f,n,k,l;l=0;for(k=b.length;l<k;l++){f=b[l];d=a[l];c={};for(n in f)c[n]="value"===n?d.config.setValue:f[n];e.push(c)}return{data:e}}},"Column"]);FusionCharts.register("component",["datasetGroup","DragColumn",{getJSONData:function(){var b=this.chart,a=b.components.dataset,
b=b.jsonData&&b.jsonData.dataset,e=[],c,d,f,n=a.length;for(f=0;f<n;f++)c=a[f],d=W({},b[f]),delete d.data,c=c.getJSONData(),e.push(W(d,c));return e}},xa]);FusionCharts.register("component",["dataset","DragArea",{configure:function(){var b,g=this.chart.jsonData.chart;b=FusionCharts.get("component",["dataset","area"]);var e,c,d;c=this.JSONData;var f=c.data||[],n;b.prototype.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);
b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.doNotSnap=a(g.donotsnap,0);b.snapToDiv=a(g.snaptodiv,1);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);n=e.length;for(g=0;g<n;g++)d=f[g]||{},c=e[g].config,c.allowDrag=a(d.allowdrag,b.allowDrag),c.allowNegDrag=a(d.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data,a,e=b.length,c;this.__base__.draw.call(this);for(c=0;c<e;c++)a=b[c],(a=a.config.anchorProps.imageUrl)||
this.drawTracker(c)},drawTracker:function(b){var a=this.chart,e=this.components.data,c=e[b],d=(c.graphics||{}).hotElement||null,f=this.dragStart,n=this.dragUp,k=this.dragMove,l=c.config,w=c._xPos,y=c._yPos;d&&(!l.trackerListenerBind&&l.allowDrag&&(d.drag(k,f,n),l.trackerListenerBind=!0),l.allowDrag&&d.attr({cursor:D&&"ns-resize"||"n-resize",ishot:!0,cx:w,cy:y}).data("drag-options",{items:e,yPos:y,chart:a,datasetIndex:this.index,name:this.JSONData.seriesname,pointIndex:b,dataObj:c}))},dragStart:function(){var b=
this.data("drag-options"),a=b.chart.config;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.startValue=b.dataObj.config.setValue;b.origY=this.attr("cy");b.origX=this.attr("cx");b.draged=!1},dragMove:function(b,a){var e=this.data("drag-options"),c=e.items,h=e.dataObj,f=e.chart,n=f.config.animationObj,k=f.components,l=k.dataset[e.datasetIndex],w=l.graphics.lineElement,y=k.yAxis[0],q=h._xPos,E=h.config,p=n.duration,k=k.numberFormatter,m=f.config.canvasTop,
s=c[e.pointIndex].graphics,r=y.getPixel(y.getAxisBase()),t=h.config.allowNegDrag?e.boundaryBottom:r,r=s.image,u=l.graphics.anchorGroup,v=h.config.anchorProps,x=v.imageUrl,z=s.element,C,s=h.config.showValue,B;B=e.origY+a;e.draged||(C={dataIndex:e.pointIndex+1,datasetIndex:e.datasetIndex,startValue:e.startValue,datasetName:e.name},M.raiseEvent("dataplotDragStart",C,f.chartInstance));B<e.boundaryTop&&(a=e.boundaryTop-e.origY);B>t&&(a=t-e.origY);B=e.origY+a;this.attr({cy:B});Fa&&x?r=z:(t=z.data("setRolloverAttr"),
(x=z.data("setRolloutAttr"))&&(x.polypath[2]=B),t&&(t.polypath[2]=B),z&&z.attr({polypath:[v.symbol[1]||2,q,B,v.radius,90,0]}),z.data("setRolloverAttr",t),z.data("setRolloutAttr",x));h._yPos=B;r&&l.updateImage(h,f,u);f=E.setValue=y.getValue(B-m);f=k.dataLabels(f);h.config.toolTipValue=f;E.displayValue=d(E.setDisplayValue,f);n.duration=0;s&&l.drawLabel(e.pointIndex);n.duration=p;e.draged=!0;this.data("draged",!0);e.lastY=a;e=l.getLinePath(c,{});l.config.lastPath=e;w&&w.attr({path:e.getPathArr()})},
updateImage:function(b){var a=this.chart,e=b.graphics,e=e.image||e.element,c=b.config,d=c.anchorProps,f=c.hoverEffects,c=e&&e.data("imgRef"),n=function(b){var c=b.length,a=p,g;for(g=0;g<c;g+=1)a+=" "+b[g];return a},k=d.imageScale,l=a.components.paper,w=c.height*k*.01,y=c.width*k*.01,a=b._xPos;b=b._yPos;var q=f.imageHoverScale,E=c.width*q*.01,m=c.height*q*.01,s=d.radius=d.isAnchorRadius?d.radius:C(y,w)/2,r=d.imagePadding,t=s-r-.5*d.borderThickness,r=f.radius-r-.5*f.anchorBorderThickness,s=d.symbol[1],
d=l.polypath(s||2,a,b,0<t?t:0,d.startAngle,0).attr({visibility:"hidden"}),t=n(d.attrs.path),k={x:a-c.width*k*.005,y:b-c.height*k*.005,width:y,height:w,alpha:100};Fa||(k["clip-path"]=t);d.remove();d=l.polypath(s||2,a,b,0<r?r:0,f.startAngle,f.dip);f=n(d.attrs.path);d.remove();c={x:a-c.width*q*.005,y:b-c.height*q*.005,width:E,height:m,alpha:100};Fa||(c["clip-path"]=f);e.attr(k);e.data("setRolloverAttr",c);e.data("setRolloutAttr",k)},dragUp:function(){var b=this.data("drag-options"),a=b.dataObj,e=b.chart,
c=e.components.dataset[b.datasetIndex],d=c.config,f=d.showTooltip,n=a.config.setTooltext,k=!d.doNotSnap,l=a.config.displayValue,w=e.config.canvasTop,y=c.yAxis,q=d.snapToDivRelaxation,E=d.snapToDivOnly,m=d.snapToDiv,s=a.config.setValue,r;b.draged&&(d=r=b.yPos+b.lastY,k&&m&&(d=Ca(y.getValue(r+q-w)-s),E=y.getClosestDiv(s,E?null:d),a.config.setValue=E,d=y.getPixel(E),d-r&&c.dragMove.call(this,0,d-b.yPos)),y={dataIndex:b.pointIndex+1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:a.config.setValue,
datasetName:b.name},E=[e.chartInstance.id,y.dataIndex,y.datasetIndex,y.datsetName,y.startValue,y.endValue],M.raiseEvent("dataplotDragEnd",y,e.chartInstance),v.raiseEvent("chartupdated",y,e.chartInstance,E),b.yPos=d,a._yPos=d,n+=l,a.graphics.hotElement.attr({y:b.yPos}).tooltip(f?n:p),b._lastY=b.lastY+b._origY,b.lastY+=b.origY,this.data("draged",!1),c.setMaxMin(),e._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,a=this.components.data,e=[],c={},d,f,n,k,l;l=0;for(k=b.length;l<k;l++){d=
b[l];f=a[l];c={};for(n in d)c[n]="value"===n?f.config.setValue:d[n];e.push(c)}return{data:e}}},"Area"]);FusionCharts.register("component",["datasetGroup","DragArea",{getJSONData:function(){var b=this.chart,a=b.components.dataset,b=b.jsonData&&b.jsonData.dataset,e=[],c,d,f,n=a.length;for(f=0;f<n;f++)c=a[f],d=W({},b[f]),delete d.data,c=c.getJSONData(),e.push(W(d,c));return e}},"area"]);FusionCharts.register("component",["dataset","DragLine",{configure:function(){var b,g=this.chart.jsonData.chart,e,
c,d;c=this.JSONData;var f=c.data||[],n;this.__base__.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.snapToDiv=a(g.snaptodiv,1);b.doNotSnap=a(g.donotsnap,0);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);n=e.length;for(g=0;g<n;g++)d=f[g]||{},c=e[g].config,c.allowDrag=a(d.allowdrag,b.allowDrag),
c.allowNegDrag=a(d.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data,a=FusionCharts.get("component",["dataset",ra]),e,c=b.length;a.prototype.draw.call(this);for(a=0;a<c;a++)e=b[a],(e=e.config.anchorProps.imageUrl)||this.drawTracker(a)},drawTracker:function(b){var a=this.chart,e=this.components.data,c=e[b],d=c.graphics.hotElement||null,f=this.dragStart,n=this.dragUp,k=this.dragMove,l=c.config,w=c._yPos;d&&(!l.trackerListenerBind&&l.allowDrag&&(d.drag(k,f,n),l.trackerListenerBind=
!0),l.allowDrag&&d.attr({cursor:D&&"ns-resize"||"n-resize",ishot:!0}).data("drag-options",{items:e,yPos:w,chart:a,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:b,dataObj:c}))},dragStart:function(){var b=this.data("drag-options"),a=b.chart.config;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.startValue=b.dataObj.config.setValue;b.origY=this.attr("cy");b.origX=this.attr("cx");b.latestY=b.origY;b.draged=!1},dragMove:function(b,
a){var e=this.data("drag-options"),c=e.items,h=c[e.pointIndex],f=e.dataObj,n=f.config,k=e.chart,l=k.components,w=l.dataset[e.datasetIndex],y=FusionCharts.get("component",["dataset","DragArea"]),q=k.config.animationObj,E=l.yAxis[0],p=f._xPos,m=q.duration,s=l.numberFormatter,r=k.config.canvasTop,t=h.graphics,h=E.getPixel(E.getAxisBase()),u=f.config.allowNegDrag?e.boundaryBottom:h,v=t.image,x=f.config.anchorProps,z=x.imageUrl,h=w.graphics.lineElement,l=f.config.showValue,C=c.length,B,t=t.element,D;D=
e.origY+a;e.draged||(B={dataIndex:e.pointIndex+1,datasetIndex:e.datasetIndex,startValue:e.startValue,datasetName:e.name},M.raiseEvent("dataplotDragStart",B,k.chartInstance));D<e.boundaryTop&&(a=e.boundaryTop-e.origY);D>u&&(a=u-e.origY);D=e.origY+a;this.attr({cy:D});Fa&&z?v=t:(u=t.data("setRolloverAttr"),(k=t.data("setRolloutAttr"))&&(k.polypath[2]=D),u&&(u.polypath[2]=D),t&&t.attr({polypath:[x.symbol[1]||2,p,D,x.radius,90,0]}),t.data("setRolloverAttr",u),t.data("setRolloutAttr",k));f._yPos=D;v&&y.prototype.updateImage.call(w,
f);e.latestY=D;f._yPos=D;f=n.setValue=E.getValue(D-r);f=s.dataLabels(f);n.toolTipValue=f;n.displayValue=d(n.setDisplayValue,f);for(n=0;n<C;n++)if(t=c[n].graphics,f=t.connector)E=c[n],y=E.config.connStartIndex,E=E.config.connEndIndex,y=w.getLinePath(c,{},{begin:y,end:E+1}),f.attr({path:y.getPathArr()});h&&(n=w.config,y=n.pathStartIndex,E=n.pathEndIndex,y=w.getLinePath(c,{},{begin:y,end:E}),h.attr({path:y.getPathArr()}));q.duration=0;l&&w.drawLabel(e.pointIndex);q.duration=m;e.draged=!0;this.data("draged",
!0);e.lastY=a},dragUp:function(){var b=this.data("drag-options"),a=b.dataObj,e=b.chart,c=e.components.dataset[b.datasetIndex],d=c.config,f=d.showTooltip,n=a.config.setTooltext,k=!d.doNotSnap,l=a.config.displayValue,w=e.config.canvasTop,y=c.yAxis,q=d.snapToDivRelaxation,E=d.snapToDivOnly,m=d.snapToDiv,s=a.config.setValue,r;b.draged&&(d=r=b.yPos+b.lastY,k&&m&&(d=Ca(y.getValue(0-w)-y.getValue(q-w)),E=y.getClosestDiv(s,E?null:d),d=y.getPixel(E),d-r&&c.dragMove.call(this,0,d-b.yPos)),y={dataIndex:b.pointIndex+
1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:a.config.setValue,datasetName:b.name},E=[e.chartInstance.id,y.dataIndex,y.datasetIndex,y.datsetName,y.startValue,y.endValue],M.raiseEvent("dataplotDragEnd",y,e.chartInstance),v.raiseEvent("chartupdated",y,e.chartInstance,E),b.yPos=d,a._yPos=d,n+=l,a.graphics.hotElement.attr({y:b.yPos}).tooltip(f?n:p),b._lastY=b.lastY+b._origY,b.lastY+=b.origY,this.data("draged",!1),c.setMaxMin(),e._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,
a=this.components.data,e=[],c={},d,f,n,k,l;l=0;for(k=b.length;l<k;l++){d=b[l];n=a[l];c={};for(f in d)c[f]="value"===f?n.config.setValue:d[f];e.push(c)}return{data:e}}},ra]);K("selectscatter",{isXY:!0,hasLegend:!0,applicableDSList:{selectScatter:!0},friendlyName:"Dragable Scatter Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"selectScatter",defaultZeroPlaneHighlighted:!1,configure:K.dragbase.configure,_createToolBox:K.dragbase._createToolBox,_manageActionBarSpace:K.dragbase._manageActionBarSpace,
drawActionBar:K.dragbase.drawActionBar,getData:function(b){var a=this.getCollatedData(),e=[],c=a.dataset,d=c&&c.length||0,f=0,n=0,k;if(b)e=/^json$/ig.test(b)?a:/^csv$/ig.test(b)?this.getCSVString():M.core.transcodeData(a,"json",b);else for(;f<d;f+=1)if(a=c[f]){for((k=b=(a=c[f]&&c[f].data)&&a.length||0)&&(e[n]||(e[n]=[F(c[f].id,"null")]));k--;)e[n][k+1]=F(a[k].id,"null");b&&(n+=1)}return e},getCSVString:function(){for(var b=this.getData(),a=b.length;a--;)b[a]=b[a].join(",");return b.join("|")},getCollatedData:function(){for(var b=
this.config._selectEleArr,a=b&&b.length,e=W({},this.chartInstance.getChartData(M.dataFormats.JSON)),c=e.dataset,d,f,n,k,l,w,y,q,E,p=[];a--;)if(d=b[a])for(w=d.startX,y=d.endX,q=d.startY,E=d.endY,k=c.length;k--;)for(p[k]||(p[k]={data:[]}),l=(n=c[k].data)&&n.length;l--;)f=n[l],d=f.x,f=f.y,d>w&&d<y&&f<q&&f>E&&(p[k].data[l]=!0);for(k=c.length;k--;)for(l=(n=c[k].data)&&n.length;l--;)p[k]&&p[k].data[l]||n.splice(l,1);return this.updatedDataObj=e},createSelectionBox:function(b){var a=b.chart,e=a.components,
c=e.paper,d=a.config,f=e.yAxis&&e.yAxis[0],e=e.xAxis&&e.xAxis[0],n=b.selectionLeft,k=b.selectionTop,l=b.selectionWidth;b=b.selectionHeight;var w=n+l,y=k+b,q=15<l&&15<b,E={resizeEleRadius:15,canvasTop:d.canvasTop,canvasRight:d.canvasLeft+d.canvasWidth,canvasLeft:d.canvasLeft,canvasBottom:d.canvasTop+d.canvasHeight},p=a.graphics.trackerGroup,m=d._selectEleArr||(d._selectEleArr=[]);E.index=m.length;E.id="SELECT_"+E.index;E.selectBoxG=p=c.group("selection-box",p).toFront();E.selectBoxTracker=c.rect(n,
k,l,b,p).attr({"stroke-width":1,stroke:z(d.selectBorderColor),ishot:!0,fill:d.selectFillColor}).css({cursor:"move"});E.selectBoxTracker.data("config",{position:6,selectEleObj:E,xChange:!0,yChange:!0});E.topTracker=c.rect(n,k-6,l,12,p).attr({"stroke-width":0,ishot:!0,fill:s}).css("cursor",D&&"ns-resize"||"n-resize");E.topTracker.data("config",{position:1,selectEleObj:E,yChange:!0});E.rightTracker=c.rect(n+l-6,k,12,b,p).attr({"stroke-width":0,ishot:!0,fill:s}).css("cursor",D&&"ew-resize"||"w-resize");
E.rightTracker.data("config",{position:2,selectEleObj:E,xChange:!0});E.bottomTracker=c.rect(n,k+b-6,l,12,p).attr({"stroke-width":0,ishot:!0,fill:s}).css("cursor",D&&"ns-resize"||"n-resize");E.bottomTracker.data("config",{position:3,selectEleObj:E,yChange:!0});E.leftTracker=c.rect(n-6,k,12,b,p).attr({"stroke-width":0,ishot:!0,fill:s}).css("cursor",D&&"ew-resize"||"e-resize");E.leftTracker.data("config",{position:4,selectEleObj:E,xChange:!0});E.cornerInnerSymbol=c.symbol("resizeIcon",0,0,15,p).attr({transform:"t"+
w+","+y,"stroke-width":1,visibility:q?x:"hidden",ishot:!0,stroke:"#999999"});E.cornerOuterSymbol=c.symbol("resizeIcon",0,0,-12,p).attr({transform:"t"+w+","+y,strokeWidth:1,visibility:q?"hidden":x,ishot:!0,stroke:"#777777"});E.resizeTracker=c.circle(w,y,12,p).attr({"stroke-width":1,stroke:s,ishot:!0,fill:s}).css("cursor",D&&"nwse-resize"||"nw-resize");E.resizeTracker.data("config",{position:5,selectEleObj:E,yChange:!0,xChange:!0});E.closeButton=c.symbol("closeIcon",0,0,6,p).attr({transform:"t"+w+","+
k,"stroke-width":2,stroke:d.selectionCancelButtonBorderColor,fill:d.selectionCancelButtonFillColor,"stroke-linecap":"round",ishot:!0,"stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){a.deleteSelection(this,a)});E.closeButton.data("config",{index:E.index});E.chart=a;E.startX=e.getValue(n-d.canvasLeft);E.startY=f.getValue(k-d.canvasTop);E.endX=e.getValue(w-d.canvasLeft);E.endY=f.getValue(y-d.canvasTop);E.isVisible=!0;m.push(E);a.bindDragEvent(E)},_deleteAllSelection:function(){var b=
this.config._selectEleArr,a,e,c,d;for(c in b)if(b.hasOwnProperty(c)){a=b[c];for(d in a)a.hasOwnProperty(d)&&(e=a[d],e.remove&&e.remove(),delete a[d]);delete b[c]}},deleteSelection:function(b,a){var e=b.data("config").index,c=a.components,d=a.config._selectEleArr,f=d[e],n,k;k=f.selectBoxTracker.getBBox();k={selectionLeft:k.x,selectionTop:k.y,selectionWidth:k.width,selectionHeight:k.height,startXValue:c.xAxis[0].getAxisPosition(k.x,1),startYValue:c.yAxis[0].getAxisPosition(k.y,1),endXValue:c.xAxis[0].getAxisPosition(k.x+
k.width,1),endYValue:c.yAxis[0].getAxisPosition(k.y+k.height,1),data:a.getCollatedData(),id:f.id};for(n in f)f.hasOwnProperty(n)&&(c=f[n],c.remove&&c.remove(),delete f[n]);delete d[e];M.raiseEvent("selectionRemoved",k,a.chartInstance)},bindDragEvent:function(b){for(var a in b)/Tracker/.test(a)&&b[a].drag(this.move,this.start,this.up)},start:function(){var b=this.data("config").selectEleObj,a=b.topTracker,e=b.rightTracker,c=b.bottomTracker,d=b.leftTracker,f=b.resizeTracker,n=a.data("config"),k=e.data("config"),
l=c.data("config"),w=d.data("config"),y=f.data("config"),q=b.selectBoxTracker.data("config"),p=b.selectBoxTracker.getBBox();n.ox=p.x;n.oy=p.y;k.ox=p.x2;k.oy=p.y;l.ox=p.x;l.oy=p.y2;w.ox=p.x;w.oy=p.y;n.ox=p.x;n.oy=p.y;y.ox=p.x2;y.oy=p.y2;q.ox=p.x;q.oy=p.y;q.ow=p.width;q.oh=p.height;q.ox2=p.x2;q.oy2=p.y2;b.selectBoxG.toFront();a.hide();e.hide();c.hide();d.hide();f.hide();this.show()},move:function(b,a){var e=this.data("config"),c=e.selectEleObj,d=c.chart,f=d.config,n=d.components,k=c.topTracker,l=c.rightTracker,
w=c.bottomTracker,y=c.leftTracker,q=c.resizeTracker,p=c.selectBoxTracker,m=c.canvasLeft,s=c.canvasRight,r=c.canvasTop,t=c.canvasBottom,u=p.data("config"),v={},A,x;b=e.xChange?b:0;a=e.yChange?a:0;A=b+e.ox;x=a+e.oy;A=C(s-(e.ow||0),J(A,m));x=C(t-(e.oh||0),J(x,r));switch(e.position){case 1:v.y=C(u.oy2,x);v.height=Ca(u.oy2-x)||1;k.attr({y:x+-6});break;case 2:v.x=C(u.ox,A);v.width=Ca(u.ox-A)||1;l.attr({x:A+-6});break;case 3:v.y=C(u.oy,x);v.height=Ca(u.oy-x)||1;w.attr({y:x+-6});break;case 4:v.x=C(u.ox2,
A);v.width=Ca(u.ox2-A)||1;y.attr({x:A+-6});break;case 5:v.x=C(u.ox,A);v.width=Ca(u.ox-A)||1;v.y=C(u.oy,x);v.height=Ca(u.oy-x)||1;q.attr({cx:A,cy:x});break;default:v.x=A,v.y=x}this.data("dragStarted")||(e=p.getBBox(),f={selectionLeft:e.x,selectionTop:e.y,selectionWidth:e.width,selectionHeight:e.height,startXValue:n.xAxis[0].getValue(e.x-f.canvasLeft),startYValue:n.yAxis[0].getValue(e.y-f.canvasTop),endXValue:n.xAxis[0].getValue(e.x+e.width-f.canvasLeft),endYValue:n.yAxis[0].getValue(e.y+e.height-f.canvasTop),
id:c.id},M.raiseEvent("BeforeSelectionUpdate",f,d.chartInstance),this.data("dragStarted",1));p.animate(v);c.isVisible&&(c.closeButton.hide(),c.cornerInnerSymbol.hide(),c.cornerOuterSymbol.hide(),c.isVisible=!1)},up:function(){var b=this,a=b.data("config").selectEleObj,e=a.chart,c=e.components,d=e.config,f=c.xAxis&&c.xAxis[0],n=c.yAxis&&c.yAxis[0],k=a.topTracker,l=a.rightTracker,w=a.bottomTracker,y=a.leftTracker,q=a.resizeTracker,p=a.selectBoxTracker,m,s;setTimeout(function(){m=p.getBBox();a.startX=
f.getValue(m.x-d.canvasLeft);a.startY=n.getValue(m.y-d.canvasTop);a.endX=f.getValue(m.x2-d.canvasLeft);a.endY=n.getValue(m.y2-d.canvasTop);k.attr({x:m.x,y:m.y+-6,width:m.width});l.attr({x:m.x2+-6,y:m.y,height:m.height});w.attr({x:m.x,y:m.y2+-6,width:m.width});y.attr({x:m.x+-6,y:m.y,height:m.height});q.attr({cx:m.x2,cy:m.y2});a.closeButton.transform("t"+m.x2+","+m.y);a.cornerInnerSymbol.transform("t"+m.x2+","+m.y2);a.cornerOuterSymbol.transform("t"+m.x2+","+m.y2);a.closeButton.show();15>m.width||15>
m.height?(a.cornerInnerSymbol.hide(),a.cornerOuterSymbol.show()):(a.cornerInnerSymbol.show(),a.cornerOuterSymbol.hide());a.isVisible=!0;k.show();l.show();w.show();y.show();q.show();b.data("dragStarted")&&(s={selectionLeft:m.x,selectionTop:m.y,selectionWidth:m.width,selectionHeight:m.height,startXValue:c.xAxis[0].getValue(m.x-d.canvasLeft),startYValue:c.yAxis[0].getValue(m.y-d.canvasTop),endXValue:c.xAxis[0].getValue(m.x+m.width-d.canvasLeft),endYValue:c.yAxis[0].getValue(m.y+m.height-d.canvasTop),
data:e.getCollatedData(),id:a.id},M.raiseEvent("SelectionUpdated",s,e.chartInstance),b.data("dragStarted",0))},100)},restoreData:function(){var b=this.components.dataset,a;this._deleteAllSelection();for(a=0;a<b.length;a++)b[a].draw();return!0},submitData:function(){var b=this.chartInstance,a=new M.ajax,e=this.config,c=M.dataFormats.JSON,d=M.dataFormats.CSV,f=M.dataFormats.XML,n=e.formAction||"",k=e.submitFormAsAjax,l,w,y,q,p;e.formDataFormat===c?(l=c,w=JSON.stringify(this.getCollatedData())):this.formDataFormat===
d?(l=d,w=b.getCSVString&&b.getCSVString(),void 0===w&&(w=M.core.transcodeData(this.getCollatedData(),c,d))):(l=f,w=M.core.transcodeData(this.getCollatedData(),c,f));M.raiseEvent("beforeDataSubmit",{data:w},b,void 0,function(){k?(a.onError=function(a,c,g,e){v.raiseEvent("dataSubmitError",{xhrObject:c.xhr,url:e,statusText:a,httpStatus:c.xhr&&c.xhr.status?c.xhr.status:-1,data:w},b,[b.id,a,c.xhr&&c.xhr.status])},a.onSuccess=function(c,e,d,f){v.raiseEvent("dataSubmitted",{xhrObject:a,response:c,url:f,
data:w},b,[b.id,c])},y={},y["str"+l.toUpperCase()]=w,a.open&&a.abort(),a.post(n,y)):(q=pa.document.createElement("span"),q.innerHTML='<form style="display:none" action="'+n+'" method="'+e.formMethod+'" target="'+e.formTarget+'"> <input type="hidden" name="strXML" value="'+gc(w)+'"><input type="hidden" name="dataFormat" value="'+l.toUpperCase()+'" /></form>',p=q.removeChild(q.firstChild),pa.document.body.appendChild(p),p.submit&&p.submit(),p.parentNode.removeChild(p),q=p=null)},function(){M.raiseEvent("dataSubmitCancelled",
{data:w},b)})},_postSpaceManagement:function(){K("mscartesian")._postSpaceManagement.call(this);this._deleteAllSelection()},eiMethods:{getData:function(b){var a=this.apiInstance;return a&&a.getData(b)},restoreData:function(){var b=this.apiInstance;return b&&b.restoreData()},submitData:function(){var b=this.apiInstance;return b&&b.submitData()}}},K.scatterBase);FusionCharts.register("component",["dataset","selectScatter",{configure:function(){var b=this.chart,g=b.config,e=b.jsonData.chart,b=b.components.colorManager,
c=d(e.selectbordercolor,b.getColor("canvasBorderColor")),h=a(e.selectborderalpha,b.getColor("canvasBorderAlpha"));FusionCharts.get("component",["dataset","scatter"]).prototype.configure.call(this);g.selectBorderColor={FCcolor:{color:c,alpha:h}};g.selectFillColor=aa(d(e.selectfillcolor,b.getColor("altHGridColor")),a(e.selectfillalpha,b.getColor("altHGridAlpha")));g.selectionCancelButtonBorderColor=aa(d(e.selectioncancelbuttonbordercolor,c),a(e.selectioncancelbuttonborderalpha,h));g.selectionCancelButtonFillColor=
aa(d(e.selectioncancelbuttonfillcolor,"FFFFFF"),a(e.selectioncancelbuttonfillalpha,100));g.connativeZoom=!1;g.zoomType="xy";g.formAction=F(e.formaction);"0"!==e.submitdataasxml||e.formdataformat||(e.formdataformat=M.dataFormats.CSV);g.formDataFormat=d(e.formdataformat,M.dataFormats.XML);g.formTarget=d(e.formtarget,"_self");g.formMethod=d(e.formmethod,"POST");g.submitFormAsAjax=a(e.submitformusingajax,1)},draw:function(){var b=this.chart,a=b.linkedItems.container;FusionCharts.get("component",["dataset",
"scatter"]).prototype.draw.call(this);mc(b,{selectionStart:function(b){var c=Qb(a,b.originalEvent),c=W({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:b.chart.components.xAxis[0].getAxisPosition(b.selectionLeft,1),startYValue:b.chart.components.yAxis[0].getAxisPosition(b.selectionTop,1)},c);M.raiseEvent("selectionStart",c,b.chart.chartInstance)},selectionEnd:function(b){var c=Qb(a,b.originalEvent),d=b.chart.components.xAxis[0],
f=b.chart.components.yAxis[0],c=W({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:d.getAxisPosition(b.selectionLeft,1),startYValue:f.getAxisPosition(b.selectionTop,1),endXValue:d.getAxisPosition(b.selectionLeft+b.selectionWidth,1),endYValue:f.getAxisPosition(b.selectionTop+b.selectionHeight,1)},c);M.raiseEvent("selectionEnd",c,b.chart.chartInstance);b.chart.createSelectionBox(b)}})}},"scatter"]);K("candlestick",
{friendlyName:"Candlestick Chart",standaloneInit:!0,creditLabel:!1,paletteIndex:3,defaultDatasetType:"candlestick",hasLegend:!0,applicableDSList:{candlestick:!0},canvasborderthickness:1,hasInteractiveLegend:!1,init:function(b,a,e,c){var d;this.jsonData=a;d=this.components=this.components||(this.components={});d.canvasVolume=d.canvasVolume||(d.canvasVolume={graphics:{},config:{}});K.mscartesian.init.call(this,b,a,e,c)},configure:function(){var b,g,e,c=this.components.colorManager,h=this.jsonData.chart,
f=this.components;this.base.configure.call(this);b=this.config;e=f.canvas.config;b.showVolumeChart=a(h.showvolumechart,1);g=a(h.volumeheightpercent,40);b.volumeHeightPercent=20>g?20:80<g?80:g;b.canvasBorderWidth=a(h.canvasborderthickness,1);b.rollOverBandColor=aa(d(h.rolloverbandcolor,c.getColor("altHGridColor")),d(h.rolloverbandalpha,c.getColor("altHGridAlpha")));W(f.canvasVolume.config,e)},_createDatasets:function(){var b=this.config,a=this.components,e=this.jsonData,c=e.dataset,h=e.trendset||[],
f=this.config.showVolumeChart,n=c&&c.length,k,l,w=this.defaultDatasetType,y=d(Z(e.chart.plotpriceas),xa),q,p,m,s,r,t=0,u=b.datasetMap||(b.datasetMap={trendset:[],candlestick:[]}),v,A={},x={trendset:[],candlestick:[]},z=a.legend;if(c){this.config.categories=e.categories&&e.categories[0].category;k=a.dataset=[];e=0;for(n=c.length;e<n;e++)m=c[e],m.seriesname&&(m.seriesname=Z(m.seriesname)),q=(q=d(m.renderas,w))&&q.toLowerCase(),p=FusionCharts.get("component",["dataset",q]),v=u[q],l=v[0],p&&(void 0===
A[q]?A[q]=0:A[q]++,l?(s=l,l.index=e,y!==s.config.plotType?(U.call(s),l=k[t]=new p,l.chart=this,l.index=t,l.init(m)):(s=(s=l.JSONData)&&s.data&&s.data.length,r=m.data&&m.data.length,s>r&&l.removeData(r-1,s-r,!1),l.JSONData=m),l.configure(),x[q].push(l),k.push(l),v.shift()):(l=new p,k.push(l),x[q].push(l),l.chart=this,l.index=t,l.init(m))),t++,v=a.yAxis&&a.yAxis[1],f&&this.config.drawVolume?(v&&v.show(),p&&(void 0===A[q]?A[q]=0:A[q]++,v=u[q],(l=v[0])?(s=(s=l.JSONData)&&s.data&&s.data.length,r=m.data&&
m.data.length,s>r&&l.removeData(r-1,s-r,!1),l.JSONData=m,l.configure(),k.push(l),x[q].push(l),v.shift()):(l=new p,l.chart=this,k.push(l),x[q].push(l),l.init(m,Ia))),t++):v&&v.hide(),f=this.config.drawVolume&&f?this.config.showVolumeChart=1:this.config.showVolumeChart=0;e=0;for(n=h.length;e<n;e++)m=h[e],q="trendset",v=u[q],l=v[0],void 0===A[q]?A[q]=0:A[q]++,l?(s=(s=l.JSONData)&&s.data&&s.data.length,r=m.data&&m.data.length,x[q].push(l),k.push(l),l.index=t,s>r&&l.removeData(r-1,s-r,!1),l.JSONData=m,
l.configure(),v.shift()):(p=FusionCharts.get("component",["dataset",q]),a=new p,k.push(a),x[q].push(a),a.chart=this,a.index=t,a.init(m)),t++;for(c in u)if(v=u[c],n=v.length)for(h=0;h<n;h++)z.removeItem(v[h].legendItemId),U.call(v[h]);b.datasetMap=x}else this.setChartMessage()},_spaceManager:function(){var b,a,e=this.config,c=this.components,d=e.legendPosition,f=c.xAxis&&c.xAxis[0],n=c.xAxis&&c.xAxis[1],k=c.yAxis&&c.yAxis[0],l=c.yAxis&&c.yAxis[1];b=this.hasLegend;var w=c.legend,y,q=this.config.showVolumeChart,
p=q?e.volumeHeightPercent:0,m=c.canvas.config,s=c.canvasVolume.config,r=e.width,t=e.height,u={},v;v=e.chartBorderWidth;c=c.canvas.config.canvasBorderWidth;y=e.minCanvasHeight;a=e.minCanvasWidth;var A=e.canvasMarginLeft,x=e.canvasMarginRight,z=e.canvasMarginTop,C=e.canvasMarginBottom,B,D,F=e.origCanvasTopMargin,I=e.origCanvasBottomMargin,L=e.origCanvasLeftMargin,Q=e.origCanvasRightMargin;this._allocateSpace({top:v,bottom:v,left:v,right:v});v=d===ec?.225*e.canvasWidth:.3*e.canvasHeight;!1!==b&&f&&this._allocateSpace(w._manageLegendPosition(v));
b=.7*e.canvasWidth;k=k.placeAxis(b);l=q?l.placeAxis(b):{};u.left=J(k.left,l.left||0);u.right=J(k.right,l.right||0);this._allocateSpace(u);a>r-A-x&&(D=!0,l=e.canvasWidth-a,u=A+x,A=e.canvasMarginLeft=l*A/u,x=e.canvasMarginRight=l*x/u);A=A>e.canvasLeft?A-e.canvasLeft:0;r=x>r-e.canvasRight?x+e.canvasRight-r:0;this._allocateSpace({left:A,right:r});D&&(u=L+Q,D=e.canvasWidth,D>a&&(l=D-a,A=l*L/u,r=l*Q/u),this._allocateSpace({left:A,right:r}));a=d===Pb?.225*e.canvasHeight:.225*e.canvasWidth;this._manageChartMenuBar(a);
this._allocateSpace({top:e.canvasMarginTop,bottom:e.canvasMarginBottom});a=.3*e.canvasHeight;d=f.placeAxis(a);f&&this._allocateSpace(d);d.bottom+=6;q&&(f=n.placeAxis(a),this._allocateSpace(f));this._allocateSpace({top:c,bottom:2*c,left:c,right:c});y>t-z-C&&(B=!0,l=e.canvasHeight-y,u=z+C,z=e.canvasMarginTop=l*z/u,C=e.canvasMarginBottom=l*C/u);f=z>e.canvasTop?z-e.canvasTop:0;t=C>t-e.canvasBottom?C+e.canvasBottom-t:0;this._allocateSpace({top:f,bottom:t});B&&(u=F+I,B=e.canvasHeight,B>y&&(l=B-y,f=l*F/
u,t=l*I/u),this._allocateSpace({top:f,bottom:t}));y=e.canvasHeight;m.canvasHeight=ga((100-p)/100*y);s.canvasHeight=p/100*y;m.canvasTop=e.canvasTop;m.canvasLeft=e.canvasLeft;m.canvasBottom=m.canvasTop+m.canvasHeight;m.canvasWidth=e.canvasWidth;m.canvasRight=e.canvasRight;s.canvasTop=m.canvasBottom+d.bottom+2*c;s.canvasLeft=e.canvasLeft;s.canvasBottom=s.canvasTop+s.canvasHeight+2*c;s.canvasRight=e.canvasRight;s.canvasWidth=e.canvasWidth;p=e.canvasTop+m.canvasHeight+c;e=e.canvasTop+m.canvasHeight+d.bottom+
2*c;m.canvasY=p;s.canvasY=e},_postSpaceManagement:function(){var b=this.components,a=this.config.showVolumeChart,e=b.xAxis&&b.xAxis[0],c=b.yAxis&&b.yAxis[0],d=b.xAxis&&b.xAxis[1],f=b.yAxis&&b.yAxis[1],n=b.canvas.config,k=b.legend,b=b.canvasVolume.config,l=n.canvasBorderWidth;e&&e.setAxisDimention({x:n.canvasLeft,y:n.canvasY,opposite:n.canvasTop-l,axisLength:n.canvasWidth});c&&c.setAxisDimention({x:n.canvasLeft-l,y:n.canvasTop,opposite:n.canvasRight+l,axisLength:n.canvasHeight});a&&(d&&d.setAxisDimention({x:n.canvasLeft,
y:b.canvasBottom,opposite:b.canvasTop-l,axisLength:n.canvasWidth}),f&&f.setAxisDimention({x:n.canvasLeft-l,y:b.canvasY,opposite:b.canvasRight+l,axisLength:b.canvasHeight}),d&&d.setCanvas(b),f&&f.setCanvas(b));e.setCanvas(n);c.setCanvas(n);k.postSpaceManager()},_drawCanvas:function(){var b=this.components,a=this.graphics,e=b.paper,c=b.canvas,d=b.canvas.config,f=d.clip||(d.clip=[]),n=b.canvasVolume.config,k=c.graphics,b=b.canvasVolume.graphics,l=c.config,w=k.topCanvas,y=k.topCanvasBorderElement,c=b.volumeCanvas,
q=d.canvasLeft,p=d.canvasTop,m=d.canvasWidth,d=d.canvasHeight,s=n.canvasTop,n=n.canvasHeight,a=a.canvasGroup,r=l.canvasBorderRadius,t=l.canvasBorderWidth,u=.5*t,v=l.canvasBorderColor,A=this.get("config","animationObj"),x=A.dummyObj,C=A.animObj,B=A.animType,A=A.transposeAnimDuration,D,F=this.config.showVolumeChart,M=l.shadow,I=l.shadowOnCanvasFill,l=l.canBGColor;D={x:q-u,y:p-u,width:m+t,height:d+t,r:r,"stroke-width":t,stroke:v,"stroke-linejoin":2<t?"round":"miter"};y?A?y.animateWith(x,C,{x:q-u,y:p-
u,width:m+t,height:d+t,r:r},A,B):y.attr(D):y=k.topCanvasBorderElement=e.rect(D,a).shadow(M);y.attr({"stroke-width":t,stroke:v,"stroke-linejoin":2<t?"round":"miter"});f["clip-canvas"]=[J(0,q),J(0,p),J(1,m),J(1,d)];f["clip-canvas-init"]=[J(0,q),J(0,p),1,J(1,d)];w?A?w.animate({x:q,y:p,width:m,height:d},A,B).attr({r:r}):w.attr(void 0):(k.topCanvas=w=e.rect(a),w.attr({x:q,y:p,width:m,height:d}).shadow(I));w.animateWith(x,C,{x:q,y:p,width:m,height:d},A,B);w.attr({r:r,"stroke-width":0,stroke:"none",fill:z(l)});
F?(f={x:q-u,y:s-u-1,width:m+t,height:n+t},c||(b.volumeCanvas=c=e.rect(a).attr(f).shadow(I).crisp()),c.show().animateWith(x,C,f,A,B).attr({r:r,fill:z(l),"stroke-width":t,stroke:v,"stroke-linejoin":2<t?"round":"miter","shape-rendering":"crisp"})):c&&c.hide()},_createAxes:function(){var b=this.components,a,e=FusionCharts.register("component",["axis","cartesian"]),c=this.config.showVolumeChart,d,f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=d=new e;b.yAxis[1]=a=new e;b.xAxis[0]=f=new e;d.chart=this;a.chart=this;
f.chart=this;c&&(b.xAxis[1]=b=new e,b.chart=this,b.init());d.init();a.init();f.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,g=b.colorManager,e=this.jsonData,c=e.chart,h,f,n=this.is3d,k=n?Ja.chart3D:Ja.chart2D,l=FusionCharts.register("component",["axis","cartesian"]),w=this.config.showVolumeChart;h={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,
g.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,
axisNameBorderPadding:c.xaxisnameborderpadding,axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,c.divlinecolor,g.getColor(k.divLineColor)),divLineAlpha:d(c.vdivlinealpha,c.divlinealpha,n?g.getColor("divLineAlpha3D"):g.getColor("divLineAlpha")),
divLineThickness:a(c.vdivlinethickness,c.divlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,c.divlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,
labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),
showLimits:c.showvlimits,showDivLineValues:a(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,
0),axisLineThickness:a(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};n={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,
axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,axisNameBorderPadding:c.xaxisnameborderpadding,axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,
axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,g.getColor(k.divLineColor)),divLineAlpha:d(c.vdivlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.vdivlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,
0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,
showLabels:1,rotateLabels:c.rotatelabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),showLimits:c.showvlimits,showDivLineValues:a(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};f={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,
c.basefontcolor,g.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.pyaxisnamefont,axisNameFontSize:c.pyaxisnamefontsize,axisNameFontColor:c.pyaxisnamefontcolor,axisNameFontBold:c.pyaxisnamefontbold,axisNameFontItalic:c.pyaxisnamefontitalic,axisNameBgColor:c.pyaxisnamebgcolor,axisNameBorderColor:c.pyaxisnamebordercolor,axisNameAlpha:c.pyaxisnamealpha,axisNameFontAlpha:c.pyaxisnamefontalpha,axisNameBgAlpha:c.pyaxisnamebgalpha,
axisNameBorderAlpha:c.pyaxisnameborderalpha,axisNameBorderPadding:c.pyaxisnameborderpadding,axisNameBorderRadius:c.pyaxisnameborderradius,axisNameBorderThickness:c.pyaxisnameborderthickness,axisNameBorderDashed:c.pyaxisnameborderdashed,axisNameBorderDashLen:c.pyaxisnameborderdashlen,axisNameBorderDashGap:c.pyaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.pyaxisname,divLineColor:d(c.divlinecolor,
g.getColor(k.divLineColor)),divLineAlpha:d(c.divlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.divlinethickness,1),divLineIsDashed:Boolean(a(c.divlinedashed,c.divlineisdashed,1)),divLineDashLen:a(c.divlinedashlen,4),divLineDashGap:a(c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatehgridcolor,1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:a(c.numpdivlines,5),axisMinValue:c.pyaxisminvalue,
axisMaxValue:c.pyaxismaxvalue,setAdaptiveMin:a(c.setadaptiveymin,1),adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),showLimits:a(c.showyaxislimits,c.showlimits,this.showLimits),showDivLineValues:a(c.showdivlinevalues,c.showdivlinevalue),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};g={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,
c.basefontcolor,g.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.vyaxisnamefont,axisNameFontSize:c.vyaxisnamefontsize,axisNameFontColor:c.vyaxisnamefontcolor,axisNameFontBold:c.vyaxisnamefontbold,axisNameFontItalic:c.vyaxisnamefontitalic,axisNameBgColor:c.vyaxisnamebgcolor,axisNameBorderColor:c.vyaxisnamebordercolor,axisNameAlpha:c.vyaxisnamealpha,axisNameFontAlpha:c.vyaxisnamefontalpha,axisNameBgAlpha:c.vyaxisnamebgalpha,
axisNameBorderAlpha:c.vyaxisnameborderalpha,axisNameBorderPadding:c.vyaxisnameborderpadding,axisNameBorderRadius:c.vyaxisnameborderradius,axisNameBorderThickness:c.vyaxisnameborderthickness,axisNameBorderDashed:c.vyaxisnameborderdashed,axisNameBorderDashLen:c.vyaxisnameborderdashlen,axisNameBorderDashGap:c.vyaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.vyaxisname,divLineColor:d(c.divlinecolor,
g.getColor(k.divLineColor)),divLineAlpha:d(c.divlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.divlinethickness,1),divLineIsDashed:Boolean(a(c.divlinedashed,c.divlineisdashed,1)),divLineDashLen:a(c.divlinedashlen,4),divLineDashGap:a(c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatehgridcolor,1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:c.numdivlines,axisMinValue:c.vyaxisminvalue,
axisMaxValue:c.vyaxismaxvalue,setAdaptiveMin:c.setadaptiveymin,adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),showLimits:a(c.showsecondarylimits,c.showlimits),showDivLineValues:a(c.showdivlinevalues,c.showdivlinevalue),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};h.vtrendlines=e.vtrendlines;n.vtrendlines=e.vtrendlines;f.trendlines=e.trendlines;c=b.yAxis[0];e=b.yAxis[1];k=b.xAxis[0];c.setCommonConfigArr(f,
!0,!1,!1);c.configure();e.setCommonConfigArr(g,!0,!1,!1);e.configure();c.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,relativeAxis:e});e.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,uniqueClassName:1,relativeAxis:c});k.setCommonConfigArr(h,!1,!1,!1);k.configure();k.setAxisConfig({drawTrendLabels:w?!1:!0});w?(b.xAxis[1]?b.xAxis[1].show():(l=b.xAxis[1]=new l,l.chart=this,l.init()),l=b.xAxis[1],l.setCommonConfigArr(n,!1,!1,!1),l.configure(),l.setAxisConfig({drawLabels:!1,drawPlotlines:!0,
drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!0,drawOnlyCategoryLine:!0,uniqueClassName:1})):b.xAxis[1]&&b.xAxis[1].hide()},_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,b=b.categories&&b.categories[0].category||[],e=[],c,d;for(d=0;d<b.length;d++)c=W({},b[d]),c.label=p,e.push(c);a[0].setAxisPadding(.5,.5);a[0].setCategory(b);a[1]&&a[1].setAxisPadding(.5,.5);a[1]&&a[1].setCategory(e)},_setAxisLimits:function(){var b=this.components,a=b.dataset,e=b.yAxis,b=b.xAxis,c,d=a.length,
f,n=-Infinity,k=Infinity,l=-Infinity,w=Infinity,y=Infinity,q=-Infinity,p,m=0,s={};for(f=0;f<d;f++)c=a[f],p=c.groupManager,m=c.config.parentYAxis,p?(s[c.type]=p,s[c.type].yAxisIndex=m):(c=c.getDataLimits(),1===m?(l=J(l,c.max),w=C(w,c.min)):(n=J(n,c.max),k=C(k,c.min)),q=J(q,c.xMax||-Infinity),y=C(y,c.xMin||Infinity));for(p in s)c=s[p].getDataLimits(),n=J(n,c.max),k=C(k,c.min);e[0].setDataLimit(n,k);e[1].setDataLimit(l,w);if(-Infinity!==q||Infinity!==y)b[0].setAxisRange({min:y-.5,max:q+.5,tickInterval:1}),
b[1]&&b[1].setAxisRange({min:y-.5,max:q+.5,tickInterval:1})},isDual:!0},K.mscartesian);FusionCharts.register("component",["dataset","Candlestick",{type:"Candlestick",configure:function(){if(this.plotType===Ia)this._configureVolume();else{var b=this.config,g=this.chart,e=g.components,c=this.JSONData,h=c.data||[],f=g.jsonData.chart,n=h.length,k=b.plotPriceAs=F(f.plotpriceas,p).toLowerCase(),l=e.numberFormatter,w=e.colorManager,y,q,m,s,e=b.bearBorderColor=Ha(d(f.bearbordercolor,ja)),r=b.bearFillColor=
Ha(d(f.bearfillcolor,ja)),t=b.bullBorderColor=Ha(d(f.bullbordercolor,w.getColor("canvasBorderColor"))),u=b.bullFillColor=Ha(d(f.bullfillcolor,"FFFFFF")),x=b.lineThickness=b.plotBorderThickness=a(f.plotlinethickness,k==ra||k==Aa?2:1),z=b.plotLineDashLen=a(f.plotlinedashlen,5),A=b.plotLineDashGap=a(f.plotlinedashgap,4),B=!!a(f.drawanchors,1),H=a(f.anchorstartangle,90),D=a(f.anchorradius,this.anchorRadius,3),M=Ha(d(f.anchorbordercolor,t)),U=a(f.anchorborderthickness,this.anchorBorderThickness,1),w=Ha(d(f.anchorbgcolor,
w.getColor("anchorBgColor"))),N=d(f.anchoralpha,"0"),I=d(f.anchorbgalpha,N),L,Q,K,V,R,S,W,O,X,Y,aa,$,G,ba=!1,ga=-Infinity,P=Infinity,la=-Infinity,da=Infinity,ma=v.graphics.mapSymbolName;b.parentYAxis=0;b.toolText=F(Z(d(c.tooltext,f.plottooltext)));b.name=F(c.seriesname);b.showTooltip=d(f.showtooltip,1);switch(k){case ra:b.plotType=ra;break;case Aa:b.plotType=Aa;break;default:b.plotType=xa,b.showErrorValue=!0,b.errorBarWidthPercent=0,ba=!0}b.animation={duration:200};L=d(f.maxcolwidth);b.maxColWidth=
Ca(a(L,50))||1;b.enableAnimation=L=a(f.animation,f.defaultanimation,1);b.animation=L?{duration:1E3*a(f.animationduration,1)}:!1;b.lineAlpha=d(f.plotlinealpha,"100");L=J(a(f.plotspacepercent,20)%100,0);b.plotSpacePercent=b.groupPadding=L/200;aa=this.components.data=this.components.data||(this.components.data=[]);b.valuePadding=a(c.valuepadding,f.valuepadding,2);b.plotBorderThickness=x;for(L=0;L<n;L+=1)if($=h[L],(Q=aa[L])||(Q=aa[L]={}),!Q.config&&(Q.config={}),!Q.graphics&&(Q.graphics={}),G=Q.config,
$&&!$.vline){G.setLink=d($.link);Q=G.open=l.getCleanValue($.open);V=G.close=l.getCleanValue($.close);R=G.high=l.getCleanValue($.high);S=G.low=l.getCleanValue($.low);W=G.volume=l.getCleanValue($.volume,!0);null!==W&&(g.config.drawVolume=!0);W=G.x=l.getCleanValue($.x);G.openVal=ba?Ca(V-Q):Q;X=G.closeVal=C(Q,V);Y=G.yVal=J(Q,V);s=k===ra?1:0;K=C(Q,V,R,S);O=J(Q,V,R,S);Z(F($.valuetext,p));q=Ha(d($.bordercolor,V<Q?e:t));m=d($.alpha,s?b.lineAlpha:"100");y=Ha(d($.color,V<Q?r:u));s=Boolean(a($.dashed))?ua(z,
A):"none";G.dashStyle=s;s={opacity:m/100};G.color=ba?y:q;G.alpha=m;G.setColor=G.color;G.setAlpha=G.alpha;G.anchorImageUrl=d($.anchorimageurl,c.anchorimageurl,f.anchorimageurl);q=G.borderColor=q;G.borderAlpha=G.plotLineAlpha;G.colorArr=[{color:G.color,alpha:G.alpha},{color:G.borderColor,alpha:G.borderAlpha}];G.anchorSides=a($.anchorsides,c.anchorsides,f.anchorsides);G.symbol=ma(G.anchorSides).split("_");G.anchorProps={enabled:B,bgColor:w,symbol:G.symbol,bgAlpha:I*N/100+p,borderColor:M,borderAlpha:N,
borderThickness:U,imageUrl:G.anchorImageUrl,radius:D,imageScale:a($.imagescale,c.imagescale,f.imagescale,100),imagePadding:a($.anchorimagepadding,c.anchorimagepadding,f.anchorimagepadding,1),imageAlpha:a(c.anchorimagealpha,f.anchorimagealpha,100),startAngle:H};G.showValue=1;G.hoverEffects={};switch(b.plotType){case ra:G.y=V;G.link=d($.link);break;case xa:G.y=Ca(V-Q);G.previousY=X;G.link=d($.link);G.errorValue=[];0<R-Y&&G.errorValue.push({errorValue:R-Y,errorStartValue:Y,errorBarColor:q,errorBarThickness:x,
opacity:1});0>S-X&&G.errorValue.push({errorValue:S-X,errorStartValue:X,errorBarColor:q,errorBarThickness:x,opacity:1});break;default:G.y=Q,G.previousY=V,G.link=d($.link)}G.setValue=G.y;null!==K&&(!ga&&0!==ga&&(ga=K),!P&&0!==P&&(P=K),ga=J(ga,K),P=C(P,K));null!==O&&(!ga&&(ga=O),!P&&(P=O),ga=J(ga,O),P=C(P,O));null!==W&&(la=J(la,W),da=C(da,W));K=this._parseToolText(L);G.toolText=K;G.toolTipValue=p;W=W?W:L+1;G.x=W;G.displayValue=Z(d($.displayvalue,$.valuetext,p));G.high=J(Q,V,R,S);G.low=C(Q,V,R,S);G.shadow=
s}b.yMax=ga;b.yMin=P;b.xMax=la;b.xMin=da}},_parseToolText:function(b){var a=this.config,e=this.chart,c=e.jsonData.chart,h=a.plotType===ra?1:0,f=this.JSONData.data[b],n=this.components.data[b].config,e=e.components.xAxis[0].getLabel(n.x).label;b=n.open;var k=n.close,l=this.yAxis,w=n.high,y=n.low,n=n.volume,q=void 0!==n?f.volumetooltext:void 0;a.showTooltip?(a=F(Z(d(q,f.tooltext,a.volumeToolText,a.toolText))),void 0!==a?a=Ba(a,[3,5,6,10,54,55,56,57,58,59,60,61,81,82],{label:e,yaxisName:Z(c.yaxisname),
xaxisName:Z(c.xaxisname),openValue:f.open,openDataValue:l.dataLabels(b),closeValue:f.close,closeDataValue:l.dataLabels(k),highValue:f.high,highDataValue:l.dataLabels(w),lowValue:f.low,lowDataValue:l.dataLabels(y),volumeValue:f.volume,volumeDataValue:l.dataLabels(n)},f,c):(a=null===b||h?p:"<b>Open:</b> "+l.dataLabels(b)+"<br />",a+=null!==k?"<b>Close:</b> "+l.dataLabels(k)+"<br />":p,a+=null===w||h?p:"<b>High:</b> "+l.dataLabels(w)+"<br />",a+=null===y||h?p:"<b>Low:</b> "+l.dataLabels(y)+"<br />",
a+=null!==n?"<b>Volume:</b> "+l.dataLabels(n):p)):a=p;return a},init:function(b,a){var e=this.chart;this.yAxis=a===Ia?e.components.yAxis[1]:e.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.visible=1;this.plotType=a;this.configure()},_configureVolume:function(){var b=this.config,g=this.chart,e=this.JSONData,c=e.data||[],h=g.jsonData.chart,f=c.length,n=g.components.colorManager,k,l,w,y,q,m,s=b.bearBorderColor=Ha(d(h.bearbordercolor,ja)),r=b.bearFillColor=Ha(d(h.bearfillcolor,
ja)),n=b.bullBorderColor=Ha(d(h.bullbordercolor,n.getColor("canvasBorderColor"))),t=b.bullFillColor=Ha(d(h.bullfillcolor,"FFFFFF")),u=a(h.showvplotborder,1)?a(h.vplotborderthickness,1):0,x=b.plotLineDashLen=a(h.plotlinedashlen,5),z=b.plotLineDashGap=a(h.plotlinedashgap,4),A,B=this.yAxis,H=-Infinity,D=Infinity,M=-Infinity,U=Infinity;q=g.components.vNumberFormatter;b.plotType=xa;b.parentYAxis=1;b.volumeToolText=F(Z(d(e.volumetooltext,h.volumetooltext,h.plottooltext)));b.name=F(e.seriesname);b.showTooltip=
d(h.showtooltip,1);b.enableAnimation=e=a(h.animation,h.defaultanimation,1);b.animation=e?{duration:1E3*a(h.animationduration,1)}:!1;e=d(h.maxcolwidth);b.maxColWidth=Ca(a(e,50))||1;e=J(a(h.plotspacepercent,20)%100,0);b.plotSpacePercent=b.groupPadding=e/200;b.plotBorderThickness=u;e=this.components.data=this.components.data||(this.components.data=[]);h=W(W({},h),{forcedecimals:na(h.forcevdecimals,h.forcedecimals),forceyaxisvaluedecimals:na(h.forcevyaxisvaluedecimals,h.forceyaxisvaluedecimals),yaxisvaluedecimals:na(h.vyaxisvaluedecimals,
h.yaxisvaluedecimals),formatnumber:na(h.vformatnumber,h.formatnumber),formatnumberscale:na(h.vformatnumberscale,h.formatnumberscale),defaultnumberscale:na(h.vdefaultnumberscale,h.defaultnumberscale),numberscaleunit:na(h.vnumberscaleunit,h.numberscaleunit),vnumberscalevalue:na(h.vnumberscalevalue,h.numberscalevalue),scalerecursively:na(h.vscalerecursively,h.scalerecursively),maxscalerecursion:na(h.vmaxscalerecursion,h.maxscalerecursion),scaleseparator:na(h.vscaleseparator,h.scaleseparator),numberprefix:na(h.vnumberprefix,
h.numberprefix),numbersuffix:na(h.vnumbersuffix,h.numbersuffix),decimals:na(h.vdecimals,h.decimals)});q?q.configure(h):q=g.components.vNumberFormatter=new v.NumberFormatter(g,h);B.setNumberFormatter(q);for(g=0;g<f;g+=1)q=c[g],(h=e[g])||(h=e[g]={}),!h.config&&(h.config={}),!h.graphics&&(h.graphics={}),A=h.config,q&&!q.vline&&(y=A.open=B.getCleanValue(q.open),k=A.close=B.getCleanValue(q.close),A.high=B.getCleanValue(q.high),A.low=B.getCleanValue(q.low),m=A.volume=B.getCleanValue(q.volume,!0),h=A.x=
B.getCleanValue(q.x),A.openVal=Ca(k-y),A.closeVal=C(y,k),H=J(H,m),D=C(D,m),M=J(M,h),U=C(U,h),Z(F(q.valuetext,p)),l=Ha(d(q.bordercolor,k<y?s:n)),w=d(q.alpha,"100"),k=Ha(d(q.color,k<y?r:t)),A.dashStyle=Boolean(a(q.dashed))?ua(x,z):"none",y={opacity:w/100},A.color=k,A.alpha=w,A.setLink=q.link,A.borderWidth=u,A.borderColor=l,A.borderAlpha=d(A.plotLineAlpha,w),A.y=m,A.colorArr=[{color:A.color,alpha:A.alpha},{color:A.borderColor,alpha:A.borderAlpha}],A.setValue=A.y,q=this._parseToolText(g),A.toolText=q,
A.toolTipValue=p,h=h?h:g+1,A.x=h,A.shadow=y);b.yMax=H;b.yMin=D;b.xMax=M;b.xMin=U},draw:function(){var b=this.config,a=b.plotType;a===ra?this.__base__.draw.call(this):a===xa?(this._drawColumn(),b.showErrorValue&&this._drawErrorValue()):this._drawCandlestickBar();this.drawn=!0},_drawColumn:function(){var b=this,g=b.JSONData,e=b.chart,c=b.chart.jsonData.chart,h=b.config,f=b.index,n=g.data,k=n&&n.length,l,w,y=b.visible,q=e.components.paper,m=e.components.xAxis[0],r=b.yAxis,t,u,x=e.graphics,B=v.parseUnsafeString,
D=v.getValidValue,A=v.Raphael,F=h.showTooltip,H=e.get("config","animationObj"),J=H.duration,M=H.dummyObj,U=H.animObj,N=m.getPVR(),I=h.plotSpacePercent,L=h.maxColWidth,N=(1-.01*h.definedGroupPadding)*N||C(N*(1-2*I),1*L),I=N/2,N=N/1,L=C(N-1,0),I=0*N-I+L/2,Q,L=b.components.data,K,V,R,S,W,O,X,Z=r.getAxisBase(),Y=r.yBasePos=r.getAxisPosition(Z),$=h.plotBorderThickness,G=h.plotRadius||0,aa=b.graphics.container,ba=b.graphics.trackerContainer,P=b.graphics.shadowContainer,la=x.trackerGroup,ga,ma,da=!e.config.plotAnimDone,
ia=b.components.removeDataArr||[],oa=ia.length,ra=FusionCharts.get("component",["dataset",xa]).prototype.drawLabel,na=function(){var a=b.graphics.errorGroupContainer;a&&a.show();e._animCallBack()};K=x.datasetGroup;var x=function(b){za.call(this,e,b)},va=b.components.pool||[];aa||(aa=b.graphics.container=q.group("columns",K),y||aa.hide());ba||(ba=b.graphics.trackerContainer=q.group("col-hot",la),y||ba.hide());P||(P=b.graphics.shadowContainer=q.group("shadow",K).toBack(),y||P.hide());la=N;h.columnWidth=
N;for(h=0;h<k;h++)if(l=n[h],X=(K=L[h])&&K.config,S=X.setLink,w=X.y,t=a(X.x,h),R=X.colorArr,null!==w){S=X.setLink;K.graphics||(L[h].graphics={});O=b.index+"_"+h;V=X.displayValue;D(B(d(l.tooltext,g.plottooltext,c.plottooltext)));l=X.previousY;u=r.getAxisPosition(l||Z);l=r.getAxisPosition(w+(l||0));t=m.getAxisPosition(t)+I;u=Ca(l-u);u=A.crispBound(t,l,la,u,$);t=u.x;l=u.y;la=u.width;u=u.height||1;Q=X.toolText;ga=X.dashStyle;W=X.eventArgs;W||(W=X.eventArgs={});W.index=h;W.link=S;W.value=w;W.displayValue=
V;W.categoryLabel=m.getLabel(h).label;W.toolText=Q;W.id=p;W.datasetIndex=f;W.datasetName=g.seriesname;W.visible=y;K._xPos=t;K._yPos=l;K._height=u;K._width=N;V=K.graphics.element;ma=!1;V||(va.element&&va.element.length?V=K.graphics.element=va.element.shift():(V=K.graphics.element=q.rect(aa),ma=!0,J&&V.attr({x:t,y:Y,width:la,height:0})));w=X._elemPositions;w||(w=X._elemPositions={});w.x=t;w.y=l;w.width=la;w.height=u;V.show().animateWith(M,U,w,J,H.animType,da&&na);w=X._elemCosmetics;w||(w=X._elemCosmetics=
{});w.r=G;w.ishot=!F;w.fill=z(R[0]);w.stroke=z(R[1]);w["stroke-width"]=$;w["stroke-dasharray"]=ga;w["stroke-linejoin"]="miter";w.visibility=y;V.attr(w).shadow(X.shadow,P);e.config.plotAnimDone=!0;R=K.graphics.hotElement;if(S||F)u<Pa&&(l-=(Pa-u)/2,u=Pa),w=X._hotElemAttrs,w||(w=X._hotElemAttrs={}),w.x=t,w.y=l,w.width=la,w.height=u,w.r=G,w.cursor=S?"pointer":p,w.stroke=s,w["stroke-width"]=$,w.fill=s,w.ishot=!0,w.visibility=y,R=K.graphics.hotElement,R||(va.hotElement&&va.hotElement.length?R=K.graphics.hotElement=
va.hotElement.shift():(R=K.graphics.hotElement=q.rect(ba),ma=!0)),R.data("x",t+la/2),R.attr(w);(R||V).data("eventArgs",W).data("groupId",O).tooltip(Q);ma&&(R||V).click(x).mouseover(b.rolloverResponseSetter(K,e)).mouseout(b.rolloutResponseSetter(K,e))}b._drawTracker();ra.call(b,0,L.length);for(h=0;h<oa;h++)if(K=ia[0])b._removeDataVisuals(K.graphics),ia.shift()},rolloverResponseSetter:function(b,a){return function(e){a.graphics.rollOverBand.transform("t"+(b._xPos+(b._width||0)/2)+",0").show();za.call(this,
a,e,"DataPlotRollOver")}},rolloutResponseSetter:function(b,a){return function(b){a.graphics.rollOverBand.hide();za.call(this,a,b,"DataPlotRollOut")}},_drawTracker:function(){var b=this.chart,a=b.components,e=a.paper,c=b.graphics.datasetGroup,d=b.graphics.rollOverBand,f=a.canvas.config,n=a.canvasVolume.config,a=this.config.columnWidth,k=b.config.rollOverBandColor,f=["M",0,f.canvasTop,"L",0,f.canvasBottom,"M",0,n.canvasTop-n.canvasBorderWidth,"L",0,n.canvasTop+n.canvasHeight+n.canvasBorderWidth/2];
d||(d=b.graphics.rollOverBand=e.path(c));d.transform(p);d.attr({path:f,"stroke-width":a,ishot:!0,stroke:k,"stroke-linecap":"butt"});d.data("width",a);d.toBack();d.hide()},_removeDataVisuals:function(b){var a=this.components.pool||(this.components.pool={}),e,c,d,f,n;b.graphics&&(b=b.graphics);for(c in b){e=a[c]||(a[c]=[]);d=b[c];if(d instanceof Array)for(f=0,n=d.length;f<n;f++)this._removeDataVisuals(d[f]);else d.hide&&"function"===typeof d.hide&&d.hide();e.push(b[c])}},_drawCandlestickBar:function(){var b=
this.chart,g=b.components,e,c=this.config,d=this.components.data,f=d.length,n=g.xAxis[0],k=this.yAxis,l=b.graphics,g=g.paper,w=c.numColumns||1,y=c.columnPosition||0,q=n.getPVR(),m=c.groupPadding,s=c.maxColWidth,q=(1-.01*c.plotspacepercent)*q||C(q*(1-2*m),s*w),w=q/w*y-q/2,l=l.datasetGroup,r,t,u,v,x,y=b.get("config","animationObj")||{},q=y.duration,m=y.dummyObj,s=y.animObj,A=this.graphics.container,B=this.components.pool||{},H=function(){b._animCallBack()},D=!b.config.plotAnimDone;e=this.visible;var F,
J,M,I=this.components.removeDataArr||[],L=I.lengt,Q;A||(A=this.graphics.container=g.group("columns",l),e||A.hide());for(r=0;r<f;r+=1)t=d[r],e=t.config,Q=t.graphics,v=e.y,u=null,null===v?u=Q.element:(u=a(e.x,r),t=e.link,u=n.getAxisPosition(u),x=e.previousY,x=k.getAxisPosition(x),v=k.getAxisPosition(v),F=k.getAxisPosition(e.high),J=k.getAxisPosition(e.low),Ca(v-x),M=w,x=["M",u,J,"L",u,F,"M",u,v,"L",u+M,v,"M",u,x,"L",u-M,x],u=Q.element,u||(B.element&&B.element.length?Q.element=g.path(l):u=Q.element=
g.path(x,A)),u.show().animateWith(m,s,{path:x},q,y.animType,D&&H),b.config.plotAnimDone=!0,u.attr({fill:z(e.color),stroke:z(e.borderColor),"stroke-width":c.lineThickness,"stroke-dasharray":e.dashStyle,"stroke-linecap":"round","stroke-linejoin":"round","shape-rendering":"crisp",cursor:t?"pointer":p,visibility:"visible"}).shadow(e.shadow));for(r=0;r<L;r++)this._removeDataVisuals(I.shift())},_drawErrorValue:function(){var b=this.config,a=this.JSONData.data,a=a&&a.length,e,c=this.visible,d=this.chart,
f=d.linkedItems,n=d.components.paper,k=d.components.yAxis[0],l=this.components.data,w,y=b.errorBarWidthPercent,q,m=d.graphics;e=m.datasetGroup;var b=b.showTooltip,r=this.graphics.errorGroupContainer,t=this.graphics.errorTrackerContainer,u=m.trackerGroup,v,x,z,A,B,C,D,F,J,m=d.get("config","animationObj"),M=m.duration,I=m.dummyObj,L=m.animObj,Q,K,V,R,S;z=this.drawn;var N,O,X,U=function(b){za.call(this,d,b)},W=function(b){za.call(this,d,b,"DataPlotRollOver")},$=function(b){za.call(this,d,b,"DataPlotRollOut")},
G=function(b){return function(){void 0!==b&&f.linkClickFN.call({link:b},d)}},Z=this.components.pool||[],aa;r||(r=this.graphics.errorGroupContainer=n.group("errorBar",e),c||r.hide());t||(t=this.graphics.errorTrackerContainer=n.group("error-hot",u).toBack(),c||t.hide());c&&(r.show(),t.show());M&&!z&&r.hide();for(e=0;e<a;e++)if(B=(z=l[e])&&z.config,A=B.y,u=B.setLink,Q=B.errorValue,K=Q.length,N=B.toolText,!z.graphics.error&&(z.graphics.error=[]),null!==A){u=B.setLink;A=0>A;v=z._xPos;x=z._yPos;B=z._width;
aa=z._height;x+=aa;v+=B/2;q=z.graphics.error;R=q.length;X=!1;if(R>K)for(O=K;O<R;O++)S=q.pop(),this._removeDataVisuals(S);for(;K--;)(O=z.graphics.error[K])||(O=z.graphics.error[K]={}),S=O.errorTrackerElem,R=O.errorLineElem,w=Q[K],C=w.errorValue,D=w.errorStartValue,q=w.errorBarColor,w=w.errorBarThickness,F=isNaN(D)?x:k.getAxisPosition(D),V=y/100*B,V/=2,J=k.getAxisPosition((ba(D)?D:void 0)+C),A&&(J+=aa),C=J,D=v,C=ga(J)+w%2/2,D=ga(v)+w%2/2,F=["M",D,F,"V",C,"M",D-V,C,"H",D+V],C=z.graphics.hotElement||
z.graphics.element,V=C.data("groupId"),R||(Z.errorLineElem&&Z.errorLineElem.length?R=O.errorLineElem=Z.errorLineElem.shift():(R=O.errorLineElem=n.path(r),X=!0)),R.show().animateWith(I,L,{path:F},M,m.animType),R.attr({stroke:q,ishot:!b,"stroke-width":w,cursor:u?"pointer":p,"stroke-linecap":"round"}),(u||b)&&w<Pa&&(S=O.errorTrackerElem,S||(Z.errorTrackerElem&&Z.errorTrackerElem.length?S=O.errorTrackerElem=Z.errorTrackerElem.shift():(S=O.errorTrackerElem=n.path(t),X=!0)),S.attr({path:F,stroke:s,"stroke-width":Pa,
cursor:u?"pointer":p,ishot:!!u,visibility:c}).data("groupId",V).tooltip(N),S.data("eventArgs",C&&C.data("eventArgs")||{})),X&&((S||R).click(U).hover(W,$),(u||b)&&S.click(G(u)))}},getDataLimits:function(){var b=this.config;return{max:b.yMax,min:b.yMin,xMax:b.xMax,xMin:b.xMin}},removeData:function(b,a){var e=this.components,c=e.data,d=e.removeDataArr||(e.removeDataArr=[]);e.removeDataArr=d.concat(c.splice(b||0,a||1))}},ra]);FusionCharts.register("component",["dataset","Trendset",{configure:function(){var b=
this.chart,g=b.jsonData.chart,e=this.JSONData,c=this.index,h=e.data||e.set||[],f=this.config,n,k=this.components.data,l,w=-Infinity,m=Infinity,q,p=-Infinity,s=Infinity,b=b.components.numberFormatter,c=Ha(d(e.color,g.trendsetcolor,"666666"));l=d(e.alpha,g.trendsetalpha,"100");q=a(e.thickness,g.trendsetthickness,2);n=Boolean(a(e.dashed,g.trendsetdashed,0));var r=a(e.dashlen,g.trendsetdashlen,4),t=a(e.dashgap,g.trendsetdashgap,4);f.includeInLegend=a(e.includeinlegend,1);f.lineColor=c;f.lineAlpha=l;f.connectNullData=
a(g.connectnulldata,0);f.lineThickness=q;f.lineDashStyle=n?ua(r,t):"none";f.name=F(e.name);f.includeInLegend=a(e.includeinlegend,1);k||(k=this.components.data=[]);c=0;for(q=h.length;c<q;c+=1)(n=h[c])&&!n.vline&&(e=k[c]=k[c]||(k[c]={}),l=e.config=e.config||(e.config={}),g=l.setValue=b.getCleanValue(n.value),n=b.getCleanValue(n.x),n=l.x=null!==n?n:c+1,w=J(w,g),m=C(m,g),s=C(s,n),p=J(p,n),e.graphics||(e.graphics={}));f.max=w;f.min=m;f.xMax=p;f.xMin=s;this._addLegend()},_addLegend:function(){var b=this.JSONData,
a=this.config,e=this.chart.components.legend,b={enabled:a.includeInLegend,interactiveLegend:!1,type:this.type,drawLine:!0,strokeColor:z({color:a.lineColor,alpha:"100"}),label:na(b.name)};this.legendItemId=e.addItems(this,this.legendInteractivity,b)},legendInteractivity:function(){},draw:function(){var b=this.chart,a=b.components,e=this.config,c=b.config,d=a.canvas.config.clip,f=this.components.data.length,n=a.paper,k=a.xAxis[0],l=this.yAxis,w,m,q=b.graphics,p=b.get("config","animationObj"),a=p.duration,
s=p.dummyObj,r=p.animObj,p=p.animType,t=this.components.data,u,c=c.style;u={fontFamily:c.fontFamily,fontSize:c.fontSize,lineHeight:c.lineHeight,fontWeight:c.fontWeight,fontStyle:c.fontStyle,color:c.color};var c=e.lineThickness,v=this.graphics.container,x=q.datasetGroup,q=e.shadow,A=function(){x.line.attr({"clip-rect":null});v.lineShadowGroup.show()},B=d["clip-canvas"].slice(0),d=d["clip-canvas-init"].slice(0),C=e.lineDashStyle,e={color:e.lineColor,alpha:e.lineAlpha},D=!1,F=this.graphics.lineElement,
J=this.visible;x.line=x.line||n.group(ra,x);x.lineConnector=x.lineConnector||n.group("line-connector",x);v||(v=this.graphics.container={lineShadowGroup:n.group("connector-shadow",x.line),lineGroup:n.group(ra,x.line)},J||(v.lineShadowGroup.hide(),v.lineGroup.hide()));b._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",u);for(b=0;b<f;b++)u=t[b],w=u.config,m=w.setValue,w=w.x,w=k.getAxisPosition(w),m=l.getAxisPosition(m),u._xPos=w,u._yPos=m;f=this.getLinePath(t,{}).getPathArr();F||(F=this.graphics.lineElement=
n.path(v.lineGroup),D=!0);F.show().animateWith(s,r,{path:f},a,p);F.attr({"stroke-dasharray":C,"stroke-width":c,stroke:z(e),"stroke-linecap":"round","stroke-linejoin":2<=c?"round":"miter"}).shadow(q,v.lineShadowGroup);a&&J&&D&&(v.lineShadowGroup.hide(),x.line.attr({"clip-rect":d}).animateWith(s,r,{"clip-rect":B},a,p,A))},getDataLimits:function(){var b=this.config;return{max:b.max,min:b.min,xMax:b.xMax,xMin:b.xMin}}},ra]);K("kagi",{standaloneInit:!0,friendlyName:"Kagi Chart",creditLabel:!1,defaultDatasetType:"kagi",
applicableDSList:{kagi:!0},singleseries:!0,hasLegend:!1,_postSpaceManagement:function(){var b=this.config,d=this.components,e=d.xAxis&&d.xAxis[0],c=d.yAxis&&d.yAxis[0],h=d.canvas.config,f=h.canvasBorderWidth,n=h.canvasPadding||15,k=h.canvasPaddingTop,h=h.canvasPaddingBottom,l=this.jsonData.chart,w=(d=d.dataset[0].config)&&d.shiftCount,m=a(e.getAxisData("axisMinValue"),0),q=a(e.getAxisData("axisMaxValue"),w-1),p=this.config.canvasWidth;C(a(l.canvaspadding,0),p/2-10);var l=a(l.maxhshiftpercent,10),
p=p-2*n,s;c&&c.setAxisDimention({x:b.canvasLeft-f,y:b.canvasTop+k,opposite:b.canvasRight+f,axisLength:b.canvasHeight-k-h});this._setPosition();d&&(s=d.xShiftLength=C(p/w,(0>=l?10:l)*p/100),J(w-1,1),q=J(q,1));this._adjustCanvasPadding();e&&e.setAxisDimention({x:this.config.canvasLeft+n+s/2,axisLength:s*(q-m),y:b.canvasBottom+(b.shift||0)+f,opposite:b.canvasTop-f})},_setPosition:function(){var b,a,e,c,h,f,n;b=this.components;c=this.jsonData;var k=b.dataset[0],l=c.data||k&&k[0]&&k[0].data,w=(k=k.components.data)&&
k.length,m=b.yAxis[0],q=0,p=q,s=[];for(b=0;b<w;b++)a=k[b].config,e=a.setValue,(c=k[b])||(k[b]={graphics:{}}),a.isDefined||(e=a.plotValue),e=d(a.plotValue,e),a.plotY=ya(m.getAxisPosition(a.setValue),2),a.graphY=ya(m.getAxisPosition(e),2),a.plotX=p,a.isShift?(p=q+=1,l&&s.push(l[b])):b===w-1&&l&&s.push(l[b]),b&&(n=k[b-1].config,c=a&&a.objParams&&a.objParams.isRally,e=a&&a.objParams&&a.objParams.lastHigh,h=a&&a.objParams&&a.objParams.lastLow,f=a&&a.objParams&&a.objParams.isRallyInitialised,n&&f&&n.isRally!==
a.isRally?(a.isChanged=!0,a.ty=ya(m.getAxisPosition(c?e:h),2)):a.isChanged=!1)},_setAxisLimits:function(){var b=this.components,a=b.dataset,e=b.yAxis,b=b.xAxis,c,d=a.length,f,n=-Infinity,k=Infinity,l=Infinity,w=-Infinity,m,q={},p=[],s=function(b){n=J(n,b.max);k=C(k,b.min);w=J(w,b.xMax||-Infinity);l=C(l,b.xMin||Infinity)};for(f=0;f<d;f++)c=a[f],(m=c.groupManager)?q[c.type]=m:p.push(c);for(m in q)a=q[m].getDataLimits(),s(a);d=p.length;for(f=0;f<d;f++)a=p[f].getDataLimits(),s(a);-Infinity===n&&(n=0);
Infinity===k&&(k=0);this.config.yMax=n;this.config.yMin=k;e[0].setAxisData({setAdaptiveMin:!0});e[0].setDataLimit(n,k);if(-Infinity!==w||Infinity!==l)b[0].config.xaxisrange={max:w,min:l},b[0].setDataLimit(w,l)}},K.waterfall2d);v.BoxAndWhiskerStatisticalCalc=r=function(b,a,e){this.nf=a;this.dataSeparator=e;this.method=(b||B).toLowerCase().replace(/\s/g,p)};r.prototype={setArray:function(b){var a=this.nf,e=this.dataSeparator,c=0;!b&&(b=B);for(b=this.dataLength=(e=b.replace(/\s/g,B).split(e))&&e.length;b--;)c+=
e[b]=a.getCleanValue(e[b]);e&&e.sort(function(b,a){return b-a});this.values=e;this.mean=c/this.dataLength;this.getFrequencies()},getQuartiles:function(){var b=this.values,a=this.dataLength,e=a%2,c,d;switch(this.method){case "tukey":e?(e=(a+3)/4,a=(3*a+1)/4):(e=(a+2)/4,a=(3*a+2)/4);break;case "mooremccabe":e?(e=(a+1)/4,a=3*e):(e=(a+2)/4,a=(3*a+2)/4);break;case "freundperles":e=(a+3)/4;a=(3*a+1)/4;break;case "mendenhallsincich":e=ga((a+1)/4);a=ga(3*e);break;default:e=(a+1)/4,a=3*e}--e;--a;c=Ub(e);d=
Ub(a);e=e-c?b[c]+(b[bc(e)]-b[c])*(e-c):b[e];b=a-d?b[d]+(b[bc(a)]-b[d])*(a-d):b[a];return this.quartiles={q1:e,q3:b}},getMinMax:function(){var b=this.values;return{min:b[0],max:b[this.dataLength-1]}},getMean:function(){return this.mean},getMD:function(){for(var b=this.mean,a=this.frequencies,e=a.length,c,d=0;e--;)c=a[e],d+=c.frequency*Ca(c.value-b);return d/this.dataLength},getSD:function(){for(var b=this.mean,a=this.values,e=this.dataLength,c=e,d=0;e--;)d+=kc(a[e]-b,2);return jc(d)/c},getQD:function(){return.5*
(this.quartiles.q3-this.quartiles.q1)},getFrequencies:function(){var b=[],a=this.dataLength,e=this.values,c=0,d,f,n;for(n=0;n<a;n+=1)c+=d=e[n],ba(b[n])?b[n].frequency+=1:(f={},f.value=d,f.frequency=1,b[n]=f);this.sum=c;this.frequencies=b},getMedian:function(){var b=this.dataLength,a=.5*b,e=this.values;return 0===b%2?(e[a]+e[a-1])/2:e[Ub(a)]}};r.prototype.constructor=r;ta&&ta({plotborderdashlen:{type:ia,pAttr:"plotborderdashlen"},plotborderdashgap:{type:ia,pAttr:"plotborderdashgap"},plotfillalpha:{pAttr:"plotfillalpha"},
useroundedges:{type:ia,pAttr:"useroundedges"},ratio:{pAttr:"plotfillratio"},plotfillratio:{pAttr:"plotfillratio"},showvalues:{type:ia,pAttr:"showvalues"},valuepadding:{type:ia,pAttr:"valuepadding"},maxcolwidth:{type:ia,pAttr:"maxcolwidth"},rotatevalues:{type:ia,pAttr:"rotatevalues"},use3dlighting:{type:ia,pAttr:"use3dlighting"},whiskerslimitswidthratio:{type:ia,pAttr:"whiskerslimitswidthratio"},outliersupperrangeratio:{type:ia,pAttr:"outliersupperrangeratio"},outlierslowerrangeratio:{type:ia,pAttr:"outlierslowerrangeratio"},
showalloutliers:{type:ia,pAttr:"showalloutliers"},showmean:{type:ia,pAttr:"showmean"},showsd:{type:ia,pAttr:"showsd"},showmd:{type:ia,pAttr:"showmd"},showqd:{type:ia,pAttr:"showqd"},showminvalues:{type:ia,pAttr:"showminvalues"},showmaxvalues:{type:ia,pAttr:"showmaxvalues"},showq1values:{type:ia,pAttr:"showq1values"},showq3values:{type:ia,pAttr:"showq3values"},showmedianvalues:{type:ia,pAttr:"showmedianvalues"}});K("boxandwhisker2d",{friendlyName:"Box and Whisker Chart",standaloneInit:!0,creditLabel:!1,
chart:K.errorbar2d.chart,drawErrorValue:K.errorbar2d.drawErrorValue,decimals:2,maxColWidth:Infinity,useErrorAnimation:1,avoidCrispError:0,tooltipsepchar:": ",defaultDatasetType:"boxandwhisker2d",applicableDSList:{boxandwhisker2d:!0},fireGroupEvent:!0,fireInitialAnimation:!0,_drawDataset:function(){var b=this.components.dataset,a,e=b.length,c,d,f={};for(c=0;c<e;c++)a=b[c],d=a.groupManager,f[a.type]=d;for(d in f)f[d].draw();b.flag=!0;for(c=0;c<e;c++)for(b[c].components.mean&&b[c].components.mean.draw(),
b[c].components.sd&&b[c].components.sd.draw(),b[c].components.md&&b[c].components.md.draw(),b[c].components.qd&&b[c].components.qd.draw(),d=b[c].config.maxNumberOfOutliers||b[c].components.outliers.length,a=0;a<d;a++)b[c].config.showOutliersLegend||(b[c].components.outliers[a].visible=!1),b[c].components.outliers&&b[c].components.outliers[a].draw()},_createDatasets:function(){var b=this.components,a=b.xAxis[0],e=this.jsonData,c=e.dataset,h=c&&c.length,f,n,k,l=this.defaultDatasetType,w=this.applicableDSList,
m=this.components.legend;f=m.components.items||[];var q,s,r,t,u=this.isStacked,v,x,z=[],A=this.isRealTime,B=this.config.catLen,C={};c||this.setChartMessage();this.config.categories=e.categories&&e.categories[0].category;e=b.dataset||(b.dataset=[]);n=e.length;m.emptyItems(0,f.length);for(f=0;f<h;f++)if(t=c[f],t.seriesname&&(t.seriesname=Z(t.seriesname)),k=t.parentyaxis||p,s=(s=this.isDual&&"s"===k.toLowerCase()?d(t.renderas,this.sDefaultDatasetType):d(t.renderas,l))&&s.toLowerCase(),w[s]||(s=l),r=
FusionCharts.get("component",["dataset",s]))void 0===C[s]?C[s]=0:C[s]++,v="datasetGroup_"+s,k=FusionCharts.register("component",["datasetGroup",s]),(q=b[v])&&z.push(q),k&&!q&&(q=b[v]=new k,q.chart=this,q.init()),(k=e[f])?(s=a.getCategoryLen(),v=B-s,r=A?k.components:k.JSONData,x=r.data&&r.data.length||0,r=t.data&&t.data.length||0,x-=r,v>x||(v=x,s=r),0<v&&k.removeData(s,v,!1),e[f].JSONData=t,e[f].configure(),e[f]._deleteGridImages&&e[f]._deleteGridImages()):(k=new r,e.push(k),k.chart=this,k.index=f,
q&&(u?q.addDataSet(k,0,C[s]):q.addDataSet(k,C[s],0)),k.init(t));if(n>h){v=n-h;q&&u&&q.removeDataSet(0,f,v);b=f;for(h=v+f;b<h;b++)q&&!u&&q.removeDataSet(f,0,1),m.removeItem(e[b].legendItemId),U.call(e[b]);e.splice(f,v)}this.config.catLen=a.getCategoryLen()}},K.mscartesian,{showplotborder:1,plotborderdashlen:5,plotborderdashgap:4,plotfillalpha:La,useroundedges:0,plotborderthickness:1,showvalues:1,valuepadding:2,showtooltip:1,maxcolwidth:50,rotatevalues:0,use3dlighting:1,whiskerslimitswidthratio:40,
outliersupperrangeratio:0,outlierslowerrangeratio:0,showalloutliers:0,showmean:0,showsd:0,showmd:0,showqd:0,showminvalues:1,showmaxvalues:1,showq1values:0,showq3values:0,showmedianvalues:1});FusionCharts.register("component",["dataset","boxandwhisker2d",{type:"boxandwhisker2d",configure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,f=b.singleseries,n=b.config,k=C(h&&h.length,c&&c.length),l=b.jsonData.chart,w=b.components.colorManager,m=this.index||this.positionIndex,
q,s=g.plotColor=w.getPlotColor(m),r=a(e.dashed,l.plotborderdashed),t=a(l.useplotgradientcolor,1),u,x=v.parseUnsafeString,B=x(l.yaxisname),D=x(l.xaxisname),A=x(d(l.tooltipsepchar,": ")),M=v.parseTooltext,H,K,N,U,W,I,L,Q,Z,V,R,S,Y,O,X,ba,ga,$,G,da,ia,P,la,ra,ma,na,pa,oa,ja,qa,va,ca,ta,za,ya,Aa,ua,Ia,xa,Ka,Ga,Ba,hc=v.getDashStyle,Ca=this.components.data,sa=b.components.numberFormatter,Da,ic,Ra,ac,ub,ab,Ta,Sa=0,Fa=0,Ja=v.BoxAndWhiskerStatisticalCalc,gb,Pa,jb,lb,vb,Ma,eb,Xa,wb,Na,Oa,Ya,fa,Ua,Ea,hb,Db,
Za,mb,Jb,wa,fb,rb,Xb,xb,yb,bb,nb=0,cb;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.__setDefaultConfig();Ob(e,g,n,{data:!0});g.includeInLegend=a(e.includeinlegend,1);g.legendSymbolColor=g.plotColor;q=g.showplotborder;L=g.plotborderdashlen;Q=g.plotborderdashgap;Y=g.plotfillalpha;V=g.useroundedges;O=g.ratio;Z=g.plotborderthickness;Za=g.showvalues;u=g.showtooltip;g.rotatevalues&&(g.rotatevalues=270);mb=g.showalloutliers;g.plotfillAngle=S=a(360-l.plotfillangle,
90);g.plotColor=s=d(e.color,s);g.plotRadius=a(l.useroundedges,V?1:0);g.plotgradientcolor=X=v.getDefinedColor(l.plotgradientcolor,w.getColor("plotGradientColor"));!t&&(X=p);g.plotBorderAlpha=ba=q?d(l.plotborderalpha,Y,La):0;g.plotBorderColor=ga=d(l.plotbordercolor,w.getColor("plotBorderColor"));g.plotBorderDashStyle=$=r?hc(L,Q,Z):"none";g.showShadow=V?a(l.showshadow,1):a(l.showshadow,w.getColor("showShadow"));g.showHoverEffect=R=a(l.plothovereffect,l.showhovereffect,void 0);g.definedGroupPadding=J(a(l.plotspacepercent),
0);g.plotSpacePercent=J(a(l.plotspacepercent,20)%100,0);g.parentYAxis=Ra="s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),"p")?1:0;g.dataSeparator=Wb;g.bwCalc=gb=new Ja(void 0,sa,g.dataSeparator);g.textDirection="1"===l.hasrtltext?"rtl":p;g.showMeanLegend=g.showSDLegend=g.showMDLegend=g.showQDLegend=g.showOutliersLegend=0;!this.components.data&&(this.components.data=[]);Ca=this.components.data;for(Ta=0;Ta<k;Ta++)if(G=c&&c[Ta],P=(ia=Ca[Ta])&&ia.config,ia||(ia=Ca[Ta]={graphics:{}}),ia.config||(P=
Ca[Ta].config={}),G.value){G.value&&(gb.setArray(G.value),Pa=gb.getQuartiles(),jb=Pa.q1,lb=Pa.q3,vb=gb.getMinMax(),P.min=Ma=vb.min,P.max=eb=vb.max,Xa=gb.getMedian(),P.mean=wb=gb.getMean(),P.md=Na=gb.getMD(),P.sd=Oa=gb.getSD(),P.qd=Ya=gb.getQD());G.outliers&&(P.outliers=G.outliers.split(","),nb=J(nb,P.outliers.length));P.showMean=fb=a(G.showmean,g.showmean);P.showSD=rb=a(G.showsd,g.showsd);P.showMD=Xb=a(G.showmd,g.showmd);P.showQD=xb=a(G.showqd,g.showqd);G.outliers&&(g.showOutliersLegend=1);fb&&(g.showMeanLegend=
1);rb&&(g.showSDLegend=1);Xb&&(g.showMDLegend=1);xb&&(g.showQDLegend=1);P.upperQuartile={value:lb,color:aa(d(G.upperquartilecolor,e.upperquartilecolor,l.upperquartilecolor,l.plotbordercolor,w.getColor("plotBorderColor")),a(G.upperquartilealpha,e.upperquartilealpha,l.upperquartilealpha,l.plotborderalpha,100)),borderWidth:a(G.upperquartilethickness,e.upperquartilethickness,l.upperquartilethickness,l.plotborderthickness,V?0:1),displayValue:sa.dataLabels(lb)};P.lowerQuartile={value:jb,color:aa(d(G.lowerquartilecolor,
e.lowerquartilecolor,l.lowerquartilecolor,l.plotbordercolor,w.getColor("plotBorderColor")),a(G.lowerquartilealpha,e.lowerquartilealpha,l.lowerquartilealpha,l.plotborderalpha,100)),borderWidth:a(G.lowerquartilethickness,e.lowerquartilethickness,l.lowerquartilethickness,l.plotborderthickness,V?0:1),displayValue:sa.dataLabels(jb)};P.upperBoxBorder={color:aa(d(G.upperboxbordercolor,e.upperboxbordercolor,l.upperboxbordercolor,l.plotbordercolor,w.getColor("plotBorderColor")),a(G.upperboxborderalpha,e.upperboxborderalpha,
l.upperboxborderalpha,l.plotborderalpha,100)),borderWidth:a(G.upperboxborderthickness,e.upperboxborderthickness,l.upperboxborderthickness,!V&&l.plotborderthickness,V?0:1)};P.lowerBoxBorder={color:aa(d(G.lowerboxbordercolor,e.lowerboxbordercolor,l.lowerboxbordercolor,l.plotbordercolor,w.getColor("plotBorderColor")),a(G.lowerboxborderalpha,e.lowerboxborderalpha,l.lowerboxborderalpha,l.plotborderalpha,100)),borderWidth:a(G.lowerboxborderthickness,e.lowerboxborderthickness,l.lowerboxborderthickness,!V&&
l.plotborderthickness,V?0:1)};P.median={value:Xa,color:aa(d(G.mediancolor,e.mediancolor,l.mediancolor,l.plotbordercolor,w.getColor("plotBorderColor")),a(G.medianalpha,e.medianalpha,l.medianalpha,l.plotborderalpha,100)),borderWidth:a(G.medianthickness,e.medianthickness,l.medianthickness,l.plotborderthickness,1),displayValue:sa.dataLabels(Xa)};g.upperBoxColor=fa=d(G.upperboxcolor,e.upperboxcolor,l.upperboxcolor,w.getPlotColor(2*m));Ua=g.upperBoxAlpha=d(G.upperboxalpha,e.upperboxalpha,l.upperboxalpha,
Y,La);g.lowerBoxColor=Ea=d(G.lowerboxcolor,e.lowerboxcolor,l.lowerboxcolor,w.getPlotColor(2*m+1));hb=g.lowerBoxAlpha=d(G.lowerboxalpha,e.lowerboxalpha,l.lowerboxalpha,Y,La);P.upperColorArr=v.graphics.getColumnColor(fa,Ua,void 0,void 0,V,ga,ba.toString(),0,!1);P.lowerColorArr=v.graphics.getColumnColor(Ea,hb,void 0,void 0,V,ga,ba.toString(),0,!1);P.showMinValues=Za?a(G.showminvalues,g.showminvalues):0;P.showMaxValues=Za?a(G.showmaxvalues,g.showmaxvalues):0;P.showQ1Values=Za?a(G.showq1values,g.showq1values):
0;P.showQ3Values=Za?a(G.showq3values,g.showq3values):0;P.showMedianValues=Za?a(G.showmedianvalues,g.showmedianvalues):0;P.upperWhiskerAlpha=Db=$a(d(G.upperwhiskeralpha,e.upperwhiskeralpha,l.upperwhiskeralpha,l.plotborderalpha,100));P.upperWhiskerColor=aa(Ha(d(G.upperwhiskercolor,e.upperwhiskercolor,l.upperwhiskercolor,l.plotbordercolor,w.getColor("plotBorderColor"))),Db);P.upperWhiskerThickness=a(G.upperwhiskerthickness,e.upperwhiskerthickness,l.upperwhiskerthickness,l.plotborderthickness,1);P.upperWhiskerShadowOpacity=
g.showShadow?Db/250:0;P.lowerWhiskerAlpha=wa=$a(d(G.lowerwhiskeralpha,e.lowerwhiskeralpha,l.lowerwhiskeralpha,l.plotborderalpha,100));P.lowerWhiskerColor=aa(Ha(d(G.lowerwhiskercolor,e.lowerwhiskercolor,l.lowerwhiskercolor,l.plotbordercolor,w.getColor("plotBorderColor"))),wa);P.lowerWhiskerThickness=a(G.lowerwhiskerthickness,e.lowerwhiskerthickness,l.lowerwhiskerthickness,l.plotborderthickness,1);P.lowerWhiskerShadowOpacity=g.showShadow?wa/250:0;P.showValue=a(G.showvalue,g.showvalues);P.setValue=da=
sa.getCleanValue(G.value);P.setLink=d(G.link);P.toolTipValue=Da=sa.dataLabels(da,Ra);P.setDisplayValue=ic=x(G.displayvalue);P.displayValue=d(ic,Da);ac=a(G.dashed);ub=a(G.dashlen,L);ab=Q=a(G.dashgap,Q);Sa=J(Sa,eb);Fa=C(Fa,Ma);if(mb&&G.outliers)for(cb=0;cb<P.outliers.length;cb++)Sa=J(Sa,P.outliers[cb]),Fa=C(Fa,P.outliers[cb]);P.plotBorderDashStyle=1===ac?hc(ub,ab,Z):0===ac?"none":$;f?(s=w.getPlotColor(Ta),s=d(G.color,s),O=d(G.ratio,g.ratio)):s=d(G.color,g.plotColor);Y=d(G.alpha,g.plotfillalpha);0>da&&
!V&&(W=S,S=360-S);P.colorArr=v.graphics.getColumnColor(s+","+X,Y,O,S,V,ga,ba.toString(),0,!1);P.label=la=F(x(d(h[Ta].tooltext,h[Ta].label)));0!==R&&(ra=d(G.upperboxhovercolor,e.upperboxhovercolor,l.upperboxhovercolor,fa),ma=d(G.upperboxhoveralpha,e.upperboxhoveralpha,l.upperboxhoveralpha,Ua),na=d(G.upperboxborderhovercolor,e.upperboxborderhovercolor,l.upperboxborderhovercolor,G.upperboxbordercolor,e.upperboxbordercolor,l.upperboxbordercolor,l.plotbordercolor,w.getColor("plotBorderColor")),pa=d(G.upperboxborderhoveralpha,
e.upperboxborderhoveralpha,l.upperboxborderhoveralpha,G.upperboxborderalpha,e.upperboxborderalpha,l.upperboxborderalpha,l.plotborderalpha,100),oa=V?0:d(G.upperboxborderhoverthickness,e.upperboxborderhoverthickness,l.upperboxborderhoverthickness,P.upperBoxBorder.borderWidth),ja=d(G.lowerboxhovercolor,e.lowerboxhovercolor,l.lowerboxhovercolor,Ea),qa=d(G.lowerboxhoveralpha,e.lowerboxhoveralpha,l.lowerboxhoveralpha,hb),va=d(G.lowerboxborderhovercolor,e.lowerboxborderhovercolor,l.lowerboxborderhovercolor,
G.lowerboxbordercolor,e.lowerboxbordercolor,l.lowerboxbordercolor,l.plotbordercolor,w.getColor("plotBorderColor")),ca=d(G.lowerboxborderhoveralpha,e.lowerboxborderhoveralpha,l.lowerboxborderhoveralpha,G.lowerboxborderalpha,e.lowerboxborderalpha,l.lowerboxborderalpha,l.plotborderalpha,100),ta=V?0:d(G.lowerboxborderhoverthickness,e.lowerboxborderhoverthickness,l.lowerboxborderhoverthickness,P.lowerBoxBorder.borderWidth),za=d(G.upperquartilehovercolor,e.upperquartilehovercolor,l.upperquartilehovercolor,
G.upperquartilecolor,e.upperquartilecolor,l.upperquartilecolor,l.plotbordercolor,w.getColor("plotBorderColor")),ya=d(G.upperquartilehoveralpha,e.upperquartilehoveralpha,l.upperquartilehoveralpha,G.upperquartilealpha,e.upperquartilealpha,l.upperquartilealpha,l.plotborderalpha,100),Aa=d(G.upperquartilehoverthickness,e.upperquartilehoverthickness,l.upperquartilehoverthickness,P.upperQuartile.borderWidth),ua=d(G.lowerquartilehovercolor,e.lowerquartilehovercolor,l.lowerquartilehovercolor,G.lowerquartilecolor,
e.lowerquartilecolor,l.lowerquartilecolor,l.plotbordercolor,w.getColor("plotBorderColor")),Ia=d(G.lowerquartilehoveralpha,e.lowerquartilehoveralpha,l.lowerquartilehoveralpha,G.lowerquartilealpha,e.lowerquartilealpha,l.lowerquartilealpha,l.plotborderalpha,100),xa=d(G.lowerquartilehoverthickness,e.lowerquartilehoverthickness,l.lowerquartilehoverthickness,P.lowerQuartile.borderWidth),Ka=d(G.medianhovercolor,e.medianhovercolor,l.medianhovercolor,G.mediancolor,e.mediancolor,l.mediancolor,l.plotbordercolor,
w.getColor("plotBorderColor")),Ga=d(G.medianhoveralpha,e.medianhoveralpha,l.medianhoveralpha,G.medianalpha,e.medianalpha,l.medianalpha,l.plotborderalpha,100),Ba=d(G.medianhoverthickness,e.medianhoverthickness,l.medianhoverthickness,P.median.borderWidth),1==R&&(fa===ra&&(ra=pb(ra,70)),Ea===ja&&(ja=pb(ja,70))),P.upperBoxHoverColorArr=v.graphics.getColumnColor(ra,ma,void 0,void 0,V,ga,ba.toString(),0,!1),P.lowerBoxHoverColorArr=v.graphics.getColumnColor(ja,qa,void 0,void 0,V,ga,ba.toString(),0,!1),P.setUpperBoxRolloutAttr=
{fill:z(P.upperColorArr[0])},P.setUpperBoxRolloverAttr={fill:z(P.upperBoxHoverColorArr[0])},P.setLowerBoxRolloutAttr={fill:z(P.lowerColorArr[0])},P.setLowerBoxRolloverAttr={fill:z(P.lowerBoxHoverColorArr[0])},P.setUpperBoxBorderRolloverAttr={stroke:aa(na,pa),"stroke-width":oa},P.setUpperBoxBorderRolloutAttr={stroke:P.upperBoxBorder.color,"stroke-width":P.upperBoxBorder.borderWidth},P.setLowerBoxBorderRolloverAttr={stroke:aa(va,ca),"stroke-width":ta},P.setLowerBoxBorderRolloutAttr={stroke:P.lowerBoxBorder.color,
"stroke-width":P.lowerBoxBorder.borderWidth},P.setUpperQuartileRolloverAttr={stroke:aa(za,ya),"stroke-width":Aa},P.setUpperQuartileRolloutAttr={stroke:P.upperQuartile.color,"stroke-width":P.upperQuartile.borderWidth},P.setLowerQuartileRolloverAttr={stroke:aa(ua,Ia),"stroke-width":xa},P.setLowerQuartileRolloutAttr={stroke:P.lowerQuartile.color,"stroke-width":P.lowerQuartile.borderWidth},P.setMedianRolloverAttr={stroke:aa(Ka,Ga),"stroke-width":Ba},P.setMedianRolloutAttr={stroke:P.median.color,"stroke-width":P.median.borderWidth});
H=P.toolTipValue;N=F(x(d(G.tooltext,e.plottooltext,l.plottooltext)));u?null===H?I=!1:void 0!==N?(U=[1,2,3,4,5,6,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],K={maxValue:eb,maxDataValue:sa.dataLabels(eb),minValue:Ma,minDataValue:sa.dataLabels(Ma),Q1:sa.dataLabels(jb),unformattedQ1:jb,Q3:sa.dataLabels(lb),unformattedQ3:lb,median:sa.dataLabels(Xa),unformattedMedian:Xa,SD:sa.dataLabels(Oa),unformattedsd:Oa,QD:sa.dataLabels(Ya),unformattedQD:Ya,MD:sa.dataLabels(Na),unformattedMD:Na,mean:sa.dataLabels(wb),
unformattedMean:wb,label:la,yaxisName:B,xaxisName:D,formattedValue:H,value:la},I=M(N,U,K,G,l,e)):I="<b>Maximum"+A+"</b>"+sa.dataLabels(eb)+"<br /><b>Q3"+A+"</b>"+sa.dataLabels(lb)+"<br /><b>Median"+A+"</b>"+sa.dataLabels(Xa)+"<br /><b>Q1"+A+"</b>"+sa.dataLabels(jb)+"<br /><b>Minimum"+A+"</b>"+sa.dataLabels(Ma):I=!1;P.toolText=I;P.setTooltext=I;W&&(S=W)}g.maxNumberOfOutliers=nb;g.maxValue=Sa;g.minValue=Fa;mb||(Jb=Sa-Fa,g.maxValue+=g.outliersupperrangeratio*Jb,g.minValue-=g.outlierslowerrangeratio*
Jb);!1!==b.hasLegend&&this._addLegend();this.subDS=0;this.components.mean=this._createSubDS(0,"Mean");g.showMeanLegend&&this._addLegendSubDS(this.components.mean);g.showMeanLegend&&(this.subDS+=1);this.components.sd=this._createSubDS(1,"SD");g.showSDLegend&&this._addLegendSubDS(this.components.sd);g.showSDLegend&&(this.subDS+=1);this.components.md=this._createSubDS(2,"MD");g.showMDLegend&&this._addLegendSubDS(this.components.md);g.showMDLegend&&(this.subDS+=1);this.components.qd=this._createSubDS(3,
"QD");g.showQDLegend&&this._addLegendSubDS(this.components.qd);g.showQDLegend&&(this.subDS+=1);!this.components.outliers&&(this.components.outliers=[]);bb=this.config.maxNumberOfOutliers||this.components.outliers.length;for(Ta=0;Ta<bb;Ta++)yb=this._createSubDS(4+Ta,"Outliers",Ta),this.components.outliers[Ta]=yb;g.showOutliersLegend&&this._addLegendOutliers(this.components.outliers);g.showOutliersLegend&&(this.subDS+=1)},_createSubDS:function(b,a,e){var c=this.chart,d=c.jsonData.dataset,f=d&&d.length,
n=this.components,k,l,d=c.components.legend,w={},n=n.dataset||(n.dataset=[]),f=f*(b+1)+this.index;if(n[b])l=n[b],l.index=f,c=W({},this.JSONData),l.JSONData=c;else if(k=FusionCharts.get("component",["dataset","subDS"]))void 0===w.subDS?w.subDS=0:w.subDS++,l=new k,l.chart=c,l.index=f,n.push(l),c=W({},this.JSONData),this.initSubDataset(c,l),l.name=a;switch(b){case 0:this.configureMean(l);!this.config.showMeanLegend&&d.removeItem(l.legendItemId);break;case 1:this.configureSD(l);!this.config.showQDLegend&&
d.removeItem(l.legendItemId);break;case 2:this.configureMD(l);!this.config.showMDLegend&&d.removeItem(l.legendItemId);break;case 3:this.configureQD(l);!this.config.showQDLegend&&d.removeItem(l.legendItemId);break;default:this.configureOutliers(l,e),!this.config.showOutliersLegend&&d.removeItem(this.components.outliers.legendItemId)}return l},configureMean:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,n=g.jsonData.chart,k=e.colorManager,l=b.index||b.stackIndex,
w=b.type,m=!g.singleseries||F(n.palettecolors)?k.getPlotColor(l):k.getColor("plotFillColor").split(/\s*\,\s*/)[0],l=f.data,q,p=g.config.categories,p=C(p&&p.length,l&&l.length),s=e.numberFormatter,r=g.use3dlineshift,t,u=-Infinity,x=Infinity,z,A,B=d(n.tooltipsepchar,": "),H=a(f.dashed,n.linedashed);A=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==r?a(n.use3dlineshift,r):1;h.plotColor=m;h.legendSymbolColor=h.plotColor;
g=a(g.defaultPlotShadow,k.getColor("showShadow"));h.drawFullAreaBorder=a(n.drawfullareaborder,1);h.parentYAxis=q?z=1:z="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(n.connectnulldata,0);h.enableAnimation=k=a(n.animation,n.defaultanimation,1);h.animation=k?{duration:1E3*a(n.animationduration,1)}:!1;h.transposeanimation=a(n.transposeanimation,k);h.transposeanimduration=1E3*a(n.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(n.valuepadding,2);h.valuePosition=
d(f.valueposition,n.valueposition,"auto");h.stack100Percent=k=a(n.stack100percent,0);h.showPercentValues=a(n.showpercentvalues,A&&k?1:0);h.showPercentInToolTip=a(n.showpercentintooltip,A&&k?1:0);h.showTooltip=a(n.showtooltip,1);h.seriesNameInTooltip=a(n.seriesnameintooltip,1);h.showHoverEffect=a(n.plothovereffect,n.anchorhovereffect,n.showhovereffect,void 0);h.rotateValues=a(n.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,n.linethickness,1);h.lineDashLen=a(f.linedashlen,n.linedashlen,5);h.lineDashGap=
a(f.linedashgap,n.linedashgap,4);h.drawLine=h.lineAlpha=a(n.drawmeanconnector,f.drawmeanconnector,0)&&100;A=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=H?A:"none";h.shadow={opacity:a(n.showshadow,g)?w===ra?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,n.drawanchors,n.showanchors);h.anchorBgColor=d(f.meaniconcolor,n.meaniconcolor,"000000");h.anchorBorderColor="000000";h.anchorRadius=a(f.meaniconradius,n.meaniconradius,5);h.anchorAlpha=
d(f.alpha,f.meaniconalpha,n.meaniconalpha);h.anchorBgAlpha=d(f.meaniconalpha,n.meaniconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,n.anchorborderthickness,1);h.anchorSides=d(f.meaniconsides,n.meaniconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(n.minimizetendency,n.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,n.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,n.anchorimagealpha,100);h.anchorImageScale=a(f.anchorimagescale,n.anchorimagescale,100);h.anchorImagePadding=
a(f.anchorimagepadding,n.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,n.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,n.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(m=0;m<p;m++)q=l&&l[m],w=g[m]=g[m]||{},w.config=w.config||{},k=w.config,r=this.components.data[m].config,q.value=r.showMean?r.mean:null,k.x=this.components.data[m]._xPos,k.setValue=r=s.getCleanValue(q.value),k.setLink=d(q.link),k.anchorProps=this._parseAnchorProperties(m,b,"mean"),
t=e.getLabel(m),k.label=v.getValidValue(c(d(t.tooltext,t.label,t.name))),k.showValue=0,k.dashed=a(q.dashed,H),k.color=d(q.color,h.lineColor),k.alpha=d(q.alpha,q.linealpha,h.lineAlpha),u=J(u,r),x=C(x,r),k.dashStyle=k.dashed?A:"none",k.toolTipValue=r=s.dataLabels(r,z),k.setDisplayValue=t=c(q.displayvalue),k.displayValue=d(t,r),k.formatedVal=k.toolTipValue,k.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,n.plottooltext))),q=d(q.meaniconshape,f.meaniconshape,n.meaniconshape,"polygon"),h.dip=
k.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?"<b>Mean"+B+"</b>":!1,k.toolText=q,k.setTooltext=q,w?w.graphics||(g[m].graphics={}):g[m]={graphics:{}},k.hoverEffects={enabled:!1};h.maxValue=u;h.minValue=x},configureSD:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,n=g.jsonData.chart,k=e.colorManager,l=b.index||b.stackIndex,w=b.type,m=!g.singleseries||F(n.palettecolors)?k.getPlotColor(l):k.getColor("plotFillColor").split(/\s*\,\s*/)[0],l=f.data,q,p=g.config.categories,
p=C(p&&p.length,l&&l.length),s=e.numberFormatter,r=g.use3dlineshift,t,u=-Infinity,x=Infinity,z,A,B=d(n.tooltipsepchar,": "),H=a(f.dashed,n.linedashed);A=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==r?a(n.use3dlineshift,r):1;h.plotColor=m;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,k.getColor("showShadow"));h.drawFullAreaBorder=a(n.drawfullareaborder,1);h.parentYAxis=q?z=1:z="s"===d(f.parentyaxis&&
f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(n.connectnulldata,0);h.enableAnimation=k=a(n.animation,n.defaultanimation,1);h.animation=k?{duration:1E3*a(n.animationduration,1)}:!1;h.transposeanimation=a(n.transposeanimation,k);h.transposeanimduration=1E3*a(n.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(n.valuepadding,2);h.valuePosition=d(f.valueposition,n.valueposition,"auto");h.stack100Percent=k=a(n.stack100percent,0);h.showPercentValues=a(n.showpercentvalues,A&&k?1:0);h.showPercentInToolTip=
a(n.showpercentintooltip,A&&k?1:0);h.showTooltip=a(n.showtooltip,1);h.seriesNameInTooltip=a(n.seriesnameintooltip,1);h.showHoverEffect=a(n.plothovereffect,n.anchorhovereffect,n.showhovereffect,void 0);h.rotateValues=a(n.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,n.linethickness,1);h.lineDashLen=a(f.linedashlen,n.linedashlen,5);h.lineDashGap=a(f.linedashgap,n.linedashgap,4);h.drawLine=h.lineAlpha=a(n.drawsdconnector,f.drawsdconnector,0)&&100;A=v.getDashStyle(h.lineDashLen,h.lineDashGap,
h.lineThickness);h.lineDashStyle=H?A:"none";h.shadow={opacity:a(n.showshadow,g)?w===ra?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,n.drawanchors,n.showanchors);h.anchorBgColor=d(f.sdiconcolor,n.sdiconcolor,"000000");h.anchorBorderColor="000000";h.anchorRadius=a(f.sdiconradius,n.sdiconradius,5);h.anchorAlpha=d(f.alpha,f.sdiconalpha,n.sdiconalpha);h.anchorBgAlpha=d(f.sdiconalpha,n.sdiconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,n.anchorborderthickness,
1);h.anchorSides=d(f.sdiconsides,n.sdiconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(n.minimizetendency,n.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,n.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,n.anchorimagealpha,100);h.anchorImageScale=a(f.anchorimagescale,n.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,n.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,n.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,n.anchorshadow,0);
!b.components.data&&(b.components.data=[]);g=b.components.data;for(m=0;m<p;m++)q=l&&l[m],w=g[m]=g[m]||{},w.config=w.config||{},k=w.config,r=this.components.data[m].config,q.value=r.showSD?r.sd:null,k.x=this.components.data[m]._xPos,k.setValue=r=s.getCleanValue(q.value),k.setLink=d(q.link),k.anchorProps=this._parseAnchorProperties(m,b,"sd"),t=e.getLabel(m),k.label=v.getValidValue(c(d(t.tooltext,t.label,t.name))),k.showValue=0,k.dashed=a(q.dashed,H),k.color=d(q.color,h.lineColor),k.alpha=d(q.alpha,
q.linealpha,h.lineAlpha),u=J(u,r),x=C(x,r),k.dashStyle=k.dashed?A:"none",k.toolTipValue=r=s.dataLabels(r,z),k.setDisplayValue=t=c(q.displayvalue),k.displayValue=d(t,r),k.formatedVal=r=k.toolTipValue,k.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,n.plottooltext))),q=d(q.sdiconshape,f.sdiconshape,n.sdiconshape,"polygon"),h.dip=k.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?null===r?!1:"<b>SD"+B+"</b>":!1,k.toolText=q,k.setTooltext=q,w?w.graphics||(g[m].graphics={}):g[m]={graphics:{}},
k.hoverEffects={enabled:!1};h.maxValue=u;h.minValue=x},configureMD:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,n=g.jsonData.chart,k=e.colorManager,l=b.index||b.stackIndex,m=b.type,p=!g.singleseries||F(n.palettecolors)?k.getPlotColor(l):k.getColor("plotFillColor").split(/\s*\,\s*/)[0],l=f.data,q,s=g.config.categories,s=C(s&&s.length,l&&l.length),r=e.numberFormatter,t=g.use3dlineshift,u,x=-Infinity,z=Infinity,B,A,D=d(n.tooltipsepchar,": "),H=a(f.dashed,n.linedashed);
A=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==t?a(n.use3dlineshift,t):1;h.plotColor=p;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,k.getColor("showShadow"));h.drawFullAreaBorder=a(n.drawfullareaborder,1);h.parentYAxis=q?B=1:B="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(n.connectnulldata,0);h.enableAnimation=k=a(n.animation,n.defaultanimation,1);h.animation=
k?{duration:1E3*a(n.animationduration,1)}:!1;h.transposeanimation=a(n.transposeanimation,k);h.transposeanimduration=1E3*a(n.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(n.valuepadding,2);h.valuePosition=d(f.valueposition,n.valueposition,"auto");h.stack100Percent=k=a(n.stack100percent,0);h.showPercentValues=a(n.showpercentvalues,A&&k?1:0);h.showPercentInToolTip=a(n.showpercentintooltip,A&&k?1:0);h.showTooltip=a(n.showtooltip,1);h.seriesNameInTooltip=a(n.seriesnameintooltip,1);h.showHoverEffect=
a(n.plothovereffect,n.anchorhovereffect,n.showhovereffect,void 0);h.rotateValues=a(n.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,n.linethickness,1);h.lineDashLen=a(f.linedashlen,n.linedashlen,5);h.lineDashGap=a(f.linedashgap,n.linedashgap,4);h.drawLine=h.lineAlpha=a(n.drawmdconnector,f.drawmdconnector,0)&&100;A=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=H?A:"none";h.shadow={opacity:a(n.showshadow,g)?m===ra?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=
a(f.drawanchors,f.showanchors,n.drawanchors,n.showanchors);h.anchorBgColor=d(f.mdiconcolor,n.mdiconcolor,"000000");h.anchorBorderColor="000000";h.anchorRadius=a(f.mdiconradius,n.mdiconradius,5);h.anchorAlpha=d(f.alpha,f.mdiconalpha,n.mdiconalpha);h.anchorBgAlpha=d(f.mdiconalpha,n.mdiconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,n.anchorborderthickness,1);h.anchorSides=d(f.mdiconsides,n.mdiconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(n.minimizetendency,n.minimisetendency,
0);h.anchorImageUrl=d(f.anchorimageurl,n.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,n.anchorimagealpha,100);h.anchorImageScale=a(f.anchorimagescale,n.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,n.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,n.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,n.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(p=0;p<s;p++)q=l&&l[p],m=g[p]=g[p]||{},m.config=m.config||{},k=m.config,
t=this.components.data[p].config,q.value=t.showMD?t.md:null,k.x=this.components.data[p]._xPos,k.setValue=t=r.getCleanValue(q.value),k.setLink=d(q.link),k.anchorProps=this._parseAnchorProperties(p,b,"md"),u=e.getLabel(p),k.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),k.showValue=0,k.dashed=a(q.dashed,H),k.color=d(q.color,h.lineColor),k.alpha=d(q.alpha,q.linealpha,h.lineAlpha),x=J(x,t),z=C(z,t),k.dashStyle=k.dashed?A:"none",k.toolTipValue=t=r.dataLabels(t,B),k.setDisplayValue=u=c(q.displayvalue),
k.displayValue=d(u,t),k.formatedVal=k.toolTipValue,k.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,n.plottooltext))),q=d(q.mdiconshape,f.mdiconshape,n.mdiconshape,"polygon"),h.dip=k.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?"<b>MD"+D+"</b>":!1,k.toolText=q,k.setTooltext=q,m?m.graphics||(g[p].graphics={}):g[p]={graphics:{}},k.hoverEffects={enabled:!1};h.maxValue=x;h.minValue=z},configureQD:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,
n=g.jsonData.chart,k=e.colorManager,l=b.index||b.stackIndex,m=b.type,p=!g.singleseries||F(n.palettecolors)?k.getPlotColor(l):k.getColor("plotFillColor").split(/\s*\,\s*/)[0],l=f.data,q,s=g.config.categories,s=C(s&&s.length,l&&l.length),r=e.numberFormatter,t=g.use3dlineshift,u,x=-Infinity,z=Infinity,B,A,D=d(n.tooltipsepchar,": "),H=a(f.dashed,n.linedashed);A=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==t?
a(n.use3dlineshift,t):1;h.plotColor=p;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,k.getColor("showShadow"));h.drawFullAreaBorder=a(n.drawfullareaborder,1);h.parentYAxis=q?B=1:B="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(n.connectnulldata,0);h.enableAnimation=k=a(n.animation,n.defaultanimation,1);h.animation=k?{duration:1E3*a(n.animationduration,1)}:!1;h.transposeanimation=a(n.transposeanimation,k);h.transposeanimduration=1E3*a(n.transposeanimduration,
.2);h.showValues=0;h.valuePadding=a(n.valuepadding,2);h.valuePosition=d(f.valueposition,n.valueposition,"auto");h.stack100Percent=k=a(n.stack100percent,0);h.showPercentValues=a(n.showpercentvalues,A&&k?1:0);h.showPercentInToolTip=a(n.showpercentintooltip,A&&k?1:0);h.showTooltip=a(n.showtooltip,1);h.seriesNameInTooltip=a(n.seriesnameintooltip,1);h.showHoverEffect=a(n.plothovereffect,n.anchorhovereffect,n.showhovereffect,void 0);h.rotateValues=a(n.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,
n.linethickness,1);h.lineDashLen=a(f.linedashlen,n.linedashlen,5);h.lineDashGap=a(f.linedashgap,n.linedashgap,4);h.drawLine=h.lineAlpha=a(n.drawqdconnector,f.drawqdconnector,0)&&100;A=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=H?A:"none";h.shadow={opacity:a(n.showshadow,g)?m===ra?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,n.drawanchors,n.showanchors);h.anchorBgColor=d(f.qdiconcolor,n.qdiconcolor,"000000");h.anchorBorderColor=
"000000";h.anchorRadius=a(f.qdiconradius,n.qdiconradius,5);h.anchorAlpha=d(f.alpha,f.qdiconalpha,n.qdiconalpha);h.anchorBgAlpha=d(f.qdiconalpha,n.qdiconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,n.anchorborderthickness,1);h.anchorSides=d(f.qdiconsides,n.qdiconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(n.minimizetendency,n.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,n.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,n.anchorimagealpha,100);h.anchorImageScale=
a(f.anchorimagescale,n.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,n.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,n.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,n.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(p=0;p<s;p++)q=l&&l[p],m=g[p]=g[p]||{},m.config=m.config||{},k=m.config,t=this.components.data[p].config,q.value=t.showQD?t.qd:null,k.x=this.components.data[p]._xPos,k.setValue=t=r.getCleanValue(q.value),k.setLink=
d(q.link),k.anchorProps=this._parseAnchorProperties(p,b,"qd"),u=e.getLabel(p),k.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),k.showValue=0,k.dashed=a(q.dashed,H),k.color=d(q.color,h.lineColor),k.alpha=d(q.alpha,q.linealpha,h.lineAlpha),x=J(x,t),z=C(z,t),k.dashStyle=k.dashed?A:"none",k.toolTipValue=t=r.dataLabels(t,B),k.setDisplayValue=u=c(q.displayvalue),k.displayValue=d(u,t),k.formatedVal=t=k.toolTipValue,k.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,n.plottooltext))),q=d(q.qdiconshape,
f.qdiconshape,n.qdiconshape,"polygon"),h.dip=k.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?null===t?!1:"<b>QD"+D+"</b>":!1,k.toolText=q,k.setTooltext=q,m?m.graphics||(g[p].graphics={}):g[p]={graphics:{}},k.hoverEffects={enabled:!1};h.maxValue=x;h.minValue=z},configureOutliers:function(b,g){var e=b.chart,c=e.components,h=v.parseUnsafeString,f=b.config,n=b.JSONData,k=e.jsonData.chart,l=c.colorManager,m=b.index||b.stackIndex,p=b.type,q=!e.singleseries||F(k.palettecolors)?l.getPlotColor(m):l.getColor("plotFillColor").split(/\s*\,\s*/)[0],
m=n.data,s,r=e.config.categories,r=C(r&&r.length,m&&m.length),t=c.numberFormatter,u=e.use3dlineshift,x,z=-Infinity,B=Infinity,A,D,H=d(k.tooltipsepchar,": "),M=a(n.dashed,k.linedashed);D=e.isStacked;s=e.hasLineSet;c=c.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);f.use3dlineshift=void 0!==u?a(k.use3dlineshift,u):1;f.plotColor=q;f.legendSymbolColor=f.plotColor;e=a(e.defaultPlotShadow,l.getColor("showShadow"));f.drawFullAreaBorder=a(k.drawfullareaborder,1);f.parentYAxis=
s?A=1:A="s"===d(n.parentyaxis&&n.parentyaxis.toLowerCase(),"p")?1:0;f.connectNullData=a(k.connectnulldata,0);f.enableAnimation=l=a(k.animation,k.defaultanimation,1);f.animation=l?{duration:1E3*a(k.animationduration,1)}:!1;f.transposeanimation=a(k.transposeanimation,l);f.transposeanimduration=1E3*a(k.transposeanimduration,.2);f.showValues=0;f.valuePadding=a(k.valuepadding,2);f.valuePosition=d(n.valueposition,k.valueposition,"auto");f.stack100Percent=l=a(k.stack100percent,0);f.showPercentValues=a(k.showpercentvalues,
D&&l?1:0);f.showPercentInToolTip=a(k.showpercentintooltip,D&&l?1:0);f.showTooltip=a(k.showtooltip,1);f.seriesNameInTooltip=a(k.seriesnameintooltip,1);f.showHoverEffect=a(k.plothovereffect,k.anchorhovereffect,k.showhovereffect,void 0);f.rotateValues=a(k.rotatevalues)?270:0;f.lineThickness=a(n.linethickness,k.linethickness,1);f.lineDashLen=a(n.linedashlen,k.linedashlen,5);f.lineDashGap=a(n.linedashgap,k.linedashgap,4);f.lineAlpha=0;D=v.getDashStyle(f.lineDashLen,f.lineDashGap,f.lineThickness);f.lineDashStyle=
M?D:"none";f.shadow={opacity:a(k.showshadow,e)?p===ra?f.lineAlpha/100:f.plotBorderAlpha/100:0};f.drawAnchors=a(n.drawanchors,n.showanchors,k.drawanchors,k.showanchors);f.anchorBgColor=d(n.outliericoncolor,k.outliericoncolor,"000000");f.anchorBorderColor="000000";f.anchorRadius=a(n.outliericonradius,k.outliericonradius,5);f.anchorAlpha=d(n.alpha,n.outliericonalpha,k.outliericonalpha);f.anchorBgAlpha=d(n.outliericonalpha,k.outliericonalpha,100);f.anchorBorderThickness=d(n.anchorborderthickness,k.anchorborderthickness,
1);f.anchorSides=d(n.outliericonsides,k.outliericonsides,3);f.lineColor=f.anchorBgColor;f.minimizeTendency=a(k.minimizetendency,k.minimisetendency,0);f.anchorImageUrl=d(n.anchorimageurl,k.anchorimageurl);f.anchorImageAlpha=a(n.anchorimagealpha,k.anchorimagealpha,100);f.anchorImageScale=a(n.anchorimagescale,k.anchorimagescale,100);f.anchorImagePadding=a(n.anchorimagepadding,k.anchorimagepadding,1);f.anchorStartAngle=a(n.anchorstartangle,k.anchorstartangle,90);f.anchorShadow=a(n.anchorshadow,k.anchorshadow,
0);!b.components.data&&(b.components.data=[]);e=b.components.data;for(q=0;q<r;q++)s=m&&m[q],p=e[q]=e[q]||{},p.config=p.config||{},l=p.config,x=this.components.data[q].config,s.value=x.outliers?x.outliers[g]:null,l.x=this.components.data[q]._xPos,l.setValue=u=t.getCleanValue(s.value),u>=x.min&&u<=x.max&&(l.setValue=s.value=null),l.setLink=d(s.link),l.anchorProps=this._parseAnchorProperties(q,b,"outlier"),x=c.getLabel(q),l.label=v.getValidValue(h(d(x.tooltext,x.label,x.name))),l.showValue=0,l.dashed=
a(s.dashed,M),l.color=d(s.color,f.lineColor),l.alpha=d(s.alpha,s.linealpha,f.lineAlpha),z=J(z,u),B=C(B,u),l.dashStyle=l.dashed?D:"none",l.toolTipValue=u=t.dataLabels(u,A),l.setDisplayValue=x=h(s.displayvalue),l.displayValue=d(x,u),l.formatedVal=u=l.toolTipValue,l.setTooltext=v.getValidValue(h(d(s.tooltext,n.plottooltext,k.plottooltext))),s=d(s.outliericonshape,n.outliericonshape,k.outliericonshape,"polygon"),f.dip=l.dip="polygon"===s?0:"spoke"===s?1:0,s=f.showTooltip?null===u?!1:"<b>Outlier"+H+"</b>":
!1,l.toolText=s,l.setTooltext=s,p?p.graphics||(e[q].graphics={}):e[q]={graphics:{}},l.hoverEffects={enabled:!1};f.maxValue=z;f.minValue=B},initSubDataset:function(b,a){var e=a.chart,c=e.components,d=e.hasLineSet,d=b.parentyaxis&&"s"===b.parentyaxis.toLowerCase()||d?1:0;a.chart=e;a.yAxis=c.yAxis[d];a.components={};a.graphics={};a.JSONData=b},_parseAnchorProperties:function(b,g,e){var c=g.config,h="area"===g.type?0:1,f=g.JSONData,n=g.chart.jsonData.chart;b=f.data[b];g={};var k=v.graphics.mapSymbolName,
f=void 0!==d(b.anchorstartangle,f.anchorstartangle,n.anchorstartangle,b.anchorimagealpha,f.anchorimagealpha,n.anchorimagealpha,b.anchorimagescale,f.anchorimagescale,n.anchorimagescale,b.anchorimagepadding,f.anchorimagepadding,n.anchorimagepadding,b.anchorimageurl,f.anchorimageurl,n.anchorimageurl,b.meaniconradius,f.meaniconradius,n.meaniconradius,b.meaniconcolor,f.meaniconcolor,n.meaniconcolor,b.anchorbordercolor,f.anchorbordercolor,n.anchorbordercolor,b.anchoralpha,f.anchoralpha,n.anchoralpha,b.meaniconsides,
f.meaniconsides,n.meaniconsides,b.anchorborderthickness,f.anchorborderthickness,n.anchorborderthickness,void 0),n=a(b.drawanchors,c.drawAnchors);g.enabled=f?a(n,f):a(n,h);g.startAngle=a(b.anchorstartangle,c.anchorStartAngle);g.imageAlpha=a(b.anchorimagealpha,c.anchorImageAlpha);g.imageScale=a(b.anchorimagescale,c.anchorImageScale);g.imagePadding=a(b.anchorimagepadding,c.anchorImagePadding);0>g.imagePadding&&(g.imagePadding=0);g.imageUrl=d(b.anchorimageurl,c.anchorImageUrl);g.radius=a(b[e+"iconradius"],
c.anchorRadius);g.isAnchorRadius=g.radius;g.bgColor=d(b[e+"iconcolor"],c.anchorBgColor);h=g.enabled?$a(d(b.anchoralpha,c.anchorAlpha,g.enabled?La:"0")):0;g.bgAlpha=$a(d(b[e+"iconalpha"],c.meaniconalpha,h));g.borderColor=d(b.anchorbordercolor,c.anchorBorderColor);g.borderAlpha=h;g.sides=d(b[e+"iconsides"],c.anchorSides);g.borderThickness=d(b.anchorborderthickness,c.anchorBorderThickness);g.symbol=k(g.sides).split("_");g.shadow=a(b.anchorshadow,c.anchorShadow)&&1<=g.radius?{opacity:h/100}:!1;return g},
init:function(b){var a=this.chart,e=a.components,c=b.parentyaxis&&"s"===b.parentyaxis.toLowerCase()?1:0,e=e.yAxis[c];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=a.chartGraphics;this.components={};this.graphics={};this.configure()},draw:function(){var b,d,e,c,h,f,n,k=this,l=k.JSONData,m=k.config,s=k.groupManager,q=k.index,r=k.chart.config.categories,t=l.data,u=r&&r.length,v=t&&t.length,x,D,F,A=k.visible,M=k.chart,H=M.config,K=M.components.paper,N=M.components.xAxis[0],U=k.yAxis,
W=M.graphics.columnGroup,I,L,Q=M.graphics,Z=m.showtooltip,V=M.get("config","animationObj"),R=V.animType,S=V.animObj,Y=V.dummyObj,O=V.duration,X=N.getAxisPosition(0),aa=N.getAxisPosition(1)-X,da=m.definedGroupPadding,$=m.plotSpacePercent/200,G=s.getDataSetPosition(k),ia=m.maxcolwidth,ra=(1-.01*da)*aa||C(aa*(1-2*$),1*ia),P=a(G.columnWidth,ra/1),la,na=G.xPosOffset||0,ma=G.height,ja,pa=k.components.data,oa,qa,ta,va,ca,ya,Aa=U.getAxisBase(),ua,Ha,Ia=m.showShadow,xa=k.graphics.upperBoxContainer,Ca=k.graphics.lowerBoxContainer,
Ka=k.graphics.medianContainer,Ga=k.graphics.upperWhiskerContainer,Fa=k.graphics.lowerWhiskerContainer,Ba=k.graphics.dataLabelContainer,Da=k.graphics.shadowContainer,sa,La,Ja,Ra,Pa,ub,ab,Ta,Sa,Oa,Ua,gb,pb,jb,lb,vb,Ma,eb,Xa,wb,Na,db,Ya,fa=M.config.dataLabelStyle,Fb=Q.datalabelsGroup,Ea=m.rotatevalues,hb=m.valuepadding,Db={fontFamily:fa.fontFamily,fontSize:fa.fontSize,lineHeight:fa.lineHeight,fontWeight:fa.fontWeight,fontStyle:fa.fontStyle},Za=M.components.numberFormatter,mb=Ea?fc:"middle",Jb=M.linkedItems.smartLabel,
wa,fb,rb,Xb,xb,yb,bb,nb,cb,qb,Eb,ib,$a,kb,ob,Ib=Infinity,Va,Cb,sb=!0,Yb=(k.components.removeDataArr||[]).length,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Gb,Hb,Kb=m.showHoverEffect,zb,Ab,Lb=function(b){za.call(this,M,b)},Mb=function(b){return function(a){var c;if(0!==this.data("showHoverEffect"))for(c in b)"label"!==c&&(b[c].attr(this.data("setRolloverAttr")[c]),za.call(this,M,a,"DataPlotRollOver"))}},Nb=function(b){return function(a){var c;if(0!==this.data("showHoverEffect"))for(c in b)"label"!==c&&(b[c].attr(this.data("setRolloutAttr")[c]),
za.call(this,M,a,"DataPlotRollOut"))}},Bb=function(){!1!==k.visible||!1!==k._conatinerHidden&&void 0!==k._conatinerHidden||(xa.hide(),Ca.hide(),Ga.hide(),Fa.hide(),Ka.hide(),Da.hide(),Ba&&Ba.hide(),k._conatinerHidden=!0)};Ba||(Ba=k.graphics.dataLabelContainer=K.group("datalabel",Fb),A||Ba.hide());xa||(xa=k.graphics.upperBoxContainer=K.group("upperBox",W).trackTooltip(!0).toBack(),A||xa.hide());Ga||(Ga=k.graphics.upperWhiskerContainer=K.group("upperWhisker",W).trackTooltip(!0).toBack(),A||Ga.hide());
Ca||(Ca=k.graphics.lowerBoxContainer=K.group("lowerBox",W).trackTooltip(!0).toBack(),A||Ca.hide());Fa||(Fa=k.graphics.lowerWhiskerContainer=K.group("lowerWhisker",W).trackTooltip(!0).toBack(),A||Fa.hide());Ka||(Ka=k.graphics.medianContainer=K.group("median",W).trackTooltip(!0),A||Ka.hide());Da||(Da=k.graphics.shadowContainer=K.group("shadow",W).toBack(),A||Da.hide());A&&(xa.show(),Ca.show(),Ga.show(),Fa.show(),Ka.show(),Da.show(),Ba&&Ba.show(),k._conatinerHidden=!1,k.components.mean.show(),k.components.sd.show(),
k.components.qd.show(),k.components.md.show());x=C(u,v);for(F=0;F<x;F++)if(ta=(ca=(oa=pa[F])&&oa.config)&&ca.setValue,Wb=Vb=Ub=Tb=Sb=Rb=Qb=Pb=Ob=!1,void 0!==oa&&void 0!==ta&&null!==ta)for(wa=oa.graphics,ya=0<=ta,qa=ca.setLink,oa.graphics||(pa[F].graphics={}),wa.label||(pa[F].graphics.label=[]),ua=ya?ca.previousPositiveY:ca.previousNegativeY,Ha=U.getAxisPosition(ua||Aa),I=N.getAxisPosition(F)+na,0===ma&&(Ib=0,Va=Ha),L=C(L,Ha),la=P,Ja=((La=(sa=ca.upperQuartile||{},sa.value))||0===La)&&U.getAxisPosition(La),
ub=((Pa=(Ra=ca.lowerQuartile||{},Ra.value))||0===Pa)&&U.getAxisPosition(Pa),Sa=((Ta=(ab=ca.median)&&ab.value)||0===Ta)&&U.getAxisPosition(Ta),Oa=Sa-Ja,Ua=ub-Sa,gb=ca.upperBoxBorder||{},pb=ca.lowerBoxBorder||{},ja=ca.toolText,fb=k.index+"_"+F,va={index:F,link:qa,maximum:ca.max,minimum:ca.min,median:Ta,q3:sa.value,q1:Ra.value,maxDisplayValue:ca.showMaxValues?Za.dataLabels(ca.max):p,minDisplayValue:ca.showMinValues?Za.dataLabels(ca.min):p,medianDisplayValue:ca.showMedianValues?Za.dataLabels(Ta):p,q1DisplayValue:ca.showQ1Values?
Za.dataLabels(Ra.value):p,q3DisplayValue:ca.showQ3Values?Za.dataLabels(sa.value):p,categoryLabel:ca.label,toolText:ja,datasetIndex:q,datasetName:l.seriesname,visible:A},Na=ga(I)+gb.borderWidth%2*.5,db=ga(I+la)+gb.borderWidth%2*.5,Ya=ga(Ja)+sa.borderWidth%2*.5,la=db-Na,b={fill:z(ca.upperColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:qa?"pointer":p,ishot:!0,visibility:A},d={fill:z(ca.lowerColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:qa?"pointer":B,ishot:!0,visibility:A},
e={stroke:gb.color,"stroke-width":gb.borderWidth,"stroke-linecap":"round",dashstyle:gb.dashStyle,ishot:!0,visibility:A},c={stroke:pb.color,"stroke-width":pb.borderWidth,dashstyle:pb.dashStyle,"stroke-linecap":"round",ishot:!0,visibility:A},h={stroke:z(sa.color),"stroke-width":sa.borderWidth,"stroke-dasharray":sa.dashSyle,"stroke-linecap":"round",cursor:qa?"pointer":B,ishot:!0,visibility:A},f={stroke:z(Ra.color),"stroke-width":Ra.borderWidth,"stroke-dasharray":Ra.dashSyle,cursor:qa?"pointer":p,"stroke-linecap":"round",
ishot:!0,visibility:A},n={stroke:z(ab.color),"stroke-width":ab.borderWidth,"stroke-dasharray":ab.dashSyle,cursor:qa?"pointer":p,"stroke-linecap":"round",ishot:!0,visibility:A},D={x:Na,y:Va||Ya,width:J(la,0),height:J(C(Ib,Oa),0),r:0},(jb=oa.graphics.upperBoxElem)?(jb.animateWith(Y,S,D,O,R,sb&&Bb),sb=!1):(jb=oa.graphics.upperBoxElem=K.rect(D,xa),Ob=!0),jb.attr(b).shadow({opacity:Ia?m.upperBoxAlpha/100:0},Da),D={path:["M",Na,Va||Ya,"V",Va||Ya+Oa,"M",db,Va||Ya,"V",Va||Ya+Oa]},(lb=oa.graphics.upperBoxBorderEle)?
lb.animateWith(Y,S,D,O,R,sb&&Bb):(lb=oa.graphics.upperBoxBorderEle=K.path(D,xa),Qb=!0),lb.attr(e),D={path:["M",Na,Va||Ya,"H",Na+la]},(vb=oa.graphics.upperQuartileEle)?vb.animateWith(Y,S,D,O,R,sb&&Bb):(vb=oa.graphics.upperQuartileEle=K.path(D,xa),Sb=!0),vb.attr(h),rb=Ya,Xb=m.whiskerslimitswidthratio/100*la,xb=Xb/2,nb=yb=U.getAxisPosition(ca.max),bb=Na,nb=ga(yb)+ca.upperWhiskerThickness%2/2,Na=ga(Na+la/2)+ca.upperWhiskerThickness%2/2,qb=["M",Na,Va||rb,"V",Va||nb,"M",Na-xb,Va||nb,"H",Na+xb],cb=oa.graphics.upperWhiskerEle,
D={path:qb,ishot:!Z,"stroke-width":ca.upperWhiskerThickness,cursor:qa?"pointer":p,"stroke-linecap":"round"},cb?cb.animateWith(Y,S,D,O,R,sb&&Bb):(cb=oa.graphics.upperWhiskerEle=K.path(D,Ga),Vb=!0),cb.attr({stroke:ca.upperWhiskerColor}),cb.shadow({opacity:ca.upperWhiskerShadowOpacity},Da),Jb.useEllipsesOnOverflow(M.config.useEllipsesWhenOverflow),Jb.setStyle(fa),ib=Jb.getOriSize(Za.dataLabels(ca.max)),$a=Ea?ib.width:ib.height,ob=yb-.5*ca.upperWhiskerThickness-hb-$a*(Ea?.5:1),ob-(Ea?$a/2:0)<H.canvasTop&&
(ob=H.canvasTop+(Ea?$a/2:0)),D={text:Za.dataLabels(ca.max),x:bb+la/2,title:sa.originalText||p,y:ob,"text-anchor":Ea?"middle":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,bb+la/2,ob),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ca.showMaxValues?(wa.label[3]?(wa.label[3].show(),zb=bb+la/2,Ab=Va||ob,wa.label[3].attr({text:Za.dataLabels(ca.max),
title:sa.originalText||p,"text-anchor":Ea?"middle":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]}),wa.label[3].animateWith(Y,S,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},O,R,sb&&Bb)):wa.label[3]=K.text(D,Ba),wa.label[3].data("groupId",fb).css(Db)):wa.label[3]&&wa.label[3].hide()&&wa.label[3].attr({"text-bound":[]}),Na=
ga(I)+pb.borderWidth%2*.5,db=ga(I+la)+pb.borderWidth%2*.5,Ya=ga(Sa+Ua)+Ra.borderWidth%2*.5,D={x:Na,y:Va||Sa,width:J(la,0),height:J(C(Ib,Ya-Sa),0),r:0},(Ma=oa.graphics.lowerBoxElem)?Ma.animateWith(Y,S,D,O,R,sb&&Bb):(Ma=oa.graphics.lowerBoxElem=K.rect(D,Ca),Pb=!0),Ma.attr(d).shadow({opacity:Ia?m.lowerBoxAlpha/100:0},Da),D={path:["M",Na,Va||Sa,"V",Va||Sa+Ua,"M",db,Va||Sa,"V",Va||Sa+Ua]},(eb=oa.graphics.lowerBoxBorderEle)?eb.animateWith(Y,S,D,O,R,sb&&Bb):(eb=oa.graphics.lowerBoxBorderEle=K.path(D,Ca),
Rb=!0),eb.attr(c),Ya=ga(Sa+Ua)+Ra.borderWidth%2*.5,D={path:["M",Na,Va||Ya,"H",Na+la]},(Xa=oa.graphics.lowerQuartileEle)?Xa.animateWith(Y,S,D,O,R,sb&&Bb):(Xa=oa.graphics.lowerQuartileEle=K.path(D,Ca),Tb=!0),Xa.attr(f),rb=Ya,Xb=m.whiskerslimitswidthratio/100*la,xb=Xb/2,nb=yb=U.getAxisPosition(ca.min),bb=Na,nb=ga(yb)+ca.lowerWhiskerThickness%2/2,bb=ga(bb+la/2)+ca.lowerWhiskerThickness%2/2,qb=["M",bb,Va||rb,"V",Va||nb,"M",bb-xb,Va||nb,"H",bb+xb],Eb=oa.graphics.lowerWhiskerEle,Jb.setStyle(fa),ib=Jb.getOriSize(Za.dataLabels(ca.min)),
$a=Ea?ib.width:ib.height,kb=yb+.5*ca.lowerWhiskerThickness+hb,kb+$a>H.canvasBottom&&(kb=H.canvasBottom-$a),D={text:Za.dataLabels(ca.min),x:bb,title:sa.originalText||p,y:kb,"text-anchor":Ea?"end":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,bb,kb),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ca.showMinValues?(wa.label[4]?(wa.label[4].show(),
zb=bb,Ab=Va||kb,wa.label[4].animateWith(Y,S,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},O,R,sb&&Bb),wa.label[4].attr({text:Za.dataLabels(ca.min),title:sa.originalText||p,"text-anchor":Ea?"end":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[4]=K.text(D,Ba),wa.label[4].data("groupId",fb).css(Db)):wa.label[4]&&wa.label[4].hide()&&
wa.label[4].attr({"text-bound":[]}),D={path:qb,ishot:!Z,"stroke-width":ca.lowerWhiskerThickness,cursor:qa?"pointer":p,"stroke-linecap":"round"},Eb?Eb.animateWith(Y,S,D,O,R,sb&&Bb):(Eb=oa.graphics.lowerWhiskerEle=K.path(D,Fa),Wb=!0),Eb.attr({stroke:ca.lowerWhiskerColor}),Eb.shadow({opacity:ca.lowerWhiskerShadowOpacity},Da),Ya=ga(Sa)+ab.borderWidth%2*.5,D={path:["M",Na,Va||Ya,"H",Na+la]},(wb=oa.graphics.midLineElem)?wb.animateWith(Y,S,D,O,R,sb&&Bb):(wb=oa.graphics.midLineElem=K.path(D,Ka),Ub=!0),wb.attr(n),
Gb={upperBoxElem:ca.setUpperBoxRolloverAttr,lowerBoxElem:ca.setLowerBoxRolloverAttr,upperBoxBorderEle:ca.setUpperBoxBorderRolloverAttr,lowerBoxBorderEle:ca.setLowerBoxBorderRolloverAttr,upperQuartileEle:ca.setUpperQuartileRolloverAttr,lowerQuartileEle:ca.setLowerQuartileRolloverAttr,midLineElem:ca.setMedianRolloverAttr},Hb={upperBoxElem:ca.setUpperBoxRolloutAttr,lowerBoxElem:ca.setLowerBoxRolloutAttr,upperBoxBorderEle:ca.setUpperBoxBorderRolloutAttr,lowerBoxBorderEle:ca.setLowerBoxBorderRolloutAttr,
upperQuartileEle:ca.setUpperQuartileRolloutAttr,lowerQuartileEle:ca.setLowerQuartileRolloutAttr,midLineElem:ca.setMedianRolloutAttr},jb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Ob&&jb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),Ma.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Pb&&Ma.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),lb.data("groupId",
fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Qb&&lb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),eb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Rb&&eb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),vb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Sb&&vb.click(Lb).hover(Mb(oa.graphics),
Nb(oa.graphics)),Xa.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Tb&&Xa.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),wb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Ub&&wb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),cb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Vb&&
cb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),Eb.data("groupId",fb).data("eventArgs",va).data("showHoverEffect",Kb).data("setRolloverAttr",Gb).data("setRolloutAttr",Hb),Wb&&Eb.click(Lb).hover(Mb(oa.graphics),Nb(oa.graphics)),mb=Ea?fc:"middle",D={text:sa.displayValue,x:I+la/2,title:sa.originalText||p,y:Ja-hb,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:m.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,I+la/2,Ja-hb),"text-bound":[fa.backgroundColor,
fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba(sa.displayValue)&&sa.displayValue!==B&&ca.showQ3Values?(wa.label[0]?(wa.label[0].show(),zb=I+la/2,Ab=Va||Ja-hb,wa.label[0].animateWith(Y,S,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},O,R,sb&&Bb),wa.label[0].attr({text:sa.displayValue,title:sa.originalText||p,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:m.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,
fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[0]=K.text(D,Ba),wa.label[0].data("groupId",fb).css(Db)):wa.label[0]&&wa.label[0].hide()&&wa.label[0].attr({"text-bound":[]}),D={text:ab.displayValue,x:Na+la/2,y:Sa-hb,title:ab.originalText||p,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:m.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,Na+la/2,Sa-hb),"text-bound":[fa.backgroundColor,fa.borderColor,
fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba(ab.displayValue)&&ab.displayValue!==B&&ca.showMedianValues?(wa.label[1]?(wa.label[1].show(),zb=Na+la/2,Ab=Va||Sa-hb,wa.label[1].animateWith(Y,S,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},O,R,sb&&Bb),wa.label[1].attr({text:ab.displayValue,title:ab.originalText||p,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:m.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,
fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[1]=K.text(D,Ba),wa.label[1].data("groupId",fb).css(Db)):wa.label[1]&&wa.label[1].hide()&&wa.label[1].attr({"text-bound":[]}),D={text:Ra.displayValue,x:I+la/2,y:ub+hb,title:Ra.originalText||p,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,I+la/2,ub+hb),"text-bound":[fa.backgroundColor,fa.borderColor,
fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba(Ra.displayValue)&&Ra.displayValue!==B&&ca.showQ1Values?(wa.label[2]?(wa.label[2].show(),zb=I+la/2,Ab=Va||ub+hb,wa.label[2].animateWith(Y,S,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},O,R,sb&&Bb),wa.label[2].attr({text:Ra.displayValue,title:Ra.originalText||p,"text-anchor":Ea?"start":mb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:m.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,
fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[2]=K.text(D,Ba),wa.label[2].data("groupId",fb).css(Db)):wa.label[2]&&wa.label[2].hide()&&wa.label[2].attr({"text-bound":[]}),sb&&Bb(),Z?(jb.tooltip(ja),Ma.tooltip(ja),lb.tooltip(ja),eb.tooltip(ja),vb.tooltip(ja),Xa.tooltip(ja),wb.tooltip(ja),cb.tooltip(ja),Eb.tooltip(ja)):(jb.tooltip(!1),Ma.tooltip(!1),lb.tooltip(!1),eb.tooltip(!1),vb.tooltip(!1),Xa.tooltip(!1),wb.tooltip(!1),cb.tooltip(!1),Eb.tooltip(!1)),I+=la/2,k.components.mean.components.data[F].config.xPos=
I,k.components.sd.components.data[F].config.xPos=I,k.components.qd.components.data[F].config.xPos=I,k.components.md.components.data[F].config.xPos=I,Cb=0;Cb<m.maxNumberOfOutliers;Cb++)k.components.outliers[Cb].components.data[F].config.xPos=I;k.flag=!0;Yb&&k.remove()},remove:function(){var b=this.components,a=b.removeDataArr,e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=a.length,d,f=this.maxminFlag,n,k,l,m,p;for(l=0;l<c;l++)if(d=a[0],a.splice(0,1),d&&d.graphics){k=d.graphics;for(n in k)if("label"!==
n)k[n].shadow({opacity:0}),k[n].hide();else for(m=k[n].length,p=0;p<m;p++)k[n][p]&&(k[n][p].shadow({opacity:0}),k[n][p].hide(),k[n][p].attr({"text-bound":[]}));d.graphics.element&&(e.element=e.element.concat(d.graphics.element));d.graphics.hotElement&&(e.hotElement=e.hotElement.concat(d.graphics.hotElement));d.graphics.label&&(e.label=e.label.concat(d.graphics.label))}b.pool=e;f&&this.setMaxMin()},removeData:function(b,a,e){var c=this.components,d=c.data,f=c.removeDataArr||(c.removeDataArr=[]),n=
c.mean.components.removeDataArr||(c.mean.components.removeDataArr=[]),k=c.sd.components.removeDataArr||(c.sd.components.removeDataArr=[]),l=c.md.components.removeDataArr||(c.md.components.removeDataArr=[]),m=c.qd.components.removeDataArr||(c.qd.components.removeDataArr=[]),p=this.config,q=this.groupManager,s=this.maxminFlag;a=a||1;b=b||0;if(b+a===d.length)this.endPosition=!0;else if(0===b||void 0===b)this.endPosition=!1;c.removeDataArr=f=f.concat(d.splice(b,a));c.mean.components.removeDataArr=n.concat(c.mean.components.data.splice(b,
a));c.sd.components.removeDataArr=k.concat(c.sd.components.data.splice(b,a));c.md.components.removeDataArr=l.concat(c.md.components.data.splice(b,a));c.qd.components.removeDataArr=m.concat(c.qd.components.data.splice(b,a));n=c.outliers.length;for(d=0;d<n;d++)k=c.outliers[d].components.removeDataArr||(c.outliers[d].components.removeDataArr=[]),c.outliers[d].components.removeDataArr=k.concat(c.outliers[d].components.data.splice(b,a));q&&q.removeSumLabels&&q.removeSumLabels(b,a,this.positionIndex);n=
f.length;for(d=0;d<n;d++)if(f[d]){b=f[d].config;if(b.setValue===p.maxValue||b.setValue===p.minValue)s=this.maxminFlag=!0;if(s)break}s&&this.setMaxMin();e&&this.draw()},_addLegendSubDS:function(b){var a;a=b.config;var d=b.chart.components.legend,c=a.anchorBgColor;a={anchorSide:a.anchorSides,legendBackgroundColor:this.config.upperBoxColor,fillColor:aa(c),strokeColor:aa("#000000"),enabled:this.config.includeInLegend,label:this.JSONData.seriesname&&na(b.name),customLegendIcon:!1,spoke:a.dip?1:0,drawLine:a.drawLine?
!0:!1,lineColor:z({color:c,alpha:"100"})};b.itemId=d.addItems(b,b.legendInteractivity,a)},_addLegendOutliers:function(b){var g=this.JSONData,e=this.chart.jsonData.chart,c=this.config,h=c.upperBoxColor,f=this.chart.components.legend,n=d(g.outliericoncolor,e.outliericoncolor,"#000000"),g={anchorSide:a(g.outliericonsides,e.outliericonsides,3),fillColor:aa(n),legendBackgroundColor:h,strokeColor:aa("#000000"),enabled:c.includeInLegend,label:this.JSONData.seriesname&&"Outliers",customLegendIcon:!1,spoke:b[0].config.dip?
1:0,drawLine:!1,datasetObj:b[0]};b[0]&&(b[0].itemId=f.addItems(b,this.legendInteractivityOutliers,g))},legendInteractivityOutliers:function(b,a){var d=this.config,c=a.config,h=a.graphics,f=d.itemHiddenStyle.color,d=d.itemStyle.color,n=c.fillColor,c=c.strokeColor,k,l;b.visible=b.visible?!1:!0;for(k=0;k<b.length;k++)l=b[k].visible,b[k].visible=l?!1:!0,b[k].draw(),l?(h.legendItemSymbol&&h.legendItemSymbol.attr({fill:f,stroke:f}),h.legendItemText&&h.legendItemText.attr({fill:f}),h.legendIconLine&&h.legendIconLine.attr({stroke:f})):
(h.legendItemSymbol&&h.legendItemSymbol.attr({fill:n,stroke:c}),h.legendItemText&&h.legendItemText.attr({fill:d}),h.legendIconLine&&h.legendIconLine.attr({stroke:n}))},_addLegend:function(){var b;b=this.config;var a=this.chart.components.legend,d=b.upperBoxColor;b={fillColor:z({FCcolor:{color:d+","+b.lowerBoxColor,angle:90,ratio:"50, 0",alpha:"100, 100"}}),legendBackgroundColor:d,strokeColor:z("#000000"),rawFillColor:d,rawStrokeColor:"#000000",enabled:b.includeInLegend,label:na(this.JSONData.seriesname),
index:this.index};this.itemId=a.addItems(this,this.legendInteractivity,b)},legendInteractivity:function(b,a){var d=this.config,c=b.visible,h=a.config,f=a.graphics,n=d.itemHiddenStyle.color,d=d.itemStyle,k=d.color,l=h.fillColor,h=h.strokeColor,m=a.index,p=b.subDS;c?b.hide():b.show();if(c)for(f.legendItemSymbol&&f.legendItemSymbol.attr({fill:n,stroke:n}),f.legendItemText&&f.legendItemText.attr({fill:n}),f.legendItemLine&&f.legendItemLine.attr({stroke:n}),c=m+1;c<=m+p;c++)f=this.components.items[c].graphics,
f.legendItemSymbol&&f.legendItemSymbol.attr({fill:n,stroke:n}),f.legendItemText&&f.legendItemText.attr({fill:n}),f.legendItemLine&&f.legendItemLine.attr({stroke:n});else for(f.legendItemSymbol&&f.legendItemSymbol.attr({fill:l,stroke:h}),f.legendItemText&&f.legendItemText.attr({fill:k}),f.legendItemLine&&f.legendItemLine.attr({stroke:l}),c=m+1;c<=m+p;c++)f=this.components.items[c].graphics,h=this.components.items[c].config,k=d.color,l=h.fillColor,h=h.strokeColor,f.legendItemSymbol&&f.legendItemSymbol.attr({fill:l,
stroke:h}),f.legendItemText&&f.legendItemText.attr({fill:k}),f.legendItemLine&&f.legendItemLine.attr({stroke:l})},show:function(){var b=this.graphics.upperBoxContainer,a=this.graphics.lowerBoxContainer,d=this.graphics.medianContainer,c=this.graphics.upperWhiskerContainer,h=this.graphics.lowerWhiskerContainer,f=this.graphics.dataLabelContainer,n=this.graphics.shadowContainer,k=this.chart,l=this.yAxis;k._chartAnimation();this.visible=!0;this.components.outliers.visible=!0;this._conatinerHidden=!1;b.show();
a.show();d.show();c.show();h.show();f.show();n.show();for(b=0;b<this.config.maxNumberOfOutliers;b++)this.components.outliers[b].show();k._setAxisLimits();l.draw();k._drawDataset();this.components.mean.show();this.components.sd.show();this.components.qd.show();this.components.md.show()},hide:function(){var b=this.chart,a=this.yAxis,d,c;b._chartAnimation();this.visible=!1;d=this.config.maxNumberOfOutliers;for(c=0;c<d;c++)this.components.outliers[c].hide();b._setAxisLimits();a.draw();b._drawDataset();
this.components.mean.hide();this.components.sd.hide();this.components.qd.hide();this.components.md.hide();d=this.config.maxNumberOfOutliers||this.components.outliers.length;this.components.outliers.visible=!1;for(c=0;c<d;c++)this.components.outliers[c].visible=!1,this.components.outliers[c].draw()}},"Column",{showplotborder:void 0,plotborderdashlen:void 0,plotborderdashgap:void 0,plotfillalpha:void 0,useroundedges:void 0,ratio:void 0,plotborderthickness:void 0,showvalues:void 0,valuepadding:void 0,
showtooltip:void 0,maxcolwidth:void 0,rotatevalues:void 0,use3dlighting:void 0,whiskerslimitswidthratio:void 0,outliersupperrangeratio:void 0,outlierslowerrangeratio:void 0,showalloutliers:void 0,showmean:void 0,showsd:void 0,showmd:void 0,showqd:void 0,showminvalues:void 0,showmaxvalues:void 0,showq1values:void 0,showq3values:void 0,showmedianvalues:void 0}]);FusionCharts.register("component",["dataset","subDS",{show:function(){var b=this.chart,a=this.yAxis;b._chartAnimation();this.visible=!0;this._conatinerHidden=
!1;b._setAxisLimits();a.draw();this.draw()},hide:function(){var b=this.chart,a=this.yAxis;b._chartAnimation();this.visible=!1;b._setAxisLimits();a.draw();this.draw()},getEventArgs:function(){return{datasetName:this.name,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},legendInteractivity:function(b,a){var d=this.config,c=b.visible,h=a.config,f=a.graphics,n=d.itemHiddenStyle.color,d=d.itemStyle.color,k=h.fillColor,l,m=h.strokeColor;c?b.hide():b.show();c={legendItemSymbol:{fill:c?
n:k,stroke:c?n:m},legendItemText:{fill:c?n:d},legendItemLine:{stroke:c?n:h.lineAttr&&h.lineAttr.stroke}};for(l in f)(h=f[l])&&c[l]&&h.attr(c[l])}},"Line"]);FusionCharts.register("component",["datasetGroup","boxandwhisker2d",{draw:function(){var b=this.positionStackArr,a=b.length,d,c,h,f;d=this.chart;c=d.graphics.datasetGroup;var n=d.graphics;h=d.components.canvas.config.clip["clip-canvas"].slice(0);f=W([],d.components.canvas.config.clip["clip-canvas-init"]);var n=n.datalabelsGroup,k=d.get("config",
"animationObj"),l=k.animType,m=k.animObj,p=k.dummyObj,k=k.duration;d.fireInitialAnimation&&(c.attr({"clip-rect":f}),n.attr({"clip-rect":f}));d.fireInitialAnimation=!1;c.animateWith(p,m,{"clip-rect":h},k,l);n.animateWith(p,m,{"clip-rect":h},k,l);this.preDrawCalculate();this.drawSumValueFlag=!0;for(d=0;d<a;d++)for(c=b[d],h=c.length,this.manageClip=!0,c=0;c<h;c++)f=b[d][c].dataSet,f.draw()}},xa]);K("heatmap",{friendlyName:"Heatmap Chart",standaloneInit:!0,creditLabel:!1,hasLegend:!0,tooltipsepchar:": ",
tooltipConstraint:"chart",defaultDatasetType:"heatmap",applicableDSList:{heatmap:!0},isSingleSeries:!0,hasGradientLegend:!0,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),d;b.yAxis=[];b.xAxis=[];b.yAxis[0]=d=new a;b.xAxis[0]=b=new a;d.chart=this;b.chart=this;d.init();b.init()},_postSpaceManagement:function(){var b=this.config,a=b.placeAxisLabelsOnTop,d=this.components,c=d.xAxis&&d.xAxis[0],h=d.yAxis&&d.yAxis[0],f=d.legend,n=b.xDepth,d=d.canvas.config.canvasBorderWidth;
c&&c.setAxisDimention({x:b.canvasLeft,y:a?b.canvasTop+(b.shift||0)-d:b.canvasBottom+(b.shift||0)+d,opposite:b.canvasTop-d,axisLength:b.canvasWidth});h&&h.setAxisDimention({x:b.canvasLeft-d,y:b.canvasTop,opposite:b.canvasRight+d,axisLength:b.canvasHeight});c&&c.shiftLabels(-n,0);f.postSpaceManager();this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._adjustCanvasPadding()},_adjustCanvasPadding:function(){},_feedAxesRawData:function(){var b=this.components,
g=b.colorManager,e=this.jsonData,c=e.chart,h;h=this.is3d;var f=v.chartPaletteStr,f=h?f.chart3D:f.chart2D;h={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,
axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,axisNameBorderPadding:c.xaxisnameborderpadding,axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,
axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,c.divlinecolor,g.getColor(f.divLineColor)),divLineAlpha:d(c.vdivlinealpha,c.divlinealpha,h?g.getColor("divLineAlpha3D"):g.getColor("divLineAlpha")),divLineThickness:a(c.vdivlinethickness,c.divlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,c.divlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,
c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,
adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:a(c.showxaxislabels,c.showlabels),rotateLabels:c.rotatexaxislabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),maxLabelHeight:c.maxlabelheight,showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,
trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};g={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:ib(c.outcnvbasefontsize,
c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.yaxisnamefont,axisNameFontSize:c.yaxisnamefontsize,axisNameFontColor:c.yaxisnamefontcolor,axisNameFontBold:c.yaxisnamefontbold,axisNameFontItalic:c.yaxisnamefontitalic,axisNameBgColor:c.yaxisnamebgcolor,axisNameBorderColor:c.yaxisnamebordercolor,axisNameAlpha:c.yaxisnamealpha,axisNameFontAlpha:c.yaxisnamefontalpha,
axisNameBgAlpha:c.yaxisnamebgalpha,axisNameBorderAlpha:c.yaxisnameborderalpha,axisNameBorderPadding:c.yaxisnameborderpadding,axisNameBorderRadius:c.yaxisnameborderradius,axisNameBorderThickness:c.yaxisnameborderthickness,axisNameBorderDashed:c.yaxisnameborderdashed,axisNameBorderDashLen:c.yaxisnameborderdashlen,axisNameBorderDashGap:c.yaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.yaxisname,showAlternateGridColor:a(c.showalternatehgridcolor,
1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:c.numdivlines,axisMinValue:c.yaxisminvalue,axisMaxValue:c.yaxismaxvalue,setAdaptiveMin:c.setadaptiveymin,adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showLabels:a(c.showyaxislabels,c.showlabels),maxLabelWidthPercent:c.maxlabelwidthpercent,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),divLineColor:d(c.hdivlinecolor,g.getColor(f.divLineColor)),
divLineAlpha:d(c.hdivlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.hdivlinethickness,1),divLineIsDashed:Boolean(a(c.hdivlinedashed,c.hdivlineisdashed,0)),divLineDashLen:a(c.hdivlinedashlen,4),divLineDashGap:a(c.hdivlinedashgap,2),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,
trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};h.vtrendlines=e.vtrendlines;g.trendlines=e.trendlines;e=b.yAxis[0];b=b.xAxis[0];e.setCommonConfigArr(g,!0,!0,!1);b.setCommonConfigArr(h,!1,!1,this.config.placeAxisLabelsOnTop?!0:!1);
e.configure();b.configure();this._setCategories()},_setAxisLimits:function(){},_setCategories:function(){var b=this.components,a=this.jsonData,e=b.xAxis,b=b.yAxis,c=a.dataset&&a.dataset[0].data&&a.dataset[0].data.length,h,f,n,k,l,m=[],p=[],q;if(!a.columns||!a.rows)for(a.columns={},a.columns.column=k=[],a.rows={},a.rows.row=l=[],h=0;h<c;h++){n=f=!0;for(q=0;q<k.length;q++)a.dataset[0].data[h].columnid==k[q].id&&(f=!1);f&&(f={id:a.dataset[0].data[h].columnid,label:a.dataset[0].data[h].columnid},a.columns.column.push(f));
for(q=0;q<l.length;q++)a.dataset[0].data[h].rowid==l[q].id&&(n=!1);n&&(n={id:a.dataset[0].data[h].rowid,label:a.dataset[0].data[h].rowid},a.rows.row.push(n))}k=a.columns.column;l=a.rows.row;for(h=0;h<(k&&k.length);h++)k[h].label=d(k[h].label,k[h].name,k[h].id),void 0!==k[h].label&&m.push(k[h]);a.columns.column=m;for(h=0;h<(l&&l.length);h++)l[h].label=d(l[h].label,l[h].name,l[h].id),void 0!==l[h].label&&p.push(l[h]);a.rows.row=p;a.columns&&e[0].setAxisPadding(.5,.5);a.columns&&e[0].setCategory(a.columns.column);
a.columns&&b[0].setAxisPadding(.5,.5);a.rows&&b[0].setCategory(a.rows.row);e[0].setAxisData({categoryNumDivLines:a.columns.column.length-1,categoryDivLinesFromZero:0,showAlternateGridColor:0});b[0].setAxisData({categoryNumDivLines:a.rows.row.length-1,categoryDivLinesFromZero:0,showAlternateGridColor:0})}},K.mscartesian);FusionCharts.register("component",["dataset","HeatMap",{type:"heatmap",configure:function(){var b=this.chart,g=b.components,e=g.postLegendInitFn,c=g.gradientLegend,h=b.config.dataLabelStyle,
f=this.config,n=b.jsonData,k=this.JSONData,l=k.data,m=b.singleseries,s=l&&l.length,q=b.jsonData.chart,r=b.components.colorManager,t,u=f.plotColor=r.getPlotColor(this.index||this.positionIndex),x=a(k.dashed,q.plotborderdashed),D=a(q.useplotgradientcolor,1),K=a(q.showtooltip,1),M=v.parseUnsafeString,A=M(q.yaxisname),N=M(q.xaxisname),H=M(d(q.tooltipsepchar,": ")),U=v.parseTooltext,W,Y,Z,I,L,Q,ba,V,R,S,ja,O,X,da,ia,$,G,ra,qa,P,la,na,ma,pa=n.colorrange||{},ta=b.components.xAxis[0],oa=b.components.yAxis[0],
za,ya,va=f.mapByPercent=a(pa.mapbypercent,0),ca=f.mapByCategory=a(q.mapbycategory,0),Aa=b.jsonData,ua=Aa.colorrange&&a(Aa.colorrange.gradient),Ba=v.nonGradientColorRange,xa,Ca,Ha,Ka,Fa,Ga,Ia,Da,Ja,sa,Pa,Oa,Ra,Ua=v.getDashStyle,ub=this.components.data,ab=b.components.numberFormatter,Ta,Sa,$a=b.isBar,db=b.is3D,gb,ib,jb,lb,vb,Ma,eb=-Infinity,Xa=Infinity,wb,Na,kb=F(q.tltype,B),Ya=F(q.trtype,B),fa=F(q.bltype,B),ob=F(q.brtype,B),Ea,hb,Db,Za,mb,qb,wa,fb,rb,Fb,xb,yb,bb,nb,cb,Cb,Eb;t=f.showplotborder=a(q.showplotborder,
db?0:1);f.plotDashLen=ba=a(q.plotborderdashlen,5);f.plotDashGap=V=a(q.plotborderdashgap,4);f.plotfillAngle=O=a(360-q.plotfillangle,$a?180:90);f.plotFillAlpha=X=d(k.alpha,q.plotfillalpha,La);f.plotColor=u=d(k.color,u);f.isRoundEdges=S=a(q.useroundedges,0);f.plotRadius=a(q.useRoundEdges,f.isRoundEdges?1:0);f.plotFillRatio=da=d(k.ratio,q.plotfillratio);f.plotgradientcolor=ia=v.getDefinedColor(q.plotgradientcolor,r.getColor("plotGradientColor"));!D&&(ia=p);f.plotBorderAlpha=$=t?d(q.plotborderalpha,X,
La):0;f.plotBorderColor=G=d(q.plotbordercolor,db?"#ffffff":r.getColor("plotBorderColor"));f.plotBorderThickness=R=a(q.plotborderthickness,1);f.plotBorderDashStyle=qa=x?Ua(ba,V,R):"none";f.showValues=a(k.showvalues,q.showvalues,1);f.valuePadding=a(q.valuepadding,2);f.enableAnimation=gb=a(q.animation,q.defaultanimation,1);f.animation=gb?{duration:1E3*a(q.animationduration,1)}:!1;f.transposeAnimation=a(q.transposeanimation,gb);f.transposeAnimDuration=1E3*a(q.transposeanimduration,.2);f.showShadow=S||
db?a(q.showshadow,1):a(q.showshadow,r.getColor("showShadow"));f.showHoverEffect=ja=a(q.plothovereffect,q.showhovereffect,void 0);f.showTooltip=a(q.showtooltip,1);f.definedGroupPadding=J(a(q.plotspacepercent),0);f.plotSpacePercent=J(a(q.plotspacepercent,20)%100,0);f.maxColWidth=a($a?q.maxbarheight:q.maxcolwidth,50);f.plotPaddingPercent=a(q.plotpaddingpercent);f.rotateValues=a(q.rotatevalues)?270:0;f.placeValuesInside=a(q.placevaluesinside,0);xb=h.fontFamily;yb=h.fontSize;bb=h.color;nb=h.fontWeight;
cb=h.fontStyle;f.tlLabelStyle={fontFamily:d(q.tlfont,xb),fontSize:a(q.tlfontsize,yb.replace(/px/i,p))+"px",color:aa(d(q.tlfontcolor,bb),100),fontWeight:nb,fontStyle:cb};dc(f.tlLabelStyle);f.trLabelStyle={fontFamily:d(q.trfont,xb),fontSize:a(q.trfontsize,yb.replace(/px/i,p))+"px",color:aa(d(q.trfontcolor,bb),100),fontWeight:nb,fontStyle:cb};f.brLabelStyle={fontFamily:d(q.brfont,xb),fontSize:a(q.brfontsize,yb.replace(/px/i,p))+"px",color:aa(d(q.brfontcolor,bb),100),fontWeight:nb,fontStyle:cb};f.blLabelStyle=
{fontFamily:d(q.blfont,xb),fontSize:a(q.blfontsize,yb.replace(/px/i,p))+"px",color:aa(d(q.blfontcolor,bb),100),fontWeight:nb,fontStyle:cb};f.use3DLighting=a(q.use3dlighting,1);f.parentYAxis=ib="s"===d(k.parentyaxis&&k.parentyaxis.toLowerCase(),"p")?1:0;ub||(ub=this.components.data=[]);for(Ma=0;Ma<s;Ma++)P=l&&l[Ma],ma=(na=ub[Ma])&&na.config,na||(na=ub[Ma]={graphics:{}}),na.config||(ma=ub[Ma].config={}),ma.showValue=a(P.showvalue,f.showValues),ma.setValue=la=ab.getCleanValue(P.value),ma.setLink=d(P.link),
ma.toolTipValue=Ta=ab.dataLabels(la,ib),ma.setDisplayValue=Sa=M(P.displayvalue),ma.displayValue=d(Sa,Ta),jb=a(P.dashed),lb=a(P.dashlen,ba),vb=V=a(P.dashgap,V),eb=J(eb,la),Xa=C(Xa,la),ma.plotBorderDashStyle=ra=1===jb?Ua(lb,vb,R):0===jb?"none":qa,m?(u=r.getPlotColor(Ma),u=d(P.color,u),da=d(P.ratio,f.plotFillRatio)):u=d(P.color,f.plotColor),ma.plotFillAlpha=X=d(P.alpha,f.plotFillAlpha),0>la&&!S&&(L=O,O=$a?180-O:360-O),ma.colorArr=v.graphics.getColumnColor(u+","+f.plotgradientcolor,X,da=f.plotFillRatio,
O,S,f.plotBorderColor,$.toString(),$a?1:0,db?!0:!1),W=ma.toolTipValue,L&&(O=L);f.maxValue=eb;f.minValue=Xa;wb=eb-Xa;if(ua&&!ca)e({min:Xa,max:eb}),this.components.colorRange=pa=c.colorRange;else{this.components.colorRange=pa=new Ba({colorRange:n.colorrange,dataMin:Xa,dataMax:eb,sortLegend:0,mapByCategory:ca,defaultColor:"cccccc",numberFormatter:ab});f.colorMap=[];for(Ma=0;Ma<pa.colorArr.length;Ma++)f.colorMap[Ma]={config:pa.colorArr[Ma],dataSet:this},f.colorMap[Ma].config.visible=!0;0===f.colorMap.length&&
(b.setChartMessage(),c&&c.elem&&c.elem.gl.carpet.group.hide())}for(Ma=0;Ma<s;Ma++)P=l&&l[Ma],ma=(na=ub[Ma])&&na.config,ma.percentValue=va?rb=P.value&&ga((P.value-Xa)/wb*1E4)/100:void 0,ma.value=Cb=ca?P.colorrangelabel||P.categoryid:va?rb:ma.setValue,ua&&!ca?Eb=pa.getColorByValue(Cb):(Na=pa.getColorObj(Cb),na.legendItemIndex=Na.seriesIndex),void 0===Na&&void 0===Eb?ma.visible=!1:Na&&Na.outOfRange?(ma.visible=!1,ma.displayValue=p):(ma.visible=!0,u=d(P.color,Na&&Na.code||Eb),ma.color=aa(u,d(P.alpha,
f.plotFillAlpha)),0!==ja&&(xa=d(P.hovercolor,k.hovercolor,q.plotfillhovercolor,q.columnhovercolor,u),Ca=d(P.hoveralpha,k.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,"25"),Ha=d(P.hovergradientcolor,k.hovergradientcolor,q.plothovergradientcolor,ia),!Ha&&(Ha=p),Ka=d(P.hoverratio,k.hoverratio,q.plothoverratio,da),Fa=a(360-P.hoverangle,360-k.hoverangle,360-q.plothoverangle,O),Ga=d(P.borderhovercolor,k.borderhovercolor,q.plotborderhovercolor,G),Ia=d(P.borderhoveralpha,k.borderhoveralpha,q.plotborderhoveralpha,
$,X),Da=a(P.borderhoverthickness,k.borderhoverthickness,q.plotborderhoverthickness,R),Ja=a(P.borderhoverdashed,k.borderhoverdashed,q.plotborderhoverdashed),sa=a(P.borderhoverdashgap,k.borderhoverdashgap,q.plotborderhoverdashgap,ba),Pa=a(P.borderhoverdashlen,k.borderhoverdashlen,q.plotborderhoverdashlen,V),Oa=Ja?Ua(Pa,sa,Da):ra,1==ja&&xa===u&&(xa=pb(xa,70)),Ra=v.graphics.getColumnColor(xa,Ca,Ka,Fa,S,Ga,Ia.toString(),$a?1:0,db?!0:!1),ma.setRolloutAttr={fill:z(ma.color),stroke:t&&z(Ra[1]),"stroke-width":R,
"stroke-dasharray":ra},ma.setRolloverAttr={fill:z(Ra[0]),stroke:t&&z(Ra[1]),"stroke-width":Da,"stroke-dasharray":Oa}),va&&(rb=ab.percentValue(rb)),ma.setValue=la=ab.getCleanValue(P.value),ma.toolTipValue=Ta=ab.dataLabels(la,ib),W=ma.toolTipValue,Z=F(M(d(P.tooltext,k.plottooltext,q.plottooltext))),ma.tlLabel=Ea=M(d(P.tllabel,P.ltlabel)),ma.trLabel=hb=M(d(P.trlabel,P.rtlabel)),ma.blLabel=Db=M(d(P.bllabel,P.lblabel)),ma.brLabel=Za=M(d(P.brlabel,P.rblabel)),Sa=F(M(P.displayvalue)),Fb=ca?Sa:d(P.displayvalue,
W),ma.displayValue=d(Sa,rb,ma.toolTipValue),kb!==B&&(mb="<b>"+kb+H+"</b>"),Ya!==B&&(qb="<b>"+Ya+H+"</b>"),fa!==B&&(wa="<b>"+fa+H+"</b>"),ob!==B&&(fb="<b>"+ob+H+"</b>"),za=ta.getCategoryFromId(l[Ma].columnid.toLowerCase()),ya=oa.getCategoryFromId(l[Ma].rowid.toLowerCase()),K?(null===W?Q=!1:void 0!==Z?(I=[1,2,5,6,7,14,93,94,95,96,97,98,112,113,114,115,116,117],Y={formattedValue:W,value:P.value,yaxisName:A,xaxisName:N,displayValue:Sa,percentValue:va?rb:B,tlLabel:Ea,trLabel:hb,blLabel:Db,brLabel:Za,rowLabel:ya.catObj&&
ya.catObj.label,columnLabel:za.catObj&&za.catObj.label,percentDataValue:va?rb:B,trtype:Ya,tltype:kb,brType:ob,blType:fa,colorRangeLabel:ma.colorRangeLabel},Q=U(Z,I,Y,P,q,Y)):Q=(va?"<b>Value"+H+"</b>"+W+"<br /><b>Percentage"+H+"</b>"+rb:Fb)+(Ea!==B?"<br />"+(mb+Ea):B)+(hb!==B?"<br />"+qb+hb:B)+(Db!==B?"<br />"+wa+Db:B)+(Za!==B?"<br />"+fb+Za:B),ma.toolText=Q,ma.setTooltext=Q):Q=!1);!1===b.hasLegend||ua&&!ca||this._addLegend()},init:function(b){var d=this.chart,e=d.components,c=b.parentyaxis&&"s"===
b.parentyaxis.toLowerCase()?1:0,e=e.yAxis[c];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_addLegend:function(){var b=this.components.data,d=this.chart,e=d.jsonData.chart,c,h,f=this.config.colorMap,n=this.components.colorRange,k,l,m,p;l=d.components.legend;e=a(e.us3dlighting,e.useplotgradientcolor,1);l.emptyItems();l=0;for(m=f.length;l<
m;l++)p=f[l],k=n.colorArr[l].code,c=pb(k,60).replace(Y,qa),pb(k,40),e?(h=pb(k,40),h={FCcolor:{color:k+","+k+","+h,ratio:"0,70,30",angle:270,alpha:"100,100,100"}}):h={FCcolor:{color:k,angle:0,ratio:"0",alpha:"100"}},c={fillColor:z(h),label:p.config.label,rawFillColor:k,strokeColor:z(c),datasetObj:this},f[l].legendItemId=d.components.legend.addItems(p,this.legendInteractivity,c);for(l=0;l<b.length;l++)for(e=n.getColorObj(b[l].config.value).code,d=0;d<f.length;d++)if(f[d].config.code==e){b[l].legendItemId=
f[d].legendItemId;b[l].datasetIndex=d;b[l].datasetName=f[d].config.label;break}},legendInteractivity:function(a,d){var e=this.config,c=a.config.visible,h=a.dataSet,f=d.config,n=d.graphics,k=e.itemHiddenStyle.color,e=e.itemStyle.color,l=f.fillColor,f=f.strokeColor;c?h.hide(a):h.show(a);c?(n.legendItemSymbol&&n.legendItemSymbol.attr({fill:k,stroke:k}),n.legendItemText&&n.legendItemText.attr({fill:k}),n.legendIconLine&&n.legendIconLine.attr({stroke:k})):(n.legendItemSymbol&&n.legendItemSymbol.attr({fill:l,
stroke:f}),n.legendItemText&&n.legendItemText.attr({fill:e}),n.legendIconLine&&n.legendIconLine.attr({stroke:l}))},hide:function(a){var d=this.components.data,e=this.chart.get("config","animationObj"),c=e.animType,h=e.animObj,f=e.dummyObj,e=e.duration,n=this.components.colorRange,k,l,m,p,q;p=a.config.code;k=0;for(l=d.length;k<l;k++)q=n.getColorObj(d[k].config.value).code,m=d[k].config,p===q&&(d[k].graphics.element&&d[k].graphics.element.animateWith(f,h,{"fill-opacity":0,"stroke-width":0},e,c),d[k].graphics.hotElement&&
d[k].graphics.hotElement.hide(),d[k].graphics.valEle&&d[k].graphics.valEle.hide(),d[k].graphics.tlLabel&&d[k].graphics.tlLabel.hide(),d[k].graphics.trLabel&&d[k].graphics.trLabel.hide(),d[k].graphics.blLabel&&d[k].graphics.blLabel.hide(),d[k].graphics.brLabel&&d[k].graphics.brLabel.hide(),m.visible=!1,d[k].visible=!1);a.visible=!1;a.config.visible=!1},show:function(a){var d=this.components.data,e=this.config,c=this.chart.get("config","animationObj"),h=c.animType,f=c.animObj,n=c.dummyObj,c=c.duration,
k,l,m=this.components.colorRange,p,q,s,r;s=a.config.code;p=0;for(q=d.length;p<q;p++)k=d[p].config,l=k.plotFillAlpha/100,r=m.getColorObj(d[p].config.value).code,s===r&&(d[p].graphics.element&&d[p].graphics.element.attr({visibility:"visible"}).animateWith(n,f,{"fill-opacity":l,"stroke-width":e.plotBorderThickness},c,h),d[p].graphics.hotElement&&d[p].graphics.hotElement.show(),d[p].graphics.valEle&&d[p].graphics.valEle.show(),d[p].graphics.tlLabel&&d[p].graphics.tlLabel.show(),d[p].graphics.trLabel&&
d[p].graphics.trLabel.show(),d[p].graphics.blLabel&&d[p].graphics.blLabel.show(),d[p].graphics.brLabel&&d[p].graphics.brLabel.show(),k.visible=!0,d[p].visible=!0);a.visible=!0;a.config.visible=!0},updatePlot:function(a,d){var e=this.config,c=this.chart.get("config","animationObj"),h=c.animType,f=c.animObj,n=c.dummyObj,c=c.duration,k,l,m=this.components.data,p,q,s;p=0;for(q=m.length;p<q;p++)k=m[p].config,l=k.plotFillAlpha/100,s=m[p].config.value,s<a||s>d?k.visible&&(m[p].graphics.element&&m[p].graphics.element.animateWith(n,
f,{"fill-opacity":0,"stroke-width":0},c,h),m[p].graphics.hotElement&&m[p].graphics.hotElement.hide(),m[p].graphics.valEle&&m[p].graphics.valEle.hide(),m[p].graphics.tlLabel&&m[p].graphics.tlLabel.hide(),m[p].graphics.trLabel&&m[p].graphics.trLabel.hide(),m[p].graphics.blLabel&&m[p].graphics.blLabel.hide(),m[p].graphics.brLabel&&m[p].graphics.brLabel.hide(),k.visible=!1,m[p].visible=!1):k.visible||(m[p].graphics.element&&m[p].graphics.element.animateWith(n,f,{"fill-opacity":l,"stroke-width":e.plotBorderThickness},
c,h),m[p].graphics.hotElement&&m[p].graphics.hotElement.show(),m[p].graphics.valEle&&m[p].graphics.valEle.show(),m[p].graphics.tlLabel&&m[p].graphics.tlLabel.show(),m[p].graphics.trLabel&&m[p].graphics.trLabel.show(),m[p].graphics.blLabel&&m[p].graphics.blLabel.show(),m[p].graphics.brLabel&&m[p].graphics.brLabel.show(),k.visible=!0,m[p].visible=!0)},draw:function(){var a=this,d=a.config,e=a.JSONData.data,c,h,f,n=a.visible,k=a.chart,l=k.components.paper,m=k.components.xAxis[0],r=k.components.yAxis[0],
q=k.components.gradientLegend;c=k.graphics.datasetGroup;var t,u,v=k.graphics,x=d.showTooltip,B=k.get("config","animationObj"),C=B.animType,D=B.animObj,A=B.dummyObj,F=B.duration,H,J,K,M=a.components.data,N,I,L,Q,U,V;U={};var R={},S=r.getAxisBase();I=r.yBasePos=r.getAxisPosition(S);h=0;var S=d.showShadow,W=d.plotBorderThickness,O=d.plotRadius,X=a.graphics.container,Y=a.graphics.trackerContainer;f=a.graphics.dataLabelContainer;var Z=a.graphics.shadowContainer;J=v.datalabelsGroup;N=v.trackerGroup;var $,
G,v=!0,aa=!1,ba=!1,P=k.components.legend.config.isActive,ga,ja=[],ma=(a.components.removeDataArr||[]).length,da,ia=d.showHoverEffect,oa=function(a){za.call(this,k,a)},na=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloverAttr"));za.call(this,k,b,"DataPlotRollOver")}},ra=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloutAttr"));za.call(this,k,b,"DataPlotRollOut")}},pa=function(){a.drawLabel()};q&&q.enabled&&(q.resetLegend(),
q.clearListeners());q.notifyWhenUpdate(a.updatePlot,a);X||(X=a.graphics.container=l.group("columns",c),n||X.hide());Y||(Y=a.graphics.trackerContainer=l.group("col-hot",N),n||Y.hide());Z||(Z=a.graphics.shadowContainer=l.group("shadow",c).toBack(),n||Z.hide());f||(f=a.graphics.dataLabelContainer=l.group("datalabel",J),n||f.hide());c=e&&e.length;ga=k.config.canvasWidth/k.jsonData.columns.column.length;J=k.config.canvasHeight/k.jsonData.rows.row.length;for(f=0;f<c;f++)if(L=(N=M[f])&&N.config,U=L.setValue,
da=!1,q&&q.enabled&&!P&&(L.visible=!0),R=m.getCategoryFromId(e[f].columnid.toLowerCase()),V=r.getCategoryFromId(e[f].rowid.toLowerCase()),R.catObj&&V.catObj&&L.value!==p)if(d.mapByCategory||null!==U){ba=!1;K=R.index.toString()+V.index.toString();ja.push(K);Q=L.setLink;$=L.colorArr;N.graphics||(M[f].graphics={});I=L.displayValue;t=m.getAxisPosition(R.index)-ga/2;u=r.getAxisPosition(V.index)-J/2;H=ga;K=L.toolText;G=L.plotBorderDashStyle;N.graphics.valEle&&N.graphics.valEle.hide();N.graphics.tlLabel&&
N.graphics.tlLabel.hide();N.graphics.trLabel&&N.graphics.trLabel.hide();N.graphics.blLabel&&N.graphics.blLabel.hide();N.graphics.brLabel&&N.graphics.brLabel.hide();V={index:f,link:Q,value:L.percentValue||U,displayValue:I,columnId:R.catObj.id,rowId:V.catObj.id,tlLabel:L.tlLabel,trLabel:L.trLabel,blLabel:L.blLabel,brLabel:L.brLabel,toolText:K,id:p,datasetIndex:P?N.datasetIndex:void 0,datasetName:P?N.datasetName:void 0,visible:n};U=L.setRolloutAttr;R=L.setRolloverAttr;I=u;h=J;h={x:t,y:I,width:H,height:h||
1,r:O,ishot:!x,fill:L.color,stroke:z($[1]),"stroke-width":F?0:W,"stroke-dasharray":G,"fill-opacity":F?0:L.plotFillAlpha/100,"stroke-linejoin":"miter",visibility:L.visible?"visible":"hidden"};N._xPos=t;N._yPos=u;N._height=J;N._width=H;N.graphics.element?(aa=!0,h={x:t,y:u,width:H,height:J||1},I=N.graphics.element,I.animateWith(A,D,h,F,B.animType),I.attr({ishot:!x,fill:L.color,stroke:z($[1]),"fill-opacity":L.visible?L.plotFillAlpha/100:0,"stroke-width":L.visible?W:0,"stroke-dasharray":G,"stroke-linejoin":"miter",
visibility:L.visible?"visible":"hidden"})):(I=N.graphics.element=l.rect(h,X),da=!0,I.animateWith(A,D,{"fill-opacity":L.plotFillAlpha/100,"stroke-width":W},F,C,v&&pa),v=!1,F||(aa=!0));I.shadow({opacity:S},Z).data("BBox",void 0);if(Q||x)J<Pa&&(u-=(Pa-J)/2,J=Pa),h={x:t,y:u,width:H,height:J,r:O,cursor:Q?"pointer":p,stroke:s,"stroke-width":W,fill:s,ishot:!0,visibility:L.visible?"visible":"hidden"},N.graphics.hotElement?N.graphics.hotElement.attr(h):(L=N.graphics.hotElement=l.rect(h,Y),da=!0);L=N.graphics.hotElement;
da&&(L||I).click(oa).hover(na(I),ra(I));(L||I).data("eventArgs",V).data("groupId",void 0).data("showHoverEffect",ia).data("setRolloverAttr",R).data("setRolloutAttr",U).tooltip(K)}else N.graphics.element&&N.graphics.element.hide(),N.graphics.hotElement&&N.graphics.hotElement.hide(),ba=!0;(aa||ba)&&a.drawLabel();ma&&a.remove()},drawLabel:function(){var a=this.chart,d=a.config,e=a.graphics,c=a.components.paper,h=a.linkedItems.smartLabel,f=a.config.dataLabelStyle,n=this.config,k=this.JSONData.data.length,
l=this.components.data,m=this.visible,s,q,r,t,u,v,x=this.graphics.dataLabelContainer,z={fontFamily:f.fontFamily,fontSize:f.fontSize,lineHeight:f.lineHeight,fontWeight:f.fontWeight,fontStyle:f.fontStyle},C,A,D,H,F,J,K,M,I,L,Q,N,V,R,S,U,O,X,a=a.get("config","animationObj"),W=a.animObj,Y=a.dummyObj,Z=a.duration,e=e.datalabelsGroup;x||(x=this.graphics.dataLabelContainer=c.group("datalabel",e),m||x.hide());m=n.tlLabelStyle;e=n.trLabelStyle;C=n.blLabelStyle;A=n.brLabelStyle;D={fontFamily:m.fontFamily,fontSize:m.fontSize,
lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle};H={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle};F={fontFamily:C.fontFamily,fontSize:C.fontSize,lineHeight:C.lineHeight,fontWeight:C.fontWeight,fontStyle:C.fontStyle};J={fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,fontWeight:A.fontWeight,fontStyle:A.fontStyle};h.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);h.setStyle(f);for(s=0;s<k;s++)if(d=
l[s],void 0!==d&&(r=d.graphics))if(r=d&&d.config,K=r.setValue,n.mapByCategory||null!==K){if(q=r.displayValue,K=d.graphics.element)K=d._width,M=d._height,I=d._xPos,L=d._yPos,h.setStyle(f),ba(q)&&q!==B&&r.showValue?(Q=h.getSmartText(q,K,M,!1),q=Q.text,t=L+.5*M,u=I+.5*K,d.graphics.valEle?(d.graphics.valEle.animateWith(Y,W,{x:u,y:t},Z,a.animType),d.graphics.valEle.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:f.color,direction:r.textDirection,"text-bound":[f.backgroundColor,
f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]})):(d.graphics.valEle=c.text(x),d.graphics.valEle.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:f.color,direction:r.textDirection,x:u,y:t,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]})),r.visible&&d.graphics.valEle.show(),d.graphics.valEle.css(z),q=r.tlLabel,u=r.trLabel,N=r.blLabel,V=r.brLabel,v=ba(q)&&q!==B,R=ba(u)&&u!==B,S=ba(N)&&
N!==B,U=ba(V)&&V!==B,O=K*(v&&R?.5:.9),X=.5*(M-(Q&&Q.height||0)),t=L+4,v?(h.setStyle(m),Q=h.getSmartText(q,O,X,!1),q=Q.text,v=I,d.graphics.tlLabel?(d.graphics.tlLabel.animateWith(Y,W,{x:v+4,y:t},Z,a.animType),d.graphics.tlLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:m.color,"text-anchor":"start","vertical-align":"top",direction:r.textDirection,"text-bound":[m.backgroundColor,m.borderColor,m.borderThickness,m.borderPadding,m.borderRadius,m.borderDash]})):(d.graphics.tlLabel=
c.text(x),d.graphics.tlLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:m.color,"text-anchor":"start","vertical-align":"top",direction:r.textDirection,x:v+4,y:t,"text-bound":[m.backgroundColor,m.borderColor,m.borderThickness,m.borderPadding,m.borderRadius,m.borderDash]})),r.visible&&d.graphics.tlLabel.show(),d.graphics.tlLabel.css(D)):d.graphics.tlLabel&&(d.graphics.tlLabel.remove(),delete d.graphics.tlLabel),R?(h.setStyle(e),Q=h.getSmartText(u,O,X,!1),q=Q.text,
v=I+K,d.graphics.trLabel?(d.graphics.trLabel.animateWith(Y,W,{x:v-4,y:t},Z,a.animType),d.graphics.trLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:e.color,"text-anchor":"end","vertical-align":"top",direction:r.textDirection,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]})):(d.graphics.trLabel=c.text(x),d.graphics.trLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:e.color,
"text-anchor":"end","vertical-align":"top",direction:r.textDirection,x:v-4,y:t,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]})),r.visible&&d.graphics.trLabel.show(),d.graphics.trLabel.css(H)):d.graphics.trLabel&&(d.graphics.trLabel.remove(),delete d.graphics.trLabel),t=L+M-4,S?(h.setStyle(C),Q=h.getSmartText(N,O,X,!1),q=Q.text,v=I,d.graphics.blLabel?(d.graphics.blLabel.animateWith(Y,W,{x:v+4,y:t},Z,a.animType),d.graphics.blLabel.attr({text:q,
title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:C.color,"text-anchor":"start","vertical-align":"bottom",direction:r.textDirection,"text-bound":[C.backgroundColor,C.borderColor,C.borderThickness,C.borderPadding,C.borderRadius,C.borderDash]})):(d.graphics.blLabel=c.text(x),d.graphics.blLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:C.color,"text-anchor":"start","vertical-align":"bottom",direction:r.textDirection,x:v+4,y:t,"text-bound":[C.backgroundColor,
C.borderColor,C.borderThickness,C.borderPadding,C.borderRadius,C.borderDash]})),r.visible&&d.graphics.blLabel.show(),d.graphics.blLabel.css(F)):d.graphics.blLabel&&(d.graphics.blLabel.remove(),delete d.graphics.blLabel),U?(h.setStyle(C),Q=h.getSmartText(V,O,X,!1),q=Q.text,v=I+K-4,d.graphics.brLabel?(d.graphics.brLabel.animateWith(Y,W,{x:v,y:t},Z,a.animType),d.graphics.brLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:A.color,"text-anchor":"end","vertical-align":"bottom",
direction:r.textDirection,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]})):(d.graphics.brLabel=c.text(x),d.graphics.brLabel.attr({text:q,title:Q.tooltext||p,visibility:r.visible?"visible":"hidden",fill:A.color,"text-anchor":"end","vertical-align":"bottom",direction:r.textDirection,x:v,y:t,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]})),r.visible&&d.graphics.brLabel.show(),
d.graphics.brLabel.css(J)):d.graphics.brLabel&&(d.graphics.brLabel.remove(),delete d.graphics.brLabel)):(d.graphics.valEle&&(d.graphics.valEle.remove(),delete d.graphics.valEle),d.graphics.tlLabel&&(d.graphics.tlLabel.remove(),delete d.graphics.tlLabel),d.graphics.trLabel&&(d.graphics.trLabel.remove(),delete d.graphics.trLabel),d.graphics.blLabel&&(d.graphics.blLabel.remove(),delete d.graphics.blLabel),d.graphics.brLabel&&(d.graphics.brLabel.remove(),delete d.graphics.brLabel))}else d.graphics.valEle&&
d.graphics.valEle.hide(),d.graphics.tlLabel&&d.graphics.tlLabel.hide(),d.graphics.trLabel&&d.graphics.trLabel.hide(),d.graphics.blLabel&&d.graphics.blLabel.hide(),d.graphics.brLabel&&d.graphics.brLabel.hide();this.labelDrawn=!0},remove:function(){var a=this.components,d=a.removeDataArr,e=a.pool||(a.pool={element:[],hotElement:[],label:[]}),c=d.length,h,f=this.maxminFlag,n,k,l;for(l=0;l<c;l++)if(h=d[0],d.splice(0,1),h&&h.graphics){k=h.graphics;for(n in k)k[n].stop(),k[n].hide();h.graphics.element&&
(e.element=e.element.concat(h.graphics.element));h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement));h.graphics.label&&(e.label=e.label.concat(h.graphics.label))}a.pool=e;f&&this.setMaxMin()},getEventArgs:function(a){var d=a.dataset.config||{};return{datasetName:d.label,datasetIndex:a.index,visible:d.visible}}},"Column"]);FusionCharts.register("component",["datasetGroup","heatmap",{},xa]);FusionCharts.register("component",["dataset","Kagi",{type:"kagi",_parseShadowOptions:function(){var b=
this.config;return{opacity:a(this.chart.jsonData.chart.showshadow,1)?b.lineAlpha/100:0}},configure:function(){var b,g,e=this.chart,c=e.components.xAxis[0],h=0,f,n=[],k,l,m,p,q,r,s,t,u,x,z=v.getDashStyle,C,A,B,D,F,J,K,M,I,L;u=0;var N;this.__base__.configure.call(this);b=this.components;f=b.data;k=this.config;l=this.JSONData.data;e=e.jsonData.chart;m=k.maxValue;p=k.minValue;g=b.removeDataArr||(b.removeDataArr=[]);b=!1;q=0;r=a(e.reversalvalue,-1);s=a(e.reversalpercentage,5);for(t=0;t<f.length;t+=1)f[t].config.__nullCount=
u,null===f[t].config.setValue&&(g.push(f.splice(t,1)[0]),u++,--t);if(f.length){k.rallyColor=d(e.rallycolor,"FF0000");k.rallyAlpha=a(e.rallyalpha,e.linealpha,100);k.declineColor=d(e.declinecolor,"0000FF");k.declineAlpha=a(e.declinealpha,e.linealpha,100);k.canvasPadding=a(e.canvaspadding,15);k.maxHShiftPercent=a(e.maxhshiftpercent,10);k.rallyThickness=a(e.rallythickness,e.linethickness,2);t=a(e.rallydashlen,e.linedashlen,5);u=a(e.rallydashgap,e.linedashgap,4);k.declineThickness=a(e.declinethickness,
e.linethickness,2);g=a(e.declinedashlen,e.linedashlen,5);x=a(e.declinedashgap,e.linedashgap,4);k.lineDashed={"true":a(e.rallydashed,e.linedashed,0),"false":a(e.declinedashed,e.linedashed,0)};k.rallyDashed=a(e.rallydashed,e.linedashed,0)?z(t,u,k.rallyThickness):"none";k.declineDashed=a(e.declinedashed,e.linedashed,0)?z(g,x,k.declineThickness):"none";k.canvasPadding=a(e.canvaspadding,this.canvasPadding,15);r=0<r?r:s*(m-p)/100;z=f[0].config.setValue;m=function(a,b){for(var c,d=1,e=f[0].config.setValue;d<
a;)c=f[d].config.setValue,b?c<=e&&(f[d].config.isDefined=!1):c>=e&&(f[d].config.isDefined=!1),d+=1;f[0].config.vAlign=b?Pb:Vb;f[0].config.align="center"};p=l.length;for(s=t=0;s<p;s+=1,t+=1)if(C=l[s],!C||!C.vline)if(g=f[t]&&f[t].config,A&&(A=!1),g&&(g.isDefined=!0),C.tooltext||this.JSONData.plottooltext||e.plottooltext||g&&(g.toolText+=g.displayValue),t&&g){g.isShift=void 0;B=f[t-1].config;g.vAlign="middle";g.align=ec;g.showLabel=!1;u=null;x=g.setValue;D=f[t+1]&&f[t+1].config.setValue;F=Ca(z-x);b?
x<K&&J?J=!1:x>M&&!J&&(J=!0):(x>z&&F>r?(J=!0,K=z,M=null,b=I=!0,m(t,J)):x<z&&F>r?(J=!1,K=null,M=z,I=!1,b=!0,m(t,J)):(I=J=null,b=!1),ba(B)&&(B.isRally=J),null!=J&&(f[0].config.isRally=J));g.isRally=J;if(I&&x<z||!I&&x>z)u=z;L=u?u:x;F=Ca(L-D);D=null==I?null:I?L>D&&F>=r:L<D&&F>=r;if(B&&B.isShift)for(I?(K=z,N=Pb):I||(M=z,N=Vb),B=t;1<B;--B)if(f[B].y==z){f[B].vAlign=N;f[B].align="center";f[B].showLabel=!0;break}D?(q+=1,A=!0,I=!I,g.isShift=!0,z=L,n.push(l[t+g.__nullCount]),h=this._appendCategory(h,t,n,0)):
I&&x>z||!I&&x<z?z=x:u=z;g.plotValue=u;g.objParams={isRally:J,lastHigh:M,lastLow:K,isRallyInitialised:b}}this._appendCategory(h,t,n,1);n.push(C);c.setCategory(n);k.shiftCount=q+1}},_appendCategory:function(b,d,e,c){var h,f,m,k=this.JSONData.catData;if(b<k.length)for(h=b;h<k.length;h+=1,b=h){f=k[h];m=f.data;f=f.index-(h+1);if(f<d)m.lineposition=a(m.lineposition,c);else if(f>d)break;e.push(m)}return b},draw:function(){var a,d,e=this,c=e.graphics,h=e.JSONData,f=e.chart,m=f.components,k=f.config,l=e.config,
r=e.components,t=r.data;a=(r=r.removeDataArr)&&r.length;var q=t&&t.length,r=t&&t.length,u=k.style,v=m.paper,x=m.xAxis[0],D,F,K=f.graphics,m=K.datalabelsGroup,M,A,N,H,U,W,Y,Z=e.components.data,I,L,Q,aa={fontFamily:u.fontFamily,fontSize:u.fontSize,lineHeight:u.lineHeight,fontWeight:u.fontWeight,fontStyle:u.fontStyle,color:u.color},V=c.container,R=c.trackerContainer,S=K.tracker,ba,O,X=K.datasetGroup,da,K=l.shadow,ja,$=c.dataLabelContainer,G={},ia,na,P,la=!1,pa=function(){V.lineGroup.attr({"clip-rect":null});
V.lineShadowGroup.show();V.anchorShadowGroup.show();V.anchorGroup.show();R.show();$&&$.show()},ma=!0,qa=x.getAxisPosition(0),ta=x.getAxisPosition(1)-qa,u={"clip-rect":[J(0,k.canvasLeft),J(0,k.canvasTop),J(1,k.canvasWidth),J(1,k.canvasHeight)]},oa={"clip-rect":[J(0,k.canvasLeft),J(0,k.canvasTop),1,J(1,k.canvasHeight)]},k={stroke:z({color:l.rallyColor,alpha:l.rallyAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":l.rallyThickness,"stroke-dasharray":l.rallyDashed},za={stroke:z({color:l.declineColor,
alpha:l.declineAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":l.declineThickness,"stroke-dasharray":l.declineDashed},ya={"true":k["stroke-width"],"false":za["stroke-width"]},va=[],ca=[],ua=c.rallyElem,xa=c.declineElem,Aa=e.visible,Ba=x.getAxisPosition(0),Ca=t[0]&&!!t[0].isRally,Ha,qa=qa-ta/2,Da,Fa,Ga,Ia=c.lineElement,Ja=e.pool||(e.pool={}),Pa=f.get("config","animationObj"),sa=Pa.duration||0,La=Pa.dummyObj,Oa=Pa.animObj,Ra=Pa.animType;a&&e.remove();if(t.length){ua&&ua.show();
xa&&xa.show();V||(V=e.graphics.container={lineShadowGroup:v.group("connector-shadow",X).attr(oa),anchorShadowGroup:v.group("anchor-shadow",X).attr(oa),lineGroup:v.group(ra,X).attr(oa),anchorGroup:v.group("anchors",X).attr(oa)},Aa||(V.lineShadowGroup.hide(),V.anchorShadowGroup.hide(),V.lineGroup.hide(),V.anchorGroup.hide()));R||(R=e.graphics.trackerContainer=v.group("line-hot").trackTooltip(!0),Aa||R.hide());Z||(Z=e.components.data=[]);S&&S.appendChild(R);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",
aa);$||($=e.graphics.dataLabelContainer=e.graphics.dataLabelContainer||v.group("datalabel",m),Aa||$.hide());C(q,r);if(t[0].config.setValue)Da=t[0].config.plotY;else for(a=1;a<r;a+=1)if(U=t[a].config.setValue){Da=t[a].config.plotY;break}Ca=!!t[0].config.isRally;r=ga(Da)+ya[Ca]%2/2;Ca?va.push("M",qa,r,"H",Ba):ca.push("M",qa,r,"H",Ba);Ua(t,function(a,b){a=a.config;I=Z[b];P=I.config;d=I.graphics;da=P.hoverEffects;U=P.setValue;Y=P.displayValue;la=!1;Fa=t[b+1]&&t[b+1].config||{};Ga=["M",Ba,Da];Ca=a.isRally;
a.isShift&&(Ba+=ta,Da=a.graphY,Ga.push("H",Ba),Ga[2]=ga(Ga[2])+ya[Ca]%2/2,Ga=Ga.toString(),Ca?va.push(Ga):ca.push(Ga),Ga=["M",Ba,Da]);Fa.isChanged&&(Da=Fa.ty,Ga.push("V",Da),Ga[1]=ga(Ga[1])+ya[Ca]%2/2,Ga=Ga.toString(),Ca?va.push(Ga):ca.push(Ga),Ga=["M",Ba,Da]);Ha=Fa.isRally;Fa.graphY!==Ga[2]&&(Ga.push("V",Fa.graphY),Ga[1]=ga(Ga[1])+ya[Ha]%2/2,Ga=Ga.toString(),Ha?va.push(Ga):ca.push(Ga));Da=Fa.graphY;D=I._xPos=x.getAxisPosition(a.plotX);F=I._yPos=a.plotY;G=P.anchorProps;na=G.symbol;ja=G.shadow;M=a.toolText;
H=P.setLink;void 0!==F&&!isNaN(F)&&a.isDefined&&(W={index:b,link:H,value:U,displayValue:Y,categoryLabel:P.label,toolText:M,id:l.userID,datasetIndex:0,datasetName:h.seriesname,visible:Aa},L=Q={},G.imageUrl?(ia=new Ka,ia.onload=e._onAnchorImageLoad(e,b,W,D,F,I),ia.onerror=e._onErrorSetter(D,F,b,e),ia.src=G.imageUrl):((A=d.element)?(A.animateWith(La,Oa,{polypath:[na[1]||2,D,F,G.radius,G.startAngle,0]},sa,Ra),ma&&pa(),ma=!1):(Ja.element&&Ja.element.length?A=d.element=Ja.element.shift():(A=d.element=v.polypath(V.anchorGroup),
la=!0),A.attr({polypath:[na[1]||2,D,F,G.radius,G.startAngle,0]})),A.attr({fill:z({color:G.bgColor,alpha:G.bgAlpha}),stroke:z({color:G.borderColor,alpha:G.borderAlpha}),"stroke-width":G.borderThickness,visibility:G.radius?Aa:"hidden"}).shadow(ja,V.anchorShadowGroup)),da.enabled&&(Q={polypath:[da.anchorSides||2,D,F,da.anchorRadius,da.startAngle,da.dip],fill:z({color:da.anchorColor,alpha:da.anchorBgAlpha}),stroke:z({color:da.anchorBorderColor,alpha:da.anchorBorderAlpha}),"stroke-width":da.anchorBorderThickness},
L={polypath:[G.sides,D,F,G.radius,G.startAngle,0],fill:z({color:G.bgColor,alpha:G.bgAlpha}),stroke:z({color:G.borderColor,alpha:G.borderAlpha}),"stroke-width":G.borderThickness},A&&A.data("anchorRadius",G.radius).data("anchorHoverRadius",da.anchorRadius).data("setRolloverAttr",Q).data("setRolloutAttr",L)),ba=J(G.radius,da&&da.anchorRadius||0),O={cx:D,cy:F,r:ba,cursor:H?"pointer":p,stroke:s,"stroke-width":G.borderThickness,fill:s,ishot:!0,visibility:Aa},N=I.graphics.hotElement,N||(Ja.element&&Ja.element.length?
N=d.hotElement=Ja.hotElement.shift():(N=d.hotElement=v.circle(R),la=!0)),N.attr(O).show(),(N||A).data("eventArgs",W).data("groupId",void 0).data("hoverEnabled",da.enabled).data("dataset",e).tooltip(l.showTooltip?M:B),la&&(N||A).click(e.getPlotClickFn(f)).hover(e.rolloverResponseSetter(I,f),e.rolloutResponseSetter(I,f)),e.drawLabel(b))});Ia||(ua||(Ia=ua=c.rallyElem=v.path(V.lineGroup)),ua.animateWith(La,Oa,{path:va},ma?0:sa,Ra).attr(k).shadow(K,V.lineShadowGroup),xa||(Ia=xa=c.declineElem=v.path(V.lineGroup)),
xa.animateWith(La,Oa,{path:ca},ma?0:sa,Ra).attr(za).shadow(K,V.lineShadowGroup));sa&&ma||(ma=!1);V.anchorGroup.animateWith(La,Oa,u,sa,Ra);$.hide();V.lineShadowGroup.animateWith(La,Oa,u,sa,Ra);V.anchorShadowGroup.animateWith(La,Oa,u,sa,Ra);V.lineShadowGroup.animateWith(La,Oa,u,sa,Ra);V.lineGroup.animateWith(La,Oa,u,sa,Ra,pa)}else ua&&ua.hide(),xa&&xa.hide()},hidingPosition:function(){return function(a){a=a.graphics.element;return{polypath:(a&&a.attr("polypath"))[3]=0,r:0,text:p}}}},"Line"]);Da.addSymbol({resizeIcon:function(b,
d,e){var c=a(e,15)/3,h=[];0>c&&(c=-c,e=-e,b+=e-c/2,d+=e-c/2);for(e=3;0<e;--e)h.push("M",b-c*e,d-3,"L",b-3,d-c*e);return h},closeIcon:function(a,d,e){var c=1.3*e,h=43*cc,f=48*cc,m=a+c*da(h),h=d+c*N(h),k=a+c*da(f),l=d+c*N(f),f=.71*(e-2);e=.71*(e-2);c=["A",c,c,0,1,0,k,l];m=["M",m,h];m=m.concat(c);return m=m.concat(["M",a+f,d-e,"L",a-f,d+e,"M",a-f,d-e,"L",a+f,d+e])},configureIcon:function(a,d,e){--e;var c=.71*e,h=.71*(e+2),f=a-e,m=d-e,k=a+e;e=d+e;var l=a+.5,p=d+.5,r=a-.5,q=d-.5,s=f-2,t=m-2,u=k+2,v=e+
2,x=a+c,z=d+c,B=a-c,c=d-c,A=a+h,C=d+h;a-=h;d-=h;return["M",f,p,"L",s,p,s,q,f,q,B-.25,c+.25,a-.25,d+.25,a+.25,d-.25,B+.25,c-.25,r,m,r,t,l,t,l,m,x-.25,c-.25,A-.25,d-.25,A+.25,d+.25,x+.25,c+.25,k,q,u,q,u,p,k,p,x+.25,z-.25,A+.25,C-.25,A-.25,C+.25,x-.25,z+.25,l,e,l,v,r,v,r,e,B+.25,z+.25,a+.25,C+.25,a-.25,C-.25,B-.25,z-.25,"Z"]},axisIcon:function(a,d,e){--e;var c=.33*e,h=e/2,f=a-e,m=d-e,k=a+h;e=d+e;a-=h;h=d+c;d-=c;return["M",f,m,"L",k,m,k,e,f,e,"M",a,h,"L",k,h,"M",a,d,"L",k,d]},loggerIcon:function(a,d,
e){--e;a-=e;d-=e;var c=a+2*e,h=a+2,f=c-2,m=d+2;e=m+e;var k=e+2;return["M",a,d,"L",c,d,c,m,f,m,f,e,c,e,c,k,a,k,a,e,h,e,h,m,a,m,a,d]}})},[3,2,1,"release"]]);