/home/mip/mip/public/template/AdminLTE/plugins/fussionChart/js/fusioncharts.js
/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0

 @attributions (infers respective third-party copyrights)
 Raphael 2.1.0 (modified as 'Red Raphael') <http://raphaeljs.com/license.html>
 JSON v2 <http://www.JSON.org/js.html>
 Firebug Lite 1.3.0 <http://getfirebug.com/firebuglite>
*/
(function(){if(!window.FusionCharts||!window.FusionCharts.version){var k=window,m=k.document,C=k.navigator,r={window:k},e=r.modules={},a=r.interpreters={},M=Object.prototype.toString,J=/msie/i.test(C.userAgent)&&!k.opera,I=/loaded|complete/,n=!1,z=function(){var a=r.ready;r.ready=!0;r.raiseEvent&&(r.readyNotified=!0,r.raiseEvent("ready",{version:r.core.version,now:!a},r.core));r.readyNow=!a},G=function(a,e){var c,p;if(e instanceof Array)for(c=0;c<e.length;c+=1)"object"!==typeof e[c]?a[c]=e[c]:("object"!==
typeof a[c]&&(a[c]=e[c]instanceof Array?[]:{}),G(a[c],e[c]));else for(c in e)"object"===typeof e[c]?(p=M.call(e[c]),"[object Object]"===p?("object"!==typeof a[c]&&(a[c]={}),G(a[c],e[c])):"[object Array]"===p?(a[c]instanceof Array||(a[c]=[]),G(a[c],e[c])):a[c]=e[c]):a[c]=e[c];return a};r.extend=function(a,e,c,p){var d;c&&a.prototype&&(a=a.prototype);if(!0===p)G(a,e);else for(d in e)a[d]=e[d];return a};r.uniqueId=function(){return"chartobject-"+(r.uniqueId.lastId+=1)};r.uniqueId.lastId=0;r.policies=
{options:{chartTypeSourcePath:["typeSourcePath",""],product:["product","v3"],insertMode:["insertMode","replace"],safeMode:["safeMode",!0],overlayButton:["overlayButton",void 0],containerBackgroundColor:["containerBackgroundColor","#ffffff"],containerBackgroundOpacity:["containerBackgroundOpacity",1],containerClassName:["containerClassName","fusioncharts-container"],chartType:["type",void 0],baseChartMessageFont:["baseChartMessageFont","Verdana,sans"],baseChartMessageFontSize:["baseChartMessageFontSize",
"10"],baseChartMessageColor:["baseChartMessageColor","#666666"],baseChartMessageImageHAlign:["baseChartMessageImageHAlign","middle"],baseChartMessageImageVAlign:["baseChartMessageImageVAlign","middle"],baseChartMessageImageAlpha:["baseChartMessageImageAlpha",100],baseChartMessageImageScale:["baseChartMessageImageScale",100],dataLoadStartMessage:["dataLoadStartMessage","Retrieving data. Please wait."],dataLoadErrorMessage:["dataLoadErrorMessage","Error in loading data."],dataInvalidMessage:["dataInvalidMessage",
"Invalid data."],dataEmptyMessage:["dataEmptyMessage","No data to display."],typeNotSupportedMessage:["typeNotSupportedMessage","Chart type not supported."],browserNotSupportedMessage:["browserNotSupportedMessage","This browser is not supported."],loadMessage:["loadMessage","Loading chart. Please wait."],renderErrorMessage:["renderErrorMessage","Unable to render chart."]},attributes:{lang:["lang","EN"],id:["id",void 0]},width:["width","400"],height:["height","300"],src:["swfUrl",""]};a.stat="swfUrl id width height debugMode registerWithJS backgroundColor scaleMode lang detectFlashVersion autoInstallRedirect".split(" ");
r.parsePolicies=function(a,e,c){var p,d,B;for(d in e)if(r.policies[d]instanceof Array)B=c[e[d][0]],a[d]=void 0===B?e[d][1]:B;else for(p in"object"!==typeof a[d]&&(a[d]={}),e[d])B=c[e[d][p][0]],a[d][p]=void 0===B?e[d][p][1]:B};r.parseCommands=function(e,t,c){var p,d;"string"===typeof t&&(t=a[t]||[]);p=0;for(d=t.length;p<d;p++)e[t[p]]=c[p];return e};r.registrars={module:function(){return r.core.apply(r.core,arguments)}};r.core=function(q){if(!(this instanceof r.core)){if(1===arguments.length&&q instanceof
Array&&"private"===q[0]){if(e[q[1]])return;e[q[1]]={};q[3]instanceof Array&&(r.core.version[q[1]]=q[3]);return"function"===typeof q[2]?q[2].call(r,e[q[1]]):r}if(1===arguments.length&&"string"===typeof q)return r.core.items[q];r.raiseError&&r.raiseError(this,"25081840","run","",new SyntaxError('Use the "new" keyword while creating a new FusionCharts object'))}var t={};this.__state={};1===arguments.length&&"object"===typeof arguments[0]?t=arguments[0]:r.parseCommands(t,a.stat,arguments);1<arguments.length&&
"object"===typeof arguments[arguments.length-1]&&(delete t[a.stat[arguments.length-1]],r.extend(t,arguments[arguments.length-1]));this.id="undefined"===typeof t.id?this.id=r.uniqueId():t.id;this.args=t;r.core.items[this.id]instanceof r.core&&r.raiseWarning(this,"06091847","param","",Error('A FusionCharts object with the specified id "'+this.id+'" already exists. Renaming it to '+(this.id=r.uniqueId())));r.parsePolicies(this,r.policies,t);this.attributes.id=this.id;this.resizeTo&&this.resizeTo(t.width,
t.height,!0);this.chartType&&this.chartType(t.type||t.swfUrl,!0);r.raiseEvent("beforeInitialize",t,this);r.core.items[this.id]=this;r.core.defaultOptions=r.core.options;r.raiseEvent("initialized",t,this);return this};r.core.prototype={};r.core.prototype.constructor=r.core;r.extend(r.core,{id:"FusionCharts",version:["3","11","0"],items:{},options:{},getObjectReference:function(a){return r.core.items[a].ref},register:function(a){return r.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&r.registrars[a].apply(r.core,
Array.prototype.slice.call(arguments,1))},get:function(a){return r.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&r.registrars[a].apply(r.core,Array.prototype.slice.call(arguments,1))}});k.FusionCharts=r.core;k.FusionMaps&&k.FusionMaps.legacy&&(r.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),n=!0);I.test(m.readyState)||m.loaded?(r.ready=!0,setTimeout(z,1)):function(){function a(){arguments.callee.done||(arguments.callee.done=!0,c&&clearTimeout(c),n||(k.FusionMaps&&
k.FusionMaps.legacy&&r.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),k.FusionMaps=r.core),setTimeout(z,1))}function e(){I.test(m.readyState)?a():c=setTimeout(e,10)}var c,p;m.addEventListener?m.addEventListener("DOMContentLoaded",a,!1):m.attachEvent&&k.attachEvent("onLoad",a);if(J)try{"https:"===k.location.protocol?m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="//:">\x3c/script>'):m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="javascript:void(0)">\x3c/script>'),
p=m.getElementById("__ie_onload_fusioncharts"),p.onreadystatechange=function(){"complete"==this.readyState&&a()}}catch(d){}/WebKit/i.test(C.userAgent)&&(c=setTimeout(e,10));k.onload=function(c){return function(){a();c&&c.call&&c.call(k)}}(k.onload)}();k.FusionMaps=r.core}})();
FusionCharts.register("module",["private","modules.mantle.errormanager",function(){var k=this,m=k.window,C={type:"TypeException",range:"ValueRangeException",impl:"NotImplementedException",param:"ParameterException",run:"RuntimeException",comp:"DesignTimeError",undefined:"UnspecifiedException"},r=function(a,e,J,I,n,z){var G="#"+e+" "+(a?a.id:"unknown-source")+I+" "+z+" >> ";n instanceof Error?(n.name=C[J],n.module="FusionCharts"+I,n.level=z,n.message=G+n.message,G=n.message,m.setTimeout(function(){throw n;
},0)):G+=n;e={id:e,nature:C[J],source:"FusionCharts"+I,message:G};k.raiseEvent(z,e,a);if("function"===typeof m["FC_"+z])m["FC_"+z](e)},e;k.raiseError=function(a,e,k,m,n){r(a,e,k,m,n,"Error")};k.raiseWarning=function(a,e,k,m,n){r(a,e,k,m,n,"Warning")};e={outputHelpers:{text:function(a,k){e.outputTo("#"+a.eventId+" ["+(a.sender.id||a.sender).toString()+'] fired "'+a.eventType+'" event. '+("error"===a.eventType||"warning"===a.eventType?k.message:""))},event:function(a,e){this.outputTo(a,e)},verbose:function(a,
k){e.outputTo(a.eventId,a.sender.id,a.eventType,k)}},outputHandler:function(a,m){"function"!==typeof e.outputTo?k.core["debugger"].outputFailed=!0:(k.core["debugger"].outputFailed=!1,e.currentOutputHelper(a,m))},currentOutputHelper:void 0,outputTo:void 0,enabled:!1};e.currentOutputHelper=e.outputHelpers.text;k.extend(k.core,{"debugger":{syncStateWithCharts:!0,outputFormat:function(a){return a&&"function"===typeof a.toLowerCase&&"function"===typeof e.outputHelpers[a=a.toLowerCase()]?(e.currentOutputHelper=
e.outputHelpers[a],!0):!1},outputTo:function(a){"function"===typeof a?e.outputTo=a:null===a&&(k.core["debugger"].enable(!1),delete e.outputTo)},enable:function(a,m,J){var I;"object"===typeof a&&1===arguments.length&&(I=a,a=I.state,m=I.outputTo,J=I.outputFormat);"function"===typeof a&&("string"!==typeof m||2!==arguments.length&&!I||(J=m),m=a,a=!0);if("boolean"===typeof a&&a!==e.enabled)k.core[(e.enabled=a)?"addEventListener":"removeEventListener"]("*",e.outputHandler);"function"===typeof m&&(e.outputTo=
m);k.core["debugger"].outputFormat(J);return e.enabled},enableFirebugLite:function(){var a;m.console&&m.console.firebug?k.core["debugger"].enable(m.console.log,"verbose"):((a=m.document.getElementsByTagName("html"))&&a[0].setAttribute("debug","true"),k.loadScript("https://getfirebug.com/firebug-lite.js#overrideConsole=false,startOpened=true",function(){k.core["debugger"].enable(m.console.log,"verbose")},"{ startOpened: true }",!0,!0))}},debugMode:{enabled:function(){m.setTimeout(function(){throw Error("Deprecated! Please use FusionCharts.debugger.enable instead.");
},0);return k.core["debugger"].enable.apply(k.core["debugger"],arguments)}}},!1)}]);
FusionCharts.register("module",["private","modules.mantle.eventmanager",function(){var k=this,m=k.window,C=k.core,r=m.Object.prototype.toString,e=r.call([]),a=function(a,e,t,c){try{a[0].call(e,t,c||{})}catch(p){setTimeout(function(){throw p;},0)}},M=function(e,q,t){if(e instanceof Array)for(var c=0,p;c<e.length;c+=1){if(e[c][1]===q.sender||void 0===e[c][1])p=e[c][1]===q.sender?q.sender:k.core,a(e[c],p,q,t),!0===q.detached&&(e.splice(c,1),--c,q.detached=!1);if(!0===q.cancelled)break}},J={unpropagator:function(){return!1===
(this.cancelled=!0)},detacher:function(){return!1===(this.detached=!0)},undefaulter:function(){return!1===(this.prevented=!0)},listeners:{},lastEventId:0,addListener:function(a,q,t){var c,p;if(r.call(a)===e){c=[];for(p=0;p<a.length;p+=1)c.push(J.addListener(a[p],q,t));return c}if("string"!==typeof a)k.raiseError(t||k.core,"03091549","param","::EventTarget.addListener",Error("Unspecified Event Type"));else if("function"!==typeof q)k.raiseError(t||k.core,"03091550","param","::EventTarget.addListener",
Error("Invalid Event Listener"));else return a=a.toLowerCase(),J.listeners[a]instanceof Array||(J.listeners[a]=[]),J.listeners[a].push([q,t]),q},removeListener:function(a,e,t){var c;if("function"!==typeof e)k.raiseError(t||k.core,"03091560","param","::EventTarget.removeListener",Error("Invalid Event Listener"));else if(a instanceof Array)for(c=0;c<a.length;c+=1)J.removeListener(a[c],e,t);else if("string"!==typeof a)k.raiseError(t||k.core,"03091559","param","::EventTarget.removeListener",Error("Unspecified Event Type"));
else if(a=a.toLowerCase(),a=J.listeners[a],a instanceof Array)for(c=0;c<a.length;c+=1)a[c][0]===e&&a[c][1]===t&&(a.splice(c,1),--c)},triggerEvent:function(a,e,t,c,p,d){if("string"!==typeof a)k.raiseError(e,"03091602","param","::EventTarget.dispatchEvent",Error("Invalid Event Type"));else{a=a.toLowerCase();var B={eventType:a,eventId:J.lastEventId+=1,sender:e||Error("Orphan Event"),cancelled:!1,stopPropagation:this.unpropagator,prevented:!1,preventDefault:this.undefaulter,detached:!1,detachHandler:this.detacher};
M(J.listeners[a],B,t);M(J.listeners["*"],B,t);switch(B.prevented){case !0:if("function"===typeof d)try{d.call(c||e||m,B,t||{})}catch(n){setTimeout(function(){throw n;},0)}break;default:if("function"===typeof p)try{p.call(c||e||m,B,t||{})}catch(l){setTimeout(function(){throw l;},0)}}return!0}}},I=k.raiseEvent=function(a,e,t,c,p,d){return J.triggerEvent(a,t,e,c,p,d)},n=k.legacyEventList={},z={};k.disposeEvents=function(a){var e,t;for(e in J.listeners)for(t=0;t<J.listeners[e].length;t+=1)J.listeners[e][t][1]===
a&&J.listeners[e].splice(t,1)};k.raiseEventWithLegacy=function(a,e,t,c,p,d,B){var k=n[a];I(a,e,t,p,d,B);k&&"function"===typeof m[k]&&setTimeout(function(){m[k].apply(p||m,c)},0)};k.raiseEventGroup=function(a,e,t,c,p,d,B){var n=c.id,l=a+n;z[l]?(clearTimeout(z[l]),delete z[l]):n&&l?z[l]=setTimeout(function(){I(e,t,c,p,d,B);delete z[l]},0):I(e,t,c,p,d,B)};k.addEventListener=function(a,e){return J.addListener(a,e)};k.removeEventListener=function(a,e){return J.removeListener(a,e)};k.extend(C,{addEventListener:function(a,
e){return J.addListener(a,e)},removeEventListener:function(a,e){return J.removeListener(a,e)},ready:function(a,e,t){k.ready?(C.ready=function(c,a){"function"===typeof c&&setTimeout(function(){c.call(a||C,e||C)},0)},C.ready(a,t)):"function"===typeof a&&C.addEventListener("ready",function(){C.ready(a,e,t)});return this}});C.on=C.addEventListener;k.extend(C.prototype,{addEventListener:function(a,e){return J.addListener(a,e,this)},removeEventListener:function(a,e){return J.removeListener(a,e,this)}});
C.prototype.on=C.prototype.addEventListener;k.policies.options.events=["events",{}];k.addEventListener("beforeInitialize",function(a){a=a.sender;var e=a.options.events,t;if(e)for(t in e)"function"===typeof e[t]&&a.addEventListener(t,e[t])});k.ready&&!k.readyNotified&&(k.readyNotified=!0,k.raiseEvent("ready",{version:k.core.version,now:k.readyNow},k.core))}]);
FusionCharts.register("module",["private","modules.mantle.ajax",function(){var k=this,m=k.window,C=parseFloat(m.navigator.appVersion.split("MSIE")[1]),r=5.5<=C&&7>=C?!0:!1,e=/mozilla/i.test(m.navigator.userAgent),a="file:"===m.location.protocol,M=m.ActiveXObject,J=(!M||!a)&&m.XMLHttpRequest,I={objects:0,xhr:0,requests:0,success:0,failure:0,idle:0},n=function(){var a;if(J)return n=function(){I.xhr++;return new J},n();try{a=new M("Msxml2.XMLHTTP"),n=function(){I.xhr++;return new M("Msxml2.XMLHTTP")}}catch(e){try{a=
new M("Microsoft.XMLHTTP"),n=function(){I.xhr++;return new M("Microsoft.XMLHTTP")}}catch(q){a=!1}}return a};k.core.ajax={stats:function(a){return a?I[a]:k.extend({},I)},headers:{"If-Modified-Since":"Sat, 29 Oct 1994 19:43:31 GMT","X-Requested-With":"XMLHttpRequest","X-Requested-By":"FusionCharts",Accept:"text/plain, */*","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}};C=k.ajax=function(a,e){this.onSuccess=a;this.onError=e;this.open=!1;I.objects++;I.idle++};k.extend(C.prototype,
{headers:k.core.ajax.headers,transact:function(z,J,q,t){var c=this,p=c.xmlhttp,d=c.headers,B=c.onError,Q=c.onSuccess;z="POST"===z;var l,w=Object.prototype.hasOwnProperty,H;-1!==J.search(/^(http:\/\/|https:\/\/)/)&&m.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(J)[2]?delete d["X-Requested-By"]:!w.call(d,"X-Requested-By")&&(d["X-Requested-By"]="FusionCharts");if(!p||r||e)p=n(),c.xmlhttp=p;p.onreadystatechange=function(){try{4===p.readyState&&(!p.status&&a||200<=p.status&&300>p.status||
304===p.status||1223===p.status||0===p.status?(Q&&Q(p.responseText,c,t,J),I.success++):B&&(B(Error("XmlHttprequest Error"),c,t,J),I.failure++),I.idle--,c.open=!1)}catch(d){B&&B(d,c,t,J),m.FC_DEV_ENVIRONMENT&&setTimeout(function(){throw d;},0),I.failure++}};try{p.open(z?"POST":"GET",J,!0);p.overrideMimeType&&p.overrideMimeType("text/plain");if(z)if("string"===typeof q)l=q;else{l=[];for(H in q)l.push(H+"="+(q[H]+"").replace(/\=/g,"%3D").replace(/\&/g,"%26"));l=l.join("&")}else l=null;for(H in d)p.setRequestHeader(H,
d[H]);p.send(l);I.requests++;I.idle++;c.open=!0}catch(F){k.raiseError(k.core,"1110111515A","run","XmlHttprequest Error",F.message)}return p},get:function(a,e){return this.transact("GET",a,void 0,e)},post:function(a,e,q){return this.transact("POST",a,e,q)},abort:function(){var a=this.xmlhttp;this.open=!1;return a&&"function"===typeof a.abort&&a.readyState&&0!==a.readyState&&a.abort()},dispose:function(){this.open&&this.abort();delete this.onError;delete this.onSuccess;delete this.xmlhttp;delete this.open;
I.objects--;return null}})}]);
FusionCharts.register("module",["private","modules.mantle.runtime;1.1",function(){var k=this,m=k.window,C=/(^|[\/\\])(fusioncharts\.js)([\?#].*)?$/ig,r=/[\\\"<>;&]/,e=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,a={},M={},J={},I={},n=k.purgeDOM=function(a){var e=a.attributes,c,p;if(e)for(c=e.length-1;0<=c;--c)p=e[c].name,"function"===typeof a[p]&&(a[p]=null);if(e=a.childNodes)for(e=e.length,c=0;c<e;c+=1)n(a.childNodes[c])},z=function(a,e,c){var p,d;for(p in a)if(a[p]instanceof Array)e[a[p][0]]=c[p];else for(d in a[p])e[a[p][d][0]]=
c[p][d]},G=/^(FusionCharts|FusionWidgets|FusionMaps)/;k.getScriptBaseUri=function(a){var e=m.document.getElementsByTagName("script"),c=e.length,p,d;for(d=0;d<c;d+=1)if(p=e[d].getAttribute("src"),void 0!==p&&null!==p&&null!==p.match(a))return p.replace(a,"$1")};k.core.options.scriptBaseUri=function(){var a=k.getScriptBaseUri(C);return void 0===a?(k.raiseError(FusionCharts,"1603111624","run",">GenericRuntime~scriptBaseUri","Unable to locate FusionCharts script source location (URL)."),""):a}();k.isXSSSafe=
function(a,n){return n&&null!==e.exec(a)?!1:null===r.exec(a)};k.xssEncode=function(a){return null===a||void 0===a||"function"!==typeof a.toString?"":a=a.toString().replace(/&/g,"&amp;").replace(/\'/g,"&#39;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};k.loadScript=function(e,n,c,p,d){if(!e)return!1;var B=n&&n.success||n,z=n&&n.failure,l,w={type:"script",success:!1},H=function(){I[l]=clearTimeout(I[l]);w.success?B&&B(e,l):z&&z(e,l);k.raiseEvent("externalresourceload",w,k.core)};
d=d?"":k.core.options.scriptBaseUri;l=d+e;k.isXSSSafe(l,!1)||(l="function"===typeof m.encodeURIComponent?m.encodeURIComponent(l):m.escape(l));w.path=d;w.src=l;w.file=e;if(!0===J[l]&&p)return w.success=!0,w.notReloaded=!0,"function"===typeof n&&(n(),k.raiseEvent("externalresourceload",w,k.core)),!0;if(a[l]&&p)return!1;a[l]=!0;M[l]&&M[l].parentNode&&M[l].parentNode.removeChild(M[l]);n=M[l]=m.document.createElement("script");n.type="text/javascript";n.src=l;c&&(n["\v"==="v"?"text":"innerHTML"]=c);"function"===
typeof B&&(J[l]=!1,I[l]=clearTimeout(I[l]),n.onload=function(){J[l]=!0;w.success=!0;H()},n.onerror=function(){J[l]=!1;a[l]=!1;H()},n.onreadystatechange=function(){if("complete"===this.readyState||"loaded"===this.readyState)J[l]=!0,w.success=!0,H()});m.document.getElementsByTagName("head")[0].appendChild(n);"function"===typeof z&&(I[l]=setTimeout(function(){J[l]||H()},k.core.options.html5ResourceLoadTimeout||15E3));return!0};k.capitalizeString=function(a,e){return a?a.replace(e?/(^|\s)([a-z])/g:/(^|\s)([a-z])/,
function(a,p,d){return p+d.toUpperCase()}):a};k.extend(k.core,{clone:function(a,e){var c=typeof a,p,d=k.extend({},this.args,!1,!1);z(k.policies,d,this);z(k.renderer.getRendererPolicy(this.options.renderer),d,this);delete d.id;delete d.animate;delete d.stallLoad;p=d.link;d=k.extend({},d,!1,!1);d.link=p;switch(c){case "object":k.extend(d,a);break;case "boolean":e=a}return e?d:new k.core(d)},isActive:function(){if(!this.ref||m.document.getElementById(this.id)!==this.ref)return!1;try{return G.test(this.ref.signature())}catch(a){return!1}},
chartType:function(a,e){var c=this.src,p=!0===e,d=this.options,B;"string"===typeof a&&(e="object"===typeof e?e:{},c=a.replace(/[\?\#][\s\S]*$/g,""),B=null!==c.match(/\.swf\s*?$/ig),c=c.replace(/\.swf\s*?$/ig,""),d.chartType=c.replace(/^[\s\S]*\//ig,"").replace(/^fcmap_/i,""),d.chartTypeSourcePath=-1===c.indexOf("/")?e.chartTypeSourcePath||this.options.chartTypeSourcePath||k.core.options.chartTypeSourcePath||"":c.replace(/[^\/]*?$/ig,""),this.src=((k.core.options.scriptBaseUri||"")+(d.chartTypeSourcePath||
k.core.options.chartTypeSourcePath||"")).replace(/\/\s*$/g,"")+"/"+d.chartType.replace(/\.swf\s*?$/ig,"")+".swf",B&&(k.raiseWarning(this,"08101320181","comp","FusionCharts#chartType",'Chart type has ".swf" in alias and as such has been deprecated. Please use chart type alias.'),d.chartTypeSourcePath=k.core.options.chartTypeSourcePath||""),void 0!==e.dataSource&&null!==e.dataSource?this.setChartData(e.dataSource,e.dataFormat,e.dataConfiguration):this.isActive()&&!p&&this.render());return(d.chartType||
"").toLowerCase()}},!0);m.getChartFromId=function(a){k.raiseWarning(this,"11133001041","comp","GenericRuntime~getObjectFromId()",'Use of deprecated getChartFromId() or getMapFromId(). Replace with "FusionCharts()" or FusionCharts.items[].');return k.core.items[a]instanceof k.core?k.core.items[a].ref:m.swfobject&&m.swfobject.getObjectById(a)};m.getMapFromId=m.getChartFromId}]);
FusionCharts.register("module",["private","api.printmanager",function(){var k=this;k.extend(k.core,{printManager:{configure:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.configure","PrintManager is deprecated")},isReady:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.isReady","PrintManager is deprecated");return!1},enabled:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.enabled","PrintManager is deprecated");return!1},managedPrint:function(){k.raiseWarning(k.core,
"28141714","impl",".printManager.managedPrint","PrintManager is deprecated")}}},!1)}]);
FusionCharts.register("module",["private","modules.interface.renderer",function(){var k=this,m=k.window,C=m.document,r=function(){k.raiseError(this,"25081845","run","::RendererManager",Error("No active renderer"))},e=k.FusionChartsDOMInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},a={undefined:{render:r,remove:r,update:r,resize:r,config:r,policies:{}}},M={},J=function(a){return function(){var p=this.ref;if(void 0===p||null===p||"function"!==typeof p[a])k.raiseError(this,"25081617",
"run","#"+a+"()","ExternalInterface call failed. Check whether chart has been rendered.");else return p[a].apply(p,arguments)}},I=function(a,p){return"function"===typeof a[p]?function(){return a[p].apply(a,arguments)}:a[p]},n=function(a,p){var d=C.getElementById(a),e=p.id||p.getAttribute("id"),n,l;if(null===d)return!1;if(a===e)return!0;e=p.getElementsByTagName("*");n=0;for(l=e.length;n<l;n++)if(e[n]===d)return!1;return!0},z=/[^\%\d]*$/ig,G=function(){var a=function(p){var d=p.parentNode;if(9===d.nodeType)return!1;
var e="display";m.getComputedStyle?e=m.getComputedStyle(p)[e]:p.currentStyle&&(e=p.currentStyle[e]);return"none"===e?!0:d?a(d):!1};return a}(),q=function(){var a={},p,d=function(){var e=0,n=parseInt(k.core.options.visibilityTrackingInterval,10)||300,l,w,H,F,q;for(l in a)if(e+=1,w=a[l].chart,H=a[l].container,F=a[l].insertMode,q=a[l].callback,w.disposed||!G(H))delete a[l],--e,!w.disposed&&w.renderChart.call(w,H,F,q);p=e?setTimeout(d,n):clearTimeout(p)};return function(e,n,l,w){a[e.id]={chart:e,container:n,
insertMode:l,callback:w};p||(p=setTimeout(d,parseInt(k.core.options.visibilityTrackingInterval,10)||300))}}(),t;k.policies.options.containerElementId=["renderAt",void 0];k.policies.options.renderer=["renderer",void 0];k.policies.options.containerElementType=["containerElementType",void 0];k.policies.options.visibilityTrackingInterval=300;k.normalizeCSSDimension=function(a,p,d){a=void 0===a?d.offsetWidth||parseFloat(d.style.width):a;p=void 0===p?d.offsetHeight||parseFloat(d.style.height):p;var e={},
n=d.style,l;n.width=a=a.toString?a.toString():"0";n.height=p=p.toString?p.toString():"0";if((e.widthIsRelative=a.match(/^\s*\d*\.?\d*\%\s*$/)&&!a.match(/^\s*0\%\s*$/))&&0===d.offsetWidth)for(l=d;l=l.offsetParent;)if(0<l.offsetWidth){a=(l.offsetWidth*parseFloat(a.match(/\d*/)[0])/100).toString();break}if((e.heightIsRelative=p.match(/^\s*\d*\.?\d*\%\s*$/)&&!p.match(/^\s*0\%\s*$/))&&20>=d.offsetHeight)for(l=d;l=l.offsetParent;)if(0<l.offsetHeight){p=(l.offsetHeight*parseFloat(p.match(/\d*/)[0])/100).toString();
break}e.width=a.replace?a.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):a;e.height=p.replace?p.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):p;n.width=e.width;n.height=e.height;e.pixelWidth=e.widthIsRelative?d.offsetWidth:parseInt(e.width,10)||0;e.pixelHeight=e.heightIsRelative?d.offsetHeight:parseInt(e.height,10)||0;return e};t=k.renderer={register:function(c,e){if(!c||"function"!==typeof c.toString)throw Error("#03091436 ~renderer.register() Invalid value for renderer name.");c=c.toString().toLowerCase();if(void 0!==
a[c])return k.raiseError(k.core,"03091438","param","::RendererManager>register",'Duplicate renderer name specified in "name"'),!1;a[c]=e;return!0},userSetDefault:!1,setDefault:function(c){if(!c||"function"!==typeof c.toString)return k.raiseError(k.core,"25081731","param","::RendererManager>setDefault",'Invalid renderer name specified in "name"'),!1;if(void 0===a[c=c.toString().toLowerCase()])return k.raiseError(k.core,"25081733","range","::RendererManager>setDefault","The specified renderer does not exist."),
!1;this.userSetDefault=!1;k.policies.options.renderer=["renderer",c];return!0},notifyRender:function(a){var e=k.core.items[a&&a.id];e&&(!1!==a.success||a.silent)||k.raiseError(k.core.items[a.id],"25081850","run","::RendererManager",Error("There was an error rendering the chart. Enable FusionCharts JS debugger for more information."));if(e.ref=a.ref)a.ref.FusionCharts=k.core.items[a.id];k.raiseEvent("internal.DOMElementCreated",{},e)},protectedMethods:{options:!0,attributes:!0,src:!0,ref:!0,constructor:!0,
signature:!0,link:!0,addEventListener:!0,removeEventListener:!0},getRenderer:function(c){return a[c]},getRendererPolicy:function(c){c=a[c].policies;return"object"===typeof c?c:{}},currentRendererName:function(){return k.policies.options.renderer[1]},update:function(a){M[a.id].update.apply(a,Array.prototype.slice.call(arguments,1))},render:function(a){M[a.id].render.apply(a,Array.prototype.slice.call(arguments,1))},remove:function(a){M[a.id].remove.apply(a,Array.prototype.slice.call(arguments,1))},
resize:function(a){M[a.id].resize.apply(a,Array.prototype.slice.call(arguments,1))},config:function(a){M[a.id].config.apply(a,Array.prototype.slice.call(arguments,1))},dispose:function(a){M[a.id].dispose.apply(a,Array.prototype.slice.call(arguments,1))}};k.addEventListener("beforeInitialize",function(c){c=c.sender;var e=c.options.renderer.toLowerCase(),d;"string"===typeof c.options.renderer&&void 0===a[e]&&(c.options.renderer=k.policies.options.renderer[1]);c.options.renderer=e;M[c.id]=a[c.options.renderer];
!0!==M[c.id].initialized&&"function"===typeof M[c.id].init&&(M[c.id].init(),M[c.id].initialized=!0);k.parsePolicies(c,M[c.id].policies||{},c.args);for(d in M[c.id].prototype)c[d]=M[c.id].prototype[d];for(d in M[c.id].events)c.addEventListener(d,M[c.id].events[d])});k.addEventListener(["rendered","dataloaderror","nodatatodisplay","rendercancelled"],function(a,e){var d=a.sender;d instanceof k.core&&d.__state&&d.__state.rendering&&(k.raiseEvent("internal.rendered",e,d),delete d.__state.rendering)});
k.addEventListener("loaded",function(a){var e=a.sender;a=a.sender.ref;var d,B;if(void 0!==a&&null!==a&&"function"===typeof a.getExternalInterfaceMethods){try{d=a.getExternalInterfaceMethods(),d="string"===typeof d?d.split(","):[]}catch(n){d=[],k.raiseError(e,"13111126041","run","RendererManager^Loaded",Error("Error while retrieving data from the chart-object."+(n.message&&0<=n.message.indexOf("NPObject")?" Possible cross-domain security restriction.":"")))}for(a=0;a<d.length;a+=1)B=d[a],void 0===
e[B]&&(e[B]=J(B));if(e.ref)for(B in d=t.protectedMethods,a=t.getRenderer(e.options.renderer).protectedMethods,e)if(a&&!d[B]&&!a[B]&&void 0===e.ref[B])try{e.ref[B]=I(e,B)}catch(l){}}});k.legacyEventList.resized="FC_Resized";k.extend(k.core.prototype,{render:function(a,e,d){d?"function"!==typeof d&&(d=void 0):"function"===typeof e?(d=e,e=void 0):e||"function"!==typeof a||(d=a,a=void 0);void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===
a)return k.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;G(a)?q(this,a,e,d):this.renderChart.call(this,a,e,d);return this},renderChart:function(a,p,d){var B=this,q,l,w;if((w=m[this.id])&&w.FusionCharts&&w.FusionCharts===this||(w=this.ref)&&w.FusionCharts&&w.FusionCharts===this)k.renderer.dispose(this),w===m[this.id]&&(m[this.id]=void 0);void 0!==m[this.id]&&k.raiseError(this,"25081843","comp",".render",Error("#25081843:IECompatibility() Chart Id is same as a JavaScript variable name. Variable naming error. Please use unique name forchart JS variable, chart-id and container id."));
d?"function"!==typeof d&&(d=void 0):"function"===typeof p?(d=p,p=void 0):p||"function"!==typeof a||(d=a,a=void 0);p=(p||this.options.insertMode).toLowerCase()||e.REPLACE;void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===a)return k.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;if(n(this.id,a))return k.raiseError(this,"05102109","run",".render()",Error("A duplicate object already exists with the specific Id: "+
this.id)),this;q=C.createElement(this.options.containerElementType||"span");q.setAttribute("id",this.id);if("append"!==p&&"prepend"!==p)for(;a.hasChildNodes();)a.removeChild(a.firstChild);"prepend"===p&&a.firstChild?a.insertBefore(q,a.firstChild):a.appendChild(q);this.options.containerElement=a;this.options.containerElementId=a.id;if(p=q.style)p.position="relative",p.textAlign="left",p.lineHeight="normal",p.display="inline-block",p.zoom="1",p.fontWeight="normal",p.fontVariant="normal",p.fontStyle=
"normal",p.textDecoration="none",p["*DISPLAY"]="inline",p.padding="0",p.margin="0",p.border="none",p.direction="ltr";this.options.containerClassName&&(q.className=this.options.containerClassName);p=k.normalizeCSSDimension(this.width,this.height,q);this.__state.renderedWidth=p.pixelWidth;this.__state.renderedHeight=p.pixelHeight;this.__state.rendering=!0;k.raiseEvent("beforeRender",l={container:a,width:this.width,height:this.height,renderer:this.options.renderer},this,void 0,function(a,l){!0!==this.disposed&&
k.renderer.render(B,q,function(){k.renderer.notifyRender.apply(this,arguments);if(d)try{d.call(a.sender,l.container)}catch(c){setTimeout(function(){throw c;})}})},function(){k.raiseEvent("renderCancelled",l,B)});return this},remove:function(){k.renderer.remove(this);return this},resizeTo:function(a,e,d){var B=this,n=B.width,l=B.height,w=B.__state;(B.apiInstance&&B.apiInstance.config||{}).resize=!0;"object"===typeof a&&(d=e,e=a.h,a=a.w);a=null===a||void 0===a?n:a.toString().replace(z,"");e=null===
e||void 0===e?l:e.toString().replace(z,"");!0!==d?k.raiseEvent("beforeresize",{currentWidth:n,currentHeight:l,newWidth:a,newHeight:e},B,void 0,function(){B.width=a;B.height=e;k.renderer.resize(B,{width:a,height:e});k.raiseEventWithLegacy("resized",{width:B.width,height:B.height,prevWidth:n,prevHeight:l,pixelWidth:B.ref&&B.ref.offsetWidth||0,pixelHeight:B.ref&&B.ref.offsetHeight||0,originalWidth:w.renderedWidth,originalHeight:w.renderedHeight},B,[B.id,B.width,B.height])},function(){k.raiseEvent("resizecancelled",
{currentWidth:n,currentHeight:l,cancelledTargetWidth:a,cancelledTargetHeight:e},B)}):(B.width=a,B.height=e);return this},dispose:function(){var a=this,e={};k.raiseEvent("beforeDispose",e,a,void 0,function(){k.renderer.dispose(a);k.raiseEvent("disposed",e,a);k.disposeEvents(a);delete k.core.items[a.id];for(var d in a)a.hasOwnProperty(d)&&delete a[d];a.disposed=!0},function(){k.raiseEvent("disposeCancelled",e,a)})},configure:function(a,e){var d;a&&("string"===typeof a?(d={},d[a]=e):d=a,k.renderer.config(this,
d))}});k.extend(k.core,{setCurrentRenderer:function(){var a=t.setDefault.apply(t,arguments);t.userSetDefault=!0;return a},getCurrentRenderer:function(){return t.currentRendererName.apply(t,arguments)},render:function(a,e){return a instanceof k.core?(a.render(e),a):(new k.core(a)).render(e)}},!1)}]);
FusionCharts.register("module",["private","modules.interface.transcoder",function(){var k=this,m=k.window,C=k.transcoders={},r={},e={},a=/url$/i,M=k._interactiveCharts={selectscatter:[!0,!1],dragcolumn2d:[!0,!0],dragarea:[!0,!0],dragline:[!0,!0],dragnode:[!0,!0]},J=function(a,d,c,e){var l=c.obj;c=c.args;c.dataSource=a;c.xmlHttpRequestObject=d;c.source="XmlHttpRequest";c.url=e;k.raiseEvent("dataLoadRequestCompleted",c,l,void 0,n,z)},I=function(a,d,c){var e=c.obj;c=c.args;c.error=a;c.httpStatus=d.xhr&&
d.xhr.status?d.xhr.status:-1;c.xmlHttpRequestObject=d;k.raiseEvent("dataLoadError",c,e);"function"===typeof m.FC_DataLoadError&&m.FC_DataLoadError(e.id,c)},n=function(a,d){a.sender.setChartData(d.dataSource,d.dataFormat,d.config,d.successcallback,d.silent)},z=function(a,d){k.raiseEvent("dataLoadCancelled",d,a.sender);d.xmlHttpRequestObject.abort()},G=function(a,d){var c=a.sender,e=c.__state,l=d.url;c.options.dataSource=d.url;e.dhmXhrObj||(e.dhmXhrObj=new k.ajax(J,I));e.dhmXhrObj.get("function"===
typeof m.decodeURIComponent?m.decodeURIComponent(l):m.unescape(l),{obj:c,args:d})},q=function(a,d){var c=a.sender,e=c.__state;k.raiseEvent("dataLoadRequestCancelled",d,c);e&&e.dhmXhrObj&&e.dhmXhrObj.abort()},t=function(a,d){var c=a.sender,n=c.__state,l=c.id;r[l]=d;e[l]&&delete e[l];e[l]={};n.dataReady=void 0;n.dataAvailable=!0;!0!==d.silent&&(!0!==c.options.safeMode||!0!==n.rendering||c.isActive()?(delete n.args,k.renderer.update(c,d)):(n.updatePending=d,k.raiseWarning(c,"23091255","run","::DataHandler~update",
"Renderer update was postponed due to async loading.")));k.raiseEvent("dataUpdated",d,c,void 0,d.successcallback)},c=function(a,d){k.raiseEvent("dataUpdateCancelled",d,a.sender,void 0,d.failurecallback)};k.dataFormats={};k.policies.options.dataSource=["dataSource",void 0];k.policies.options.dataFormat=["dataFormat",void 0];k.policies.options.dataConfiguration=["dataConfiguration",void 0];k.policies.options.showDataLoadingMessage=["showDataLoadingMessage",!1];k.addDataHandler=function(a,d){if("string"!==
typeof a||void 0!==C[a.toLowerCase()])k.raiseError(k.core,"03091606","param","::DataManager.addDataHandler",Error("Invalid Data Handler Name"));else{var c={},e=a.toLowerCase();C[e]=d;d.name=a;c["set"+a+"Data"]=function(d,c,e){return this.setChartData(d,a,c,e)};d.transportable&&(c["set"+a+"Url"]=function(d,c,e){return this.setChartDataUrl(d,a,c,e)},k.dataFormats[a+"URL"]=e+"Url");c["get"+a+"Data"]=function(){return this.getChartData(a)};k.dataFormats[a]=e;k.extend(k.core,c,!0)}};k.extend(k.core.prototype,
{setChartDataUrl:function(c,d,e,n,l){if(void 0===d||null===d||"function"!==typeof d.toString)d=this.options.dataFormat,k.raiseWarning(this,"03091609","param","FusionCharts#setChartDataUrl","Invalid Data Format. Reverting to current data format - "+d);d=d.toString().toLowerCase();d=a.test(d)?d.slice(0,-3):d;k.raiseEvent("dataLoadRequested",{source:"XmlHttpRequest",url:c,dataFormat:d,silent:!!l,config:e,successcallback:n},this,void 0,G,q)},setChartData:function(e,d,n,q,l){var w=this.options,H,F;if(void 0===
d||null===d||"function"!==typeof d.toString)d=w.dataFormat,k.raiseWarning(this,"03091610","param","FusionCharts#setChartData","Invalid Data Format. Reverting to current data format - "+d);d=d.toString().toLowerCase();a.test(d)?this.setChartDataUrl(e,d,n,q,l):(w.dataSource=e,H=d,w.dataFormat=d,F=C[H],"undefined"===typeof F?k.raiseError(k.core,"03091611","param","FusionCharts#setChartData",Error("Data Format not recognized")):(d=(d=k.renderer&&k.renderer.getRenderer(w.renderer||k.renderer.currentRendererName()))&&
d.dataFormat,n=d===H?F.passthrough?F.passthrough(e,n,w.chartType):{data:e}:F.encode(e,this,n||w.dataConfiguration)||{},n["native"]=d===H,n.format=n["native"]?d:"xml",n.dataFormat=H,n.dataSource=e,n.silent=!!l,"function"===typeof q&&(n.successcallback=q),k.raiseEvent("beforeDataUpdate",n,this,void 0,t,c)))},getChartData:function(a,d){var c=this.options,n=this.id,l;if(void 0===a||"function"!==typeof a.toString||void 0===(l=C[a=a.toString().toLowerCase()]))k.raiseError(this,"25081543","param","::transcoder~getChartData()",
Error('Unrecognized data-format specified in "format"'));else return e[n][a]&&(e[n][a]=null),e[n][a]?c=e[n][a]:r[n]?(a===r[n].format?e[n][a]=r[n]:(e[n].xml||(e[n].xml="xml"===r[n].format?r[n]:C[r[n].format].encode(r[n].data,this,c.dataConfiguration)),e[n][a]||(e[n][a]=l.decode(e[n].xml.data,this,c.dataConfiguration))),c=e[n][a]):c={error:Error("Data not defined")},!0===Boolean(d)?c:c.data},dataReady:function(a){return a?this.__state.dataAvailable:this.__state.dataReady}});k.extend(k.core,{transcodeData:function(a,
d,c,e,l){if(d&&"function"===typeof d.toString&&c&&"function"===typeof c.toString&&void 0!==C[c=c.toString().toLowerCase()]&&void 0!==C[d=d.toString().toLowerCase()])return a=C[d].encode(a,this,l),d=C[c].decode(a.data,this,l,d),d.error instanceof Error||(d.error=a.error),e?d:d.data;k.raiseError(this,"14090217","param",".transcodeData()",Error("Unrecognized data-format specified during transcoding."))}},!1);k.getRenderer&&!k.getRenderer("flash")||k.addEventListener("DataLoadRequested",function(a){var d=
a.sender;d.options&&"flash"===d.options.renderer&&d.options.useLegacyXMLTransport&&a.preventDefault()});k.addEventListener("beforeInitialize",function(c){c=c.sender;var d=c.options,n=d.dataSource,q=k.renderer&&k.renderer.getRenderer(d.renderer);delete r[c.id];e[c.id]={};if(void 0!==n&&null!==n){c.__state.dataSetDuringConstruction=!0;if("string"!==typeof d.dataFormat)switch(typeof n){case "function":n=d.dataSource=n.call(c,d.dataConfiguration);d.dataFormat="JSON";break;case "string":d.dataFormat=/^\s*?\{[\s\S]*\}\s*?$/g.test(c.options.dataFormat)?
"JSON":"XML";break;case "object":d.dataFormat="JSON"}d.dataFormat&&d.dataFormat.toString&&(c.__state.dataFetchDuringConstruction=a.test(d.dataFormat.toString()));c.setChartData(n,d.dataFormat,void 0,void 0,!0)}else q&&(c.__state.dataSetDuringConstruction=!1,k.raiseWarning(c,"1810131922A","param",":dataHandler~event:beforeInitialize","Data source was not defined during construction, hence set to blank renderer default - "+q.dataFormat),c.setChartData("",q.dataFormat,void 0,void 0,!0),c.__state.dataAvailable=
!1)});k.addEventListener("beforeDispose",function(a){var d=a.sender;delete r[a.sender.id];delete e[a.sender.id];d&&d.__state&&d.__state.dhmXhrObj&&d.__state.dhmXhrObj.abort()});k.addEventListener("disposed",function(a){delete e[a.sender.id]});k.addEventListener("loaded",function(a){a=a.sender;var d=a.__state.updatePending;a instanceof k.core&&void 0!==d&&(delete a.__state.updatePending,k.renderer.update(a,d))});k.addEventListener("dataUpdated",function(a,d){var c=a.sender,e=c.__state;e.rendering&&
(e.dataFetchDuringConstruction||e.updatePending)&&(delete e.dataFetchDuringConstruction,delete e.updatePending,k.renderer.update(c,d))});k.addEventListener(["dataLoadError","dataInvalid"],function(a){a.sender.__state.dataAvailable=!1});k.addEventListener("loaded",function(a){a=a.sender;var d=a.__state,c,e,l;l=function(a,d){return function(c){return!1===c?d.apply(this):this.ref.getUpdatedXMLData?k.core.transcodeData(this.ref.getUpdatedXMLData(),"xml",a):this.getData?this.getData(a):d.apply(this)}};
if(a.chartType&&M[a.chartType()]&&M[a.chartType()][0]){for(c in k.transcoders)e=k.transcoders[c].name,e="get"+e+"Data",a[e]=l(c,a.constructor.prototype[e]),a[e]._dynamicdatarouter=!0;d.dynamicDataRoutingEnabled=!0}else if(d.dynamicDataRoutingEnabled){for(c in k.transcoders)e=k.transcoders[c].name,e="get"+e+"Data",a.hasOwnProperty(e)&&a[e]._dynamicdatarouter&&delete a[e];d.dynamicDataRoutingEnabled=!1}})}]);"object"!==typeof JSON&&(JSON={});
(function(){function k(a){return 10>a?"0"+a:a}function m(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var e=J[a];return"string"===typeof e?e:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function C(e,k){var J,q,t,c,p=a,d,B=k[e];B&&"object"===typeof B&&"function"===typeof B.toJSON&&(B=B.toJSON(e));"function"===typeof I&&(B=I.call(k,e,B));switch(typeof B){case "string":return m(B);case "number":return isFinite(B)?String(B):"null";case "boolean":case "null":return String(B);
case "object":if(!B)return"null";a+=M;d=[];if("[object Array]"===Object.prototype.toString.apply(B)){c=B.length;for(J=0;J<c;J+=1)d[J]=C(J,B)||"null";t=0===d.length?"[]":a?"[\n"+a+d.join(",\n"+a)+"\n"+p+"]":"["+d.join(",")+"]";a=p;return t}if(I&&"object"===typeof I)for(c=I.length,J=0;J<c;J+=1)"string"===typeof I[J]&&(q=I[J],(t=C(q,B))&&d.push(m(q)+(a?": ":":")+t));else for(q in B)Object.prototype.hasOwnProperty.call(B,q)&&(t=C(q,B))&&d.push(m(q)+(a?": ":":")+t);t=0===d.length?"{}":a?"{\n"+a+d.join(",\n"+
a)+"\n"+p+"}":"{"+d.join(",")+"}";a=p;return t}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+k(this.getUTCMonth()+1)+"-"+k(this.getUTCDate())+"T"+k(this.getUTCHours())+":"+k(this.getUTCMinutes())+":"+k(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var r=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,a,M,J={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},I;"function"!==typeof JSON.stringify&&(JSON.stringify=function(e,k,m){var q;M=a="";if("number"===typeof m)for(q=0;q<m;q+=1)M+=" ";else"string"===typeof m&&(M=m);if((I=k)&&"function"!==typeof k&&("object"!==typeof k||"number"!==typeof k.length))throw Error("JSON.stringify");return C("",{"":e})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,e){function k(a,c){var p,d,n=a[c];if(n&&"object"===typeof n)for(p in n)Object.prototype.hasOwnProperty.call(n,p)&&(d=k(n,p),void 0!==d?n[p]=d:delete n[p]);return e.call(a,c,n)}var q;a=String(a);r.lastIndex=0;r.test(a)&&(a=a.replace(r,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return q=eval("("+a+")"),"function"===typeof e?k({"":q},""):q;throw new SyntaxError("JSON.parse");})})();
FusionCharts.register("module",["private","modules.data.json",function(){var k=this,m=k.window,C=m.document,r=k.xssEncode,e,a,M=function(a){var e,n;for(e in a)a.hasOwnProperty(e)&&(n=e.toLowerCase(),e!==n&&(a[n]=a[e],delete a[e]),"object"===typeof a[n]&&"data"!==n&&M(a[n]))};void 0===m.JSON&&k.raiseError(this,"1113062012","run","JSONDataHandler",Error("Could not find library support for JSON parsing."));k.policies.options.allowIESafeXMLParsing=["_allowIESafeXMLParsing",!0];e=function(){var a={set:!0,
trendlines:!0,vtrendlines:!0,line:{trendlines:!0,vtrendlines:!0},data:!0,dataset:!0,lineset:!0,categories:!0,category:!0,tasks:!0,linkeddata:!0,application:!0,definition:!0,axis:!0,connectors:!0,connector:{connectors:!0},trendset:!0,row:{rows:!0},column:{columns:!0},label:{labels:!0},color:{colorrange:!0},dial:{dials:!0},pointer:{pointers:!0},point:{trendpoints:!0},process:{processes:!0},task:{tasks:!0},milestone:{milestones:!0},datacolumn:{datatable:!0},text:{datacolumn:!0},item:{legend:!0},alert:{alerts:!0},
groups:{annotations:!0},items:{groups:!0,data:!0},shapes:!0,shape:{shapes:!0},entitydef:!0,entity:{entitydef:!0}},e={chart:"linkedchart",map:"linkedmap",set:"data",vline:{chart:"data",graph:"data",dataset:"data",categories:"category",linkedchart:"data"},apply:{application:"application"},style:{definition:"definition"},marker:{application:"application",definition:"definition",data:"items"},entity:{entitydef:"entitydef",data:"data"},shape:{shapes:"shapes"},connector:{connectors:{chart:"connector",linkedchart:"connector",
map:"connectors",linkedmap:"connectors"}},annotationgroup:{annotations:"groups"},annotation:{groups:"items"}},n={vline:{vline:"true"}},z={chart:!0,map:!0,graph:!0},M={dataset:"data",categories:"category"},q={target:"target",value:"value"},t={styles:{definition:!0,application:!0},chart:{value:!0,target:!0},graph:{value:!0,target:!0},linkedchart:{value:!0,target:!0},markers:{definition:!0,application:!0,shapes:!0,connectors:!0,data:!0},map:{entitydef:!0,data:!0},linkedmap:{entitydef:!0,data:!0}},c,
p,d;c={append:function(d,c,l,e){!a[l]||!0!==a[l]&&!0!==a[l][e]?c[l]=d:(c[l]instanceof Array||(c[l]=[]),c[l].push(d))},child:function(a,d,l,w){var p,F,m,D,J,P;for(p=0;p<d.length;p+=1)switch(m=d[p],F=m.nodeName.toLowerCase(),m.nodeType){case 1:D=c.attr(m.attributes);P=z[F];!0===P&&(J=D,D={},D[F]=J);P=n[F];"object"===typeof P&&k.extend(D,P);if(P=e[F])if("object"===typeof P&&"object"===typeof P[l])for(J in J=void 0,P[l]){if(w[J]){F=P[l][J];break}}else"object"===typeof P&&"string"===typeof P[l]?F=P[l]:
"string"===typeof P&&(F=P);m.childNodes.length&&((P=t[l])&&P[F]?c.child(a,m.childNodes,F,w):c.child(D,m.childNodes,F,w));(P=t[l])&&P[F]||c.append(D,a,F,l);break;case 3:if(P=q[l])F=P,D=m.data,c.append(D,a,F,l);P=M[l];"string"===typeof P&&w.chart&&parseInt(w.chart.compactdatamode,10)&&(F=P,D=m.data,a[F]=a[F]?a[F]+D:D)}},attr:function(a){var c,l={};if(!a||!a.length)return l;for(c=0;c<a.length;c+=1)"xml"===d&&(a[c].value?a[c].value=a[c].value.replace(/</g,"&lt;").replace(/>/g,"&gt;"):a[c].nodeValue&&
(a[c].nodeValue=a[c].nodeValue.replace(/</g,"&lt;").replace(/>/g,"&gt;"))),l[a[c].nodeName.toLowerCase()]=a[c].value||a[c].nodeValue;return l}};p=function(a){var d={},l,e,n,F,q,D,t,z,J;if("object"!==typeof a&&a&&"function"!==typeof a.toString)return p.errorObject=new TypeError("xml2json.parse()"),d;a=a.toString().replace(/<\!--[\s\S]*?--\x3e/g,"").replace(/<\?xml[\s\S]*?\?>/ig,"").replace(/&(?!([^;\n\r]+?;))/g,"&amp;$1");a=a.replace(/^\s\s*/,"");for(var M=/\s/,I=a.length;M.test(a.charAt(--I)););a=
a.slice(0,I+1);if(!a)return d;try{m.DOMParser?l=(new m.DOMParser).parseFromString(a,"text/xml"):C.body&&k.core.options.allowIESafeXMLParsing?(e=C.createElement("xml"),e.innerHTML=a,C.body.appendChild(e),l=e.XMLDocument,C.body.removeChild(e)):(l=new m.ActiveXObject("Microsoft.XMLDOM"),l.async="false",l.loadXML(a));if(!(l&&l.childNodes&&1===l.childNodes.length&&(n=l.childNodes[0])&&n.nodeName&&(F=n.nodeName.toLowerCase()))||"chart"!==F&&"map"!==F&&"graph"!==F)return p.errorObject=new TypeError("xml2json.parse()"),
d;if("graph"===F){q=l.createElement("chart");for(J=(t=n.attributes)&&t.length||0;J--;)q.setAttribute(t[J].name,t[J].value),t.removeNamedItem(t[J].name);if(J=(z=n.childNodes)&&z.length||0)--J,D=n.removeChild(z[J]),q.appendChild(D);for(;J--;)D=n.removeChild(z[J]),q.insertBefore(D,q.firstChild);l.replaceChild(q,n);n=q}}catch(G){p.errorObject=G}n?(n.attributes&&(d[F]=c.attr(n.attributes)),n.childNodes&&c.child(d,n.childNodes,F,d),delete p.errorObject):p.errorObject=new TypeError("xml2json.parse()");return d};
return function(a){delete p.errorObject;d=arguments[arguments.length-1];return{data:p(a),error:p.errorObject}}}();a=function(){var a,e;a={items:{explode:{data:"set",groups:{annotations:"annotationgroup"},items:{groups:"annotation"}},text:{chart:{target:"target",value:"value"},graph:{target:"target",value:"value"}},dsv:{dataset:{data:"dataset"},categories:{category:"categories"}},attr:{chart:{chart:"chart"},graph:{graph:"graph"},map:{map:"map"},linkedmap:{map:"map"},linkedchart:{chart:"chart"}},group:{styles:{definition:"style",
application:"apply"},map:{data:"entity",entitydef:"entity"},markers:{definition:"marker",application:"marker",shapes:"shape",connectors:"connector",items:"marker"}},tag:{markers:{items:"data"}}},qualify:function(a,e,k){return"object"===typeof this.items[a][k]?this.items[a][k][e]:this.items[a][k]}};e=function(n,k,m,q){var t="",c="",p="",d="",B,M,l;k&&"function"===typeof k.toLowerCase&&(k=k.toLowerCase());if(void 0===m&&n[k])for(B in n[k])M=B.toLowerCase(),"compactdatamode"===M&&(q.applyDSV=1==n[k][B]);
if(n instanceof Array)for(B=0;B<n.length;B+=1)p="string"===typeof n[B]?p+r(n[B]):p+e(n[B],k,m,q);else{for(B in n)M=B.toLowerCase().replace(/[`~!@#$%^&*()|+\=?;:'", <>\{\}\[\]\\\/]/gi,""),n[B]instanceof Array&&(l=a.qualify("group",M,k))?(p=a.qualify("tag",M,k)||M,c+="<"+p+">"+e(n[B],l,k,q)+"</"+p+">"):"object"===typeof n[B]?(l=a.qualify("attr",M,k))?(d=e(n[B],l,k,q).replace(/\s*\/\>/ig,""),k=M):c+=e(n[B],M,k,q):q.applyDSV&&(l=a.qualify("dsv",M,k))?c+=n[B]:(l=a.qualify("text",M,k))?(p=a.qualify("tag",
M,k)||l,c+="<"+p+">"+n[B]+"</"+p+">"):"vline"===M&&Boolean(n[B])?k="vline":t+=" "+M+'="'+r(n[B]).toString().replace(/\"/ig,"&quot;")+'"';if(l=a.qualify("explode",m,k))k=l;p=k;p=(""!==d?d:"<"+p)+t+(""!==c?">"+c+"</"+p+">":" />")}return p};return function(a){delete e.errorObject;if(a&&"string"===typeof a)try{a=JSON.parse(a)}catch(k){e.errorObject=k}return{data:e(a,a&&a.graph?"graph":a&&a.map?"map":"chart",void 0,{}),error:e.errorObject}}}();k.addDataHandler("JSON",{encode:a,decode:e,passthrough:function(a,
e,n){e={data:{}};n=!!/zoomscatter/ig.test(n);if(!a)return e;if("string"!==typeof a)try{a=JSON.stringify(a)}catch(k){return e.error=k,e}try{n?(e.data=JSON.parse(a),M(e.data)):e.data=JSON.parse(a.replace(/"([^"]+)"[\s]*:/g,function(a,e){return'"'+e.toLowerCase()+'":'}))}catch(m){console.log(m),e.error=m}return e},transportable:!0})}]);FusionCharts.register("module",["private","modules.data.xml",function(){var k=function(k){return{data:k,error:void 0}};this.addDataHandler("XML",{encode:k,decode:k,transportable:!0})}]);
FusionCharts.register("module",["private","modules.data.csv",function(){var k=this,m=k.window,C=k.core,r=m.parseInt,e=m.parseFloat,a=function(a){return a},M;M=function(a){this.data=[];this.columnCount=this.rowCount=0;this.configure(a)};M.decodeLiterals=function(a,e){return void 0!==a&&null!==a&&a.toString?a.replace("{tab}","\t").replace("{quot}",'"').replace("{apos}","'"):e};M.prototype.set=function(a,e,n){var k;if(this.rowCount<=a){for(k=this.rowCount;k<=a;k+=1)this.data[k]=[];this.rowCount=a+1}this.columnCount<=
e&&(this.columnCount=e+1);this.data[a][e]=n};M.prototype.setRow=function(a,e){var n;if(this.rowCount<=a){for(n=this.rowCount;n<=a;n+=1)this.data[n]=[];this.rowCount=a+1}this.columnCount<e.length&&(this.columnCount=e.length);this.data[a]=e};M.prototype.get=function(a,e){var n=this.data;return n[a]&&n[a][e]};M.prototype.configure=function(a){var e=M.decodeLiterals;this.delimiter=e(a.delimiter,",");this.qualifier=e(a.qualifier,'"');this.eolCharacter=e(a.eolCharacter,"\r\n");this.numberFormatted=!!r(a.numberFormatted,
0)};M.prototype.clear=function(){this.data=[];this.columnCount=this.rowCount=0};M.prototype.toString=function(){var a,e,n="";for(a=0;a<this.rowCount;a+=1)e=this.qualifier+this.data[a].join(this.qualifier+this.delimiter+this.qualifier)+this.qualifier,n+='""'===e?this.eolCharacter:e+this.eolCharacter;0<this.rowCount&&(n=n.slice(0,n.length-2));return n};k.addDataHandler("CSV",{encode:function(a,e){k.raiseError(e,"0604111215","run","::CSVDataHandler.encode()","FusionCharts CSV data-handler only supports encoding of data.");
throw Error("FeatureNotSupportedException()");},decode:function(k,m){var n=C.transcodeData(k,"xml","json")||{},z=m.jsVars,G=z&&z.instanceAPI,q=G&&G.components,t,c,p,d,B,r,l=n.chart||n.map||n.graph||{},w=Boolean(l.exporterrorcolumns||0),H=n.categories&&n.categories[0]&&n.categories[0].category||[],F=n.map&&!n.chart||z&&z.instanceAPI&&"geo"===z.instanceAPI.defaultSeriesType,T=!1,D=!1,V=!1,P=!1;p=!1;var fa=a,$={},ba,ia,ea,X,ca,ga,da,Z,Ja,R,ua;c=0;var Ha=-1;t=new M({separator:l.exportdataseparator,qualifier:l.exportdataqualifier,
numberFormatted:l.exportdataformattedval});C.formatNumber&&t.numberFormatted&&(fa=function(a){return C.formatNumber(a,l)});if(F)for(R in $.geo=!0,H=(z=q&&z.instanceAPI.components.dataset&&z.instanceAPI.components.dataset[0])&&z.components.data||[],t.setRow(0,["Id"," Short Name","Long Name","Value","Formatted Value"]),z=0,H)D=H[R],ua=D.config,c=ua.cleanValue,!0!==D.hidden&&t.setRow(++z,[R,ua.shortLabel,ua.label,null===c?"":c,ua.formattedValue]);else if(void 0!==(ba=n.dials&&n.dials.dial||n.pointers&&
n.pointers.pointer||n.value))if($.gauge=!0,"string"===typeof ba)t.set(0,0,fa(ba)),$.singlevalue=!0,"string"===typeof n.target&&(t.set(0,1,fa(n.target)),$.bullet=!0);else for(t.setRow(0,["Id","Value"]),$.multivalue=!0,z=0,r=1,B=ba.length;z<B;z+=1,r+=1)t.setRow(r,[r,fa(ba[z].value)]);else if(ba=n.dataset||!(n.data instanceof Array)&&[]){$.multiseries=!0;p=1;if(ia=n.lineset)ba=ba.concat(ia),$.lineset=!0;if(ea=n.axis)ba=ba.concat(ea),$.multiaxis=!0;R=G.defaultDatasetType&&G.defaultDatasetType.toLowerCase();
"dragnode"!==R&&"dragcolumn"!==R&&"dragline"!==R&&"dragarea"!==R||!G.getJSONData||(ba=G.getJSONData().dataset);ga=ba.length;ca=H.length;if(!(ga=ba.length)){for(z=0;z<ca;z+=1)da=H[z],t.set(z+1,0,da.label||da.name);$.multilevel=!0}for(z=0;z<ga;z+=1)for(Z=ba,Z[z].dataset?(Z=Z[z].dataset,d=0,X=Z.length):(Z=ba,d=z,X=d+1);d<X&&!T&&!V;d+=1)if(F=Z[d],Ha++,!(q&&q.dataset&&q.dataset[Ha]&&!1===q.dataset[Ha].visible)){t.set(0,p,F.seriesname);"string"===typeof F.data&&($.compactdata=!0,F.data=F.data.split(l.dataseparator||
"|"));r=B=0;for(Ja=F.data&&F.data.length||0;B<Ja||B<ca;B+=1){da=H[B];c=r+1;R=F.data&&F.data[r]||{};if(void 0!==R.x&&void 0!==R.y){T=$.xy=!0;break}if(void 0!==R.open||void 0!==R.high||void 0!==R.close||void 0!==R.low){P=$.ohlc=!0;break}if(void 0!==R.rowid&&void 0!==R.columnid){V=$.heatmap=!0;break}if(B<ca&&!da.vline){t.set(c,0,da.label||da.name);da=e(R?R.value:"");da=isNaN(da)?"":fa(da);t.set(c,p,da);if(D||w||R.errorvalue)D||t.set(0,p+1,"Error"),ua=1,t.set(c,p+1,fa(R.errorvalue));r+=1}}ua&&(p+=ua,
ua=0);p+=1}ia&&(ba=ba.slice(0,-ia.length));ea&&(ba=ba.slice(0,-ea.length))}else if(ba=n.data){t.set(0,1,l.yaxisname||"Value");$.singleseries=!0;p="1"==l.showsumatend;z=0;for(ca=ba.length;z<ca;z+=1)R=ba[z],R.vline||(da=e(R.value?R.value:""),t.setRow(z+1,[R.label||R.name,isNaN(da)?"":(c+=da,fa(da))]));p&&($.summation=!0,t.setRow(z+1,[l.sumlabel||"Total",fa(c)]))}if(P)for(t.clear(),t.setRow(0,["Open","Close","High","Low"]),z=0,c=1,ba=n.dataset,X=ba.length;z<X;z+=1)for(B=0,F=ba[z]&&ba[z].data||[],ga=
F.length;B<ga;B+=1,c+=1)R=F[B]||{},t.setRow(B+1,[fa(R.open),fa(R.close),fa(R.high),fa(R.low)]);else if(T)for(t.clear(),D=!1,ua=0,t.setRow(0,["Series","x","y"]),z=0,c=1,ba=n.dataset,X=ba.length;z<X;z+=1){if(!(q&&q.dataset&&q.dataset[z]&&!1===q.dataset[z].visible))for(R=G.defaultDatasetType&&G.defaultDatasetType.toLowerCase(),"dragnode"===R&&G.getJSONData&&(ba=G.getJSONData().dataset),B=0,F=ba[z]&&ba[z].data||[],ga=F.length;B<ga;B+=1,c+=1){R=F[B]||{};da=[ba[z].seriesname,fa(R.x),fa(R.y)];void 0!==R.z&&
(da.push(fa(R.z)),ua||(t.set(0,3,"z"),ua=1));if(D||w||void 0!==R.errorvalue||void 0!==R.horizontalerrorvalue||void 0!==R.verticalerrorvalue)n=fa(R.errorvalue),da.push(R.errorvalue,void 0===R.horizontalerrorvalue?n:fa(R.horizontalerrorvalue),void 0===R.verticalerrorvalue?n:fa(R.verticalerrorvalue)),D||(t.set(0,ua+3,"Error"),t.set(0,ua+4,"Horizontal Error"),t.set(0,ua+5,"Vertical Error")),D=$.error=!0;t.setRow(c,da)}}else if(V){t.clear();w={};T={};z=0;B=1;H=n.rows&&n.rows.row||[];for(G=H.length;z<G;z+=
1,B+=1)da=H[z],da.id&&(w[da.id.toLowerCase()]=B,t.set(B,0,da.label||da.id));z=0;B=1;H=n.columns&&n.columns.column||[];for(G=H.length;z<G;z+=1,B+=1)da=H[z],da.id&&(T[da.id.toLowerCase()]=B,t.set(0,B,da.label||da.id));F=n.dataset&&n.dataset[0]&&n.dataset[0].data||[];q=q&&q.dataset&&q.dataset[0]&&q.dataset[0].components&&q.dataset[0].components.data||[];z=0;for(G=F.length;z<G;z+=1)R=F[z],c=R.rowid.toLowerCase(),p=R.columnid.toLowerCase(),q[z]&&!1===q[z].visible||(w[c]||(w[c]=t.rowCount,t.set(t.rowCount,
0,R.rowid)),T[p]||(T[p]=t.columnCount,t.set(0,t.columnCount,R.columnid)),t.set(w[c],T[p],fa(R.value)))}ba=H=ia=ea=null;0<t.rowCount&&void 0===t.get(0,0)&&t.set(0,0,l.xaxisname||"Label");return{data:t.toString(),error:void 0,predictedFormat:$}},transportable:!1});C.addEventListener("Loaded",function(a){a=a.sender;"javascript"!==a.options.renderer||a.getDataAsCSV||(a.getDataAsCSV=a.ref.getDataAsCSV=a.getCSVData)})}]);
FusionCharts.register("module",["private","modules.renderer.js",function(){var k=this,m=k.window,C=m.document,r=k.core.options,e=/msie/i.test(m.navigator.userAgent)&&!m.opera,a=Boolean(m.SVGAngle||C.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),M=function(){},J=k.hcLib={cmdQueue:[]},I=J.moduleCmdQueue={base:[],charts:[],powercharts:[],widgets:[],maps:[]},n=J.moduleDependencies={},z=J.moduleMeta={base:"fusioncharts.js",charts:"fusioncharts.charts.js",powercharts:"fusioncharts.powercharts.js",
widgets:"fusioncharts.widgets.js",maps:"fusioncharts.maps.js"},G={},q=J.getMetaSentence=function(){var a={};return function(d){d=d&&d.replace(/(^\s*)|(\s*$)/g,"")||"";return a[d]||(a[d]={key:d,subject:d.replace(/[^\/]*?$/ig,""),predicate:d.replace(/^.*\//ig,"")})}}(),t=J.getDependentModuleName=function(a){var d=[],c,l;a=q(a).predicate;for(c in n)void 0!==(l=n[c][a])&&(d[l]=c);return d},c=J.hasModule=function(a){var d,c;if(a instanceof Array){d=0;for(c=a.length;d<c;d+=1)if(!Boolean(k.modules["modules.renderer.js-"+
q(a[d]).predicate]))return!1;return!0}return Boolean(k.modules["modules.renderer.js-"+q(a).predicate])},p=J.loadModule=function(a,d,l,e){a instanceof Array||(a=[a]);var p=a.length,n=0,q;q=function(){if(n>=p)d&&d();else{var t=a[n],B=t&&t.match(/[^\/]*$/i)[0],m=z[t];n+=1;if(t){if(c(B)){q();return}if(G[B]){k.raiseError(e||k.core,"1112201445A","run","JavaScriptRenderer~loadModule() ","required resources are absent or blocked from loading.");l&&l(B);return}}else l&&l(B);t=k.core.options["html5"+k.capitalizeString(B)+
"Src"];k.loadScript(void 0===t?m:t,{success:function(){c(B)?q():l&&l(B)},failure:l&&function(){l(B)}},void 0,!0)}};q()},d=J.executeWaitingCommands=function(a){for(var d;d=a.shift();)"object"===typeof d&&M[d.cmd].apply(d.obj,d.args)},B=function(a){delete a.sender.jsVars._reflowData;a.sender.jsVars._reflowData={};delete a.sender.jsVars._reflowClean},Q=function(){var a=function(){};a.prototype={LoadDataErrorText:"Error in loading data.",XMLLoadingText:"Retrieving data. Please wait",InvalidXMLText:"Invalid data.",
ChartNoDataText:"No data to display.",ReadingDataText:"Reading data. Please wait",ChartNotSupported:"Chart type not supported.",PBarLoadingText:"",LoadingText:"Loading chart. Please wait",RenderChartErrorText:"Unable to render chart."};return a.prototype.constructor=a}(),l=J.getContainerBackgroundColor=function(d){d=d.chartInstance;var c=d.options,l=c.containerBackgroundColor,c=c.containerBackgroundOpacity,p=d.jsVars.transparent;void 0!==p&&null!==p?c=d.jsVars.transparent?0:1:(c=parseFloat(c),0>c?
c=0:1<c&&(c=1));l||(l="#ffffff");if(e&&!a)return c?l:"transparent";l=l.replace(/^#?([a-f0-9]+)/ig,"$1");l=J.graphics.HEXtoRGB(l);l[3]=c.toString();return"rgba("+l.join(",")+")"};J.injectModuleDependency=function(a,d,c){var l=!1,e=q(a).subject;a=q(a).predicate;d=void 0===d?a:q(d).predicate;n[a]||(n[a]={},I[a]||(I[a]=[],J.moduleMeta[a]=e+r.html5ScriptNamePrefix+(d&&d.replace&&d.replace(/^[\s\S]*\//ig,"").replace(/\?/g,"%3F").replace(/\#/g,"%23").replace(/\:/g,"%3A")||"")+r.html5ScriptNameSuffix),l=
!0);n[a][d]=c||0;return l};J.needsModule=function(a,d){a=q(a).predicate;d=q(d).predicate;return void 0!==(J.moduleDependencies[a]&&J.moduleDependencies[a][d])};J.cleanupWaitingCommands=function(a){for(var d=a.chartType(),d=t(d),c,l=[],e;c=d.shift();){for(c=I[c]||[];e=c.shift();)"object"===typeof e&&e.obj!==a&&l.push(e);c.concat(l);l=[]}};k.extend(k.core.options,{html5ScriptNameSuffix:".js",html5ScriptNamePrefix:"fusioncharts."});k.extend(M,{dataFormat:"json",ready:!1,policies:{jsVars:{},options:{showChartLoadingMessage:["showChartLoadingMessage",
!0]}},init:function(){c("base")?M.ready=!0:p("base",function(){M.ready=!0;d(J.cmdQueue)},void 0,k.core)},render:function(a){var d=a,c=this.jsVars.msgStore;d&&this.options.showChartLoadingMessage&&(d.innerHTML='<small style="display: inline-block; *zoom:1; *display:inline; width: 100%; font-family: Verdana,sans; font-size: 10px; color: #666666; text-align: center; padding-top: '+(parseInt(d.style.height,10)/2-5)+'px">'+(c.PBarLoadingText||c.LoadingText)+"</small>",d.style.backgroundColor=l(this));
J.cmdQueue.push({cmd:"render",obj:this,args:arguments})},update:function(){J.cmdQueue.push({cmd:"update",obj:this,args:arguments})},resize:function(){J.cmdQueue.push({cmd:"resize",obj:this,args:arguments})},dispose:function(){var a=J.cmdQueue,d,c;d=0;for(c=a.length;d<c;d+=1)a[d].obj===this&&(a.splice(d,1),--c,--d)},load:function(){J.cmdQueue.push({cmd:"load",obj:this,args:arguments})},config:function(a,d){var c,l=this.jsVars,e=l.msgStore,l=l.cfgStore,p=this.options,n;n={LoadingText:"loadMessage",
ChartNotSupported:"typeNotSupportedMessage",RenderChartErrorText:"renderErrorMessage",XMLLoadingText:"dataLoadStartMessage",ChartNoDataText:"dataEmptyMessage",LoadDataErrorText:"dataLoadErrorMessage",InvalidXMLText:"dataInvalidMessage"};"string"===typeof a&&1<arguments.length&&(c=a,a={},a[c]=d);for(c in a)void 0!==e[c]?e[c]=a[c]:l[c.toLowerCase()]=a[c],n[c]?p[n[c]]=a[c]:p[c]=a[c]},protectedMethods:{},events:{beforeInitialize:function(a){var d=a.sender;a=d.jsVars;var c;a.fcObj=d;a.msgStore=a.msgStore||
new Q;a.cfgStore=a.cfgStore||{};a.previousDrawCount=-1;a.drawCount=0;a._reflowData={};d.addEventListener("beforeRender",function(a){a.sender.jsVars.smartLabel=new J.SmartLabelManager(d.id,C.body||C.getElementsByTagName("body")[0]);a.detachHandler()});a.userModules instanceof Array||(c=a.userModules,a.userModules=[],"string"===typeof c&&(a.userModules=a.userModules.concat(c.split(","))));J.chartAPI&&J.chartAPI[void 0]||(a.needsLoaderCall=!0)},initialized:function(a){a=a.sender;var d=a.jsVars;d.needsLoaderCall&&
(delete d.needsLoaderCall,M.load.call(a))},beforeDataUpdate:B,beforeDispose:function(a){var d=a.sender.jsVars;d.smartLabel&&!d.smartLabel.disposed&&d.smartLabel.dispose();B.apply(this,arguments)},beforeRender:function(a){var d=a.sender.jsVars;delete d.drLoadAttempted;delete d.waitingModule;delete d.waitingModuleError;B.apply(this,arguments)},dataLoadRequested:function(a){a=a.sender;var d=a.jsVars;delete d.loadError;a.ref&&a.options.showDataLoadingMessage?d.hcObj&&!d.hasNativeMessage&&d.hcObj.showLoading?
d.hcObj.showMessage(d.msgStore.XMLLoadingText):a.ref.showChartMessage?a.ref.showChartMessage("XMLLoadingText"):d.stallLoad=!0:d.stallLoad=!0},dataLoadRequestCompleted:function(a){delete a.sender.jsVars.stallLoad},dataLoadError:function(a){var d=a.sender,c=d.jsVars,l=d.args,e=d.options;delete c.stallLoad;c.loadError=!0;d._chartMessageImageStyle={imageHAlign:l.dataLoadErrorMessageImageHAlign||e.baseChartMessageImageHAlign,imageVAlign:l.dataLoadErrorMessageImageVAlign||e.baseChartMessageImageVAlign,
imageAlpha:l.dataLoadErrorMessageImageAlpha||e.baseChartMessageImageAlpha,imageScale:l.dataLoadErrorMessageImageScale||e.baseChartMessageImageScale};d._chartMessageStyle={color:l.dataLoadErrorMessageColor||e.baseChartMessageColor,fontFamily:l.dataLoadErrorMessageFont||e.baseChartMessageFont,fontSize:l.dataLoadErrorMessageFontSize||e.baseChartMessageFontSize};d.apiInstance.setChartMessage&&(d.apiInstance.setChartMessage(e.dataLoadErrorMessage,d),d.apiInstance.drawChartMessage());d.__state.dataFetchDuringConstruction&&
delete d.__state.dataFetchDuringConstruction;B.apply(this,arguments)}},_call:function(a,d,c){a.apply(c||m,d||[])}});k.extend(M.prototype,{getSWFHTML:function(){k.raiseWarning(this,"11090611381","run","JavaScriptRenderer~getSWFHTML()","getSWFHTML() is not supported for JavaScript charts.")},addVariable:function(){k.raiseWarning(this,"11090611381","run","JavaScriptRenderer~addVariable()",'Use of deprecated "addVariable()". Replace with "configure()".');k.core.prototype.configure.apply(this,arguments)},
getXML:function(){k.raiseWarning(this,"11171116291","run","JavaScriptRenderer~getXML()",'Use of deprecated "getXML()". Replace with "getXMLData()".');return this.getXMLData.apply(this,arguments)},setDataXML:function(){k.raiseWarning(this,"11171116292","run","JavaScriptRenderer~setDataXML()",'Use of deprecated "setDataXML()". Replace with "setXMLData()".');return this.setXMLData.apply(this,arguments)},setDataURL:function(){k.raiseWarning(this,"11171116293","run","JavaScriptRenderer~setDataURL()",'Use of deprecated "SetDataURL()". Replace with "setXMLUrl()".');
return this.setXMLUrl.apply(this,arguments)},hasRendered:function(){return!(!this.jsVars.hcObj||!this.jsVars.hcObj.hasRendered)},setTransparent:function(a){var d;if(d=this.jsVars)"boolean"!==typeof a&&null!==a&&(a=!0),d.transparent=null===a?!1:!0===a?!0:!1}});k.extend(k.core,{_fallbackJSChartWhenNoFlash:function(){m.swfobject.hasFlashPlayerVersion(k.core.options.requiredFlashPlayerVersion)||k.renderer.setDefault("javascript")},_enableJSChartsForSelectedBrowsers:function(a){void 0!==a&&null!==a&&k.renderer.setDefault((new RegExp(a)).test(m.navigator.userAgent)?
"javascript":"flash")},_doNotLoadExternalScript:function(a){var d,c;for(d in a)c=d.toLowerCase(),z[c]&&(G[c]=Boolean(a[d]))},_preloadJSChartModule:function(){throw"NotImplemented()";}});k.renderer.register("javascript",M);a||e?k.renderer.setDefault("javascript"):m.swfobject&&m.swfobject.hasFlashPlayerVersion&&!m.swfobject.hasFlashPlayerVersion(k.core.options.requiredFlashPlayerVersion)&&(k.raiseWarning(k.core,"1204111846","run","JSRenderer","Switched to JavaScript as default rendering due to absence of required Flash Player."),
k.renderer.setDefault("javascript"))}]);
FusionCharts.register("module",["private","modules.renderer.polyfill",function(){"function"!=typeof Object.create&&(Object.create=function(){function k(){}var m=Object.prototype.hasOwnProperty;return function(C){var r,e,a;if("object"!=typeof C)throw new TypeError("Object prototype may only be an Object or null");k.prototype=C;a=new k;k.prototype=null;if(1<arguments.length)for(e in r=Object(arguments[1]),r)m.call(r,e)&&(a[e]=r[e]);return a}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(k,
m){var C,r,e;if(null==this)throw new TypeError('"this" is null or not defined');r=Object(this);e=r.length>>>0;if(0===e)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=e)return-1;for(C=Math.max(0<=C?C:e-Math.abs(C),0);C<e;){if(C in r&&r[C]===k)return C;C++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(k,m){var C,r,e,a,M;if(null==this)throw new TypeError(" this is null or not defined");e=Object(this);a=e.length>>>0;if("function"!==typeof k)throw new TypeError(k+" is not a function");
1<arguments.length&&(C=m);for(r=0;r<a;)r in e&&(M=e[r],k.call(C,M,r,e)),r++});Array.prototype.indexOf||(Array.prototype.indexOf=function(k,m){var C;if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),e=r.length>>>0;if(0===e)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=e)return-1;for(C=Math.max(0<=C?C:e-Math.abs(C),0);C<e;){if(C in r&&r[C]===k)return C;C++}return-1});"function"!=typeof Object.create&&(Object.create=function(){function k(){}var m=Object.prototype.hasOwnProperty;
return function(C){var r,e,a;if("object"!=typeof C)throw TypeError("Object prototype may only be an Object or null");k.prototype=C;r=new k;k.prototype=null;if(1<arguments.length)for(a in e=Object(arguments[1]),e)m.call(e,a)&&(r[a]=e[a]);return r}}());Function.prototype.bind||(Function.prototype.bind=function(k){if("function"!==typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var m=Array.prototype.slice.call(arguments,1),C=this,r=function(){},
e=function(){return C.apply(this instanceof r?this:k,m.concat(Array.prototype.slice.call(arguments)))};this.prototype&&(r.prototype=this.prototype);e.prototype=new r;return e});Array.prototype.reduce||(Array.prototype.reduce=function(k){if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!==typeof k)throw new TypeError(k+" is not a function");var m=Object(this),C=m.length>>>0,r=0,e;if(2==arguments.length)e=arguments[1];else{for(;r<C&&!(r in m);)r++;
if(r>=C)throw new TypeError("Reduce of empty array with no initial value");e=m[r++]}for(;r<C;r++)r in m&&(e=k(e,m[r],r,m));return e});Object.keys||(Object.keys=function(){var k=Object.prototype.hasOwnProperty,m=!{toString:null}.propertyIsEnumerable("toString"),C="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),r=C.length;return function(e){if("object"!==typeof e&&("function"!==typeof e||null===e))throw new TypeError("Object.keys called on non-object");
var a=[],M;for(M in e)k.call(e,M)&&a.push(M);if(m)for(M=0;M<r;M++)k.call(e,C[M])&&a.push(C[M]);return a}}())}]);
(function(){var k=window,m=k.document,C={},r={};k.SvgDeCanvo=function(e,a,k,m,I,n,z){var G={svg:"",context:"",callBack:"",imageArr:[],canvas:"",dimention:{}};if(!(this instanceof SvgDeCanvo))throw"This function should be used as class";this._getStore=function(a){return"undefined"!=typeof G[a]?G[a]:!1};this._setStore=function(a,e){"undefined"!=typeof G[a]&&(G[a]=e)};this._setStore("dimention",{x:k,y:m,width:I,height:n});e&&this.setSVG(e);a&&this.setContext(a);z&&this.setCallback(z);this.drawOnCanvas()};
SvgDeCanvo.prototype.setContext=function(e){var a;if(e.getContext&&e.getContext("2d"))a=e.getContext("2d"),this._setStore("canvas",e),this._setStore("context",a);else throw"Please provide valid canvas";};SvgDeCanvo.prototype.getContext=function(){return this._getStore("context")};SvgDeCanvo.prototype.setSVG=function(e){if("undefined"!=typeof e.documentElement)this._setStore("svg",e);else if("<"==e.substr(0,1))e=r.StrToDom(e),this._setStore("svg",e);else throw"Please provide valid SVG";};SvgDeCanvo.prototype.getSVG=
function(){return this._getStore("svg")};SvgDeCanvo.prototype.setCallback=function(e){"function"===typeof e&&this._setStore("callBack",e)};SvgDeCanvo.prototype.getCallback=function(){return this._getStore("callBack")};SvgDeCanvo.prototype.drawOnCanvas=function(e,a,k,m,I,n,z){var G,q,t,c;e&&this.setSVG(e);a&&this.setContext(a);z&&this.setCallback(z);a=a||this._getStore("canvas");t=this._getStore("dimention");z=this.getCallback();G=this.getContext();(e=this.getSVG())&&G&&(c=r.getSvgDimention(e),q=c.width,
a=c.height,k=k||t.x||0,m=m||t.y||0,I=I||t.width||q,n=n||t.height||a,q=c.width?I/q:1,a=c.height?n/a:1,r.startTransform("translate("+k+","+m+") scale("+q+","+a+")",G),G.save(),G.fillStyle="#ffffff",G.fillRect(0,0,I,n),G.restore(),r.storeImagesInArr(this),r.drawNodes([e],[],this,G,function(){"function"===typeof z&&z();r.resetTransform(G)}))};C.common=function(e,a,k,m,I){var n=e.childNodes,z=function(){e.attributes&&m.restore();I&&I()};for(i in a)a.hasOwnProperty(i)&&"class"!=a[i].name&&"id"!=a[i].name&&
"transform"!=a[i].name&&"clip-path"!=a[i].name&&"object"==typeof a[i]&&e.attributes&&!e.attributes[a[i].name]&&e.setAttribute([a[i].name],a[i].value);if(e.attributes&&e.attributes.style)for(i in styleArr=e.attributes.style.value.replace(/;$/,"").split(";"),styleArr)if(styleArr.hasOwnProperty(i)&&(styleName=styleArr[i].split(":")[0].trim(),!e.attributes[styleName]||"undefined"==e.attributes[styleName].value))try{e.setAttribute(styleName,styleArr[i].split(":")[1].trim())}catch(G){}e.attributes&&(m.save(),
e.attributes.transform&&r.startTransform(e.attributes.transform.value,m),e.attributes["clip-path"]&&r.applyClip(e.attributes["clip-path"].value,m,k));if(0==n.length||1==n.length&&!n[0].tagName)if("undefined"!==typeof e.tagName)if(a="draw"+e.tagName,C[a])if(e.attributes.display&&"none"==e.attributes.display.value)z();else C[a](e,m,k,"draw",z);else z();else z();else r.drawNodes(n,"svg"==e.tagName?[]:e.attributes,k,m,z)};C.drawtext=function(e,a,k,m,I){this.drawtspan(e,a,k,m,I)};C.drawtspan=function(e,
a,M,J,I){var n=e.innerHTML||e.textContent,z=e.attributes.x?e.attributes.x.value:0,G=e.attributes.y?e.attributes.y.value:0,q=e.attributes.dx?e.attributes.dx.value:0,t=e.attributes.dy?e.attributes.dy.value:0,c="serief",p="normal",d="16px",B=[],Q;m.getElementsByTagName("body")[0]&&(Q=k.getComputedStyle(m.getElementsByTagName("body")[0],null),Q.getPropertyValue("font-family")&&(c=Q.getPropertyValue("font-family")),Q.getPropertyValue("font-weight")&&(p=Q.getPropertyValue("font-weight")),Q.getPropertyValue("font-size")&&
(d=Q.getPropertyValue("font-size")));c=e.attributes["font-family"]?e.attributes["font-family"].value:c;p=e.attributes["font-weight"]?e.attributes["font-weight"].value:p;Q=e.attributes["text-anchor"]?e.attributes["text-anchor"].value:"start";d=e.attributes["font-size"]?e.attributes["font-size"].value:d;z=Number(z)+Number(q);G=Number(G)+Number(t);n=n.trim();Q="middle"==Q?"center":Q;a.save();a.font=p+" "+d+" "+c;a.textAlign=Q;if("draw"===J){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,
a,M,B),a.fillText(n,z,G),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,M,B),a.strokeText(n,z,G),r.endStrokeEffect(e,a)}a.restore();"function"===typeof I&&I()};C.drawcircle=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),z=Number(e.attributes.cy.value),G=Number(e.attributes.r.value),q=[];a.beginPath();a.arc(n,z,G,0,2*Math.PI);r.bBoxFromPoint([n,1*n+1*G,1*n-1*G],[z,1*z+1*G,1*z-1*G],q);if("draw"===m){if(!e.attributes.fill||
e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,q),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,q),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawrect=function(e,a,k,m,I){var n=Number(e.attributes.x.value),z=Number(e.attributes.y.value),G=e.attributes.rx?Number(e.attributes.rx.value):0,q=e.attributes.ry?Number(e.attributes.ry.value):0,t=Number(e.attributes.height.value),
c=Number(e.attributes.width.value),p=[];r.bBoxFromPoint([n,n+c],[z,z+t],p);a.beginPath();a.moveTo(n+G,z);a.lineTo(n+c-G,z);a.quadraticCurveTo(n+c,z,n+c,z+q);a.lineTo(n+c,z+t-q);a.quadraticCurveTo(n+c,z+t,n+c-G,z+t);a.lineTo(n+G,z+t);a.quadraticCurveTo(n,z+t,n,z+t-q);a.lineTo(n,z+q);a.quadraticCurveTo(n,z,n+G,z);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,p),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&
"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,p),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawellipse=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),z=Number(e.attributes.cy.value),G=Number(e.attributes.rx.value),q=Number(e.attributes.ry.value),t=.5522848*G,c=.5522848*q,p=n+G,d=z+q,B=[];a.beginPath();a.moveTo(n-G,z);a.bezierCurveTo(n-G,z-c,n-t,z-q,n,z-q);a.bezierCurveTo(n+t,z-q,p,z-c,p,z);a.bezierCurveTo(p,z+c,n+t,d,n,d);a.bezierCurveTo(n-
t,d,n-G,z+c,n-G,z);r.bBoxFromPoint([n+G,n-G],[z+q,z-q],B);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,B),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,B),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawimage=function(e,a,k,m,I){var n=e.attributes.x?Number(e.attributes.x.value):0,z=e.attributes.y?Number(e.attributes.y.value):
0,G=e.attributes.height?Number(e.attributes.height.value):0,q=e.attributes.width?Number(e.attributes.width.value):0,t,c=k._getStore("imageArr");a.save();e.attributes.opacity&&(a.globalAlpha=e.attributes.opacity.value);e.attributes["xlink:href"]?(t=e.attributes["xlink:href"].value,"complete"===c[t].status?(a.drawImage(c[t].obj,n,z,q,G),a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"error"===c[t].status?(a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"progress"===c[t].status?(c[t].callback=
function(){a.drawImage(c[t].obj,n,z,q,G);a.globalAlpha=1;a.restore();"function"===typeof I&&I()},c[t].errCallback=function(){a.globalAlpha=1;a.restore();"function"===typeof I&&I()}):(a.globalAlpha=1,a.restore(),"function"===typeof I&&I())):(a.globalAlpha=1,a.restore(),"function"===typeof I&&I())};C.drawpath=function(e,a,k,m,I){var n=e.attributes.d.value.match(/[a-z][^a-z"]*/ig),z=[],G,q,t,c=0,p=0,d;a.beginPath();for(G in n)if(n.hasOwnProperty(G))switch(q=n[G].substring(0,1),t=r.getArgsAsArray(n[G].substring(1,
n[G].length)),q){case "M":c=Number(t[0]);p=Number(t[1]);a.moveTo(c,p);break;case "m":c+=Number(t[0]);p+=Number(t[1]);a.moveTo(c,p);break;case "L":for(d=0;t[d];d+=2)r.bBoxFromPoint([c,t[d]],[p,t[d+1]],z),c=Number(t[d]),p=Number(t[d+1]),a.lineTo(c,p);break;case "l":for(d=0;t[d];d+=2)r.bBoxFromPoint([c,1*c+1*t[d]],[p,1*p+1*t[d+1]],z),c+=Number(t[d]),p+=Number(t[d+1]),a.lineTo(c,p);break;case "V":for(d=0;t[d];d+=1)r.bBoxFromPoint([c],[p,t[d]],z),p=Number(t[d]),a.lineTo(c,p);break;case "v":for(d=0;t[d];d+=
1)r.bBoxFromPoint([c],[p,1*p+1*t[d]],z),p+=Number(t[d]),a.lineTo(c,p);break;case "H":for(d=0;t[d];d+=1)r.bBoxFromPoint([c,t[d]],[p],z),c=Number(t[d]),a.lineTo(c,p);break;case "h":for(d=0;t[d];d+=1)r.bBoxFromPoint([c,1*c+1*t[d]],[p],z),c+=Number(t[d]),a.lineTo(c,p);break;case "Q":for(d=0;t[d];d+=4)r.qBezierBBox(c,p,t[d],t[d+1],t[d+2],t[d+3],z),a.quadraticCurveTo(Number(t[d]),Number(t[d+1]),Number(t[d+2]),Number(t[d+3])),c=Number(t[d+2]),p=Number(t[d+3]);break;case "q":for(d=0;t[d];d+=4)r.qBezierBBox(c,
p,c+1*t[d],p+1*t[d+1],1*c+1*t[d+2],1*p+1*t[d+3],z),a.quadraticCurveTo(c+1*t[d],p+1*t[d+1],c+=Number(t[d+2]),p+=Number(t[d+3]));break;case "C":for(d=0;t[d];d+=6)r.cBezierBBox(c,p,t[d],t[d+1],t[d+2],t[d+3],t[d+4],t[d+5],z),a.bezierCurveTo(t[d],t[d+1],t[d+2],t[d+3],t[d+4],t[d+5]),c=Number(t[d+4]),p=Number(t[d+5]);break;case "c":for(d=0;t[d];d+=6)r.cBezierBBox(c,p,c+1*t[d],1*p+1*t[d+1],c+1*t[d+2],1*p+1*t[d+3],c+1*t[d+4],1*p+1*t[d+5],z),a.bezierCurveTo(c+Number(t[d]),p+Number(t[d+1]),c+Number(t[d+2]),
p+Number(t[d+3]),c+=Number(t[d+4]),p+=Number(t[d+5]));break;case "a":case "A":for(d=0;t[d];d+=7){var B=Number(t[d]),Q=Number(t[d+1]),l,w,H,F,T,D,V,P,C,$,ba,ia,ea,X;l=Math.PI/180*Number(t[d+2]);w=Number(t[d+3]);H=Number(t[d+4]);F=Number(t[d+5]);T=Number(t[d+6]);D=Math.cos(l)*(c-F)/2+Math.sin(l)*(p-T)/2;V=-Math.sin(l)*(c-F)/2+Math.cos(l)*(p-T)/2;B=0>B?-B:B;Q=0>Q?-Q:Q;ia=Math.pow(D,2)/Math.pow(B,2)+Math.pow(V,2)/Math.pow(Q,2);1<ia&&(B*=Math.sqrt(ia),Q*=Math.sqrt(ia));ia=B>Q?B:Q;ea=B>Q?1:B/Q;X=B>Q?Q/
B:1;w=(w==H?-1:1)*Math.sqrt((Math.pow(B,2)*Math.pow(Q,2)-Math.pow(B,2)*Math.pow(V,2)-Math.pow(Q,2)*Math.pow(D,2))/(Math.pow(B,2)*Math.pow(V,2)+Math.pow(Q,2)*Math.pow(D,2)));isNaN(w)&&(w=0);P=w*B*V/Q;C=-w*Q*D/B;$=P*Math.cos(l)-C*Math.sin(l)+(c+F)/2;ba=P*Math.sin(l)+C*Math.cos(l)+(p+T)/2;w=r.angleBetweenVectors(1,0,(D-P)/B,(V-C)/Q);D=r.angleBetweenVectors((D-P)/B,(V-C)/Q,(-D-P)/B,(-V-C)/Q);0==H&&0<D&&(D-=Math.PI/180*360);1==H&&0>D&&(D+=Math.PI/180*360);if(0==B&&0==Q){a.lineTo(F,T);break}a.save();B=
r.combineTransformMatrix([[1,0,$,0,1,ba],[Math.cos(l),Math.sin(l),0,Math.sin(l),Math.cos(l),0],[ea,0,0,0,X,0]]);a.transform(B[0],B[3],B[1],B[4],B[2],B[5]);a.arc(0,0,ia,w,w+D,1-H);a.restore();r.arcBBox(0,0,ia,w,w+D,1-H,[B[0],B[3],B[1],B[4],B[2],B[5]],z);"A"==q?(c=Number(t[d+5]),p=Number(t[d+6])):(c+=Number(t[d+5]),p+=Number(t[d+6]))}break;case "Z":case "z":a.closePath()}if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,z),a.fill(),r.endFillEffect(e,
a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,z),a.stroke(),r.endStrokeEffect(e,a);I()}};r.drawNodes=function(e,a,k,m,I){var n=e.length,z=-1,G=0,q=0,t=function(){var c;z+=1;z<n?(c=e[z],c.tagName&&"defs"===c.tagName&&(z+=1,c=e[z]),c.attributes&&(c.attributes.dy&&(q=c.attributes.dy.value=1*c.attributes.dy.value+1*q),c.attributes.dx&&(G=c.attributes.dx.value=1*c.attributes.dx.value+1*G)),C.common(c,a,k,m,t)):I&&I()};t()};r.getSvgDimention=
function(e){var a={width:0,height:0};node=e.childNodes&&e.childNodes[0]&&e.childNodes[0].attributes;a.width=Number(node.width&&node.width.value||0);a.height=Number(node.height&&node.height.value||0);return a};r.storeImagesInArr=function(e){var a=e.getSVG(),k,m;k=e._getStore("imageArr");e=a.getElementsByTagName("image");for(m in e)e.hasOwnProperty(m)&&e[m].attributes&&e[m].attributes["xlink:href"]&&(a=e[m].attributes["xlink:href"].value,k[a]||(k[a]=[],k[a].status="progress",k[a].callback=null,k[a].obj=
new Image,k[a].obj.onload=function(a){return function(){var e=k[a].callback;e?(k[a].status="complete",e()):k[a].status="complete"}}(a),k[a].obj.onerror=function(a){return function(){var e=k[a].errCallback;e?(k[a].status="error",e()):k[a].status="error"}}(a),k[a].obj.src=a))};r.startTransform=function(e,a){var k=e.match(/[^\s][a-z,0-9.\-(\s]+\)/gi),m,I;for(I in k)k.hasOwnProperty(I)&&(-1<k[I].indexOf("matrix")&&(m=r.stringToArgs(k[I]),a.transform(m[0],m[1],m[2],m[3],m[4],m[5])),-1<k[I].indexOf("translate")&&
(m=r.stringToArgs(k[I]),a.translate(m[0]||0,m[1]||0)),-1<k[I].indexOf("rotate")&&(m=r.stringToArgs(k[I]),3==m.length?(a.translate(m[1],m[2]),a.rotate(Math.PI/180*m[0]),a.translate(-m[1],-m[2])):a.rotate(Math.PI/180*m[0])),-1<k[I].indexOf("scale")&&(m=r.stringToArgs(k[I]),1==m.length?a.scale(m[0]||1,m[0]||1):a.scale(m[0]||1,m[1]||1)),-1<k[I].indexOf("skewX")&&(m=r.stringToArgs(k[I]),a.transform(1,0,Math.tan(Math.PI/180*m[0]),1,0,0)),-1<k[I].indexOf("skewY")&&(m=r.stringToArgs(k[I]),a.transform(1,Math.tan(Math.PI/
180*m[0]),0,1,0,0)))};r.resetTransform=function(e){e.setTransform(1,0,0,1,0,0)};r.stringToArgs=function(e){e=/\(([^\)]+)/.exec(e)[1];return r.getArgsAsArray(e)};r.getArgsAsArray=function(e){var a;e=e.trim().split(/[\s,]+/);for(a=0;a<e.length;a++)e[a].trim(),0==e[a].length&&e.splice(a,1);return e};r.applyFillEffect=function(e,a,k,m){a.globalAlpha=e.attributes["fill-opacity"]&&"none"!=e.attributes["fill-opacity"].value?e.attributes["fill-opacity"].value:1;e.attributes.fill&&-1<e.attributes.fill.value.indexOf("url(")?
(e=r.getFillStyleById(/url\(.*#([^\)'"]+)/.exec(e.attributes.fill.value)[1],a,k,m),a.fillStyle=e):a.fillStyle=e.attributes.fill?e.attributes.fill.value:"#000000"};r.endFillEffect=function(e,a){a.globalAlpha=1};r.applyStrokeEffect=function(e,a,k,m){e.attributes["stroke-opacity"]&&"none"!=e.attributes["stroke-opacity"].value&&(a.globalAlpha=e.attributes["stroke-opacity"].value);e.attributes["stroke-width"]&&(a.lineWidth=e.attributes["stroke-width"].value,0==e.attributes["stroke-width"].value&&(a.globalAlpha=
0));e.attributes["stroke-linecap"]&&"none"!=e.attributes["stroke-linecap"].value&&(a.lineCap=e.attributes["stroke-linecap"].value);e.attributes["stroke-linejoin"]&&"none"!=e.attributes["stroke-linejoin"].value&&(a.lineJoin=e.attributes["stroke-linejoin"].value);e.attributes["stroke-dasharray"]&&"none"!=e.attributes["stroke-dasharray"].value&&a.setLineDash&&a.setLineDash(r.getArgsAsArray(e.attributes["stroke-dasharray"].value));a.strokeStyle=e.attributes.stroke?e.attributes.stroke.value:"#000000"};
r.endStrokeEffect=function(e,a){e.attributes["stroke-opacity"]&&"none"!=e.attributes["stroke-opacity"].value&&(a.globalAlpha=1,a.setLineDash&&a.setLineDash([]),a.lineWidth=1);a.globalAlpha=1};r.applyClip=function(e,a,k){var m=k.getSVG(),I,n;if(-1!==e.indexOf("url(")){e=/url\(.*#([^\)'"]+)/.exec(e)[1];m=m.getElementById(e);m.attributes&&(a.save(),m.attributes.transform&&r.startTransform(m.attributes.transform.value,a));e=m.childNodes;for(I in e)e.hasOwnProperty(I)&&e[I].tagName&&e[I].constructor!==
Array&&(n="draw"+e[I].tagName,e[I].attributes&&(a.save(),e[I].attributes.transform&&r.startTransform(e[I].attributes.transform.value,a)),C[n]&&(C[n](e[I],a,k,"clip"),a.closePath()),e[I].attributes&&a.restore());m.attributes&&a.restore();a.clip()}};r.getFillStyleById=function(e,a,k,m){e=k.getSVG().getElementById(e);return"linearGradient"==e.tagName?r.getLinearGradient(e,a,m):"radialGradient"==e.tagName?r.getRadialGradient(e,a,m):"#FFFFFF"};r.getLinearGradient=function(e,a,k){var m=e.attributes.x1?
r.getPercentValue(e.attributes.x1.value,k.xMax-k.xMin,k.xMin):0,I=e.attributes.y1?r.getPercentValue(e.attributes.y1.value,k.yMax-k.yMin,k.yMin):0,n=e.attributes.x2?r.getPercentValue(e.attributes.x2.value,k.xMax-k.xMin,k.xMin):0;k=e.attributes.y2?r.getPercentValue(e.attributes.y2.value,k.yMax-k.yMin,k.yMin):0;var z;linGrad=a.createLinearGradient(m,I,n,k);e=e.childNodes;for(z in e)e.hasOwnProperty(z)&&e[z].attributes&&e[z].attributes["stop-color"]&&(a=r.toRGB(e[z].attributes["stop-color"].value),m=
e[z].attributes["stop-opacity"]?e[z].attributes["stop-opacity"].value:1,a.status?linGrad.addColorStop(r.getPercentValue(e[z].attributes.offset.value,1,0),"rgba("+a.r+","+a.g+","+a.b+","+Number(m)+")"):linGrad.addColorStop(r.getPercentValue(e[z].attributes.offset.value,1,0),e[z].attributes["stop-color"].value));return linGrad};r.getRadialGradient=function(e,a,k){var m=e.attributes.cx?r.getPercentValue(e.attributes.cx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),I=e.attributes.cy?r.getPercentValue(e.attributes.cy.value,
k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin),n=e.attributes.fx?r.getPercentValue(e.attributes.fx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),z=e.attributes.fy?r.getPercentValue(e.attributes.fy.value,k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin);k=e.attributes.r?r.getPercentValue(e.attributes.r.value,(k.yMax-k.yMin+k.xMax-k.xMin)/2,0):r.getPercentValue("50%",(k.yMax-k.yMin+k.xMax-k.xMin)/2,0);var G;a=a.createRadialGradient(n,z,0,m,I,k);e=e.childNodes;for(G in e)e.hasOwnProperty(G)&&
e[G].attributes&&e[G].attributes["stop-color"]&&(m=r.toRGB(e[G].attributes["stop-color"].value),I=e[G].attributes["stop-opacity"]?e[G].attributes["stop-opacity"].value:1,m.status?a.addColorStop(r.getPercentValue(e[G].attributes.offset.value,1,0),"rgba("+m.r+","+m.g+","+m.b+","+Number(I)+")"):a.addColorStop(r.getPercentValue(e[G].attributes.offset.value,1,0),e[G].attributes["stop-color"].value));return a};r.getPercentValue=function(e,a,k){return-1!=e.indexOf("%")?(e=/(\d.*)%/.exec(e)[1],100<e&&(e=
100),e*a/100+1*k):1<e?e:e*a+1*k};r.bBoxFromPoint=function(e,a,k){"undefined"!==typeof k.xMin&&(e.push(k.xMin,k.xMax),a.push(k.yMin,k.yMax));k.xMin=Math.min.apply(this,e);k.xMax=Math.max.apply(this,e);k.yMin=Math.min.apply(this,a);k.yMax=Math.max.apply(this,a)};r.arcBBox=function(e,a,k,m,r,n,z,G){var q,t,c;z instanceof Array&&(e=e*z[0]+e*z[2]+z[4],a=a*z[1]+a*z[3]+z[5]);c=function(a,d,c){a=(a+2*Math.PI)%(2*Math.PI);d=(d+2*Math.PI)%(2*Math.PI);if(a<=d)return a<=c&&c<=d?!0:!1;if(a>=d)return a>=c&&c>=
d?!1:!0};z=m%(2*Math.PI);q=r%(2*Math.PI);n&&(z=r%(2*Math.PI),q=m%(2*Math.PI));n=e+k*Math.cos(z);m=a+k*Math.sin(z);t=e+k*Math.cos(q);r=a+k*Math.sin(q);n=[n,t];m=[m,r];c(z,q,0)&&(n.push(1*e+1*k),m.push(a));c(z,q,.5*Math.PI)&&(n.push(e),m.push(1*a+1*k));c(z,q,Math.PI)&&(n.push(e-1*k),m.push(a));c(z,q,1.5*Math.PI)&&(n.push(e),m.push(a-1*k));e=Math.max.apply(this,n);a=Math.min.apply(this,n);k=Math.max.apply(this,m);z=Math.min.apply(this,m);"undefined"!==typeof G.xMin?(G.xMin=Math.min(a,G.xMin),G.xMax=
Math.max(e,G.xMax),G.yMin=Math.min(z,G.yMin),G.yMax=Math.max(k,G.yMax)):(G.xMin=a,G.xMax=e,G.yMin=z,G.yMax=k)};r.qBezierBBox=function(e,a,k,m,r,n,z){var G=1*e-2*k+1*r,q=1*a-2*m+1*n;0==G||0==q?(m=Math.max(e,r),e=Math.min(e,r),r=Math.max(a,n),a=Math.min(a,n)):(G=(e-k)/G,q=(a-m)/q,k=e*Math.pow(1-G,2)+2*k*(1-G)*G+r*Math.pow(G,2),q=a*Math.pow(1-q,2)+2*m*(1-q)*q+n*Math.pow(q,2),m=Math.max(e,r,k),e=Math.min(e,r,k),r=Math.max(a,n,q),a=Math.min(a,n,q));"undefined"!==typeof z.xMin?(z.xMin=Math.min(e,z.xMin),
z.xMax=Math.max(m,z.xMax),z.yMin=Math.min(a,z.yMin),z.yMax=Math.max(r,z.yMax)):(z.xMin=e,z.xMax=m,z.yMin=a,z.yMax=r)};r.cBezierBBox=function(e,a,k,m,r,n,z,G,q){var t,c,p,d,B,C,l;null==r&&null==n&&(k=e+2/3*(k-e),r=a+2/3*(m-a),m=k+1/3*(z-e),n=r+1/3*(G-a));l=function(a,d,c,l,e){return a*Math.pow(1-e,3)+3*d*e*Math.pow(1-e,2)+3*c*e*e*(1-e)+l*e*e*e};p=3*z-9*r+9*k-3*e;d=6*e-12*k+6*r;B=3*k-3*e;B=Math.pow(d,2)-4*p*B;c=t=e;z<t&&(t=z);z>c&&(c=z);0<=B&&(C=(-d+Math.sqrt(B))/(2*p),0<C&&1>C&&(C=l(e,k,r,z,C),C<t&&
(t=C),C>c&&(c=C)),p=(-d-Math.sqrt(B))/(2*p),0<p&&1>p&&(C=l(e,k,r,z,p),C<t&&(t=C),C>c&&(c=C)));p=3*G-9*n+9*m-3*a;d=6*a-12*m+6*n;B=3*m-3*a;B=Math.pow(d,2)-4*p*B;k=e=a;G<e&&(e=G);G>k&&(k=G);0<=B&&(C=(-d+Math.sqrt(B))/(2*p),0<C&&1>C&&(r=l(a,m,n,G,C),r<e&&(e=r),r>k&&(k=r)),p=(-d-Math.sqrt(B))/(2*p),0<p&&1>p&&(r=l(a,m,n,G,p),r<e&&(e=r),r>k&&(k=r)));"undefined"!==typeof q.xMin?(q.xMin=Math.min(t,q.xMin),q.xMax=Math.max(c,q.xMax),q.yMin=Math.min(e,q.yMin),q.yMax=Math.max(k,q.yMax)):(q.xMin=t,q.xMax=c,q.yMin=
e,q.yMax=k)};r.combineTransformMatrix=function(e){var a=e.length-1,k;if(0>=a)return e[0];k=e[0];for(i=1;i<=a;i++)k[0]=k[0]*e[i][0]+k[1]*e[i][3],k[1]=k[0]*e[i][1]+k[1]*e[i][4],k[2]=k[0]*e[i][2]+k[1]*e[i][5]+1*k[2],k[3]=k[3]*e[i][0]+k[4]*e[i][3],k[4]=k[3]*e[i][1]+k[4]*e[i][4],k[5]=k[3]*e[i][2]+k[4]*e[i][5]+1*k[5];return k};r.angleBetweenVectors=function(e,a,k,m){var r=e*m<a*k?-1:1,n=e*k+a*m;e=Math.sqrt(Math.pow(e,2)+Math.pow(a,2));k=Math.sqrt(Math.pow(k,2)+Math.pow(m,2));return r*Math.acos(n/(e*k))};
r.toRGB=function(e){var a={r:0,g:0,b:0,status:0},k,m;k=function(e){for(m in e)e.hasOwnProperty(m)&&(0>e[m]||isNaN(e[m])?e[m]=0:255<e[m]&&(e[m]=255));return a={r:e[0],g:e[1],b:e[2],status:1}};e=e.trim();e.match(/^rgb\(|^rgba\(/i)?(e=/\(\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/.exec(e),k([parseInt(e[1]),parseInt(e[2]),parseInt(e[3])])):e.match(/^#/)&&(e=/(\w{2})(\w{2})(\w{2})/.exec(e),k([parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]));return a};r.StrToDom=function(e){var a;k.DOMParser?(a=new DOMParser,
a=a.parseFromString(e,"text/xml")):(a=new ActiveXObject("Microsoft.XMLDOM"),a.async=!1,a.loadXML(e));return a}})();
FusionCharts.register("module",["private","modules.renderer.js-lib-attr",function(){var k=this.hcLib||(this.hcLib={}),m=k.attrTypeNum=1,C=k.attrTypeBool=2;k.parseConfiguration=function(r,e,a,M){var J=k.attribDefs||{},I,n,z,G=1,q,t;M=M||{};for(I in r)if(!M[I]&&((n=r[I])||!1===n||0===n))switch(z=J[I]&&J[I].type,z){case m:n=Number(n);isNaN(n)||(e[I]=n);break;case C:n=Number(n);isNaN(n)||(e[I]=!!n);break;default:e[I]=n}if(a)for(I in e)void 0===e[I]&&J[I]&&(q=J[I].pAttr)&&(e[I]=a[q]);for(;G;)for(I in G=
0,e)void 0===e[I]&&(J[I]&&(q=J[I].attr)?e[q]&&(e[I]=e[q],G+=1):J[I]&&(t=J[I].parser)&&t&&void 0!==(n=t(e,a))&&(e[I]=n,G+=1))};k.setAttribDefs=function(m,e){var a=k.attribDefs,C,J;"string"===typeof m?(C={},C[m]=e):C=m;for(J in C)a[J]||(a[J]=C[J])};k.hasAttribDefs=function(m){return!!k.attribDefs[m]};k.attribDefs={setBorderWidth:{type:m,pAttr:"plotborderthickness"},plotborderthickness:{type:m,pAttr:"plotborderthickness"},showBorderEffect:{parser:function(k,e){return"1"!=e.showplotborder&&.1==e.plotborderthickness?
1:0}},alphaanimation:{type:m},showplotborder:{type:m,pAttr:"showplotborder"},zeroplanethickness:{type:m},showzeroplaneontop:{type:m},usemessagelog:{type:m},showtooltip:{type:m,pAttr:"showtooltip"}}}]);
FusionCharts.register("module",["private","modules.renderer.js-lib",function(){var k=this,m=k.window,C,r=m.SvgDeCanvo,e=m.document,a=m.navigator,M=Boolean(m.SVGAngle||e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),J=/msie/i.test(a.userAgent)&&!m.opera,I=m.parseFloat,n=/\s+/g,z=/^#?/,G=/^rgba/i,q=/[#\s]/ig,t=/\{br\}/ig,c=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,p=Math.abs,d=Math.pow,B=Math.round,Q=d(2,-24),l=Object.prototype.toString,w="ontouchstart"in e,a=w&&!(a.maxTouchPoints||
a.msMaxTouchPoints),H="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial&pver="+m.escape(k.core.version);C=Math;var F=C.max,T=C.min,D=m.Image,V={pageX:0,pageY:0},P="createTouch"in e,fa=P&&!(m.navigator.maxTouchPoints||m.navigator.msMaxTouchPoints),$=k.hcLib||(k.hcLib={}),ba=function(b){var f=b.data,h=f.chart,g=h.components.paper,a=b.state,s=Ha(ua(b.originalEvent)),u=s.target||s.originalTarget||s.srcElement||s.relatedTarget||s.fromElement,v=h.components.resizeBox,A=f.layerX=s.pageX-
f.chartPosLeft,N=f.layerY=s.pageY-f.chartPosTop,Y=A-f.ox,d=N-f.oy,c=f.bBox,L=f.ox,l=f.oy,O=f.zoomX,e=f.zoomY,c=f.canvasY,pa=f.canvasX,S=f.canvasW,W=f.canvasH,Ma=f.canvasX2,K=f.canvasY2,R=f.strokeWidth,Y=f.attr;switch(a){case "start":b=X(this);f.chartPosLeft=b.left;f.chartPosTop=b.top;A=s.pageX-f.chartPosLeft;N=s.pageY-f.chartPosTop;f.oy=N;f.ox=A;f.allowMove=!1;v||(v=h.components.resizeBox=g.rect(h.graphics.trackerGroup).attr(Y));A>pa&&A<Ma&&N>c&&N<K&&(f.allowMove=!0);u&&u.ishot&&(f.allowMove=!1);
v.attr({x:0,y:0,width:0,height:0}).show();break;case "end":c=v.getBBox();h={chart:h,selectionLeft:c.x,selectionTop:c.y,selectionHeight:c.height,selectionWidth:c.width,originalEvent:b.originalEvent};f.isDragged&&(f.selectionEnd&&f.selectionEnd(h),f.isDragged=0);v.hide();delete f.oy;delete f.ox;break;default:if(!f.allowMove)break;Y=A-f.ox;d=N-f.oy;L=f.ox;l=f.oy;f.isDragged||(h={chart:h,selectionLeft:(O?T(L,L+Y):pa)+.5*R,selectionTop:(e?T(l,l+d):c)+.5*R,selectionHeight:0,selectionWidth:0,originalEvent:b.originalEvent},
f.selectionStart&&f.selectionStart(h),f.isDragged=1);Y=-(L-T(L-(L-F(L+Y,pa)),Ma));d=-(l-T(l-(l-F(l+d,c)),K));v.attr({x:(O?T(L,L+Y):pa)+.5*R,y:(e?T(l,l+d):c)+.5*R,width:O?p(Y):S,height:e?p(d):W})}},ia=function(b){var f=b.data;b=b.originalEvent;var h=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,g=b.type,a=b.layerX,s=b.layerY;void 0===a&&(a=b.pageX-f.chartPosLeft,s=b.pageY-f.chartPosTop);"mousedown"===g&&(h.ishot=a>f.canvasX&&a<f.canvasX2&&s>f.canvasY&&s<f.canvasY2);"mouseup"===
g&&setTimeout(function(){h.ishot=!1},1)},ea=function(){var b="innerWidth",f="innerHeight",h=e.documentElement||e.body,g=h;"innerWidth"in m?g=m:(b="clientWidth",f="clientHeight");return function(){return{width:g[b],height:g[f],scrollTop:h.scrollTop,scrollLeft:h.scrollLeft}}}(),X=function(b,f){var h={left:b.offsetLeft||0,top:b.offsetTop||0};for(b=b.offsetParent;b;)h.left+=b.offsetLeft||0,h.top+=b.offsetTop||0,b===e.body||b===e.documentElement||f||(h.left-=b.scrollLeft,h.top-=b.scrollTop),b=b.offsetParent;
return h},ca=function(b){return b&&b.replace(/\$/g,"$$$$")},ga=function(b,f){return b||!1===b||0===b?b:f},da=function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b;return""},Z=function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b},Ja=function(b,f,h,g){return $.dem.listen(b,f,h,g)},R=function(b,f,h){return $.dem.unlisten(b,f,h)},ua=function(b){b=b.sourceEvent||b.originalEvent||b;return w&&b&&b.touches&&b.touches[0]||
b||V},Ha=function(){var b;return function(f){void 0===f.pageX&&(f.pageX=f.clientX+(b||(b=m.document.body||m.document.documentElement)).scrollLeft,f.pageY=f.clientY+b.scrollTop);return f}}(),U=function(b,f){f=Ha(ua(f));var h=f.pageX,g=f.pageY,a=X(b);return{chartX:h-a.left,chartY:g-a.top,pageX:h,pageY:g}},Na=function(b,f,h){b=e.createElement(b);for(var g in f)b.setAttribute(g,f[g]);h&&h.appendChild&&h.appendChild(b);return b},la=function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none"},oa=
function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if(((b=arguments[f])||!1===b||0===b)&&!isNaN(b=Number(b)))return b},Ca=function(b,f){b=b||!1===b||0===b?Number(b):NaN;return isNaN(b)?null:f?p(b):b},Fa=function(b){return"string"===typeof b?b.replace(t,"<br />"):""},na=function(b,f){b=b.split(",")[f||0];b=b.replace(n,"");""==b&&(b="000000");return b.replace(z,"#")},ra=function(b){b=parseInt(b,10);if(isNaN(b)||100<b||0>b)b=100;return b},Da=function(b,f){for(var h=f.length,g=-1;h--;)if(b===f[h]){g=
h;break}return g},ha=function(){if(Array.isArray)return Array.isArray;var b=Object.prototype.toString,f=b.call([]);return function(h){return b.call(h)===f}}(),Ia=function(b,f,h,g,a){var s,u,v,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(s=0;s<f.length;s+=1){try{u=b[s],v=f[s]}catch(N){continue}if("object"!==typeof v)h&&void 0===v||(b[s]=v);else{if(null===u||"object"!==typeof u)u=b[s]=v instanceof Array?[]:{};A=Da(v,a);-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)}}else for(s in f){try{u=b[s],
v=f[s]}catch(Y){continue}if(null!==v&&"object"===typeof v)if(A=l.call(v),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[s]={};A=Da(v,a);-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[s]=[]),A=Da(v,a),-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)):b[s]=v;else b[s]=v}return b},wa=function(b,f,h){if("object"!==typeof b&&"object"!==typeof f)return null;if("object"!==typeof f||null===f)return b;"object"!==typeof b&&(b=f instanceof Array?[]:{});Ia(b,f,h);return b},
Ta=function(b,f){var h;if(f instanceof Array)for(h=f.length-1;0<=h;--h)"object"!==typeof f[h]?!0===f[h]&&b&&b.splice&&b.splice(h,1):l.call(f[h])===l.call(b[h])&&Ta(b[h],f[h]);else for(h in f)"object"!==typeof f[h]?!0===f[h]&&b&&b.splice&&b.splice(h,1):l.call(f[h])===l.call(b[h])&&Ta(b[h],f[h]);return b},qa=function(){var b=/^@window_/g;return function(f,h){var g=f.replace(/\[[\'\"]/g,".").replace(/[\'\"]\]/g,"").replace(/\[/g,".@window_").replace(/\]/g,"").split("."),a=m,s,u;u="";var v,A,N;A=g.length;
for(N=0;N<A;N+=1){v=g[N];s=a;if(v.match(b))u=m[v.replace(b,"")],a=a[u];else{if(void 0===a||null===a)throw(u||v).replace(b,"")+" is not defined";a=a[v]}u=v}!a||"function"!==typeof a.call&&a!==m.alert?setTimeout(function(){throw v.replace(b,"")+"() is not a function";},0):a===m.alert?a(h):a.call(s,h)}}(),Oa=function(){var b="FusionChartslinkEval"+parseInt(+new Date,10);return function(f){try{m[b]=new Function(f),eval('window["'+b+'"]();')}catch(h){setTimeout(function(){throw h;},0)}M?delete m[b]:m[b]=
null}}(),Pa=function(b){var f={image:!1};void 0!==b&&(b=b.replace(/^\s+/,"").replace(/\s+$/,""),/^i\s*[\-]\s*/i.test(b)?(f.image=!0,f.string=b.replace(/^i\s*[\-]\s*/i,"")):f.string=b.replace(/^\\/,""));return f},ab=function(b,f){b=Number(b);b=isNaN(b)?100:b;void 0!==f&&(b=b*f/100);return b%101},b=function(b,f,h){b=b.split(",");var g;void 0!==h&&(h=oa(h.split(",")[0]));b[0]=ab(b[0],h);for(g=1;g<f;g+=1)b[g]=b[0]*ab(b[g],h)/100;return b.join(",")},f=function(b,f,h){var g=0,a=0,s=0;h&&h.match(G)&&(h=
h.split(","),g=h[0].slice(h[0].indexOf("(")+1),a=h[1],s=h[2],f||0===f||(f=parseInt(100*h[3].slice(0,h[3].indexOf(")")),10)));if(b)if(b.match(G))h=b.split(","),g=h[0].slice(h[0].indexOf("(")+1),a=h[1],s=h[2];else{b=b.replace(q,"").split(",")[0];switch(b.length){case 3:b=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+b.charAt(2);break;case 6:break;default:b=(b+"FFFFFF").slice(0,6)}g=parseInt(b.slice(0,2),16);a=parseInt(b.slice(2,4),16);s=parseInt(b.slice(4,6),16)}f||0===f||(f=100);"string"===
typeof f&&(f=f.split(",")[0]);f=parseInt(f,10)/100;return"rgba("+g+","+a+","+s+","+f+")"},g=function(){var b={};return function(f){var h=(f=f||this)&&f.FCcolor||f,g=h.color,a=h.ratio,s=h.angle,u=h.alpha,v=h.r,A=h.cx,N=h.cy,Y=h.fx,d=h.fy,c=h.gradientUnits,L=h.x1,l=h.y1,O=h.x2,e=h.y2,pa=1,W,Ma,K,R;if("string"===typeof f)return b[R="~"+f]||(b[R]=f.replace(/^#?([a-f0-9]{3,6})/ig,"#$1"));g=g||"";if(!g)return W;R=[g,u,a,s,v,A,N,c,Y,d,L,O,l,e].join("_").replace(/[\(\)\s,\xb0#]/g,"_");if(b[R])return b[R];
a=a&&(a+"").split(",")||[];u=(u||0===u)&&(u+"").split(",")||[];if(g=g.split(","))if(W="",1===g.length)K=g[0].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),W=u.length?"rgba("+S(K).join(",")+","+.01*I(u[0])+")":K.replace(/^#?([a-f0-9]{3,6})/ig,"#$1");else{f=0;for(Ma=g.length;f<Ma;f++)K=g[f].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),isNaN(a[f])||(a[f]=I(a[f]),K+=":"+a[f],isNaN(a[f+1])||(a[f+1]=I(a[f+1])+a[f])),isNaN(u[f])||""===u[f]||(pa=.01*u[f]),g[f]="rgba("+S(K).join(",")+","+pa+")",isNaN(a[f])||(g[f]=g[f]+":"+
a[f]);W+=g.join("-");if(void 0!==v||void 0!==Y||void 0!==A||h.radialGradient)W="xr("+[Y,d,v,A,N,c].join()+")"+W;else{W="-"+W;if(void 0!==L||void 0!==l||void 0!==O||void 0!==e)W="("+[L,l,O,e,c].join()+")"+W;void 0===s&&(s=0);W=360-I(s)%360+W}}return b[R]=W}}(),u=function(){return function(){return""}}(),N=function(b){return b.replace(q,"").replace(z,"#")},L=function(b,f){f=(0>f||100<f?100:f)/100;b=b.replace(q,"");var h=parseInt(b,16),g=Math.floor(h/65536),a=Math.floor((h-65536*g)/256);return("000000"+
(g*f<<16|a*f<<8|(h-65536*g-256*a)*f).toString(16)).slice(-6)},O=function(b,f){f=(0>f||100<f?100:f)/100;b=b.replace(q,"");var h=parseInt(b,16),g=Math.floor(h/65536),a=Math.floor((h-65536*g)/256);return("000000"+(256-(256-g)*f<<16|256-(256-a)*f<<8|256-(256-(h-65536*g-256*a))*f).toString(16)).slice(-6)},S=function(b){b=parseInt(b,16);var f=Math.floor(b/65536),h=Math.floor((b-65536*f)/256);return[f,h,Math.floor(b-65536*f-256*h)]},W=function(b,f){if("object"!==typeof b)return"";if(b.fontSize||b["font-size"])!b.fontSize&&
b["font-size"]&&(b.fontSize=b["font-size"],delete b["font-size"]),b.lineHeight=(parseFloat(b.fontSize)||f||10)*$.lineHeightFactor+"px",delete b["line-height"];!b.lineHeight&&b["line-height"]&&(b.lineHeight=b["line-height"],delete b["line-height"]);return b.lineHeight},ja=function(b,h,g,a,u){var v=da(b.labelbordercolor,h.bordercolor,g.labelbordercolor,""),A=Z(b.labelbgcolor,h.bgcolor,g.labelbgcolor),N=oa(b.labelborderthickness,h.borderthickness,g.labelborderthickness,1);u=oa(g.usedataplotcolorforlabels,
0)?u||a.color:a.color;v=v?f(v,oa(b.labelborderalpha,h.borderalpha,g.labelborderalpha,b.labelalpha,h.alpha,g.labelalpha,100)):"";b={fontFamily:Z(b.labelfont,h.font,g.labelfont,a.fontFamily),fontSize:Z(b.labelfontsize,h.fontsize,g.labelfontsize,parseInt(a.fontSize,10))+"px",color:f(Z(b.labelfontcolor,h.fontcolor,g.labelfontcolor,u),oa(b.labelfontalpha,h.fontalpha,g.labelfontalpha,b.labelalpha,h.alpha,g.labelalpha,100)),fontWeight:oa(b.labelfontbold,h.fontbold,g.labelfontbold)?"bold":"normal",fontStyle:oa(b.labelfontitalic,
h.fontitalic,g.labelfontitalic)?"italic":"normal",border:v||A?N+"px solid":"",borderColor:v,borderThickness:N,borderPadding:oa(b.labelborderpadding,h.borderpadding,g.labelborderpadding,2),borderRadius:oa(b.labelborderradius,h.borderradius,g.labelborderradius,0),backgroundColor:A?f(A,oa(b.labelbgalpha,h.bgalpha,g.labelbgalpha,b.labelalpha,h.alpha,g.labelalpha,100)):"",borderDash:oa(b.labelborderdashed,h.borderdashed,g.labelborderdashed,0)?s(oa(b.labelborderdashlen,h.borderdashlen,g.labelborderdashlen,
4),oa(b.labelborderdashgap,h.borderdashgap,g.labelborderdashgap,2),N):"none"};b.lineHeight=W(b);return b},La=function(){var b={top:{align:"center",verticalAlign:"top",textAlign:"center"},right:{align:"right",verticalAlign:"middle",textAlign:"left"},bottom:{align:"center",verticalAlign:"bottom",textAlign:"center"},left:{align:"left",verticalAlign:"middle",textAlign:"right"}},h=/([^\,^\s]+)\)$/g,g=function(b,f){var h;/^(bar|bar3d)$/.test(b)&&(this.isBar=!0,this.yPos="bottom",this.yOppPos="top",this.xPos=
"left",this.xOppPos="right");h=parseInt(f.labelstep,10);this.labelStep=1<h?h:1;this.showLabel=oa(f.showlabels,f.shownames,1);this.is3D=/3d$/.test(b)};g.prototype={isBar:!1,yPos:"left",yOppPos:"right",xPos:"bottom",xOppPos:"top",addAxisGridLine:function(f,g,a,s,u,v,A,N){var Y=""===a?!1:!0,d=0<s||0<v.match(h)[1]?!0:!1,c;if(Y||d)d||(v="rgba(0,0,0,0)",s=.1),c={isGrid:!0,width:s,dashStyle:u,color:v,value:g,zIndex:void 0===A?2:A},Y&&(g=f.opposite?N?this.xOppPos:this.yOppPos:N?this.xPos:this.yPos,g=b[g],
c.label={text:a,style:f.labels.style,textAlign:g.textAlign,align:g.align,verticalAlign:g.verticalAlign,rotation:0,x:0,y:0}),f.plotLines.push(c);return c},addAxisAltGrid:function(b,f){if(!this.is3D){var h=oa(b._lastValue,b.min),g=Z(b._altGrid,!1);g&&b.plotBands.push({isGrid:!0,color:b.alternateGridColor,to:f,from:h,zIndex:1});b._lastValue=f;b._altGrid=!g}},addXaxisCat:function(f,h,g,a,s,u,v,A){var N=b[f.opposite?this.xOppPos:this.xPos];h={isGrid:!0,isDataLabel:!0,width:.1,color:"rgba(0,0,0,0)",value:h,
label:{text:a,link:Z(s.labellink,u.link,v.labellink),style:ja(s,u,v,f.labels.style,A),textAlign:N.textAlign,align:N.align,verticalAlign:N.verticalAlign,rotation:0,x:0,y:0}};0!==g%this.labelStep&&(h.stepped=!0,h.label.style=f.steppedLabels.style);f.plotLines.push(h)},addVline:function(b,h,g,a){a=a._FCconf;var u=a.isBar,v=a.divlineStyle,A=Fa(h.label),N=Boolean(oa(h.showlabelborder,a.showVLineLabelBorder,1)),Y=Boolean(oa(h.showlabelbackground,1)),d=Z(h.labelhalign,u?"left":"center"),c=Z(h.labelvalign,
u?"middle":"bottom").toLowerCase(),L=oa(h.labelposition,0),l=oa(h.lineposition,.5),O=oa(h.showvlines,a.showVLines,1),e=oa(h.alpha,a.vLineAlpha,80),pa=Z(h.color,a.vLineColor).replace(/^#?/,"#"),S=Y?Z(h.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):"",W=Z(h.labelcolor,a.vLineLabelColor,h.color,a.vLineColor).replace(/^#?/,"#"),K=oa(h.thickness,a.vLineThickness,1),Ma=.5*K,R=Boolean(Number(Z(h.dashed,0))),E=oa(h.dashlen,5),dc=oa(h.dashgap,2),k=a.smartLabel,ja=parseInt(v.fontSize,10)+2,
Ga=0,Ua=oa(h.rotatelabel,a.rotateVLineLabels)?270:0,l=0>l||1<l?.5:l,L=0>L||1<L?0:L;k.setStyle(v);k=k.getOriSize(A);pa=f(pa,O?e:"0");if(u){switch(c){case "top":ja-=k.height+Ma+2;break;case "middle":ja-=.5*k.height+1;break;default:ja+=Ma}h.labelhalign||(Ga-=k.width*L)}else{switch(c){case "top":ja=.5*-k.height+1;break;case "middle":ja=0;break;default:ja=.5*k.height}switch(d){case "left":Ga+=K;break;case "right":Ga-=K+1}}b.plotLines.push({isVline:!0,color:pa,width:K,value:g-1+l,zIndex:oa(h.showontop,
a.showVLinesOnTop)?5:3,dashStyle:R?s(E,dc,K):"none",label:{text:A,align:u?"left":"center",offsetScale:L,rotation:Ua,y:ja,x:Ga,textAlign:d,backgroundColor:S,borderWidth:O&&N?1:0,borderType:O&&N?"solid":"",borderColor:O&&N?W:"",backgroundOpacity:O&&Y?Z(h.labelbgalpha,a.vLineLabelBgAlpha)/100:0,style:{color:O?W:pa,fontSize:v.fontSize,fontFamily:v.fontFamily,lineHeight:v.lineHeight,backgroundColor:S}}})}};return g.prototype.constructor=g}(),K=function(){var b=function(b,h,g,a,s){b=Math.abs(h-b);h=b/(g+
1);f(b,g,a)||(s&&Number(h)/Number(a)<(1<a?2:.5)&&(a/=10),h=(Math.floor(h/a)+1)*a,b=h*(g+1));return b},f=function(b,f,g){return h(b/(f+1))>h(g)?!1:!0},h=function(b){b=Math.abs(b);b=String(b);var f=0,h=b.indexOf(".");-1!=h&&(f=b.length-h-1);return f};return function(h,g,a,s,u,v,A,N){var Y,d,c,L,l,O,e,pa=0;h=!0===isNaN(h)||void 0===h?.1:h;g=!0===isNaN(g)||void 0===g?0:g;h===g&&0===h&&(h=.1);u=void 0===typeof u?!0:u;v=void 0===typeof v?!0:v;Y=Math.floor(Math.log(Math.abs(h))/Math.LN10);d=Math.floor(Math.log(Math.abs(g))/
Math.LN10);d=Math.max(d,Y);Y=Math.pow(10,d);2>Math.abs(h)/Y&&2>Math.abs(g)/Y&&(d--,Y=Math.pow(10,d));d=Math.floor(Math.log(h-g)/Math.LN10);c=Math.pow(10,d);0<h-g&&10<=Y/c&&(Y=c);d=(Math.floor(h/Y)+1)*Y;0>g?c=-1*(Math.floor(Math.abs(g/Y))+1)*Y:v?c=0:(c=Math.floor(Math.abs(g/Y)-1)*Y,c=0>c?0:c);u&&0>=h&&(d=0);u=a||0===a?!0:!1;v=s||0===s?!0:!1;h=!1===u||!0===u&&Number(a)<h&&h-Number(a)>Q?d:Number(a);g=!1===v||!0===v&&Number(s)>g&&Number(s)-g>Q?c:Number(s);s=Math.abs(h-g);if(!1===v&&!1===u&&N)if(0<h&&
0>g)for(a=!1,u=10<Y?Y/10:Y,N=b(g,h,A,u,!1),v=N-(A+1)*u;!1===a;){if(v+=(A+1)*u,f(v,A,u))if(N=v-s,d=v/(A+1),L=Math.min(Math.abs(g),h),c=L==Math.abs(g)?-1:1,0===A)a=!0;else for(O=1;O<=Math.floor((A+1)/2);O++)l=d*O,!(l-L>N)&&l>L&&(e=v-l,e/d==Math.floor(e/d)&&l/d==Math.floor(l/d)&&(s=v,h=-1==c?e:l,g=-1==c?-l:-e,a=!0))}else a=b(g,h,A,Y,!0),N=a-s,s=a,0<h?h+=N:g-=N;else N&&(a=function(b,h,g){for(var a=0,s=1,u;;){u=b+a*s;u=0===u?1:u;if(f(h,u,g))break;a=-1==s||a>b?++a:a;if(25<a){u=0;break}s=a<=b?-1*s:1}return u},
0<A&&(N=a(A,s,Y),0===N&&(N=a(A,s+1,Y),pa=1),A=N));return{Max:h,Min:g,Range:s,interval:Y,divGap:(h-g+pa)/(A+1)}}}(),E=function(){var b=function(b,f,h){var g=h.jsVars&&h.jsVars.smartLabel,a=b.offsetWidth,s=b.offsetHeight,u=this.chart;b=this.title;var v=h._chartMessageImageStyle,A=Pa(f);b.y=s/2;b.x=a/2;u.bgSWF=b.text=void 0;f=A.string;A.image?(u.bgSWF=f,u.bgImageHAlign=v.imageHAlign,u.bgImageVAlign=v.imageVAlign,u.bgImageScale=v.imageScale,u.bgSWFAlpha=v.imageAlpha):void 0!==f&&(g?(W(b.style),g.setStyle(b.style),
f=g.getSmartText(Fa(f),a,s),b.text=f.text):b.text=Fa(f),b.verticalAlign="middle");b.style=h._chartMessageStyle;delete h._chartMessageImageStyle;delete h._chartMessageStyle};b.prototype={chart:{events:{},margin:[0,0,0,0],backgroundColor:{FCcolor:{alpha:0}}},credits:{href:H,text:"FusionCharts XT Trial",enabled:!1},legend:{enabled:!1},title:{text:"",style:{fontFamily:"Verdana,sans",fontSize:"10px",color:"#666666"}},plotOptions:{series:{}},series:[{}],exporting:{enabled:!1},nativeMessage:!0};return b.prototype.constructor=
b}(),aa={"true":{"true":{"true":"center","false":"center"},"false":{"true":"center","false":"center"}},"false":{"true":{"true":"right","false":"left"},"false":{"true":"left","false":"right"}}},Qa=function(){return function(b,h,g,a,u,v,A){var N,d=g.trendStyle,c,L,l,O,e,pa,S,W,K,Ma,R,E,k,ja=v?"xAxis":"dataLabels";if(v?g.showVLines:g.showTrendlines)for(N=0,L=b.length;N<L;N+=1)if((k=b[N])&&k.line)for(c=0,l=k.line.length;c<l;c+=1)O=k.line[c],Ma=g.numberFormatter.getCleanValue(Z(O.startvalue,O.value,0)),
R=g.numberFormatter.getCleanValue(Z(O.endvalue,Z(O.startvalue,O.value,0))),v?W=h:a&&O.parentyaxis&&/^s$/i.test(O.parentyaxis)?(W=h[1],E=1):W=h[0],pa=W.max,S=W.min,e=!1,pa>=Ma&&pa>=R&&S<=Ma&&S<=R&&(a&&O.parentyaxis&&/^s$/i.test(O.parentyaxis)?e="1"!==Z(O.valueonleft,g.trendlineValuesOnOpp):a||(e="1"===Z(O.valueonright,g.trendlineValuesOnOpp)),pa=Boolean(oa(O.istrendzone,v?1:0)),(S=(v?g.showVLineLabels:g.showTrendlineLabels)?Fa(Z(O.displayvalue,g.numberFormatter[ja](e?R:Ma,E))):"")?(K=Ma<R,e={text:S,
textAlign:u?"center":e?"left":"right",align:u?aa[pa][!A][K]:e?"right":"left",verticalAlign:u?"bottom":"middle",rotation:0,x:0,y:0,style:d},S=Z(O.color,g.trendlineColor),O.alwaysVisible=pa,S&&(e.style=wa({},d),e.style.color=f(S,oa(O.alpha,100)))):e=void 0,S=ga(Fa(Z(O.tooltext,k.tooltext,g.trendLineToolText))),S=Y(S,[7,15,16,17,18,19],{startValue:Ma,startDataValue:g.numberFormatter[ja](Ma,E),endValue:R,endDataValue:g.numberFormatter[ja](R,E),axisName:W.title&&W.title.text},O),K=oa(O.thickness,g.trendlineThickness,
1),pa?W.plotBands.push({isTrend:!0,color:f(Z(O.color,g.trendlineColor),Z(O.alpha,g.trendlineAlpha,40)),from:Ma,to:R,label:e,zIndex:g.is3d||"1"!==Z(O.showontop,g.showTrendlinesOnTop)?3:5,tooltext:S,alwaysVisible:O.alwaysVisible}):W.plotLines.push({isTrend:!0,color:f(Z(O.color,g.trendlineColor,g.trendlineColor),Z(O.alpha,g.trendlineAlpha,99)),value:Ma,to:R,width:K,dashStyle:"1"==Z(O.dashed,g.trendlinesAreDashed)?s(oa(O.dashlen,g.trendlinesDashLen),oa(O.dashgap,g.trendlinesDashGap),K):"none",label:e,
zIndex:g.is3d||"1"!==Z(O.showontop,g.showTrendlinesOnTop)?3:5,tooltext:S}))}}(),s=function(b,f,h,g){return g||void 0===g?[b,f]:"none"},v=function(){},A=function(b,f,h,g,a){var s,u=A[b],N;u||(N=function(){},N.prototype=h instanceof v?h:new v,N.prototype.constructor=N,u=A[b]=new N,h&&(u.base=h),u.name=b,u.config={},null!==a&&(b=(a instanceof v?a:h instanceof v?h:{}).config)&&wa(u.config,b));g&&wa(u.config,g);for(s in f)switch(typeof f[s]){case "object":if(f[s]instanceof v){u[s]=f[s][s];break}default:u[s]=
f[s];break;case "undefined":delete u[s]}return this instanceof A?(f=function(){this.config={};this.__setDefaultConfig=function(){u&&u.config&&wa(this.config,u.config)};this.__setDefaultConfig()},f.prototype=u,f.prototype.constructor=f,new f):u},Y=function(){var b=[{regex:/((^|[^\\])((\\)\\)*\$cleanvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cleanvalue))/ig,argIndex:2,argKey:"cleanvalue"},{regex:/((^|[^\\])((\\)\\)*\$datavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datavalue))/ig,argIndex:2,argKey:"formattedValue"},
{regex:/((^|[^\\])((\\)\\)*\$value)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$value))/ig,argIndex:3,argKey:"value"},{regex:/((^|[^\\])((\\)\\)*\$label)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$label))/ig,argIndex:2,argKey:"label"},{regex:/((^|[^\\])((\\)\\)*\$seriesname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$seriesname))/ig,argIndex:5,argKey:"seriesname"},{regex:/((^|[^\\])((\\)\\)*\$yaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yaxisname))/ig,argIndex:2,argKey:"yaxisName"},{regex:/((^|[^\\])((\\)\\)*\$xaxisname)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxisname))/ig,argIndex:2,argKey:"xaxisName"},{regex:/((^|[^\\])((\\)\\)*\$displayvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$displayvalue))/ig,argIndex:3,argKey:"displayvalue"},{regex:/((^|[^\\])((\\)\\)*\$xdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xdatavalue))/ig,argIndex:2,argKey:"xDataValue"},{regex:/((^|[^\\])((\\)\\)*\$ydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$ydatavalue))/ig,argIndex:2,argKey:"yDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xvalue))/ig,argIndex:3,argKey:"x"},{regex:/((^|[^\\])((\\)\\)*\$yvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yvalue))/ig,argIndex:3,argKey:"y"},{regex:/((^|[^\\])((\\)\\)*\$zvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zvalue))/ig,argIndex:3,argKey:"z"},{regex:/((^|[^\\])((\\)\\)*\$name)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$name))/ig,argIndex:3,argKey:"name"},{regex:/((^|[^\\])((\\)\\)*\$percentValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentValue))/ig,
argIndex:2,argKey:"percentValue"},{regex:/((^|[^\\])((\\)\\)*\$startValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startValue))/ig,argIndex:2,argKey:"startValue"},{regex:/((^|[^\\])((\\)\\)*\$startDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startDataValue))/ig,argIndex:2,argKey:"startDataValue"},{regex:/((^|[^\\])((\\)\\)*\$endValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endValue))/ig,argIndex:2,argKey:"endValue"},{regex:/((^|[^\\])((\\)\\)*\$endDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endDataValue))/ig,
argIndex:2,argKey:"endDataValue"},{regex:/((^|[^\\])((\\)\\)*\$axisName)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$axisName))/ig,argIndex:2,argKey:"axisName"},{regex:/((^|[^\\])((\\)\\)*\$cumulativevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativevalue))/ig,argIndex:2,argKey:"cumulativeValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativedatavalue))/ig,argIndex:2,argKey:"cumulativeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativePercentValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativePercentValue))/ig,argIndex:2,argKey:"cumulativePercentValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativepercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativepercentdatavalue))/ig,argIndex:2,argKey:"cumulativePercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$sum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sum))/ig,argIndex:2,argKey:"sum"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsum))/ig,argIndex:2,
argKey:"unformattedSum"},{regex:/((^|[^\\])((\\)\\)*\$targetvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetvalue))/ig,argIndex:2,argKey:"targetValue"},{regex:/((^|[^\\])((\\)\\)*\$targetdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetdatavalue))/ig,argIndex:2,argKey:"targetDataValue"},{regex:/((^|[^\\])((\\)\\)*\$processname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$processname))/ig,argIndex:2,argKey:"processName"},{regex:/((^|[^\\])((\\)\\)*\$start)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$start))/ig,
argIndex:2,argKey:"start"},{regex:/((^|[^\\])((\\)\\)*\$end)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$end))/ig,argIndex:2,argKey:"end"},{regex:/((^|[^\\])((\\)\\)*\$percentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentcomplete))/ig,argIndex:2,argKey:"percentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskpercentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskpercentcomplete))/ig,argIndex:2,argKey:"taskPercentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskstartdate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskstartdate))/ig,
argIndex:2,argKey:"taskStartDate"},{regex:/((^|[^\\])((\\)\\)*\$taskenddate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskenddate))/ig,argIndex:2,argKey:"taskEndDate"},{regex:/((^|[^\\])((\\)\\)*\$tasklabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tasklabel))/ig,argIndex:2,argKey:"taskLabel"},{regex:/((^|[^\\])((\\)\\)*\$date)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$date))/ig,argIndex:2,argKey:"date"},{regex:/((^|[^\\])((\\)\\)*\$percentofprevvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentofprevvalue))/ig,
argIndex:2,argKey:"percentOfPrevValue"},{regex:/((^|[^\\])((\\)\\)*\$sname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sname))/ig,argIndex:2,argKey:"sName"},{regex:/((^|[^\\])((\\)\\)*\$lname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lname))/ig,argIndex:2,argKey:"lName"},{regex:/((^|[^\\])((\\)\\)*\$fromid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromid))/ig,argIndex:2,argKey:"fromId"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},
{regex:/((^|[^\\])((\\)\\)*\$toid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toid))/ig,argIndex:2,argKey:"toId"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$fromxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxvalue))/ig,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromyvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromyvalue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromxdatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxdatavalue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromydatavalue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxvalue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toyvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toyvalue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxdatavalue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toydatavalue))/ig,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$openvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$openvalue))/ig,argIndex:2,argKey:"openValue"},{regex:/((^|[^\\])((\\)\\)*\$closevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closevalue))/ig,argIndex:2,argKey:"closeValue"},{regex:/((^|[^\\])((\\)\\)*\$highvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highvalue))/ig,argIndex:2,argKey:"highValue"},{regex:/((^|[^\\])((\\)\\)*\$lowvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowvalue))/ig,argIndex:2,argKey:"lowValue"},{regex:/((^|[^\\])((\\)\\)*\$opendatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$opendatavalue))/ig,argIndex:2,argKey:"openDataValue"},{regex:/((^|[^\\])((\\)\\)*\$closedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closedatavalue))/ig,argIndex:2,argKey:"closeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$highdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highdatavalue))/ig,argIndex:2,argKey:"highDataValue"},{regex:/((^|[^\\])((\\)\\)*\$lowdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowdatavalue))/ig,argIndex:2,argKey:"lowDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$maxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxvalue))/ig,argIndex:2,argKey:"maxValue"},{regex:/((^|[^\\])((\\)\\)*\$maxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxdatavalue))/ig,argIndex:2,argKey:"maxDataValue"},{regex:/((^|[^\\])((\\)\\)*\$minvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$minvalue))/ig,argIndex:2,argKey:"minValue"},{regex:/((^|[^\\])((\\)\\)*\$mindatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mindatavalue))/ig,argIndex:2,argKey:"minDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$q1)/ig,argIndex:2,argKey:"Q1"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ1)/ig,argIndex:2,argKey:"unformattedQ1"},{regex:/((^|[^\\])((\\)\\)*\$q3)/ig,argIndex:2,argKey:"Q3"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ3)/ig,argIndex:2,argKey:"unformattedQ3"},{regex:/((^|[^\\])((\\)\\)*\$median)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$median))/ig,argIndex:2,argKey:"median"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMedian)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMedian))/ig,
argIndex:2,argKey:"unformattedMedian"},{regex:/((^|[^\\])((\\)\\)*\$SD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$SD))/ig,argIndex:2,argKey:"SD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsd)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsd))/ig,argIndex:2,argKey:"unformattedsd"},{regex:/((^|[^\\])((\\)\\)*\$QD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$QD))/ig,argIndex:2,argKey:"QD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedQD))/ig,argIndex:2,
argKey:"unformattedQD"},{regex:/((^|[^\\])((\\)\\)*\$MD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$MD))/ig,argIndex:2,argKey:"MD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMD))/ig,argIndex:2,argKey:"unformattedMD"},{regex:/((^|[^\\])((\\)\\)*\$mean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mean))/ig,argIndex:2,argKey:"mean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},
{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$volumeValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeValue))/ig,argIndex:2,argKey:"volumeValue"},{regex:/((^|[^\\])((\\)\\)*\$volumeDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeDataValue))/ig,argIndex:2,argKey:"volumeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXValue))/ig,
argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYValue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXDataValue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYDataValue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromLabel))/ig,
argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXValue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYValue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXDataValue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYDataValue))/ig,
argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$tlLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlLabel))/ig,argIndex:5,argKey:"tlLabel"},{regex:/((^|[^\\])((\\)\\)*\$trlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trlabel))/ig,argIndex:5,argKey:"trLabel"},{regex:/((^|[^\\])((\\)\\)*\$bllabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$bllabel))/ig,argIndex:5,argKey:"blLabel"},
{regex:/((^|[^\\])((\\)\\)*\$brlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brlabel))/ig,argIndex:5,argKey:"brLabel"},{regex:/((^|[^\\])((\\)\\)*\$rowlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$rowlabel))/ig,argIndex:5,argKey:"rowLabel"},{regex:/((^|[^\\])((\\)\\)*\$columnlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$columnlabel))/ig,argIndex:5,argKey:"columnLabel"},{regex:/((^|[^\\])((\\)\\)*\$errorvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorvalue))/ig,argIndex:2,argKey:"errorValue"},
{regex:/((^|[^\\])((\\)\\)*\$errordatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errordatavalue))/ig,argIndex:2,argKey:"errorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentvalue))/ig,argIndex:2,argKey:"errorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentdatavalue))/ig,argIndex:2,argKey:"errorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorValue))/ig,argIndex:2,argKey:"horizontalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorDataValue))/ig,argIndex:2,argKey:"horizontalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorValue))/ig,argIndex:2,argKey:"verticalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorDataValue))/ig,
argIndex:2,argKey:"verticalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentValue))/ig,argIndex:2,argKey:"horizontalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentDataValue))/ig,argIndex:2,argKey:"horizontalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentValue))/ig,
argIndex:2,argKey:"verticalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentDataValue))/ig,argIndex:2,argKey:"verticalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xaxispercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxispercentvalue))/ig,argIndex:2,argKey:"xAxisPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$percentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentdatavalue))/ig,argIndex:2,
argKey:"percentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$trType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trType))/ig,argIndex:4,argKey:"trtype"},{regex:/((^|[^\\])((\\)\\)*\$tlType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlType))/ig,argIndex:4,argKey:"tltype"},{regex:/((^|[^\\])((\\)\\)*\$brType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brType))/ig,argIndex:4,argKey:"brtype"},{regex:/((^|[^\\])((\\)\\)*\$blType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$blType))/ig,argIndex:4,argKey:"bltype"},{regex:/((^|[^\\])((\\)\\)*\$colorRangeLabel)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$colorRangeLabel))/ig,argIndex:5,argKey:"colorRangeLabel"},{regex:/((^|[^\\])((\\)\\)*\$zdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zdatavalue))/ig,argIndex:2,argKey:"zDataValue"},{regex:/((^|[^\\])((\\)\\)*\$svalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$svalue))/ig,argIndex:3,argKey:"svalue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorValue))/ig,argIndex:2,argKey:"positiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorValue))/ig,argIndex:2,argKey:"negativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$datasvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datasvalue))/ig,argIndex:2,argKey:"formattedsValue"}],f=[],h,g=b.length;for(h=0;h<g;h+=1)f.push(h);return function(){var h=arguments[0],g=arguments[1],a,s,u,v,A;ha(g)||(g=f);if(h)for(A=g.length,v=0;v<A;v+=1)if(u=b[g[v]])a=ca(ga((s=arguments[u.argIndex])&&s[u.argKey],"")+""),h=h.replace(u.regex,"$2$4"+(u.parsingMethod?
u.parsingMethod(a):a)),h=h.replace(u.escapeRegex,"$2$4$5");return h}}(),h=function(){var b=e.createElement("canvas");return!(!b.getContext||!b.getContext("2d"))},pa=function(b){var f,h,g;f=0<=b.split(",")[0].indexOf("base64")?m.atob(b.split(",")[1]):m.unescape(b.split(",")[1]);b=b.split(",")[0].split(":")[1].split(";")[0];h=new Uint8Array(f.length);for(g=0;g<f.length;g++)h[g]=f.charCodeAt(g);return new m.Blob([h],{type:b})},Ma=function(){var b=m.navigator.userAgent,f;return-1!==(f=b.indexOf("Edge"))?
{name:"Edge",version:b.substring(f+5,f+11)}:-1!==(f=b.indexOf("Chrome"))?{name:"Chrome",version:b.substring(f+7,f+11)}:-1!==(f=b.indexOf("MSIE"))||-1!==(f=b.indexOf("rv"))&&-1!==b.indexOf("Trident")?{name:"ie",version:b.substring(f+5,f+9)}:-1!==(f=b.indexOf("Firefox"))?{name:"Firefox",version:b.substring(f+8,f+12)}:-1!==(f=b.indexOf("Safari"))?{name:"Safari",version:b.substring(f+7,f+11)}:{name:"default",version:"Not Known"}},Ga=function(b){return b.replace(/<image [^\>]*\>/gi,function(b){return b.match(/href=["']\s*["']/)||
b.match(/href=["']http:\/\/|href=["']https:\/\//)&&/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]&&m.location.hostname!==/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]?"":b})},Ua=function(b,f,h){var g=Ma(),a;"Chrome"===g.name||"Firefox"===g.name?("blob"===b&&(f=m.URL.createObjectURL(f)),a=e.createElement("a"),a.download=h,a.href=f,e.body.appendChild(a),a.onclick=function(){a.parentNode.removeChild(a)},a.click()):"ie"!==g.name&&"Edge"!==g.name||!m.navigator.msSaveBlob||
(b="url"===b?pa(f):f,m.navigator.msSaveBlob(b,h))},ta=function(b,f){var h,g,a,s;s=f.exportTargetWindow;var u=f.exportCallback,v=f.fusionCharts,A=f.paper,N=f.chartId;g=f.exportHandler;var Y;if("download"===f.exportAction){/webkit/ig.test(m.navigator.userAgent)&&"_self"===s&&(s=a=N+"export_iframe",Y||(Y=a=Na("IFRAME",{name:a,width:"1px",height:"1px"},e.body),a.style.cssText="position:absolute;left:-10px;top:-10px;"));g=Na("form",{method:"POST",action:g,target:s,style:"display:none;"},e.body);for(h in b)Na("input",
{type:"hidden",name:h,value:b[h]},g);g.submit();e.body.removeChild(g);g=void 0;return!0}s=new k.ajax(function(b){var f={};b.replace(RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,h,g,a){f[h]=a});u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,f);k.raiseEvent("exported",f,v)},function(b){b={statusCode:0,statusMessage:"failure",error:b,DOMId:N,width:A&&A.width,height:A&&A.height};u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,b);k.raiseEvent("exported",b,v,[b])});for(h in b)b.hasOwnProperty(h)&&(b[h]=
encodeURIComponent(b[h]));s.post(g,b)},Ob=function(b,f){var h=0,g,a=0,s;b=b.replace(/NS\d+:/gi,"xlink:");b=Ga(b);-1===b.indexOf("<image ")?f(b):(g=b.match(/<image [^\>]*\>/gi).length,b=b.replace(/<image [^\>]*\>/gi,function(u){u=u.replace(/(:href=")([^"]*)(")/gi,function(b,f,g,a){s=g;return f+"{{{"+h+"}}}"+a});var v=e.createElement("canvas"),A,N;A=v.getContext("2d");N=new D;N.src=s;N.ind=h;N.onload=function(){v.width=this.width;v.height=this.height;A.drawImage(this,0,0);var h=v.toDataURL("image/png");
(new D).src=h;b=b.replace(new RegExp("\\{\\{\\{"+N.ind+"\\}\\}\\}","g"),h);a++;g===a&&f(b)};h++;return u}))},Kb=function(b,f){Ob(b,function(b){f("data:image/svg+xml;base64,"+m.btoa(m.unescape(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+b))))})},zb=function(){var b,f,h,g,a,s,u,v;if(this&&this!==m){this.disposing=!0;if(b=this.components)for(h in b)if(f=b[h],f instanceof Array)for(g=f.length,
a=0;a<g;a++)(v=f[a])&&!this.disposing&&(v.dispose?v.dispose():zb.call(v));else f&&!f.disposing&&(f.dispose?f.dispose():zb.call(f));b=this.graphics;for(s in b)if(f=b[s])if(f.hide)f.hide(),f.followers&&f.followers[0]&&(f=f.followers[0].el)&&f.hide&&f.hide();else for(u in f)g=f[u],g.hide&&g.hide();for(h in this)delete this[h]}},oc=function(b,f){return(b.pIndex||0)-(f.pIndex||0)},gc={},xa=Ma();xa.hasCanvas=h();xa.hasSvg=M;k.registrars.component=function(b){var f,h,g,a,s,u,v,A,N;if(b&&b.length&&b[0]&&
b[0].toLowerCase&&(u=b[0].toLowerCase(),A=gc[u]||(gc[u]={}),b[1]&&b[1].toLowerCase)){u=b[1].toLowerCase();if(2==b.length){if("undefined"===typeof A[u])return}else{g=A[u]=A[u]||{constructor:function(){this.config={};this.__setDefaultConfig=function(){g&&g.defConfig&&wa(this.config,g.defConfig)};this.__setDefaultConfig()},defConfig:{}};a=g.constructor;N=g.defConfig;"undefined"!==typeof b[3]&&(v=b[3].toLowerCase(),h=A[v]);if(v&&h){f=new h.constructor;a.prototype=f;a.prototype.constructor=a;v=b[2]||{};
for(s in v)a.prototype[s]="undefined"!==typeof v[s]?v[s]:f[s];a.prototype.__base__=new h.constructor}else if(A[u])for(f in s=b[2],s)a.prototype[f]=s[f];else a.prototype=b[2],a.prototype.constructor=a;null!==b[5]&&("undefined"!==typeof b[5]&&(v=b[5].toLowerCase(),h=A[v]),h&&(h=h.defConfig,wa(N,h)));"undefined"!==typeof b[4]&&wa(N,b[4])}return A[u]&&A[u].constructor}};k.core._setLineHeightFactor=function(b){!(b=I(b))||0>b||($.lineHeightFactor=b)};$.ColorRange=C=function(b){this.linkedItems={iapi:b};
this.configure()};C.prototype={configure:function(){var b=this.linkedItems.iapi,f=b.jsonData,h=f.colorrange&&wa({},f.colorrange).color,f=T(F(oa(f.chart.palette,0)-1,0),4),f=b.defaultPaletteOptions&&b.defaultPaletteOptions.paletteColors[f||0]||$.defaultPaletteOptions.paletteColors[f||0],g=function(b,f){return b.minvalue-f.minvalue},a=b.components,s,u,v,A,N;delete this.defaultAsigned;f instanceof Array||(f=a.colorManager.getPlotColor(0));if(h&&0<h.length){for(u=v=h.length-1;0<=u;--u)if(b=h[u])b.minvalue=
a.numberFormatter.getCleanValue(b.minvalue),b.maxvalue=a.numberFormatter.getCleanValue(b.maxvalue),null===b.minvalue&&(null!==b.maxvalue?b.minvalue=b.maxvalue:u!==v&&h.splice(u,1)),void 0!==b.label&&(b.label=Fa(b.label)),void 0!==b.name&&(b.name=Fa(b.name)),null!==b.maxvalue&&b.minvalue>b.maxvalue&&(A=b.minvalue,b.minvalue=b.maxvalue,b.maxvalue=A);h.sort(g);h[0].code||(h[0].code=f[0]);void 0===ga(h[0].alpha)&&(h[0].alpha="100");u=0;for(v=h.length-1;u<v;u+=1)if(a=u+1,b=h[u],g=h[a],g.code||(g.code=
f[a]),void 0===ga(g.alpha)&&(g.alpha="100"),null===b.maxvalue&&(b.maxvalue=g.minvalue),b.maxvalue>g.minvalue){if(b.maxvalue>g.maxvalue){a=wa(b);a.maxvalue=b.maxvalue;N=a.minvalue=g.maxvalue;for(A=u+2;A<v&&h[A].minvalue<N;A+=1);h.splice(A,0,a);v+=1}b.maxvalue=g.minvalue}b=h[u];null===b.maxvalue&&(b.maxvalue=b.minvalue)}h&&0<h.length||(s||(s={code:"CCCCCC",alpha:"100",bordercolor:"000000",borderalpha:"100"}),h=[s],this.defaultAsigned=!0);this.colorArr=h},getColorObj:function(b){for(var f=this.colorArr,
h=0,g=f.length,a,s,u={};h<g;h+=1){u.index=h;a=f[h];s=f[h+1];if(b<a.minvalue)return u.nextObj=a,u;if(b>=a.minvalue&&b<=a.maxvalue)return u.colorObj=a,s&&b==s.minvalue&&(u.nextObj=s,u.isOnMeetPoint=!0),u;u.prevObj=a}u.index=h-1;return u},getColorRangeArr:function(b,f){var h,g=this.colorArr,a,s,u=[],v,A;if(!this.defaultAsigned&&(b>f&&(h=b,b=f,f=h),b<f&&(a=this.getColorObj(b),s=this.getColorObj(f),a&&s))){h=b;a=a.index;for(s=s.index;a<=s;a+=1)v=wa({},g[a]),v.minvalue!==h&&(v.minvalue=h),u.push(v),A=v,
h=v.maxvalue;A.maxvalue=f}return u}};C.prototype.constructor=C;$.nonGradientColorRange=C=function(b){var f=b.sortLegend||!1,h=b.mapByCategory||!1,g=b.numberFormatter;b=(b.colorRange||{}).color;var a=this.colorArr=[],s,u,v,A,N,Y,d=function(b,f){return b.maxvalue-f.maxvalue};this.mapByCategory=h;if(b&&(s=b.length)){for(u=0;u<s;u+=1)A=b[u],v=Z(A.color,A.code),N=oa(A.maxvalue),Y=oa(A.minvalue),A=Z(A.label,A.displayvalue,h?"":g.dataLabels(Y)+" - "+g.dataLabels(N)),(v&&N>Y||h&&A)&&a.push({code:v,maxvalue:N,
minvalue:Y,label:Fa(A),labelId:A.toLowerCase()});a.length?f&&a.sort(d):this.noValidRange=!0}};C.prototype={getColorObj:function(b){var f=this.colorArr,h=this.gradient?1:0,g=f[h],a;if(this.mapByCategory){for(b=Fa(b).toLowerCase();g;){if(g.labelId===b)return{code:g.code,seriesIndex:h};h+=1;g=f[h]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=b&&this.scaleMax>=b){for(;g&&g.maxvalue<b;)h+=1,g=f[h];b=(b-g.minvalue)/g.range;f=f[h-1].codeRGB;g=g.codeRGB;h=f[0];a=f[1];f=f[2];return{code:("000000"+
(h+(g[0]-h)*b<<16|a+(g[1]-a)*b<<8|f+(g[2]-f)*b).toString(16)).slice(-6)}}return{outOfRange:!0}}for(;g;){if(g.maxvalue>b&&g.minvalue<=b)return{code:g.code,seriesIndex:h};g.maxvalue===b&&(a=h);h+=1;g=f[h]}return(g=f[a])&&g.maxvalue===b?{code:g.code,seriesIndex:a}:{outOfRange:!0}}};C.prototype.constructor=C;k.extend($,{BLANKSTRINGPLACEHOLDER:"#BLANK#",BLANKSTRING:"",COLOR_BLACK:"000000",COLOR_GLASS:"rgba(255, 255, 255, 0.3)",COLOR_WHITE:"FFFFFF",COLOR_TRANSPARENT:"rgba(0,0,0,0)",HASHSTRING:"#",BREAKSTRING:"<br />",
STRINGSTRING:"string",OBJECTSTRING:"object",COMMASTRING:",",ZEROSTRING:"0",SAMPLESTRING:"Ay0",TESTSTR:"Ag",ONESTRING:"1",DECIMALSTRING:".",STRINGUNDEFINED:"undefined",POSITION_TOP:"top",POSITION_RIGHT:"right",POSITION_BOTTOM:"bottom",POSITION_LEFT:"left",POSITION_CENTER:"center",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_END:"end",FC_CONFIG_STRING:"_FCconf",SHAPE_RECT:"rect",HUNDREDSTRING:"100",PXSTRING:"px",COMMASPACE:", ",TEXTANCHOR:"text-anchor",TOUCH_THRESHOLD_PIXELS:15,CLICK_THRESHOLD_PIXELS:5,
regex:{stripWhitespace:n,dropHash:z,startsRGBA:G,cleanColorCode:q,breakPlaceholder:t,hexcode:/^#?[0-9a-f]{6}/i},fireEvent:function(b,f,h,g){$.dem.fire(b,f,h,g)},plotEventHandler:function(b,f,h){f=f||{};var g=f.type,a=U(b.linkedItems.container,f),a=wa(a,this.data("eventArgs")),s=b.fireGroupEvent,u=this.data("groupId"),v=function(b,h){f.FusionChartsPreventEvent=!0;J&&h.toolText&&$.toolTip&&$.toolTip.preventTooltip()};"index"in a&&!("dataIndex"in a)&&(a.dataIndex=a.index);"value"in a&&!("dataValue"in
a)&&(a.dataValue=a.value);h=Z(h,"dataplotclick").toLowerCase();"dataplotrollover"===h?(f.FusionChartsPreventEvent=!1,s?k.raiseEventGroup(u,h,a,b.chartInstance,void 0,void 0,v):k.raiseEvent(h,a,b.chartInstance,void 0,void 0,v)):s&&"dataplotclick"!==h?k.raiseEventGroup(u,h,a,b.chartInstance):k.raiseEvent(h,a,b.chartInstance);if(("click"===g||"mouseup"===g||"touchend"===g)&&/click/i.test(h)){if(P&&!fa){h=(new Date).getTime();if(this.lastClickTimeStamp&&400>h-this.lastClickTimeStamp){f&&(f.originalEvent||
f).preventDefault();return}this.lastClickTimeStamp=h}b.linkedItems&&b.linkedItems.linkClickFN.call({link:a.link},b)}},getEventCoordinate:Ha,getMouseCoordinate:U,addEvent:Ja,removeEvent:R,getTouchEvent:ua,extend2:wa,deltend:function(b,f){if("object"!==typeof b||"object"!==typeof f)return null;Ta(b,f);return b},imprint:function(b,f,h){var g;if("object"!==typeof b||null===b)return f;if("object"!==typeof f||null===f)return b;for(g in f)if(void 0===b[g]||!h&&null===b[g])b[g]=f[g];return b},pluck:Z,pluckNumber:oa,
getFirstDefinedValue:function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b||""==b)return b},createElement:Na,hashify:la,dehashify:function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"$1")||"none"},pluckFontSize:function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if(((b=arguments[f])||!1===b||0===b)&&!isNaN(b=Number(b)))return 1>b?1:b;return 1},getValidValue:ga,getPosition:X,getViewPortDimension:ea,bindSelectionEvent:function(b,f){f=f||{};var h=b.config,g=
b.linkedItems.container,a=h.zoomType,s=wa({},f.attr||{}),u=s["stroke-width"]=oa(s.strokeWidth,s["stroke-width"],1),v=X(g),A=b.eventListeners||(b.eventListeners=[]);f=wa({chart:b,zoomX:/x/.test(a),zoomY:/y/.test(a),canvasY:h.canvasTop,canvasX:h.canvasLeft,canvasW:h.canvasWidth,canvasH:h.canvasHeight,canvasX2:h.canvasLeft+h.canvasWidth,canvasY2:h.canvasTop+h.canvasHeight,strokeWidth:u,chartPosLeft:v.left,chartPosTop:v.top,attr:s},f);s.stroke=da(s.stroke,"rgba(51,153,255,0.8)");s.fill=da(s.fill,"rgba(185,213,241,0.3)");
s.ishot=!0;g&&(R(g,"pointerdrag",ba),A.push(Ja(g,"pointerdrag",ba,f)));h.link&&(R(b.linkedItems.container,"mouseup mousedown",ia),A.push(Ja(b.linkedItems.container,"mouseup mousedown",ia,f)))},createContextMenu:function(b){var f=b.chart,h=f.smartLabel,g=f.logic.hcJSON&&f.logic.hcJSON.chart.useRoundEdges,a=$.Raphael,s=function(b){var f=b.menufillcolor&&la(b.menufillcolor),h=b.menulabelcolor&&la(b.menulabelcolor),g=b.menufillhovercolor&&la(b.menufillhovercolor);b=b.menulabelhovercolor&&la(b.menulabelhovercolor);
return{attrs:{backgroundColor:f,color:h},hover:{backgroundColor:g,color:b}}}(f.definition.chart),u=function(b,f,h){f=f||{};b=(b=(b=b&&a.tintshade(b.color,.7))&&a.getRGB(b))&&"rgb("+[b.r,b.g,b.b].join()+")";return{backgroundColor:f.backgroundHoverColor||h.backgroundColor||b||"rgb(64, 64, 64)",color:f.hoverColor||h.color||"#FFFFFF"}}(b.basicStyle,b.hover,s.hover),v=function(b,f,h){f=wa({},f||{});f=wa(f,b);return{fontFamily:f.fontFamily||"Verdana,sans",fontSize:f.fontSize||"10px",color:f.color||h.color||
"#000000",backgroundColor:f.backgroundColor||h.backgroundColor||"rgb(255, 255, 255)"}}(b.basicStyle,b.attrs,s.attrs),A={textAlign:"left",align:"left",paddingLeft:"5px",paddingRight:"5px",paddingTop:"5px",cursor:"pointer",borderWidth:"0px"},N=b.items,Y=b.position,d=b.verticalPadding||3,c=b.horizontalPadding||6,L={},O,l,pa,S,W,Ma,K,R,E,k,ja,Ga,Ua;if(f)O=X(f.linkedItems.container);else return!1;S=function(){var b=L.items,f=b.length,a=0,s=0,u=0,N,Y;L.menuItems||(L.menuItems=[]);for(h.setStyle(v);f--;)N=
b[f],N=h.getOriSize(N.text),u||(u=N.height+2*d),a+=u,s=F(s,N.width+2*c);L.height=a;L.width=s;L.itemH=u;this.style.width=s+"px";L.menuRect||(a=L.menuRect=e.createElement("div"),a.style.border="1px solid rgb(100, 100, 100)",g&&(a.style.mozBorderRadius="4px",a.style.webkitBorderRadius="4px",a.style.borderRadius="4px",a.style.overflow="hidden"),J&&!M?a.style.filter="progid:DXImageTransform.Microsoft.Shadow(Color=#999999,direction=135,strength=3)":(a.style.mozBoxShadow="3px 3px 3px #999",a.style.webkitBoxShadow=
"3px 3px 3px #999",a.style.boxShadow="3px 3px 3px #999"),this.appendChild(a));s=b.length;for(f=0;f<s;f+=1)if(N=b[f],L.menuItems[f])L.menuItems[f].label.innerHTML=N.text;else{L.menuItems[f]={};a=L.menuItems[f].box=e.createElement("div");a.style.height=u+"px";a.style.lineHeight=u+"px";for(Y in A)a.style[Y]=A[Y];for(Y in v)a.style[Y]=v[Y];L.menuRect.appendChild(a);a.innerHTML=N.text;$.dem.listen(a,"click",Ua);$.dem.listen(a,"pointerhover",k);L.menuItems[f].box._itemIdx=f}for(;L.menuItems[f];)L.menuItems[f].box.parentNode.removeChild(L.menuItems[f].box),
L.menuItems.splice(f,1)};W=function(){pa||(pa=e.createElement("div"),pa.style.position="absolute",pa.style.zIndex="50",pa.style.display="none",f.linkedItems.container.appendChild&&f.linkedItems.container.appendChild(pa));return pa};Ma=function(){l=setTimeout(L.hide,800)};K=function(){l&&clearTimeout(l)};R=function(b){var h=b.x;b=b.y;var g={x:h,y:b},a=L.width,s=L.height,u=f.chartHeight,v=f.chartWidth;h+a>v&&0<h-a?g.x-=a:h+a>v&&(g.x=0);b+s>u&&0<b-s&&(g.y-=s);return g};E=function(){L.hide()};k=function(b){b.target&&
b.target.parentNode&&("start"===b.state?ja:Ga).call(b.target)};ja=function(){var b=L.menuItems[this._itemIdx],f;K();for(f in u)b.box.style[f]=u[f]};Ga=function(){var b=L.menuItems[this._itemIdx],f;for(f in v)b.box.style[f]=v[f];Ma()};Ua=function(b){var f=L.items[this._itemIdx];f.onclick&&f.onclick.call(f,b);b.originalEvent.stopPropagation?b.originalEvent.stopPropagation():b.originalEvent.cancelBubble=!0;L.hide()};L.showItem=function(b){b=this.menuItems[b];var f=this.height,h=this.itemH;b&&b._isHidden&&
(b.box.style.display="",this.height=f+h,b._isHidden=!1,b=R(Y),this.left=b.x,this.top=b.y)};L.hideItem=function(b){b=this.menuItems[b];var f=this.height,h=this.itemH;b&&!b._isHidden&&(b.box.style.display="none",this.height=f-h,b._isHidden=!0,b=R(Y),this.left=b.x,this.top=b.y)};L.redraw=function(){var b=this.menuContainer;this.items=N;b?S.call(this.menuContainer):Y&&void 0!==Y.x&&void 0!==Y.y?(this.menuContainer=W(),S.call(this.menuContainer),b=R(Y),this.left=b.x,this.top=b.y,this.menuContainer.style.left=
this.left+"px",this.menuContainer.style.top=this.top+"px"):(this.menuContainer=W(),S.call(this.menuContainer))};L.show=function(b){var f=this;b&&void 0!==b.x&&void 0!==b.y?(b=R(b),f.menuContainer.style.left=b.x+"px",f.menuContainer.style.top=b.y+"px"):(f.menuContainer.style.left=f.left+"px",f.menuContainer.style.top=f.top+"px");f.menuContainer.style.display="";setTimeout(function(){f.visible=!0;a.click(E)},400)};L.hide=function(){this.visible&&(this.visible=!1,L.menuContainer.style.display="none",
L.menuContainer.style.left=-L.width+"px",L.menuContainer.style.top=-L.height+"px",a.unclick(E))};L.update=function(b){b&&b.length&&(this.items=b,this.redraw())};L.updatePosition=function(b){var h=O.left,g=O.top;O=X(f.linkedItems.container);b?(Y=b,b=R(b),this.left=b.x,this.top=b.y):(this.left-=h-O.left,this.top-=g-O.top)};L.add=function(b){var f=this.menuItems,g=f.length,a;h.setStyle(v);this.width=F(this.width,h.getOriSize(b.text).width);f[g]={};f=f[g].box=e.createElement("div");f.style.height=this.itemH+
"px";f.style.lineHeight=this.itemH+"px";for(a in A)f.style[a]=A[a];for(a in v)f.style[a]=v[a];L.menuRect.appendChild(f);f.innerHTML=b.text;$.dem.listen(f,"click",Ua);$.dem.listen(f,"pointerhover",k);L.menuItems[g].box._itemIdx=g;this.height+=this.itemH};L.removeItems=function(){for(var b=this.menuItems,f=b&&b.length,h;f--;)h=b[f],$.dem.unlisten(h.box,"click",Ua),$.dem.unlisten(h.box,"pointerhover",k),h.box&&h.box.parentNode&&h.box.parentNode.removeChild(h.box);delete this.menuItems;delete this.items};
L.setPosition=function(b){void 0!==b.x&&void 0!==b.y&&(this.menuContainer.style.x=b.x,this.menuContainer.style.y=b.y)};L.destroy=function(){this.removeItems();this.menuContainer.parentNode.removeChild(this.menuContainer)};N&&N.length&&(L.redraw(),L.hide());return L},each:function(b,f,h,g){var a;h||(h=b);g||(g={});if(ha(b))for(a=0;a<b.length;a+=1){if(!1===f.call(h,b[a],a,b,g))return a}else if(null!==b&&void 0!==b)for(a in b)if(!1===f.call(h,b[a],a,b,g))return a},getDefinedColor:function(b,f){return b||
0===b||""===b?b:f},getFirstValue:da,getFirstColor:na,getColorCodeString:function(b,f){var h="",g,a,s=0,u=f.split(",");for(a=u.length;s<a;s+=1)g=u[s].split("-"),h=2===g.length?"-1"!==g[0].indexOf("dark")?h+(O(b,100-parseInt(g[1],10))+","):h+(L(b,100-parseInt(g[1],10))+","):h+(u[s]+",");return h.substring(0,h.length-1)},pluckColor:function(b){if(ga(b))return b=b.split(",")[0],b=b.replace(n,""),""==b&&(b="000000"),b.replace(z,"#")},toRaphaelColor:g,gradientify:u,trimString:function(b){b=b.replace(/^\s\s*/,
"");for(var f=/\s/,h=b.length;f.test(b.charAt(--h)););return b.slice(0,h+1)},getFirstAlpha:ra,parsePointValue:Ca,parseUnsafeString:Fa,parseTooltext:Y,toPrecision:function(b,f){var h=d(10,f);return B(b*h)/h},hasTouch:a,CREDIT_HREF:H,CREDIT_STRING:"FusionCharts XT Trial",getSentenceCase:function(b){b=b||"";return b.charAt(0).toUpperCase()+b.substr(1)},getCrispValues:function(b,f,h){var g=h%2/2;h=B(b+g)-g;b=B(b+f+g)-g-h;return{position:h,distance:b}},regescape:function(b){return b&&b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,
"\\$&")},regReplaceEscape:ca,getImageURL:Pa,isArray:ha,preDefStr:{colors:{B90000:"B90000"},line:"line",bar:"bar",column:"column",volume:"volume"},stubFN:function(){},falseFN:function(){return!1},stableSort:function(b,f){var h=b.length,g;for(g=0;g<h;g++)b[g].ssI=g;b.sort(function(b,h){var g=f(b,h);return 0===g?b.ssI-h.ssI:g});for(g=0;g<h;g++)delete b[g].ssI},hasSVG:M,isIE:J,lineHeightFactor:1.2,getLinkAction:function(b,f){var h=function(b){return b};return function(g){var a=b.chart||b.map||{},s=oa(a.unescapelinks,
1),a=oa(a.clickurloverridesplotlinks,0),u=da(this.link,"");g=g.config&&g.config.link||"";var v=a?Z(g,u):Z(u,g),A=v,N,Y,d,L,c,O,l,e,pa,S;void 0!==v&&(s&&(v=m.decodeURIComponent?m.decodeURIComponent(v):m.unescape(v)),v=v.replace(/^\s+/,"").replace(/\s+$/,""),-1!==v.search(/^[a-z]*\s*[\-\:]\s*/i)&&(c=v.split(/\s*[\-\:]\s*/)[0].toLowerCase(),S=c.length),setTimeout(function(){switch(c){case "j":v=v.replace(/^j\s*\-/i,"j-");N=v.indexOf("-",2);-1===N?qa(v.slice(2)):qa(v.substr(2,N-2).replace(/\s/g,""),v.slice(N+
1));break;case "javascript":Oa(v.replace(/^javascript\s*\:/i,""));break;case "n":v.replace(/^n\s*\-/i,"n-");m.open(h(v.slice(2),s));break;case "f":v=v.replace(/^f\s*\-/i,"f-");N=v.indexOf("-",2);-1!==N?(Y=v.substr(2,N-2))&&m.frames[Y]?m.frames[Y].location=h(v.slice(N+1),s):m.open(h(v.slice(N+1),s),Y):m.open(h(v.slice(2),s));break;case "p":v=v.replace(/p\s*\-/i,"p-");N=v.indexOf("-",2);d=v.indexOf(",",2);-1===N&&(N=1);L=h(v.slice(N+1),s);m.open(L,v.substr(2,d-2),v.substr(d+1,N-d-1)).focus();break;
case "newchart":case "newmap":":"===v.charAt(S)&&(N=v.indexOf("-",S+1),pa=v.substring(S+1,N),S=N);N=v.indexOf("-",S+1);O=v.substring(S+1,N).toLowerCase();switch(O){case "xmlurl":case "jsonurl":e=v.substring(N+1,v.length);break;case "xml":case "json":var g=l=v.substring(N+1,v.length),a={chart:{}},u,g=g.toLowerCase();if(b.linkeddata)for(u=0;u<b.linkeddata.length;u+=1)b.linkeddata[u].id.toLowerCase()===g&&(a=b.linkeddata[u].linkedchart||b.linkeddata[u].linkedmap);e=a;O="json"}k.raiseEvent("linkedChartInvoked",
{alias:pa,linkType:O.toUpperCase(),data:e},f);break;default:m.location.href=v}k.raiseEvent("linkClicked",{linkProvided:A,linkInvoked:v,linkAction:c&&c.toLowerCase()},f)},0))}},graphics:{parseAlpha:b,convertColor:f,getDarkColor:L,getLightColor:O,mapSymbolName:function(b,f){var h="circle";b=Ca(b);3<=b&&(h=(f?"spoke_":"poly_")+b);return h},getColumnColor:function(f,h,g,a,s,u,v,A,N){var Y,d;Y=f.split(",");d=h.split(",");u=u.split(",");v=v.split(",");f=f.replace(/\s/g,"").replace(/\,$/,"");N?A={FCcolor:{color:Y[0],
alpha:d[0]}}:s?(f=Y[0],d=d[0],A={FCcolor:{color:L(f,75)+","+O(f,10)+","+L(f,90)+","+O(f,55)+","+L(f,80),alpha:d+","+d+","+d+","+d+","+d,ratio:"0,11,14,57,18",angle:A?"90":"0"}},u=[L(f,70)]):(h=b(h,Y.length),A={FCcolor:{color:f,alpha:h,ratio:g,angle:A?-a:a}});return[A,{FCcolor:{color:u[0],alpha:v[0]}}]},getPointColor:function(b,f){var h,g;b=na(b);f=ra(f);h=O(b,70);g=L(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:h+","+g,alpha:f+","+f,ratio:void 0,radialGradient:!0}}},
getAngle:function(b,f,h){b=180*Math.atan(f/b)/Math.PI;2==h?b=180-b:3==h?b+=180:4==h&&(b=360-b);return b},parseColor:N,getValidColor:function(b){return c.test(N(b))&&b},HSBtoRGB:function(b){var f=b[0],h=0,g=0,a=0,s=[],s=b[1]/100;b=b[2]/100;var u=f/60-Math.floor(f/60),v=b*(1-s),A=b*(1-u*s),s=b*(1-(1-u)*s);switch(Math.floor(f/60)%6){case 0:h=b;g=s;a=v;break;case 1:h=A;g=b;a=v;break;case 2:h=v;g=b;a=s;break;case 3:h=v;g=A;a=b;break;case 4:h=s;g=v;a=b;break;case 5:h=b,g=v,a=A}return s=[B(255*h),B(255*
g),B(255*a)]},RGBtoHSB:function(b){var f=b[0],h=b[1];b=b[2];var g=Math.max(Math.max(f,h),b),a=Math.min(Math.min(f,h),b),s=0,u=0;g==a?s=0:g==f?s=(60*(h-b)/(g-a)+360)%360:g==h?s=60*(b-f)/(g-a)+120:g==b&&(s=60*(f-h)/(g-a)+240);u=0===g?0:(g-a)/g;return[B(s),B(100*u),B(g/255*100)]},RGBtoHex:function(b){return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},rawRGBtoHEX:function(b){b=b.match(/[\d+]+/g).splice(0,3);return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},HEXtoRGB:S},setImageDisplayMode:function(b,
f,h,g,a,s,u,v){var A=g/100*v.width;g=g/100*v.height;v={};var N,Y=s-2*a;N=u-2*a;var d=function(b,f,h,g,s,v){var u={};switch(b){case "top":u.y=a;break;case "bottom":u.y=v-g-a;break;case "middle":u.y=(v-g)/2}switch(f){case "left":u.x=a;break;case "right":u.x=s-h-a;break;case "middle":u.x=(s-h)/2}return u};switch(b){case "center":v.width=A;v.height=g;v.y=u/2-g/2;v.x=s/2-A/2;break;case "stretch":v.width=s-2*a;v.height=u-2*a;v.y=a;v.x=a;break;case "tile":v.width=A;v.height=g;v.tileInfo={};v.tileInfo.xCount=
b=Math.ceil(Y/A);v.tileInfo.yCount=N=Math.ceil(N/g);f=d(f,h,A*b,g*N,s,u);v.y=f.y;v.x=f.x;break;case "fit":b=A/g>Y/N?Y/A:N/g;v.width=A*b;v.height=g*b;f=d(f,h,v.width,v.height,s,u);v.y=f.y;v.x=f.x;break;case "fill":b=A/g>Y/N?N/g:Y/A;v.width=A*b;v.height=g*b;f=d(f,h,v.width,v.height,s,u);v.y=f.y;v.x=f.x;break;default:f=d(f,h,A,g,s,u),v.width=A,v.height=g,v.y=f.y,v.x=f.x}return v},setLineHeight:W,parsexAxisStyles:ja,supportedStyle:{font:"font",fontFamily:"font-family","font-family":"font-family",fontWeight:"font-weight",
"font-weight":"font-weight",fontSize:"font-size","font-size":"font-size",lineHeight:"line-height","line-height":"line-height",textDecoration:"text-decoration","text-decoration":"text-decoration",color:"color",whiteSpace:"white-space","white-space":"white-space",padding:"padding",margin:"margin",background:"background",backgroundColor:"background-color","background-color":"background-color",backgroundImage:"background-image","background-image":"background-image",backgroundPosition:"background-position",
"background-position":"background-position",backgroundPositionLeft:"background-position-left","background-position-left":"background-position-left",backgroundPositionTop:"background-position-top","background-position-top":"background-position-top",backgroundRepeat:"background-repeat","background-repeat":"background-repeat",border:"border",borderColor:"border-color","border-color":"border-color",borderStyle:"border-style","border-style":"border-style",borderThickness:"border-thickness","border-thickness":"border-thickness",
borderTop:"border-top","border-top":"border-top",borderTopColor:"border-top-color","border-top-color":"border-top-color",borderTopStyle:"border-top-style","border-top-style":"border-top-style",borderTopThickness:"border-top-thickness","border-top-thickness":"border-top-thickness",borderRight:"border-right","border-right":"border-right",borderRightColor:"border-right-color","border-right-color":"border-right-color",borderRightStyle:"border-right-style","border-right-style":"border-right-style",borderRightThickness:"border-right-thickness",
"border-right-thickness":"border-right-thickness",borderBottom:"border-bottom","border-bottom":"border-bottom",borderBottomColor:"border-bottom-color","border-bottom-color":"border-bottom-color",borderBottomStyle:"border-bottom-style","border-bottom-style":"border-bottom-style",borderBottomThickness:"border-bottom-thickness","border-bottom-thickness":"border-bottom-thickness",borderLeft:"border-left","border-left":"border-left",borderLeftColor:"border-left-color","border-left-color":"border-left-color",
borderLeftStyle:"border-left-style","border-left-Style":"border-left-style",borderLeftThickness:"border-left-thickness","border-left-thickness":"border-left-thickness"},getAxisLimits:K,createTrendLine:Qa,getDashStyle:s,axisLabelAdder:La,chartAPI:A,createDialog:E,isCanvasElemSupported:h,componentDispose:zb,componentConfigurer:function(b){var f,h,g=[],a,s,v,u={};b=b||this;f=b.components;for(v in f)if(h=f[v],h instanceof Array)for(s=h.length,a=0;a<s;a+=1)g.push(h[a]);else g.push(h);g.sort(oc);s=g.length;
for(a=0;a<s;a+=1)h=g[a],f=h.customConfigFn,null!==f&&(f&&b[f]?u[f]||(b[f](),u[f]=!0):h.configure&&h.configure())},getSvgDataurl:Kb,removeCrossDomainImages:Ga,getBrowserDetails:Ma,dataurlToBlob:pa,downloadCharts:function(b,f,h,g,a){f?Ua(b,f,h):ta(g,a)},browserDetails:xa,drawSvgOnCanvas:function(b,f,h,g,a,s,v){"ie"==xa.name?(b=Ga(b),new r(b,f,h,g,a,s,function(){v()})):Kb(b,function(b){var u,A;u=f.getContext("2d");A=new D;A.src=b;A.onload=function(){u.drawImage(A,h,g,a,s);v()}})}})}]);
window.FusionCharts&&window.FusionCharts.register("module",["private","vendor.redraphael",function(){var k=this.hcLib,m=window.Raphael,C;(function(){(function(k,e){var a=/[\.\/]/,m=function(){},C=function(a,e){return a-e},I,n,z={n:{}},G=function(a,e){a=String(a);var c=n,k=Array.prototype.slice.call(arguments,2),d=G.listeners(a),m=0,z,l=[],w={},H=[],F=I;I=a;for(var r=n=0,D=d.length;r<D;r++)"zIndex"in d[r]&&(l.push(d[r].zIndex),0>d[r].zIndex&&(w[d[r].zIndex]=d[r]));for(l.sort(C);0>l[m];)if(z=w[l[m++]],
H.push(z.apply(e,k)),n)return n=c,H;for(r=0;r<D;r++)if(z=d[r],"zIndex"in z)if(z.zIndex==l[m]){H.push(z.apply(e,k));if(n)break;do if(m++,(z=w[l[m]])&&H.push(z.apply(e,k)),n)break;while(z)}else w[z.zIndex]=z;else if(H.push(z.apply(e,k)),n)break;n=c;I=F;return H.length?H:null};G._events=z;G.listeners=function(e){e=e.split(a);var k=z,c,p,d,n,m,l,w,H=[k],F=[];d=0;for(n=e.length;d<n;d++){w=[];m=0;for(l=H.length;m<l;m++)for(k=H[m].n,c=[k[e[d]],k["*"]],p=2;p--;)if(k=c[p])w.push(k),F=F.concat(k.f||[]);H=w}return F};
G.on=function(e,k){e=String(e);if("function"!=typeof k)return function(){};for(var c=e.split(a),p=z,d=0,n=c.length;d<n;d++)p=p.n,p=p.hasOwnProperty(c[d])&&p[c[d]]||(p[c[d]]={n:{}});p.f=p.f||[];d=0;for(n=p.f.length;d<n;d++)if(p.f[d]==k)return m;p.f.push(k);return function(a){+a==+a&&(k.zIndex=+a)}};G.f=function(a){var e=[].slice.call(arguments,1);return function(){G.apply(null,[a,null].concat(e).concat([].slice.call(arguments,0)))}};G.stop=function(){n=1};G.nt=function(a){return a?(new RegExp("(?:\\.|\\/|^)"+
a+"(?:\\.|\\/|$)")).test(I):I};G.nts=function(){return I.split(a)};G.off=G.unbind=function(e,k){if(e){var c=e.split(a),p,d,n,m,l,w,H=[z];m=0;for(l=c.length;m<l;m++)for(w=0;w<H.length;w+=n.length-2){n=[w,1];p=H[w].n;if("*"!=c[m])p[c[m]]&&n.push(p[c[m]]);else for(d in p)p.hasOwnProperty(d)&&n.push(p[d]);H.splice.apply(H,n)}m=0;for(l=H.length;m<l;m++)for(p=H[m];p.n;){if(k){if(p.f){w=0;for(c=p.f.length;w<c;w++)if(p.f[w]==k){p.f.splice(w,1);break}!p.f.length&&delete p.f}for(d in p.n)if(p.n.hasOwnProperty(d)&&
p.n[d].f){n=p.n[d].f;w=0;for(c=n.length;w<c;w++)if(n[w]==k){n.splice(w,1);break}!n.length&&delete p.n[d].f}}else for(d in delete p.f,p.n)p.n.hasOwnProperty(d)&&p.n[d].f&&delete p.n[d].f;p=p.n}}else G._events=z={n:{}}};G.once=function(a,e){var c=function(){G.unbind(a,c);return e.apply(this,arguments)};return G.on(a,c)};G.version="0.4.2";G.toString=function(){return"You are running Eve 0.4.2"};"undefined"!=typeof module&&module.exports?module.exports=G:e||"undefined"==typeof define?k.eve=G:define("eve",
[],function(){return G})})(this,!0);(function(k,e,a){!a&&"function"===typeof define&&define.amd?define(["eve"],function(a){return e(k,a)}):e(k,k.eve)})(this,function(k,e){function a(b){var f,h;void 0===a._url&&(a._url="");if(a.is(b,"function"))return B?b():e.on("raphael.DOMload",b);if(a.is(b,w))return a._engine.create[Q](a,b.splice(0,3+a.is(b[0],l))).add(b);f=Array.prototype.slice.call(arguments,0);return a.is(f[f.length-1],"function")?(h=f.pop(),B?h.call(a._engine.create[Q](a,f)):e.on("raphael.DOMload",
function(){h.call(a._engine.create[Q](a,f))})):a._engine.create[Q](a,arguments)}function m(){return this.hex}function J(b,f){for(var h=[],g=0,a=b.length;a-2*!f>g;g+=2){var s=[{x:+b[g-2],y:+b[g-1]},{x:+b[g],y:+b[g+1]},{x:+b[g+2],y:+b[g+3]},{x:+b[g+4],y:+b[g+5]}];f?g?a-4==g?s[3]={x:+b[0],y:+b[1]}:a-2==g&&(s[2]={x:+b[0],y:+b[1]},s[3]={x:+b[2],y:+b[3]}):s[0]={x:+b[a-2],y:+b[a-1]}:a-4==g?s[3]=s[2]:g||(s[0]={x:+b[g],y:+b[g+1]});h.push(["C",(-s[0].x+6*s[1].x+s[2].x)/6,(-s[0].y+6*s[1].y+s[2].y)/6,(s[1].x+
6*s[2].x-s[3].x)/6,(s[1].y+6*s[2].y-s[3].y)/6,s[2].x,s[2].y])}return h}function I(b,f,h,g,a,s,v,u,A){null==A&&(A=1);A=(1<A?1:0>A?0:A)/2;for(var N=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],Y=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,L=0;12>L;L++)var c=A*N[L]+A,O=c*(c*(-3*b+9*h-9*a+3*v)+6*b-12*h+6*a)-3*b+3*h,c=c*(c*(-3*f+9*g-9*s+3*u)+6*f-12*g+6*s)-3*f+3*g,d=d+Y[L]*Da(O*O+c*c);return A*d}function n(b,f,h,g,a,s,v,u,A){if(!(0>A||
I(b,f,h,g,a,s,v,u)<A)){var N=.5,Y=1-N,d;for(d=I(b,f,h,g,a,s,v,u,Y);.01<Ca(d-A);)N/=2,Y+=(d<A?1:-1)*N,d=I(b,f,h,g,a,s,v,u,Y);return Y}}function z(b,f,h){b=a._path2curve(b);f=a._path2curve(f);for(var g,s,v,u,A,N,Y,d,c,L,O=h?0:[],l=0,e=b.length;l<e;l++)if(c=b[l],"M"==c[0])g=A=c[1],s=N=c[2];else{"C"==c[0]?(c=[g,s].concat(c.slice(1)),g=c[6],s=c[7]):(c=[g,s,g,s,A,N,A,N],g=A,s=N);for(var pa=0,S=f.length;pa<S;pa++)if(L=f[pa],"M"==L[0])v=Y=L[1],u=d=L[2];else{"C"==L[0]?(L=[v,u].concat(L.slice(1)),v=L[6],u=
L[7]):(L=[v,u,v,u,Y,d,Y,d],v=Y,u=d);var W;var Ma=c,K=L;W=h;var R=a.bezierBBox(Ma),k=a.bezierBBox(K);if(a.isBBoxIntersect(R,k)){for(var R=I.apply(0,Ma),k=I.apply(0,K),R=la(~~(R/5),1),k=la(~~(k/5),1),E=[],ja=[],Ga={},Ua=W?0:[],ta=0;ta<R+1;ta++){var aa=a.findDotsAtSegment.apply(a,Ma.concat(ta/R));E.push({x:aa.x,y:aa.y,t:ta/R})}for(ta=0;ta<k+1;ta++)aa=a.findDotsAtSegment.apply(a,K.concat(ta/k)),ja.push({x:aa.x,y:aa.y,t:ta/k});for(ta=0;ta<R;ta++)for(Ma=0;Ma<k;Ma++){var La=E[ta],w=E[ta+1],K=ja[Ma],aa=ja[Ma+
1],Ob=.001>Ca(w.x-La.x)?"y":"x",p=.001>Ca(aa.x-K.x)?"y":"x",n;n=La.x;var F=La.y,m=w.x,ua=w.y,zb=K.x,xa=K.y,Qa=aa.x,U=aa.y;if(la(n,m)<oa(zb,Qa)||oa(n,m)>la(zb,Qa)||la(F,ua)<oa(xa,U)||oa(F,ua)>la(xa,U))n=void 0;else{var Kb=(n*ua-F*m)*(zb-Qa)-(n-m)*(zb*U-xa*Qa),q=(n*ua-F*m)*(xa-U)-(F-ua)*(zb*U-xa*Qa),t=(n-m)*(xa-U)-(F-ua)*(zb-Qa);if(t){var Kb=Kb/t,q=q/t,t=+Kb.toFixed(2),D=+q.toFixed(2);n=t<+oa(n,m).toFixed(2)||t>+la(n,m).toFixed(2)||t<+oa(zb,Qa).toFixed(2)||t>+la(zb,Qa).toFixed(2)||D<+oa(F,ua).toFixed(2)||
D>+la(F,ua).toFixed(2)||D<+oa(xa,U).toFixed(2)||D>+la(xa,U).toFixed(2)?void 0:{x:Kb,y:q}}else n=void 0}n&&Ga[n.x.toFixed(4)]!=n.y.toFixed(4)&&(Ga[n.x.toFixed(4)]=n.y.toFixed(4),La=La.t+Ca((n[Ob]-La[Ob])/(w[Ob]-La[Ob]))*(w.t-La.t),K=K.t+Ca((n[p]-K[p])/(aa[p]-K[p]))*(aa.t-K.t),0<=La&&1.001>=La&&0<=K&&1.001>=K&&(W?Ua++:Ua.push({x:n.x,y:n.y,t1:oa(La,1),t2:oa(K,1)})))}W=Ua}else W=W?0:[];if(h)O+=W;else{R=0;for(k=W.length;R<k;R++)W[R].segment1=l,W[R].segment2=pa,W[R].bez1=c,W[R].bez2=L;O=O.concat(W)}}}return O}
function G(b,f,h,g,a,s){null!=b?(this.a=+b,this.b=+f,this.c=+h,this.d=+g,this.e=+a,this.f=+s):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}function q(){return this.x+" "+this.y+" "+this.width+" × "+this.height}function t(b,f,h,g,a,s){function v(b,f){var h,g,a,s;a=b;for(g=0;8>g;g++){s=((N*a+A)*a+u)*a-b;if(Ca(s)<f)return a;h=(3*N*a+2*A)*a+u;if(1E-6>Ca(h))break;a-=s/h}h=0;g=1;a=b;if(a<h)return h;if(a>g)return g;for(;h<g;){s=((N*a+A)*a+u)*a;if(Ca(s-b)<f)break;b>s?h=a:g=a;a=(g-h)/2+h}return a}var u=
3*f,A=3*(g-f)-u,N=1-u-A,Y=3*h,d=3*(a-h)-Y,c=1-Y-d;return function(b,f){var h=v(b,f);return((c*h+d)*h+Y)*h}(b,1/(200*s))}function c(b,f){var h=[],g={};this.ms=f;this.times=1;if(b){for(var a in b)b.hasOwnProperty(a)&&(g[Ha(a)]=b[a],h.push(Ha(a)));h.sort(aa)}this.anim=g;this.top=h[h.length-1];this.percents=h}function p(b,f,h,u,v,A,N){h=Ha(h);var Y,d,c,L,O,pa,S,W=b.ms,R={},Ma={},k={};if(u)for(E=0,ja=Ra.length;E<ja;E++){if(pa=Ra[E],pa.el.id==f.id&&pa.anim==b){pa.percent!=h?(delete pa.el.e,delete pa.el,
Ra.splice(E,1),c=1):d=pa;f.attr(pa.totalOrigin);break}}else u=+Ma;for(var E=0,ja=b.percents.length;E<ja;E++)if(b.percents[E]==h||b.percents[E]>u*b.top){h=b.percents[E];O=b.percents[E-1]||0;W=W/b.top*(h-O);L=b.percents[E+1];Y=b.anim[h];break}else u&&f.attr(b.anim[b.percents[E]]);if(Y){if(d)d.initstatus=u,d.start=new Date-d.ms*u;else{for(var Ga in Y)if(Y.hasOwnProperty(Ga))if(K.hasOwnProperty(Ga)||f.ca[Ga]){R[Ga]=f.attr(Ga);null==R[Ga]&&(R[Ga]=La[Ga]);Ma[Ga]=Y[Ga];pa=!1;switch(K[Ga]){case l:((S=Ma[Ga]-
R[Ga])||isNaN(S))&&(pa=!0);k[Ga]=S/W;break;case "colour":R[Ga]=a.getRGB(R[Ga]);E=a.getRGB(Ma[Ga]);S={};S.r=E.r-R[Ga].r;S.g=E.g-R[Ga].g;S.b=E.b-R[Ga].b;(S.r||S.g||S.b)&&(pa=!0);k[Ga]={r:S.r/W,g:S.g/W,b:S.b/W};break;case "path":S=ka(R[Ga],Ma[Ga]);var Ua=S[1];pa=!0;R[Ga]=S[0];k[Ga]=[];E=0;for(ja=R[Ga].length;E<ja;E++){k[Ga][E]=[0];for(var ta=1,aa=R[Ga][E].length;ta<aa;ta++)S=Ua[E][ta]-R[Ga][E][ta],k[Ga][E][ta]=S/W}break;case "transform":S=f._;E=yc(S[Ga],Ma[Ga]);pa=!0;if(E)for(R[Ga]=E.from,Ma[Ga]=E.to,
k[Ga]=[],k[Ga].real=!0,E=0,ja=R[Ga].length;E<ja;E++)for(k[Ga][E]=[R[Ga][E][0]],ta=1,aa=R[Ga][E].length;ta<aa;ta++)k[Ga][E][ta]=(Ma[Ga][E][ta]-R[Ga][E][ta])/W;else E=f.matrix||new G,S={_:{transform:S.transform},getBBox:function(){return f.getBBox(1)}},R[Ga]=[E.a,E.b,E.c,E.d,E.e,E.f],Va(S,Ma[Ga]),Ma[Ga]=S._.transform,k[Ga]=[(S.matrix.a-E.a)/W,(S.matrix.b-E.b)/W,(S.matrix.c-E.c)/W,(S.matrix.d-E.d)/W,(S.matrix.e-E.e)/W,(S.matrix.f-E.f)/W];break;case "csv":ja=ua(Y[Ga]).split(ab);Ua=ua(R[Ga]).split(ab);
if("clip-rect"==Ga)for(R[Ga]=Ua,k[Ga]=[],E=Ua.length;E--;)((S=ja[E]-R[Ga][E])||isNaN(S))&&(pa=!0),k[Ga][E]=S/W;Ma[Ga]=ja;break;default:for(ja=[].concat(Y[Ga]),Ua=[].concat(R[Ga]),k[Ga]=[],E=f.ca[Ga].length;E--;)((S=(ja[E]||0)-(Ua[E]||0))||isNaN(S))&&(pa=!0),k[Ga][E]=S/W}pa||(delete R[Ga],delete Ma[Ga],delete Y[Ga],delete k[Ga])}else if(a._availableAttrs.hasOwnProperty(Ga)||"text"===Ga||f.ca[Ga])f.attr(Ga,Y[Ga]),delete Y[Ga];pa=Y.easing;Ga=a.easing_formulas[pa];if(!Ga)if((Ga=ua(pa).match(g))&&5==Ga.length){var w=
Ga;Ga=function(b){return t(b,+w[1],+w[2],+w[3],+w[4],W)}}else Ga=s;pa=Y.start||b.start||+new Date;f.e=pa={anim:b,percent:h,timestamp:pa,start:pa+(b.del||0),status:0,initstatus:u||0,stop:!1,ms:W,easing:Ga,from:R,diff:k,to:Ma,el:f,callback:Y.callback,prev:O,next:L,repeat:A||b.times,origin:f.attr(),totalOrigin:v,parentEl:N};Ra.push(pa);if(u&&!d&&!c&&(pa.stop=!0,pa.start=new Date-W*u,1==Ra.length))return db();c&&(pa.start=new Date-pa.ms*u);1==Ra.length&&Ya(db)}!1!==a.stopEvent&&e("raphael.anim.start."+
f.id,f,b)}}function d(b){for(var f=0;f<Ra.length;f++)Ra[f].el.paper==b&&Ra.splice(f--,1)}a.upgrade="1.0.0";a.version="2.1.0";a.eve=e;C=a;var B,Q="apply",l="number",w="array",H=Array.prototype.slice,F=Array.prototype.splice,T=Array.prototype.shift,D=function(){return function(){}.hasOwnProperty("prototype")}(),V={doc:document,win:k},P=Object.prototype.hasOwnProperty.call(V.win,"Raphael"),fa=V.win.Raphael,$=V.doc,ba=V.win,ia=a.supportsTouch="createTouch"in $,ea=a.supportsOnlyTouch=ia&&!(ba.navigator.maxTouchPoints||
ba.navigator.msMaxTouchPoints),X=function(){};a.ca=a.customAttributes=X.prototype;var ca=function(){this.ca=this.customAttributes=new X;this._CustomAttributes=function(){};this._CustomAttributes.prototype=this.ca;this._elementsById={};this.id=a._oid++;e("raphael.new",this)},ga=a.fn=ca.prototype=a.prototype,da={circle:1,rect:1,path:1,ellipse:1,text:1,image:1,group:1},Z="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel dragstart dragmove dragend".split(" "),
Ja=a._touchMap={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},R=a._dragEventMap={dragstart:"mousedown",dragmove:"mousemove",dragend:"mouseup"},ua=ba.String,Ha=ba.parseFloat,U=ba.parseInt,Na=ba.Math,la=Na.max,oa=Na.min,Ca=Na.abs,Fa=Na.pow,na=Na.cos,ra=Na.sin,Da=Na.sqrt,ha=Na.round,Ia=Na.PI,wa=Ia/180,Ta=180/Ia,qa=ua.prototype.toLowerCase,Oa=ua.prototype.toUpperCase,Pa=ba.Object.prototype.toString,ab=/[, ]+/,b=/\{(\d+)\}/g;a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var f=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
g=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,u=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,N=/,?([achlmqrstvxz]),?/gi,L=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
O=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,S=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
a._radial_gradient=/^x?r(?:\(([^\)]*?)\))?/;var W={NaN:1,Infinity:1,"-Infinity":1},ja={hs:1,rg:1},La=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9","clip-path":"",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"about:blank","letter-spacing":0,"line-height":12,"vertical-align":"middle",opacity:1,path:"M0,0",r:0,rx:0,ry:0,
src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",visibility:"",title:"",transform:"",rotation:0,width:0,x:0,y:0},K=a._availableAnimAttrs={blur:l,"clip-rect":"csv","clip-path":"path",cx:l,cy:l,fill:"colour","fill-opacity":l,"font-size":l,height:l,opacity:l,path:"path",r:l,rx:l,ry:l,stroke:"colour","stroke-opacity":l,"stroke-width":l,transform:"transform",width:l,
x:l,y:l},E={},aa=function(b,f){return Ha(b)-Ha(f)},Qa=function(){},s=function(b){return b},v=a._rectPath=function(b,f,h,g,a){return a?[["M",b+a,f],["l",h-2*a,0],["a",a,a,0,0,1,a,a],["l",0,g-2*a],["a",a,a,0,0,1,-a,a],["l",2*a-h,0],["a",a,a,0,0,1,-a,-a],["l",0,2*a-g],["a",a,a,0,0,1,a,-a],["z"]]:[["M",b,f],["l",h,0],["l",0,g],["l",-h,0],["z"]]},A=function(b,f,h,g){null==g&&(g=h);return[["M",b,f],["m",0,-g],["a",h,g,0,1,1,0,2*g],["a",h,g,0,1,1,0,-2*g],["z"]]},Y=a._getPath={group:function(){return!1},
path:function(b){return b.attr("path")},circle:function(b){b=b.attrs;return A(b.cx,b.cy,b.r)},ellipse:function(b){b=b.attrs;return A(b.cx,b.cy,b.rx,b.ry)},rect:function(b){b=b.attrs;return v(b.x,b.y,b.width,b.height,b.r)},image:function(b){b=b.attrs;return v(b.x,b.y,b.width,b.height)},text:function(b){b=b._getBBox();return v(b.x,b.y,b.width,b.height)}},h=a.mapPath=function(b,f){if(!f)return b;var h,g,a,s,u,v,A;b=ka(b);a=0;for(u=b.length;a<u;a++)for(A=b[a],s=1,v=A.length;s<v;s+=2)h=f.x(A[s],A[s+1]),
g=f.y(A[s],A[s+1]),A[s]=h,A[s+1]=g;return b};a.pick=function(){for(var b,f=0,h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b};var pa=a._lastArgIfGroup=function(b,f){var h=b.length-1,g=b[h];if(g&&g.constructor===a.el.constructor&&"group"===g.type)return f&&(b[h]=void 0,delete b[h],F.call(b,h,1)),g},Ma=a._serializeArgs=function(b){var f=b[0],h,g;if(a.is(f,"object")&&!a.is(f,"array")&&"group"!==f.type)for(h=f,f.path&&(f=f.path)&&!a.is(f,"string")&&a.is(f[0],w),f=1,g=arguments.length;f<
g;f+=2)h[arguments[f]]||(h[arguments[f]]=arguments[f+1]);else for(h={},f=1,g=arguments.length;f<g;f+=2)h[arguments[f]]=b[(f-1)/2]||arguments[f+1];return h},Ga=a.merge=function(b,f,h,g,a){var s,u,v,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(s=0;s<f.length;s+=1){try{u=b[s],v=f[s]}catch(N){continue}if("object"!==typeof v)h&&void 0===v||(b[s]=v);else{if(null===u||"object"!==typeof u)u=b[s]=v instanceof Array?[]:{};A=checkCyclicRef(v,a);-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)}}else for(s in f){try{u=
b[s],v=f[s]}catch(Y){continue}if(null!==v&&"object"===typeof v)if(A=Pa.call(v),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[s]={};A=checkCyclicRef(v,a);-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[s]=[]),A=checkCyclicRef(v,a),-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)):b[s]=v;else b[s]=v}return b};a.extend=function(b,f,h){if("object"!==typeof b&&"object"!==typeof f)return null;if("object"!==typeof f||null===f)return b;"object"!==typeof b&&(b=f instanceof
Array?[]:{});Ga(b,f,h);return b};var Ua=a.is=function(b,f){f=qa.call(f);return"finite"==f?!W.hasOwnProperty(+b):f==w?b instanceof Array:"object"!==f||void 0!==b&&null!==b?"null"==f&&null===b||f==typeof b&&null!==b||"object"==f&&b===Object(b)||"array"==f&&Array.isArray&&Array.isArray(b)||Pa.call(b).slice(8,-1).toLowerCase()==f:!1};a.createUUID=function(b,f){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(b,f).toUpperCase()}}(/[xy]/g,function(b){var f=16*Na.random()|0;return("x"==
b?f:f&3|8).toString(16)});a.getElementID=function(b){return"rr-"+b};var ta=a.clone=D?function(b){if(Object(b)!==b)return b;var f=new b.constructor,h;for(h in b)"prototype"!==h&&b.hasOwnProperty(h)&&(f[h]=ta(b[h]));return f}:function(b){if(Object(b)!==b)return b;var f=new b.constructor,h;for(h in b)b.hasOwnProperty(h)&&(f[h]=ta(b[h]));return f};a._g=V;a.type=ba.ENABLE_RED_CANVAS&&(ba.CanvasRenderingContext2D||$.createElement("canvas").getContext)?"CANVAS":ba.SVGAngle||$.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")?"SVG":"VML";if("VML"==a.type){var Ob=$.createElement("div"),Kb;Ob.innerHTML='<v:shape adj="1"/>';Kb=Ob.firstChild;Kb.style.behavior="url(#default#VML)";if(!Kb||"object"!=typeof Kb.adj)return a.type="";Ob=null}a.svg=!((a.vml="VML"==a.type)||(a.canvas="CANVAS"==a.type));a._Paper=ca;a._id=0;a._oid=0;a.angle=function(b,f,h,g,s,u){return null==s?(b-=h,f-=g,b||f?(Na.atan2(-f,-b)*Ta+540)%360:0):a.angle(b,f,s,u)-a.angle(h,g,s,u)};a.rad=function(b){return b%360*wa};a.deg=function(b){return b*Ta%360};
a.snapTo=function(b,f,h){var g;Ua(h,"finite")||(h=10);if(Ua(b,w))for(g=b.length;g--;){if(Ca(b[g]-f)<=h)return b[g]}else{b=+b;g=f%b;if(g<h)return f-g;if(g>b-h)return f-g+b}return f};a.setWindow=function(b){e("raphael.setWindow",a,V.win,b);ba=V.win=b;$=V.doc=V.win.document;a._engine.initWin&&a._engine.initWin(V.win)};var zb=function(b){if(a.vml){var f=/^\s+|\s+$/g,h;try{var g=new ActiveXObject("htmlfile");g.write("<body>");g.close();h=g.body}catch(s){h=createPopup().document.body}var u=h.createTextRange();
zb=vb(function(b){try{h.style.color=ua(b).replace(f,"");var g=u.queryCommandValue("ForeColor");return"#"+("000000"+((g&255)<<16|g&65280|(g&16711680)>>>16).toString(16)).slice(-6)}catch(a){return"none"}})}else{var v=V.doc.createElement("i");v.title="Raphaël Colour Picker";v.style.display="none";V.doc.body.appendChild(v);zb=vb(function(b){v.style.color=b;return V.doc.defaultView.getComputedStyle(v,"").getPropertyValue("color")})}return zb(b)},oc=function(){return"hsb("+[this.h,this.s,this.b]+")"},gc=
function(){return"hsl("+[this.h,this.s,this.l]+")"},xa=function(){return this.hex},dc=function(b,f,h){null==f&&Ua(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(h=b.b,f=b.g,b=b.r);null==f&&Ua(b,"string")&&(h=a.getRGB(b),b=h.r,f=h.g,h=h.b);if(1<b||1<f||1<h)b/=255,f/=255,h/=255;return[b,f,h]},rc=function(b,f,h,g){var s={r:b*=255,g:f*=255,b:h*=255,hex:a.rgb(b,f,h),toString:xa};Ua(g,"finite")&&(s.opacity=g);return s};a.color=function(b){var f;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(f=a.hsb2rgb(b),b.r=
f.r,b.g=f.g,b.b=f.b,b.hex=f.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(f=a.hsl2rgb(b),b.r=f.r,b.g=f.g,b.b=f.b,b.hex=f.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(f=a.rgb2hsl(b),b.h=f.h,b.s=f.s,b.l=f.l,f=a.rgb2hsb(b),b.v=f.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1));b.toString=xa;return b};a.hsb2rgb=function(b,f,h,g){this.is(b,"object")&&"h"in b&&"s"in b&&"b"in b&&(h=b.b,f=b.s,b=b.h,g=b.o);var a,s,u;b=360*b%360/60;u=h*f;f=u*(1-Ca(b%2-1));h=a=
s=h-u;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];s+=[0,0,f,u,u,f][b];return rc(h,a,s,g)};a.hsl2rgb=function(b,f,h,g){this.is(b,"object")&&"h"in b&&"s"in b&&"l"in b&&(h=b.l,f=b.s,b=b.h);if(1<b||1<f||1<h)b/=360,f/=100,h/=100;var a,s,u;b=360*b%360/60;u=2*f*(.5>h?h:1-h);f=u*(1-Ca(b%2-1));h=a=s=h-u/2;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];s+=[0,0,f,u,u,f][b];return rc(h,a,s,g)};a.rgb2hsb=function(b,f,h){h=dc(b,f,h);b=h[0];f=h[1];h=h[2];var g,a;g=la(b,f,h);a=g-oa(b,f,h);b=((0==a?null:g==b?(f-
h)/a:g==f?(h-b)/a+2:(b-f)/a+4)+360)%6*60/360;return{h:b,s:0==a?0:a/g,b:g,toString:oc}};a.rgb2hsl=function(b,f,h){h=dc(b,f,h);b=h[0];f=h[1];h=h[2];var g,a,s;g=la(b,f,h);a=oa(b,f,h);s=g-a;b=((0==s?null:g==b?(f-h)/s:g==f?(h-b)/s+2:(b-f)/s+4)+360)%6*60/360;g=(g+a)/2;return{h:b,s:0==s?0:.5>g?s/(2*g):s/(2-2*g),l:g,toString:gc}};a._path2string=function(){return this.join(",").replace(N,"$1")};var vb=a._cacher=function(b,f,h){function g(){var a=H.call(arguments,0),s=a.join("␀"),u=g.cache=g.cache||{},v=g.count=
g.count||[];if(u.hasOwnProperty(s)){a:for(var a=v,v=s,A=0,N=a.length;A<N;A++)if(a[A]===v){a.push(a.splice(A,1)[0]);break a}return h?h(u[s]):u[s]}1E3<=v.length&&delete u[v.shift()];v.push(s);u[s]=b[Q](f,a);return h?h(u[s]):u[s]}return g};a._preload=function(b,f){var h=$.createElement("img");h.style.cssText="position:absolute;left:-9999em;top:-9999em";h.onload=function(){f.call(this);this.onload=null;$.body.removeChild(this)};h.onerror=function(){$.body.removeChild(this)};$.body.appendChild(h);h.src=
b};a.getRGB=vb(function(b){var h,g,s,v,A;b&&Ua(b,"object")&&"opacity"in b&&(h=b.opacity);if(!b||(b=ua(b)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:m};if("none"==b)return{r:-1,g:-1,b:-1,hex:"none",toString:m};!ja.hasOwnProperty(b.toLowerCase().substring(0,2))&&"#"!==b.charAt()&&(b=zb(b));if(b=b.match(f)){b[2]&&(v=U(b[2].substring(5),16),s=U(b[2].substring(3,5),16),g=U(b[2].substring(1,3),16));b[3]&&(v=U((A=b[3].charAt(3))+A,16),s=U((A=b[3].charAt(2))+A,16),g=U((A=b[3].charAt(1))+
A,16));b[4]&&(A=b[4].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"rgba"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100));if(b[5])return A=b[5].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsba"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),
A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsb2rgb(g,s,v,h);if(b[6])return A=b[6].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsla"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsl2rgb(g,s,v,h);b={r:g,g:s,b:v,toString:m};b.hex="#"+(16777216|v|s<<8|g<<16).toString(16).slice(1);a.is(h,"finite")&&(b.opacity=h);return b}return{r:-1,
g:-1,b:-1,hex:"none",error:1,toString:m}},a);a.tintshade=vb(function(b,f){var h=a.getRGB(b),g;g=255;0>f&&(f*=-1,g=0);1<f&&(f=1);g=0===f?h:{r:g-(g-h.r)*f,g:g-(g-h.g)*f,b:g-(g-h.b)*f,toString:m};g.hex=a.rgb(g.r,g.g,g.b);h.error&&(g.error=h.error);"opacity"in h?(g.rgba="rgba("+[g.r,g.g,g.b,h.opacity].join()+")",g.opacity=h.opacity):g.rgba="rgb("+[g.r,g.g,g.b].join()+")";return g},a);a.hsb=vb(function(b,f,h){return a.hsb2rgb(b,f,h).hex});a.hsl=vb(function(b,f,h){return a.hsl2rgb(b,f,h).hex});a.rgb=vb(function(b,
f,h){return"#"+(16777216|h|f<<8|b<<16).toString(16).slice(1)});a.getColor=function(b){b=this.getColor.start=this.getColor.start||{h:0,s:1,b:b||.75};var f=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075;1<b.h&&(b.h=0,b.s-=.2,0>=b.s&&(this.getColor.start={h:0,s:1,b:b.b}));return f.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=function(b){if(!b)return null;var f=Yb(b);if(f.arr)return Ab(f.arr);var h={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},g=[];a.is(b,w)&&a.is(b[0],w)&&(g=Ab(b));g.length||
ua(b).replace(L,function(b,f,a){var s=[];b=f.toLowerCase();a.replace(S,function(b,f){f&&s.push(+f)});"m"==b&&2<s.length&&(g.push([f].concat(s.splice(0,2))),b="l",f="m"==f?"l":"L");if("r"==b)g.push([f].concat(s));else for(;s.length>=h[b]&&(g.push([f].concat(s.splice(0,h[b]))),h[b]););});g.toString=a._path2string;f.arr=Ab(g);return g};a.parseTransformString=vb(function(b){if(!b)return null;var f=[];a.is(b,w)&&a.is(b[0],w)&&(f=Ab(b));f.length||ua(b).replace(O,function(b,h,g){var a=[];qa.call(h);g.replace(S,
function(b,f){f&&a.push(+f)});f.push([h].concat(a))});f.toString=a._path2string;return f});var Yb=function(b){var f=Yb.ps=Yb.ps||{};f[b]?f[b].sleep=100:f[b]={sleep:100};setTimeout(function(){for(var h in f)f.hasOwnProperty(h)&&h!=b&&(f[h].sleep--,!f[h].sleep&&delete f[h])});return f[b]};a.findDotsAtSegment=function(b,f,h,g,a,s,u,v,A){var N=1-A,Y=Fa(N,3),d=Fa(N,2),c=A*A,L=c*A,O=Y*b+3*d*A*h+3*N*A*A*a+L*u,Y=Y*f+3*d*A*g+3*N*A*A*s+L*v,d=b+2*A*(h-b)+c*(a-2*h+b),L=f+2*A*(g-f)+c*(s-2*g+f),l=h+2*A*(a-h)+c*
(u-2*a+h),c=g+2*A*(s-g)+c*(v-2*s+g);b=N*b+A*h;f=N*f+A*g;a=N*a+A*u;s=N*s+A*v;v=90-180*Na.atan2(d-l,L-c)/Ia;(d>l||L<c)&&(v+=180);return{x:O,y:Y,m:{x:d,y:L},n:{x:l,y:c},start:{x:b,y:f},end:{x:a,y:s},alpha:v}};a.bezierBBox=function(b,f,h,g,s,u,v,A){a.is(b,"array")||(b=[b,f,h,g,s,u,v,A]);b=va.apply(null,b);return{x:b.min.x,y:b.min.y,x2:b.max.x,y2:b.max.y,width:b.max.x-b.min.x,height:b.max.y-b.min.y}};a.isPointInsideBBox=function(b,f,h){return f>=b.x&&f<=b.x2&&h>=b.y&&h<=b.y2};a.isBBoxIntersect=function(b,
f){var h=a.isPointInsideBBox;return h(f,b.x,b.y)||h(f,b.x2,b.y)||h(f,b.x,b.y2)||h(f,b.x2,b.y2)||h(b,f.x,f.y)||h(b,f.x2,f.y)||h(b,f.x,f.y2)||h(b,f.x2,f.y2)||(b.x<f.x2&&b.x>f.x||f.x<b.x2&&f.x>b.x)&&(b.y<f.y2&&b.y>f.y||f.y<b.y2&&f.y>b.y)};a.pathIntersection=function(b,f){return z(b,f)};a.pathIntersectionNumber=function(b,f){return z(b,f,1)};a.isPointInsidePath=function(b,f,h){var g=a.pathBBox(b);return a.isPointInsideBBox(g,f,h)&&(1==z(b,[["M",f,h],["H",g.x2+10]],1)%2||1==z(b,[["M",f,h],["V",g.y2+10]],
1)%2)};a._removedFactory=function(b){return function(){e("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var nc=a.pathBBox=function(b){var f=Yb(b);if(!b)return{x:0,y:0,width:0,height:0,x2:0,y2:0};b=ka(b);for(var h=0,g=0,a=[],s=[],u,v=0,A=b.length;v<A;v++)u=b[v],"M"==u[0]?(h=u[1],g=u[2],a.push(h),s.push(g)):(h=va(h,g,u[1],u[2],u[3],u[4],u[5],u[6]),a=a.concat(h.min.x,h.max.x),s=s.concat(h.min.y,h.max.y),h=u[5],g=u[6]);b=oa[Q](0,a);u=oa[Q](0,s);a=la[Q](0,a);s=la[Q](0,
s);s={x:b,y:u,x2:a,y2:s,width:a-b,height:s-u};f.bbox=ta(s);return s},Ab=function(b){b=ta(b);b.toString=a._path2string;return b},ya=a._pathToRelative=function(b){var f=Yb(b);if(f.rel)return Ab(f.rel);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));var h=[],g=0,s=0,u=0,v=0,A=0;"M"==b[0][0]&&(g=b[0][1],s=b[0][2],u=g,v=s,A++,h.push(["M",g,s]));for(var N=b.length;A<N;A++){var Y=h[A]=[],d=b[A];if(d[0]!=qa.call(d[0]))switch(Y[0]=qa.call(d[0]),Y[0]){case "a":Y[1]=d[1];Y[2]=d[2];Y[3]=d[3];Y[4]=d[4];Y[5]=
d[5];Y[6]=+(d[6]-g).toFixed(3);Y[7]=+(d[7]-s).toFixed(3);break;case "v":Y[1]=+(d[1]-s).toFixed(3);break;case "m":u=d[1],v=d[2];default:for(var c=1,L=d.length;c<L;c++)Y[c]=+(d[c]-(c%2?g:s)).toFixed(3)}else for(h[A]=[],"m"==d[0]&&(u=d[1]+g,v=d[2]+s),Y=0,c=d.length;Y<c;Y++)h[A][Y]=d[Y];d=h[A].length;switch(h[A][0]){case "z":g=u;s=v;break;case "h":g+=+h[A][d-1];break;case "v":s+=+h[A][d-1];break;default:g+=+h[A][d-2],s+=+h[A][d-1]}}h.toString=a._path2string;f.rel=Ab(h);return h},Aa=a._pathToAbsolute=
function(b){var f=Yb(b),h;if(f.abs)return Ab(f.abs);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));if(!b||!b.length)return h=["M",0,0],h.toString=a._path2string,h;var g=0,s=0,u=0,v=0,A=0;h=[];"M"==b[0][0]&&(g=+b[0][1],s=+b[0][2],u=g,v=s,A++,h[0]=["M",g,s]);for(var N=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),Y,d=A,c=b.length;d<c;d++){h.push(A=[]);Y=b[d];if(Y[0]!=Oa.call(Y[0]))switch(A[0]=Oa.call(Y[0]),A[0]){case "A":A[1]=Y[1];A[2]=Y[2];A[3]=Y[3];A[4]=Y[4];
A[5]=Y[5];A[6]=+(Y[6]+g);A[7]=+(Y[7]+s);break;case "V":A[1]=+Y[1]+s;break;case "H":A[1]=+Y[1]+g;break;case "R":for(var L=[g,s].concat(Y.slice(1)),O=2,l=L.length;O<l;O++)L[O]=+L[O]+g,L[++O]=+L[O]+s;h.pop();h=h.concat(J(L,N));break;case "M":u=+Y[1]+g,v=+Y[2]+s;default:for(O=1,l=Y.length;O<l;O++)A[O]=+Y[O]+(O%2?g:s)}else if("R"==Y[0])L=[g,s].concat(Y.slice(1)),h.pop(),h=h.concat(J(L,N)),A=["R"].concat(Y.slice(-2));else for(L=0,O=Y.length;L<O;L++)A[L]=Y[L];switch(A[0]){case "Z":g=u;s=v;break;case "H":g=
A[1];break;case "V":s=A[1];break;case "M":u=A[A.length-2],v=A[A.length-1];default:g=A[A.length-2],s=A[A.length-1]}}h.toString=a._path2string;f.abs=Ab(h);return h},ma=function(b,f,h,g){return[b,f,h,g,h,g]},Ka=function(b,f,h,g,a,s){var u=1/3,v=2/3;return[u*b+v*h,u*f+v*g,u*a+v*h,u*s+v*g,a,s]},sc=function(b,f,h,g,a,s,u,v,A,N){var Y=120*Ia/180,d=wa*(+a||0),c=[],L,O=vb(function(b,f,h){var g=b*na(h)-f*ra(h);b=b*ra(h)+f*na(h);return{x:g,y:b}});if(N)pa=N[0],L=N[1],s=N[2],l=N[3];else{L=O(b,f,-d);b=L.x;f=L.y;
L=O(v,A,-d);v=L.x;A=L.y;na(wa*a);ra(wa*a);L=(b-v)/2;pa=(f-A)/2;l=L*L/(h*h)+pa*pa/(g*g);1<l&&(l=Da(l),h*=l,g*=l);var l=h*h,e=g*g,l=(s==u?-1:1)*Da(Ca((l*e-l*pa*pa-e*L*L)/(l*pa*pa+e*L*L)));s=l*h*pa/g+(b+v)/2;var l=l*-g*L/h+(f+A)/2,pa=Na.asin(((f-l)/g).toFixed(9));L=Na.asin(((A-l)/g).toFixed(9));pa=b<s?Ia-pa:pa;L=v<s?Ia-L:L;0>pa&&(pa=2*Ia+pa);0>L&&(L=2*Ia+L);u&&pa>L&&(pa-=2*Ia);!u&&L>pa&&(L-=2*Ia)}if(Ca(L-pa)>Y){var c=L,e=v,S=A;L=pa+Y*(u&&L>pa?1:-1);v=s+h*na(L);A=l+g*ra(L);c=sc(v,A,h,g,a,0,u,e,S,[L,c,
s,l])}s=L-pa;a=na(pa);Y=ra(pa);u=na(L);L=ra(L);s=Na.tan(s/4);h=4/3*h*s;s*=4/3*g;g=[b,f];b=[b+h*Y,f-s*a];f=[v+h*L,A-s*u];v=[v,A];b[0]=2*g[0]-b[0];b[1]=2*g[1]-b[1];if(N)return[b,f,v].concat(c);c=[b,f,v].concat(c).join().split(",");N=[];v=0;for(A=c.length;v<A;v++)N[v]=v%2?O(c[v-1],c[v],d).y:O(c[v],c[v+1],d).x;return N},ec=function(b,f,h,g,a,s,u,v,A){var N=1-A;return{x:Fa(N,3)*b+3*Fa(N,2)*A*h+3*N*A*A*a+Fa(A,3)*u,y:Fa(N,3)*f+3*Fa(N,2)*A*g+3*N*A*A*s+Fa(A,3)*v}},va=vb(function(b,f,h,g,a,s,u,v){var A=a-2*
h+b-(u-2*a+h),N=2*(h-b)-2*(a-h),Y=b-h,d=(-N+Da(N*N-4*A*Y))/2/A,A=(-N-Da(N*N-4*A*Y))/2/A,L=[f,v],c=[b,u];"1e12"<Ca(d)&&(d=.5);"1e12"<Ca(A)&&(A=.5);0<d&&1>d&&(d=ec(b,f,h,g,a,s,u,v,d),c.push(d.x),L.push(d.y));0<A&&1>A&&(d=ec(b,f,h,g,a,s,u,v,A),c.push(d.x),L.push(d.y));A=s-2*g+f-(v-2*s+g);N=2*(g-f)-2*(s-g);Y=f-g;d=(-N+Da(N*N-4*A*Y))/2/A;A=(-N-Da(N*N-4*A*Y))/2/A;"1e12"<Ca(d)&&(d=.5);"1e12"<Ca(A)&&(A=.5);0<d&&1>d&&(d=ec(b,f,h,g,a,s,u,v,d),c.push(d.x),L.push(d.y));0<A&&1>A&&(d=ec(b,f,h,g,a,s,u,v,A),c.push(d.x),
L.push(d.y));return{min:{x:oa[Q](0,c),y:oa[Q](0,L)},max:{x:la[Q](0,c),y:la[Q](0,L)}}}),ka=a._path2curve=vb(function(b,f){var h=!f&&Yb(b);if(!f&&h.curve)return Ab(h.curve);var g=Aa(b),a=f&&Aa(f),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},v=function(b,f){var h,g;if(!b)return["C",f.x,f.y,f.x,f.y,f.x,f.y];b[0]in{T:1,Q:1}||(f.qx=f.qy=null);switch(b[0]){case "M":f.X=b[1];f.Y=b[2];break;case "A":b=["C"].concat(sc[Q](0,[f.x,f.y].concat(b.slice(1))));break;
case "S":h=f.x+(f.x-(f.bx||f.x));g=f.y+(f.y-(f.by||f.y));b=["C",h,g].concat(b.slice(1));break;case "T":f.qx=f.x+(f.x-(f.qx||f.x));f.qy=f.y+(f.y-(f.qy||f.y));b=["C"].concat(Ka(f.x,f.y,f.qx,f.qy,b[1],b[2]));break;case "Q":f.qx=b[1];f.qy=b[2];b=["C"].concat(Ka(f.x,f.y,b[1],b[2],b[3],b[4]));break;case "L":b=["C"].concat(ma(f.x,f.y,b[1],b[2]));break;case "H":b=["C"].concat(ma(f.x,f.y,b[1],f.y));break;case "V":b=["C"].concat(ma(f.x,f.y,f.x,b[1]));break;case "Z":b=["C"].concat(ma(f.x,f.y,f.X,f.Y))}return b},
A=function(b,f){if(7<b[f].length){b[f].shift();for(var h=b[f];h.length;)b.splice(f++,0,["C"].concat(h.splice(0,6)));b.splice(f,1);d=la(g.length,a&&a.length||0)}},N=function(b,f,h,s,u){b&&f&&"M"==b[u][0]&&"M"!=f[u][0]&&(f.splice(u,0,["M",s.x,s.y]),h.bx=0,h.by=0,h.x=b[u][1],h.y=b[u][2],d=la(g.length,a&&a.length||0))},Y=0,d=la(g.length,a&&a.length||0);for(;Y<d;Y++){g[Y]=v(g[Y],s);A(g,Y);a&&(a[Y]=v(a[Y],u));a&&A(a,Y);N(g,a,s,u,Y);N(a,g,u,s,Y);var L=g[Y],c=a&&a[Y],O=L.length,l=a&&c.length;s.x=L[O-2];s.y=
L[O-1];s.bx=Ha(L[O-4])||s.x;s.by=Ha(L[O-3])||s.y;u.bx=a&&(Ha(c[l-4])||u.x);u.by=a&&(Ha(c[l-3])||u.y);u.x=a&&c[l-2];u.y=a&&c[l-1]}a||(h.curve=Ab(g));return a?[g,a]:g},null,Ab);a._parseDots=vb(function(b){for(var f=[],h=0,g=b.length;h<g;h++){var s={},u=b[h].match(/^([^:]*):?([\d\.]*)/);s.color=a.getRGB(u[1]);if(s.color.error)return null;s.opacity=s.color.opacity;s.color=s.color.hex;u[2]&&(s.offset=u[2]+"%");f.push(s)}h=1;for(g=f.length-1;h<g;h++)if(!f[h].offset){b=Ha(f[h-1].offset||0);u=0;for(s=h+1;s<
g;s++)if(f[s].offset){u=f[s].offset;break}u||(u=100,s=g);u=Ha(u);for(u=(u-b)/(s-h+1);h<s;h++)b+=u,f[h].offset=b+"%"}return f});var sa=a._tear=function(b,f){b==f.top&&(f.top=b.prev);b==f.bottom&&(f.bottom=b.next);b.next&&(b.next.prev=b.prev);b.prev&&(b.prev.next=b.next)};a._tofront=function(b,f){if(f.top===b)return!1;sa(b,f);b.next=null;b.prev=f.top;f.top.next=b;f.top=b;return!0};a._toback=function(b,f){if(f.bottom===b)return!1;sa(b,f);b.next=f.bottom;b.prev=null;f.bottom.prev=b;f.bottom=b;return!0};
a._insertafter=function(b,f,h,g){sa(b,h);b.parent=g;f===g.top&&(g.top=b);f.next&&(f.next.prev=b);b.next=f.next;b.prev=f;f.next=b};a._insertbefore=function(b,f,h,g){sa(b,h);b.parent=g;f===g.bottom&&(g.bottom=b);f.prev&&(f.prev.next=b);b.prev=f.prev;f.prev=b;b.next=f};var xc=a.toMatrix=function(b,f){var h=nc(b),g={_:{transform:""},getBBox:function(){return h}};Va(g,f);return g.matrix};a.transformPath=function(b,f){return h(b,xc(b,f))};var Va=a._extractTransform=function(b,f){if(null==f)return b._.transform;
f=ua(f).replace(/\.{3}|\u2026/g,b._.transform||"");var h=a.parseTransformString(f),g=0,s=0,u=0,v=1,A=1,N=b._,u=new G;N.transform=h||[];if(h)for(var s=0,Y=h.length;s<Y;s++){var d=h[s],L=d.length,c=ua(d[0]).toLowerCase(),O=d[0]!=c,l=O?u.invert():0;"t"==c&&3==L?O?(L=l.x(0,0),c=l.y(0,0),O=l.x(d[1],d[2]),l=l.y(d[1],d[2]),u.translate(O-L,l-c)):u.translate(d[1],d[2]):"r"==c?2==L?(l=N.bb||(N.bb=b.getBBox(1)),u.rotate(d[1],l.x+l.width/2,l.y+l.height/2),g+=d[1]):4==L&&(O?(O=l.x(d[2],d[3]),l=l.y(d[2],d[3]),
u.rotate(d[1],O,l)):u.rotate(d[1],d[2],d[3]),g+=d[1]):"s"==c?2==L||3==L?(l=N.bb||(N.bb=b.getBBox(1)),u.scale(d[1],d[L-1],l.x+l.width/2,l.y+l.height/2),v*=d[1],A*=d[L-1]):5==L&&(O?(O=l.x(d[3],d[4]),l=l.y(d[3],d[4]),u.scale(d[1],d[2],O,l)):u.scale(d[1],d[2],d[3],d[4]),v*=d[1],A*=d[2]):"m"==c&&7==L&&u.add(d[1],d[2],d[3],d[4],d[5],d[6]);N.dirtyT=1;b.matrix=u}b.matrix=u;N.sx=v;N.sy=A;N.deg=g;N.dx=s=u.e;N.dy=u=u.f;1==v&&1==A&&!g&&N.bbox?(N.bbox.x+=+s,N.bbox.y+=+u):N.dirtyT=1},Sb=function(b){var f=b[0];
switch(f.toLowerCase()){case "t":return[f,0,0];case "m":return[f,1,0,0,1,0,0];case "r":return 4==b.length?[f,0,b[2],b[3]]:[f,0];case "s":return 5==b.length?[f,1,1,b[3],b[4]]:3==b.length?[f,1,1]:[f,1]}},yc=a._equaliseTransform=function(b,f){f=ua(f).replace(/\.{3}|\u2026/g,b);b=a.parseTransformString(b)||[];f=a.parseTransformString(f)||[];for(var h=la(b.length,f.length),g=[],s=[],u=0,v,A,N,Y;u<h;u++){N=b[u]||Sb(f[u]);Y=f[u]||Sb(N);if(N[0]!=Y[0]||"r"==N[0].toLowerCase()&&(N[2]!=Y[2]||N[3]!=Y[3])||"s"==
N[0].toLowerCase()&&(N[3]!=Y[3]||N[4]!=Y[4]))return;g[u]=[];s[u]=[];v=0;for(A=la(N.length,Y.length);v<A;v++)v in N&&(g[u][v]=N[v]),v in Y&&(s[u][v]=Y[v])}return{from:g,to:s}};a._getContainer=function(b,f,h,g){var s;s=null!=g||a.is(b,"object")?b:V.doc.getElementById(b);if(null!=s)return s.tagName?null==f?{container:s,width:s.style.pixelWidth||s.offsetWidth,height:s.style.pixelHeight||s.offsetHeight}:{container:s,width:f,height:h}:{container:1,x:b,y:f,width:h,height:g}};a.pathToRelative=ya;a._engine=
{};a.path2curve=ka;a.matrix=function(b,f,h,g,a,s){return new G(b,f,h,g,a,s)};(function(b){function f(b){return b[0]*b[0]+b[1]*b[1]}function h(b){var g=Da(f(b));b[0]&&(b[0]/=g);b[1]&&(b[1]/=g)}b.add=function(b,f,h,g,a,s){var u=[[],[],[]],v=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];f=[[b,h,a],[f,g,s],[0,0,1]];b&&b instanceof G&&(f=[[b.a,b.c,b.e],[b.b,b.d,b.f],[0,0,1]]);for(b=0;3>b;b++)for(h=0;3>h;h++){for(g=a=0;3>g;g++)a+=v[b][g]*f[g][h];u[b][h]=a}this.a=u[0][0];this.b=u[1][0];this.c=
u[0][1];this.d=u[1][1];this.e=u[0][2];this.f=u[1][2]};b.invert=function(){var b=this.a*this.d-this.b*this.c;return new G(this.d/b,-this.b/b,-this.c/b,this.a/b,(this.c*this.f-this.d*this.e)/b,(this.b*this.e-this.a*this.f)/b)};b.clone=function(){return new G(this.a,this.b,this.c,this.d,this.e,this.f)};b.translate=function(b,f){this.add(1,0,0,1,b,f)};b.scale=function(b,f,h,g){null==f&&(f=b);(h||g)&&this.add(1,0,0,1,h,g);this.add(b,0,0,f,0,0);(h||g)&&this.add(1,0,0,1,-h,-g)};b.rotate=function(b,f,h){b=
a.rad(b);f=f||0;h=h||0;var g=+na(b).toFixed(9);b=+ra(b).toFixed(9);this.add(g,b,-b,g,f,h);this.add(1,0,0,1,-f,-h)};b.x=function(b,f){return b*this.a+f*this.c+this.e};b.y=function(b,f){return b*this.b+f*this.d+this.f};b.get=function(b){return+this[ua.fromCharCode(97+b)].toFixed(4)};b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};b.toMatrixString=function(){return"matrix("+
[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"};b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};b.split=function(){var b={};b.dx=this.e;b.dy=this.f;var g=[[this.a,this.c],[this.b,this.d]];b.scalex=Da(f(g[0]));h(g[0]);b.shear=
g[0][0]*g[1][0]+g[0][1]*g[1][1];g[1]=[g[1][0]-g[0][0]*b.shear,g[1][1]-g[0][1]*b.shear];b.scaley=Da(f(g[1]));h(g[1]);b.shear/=b.scaley;var s=-g[0][1],g=g[1][1];0>g?(b.rotate=a.deg(Na.acos(g)),0>s&&(b.rotate=360-b.rotate)):b.rotate=a.deg(Na.asin(s));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};b.toTransformString=function(b){b=
b||this.split();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:"")+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:"")+(b.rotate?"r"+[b.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}})(G.prototype);var fc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);"Apple Computer, Inc."==navigator.vendor&&(fc&&4>fc[1]||"iP"==
navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&fc&&8>fc[1]?ga.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()});return!0}:ga.safari=Qa;for(var zc=function(){this.returnValue=!1},Ba=function(){return this.originalEvent.preventDefault()},eb=function(){this.cancelBubble=!0},za=function(){return this.originalEvent.stopPropagation()},Bb=a.addEvent=function(){if(V.doc.addEventListener)return function(b,f,h,
g){var a=ea&&Ja[f]||f,s;Ja[R[f]]&&(a=Ja[R[f]]);s=function(a){var s=V.doc.documentElement.scrollTop||V.doc.body.scrollTop,u=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft,v;if(ia&&Ja.hasOwnProperty(ea?f:R[f]))for(var A=0,N=a.targetTouches&&a.targetTouches.length;A<N;A++)if(v=a.targetTouches[A].target,v==b||"tspan"==v.nodeName&&v.parentNode==b){v=a;a=a.targetTouches[A];a.originalEvent=v;a.preventDefault=Ba;a.stopPropagation=za;break}return h.call(g,a,a.clientX+u,a.clientY+s)};b.addEventListener(a,
s,!1);return function(){b.removeEventListener(a,s,!1);return!0}};if(V.doc.attachEvent)return function(b,f,h,g){var a=function(b){b=b||V.win.event;var f=b.clientX+(V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft),a=b.clientY+(V.doc.documentElement.scrollTop||V.doc.body.scrollTop);b.preventDefault=b.preventDefault||zc;b.stopPropagation=b.stopPropagation||eb;return h.call(g,b,f,a)};b.attachEvent("on"+f,a);return function(){b.detachEvent("on"+f,a);return!0}}}(),Tb=[],Zb=function(b){for(var f=
b.clientX,h=b.clientY,g=V.doc.documentElement.scrollTop||V.doc.body.scrollTop,s=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft,u,v=Tb.length;v--;){u=Tb[v];if(ia&&"touchmove"===b.type)for(var A=b.touches.length,N;A--;){if(N=b.touches[A],N.identifier==u.el._drag.id){f=N.clientX;h=N.clientY;(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();if(!u.el.removed){var A=a._engine.getNode(u.el),Y=A.nextSibling,d=A.parentNode,L=A.style.display;V.win.opera&&d.removeChild(A);
A.style.display="none";N=u.el.paper.getElementByPoint(f,h);A.style.display=L;V.win.opera&&(Y?d.insertBefore(A,Y):d.appendChild(A));N&&e("raphael.drag.over."+u.el.id,u.el,N);f+=s;h+=g;e("raphael.drag.move."+u.el.id,u.move_scope||u.el,f-u.el._drag.x,h-u.el._drag.y,f,h,b)}}},Ub=function(b){a.undragmove(Zb).undragend(Ub);a.unmousemove(Zb).unmouseup(Ub);for(var f=Tb.length,h;f--;)h=Tb[f],h.el._drag={},e("raphael.drag.end."+h.el.id,h.end_scope||h.start_scope||h.move_scope||h.el,b);Tb=[]},Ea=a.el={},Fb=
Z.length;Fb--;)(function(b){a[b]=Ea[b]=function(f,h){a.is(f,"function")&&(this.events=this.events||[],this.events.push({name:b,f:f,unbind:Bb(this.shape||this.node||V.doc,b,f,h||this)}));return this};a["un"+b]=Ea["un"+b]=function(f){for(var h=this.events||[],g=h.length;g--;)if(h[g].name==b&&h[g].f==f){h[g].unbind();h.splice(g,1);!h.length&&delete this.events;break}return this}})(Z[Fb]);Ea.data=function(b,f){var h=E[this.id]=E[this.id]||{};if(1==arguments.length){if(a.is(b,"object")){for(var g in b)b.hasOwnProperty(g)&&
this.data(g,b[g]);return this}e("raphael.data.get."+this.id,this,h[b],b);return h[b]}h[b]=f;e("raphael.data.set."+this.id,this,f,b);return this};Ea.removeData=function(b){null==b?delete E[this.id]:E[this.id]&&delete E[this.id][b];return this};Ea.getData=function(){return ta(E[this.id]||{})};var Vb=[],bc=function(){this.untrack=Bb(V.doc,"mouseup",hc,this)},hc=function(){this.untrack();this.untrack=null;return this.fn&&this.fn.apply(this.scope||this.el,arguments)};Ea.mouseup=function(b,f,h){if(!h)return a.mouseup.apply(this,
arguments);Vb.push(h={el:this,fn:b,scope:f});h.unbind=Bb(this.shape||this.node||V.doc,"mousedown",bc,h);return this};Ea.unmouseup=function(b){for(var f=Vb.length,h;f--;)Vb[f].el===this&&Vb[f].fn===b&&(h=Vb[f],h.unbind(),h.untrack&&h.untrack(),Vb.splice(f,1));return h?this:a.unmouseup.apply(this,arguments)};Ea.hover=function(b,f,h,g){return this.mouseover(b,h).mouseout(f,g||h)};Ea.unhover=function(b,f){return this.unmouseover(b).unmouseout(f)};var Qb=[];Ea.drag=function(b,f,h,g,s,u){function v(A){var N=
V.doc.documentElement.scrollTop||V.doc.body.scrollTop,Y=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft;this._drag.x=A.clientX+Y;this._drag.y=A.clientY+N;this._drag.id=A.identifier;ia&&!ea&&!Tb.length&&a.dragmove(Zb).dragend(Ub);!Tb.length&&a.mousemove(Zb).mouseup(Ub);Tb.push({el:this,move_scope:g,start_scope:s,end_scope:u});f&&e.on("raphael.drag.start."+this.id,f);b&&e.on("raphael.drag.move."+this.id,b);h&&e.on("raphael.drag.end."+this.id,h);e("raphael.drag.start."+this.id,s||g||this,A.clientX+
Y,A.clientY+N,A)}this._drag={};Qb.push({el:this,start:v});ia&&!ea&&this.dragstart(v);this.mousedown(v);return this};Ea.onDragOver=function(b){b?e.on("raphael.drag.over."+this.id,b):e.unbind("raphael.drag.over."+this.id)};Ea.undrag=function(){for(var b=Qb.length;b--;)Qb[b].el==this&&(this.unmousedown(Qb[b].start),Qb.splice(b,1),e.unbind("raphael.drag.*."+this.id));!Qb.length&&a.unmousemove(Zb).unmouseup(Ub);delete this._drag};Ea.follow=function(b,f,h){if(b.removed||b.constructor!==a.el.constructor)return this;
b.followers.push({el:this,stalk:h={before:"insertBefore",after:"insertAfter"}[h],cb:f});h&&this[h](b);return this};Ea.unfollow=function(b){if(b.removed||b.constructor!==a.el.constructor)return this;for(var f=0,h=b.followers.length;f<h;f++)if(b.followers[f].el===this){b.followers.splice(f,1);break}return this};ga.hide=function(){this.canvas.style.visibility="hidden";return this};ga.show=function(){this.canvas.style.visibility="";return this};ga.group=function(){var b=arguments,f=pa(b,!0),b=a._engine.group(this,
b[0],f);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ga.circle=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"cx",0,"cy",0,"r",0,"fill","none","stroke","#000"),f=a._engine.circle(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.rect=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"width",0,"height",0,"r",0,"fill","none","stroke","#000"),f=a._engine.rect(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};
ga.ellipse=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"rx",0,"ry",0,"fill","none","stroke","#000"),f=a._engine.ellipse(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.path=function(){var b=arguments,f=pa(b,!0),h=this.config,b=Ma(b,"path","","fill","none","stroke","#000","stroke-linecap",h&&h["stroke-linecap"]||"butt"),f=a._engine.path(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.image=function(){var b=arguments,
f=pa(b,!0),b=Ma(b,"src","","x",0,"y",0,"width",0,"height",0);out=a._engine.image(this,b,f);return this.__set__&&this.__set__.push(out),this._elementsById[out.id]=out};ga.text=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"text","","stroke","none","fill","#000","text-anchor","middle","vertical-align","middle"),f=a._engine.text(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.set=function(b){!a.is(b,"array")&&(b=F.call(arguments,0,arguments.length));var f=
new Za(b);this.__set__&&this.__set__.push(f);return f};ga.setConfig=function(b,f){void 0!==b&&void 0!==f&&(this.config=this.config||{},this.config[b]=f);return this.config};ga.setStart=function(b){this.__set__=b||this.set()};ga.setFinish=function(b){b=this.__set__;delete this.__set__;return b};ga.setSize=function(b,f){return a._engine.setSize.call(this,b,f)};ga.setDimension=function(b,f){"object"===typeof b?this.setSize(b.width,b.height):this.setSize(b,f)};ga.attr=function(b){if(null==b)return{width:this.width,
height:this.height};if(a.is(b,"string"))return this[b];this.setDimension(b);return this};ga.status=function(b,f){return Ea.status.call(this,b,f)};ga.animateWith=function(b,f,h,g,a,s){return Ea.animateWith.call(this,b,f,h,g,a,s)};ga.animate=function(b,f,h,g){return Ea.animate.call(this,b,f,h,g)};ga.setViewBox=function(b,f,h,g,s){return a._engine.setViewBox.call(this,b,f,h,g,s)};ga.top=ga.bottom=null;ga.raphael=a;ga.getElementByPoint=function(b,f){var h,g,a=this.canvas,s=V.doc.elementFromPoint(b,f);
if(V.win.opera&&"svg"==s.tagName){g=a.getBoundingClientRect();h=a.ownerDocument;var u=h.body,v=h.documentElement;h=g.top+(V.win.pageYOffset||v.scrollTop||u.scrollTop)-(v.clientTop||u.clientTop||0);g=g.left+(V.win.pageXOffset||v.scrollLeft||u.scrollLeft)-(v.clientLeft||u.clientLeft||0);u=a.createSVGRect();u.x=b-g;u.y=f-h;u.width=u.height=1;h=a.getIntersectionList(u,null);h.length&&(s=h[h.length-1])}if(!s)return null;for(;s.parentNode&&s!=a.parentNode&&!s.raphael;)s=s.parentNode;s==this.canvas.parentNode&&
(s=a);return s=s&&s.raphael?this.getById(s.raphaelid):null};ga.getElementsByBBox=function(b){var f=this.set();this.forEach(function(h){a.isBBoxIntersect(h.getBBox(),b)&&f.push(h)});return f};ga.getById=function(b){return this._elementsById[b]||null};ga.forEach=function(b,f){for(var h=this.bottom;h&&!1!==b.call(f,h);)h=h.next;return this};ga.getElementsByPoint=function(b,f){var h=this.set();this.forEach(function(g){g.isPointInside(b,f)&&h.push(g)});return h};Ea.isPointInside=function(b,f){var h=this.realPath=
this.realPath||Y[this.type](this),g;return a.isPointInsidePath((g=this.attr("transform"))&&g.length&&a.transformPath(h,g)||h,b,f)};Ea.getBBox=function(b){if(this.removed)return{};var f=this._;if(b){if(f.dirty||!f.bboxwt)this.realPath=Y[this.type](this),f.bboxwt=nc(this.realPath),f.bboxwt.toString=q,f.dirty=0;return f.bboxwt}if(f.dirty||f.dirtyT||!f.bbox){if(f.dirty||!this.realPath)f.bboxwt=0,this.realPath=Y[this.type](this);f.bbox=nc(h(this.realPath,this.matrix));f.bbox.toString=q;f.dirty=f.dirtyT=
0}return f.bbox};Ea.clone=function(){if(this.removed)return null;var b=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(b);return b};Ea.glow=function(b){if("text"==this.type)return null;b=b||{};var f=(b.width||10)+(+this.attr("stroke-width")||1),g=b.fill||!1,a=b.opacity||.5,s=b.offsetx||0,u=b.offsety||0;b=b.color||"#000";for(var v=f/2,A=this.paper,N=A.set(),d=this.realPath||Y[this.type](this),d=this.matrix?h(d,this.matrix):d,L=1;L<v+1;L++)N.push(A.path(d).attr({stroke:b,fill:g?
b:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(f/v*L).toFixed(3),opacity:+(a/v).toFixed(3)}));return N.insertBefore(this).translate(s,u)};var Rb=function(b,f,h,g,s,u,v,A,N){return null==N?I(b,f,h,g,s,u,v,A):a.findDotsAtSegment(b,f,h,g,s,u,v,A,n(b,f,h,g,s,u,v,A,N))},yb=function(b,f){return function(h,g,s){h=ka(h);for(var u,v,A,N,Y="",d={},L=0,c=0,O=h.length;c<O;c++){A=h[c];if("M"==A[0])u=+A[1],v=+A[2];else{N=Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6]);if(L+N>g){if(f&&!d.start){u=
Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6],g-L);Y+=["C"+u.start.x,u.start.y,u.m.x,u.m.y,u.x,u.y];if(s)return Y;d.start=Y;Y=["M"+u.x,u.y+"C"+u.n.x,u.n.y,u.end.x,u.end.y,A[5],A[6]].join();L+=N;u=+A[5];v=+A[6];continue}if(!b&&!f)return u=Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6],g-L),{x:u.x,y:u.y,alpha:u.alpha}}L+=N;u=+A[5];v=+A[6]}Y+=A.shift()+A}d.end=Y;u=b?L:f?d:a.findDotsAtSegment(u,v,A[0],A[1],A[2],A[3],A[4],A[5],1);u.alpha&&(u={x:u.x,y:u.y,alpha:u.alpha});return u}},bb=yb(1),cb=yb(),$a=yb(0,1);a.getTotalLength=
bb;a.getPointAtLength=cb;a.getSubpath=function(b,f,h){if(1E-6>this.getTotalLength(b)-h)return $a(b,f).end;b=$a(b,h,1);return f?$a(b,f).end:b};Ea.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():bb(this.attrs.path)};Ea.getPointAtLength=function(b){if("path"==this.type)return cb(this.attrs.path,b)};Ea.getSubpath=function(b,f){if("path"==this.type)return a.getSubpath(this.attrs.path,b,f)};var Sa=a.easing_formulas={linear:function(b){return b},
"<":function(b){return Fa(b,1.7)},">":function(b){return Fa(b,.48)},"<>":function(b){var f=.48-b/1.04,h=Da(.1734+f*f);b=h-f;b=Fa(Ca(b),1/3)*(0>b?-1:1);f=-h-f;f=Fa(Ca(f),1/3)*(0>f?-1:1);b=b+f+.5;return 3*(1-b)*b*b+b*b*b},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){--b;return b*b*(2.70158*b+1.70158)+1},elastic:function(b){return b==!!b?b:Fa(2,-10*b)*ra(2*(b-.075)*Ia/.3)+1},bounce:function(b){b<1/2.75?b*=7.5625*b:b<2/2.75?(b-=1.5/2.75,b=7.5625*b*b+.75):b<2.5/2.75?(b-=2.25/
2.75,b=7.5625*b*b+.9375):(b-=2.625/2.75,b=7.5625*b*b+.984375);return b}};Sa.easeIn=Sa["ease-in"]=Sa["<"];Sa.easeOut=Sa["ease-out"]=Sa[">"];Sa.easeInOut=Sa["ease-in-out"]=Sa["<>"];Sa["back-in"]=Sa.backIn;Sa["back-out"]=Sa.backOut;var Ra=[],Ya=k.requestAnimationFrame||k.webkitRequestAnimationFrame||k.mozRequestAnimationFrame||k.oRequestAnimationFrame||k.msRequestAnimationFrame||function(b){setTimeout(b,16)},db=function(){for(var b=+new Date,f=0;f<Ra.length;f++){var h=Ra[f];if(!(h.el.removed||h.paused||
h.parentEl&&h.parentEl.e.paused)){var g=b-h.start,s=h.ms,u=h.easing,v=h.from,A=h.diff,N=h.to,Y=h.el,d={},L,c={},O=!1!==a.stopEvent,pa;h.initstatus?(g=(h.initstatus*h.anim.top-h.prev)/(h.percent-h.prev)*s,h.status=h.initstatus,delete h.initstatus,h.stop&&(delete h.el,Ra.splice(f--,1))):h.status=(h.prev+g/s*(h.percent-h.prev))/h.anim.top;if(!(0>g))if(g<s){var S=u(g/s),W;for(W in v)if(v.hasOwnProperty(W)){switch(K[W]){case l:L=+v[W]+S*s*A[W];break;case "colour":L="rgb("+[fb(ha(v[W].r+S*s*A[W].r)),fb(ha(v[W].g+
S*s*A[W].g)),fb(ha(v[W].b+S*s*A[W].b))].join()+")";break;case "path":L=[];g=0;for(u=v[W].length;g<u;g++){L[g]=[v[W][g][0]];N=1;for(c=v[W][g].length;N<c;N++)L[g][N]=(+v[W][g][N]+S*s*A[W][g][N]).toFixed(4);L[g]=L[g].join(" ")}L=L.join(" ");break;case "transform":if(A[W].real)for(L=[],g=0,u=v[W].length;g<u;g++)for(L[g]=[v[W][g][0]],N=1,c=v[W][g].length;N<c;N++)L[g][N]=v[W][g][N]+S*s*A[W][g][N];else L=function(b){return+v[W][b]+S*s*A[W][b]},L=[["m",L(0),L(1),L(2),L(3),L(4),L(5)]];break;case "csv":if("clip-rect"==
W)for(L=[],g=4;g--;)L[g]=+v[W][g]+S*s*A[W][g];break;default:for(u=[].concat(v[W]),L=[],g=Y.ca[W].length;g--;)L[g]=+u[g]+S*s*A[W][g]}d[W]=L}Y.attr(d);O&&function(b,f,h){setTimeout(function(){e("raphael.anim.frame."+b,f,h)})}(Y.id,Y,h.anim)}else{(function(b,f,h){setTimeout(function(){O&&e("raphael.anim.frame."+f.id,f,h);O&&e("raphael.anim.finish."+f.id,f,h);a.is(b,"function")&&b.call(f)})})(h.callback,Y,h.anim);Y.attr(N);delete h.el;Ra.splice(f--,1);if(1<h.repeat&&!h.next){for(pa in N)N.hasOwnProperty(pa)&&
(c[pa]=h.totalOrigin[pa]);h.el.attr(c);p(h.anim,h.el,h.anim.percents[0],null,h.totalOrigin,h.repeat-1)}h.next&&!h.stop&&p(h.anim,h.el,h.next,null,h.totalOrigin,h.repeat)}}}a.svg&&Y&&Y.paper&&Y.paper.safari();Ra.length&&Ya(db)},fb=function(b){return 255<b?255:0>b?0:b};Ea.animateWith=function(b,f,h,g,s,u){var v=this;if(v.removed)return u&&u.call(v),v;if(0==g)return setTimeout(function(){a.is(u,"function")&&u.call(v)},0),v.attr(h);h=h instanceof c?h:a.animation(h,g,s,u);p(h,v,h.percents[0],null,v.attr(),
void 0,b);h=0;for(g=Ra.length;h<g;h++)if(Ra[h].anim==f&&Ra[h].el==b){Ra[g-1].start=Ra[h].start;break}return v};Ea.onAnimation=function(b){b?e.on("raphael.anim.frame."+this.id,b):e.unbind("raphael.anim.frame."+this.id);return this};c.prototype.delay=function(b){var f=new c(this.anim,this.ms);f.times=this.times;f.del=+b||0;return f};c.prototype.repeat=function(b){var f=new c(this.anim,this.ms);f.del=this.del;f.times=Na.floor(la(b,0))||1;return f};a.animation=function(b,f,h,g,s){if(b instanceof c)return b;
if(a.is(h,"function")||!h)g=g||h||null,h=null;void 0===a.stopEvent&&(a.stopEvent=s);b=Object(b);f=+f||0;s={};var u,v;for(v in b)b.hasOwnProperty(v)&&Ha(v)!=v&&Ha(v)+"%"!=v&&(u=!0,s[v]=b[v]);return u?(h&&(s.easing=h),g&&(s.callback=g),new c({100:s},f)):new c(b,f)};Ea.animate=function(b,f,h,g){if(this.removed)return g&&g.call(this),this;b=b instanceof c?b:a.animation(b,f,h,g);p(b,this,b.percents[0],null,this.attr());return this};Ea.setTime=function(b,f){b&&null!=f&&this.status(b,oa(f,b.ms)/b.ms);return this};
Ea.status=function(b,f){var h=[],g=0,a,s;if(null!=f)return p(b,this,-1,oa(f,1)),this;for(a=Ra.length;g<a;g++)if(s=Ra[g],s.el.id==this.id&&(!b||s.anim==b)){if(b)return s.status;h.push({anim:s.anim,status:s.status})}return b?0:h};Ea.pause=function(b,f){var h=+new Date,g,a;for(a=0;a<Ra.length;a++)g=Ra[a],!(g.el.id===this.id||f&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===e("raphael.anim.pause."+this.id,this,g.anim)||(g.paused=!0,g.pauseStart=h);return this};Ea.resume=
function(b,f){var h=+new Date,g,a;for(a=0;a<Ra.length;a++)g=Ra[a],!(g.el.id===this.id||f&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===e("raphael.anim.resume."+this.id,this,g.anim)||(delete g.paused,g.el.status(g.anim,g.status),g.pauseEnd=h,g.start+=(g.parentEl&&g.parentEl.e.pauseEnd||g.pauseEnd)-(g.parentEl&&g.parentEl.e.pauseStart||g.pauseStart)||0);return this};Ea.stop=function(b,f,h){var g;if(f)for(g=Ra.length-1;0<=g;g--)f=Ra[g],!(f.el.id===this.id||f.parentEl&&
f.parentEl.id===this.id)||b&&Ra[g].anim!=b||(ele=f.el,h&&ele.attr(f.to),f.callback&&f.callback.call(ele),delete ele.e,delete f.el,Ra.splice(g,1));else for(g=0;g<Ra.length;g++)f=Ra[g],f.el.id!==this.id||b&&f.anim!==b||!1!==e("raphael.anim.stop."+this.id,this,f.anim)&&Ra.splice(g--,1);return this};e.on("raphael.remove",d);e.on("raphael.clear",d);Ea.toString=function(){return"Raphaël’s object"};Ea.toFront=function(){if(this.removed)return this;var b=a._engine.getNode(this),f=this.parent,h=this.followers,
g;a._tofront(this,f)&&f.canvas.appendChild(b);b=0;for(f=h.length;b<f;b++)(g=h[b]).stalk&&g.el[g.stalk](this);return this};Ea.toBack=function(){if(this.removed)return this;var b=a._engine.getNode(this),f=this.parent,h=this.followers,g;a._toback(this,f)&&f.canvas.insertBefore(b,f.canvas.firstChild);b=0;for(f=h.length;b<f;b++)(g=h[b]).stalk&&g.el[g.stalk](this);return this};Ea.insertAfter=function(b){if(this.removed)return this;var f=a._engine.getNode(this),h=a._engine.getLastNode(b),g=b.parent.canvas,
s=this.followers,u;h.nextSibling?g.insertBefore(f,h.nextSibling):g.appendChild(f);a._insertafter(this,b,this.parent,b.parent);f=0;for(h=s.length;f<h;f++)(u=s[f]).stalk&&u.el[u.stalk](b);return this};Ea.insertBefore=function(b){if(this.removed)return this;var f=a._engine.getNode(this),h=a._engine.getNode(b),g=this.followers,s;b.parent.canvas.insertBefore(f,h);a._insertbefore(this,b,this.parent,b.parent);this.parent=b.parent;f=0;for(h=g.length;f<h;f++)(s=g[f]).stalk&&s.el[s.stalk](b);return this};Ea.appendChild=
function(b){if(this.removed||"group"!==this.type)return this;var f=this.followers,h,g,s;if(b.parent===this)return b.toFront(),this;g=a._engine.getNode(b);a._tear(b,b.parent);this.canvas.appendChild(g);b.parent=this;!this.bottom&&(this.bottom=b);b.prev=this.top;b.next=null;this.top&&(this.top.next=b);this.top=b;g=0;for(s=f.length;g<s;g++)(h=f[g]).stalk&&h.el[h.stalk](b);return this};Ea.removeChild=function(b){if(this.removed||"group"!==this.type||b.parent!==this)return this;var f=a._engine.getNode(b),
h=this.paper;a._tear(b,this);h.canvas.appendChild(f);this.parent=h;!h.bottom&&(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=null;return this};var Za=function(b){this.items=[];this.length=0;this.type="set";if(b)for(var f=0,h=b.length;f<h;f++)!b[f]||b[f].constructor!=Ea.constructor&&b[f].constructor!=Za||(this[this.items.length]=this.items[this.items.length]=b[f],this.length++)},Xa=Za.prototype;Xa.push=function(){for(var b,f,h=0,g=arguments.length;h<g;h++)!(b=arguments[h])||
b.constructor!=Ea.constructor&&b.constructor!=Za||(f=this.items.length,this[f]=this.items[f]=b,this.length++);return this};Xa.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};Xa.forEach=function(b,f){for(var h=0,g=this.items.length;h<g&&!1!==b.call(f,this.items[h],h);h++);return this};for(var hb in Ea)Ea.hasOwnProperty(hb)&&(Xa[hb]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b][Q](h,f)})}}(hb));Xa.attr=function(b,f){if(b&&a.is(b,w)&&
a.is(b[0],"object"))for(var h=0,g=b.length;h<g;h++)this.items[h].attr(b[h]);else for(h=0,g=this.items.length;h<g;h++)this.items[h].attr(b,f);return this};Xa.clear=function(){for(;this.length;)this.pop()};Xa.splice=function(b,f,h){b=0>b?la(this.length+b,0):b;f=la(0,oa(this.length-b,isNaN(f)&&this.length||f));var g=[],a=[],s=[],u;for(u=2;u<arguments.length;u++)s.push(arguments[u]);for(u=0;u<f;u++)a.push(this[b+u]);for(;u<this.length-b;u++)g.push(this[b+u]);var v=s.length;for(u=0;u<v+g.length;u++)this.items[b+
u]=this[b+u]=u<v?s[u]:g[u-v];for(u=this.items.length=this.length-=f-v;this[u];)delete this[u++];return new Za(a)};Xa.exclude=function(b){for(var f=0,h=this.length;f<h;f++)if(this[f]==b)return this.splice(f,1),!0};Xa.animate=function(b,f,h,g){!a.is(h,"function")&&h||(g=h||null);var s=this.items.length,u=s,v=this,A;if(!s)return this;g&&(A=function(){!--s&&g.call(v)});h=a.is(h,"string")?h:A;f=a.animation(b,f,h,A);for(b=this.items[--u].animate(f);u--;)this.items[u]&&!this.items[u].removed&&this.items[u].animateWith(b,
f,f);return this};Xa.insertAfter=function(b){for(var f=this.items.length;f--;)this.items[f].insertAfter(b);return this};Xa.getBBox=function(){for(var b=[],f=[],h=[],g=[],a=this.items.length;a--;)if(!this.items[a].removed){var s=this.items[a].getBBox();b.push(s.x);f.push(s.y);h.push(s.x+s.width);g.push(s.y+s.height)}b=oa[Q](0,b);f=oa[Q](0,f);h=la[Q](0,h);g=la[Q](0,g);return{x:b,y:f,x2:h,y2:g,width:h-b,height:g-f}};Xa.clone=function(b){b=new Za;for(var f=0,h=this.items.length;f<h;f++)b.push(this.items[f].clone());
return b};Xa.toString=function(){return"Raphaël‘s set"};Xa.glow=function(b){var f=this.paper.set();this.forEach(function(h,g){var a=h.glow(b);null!=a&&a.forEach(function(b,h){f.push(b)})});return f};a.registerFont=function(b){if(!b.face)return b;this.fonts=this.fonts||{};var f={w:b.w,face:{},glyphs:{}},h=b.face["font-family"],g;for(g in b.face)b.face.hasOwnProperty(g)&&(f.face[g]=b.face[g]);this.fonts[h]?this.fonts[h].push(f):this.fonts[h]=[f];if(!b.svg){f.face["units-per-em"]=U(b.face["units-per-em"],
10);for(var a in b.glyphs)if(b.glyphs.hasOwnProperty(a)&&(h=b.glyphs[a],f.glyphs[a]={w:h.w,k:{},d:h.d&&"M"+h.d.replace(/[mlcxtrv]/g,function(b){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[b]||"M"})+"z"},h.k))for(var s in h.k)h.hasOwnProperty(s)&&(f.glyphs[a].k[s]=h.k[s])}return b};ga.getFont=function(b,f,h,g){g=g||"normal";h=h||"normal";f=+f||{normal:400,bold:700,lighter:300,bolder:800}[f]||400;if(a.fonts){var s=a.fonts[b];if(!s){b=new RegExp("(^|\\s)"+b.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)",
"i");for(var u in a.fonts)if(a.fonts.hasOwnProperty(u)&&b.test(u)){s=a.fonts[u];break}}var v;if(s)for(u=0,b=s.length;u<b&&(v=s[u],v.face["font-weight"]!=f||v.face["font-style"]!=h&&v.face["font-style"]||v.face["font-stretch"]!=g);u++);return v}};ga.print=function(b,f,h,g,s,u,v){u=u||"middle";v=la(oa(v||0,1),-1);var A=ua(h).split(""),N=0,Y=0,d="";a.is(g,h)&&(g=this.getFont(g));if(g){h=(s||16)/g.face["units-per-em"];var L=g.face.bbox.split(ab);s=+L[0];var c=L[3]-L[1],O=0;u=+L[1]+("baseline"==u?c+ +g.face.descent:
c/2);for(var L=0,l=A.length;L<l;L++){if("\n"==A[L])Y=pa=N=0,O+=c;else var e=Y&&g.glyphs[A[L-1]]||{},pa=g.glyphs[A[L]],N=N+(Y?(e.w||g.w)+(e.k&&e.k[A[L]]||0)+g.w*v:0),Y=1;pa&&pa.d&&(d+=a.transformPath(pa.d,["t",N*h,O*h,"s",h,h,s,u,"t",(b-s)/h,(f-u)/h]))}}return this.path(d).attr({fill:"#000",stroke:"none"})};ga.add=function(b){if(a.is(b,"array"))for(var f=this.set(),h=0,g=b.length,s;h<g;h++)s=b[h]||{},da.hasOwnProperty(s.type)&&f.push(this[s.type]().attr(s));return f};a.format=function(f,h){var g=a.is(h,
w)?[0].concat(h):arguments;f&&a.is(f,"string")&&g.length-1&&(f=f.replace(b,function(b,f){return null==g[++f]?"":g[f]}));return f||""};a.fullfill=function(){var b=/\{([^\}]+)\}/g,f=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,h=function(b,h,g){var a=g;h.replace(f,function(b,f,h,g,s){f=f||g;a&&(f in a&&(a=a[f]),"function"==typeof a&&s&&(a=a()))});return a=(null==a||a==g?b:a)+""};return function(f,g){return String(f).replace(b,function(b,f){return h(b,f,g)})}}();a.ninja=function(){P?V.win.Raphael=
fa:delete Raphael;return a};var nb=a.vml&&.5||0;a.crispBound=vb(function(b,f,h,g,a){var s={},u;b=b||0;f=f||0;h=h||0;g=g||0;a=a||0;u=a%2/2+nb;s.x=ha(b+u)-u;s.y=ha(f+u)-u;s.width=ha(b+h+u)-u-s.x;s.height=ha(f+g+u)-u-s.y;s["stroke-width"]=a;0===s.width&&0!==h&&(s.width=1);0===s.height&&0!==g&&(s.height=1);return s},a);Ea.crisp=function(){var b=this.attrs,f,h=this.attr(["x","y","width","height","stroke-width"]),h=a.crispBound(h.x,h.y,h.width,h.height,h["stroke-width"]);for(f in h)b[f]===h[f]&&delete h[f];
return this.attr(h)};a.st=Xa;a.define=function(b,f,h,g,s,u){var v;if(a.is(b,w))for(u=0,v=b.length;u<v;u++)a.define(b[u]);else if(a.is(b,"object"))a.define(b.name,b[b.name],b.ca,b.fn,b.e,b.data);else if(b&&!a.fn[b])return a.fn[b]=function(){var u=arguments,v=f.apply(this,u),A;if(g&&a.is(g,"object"))for(A in g)v[A]=g[A];if(s&&a.is(s,"object"))for(A in s)v[A]&&v[A](s[A]);if(h){if(a.is(h,"function"))v.ca[b]=h;else for(A in h)v.ca[A]=h[A];v.ca[b]&&(a._lastArgIfGroup(u,!0),u.length&&v.attr(b,H.call(u)))}return v},
h&&(a.fn[b].ca=h),g&&(a.fn[b].fn=g),s&&(a.fn[b].e=s),u&&(a.fn[b].data=u),a.fn[b]};(function(b,f,h){function g(){/in/.test(b.readyState)?setTimeout(g,9):a.eve("raphael.DOMload")}null==b.readyState&&b.addEventListener&&(b.addEventListener(f,h=function(){b.removeEventListener(f,h,!1);b.readyState="complete"},!1),b.readyState="loading");g()})(document,"DOMContentLoaded");e.on("raphael.DOMload",function(){B=!0});(function(){function b(f){for(var h={},g=f,a=h;g;)g.node&&g.node.style&&"none"===g.node.style.display&&
(g.show(),a._doHide=!0),g=g.parent,a.parent={},a=a.parent;return function(){for(var b=f,g=h;b;)g._doHide&&b.hide(),b=b.parent,g=g.parent}}if(a.svg){var f=String,h=parseFloat,g=parseInt,s=Math,u=s.max,v=s.abs,A=s.pow,N=s.sqrt,Y=/[, ]+/,d=!(!/AppleWebKit/.test(a._g.win.navigator.userAgent)||/Chrome/.test(a._g.win.navigator.userAgent)&&!(29>a._g.win.navigator.appVersion.match(/Chrome\/(\d+)\./)[1])),L=a.eve,c={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",
open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},O={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};a._url="";var l=function(b,f){var h=b.gradient;if(h){if(h===f)return;h.refCount--;h.refCount||h.parentNode.removeChild(h);delete b.gradient}f&&(b.gradient=f,f.refCount++)},e=a._createNode=function(b,h){if(h){"string"==typeof b&&(b=e(b));for(var g in h)h.hasOwnProperty(g)&&("xlink:"==g.substring(0,6)?b.setAttributeNS("http://www.w3.org/1999/xlink",
g.substring(6),f(h[g])):b.setAttribute(g,f(h[g])))}else b=a._g.doc.createElementNS("http://www.w3.org/2000/svg",b);return b},pa={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},S={pad:"pad",redlect:"reflect",repeat:"repeat"},W=function(b,g){if(!b.paper||!b.paper.defs)return 0;var Y="linear",d=b.paper,L=a.getElementID((d.id+"-"+g).replace(/[\(\)\s%:,\xb0#]/g,"_")),c=.5,O=.5,W,R,E,Ma,K,k=b.node,Ga=k.style,ja=a._g.doc.getElementById(L);if(!ja){g=f(g).replace(a._radial_gradient,
function(b,f){Y="radial";f=f&&f.split(",")||[];Ma=f[5];K=f[6];var g=f[0],a=f[1],s=f[2],u=f[3],v=f[4],d=g&&a,L;s&&(W=/\%/.test(s)?s:h(s));if(Ma===pa.userSpaceOnUse)return d&&(c=g,O=a),u&&v&&(R=u,E=v,d||(c=R,O=E)),"";d&&(c=h(g),O=h(a),g=2*(.5<O)-1,.25<(L=A(c-.5,2))+A(O-.5,2)&&.25>L&&(O=N(.25-L)*g+.5)&&.5!==O&&(O=O.toFixed(5)-1E-5*g));u&&v&&(R=h(u),E=h(v),g=2*(.5<E)-1,.25<(L=A(R-.5,2))+A(E-.5,2)&&.25>L&&(E=N(.25-L)*g+.5)&&.5!==E&&(E=E.toFixed(5)-1E-5*g),d||(c=R,O=E));return""});g=g.split(/\s*\-\s*/);
if("linear"==Y){var ja=g.shift(),Ua=ja.match(/\((.*)\)/),ta,Ua=Ua&&Ua[1]&&Ua[1].split(/\s*\,\s*/),ja=-h(ja);if(isNaN(ja))return null;Ua&&Ua.length?(Ua[0]in pa?(Ma=Ua.shift(),Ua[0]in S&&(K=Ua.shift())):(Ua[4]&&(Ma=Ua[4]),Ua[5]&&(K=Ua[5])),ta=[Ua[0]||"0%",Ua[1]||"0%",Ua[2]||"100%",Ua[3]||"0%"]):(ta=[0,0,s.cos(a.rad(ja)),s.sin(a.rad(ja))],ja=1/(u(v(ta[2]),v(ta[3]))||1),ta[2]*=ja,ta[3]*=ja,0>ta[2]&&(ta[0]=-ta[2],ta[2]=0),0>ta[3]&&(ta[1]=-ta[3],ta[3]=0))}Ua=a._parseDots(g);if(!Ua)return null;ja=e(Y+"Gradient",
{id:L});ja.refCount=0;Ma in pa&&ja.setAttribute("gradientUnits",f(Ma));K in S&&ja.setAttribute("spreadMethod",f(K));"radial"===Y?(void 0!==W&&ja.setAttribute("r",f(W)),void 0!==R&&void 0!==E&&(ja.setAttribute("cx",f(R)),ja.setAttribute("cy",f(E))),ja.setAttribute("fx",f(c)),ja.setAttribute("fy",f(O))):e(ja,{x1:ta[0],y1:ta[1],x2:ta[2],y2:ta[3]});ta=0;for(var aa=Ua.length;ta<aa;ta++)ja.appendChild(e("stop",{offset:Ua[ta].offset?Ua[ta].offset:ta?"100%":"0%","stop-color":Ua[ta].color||"#fff","stop-opacity":void 0===
Ua[ta].opacity?1:Ua[ta].opacity}));d.defs.appendChild(ja)}l(b,ja);e(k,{fill:"url('"+a._url+"#"+L+"')",opacity:1,"fill-opacity":1});Ga.fill="";Ga.opacity=1;return Ga.fillOpacity=1},R=function(b){var f=b.getBBox(1);e(b.pattern,{patternTransform:b.matrix.invert()+" translate("+f.x+","+f.y+")"})},E=function(b,h,g){if("path"==b.type){for(var s=f(h).toLowerCase().split("-"),u=b.paper,v=g?"end":"start",A=b.node,N=b.attrs,Y=N["stroke-width"],d=s.length,L="classic",l,pa,S=3,W=3,E=5;d--;)switch(s[d]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":L=
s[d];break;case "wide":W=5;break;case "narrow":W=2;break;case "long":S=5;break;case "short":S=2}"open"==L?(S+=2,W+=2,E+=2,l=1,pa=g?4:1,s={fill:"none",stroke:N.stroke}):(pa=l=S/2,s={fill:N.stroke,stroke:"none"});b._.arrows?g?(b._.arrows.endPath&&O[b._.arrows.endPath]--,b._.arrows.endMarker&&O[b._.arrows.endMarker]--):(b._.arrows.startPath&&O[b._.arrows.startPath]--,b._.arrows.startMarker&&O[b._.arrows.startMarker]--):b._.arrows={};if("none"!=L){var d="raphael-marker-"+L,R="raphael-marker-"+v+L+S+W+
"-obj"+b.id;a._g.doc.getElementById(d)?O[d]++:(u.defs.appendChild(e(e("path"),{"stroke-linecap":"round",d:c[L],id:d})),O[d]=1);var Ma=a._g.doc.getElementById(R);Ma?(O[R]++,S=Ma.getElementsByTagName("use")[0]):(Ma=e(e("marker"),{id:R,markerHeight:W,markerWidth:S,orient:"auto",refX:pa,refY:W/2}),S=e(e("use"),{"xlink:href":"#"+d,transform:(g?"rotate(180 "+S/2+" "+W/2+") ":"")+"scale("+S/E+","+W/E+")","stroke-width":(1/((S/E+W/E)/2)).toFixed(4)}),Ma.appendChild(S),u.defs.appendChild(Ma),O[R]=1);e(S,s);
u=l*("diamond"!=L&&"oval"!=L);g?(g=b._.arrows.startdx*Y||0,Y=a.getTotalLength(N.path)-u*Y):(g=u*Y,Y=a.getTotalLength(N.path)-(b._.arrows.enddx*Y||0));s={};s["marker-"+v]="url('"+a._url+"#"+R+"')";if(Y||g)s.d=a.getSubpath(N.path,g,Y);e(A,s);b._.arrows[v+"Path"]=d;b._.arrows[v+"Marker"]=R;b._.arrows[v+"dx"]=u;b._.arrows[v+"Type"]=L;b._.arrows[v+"String"]=h}else g?(g=b._.arrows.startdx*Y||0,Y=a.getTotalLength(N.path)-g):(g=0,Y=a.getTotalLength(N.path)-(b._.arrows.enddx*Y||0)),b._.arrows[v+"Path"]&&e(A,
{d:a.getSubpath(N.path,g,Y)}),delete b._.arrows[v+"Path"],delete b._.arrows[v+"Marker"],delete b._.arrows[v+"dx"],delete b._.arrows[v+"Type"],delete b._.arrows[v+"String"];for(s in O)O.hasOwnProperty(s)&&!O[s]&&(b=a._g.doc.getElementById(s))&&b.parentNode.removeChild(b)}},Ma={"":["none"],none:["none"],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},K=function(b,h,g){var s=Ma[f(h).toLowerCase()],u,v,A;if(h=
s||void 0!==h&&[].concat(h)){u=b.attrs["stroke-width"]||1;g={round:u,square:u,butt:0}[g["stroke-linecap"]||b.attrs["stroke-linecap"]]||0;v=h.length;A=s?u:1;if("none"==h[0])s=h;else for(s=[];v--;)s[v]=h[v]*A+(v%2?1:-1)*g,0>=s[v]&&(s[v]=.01+(1>=u?g:0)),isNaN(s[v])&&(s[v]=0);a.is(h,"array")&&e(b.node,{"stroke-dasharray":s.join(",")})}},k=function(b,f){for(var h in f)L("raphael.attr."+h+"."+b.id,b,f[h],h),b.ca[h]&&b.attr(h,f[h])},Ga=a._setFillAndStroke=function(b,h){if(b.paper.canvas){var s=b.node,A=
b.attrs,N=b.paper,L=s.style,c=L.visibility;h&&h.text&&(h.text=h.text.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&<br\/>lt;|&l<br\/>t;|&lt<br\/>;/g,"<<br/>").replace(/&<br\/>gt;|&g<br\/>t;|&gt<br\/>;/g,"><br/>"));L.visibility="hidden";for(var O in h)if(h.hasOwnProperty(O)&&a._availableAttrs.hasOwnProperty(O)){var pa=h[O];A[O]=pa;switch(O){case "blur":b.blur(pa);break;case "href":case "title":case "target":var S=s.parentNode;if("a"!=S.tagName.toLowerCase()){if(""==pa)break;var Ma=e("a");Ma.raphael=
!0;Ma.raphaelid=s.raphaelid;S.insertBefore(Ma,s);Ma.appendChild(s);S=Ma}"target"==O?S.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==pa?"new":pa):S.setAttributeNS("http://www.w3.org/1999/xlink",O,pa);s.titleNode=S;break;case "cursor":L.cursor=pa;break;case "transform":b.transform(pa);break;case "rotation":a.is(pa,"array")?b.rotate.apply(b,pa):b.rotate(pa);break;case "arrow-start":E(b,pa);break;case "arrow-end":E(b,pa,1);break;case "clip-path":var k=!0;case "clip-rect":S=!k&&f(pa).split(Y);
b._.clipispath=!!k;if(k||4==S.length){b.clip&&b.clip.parentNode.parentNode.removeChild(b.clip.parentNode);var Ma=e("clipPath"),Ga=e(k?"path":"rect");Ma.id=a.getElementID(a.createUUID());e(Ga,k?{d:pa?A["clip-path"]=a._pathToAbsolute(pa):a._availableAttrs.path,fill:"none"}:{x:S[0],y:S[1],width:S[2],height:S[3],transform:b.matrix.invert()});Ma.appendChild(Ga);N.defs.appendChild(Ma);e(s,{"clip-path":"url('"+a._url+"#"+Ma.id+"')"});b.clip=Ga}!pa&&(pa=s.getAttribute("clip-path"))&&((pa=a._g.doc.getElementById(pa.replace(/(^url\(#|\)$)/g,
"")))&&pa.parentNode.removeChild(pa),e(s,{"clip-path":""}),delete b.clip);break;case "path":"path"==b.type&&(e(s,{d:pa?A.path=a._pathToAbsolute(pa):a._availableAttrs.path}),b._.dirty=1,b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1)));break;case "width":if(s.setAttribute(O,pa),b._.dirty=1,A.fx)O="x",pa=A.x;else break;case "x":A.fx&&(pa=-A.x-(A.width||0));case "rx":if("rx"==O&&"rect"==b.type)break;case "cx":s.setAttribute(O,
pa);b.pattern&&R(b);b._.dirty=1;break;case "height":if(s.setAttribute(O,pa),b._.dirty=1,A.fy)O="y",pa=A.y;else break;case "y":A.fy&&(pa=-A.y-(A.height||0));case "ry":if("ry"==O&&"rect"==b.type)break;case "cy":s.setAttribute(O,pa);b.pattern&&R(b);b._.dirty=1;break;case "r":"rect"==b.type?e(s,{rx:pa,ry:pa}):s.setAttribute(O,pa);b._.dirty=1;break;case "src":"image"==b.type&&s.setAttributeNS("http://www.w3.org/1999/xlink","href",pa);break;case "stroke-width":if(1!=b._.sx||1!=b._.sy)pa/=u(v(b._.sx),v(b._.sy))||
1;N._vbSize&&(pa*=N._vbSize);d&&0===pa&&(pa=1E-6);s.setAttribute(O,pa);A["stroke-dasharray"]&&K(b,A["stroke-dasharray"],h);b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1));break;case "stroke-dasharray":K(b,pa,h);break;case "fill":var ja=f(pa).match(a._ISURL);if(ja){var Ma=e("pattern"),ta=e("image");Ma.id=a.getElementID(a.createUUID());e(Ma,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});e(ta,{x:0,y:0,"xlink:href":ja[1]});
Ma.appendChild(ta);(function(b){a._preload(ja[1],function(){var f=this.offsetWidth,h=this.offsetHeight;e(b,{width:f,height:h});e(ta,{width:f,height:h});N.safari()})})(Ma);N.defs.appendChild(Ma);L.fill="url('"+a._url+"#"+Ma.id+"')";e(s,{fill:L.fill});b.pattern=Ma;b.pattern&&R(b);break}S=a.getRGB(pa);if(!S.error)delete h.gradient,delete A.gradient,!a.is(A.opacity,"undefined")&&a.is(h.opacity,"undefined")&&e(s,{opacity:A.opacity}),!a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&
e(s,{"fill-opacity":A["fill-opacity"]}),b.gradient&&l(b);else if(("circle"==b.type||"ellipse"==b.type||"r"!=f(pa).charAt())&&W(b,pa)){if("opacity"in A||"fill-opacity"in A)if(S=a._g.doc.getElementById(s.getAttribute("fill").replace(/^url\(#|\)$/g,"")))S=S.getElementsByTagName("stop"),e(S[S.length-1],{"stop-opacity":("opacity"in A?A.opacity:1)*("fill-opacity"in A?A["fill-opacity"]:1)});A.gradient=pa;A.fill="none";L.fill="";break}S.hasOwnProperty("opacity")?(e(s,{"fill-opacity":L.fillOpacity=1<S.opacity?
S.opacity/100:S.opacity}),b._.fillOpacityDirty=!0):b._.fillOpacityDirty&&a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&(s.removeAttribute("fill-opacity"),L.fillOpacity="",delete b._.fillOpacityDirty);case "stroke":S=a.getRGB(pa);s.setAttribute(O,S.hex);L[O]=S.hex;"stroke"==O&&(S.hasOwnProperty("opacity")?(e(s,{"stroke-opacity":L.strokeOpacity=1<S.opacity?S.opacity/100:S.opacity}),b._.strokeOpacityDirty=!0):b._.strokeOpacityDirty&&a.is(A["stroke-opacity"],"undefined")&&
a.is(h["stroke-opacity"],"undefined")&&(s.removeAttribute("stroke-opacity"),L.strokeOpacity="",delete b._.strokeOpacityDirty),b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1)));break;case "gradient":"circle"!=b.type&&"ellipse"!=b.type&&"r"==f(pa).charAt()||W(b,pa);break;case "line-height":case "vertical-align":break;case "visibility":"hidden"===pa?b.hide():b.show();break;case "opacity":A.gradient&&!A.hasOwnProperty("stroke-opacity")&&
e(s,{"stroke-opacity":1<pa?pa/100:pa});case "fill-opacity":if(A.gradient){if(S=a._g.doc.getElementById(s.getAttribute("fill").replace(/^url\(#|\)$/g,"")))S=S.getElementsByTagName("stop"),e(S[S.length-1],{"stop-opacity":pa});break}default:"font-size"==O&&(pa=g(pa,10)+"px"),S=O.replace(/(\-.)/g,function(b){return b.substring(1).toUpperCase()}),L[S]=pa,b._.dirty=1,s.setAttribute(O,pa)}}"text"===b.type&&Ua(b,h);L.visibility=c}},ja=a._updateFollowers=function(){var b,f,h,g=arguments,a=T.call(g),s=T.call(g);
b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[s].apply(h,g)},Ua=function(b,g){if("text"==b.type&&(g.hasOwnProperty("text")||g.hasOwnProperty("font")||g.hasOwnProperty("font-size")||g.hasOwnProperty("x")||g.hasOwnProperty("y")||g.hasOwnProperty("line-height")||g.hasOwnProperty("vertical-align"))){var u=b.attrs,v=b.node,A=v.firstChild&&a._g.doc.defaultView.getComputedStyle(v.firstChild,""),N=A?h(a._g.doc.defaultView.getComputedStyle(v.firstChild,"").getPropertyValue("font-size")):10,Y=
h(g["line-height"]||u["line-height"])||1.2*N,d=u.hasOwnProperty("vertical-align")?u["vertical-align"]:"middle",L=(g.direction||(A?A.getPropertyValue("direction"):"initial")).toLowerCase(),c=!!document.documentMode;isNaN(Y)&&(Y=1.2*N);a.is(g.text,"array")&&(g.text=g.text.join("<br>"));d="top"===d?-.5:"bottom"===d?.5:0;if(g.hasOwnProperty("text")&&(g.text!==u.text||b._textdirty)){for(u.text=g.text;v.firstChild;)v.removeChild(v.firstChild);for(var O=f(g.text).split(/\n|<br\s*?\/?>/ig),N=[],l=0,pa=O.length;l<
pa;l++)A=e("tspan"),l?e(A,{dy:Y,x:u.x}):e(A,{dy:Y*O.length*d,x:u.x}),O[l]||(A.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),O[l]=" "),A.appendChild(a._g.doc.createTextNode(O[l])),v.appendChild(A),N[l]=A,!c&&"rtl"===L&&l<pa-1&&(A=e("tspan"),e(A,{visibility:"hidden","font-size":"0px"}),A.appendChild(a._g.doc.createTextNode("i")),v.appendChild(A));b._textdirty=!1}else for(N=v.getElementsByTagName("tspan"),l=c=0,pa=N.length;l<pa;l++)if(A=N[l],L=A.attributes[0],!L||"visibility"!==
L.name&&"visibility"!==L.nodeName||"hidden"!==L.value&&"hidden"!==L.nodeValue)l?e(A,{dy:Y,x:u.x}):(L=N[1]&&N[1].attributes[0],!L||"visibility"!==L.name&&"visibility"!==L.nodeName||"hidden"!==L.value&&"hidden"!==L.nodeValue||(c=s.floor(.5*N.length)),e(N[0],{dy:Y*(N.length-c)*d,x:u.x}));e(v,{x:u.x,y:u.y});b._.dirty=1;v=b._getBBox();Y=u.y-(v.y+v.height/2);if(v.isCalculated)switch(u["vertical-align"]){case "top":Y=.75*v.height;break;case "bottom":Y=-(.25*v.height);break;default:Y=u.y-(v.y+.25*v.height)}Y&&
a.is(Y,"finite")&&N[0]&&e(N[0],{dy:Y})}},ta=function(b,f,h){h=h||f;h.canvas&&h.canvas.appendChild(b);this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.matrix=a.matrix();this.realPath=null;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=f;this.ca=this.customAttributes=this.customAttributes||new f._CustomAttributes;this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};this.parent=h;!h.bottom&&(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=
null},aa=a.el;ta.prototype=aa;aa.constructor=ta;a._engine.getNode=function(b){b=b.node||b[0].node;return b.titleNode||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.titleNode||b};aa.rotate=function(b,g,a){if(this.removed)return this;ja(this,"rotate",b,g,a);b=f(b).split(Y);b.length-1&&(g=h(b[1]),a=h(b[2]));b=h(b[0]);null==a&&(g=a);if(null==g||null==a)a=this.getBBox(1),g=a.x+a.width/2,a=a.y+a.height/2;this.transform(this._.transform.concat([["r",b,g,a]]));return this};aa.scale=
function(b,g,a,s){var u;if(this.removed)return this;ja(this,"scale",b,g,a,s);b=f(b).split(Y);b.length-1&&(g=h(b[1]),a=h(b[2]),s=h(b[3]));b=h(b[0]);null==g&&(g=b);null==s&&(a=s);if(null==a||null==s)u=this.getBBox(1);a=null==a?u.x+u.width/2:a;s=null==s?u.y+u.height/2:s;this.transform(this._.transform.concat([["s",b,g,a,s]]));return this};aa.translate=function(b,g){if(this.removed)return this;ja(this,"translate",b,g);b=f(b).split(Y);b.length-1&&(g=h(b[1]));b=h(b[0])||0;this.transform(this._.transform.concat([["t",
b,+g||0]]));return this};aa.transform=function(b){var f=this._;if(null==b)return f.transform;a._extractTransform(this,b);this.clip&&!f.clipispath&&e(this.clip,{transform:this.matrix.invert()});this.pattern&&R(this);this.node&&e(this.node,{transform:this.matrix});if(1!=f.sx||1!=f.sy)b=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":b});return this};aa.hide=function(){ja(this,"hide");!this.removed&&this.paper.safari(this.node.style.display="none");return this};
aa.show=function(){ja(this,"show");!this.removed&&this.paper.safari(this.node.style.display="");return this};aa.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),f=this.paper,h=f.defs;f.__set__&&f.__set__.exclude(this);L.unbind("raphael.*.*."+this.id);for(this.gradient&&h&&l(this);h=this.followers.pop();)h.el.remove();for(;h=this.bottom;)h.remove();this._drag&&this.undrag();if(this.events)for(;h=this.events.pop();)h.unbind();this.parent.canvas.removeChild(b);this.removeData();
delete f._elementsById[this.id];a._tear(this,this.parent);for(h in this)this[h]="function"===typeof this[h]?a._removedFactory(h):null;this.removed=!0}};aa._getBBox=function(){var f,h=this.node,g={},a=this.attrs,s,u,v="text"===this.type,A=!!document.documentMode;A&&v?f=b(this):"none"===h.style.display&&(this.show(),u=!0);try{g=h.getBBox(),v&&(void 0===g.x&&(g.isCalculated=!0,s=a["text-anchor"],g.x=(a.x||0)-g.width*("start"===s?0:"middle"===s?.5:1)),void 0===g.y&&(g.isCalculated=!0,s=a["vertical-align"],
g.y=(a.y||0)-g.height*("bottom"===s?1:"middle"===s?.5:0)))}catch(N){}finally{g=g||{}}A&&v?f&&f():u&&this.hide();return g};aa.attr=function(b,f){if(this.removed)return this;if(null==b){var h={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(h[g]=this.attrs[g]);h.gradient&&"none"==h.fill&&(h.fill=h.gradient)&&delete h.gradient;h.transform=this._.transform;h.visibility="none"===this.node.style.display?"hidden":"visible";return h}if(null==f&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&
this.attrs.gradient)return this.attrs.gradient;if("transform"==b)return this._.transform;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var h=b.split(Y),s={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?s[b]=this.attrs[b]:a.is(this.ca[b],"function")?s[b]=this.ca[b].def:s[b]=a._availableAttrs[b];return g-1?s:s[h[0]]}if(null==f&&a.is(b,"array")){s={};u=0;for(g=b.length;u<g;u++)s[b[u]]=this.attr(b[u]);return s}null!=f?(h={},h[b]=f):null!=b&&a.is(b,"object")&&(h=b);
if(!1!==a.stopEvent)for(u in h)L("raphael.attr."+u+"."+this.id,this,h[u],u);var v={};for(u in this.ca)if(this.ca[u]&&h.hasOwnProperty(u)&&a.is(this.ca[u],"function")&&!this.ca["_invoked"+u]){this.ca["_invoked"+u]=!0;g=this.ca[u].apply(this,[].concat(h[u]));delete this.ca["_invoked"+u];for(s in g)g.hasOwnProperty(s)&&(h[s]=g[s]);this.attrs[u]=h[u];!1===g&&(v[u]=h[u],delete h[u])}Ga(this,h);var A,u=0;for(g=this.followers.length;u<g;u++)A=this.followers[u],A.cb&&!A.cb.call(A.el,h,this)||A.el.attr(h);
for(s in v)h[s]=v[s];return this};aa.blur=function(b){if(0!==+b){var f=e("filter"),h=e("feGaussianBlur");this.attrs.blur=b;f.id=a.getElementID(a.createUUID());e(h,{stdDeviation:+b||1.5});f.appendChild(h);this.paper.defs.appendChild(f);this._blur=f;e(this.node,{filter:"url('"+a._url+"#"+f.id+"')"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),this.node.removeAttribute("filter")};aa.on=function(b,f){if(this.removed)return this;var h=f;a.supportsTouch&&
(b=a._touchMap[b]||"click"===b&&"touchstart"||b,h=function(b){b.preventDefault();f()});this.node["on"+b]=h;return this};a._engine.path=function(b,f,h){var g=e("path");b=new ta(g,b,h);b.type="path";Ga(b,f);k(b,f);return b};a._engine.group=function(b,f,h){var g=e("g");b=new ta(g,b,h);b.type="group";b.canvas=b.node;b.top=b.bottom=null;b._id=f||"";f&&g.setAttribute("class","raphael-group-"+b.id+"-"+f);return b};a._engine.circle=function(b,f,h){var g=e("circle");b=new ta(g,b,h);b.type="circle";Ga(b,f);
k(b,f);return b};a._engine.rect=function(b,f,h){var g=e("rect");b=new ta(g,b,h);b.type="rect";f.rx=f.ry=f.r;Ga(b,f);k(b,f);return b};a._engine.ellipse=function(b,f,h){var g=e("ellipse");b=new ta(g,b,h);b.type="ellipse";Ga(b,f);k(b,f);return b};a._engine.image=function(b,f,h){var g=e("image");b=new ta(g,b,h);b.type="image";g.setAttribute("preserveAspectRatio","none");Ga(b,f);k(b,f);return b};a._engine.text=function(b,f,h){var g=e("text");b=new ta(g,b,h);b.type="text";b._textdirty=!0;Ga(b,f);k(b,f);
return b};a._engine.setSize=function(b,f){this.width=b||this.width;this.height=f||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this};a._engine.create=function(){var b=a._getContainer.apply(0,arguments),f=b&&b.container,h=b.x,g=b.y,s=b.width,b=b.height;if(!f)throw Error("SVG container not found.");var u=e("svg"),v,h=h||0,g=g||0,s=s||512,b=b||342;e(u,{height:b,version:1.1,width:s,
xmlns:"http://www.w3.org/2000/svg"});1==f?(u.style.cssText="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;position:absolute;left:"+h+"px;top:"+g+"px",a._g.doc.body.appendChild(u),v=1):(u.style.cssText="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;position:relative",
f.firstChild?f.insertBefore(u,f.firstChild):f.appendChild(u));f=new a._Paper;f.width=s;f.height=b;f.canvas=u;e(u,{id:"raphael-paper-"+f.id});f.clear();f._left=f._top=0;v&&(f.renderfix=function(){});f.renderfix();return f};a._engine.setViewBox=function(b,f,h,g,a){L("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var s=u(h/this.width,g/this.height),v=this.top,A=a?"meet":"xMinYMin",N;null==b?(this._vbSize&&(s=1),delete this._vbSize,N="0 0 "+this.width+" "+this.height):(this._vbSize=s,N=b+" "+f+
" "+h+" "+g);for(e(this.canvas,{viewBox:N,preserveAspectRatio:A});s&&v;)A="stroke-width"in v.attrs?v.attrs["stroke-width"]:1,v.attr({"stroke-width":A}),v._.dirty=1,v._.dirtyT=1,v=v.prev;this._viewBox=[b,f,h,g,!!a];return this};a.prototype.renderfix=function(){var b=this.canvas,f=b.style,h;try{h=b.getScreenCTM()||b.createSVGMatrix()}catch(g){h=b.createSVGMatrix()}b=-h.e%1;h=-h.f%1;if(b||h)b&&(this._left=(this._left+b)%1,f.left=this._left+"px"),h&&(this._top=(this._top+h)%1,f.top=this._top+"px")};a.prototype._desc=
function(b){var f=this.desc;if(f)for(;f.firstChild;)f.removeChild(f.firstChild);else this.desc=f=e("desc"),this.canvas.appendChild(f);f.appendChild(a._g.doc.createTextNode(a.is(b,"string")?b:"Created with Red Raphaël "+a.version))};a.prototype.clear=function(){var b;for(L("raphael.clear",this);b=this.bottom;)b.remove();for(b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null;b.appendChild(this.desc=e("desc"));b.appendChild(this.defs=e("defs"))};a.prototype.remove=function(){var b;
for(L("raphael.remove",this);b=this.bottom;)b.remove();this.defs&&this.defs.parentNode.removeChild(this.defs);this.desc&&this.desc.parentNode.removeChild(this.desc);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0};var La=a.st,w;for(w in aa)aa.hasOwnProperty(w)&&!La.hasOwnProperty(w)&&(La[w]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(w))}})();
(function(){if(a.vml){var b=String,f=parseFloat,h=Math,g=h.round,s=h.max,u=h.min,v=h.sqrt,A=h.abs,N=/[, ]+/,Y=a.eve,d={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},L=/([clmz]),?([^clmz]*)/gi,c=/ progid:\S+Blur\([^\)]+\)/g,O=/-?[^,\s-]+/g,l={path:1,rect:1,image:1},e={circle:1,ellipse:1},pa=function(f){var h=/[ahqstv]/ig,s=a._pathToAbsolute;b(f).match(h)&&(s=a._path2curve);h=/[clmz]/g;if(s==a._pathToAbsolute&&!b(f).match(h))return(f=b(f).replace(L,function(b,f,h){var a=[],s="m"==f.toLowerCase(),
u=d[f];h.replace(O,function(b){s&&2==a.length&&(u+=a+d["m"==f?"l":"L"],a=[]);a.push(g(21600*b))});return u+a}))||"m0,0";var h=s(f),u;f=[];for(var v=0,A=h.length;v<A;v++){s=h[v];u=h[v][0].toLowerCase();"z"==u&&(u="x");for(var N=1,Y=s.length;N<Y;N++)u+=g(21600*s[N])+(N!=Y-1?",":"");f.push(u)}return f.length?f.join(" "):"m0,0"},S=function(b,f,h){var g=a.matrix();g.rotate(-b,.5,.5);return{dx:g.x(f,h),dy:g.y(f,h)}},W=function(b,f,h,g,a,s){var u=b._,v=b.matrix,N=u.fillpos;b=b.node;var Y=b.style,d=1,L="",
c=21600/f,O=21600/h;Y.visibility="hidden";if(f&&h){b.coordsize=A(c)+" "+A(O);Y.rotation=s*(0>f*h?-1:1);s&&(a=S(s,g,a),g=a.dx,a=a.dy);0>f&&(L+="x");0>h&&(L+=" y")&&(d=-1);Y.flip=L;b.coordorigin=g*-c+" "+a*-O;if(N||u.fillsize)if(g=(g=b.getElementsByTagName("fill"))&&g[0])b.removeChild(g),N&&(a=S(s,v.x(N[0],N[1]),v.y(N[0],N[1])),g.position=a.dx*d+" "+a.dy*d),u.fillsize&&(g.size=u.fillsize[0]*A(f)+" "+u.fillsize[1]*A(h)),b.appendChild(g);Y.visibility="visible"}};a._url="";a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+
this.version};var E=function(f,h,g){h=b(h).toLowerCase().split("-");g=g?"end":"start";for(var a=h.length,s="classic",u="medium",v="medium";a--;)switch(h[a]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":s=h[a];break;case "wide":case "narrow":v=h[a];break;case "long":case "short":u=h[a]}f=f.node.getElementsByTagName("stroke")[0];f[g+"arrow"]=s;f[g+"arrowlength"]=u;f[g+"arrowwidth"]=v},R=function(b,f){for(var h in f)Y("raphael.attr."+h+"."+b.id,b,f[h],h),b.ca[h]&&b.attr(h,
f[h])},Ma=a._setFillAndStroke=function(h,v){if(h.paper.canvas){h.attrs=h.attrs||{};var A=h.node,Y=h.attrs,d=A.style,L=l[h.type]&&(v.x!=Y.x||v.y!=Y.y||v.width!=Y.width||v.height!=Y.height||v.cx!=Y.cx||v.cy!=Y.cy||v.rx!=Y.rx||v.ry!=Y.ry||v.r!=Y.r),c=e[h.type]&&(Y.cx!=v.cx||Y.cy!=v.cy||Y.r!=v.r||Y.rx!=v.rx||Y.ry!=v.ry),O="group"===h.type,S;for(S in v)v.hasOwnProperty(S)&&(Y[S]=v[S]);L&&(Y.path=a._getPath[h.type](h),h._.dirty=1);v.href&&(A.href=v.href);v.title&&(A.title=v.title);v.target&&(A.target=v.target);
v.cursor&&(d.cursor=v.cursor);"blur"in v&&h.blur(v.blur);if(v.path&&"path"==h.type||L)A.path=pa(~b(Y.path).toLowerCase().indexOf("r")?a._pathToAbsolute(Y.path):Y.path),"image"==h.type&&(h._.fillpos=[Y.x,Y.y],h._.fillsize=[Y.width,Y.height],W(h,1,1,0,0,0));"transform"in v&&h.transform(v.transform);"rotation"in v&&(d=v.rotation,a.is(d,"array")?h.rotate.apply(h,d):h.rotate(d));"visibility"in v&&("hidden"===v.visibility?h.hide():h.show());c&&(d=+Y.cx,c=+Y.cy,L=+Y.rx||+Y.r||0,S=+Y.ry||+Y.r||0,A.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",
g(21600*(d-L)),g(21600*(c-S)),g(21600*(d+L)),g(21600*(c+S)),g(21600*d)));"clip-rect"in v&&(d=b(v["clip-rect"]).split(N),4==d.length&&(d[0]=+d[0],d[1]=+d[1],d[2]=+d[2]+d[0],d[3]=+d[3]+d[1],L=O?A:A.clipRect||a._g.doc.createElement("div"),c=L.style,O?(h.clip=d.slice(),L=h.matrix.offset(),L=[f(L[0]),f(L[1])],d[0]-=L[0],d[1]-=L[1],d[2]-=L[0],d[3]-=L[1],c.width="1px",c.height="1px"):A.clipRect||(c.top="0",c.left="0",c.width=h.paper.width+"px",c.height=h.paper.height+"px",A.parentNode.insertBefore(L,A),
L.appendChild(A),L.raphael=!0,L.raphaelid=A.raphaelid,A.clipRect=L),c.position="absolute",c.clip=a.format("rect({1}px {2}px {3}px {0}px)",d)),v["clip-rect"]||(O&&h.clip?(A.style.clip="rect(0px 10800px 10800px 0px)",delete h.clip):A.clipRect&&(A.clipRect.style.clip="rect(0px 10800px 10800px 0px)")));h.textpath&&(O=h.textpath.style,v.font&&(O.font=v.font),v["font-family"]&&(O.fontFamily='"'+v["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),v["font-size"]&&(O.fontSize=v["font-size"]),
v["font-weight"]&&(O.fontWeight=v["font-weight"]),v["font-style"]&&(O.fontStyle=v["font-style"]));"arrow-start"in v&&E(h,v["arrow-start"]);"arrow-end"in v&&E(h,v["arrow-end"],1);if(null!=v.opacity||null!=v["stroke-width"]||null!=v.fill||null!=v.src||null!=v.stroke||null!=v["stroke-width"]||null!=v["stroke-opacity"]||null!=v["fill-opacity"]||null!=v["stroke-dasharray"]||null!=v["stroke-miterlimit"]||null!=v["stroke-linejoin"]||null!=v["stroke-linecap"]){O=A.getElementsByTagName("fill");d=-1;O=O&&O[0];
!O&&(O=ja("fill"));"image"==h.type&&v.src&&(O.src=v.src);v.fill&&(O.on=!0);if(null==O.on||"none"==v.fill||null===v.fill)O.on=!1;O.on&&v.fill&&((c=b(v.fill).match(a._ISURL))?(O.parentNode==A&&A.removeChild(O),O.rotate=!0,O.src=c[1],O.type="tile",L=h.getBBox(1),O.position=L.x+" "+L.y,h._.fillpos=[L.x,L.y],a._preload(c[1],function(){h._.fillsize=[this.offsetWidth,this.offsetHeight]})):(c=a.getRGB(v.fill),O.color=c.hex,O.src="",O.type="solid",c.error&&(h.type in{circle:1,ellipse:1}||"r"!=b(v.fill).charAt())&&
K(h,v.fill,O)?(Y.fill="none",Y.gradient=v.fill,O.rotate=!1):"opacity"in c&&!("fill-opacity"in v)&&(d=c.opacity)));if(-1!==d||"fill-opacity"in v||"opacity"in v)c=((+Y["fill-opacity"]+1||2)-1)*((+Y.opacity+1||2)-1)*((+d+1||2)-1),c=u(s(c,0),1),O.opacity=c,O.src&&(O.color="none");A.appendChild(O);O=A.getElementsByTagName("stroke")&&A.getElementsByTagName("stroke")[0];d=!1;!O&&(d=O=ja("stroke"));if(v.stroke&&"none"!=v.stroke||v["stroke-width"]||null!=v["stroke-opacity"]||v["stroke-dasharray"]||v["stroke-miterlimit"]||
v["stroke-linejoin"]||v["stroke-linecap"])O.on=!0;"none"!=v.stroke&&null!==v.stroke&&null!=O.on&&0!=v.stroke&&0!=v["stroke-width"]||(O.on=!1);c=a.getRGB("stroke"in v?v.stroke:Y.stroke);O.on&&v.stroke&&(O.color=c.hex);c=((+Y["stroke-opacity"]+1||2)-1)*((+Y.opacity+1||2)-1)*((+c.opacity+1||2)-1);L=.75*(f(v["stroke-width"])||1);c=u(s(c,0),1);null==v["stroke-width"]&&(L=Y["stroke-width"]);v["stroke-width"]&&(O.weight=L);L&&1>L&&(c*=L)&&(O.weight=1);O.opacity=c;v["stroke-linejoin"]&&(O.joinstyle=v["stroke-linejoin"])||
d&&(d.joinstyle="miter");O.miterlimit=v["stroke-miterlimit"]||8;v["stroke-linecap"]&&(O.endcap="butt"==v["stroke-linecap"]?"flat":"square"==v["stroke-linecap"]?"square":"round");v["stroke-dasharray"]&&(c={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},O.dashstyle=c.hasOwnProperty(v["stroke-dasharray"])?c[v["stroke-dasharray"]]:v["stroke-dasharray"].join&&v["stroke-dasharray"].join(" ")||
"");d&&A.appendChild(O)}if("text"==h.type){h.paper.canvas.style.display="";A=h.paper.span;O=Y.font&&Y.font.match(/\d+(?:\.\d*)?(?=px)/);c=Y["line-height"]&&(Y["line-height"]+"").match(/\d+(?:\.\d*)?(?=px)/);d=A.style;Y.font&&(d.font=Y.font);Y["font-family"]&&(d.fontFamily=Y["font-family"]);Y["font-weight"]&&(d.fontWeight=Y["font-weight"]);Y["font-style"]&&(d.fontStyle=Y["font-style"]);O=f(Y["font-size"]||O&&O[0])||10;d.fontSize=100*O+"px";c=f(Y["line-height"]||c&&c[0])||12;Y["line-height"]&&(d.lineHeight=
100*c+"px");a.is(v.text,"array")&&(v.text=h.textpath.string=v.text.join("\n").replace(/<br\s*?\/?>/ig,"\n"));h.textpath.string&&(A.innerHTML=b(h.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));A=A.getBoundingClientRect();h.W=Y.w=(A.right-A.left)/100;h.H=Y.h=(A.bottom-A.top)/100;h.X=Y.x;h.Y=Y.y;switch(Y["vertical-align"]){case "top":h.bby=h.H/2;break;case "bottom":h.bby=-h.H/2;break;default:h.bby=0}("x"in v||"y"in v||void 0!==h.bby)&&(h.path.v=a.format("m{0},{1}l{2},{1}",
g(21600*Y.x),g(21600*(Y.y+(h.bby||0))),g(21600*Y.x)+1));A="x y text font font-family font-weight font-style font-size line-height".split(" ");O=0;for(d=A.length;O<d;O++)if(A[O]in v){h._.dirty=1;break}switch(Y["text-anchor"]){case "start":h.textpath.style["v-text-align"]="left";h.bbx=h.W/2;break;case "end":h.textpath.style["v-text-align"]="right";h.bbx=-h.W/2;break;default:h.textpath.style["v-text-align"]="center",h.bbx=0}h.textpath.style["v-text-kern"]=!0}}},k=a._updateFollowers=function(){var b,
f,h,g=arguments,a=T.call(g),s=T.call(g);b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[s].apply(h,g)},K=function(h,g,s){h.attrs=h.attrs||{};var u=Math.pow,A="linear",N=".5 .5";h.attrs.gradient=g;g=b(g).replace(a._radial_gradient,function(b,h){A="radial";h=h&&h.split(",")||[];var g=h[3],a=h[4];g&&a&&(g=f(g),a=f(a),.25<u(g-.5,2)+u(a-.5,2)&&(a=v(.25-u(g-.5,2))*(2*(.5<a)-1)+.5),N=g+" "+a);return""});g=g.split(/\s*\-\s*/);if("linear"==A){var Y=g.shift(),Y=-f(Y);if(isNaN(Y))return null}g=a._parseDots(g);
if(!g)return null;h=h.shape||h.node;if(g.length){s.parentNode==h&&h.removeChild(s);s.on=!0;s.method="none";s.color=g[0].color;s.color2=g[g.length-1].color;for(var d=[],L=1,c=void 0===g[0].opacity?1:g[0].opacity,O=0,l=g.length;O<l;O++)g[O].offset&&d.push(g[O].offset+" "+g[O].color),void 0!==g[O].opacity&&(L=g[O].opacity);s.colors=d.length?d.join():"0% "+s.color;s.opacity=L;s["o:opacity2"]=c;"radial"==A?(s.type="gradientTitle",s.focus="100%",s.focussize="0 0",s.focusposition=N,s.angle=0):(s.type="gradient",
s.angle=(270-Y)%360);h.appendChild(s)}return 1},Ga=function(b,f,h){h=h||f;var g;h.canvas&&h.canvas.appendChild(b);g=ja("skew");g.on=!0;b.appendChild(g);this.skew=g;this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.Y=this.X=0;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=f;this.ca=this.customAttributes=this.customAttributes||new f._CustomAttributes;this.matrix=a.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};this.parent=h;!h.bottom&&
(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=null},h=a.el;Ga.prototype=h;h.constructor=Ga;h.transform=function(f){if(null==f)return this._.transform;var h=this.paper._viewBoxShift,g=h?"s"+[h.scale,h.scale]+"-1-1t"+[h.dx,h.dy]:"",s;h&&(s=f=b(f).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,g+f);var h=this.matrix.clone(),u=this.skew;f=this.node;var g=~b(this.attrs.fill).indexOf("-"),v=!b(this.attrs.fill).indexOf("url(");h.translate(-.5,-.5);v||
g||"image"==this.type?(u.matrix="1 0 0 1",u.offset="0 0",u=h.split(),g&&u.noRotation||!u.isSimple?(f.style.filter=h.toFilter(),h=this.getBBox(),g=this.getBBox(1),v=h.x2&&g.x2&&"x2"||"x",u=h.y2&&g.y2&&"y2"||"y",v=h[v]-g[v],h=h[u]-g[u],f.coordorigin=-21600*v+" "+-21600*h,W(this,1,1,v,h,0)):(f.style.filter="",W(this,u.scalex,u.scaley,u.dx,u.dy,u.rotate))):(f.style.filter="",u.matrix=b(h),u.offset=h.offset());s&&(this._.transform=s);return this};h.rotate=function(h,g,a){if(this.removed)return this;k(this,
"rotate",h,g,a);if(null!=h){h=b(h).split(N);h.length-1&&(g=f(h[1]),a=f(h[2]));h=f(h[0]);null==a&&(g=a);if(null==g||null==a)a=this.getBBox(1),g=a.x+a.width/2,a=a.y+a.height/2;this._.dirtyT=1;this.transform(this._.transform.concat([["r",h,g,a]]));return this}};h.translate=function(h,g){if(this.removed)return this;k(this,"translate",h,g);h=b(h).split(N);h.length-1&&(g=f(h[1]));h=f(h[0])||0;g=+g||0;this._.bbox&&(this._.bbox.x+=h,this._.bbox.y+=g);this.transform(this._.transform.concat([["t",h,g]]));return this};
h.scale=function(h,g,a,s){if(this.removed)return this;k(this,"scale",h,g,a,s);h=b(h).split(N);h.length-1&&(g=f(h[1]),a=f(h[2]),s=f(h[3]),isNaN(a)&&(a=null),isNaN(s)&&(s=null));h=f(h[0]);null==g&&(g=h);null==s&&(a=s);if(null==a||null==s)var u=this.getBBox(1);a=null==a?u.x+u.width/2:a;s=null==s?u.y+u.height/2:s;this.transform(this._.transform.concat([["s",h,g,a,s]]));this._.dirtyT=1;return this};h.hide=function(b){k(this,"hide",b);!this.removed&&(this.node.style.display="none");return this};h.show=
function(b){k(this,"show",b);!this.removed&&(this.node.style.display="");return this};h._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y+(this.bby||0)-this.H/2,width:this.W,height:this.H}};h.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),f=this.paper,h=this.shape;f.__set__&&f.__set__.exclude(this);Y.unbind("raphael.*.*."+this.id);h&&h.parentNode.removeChild(h);for(b.parentNode&&b.parentNode.removeChild(b);b=this.followers.pop();)b.el.remove();
for(;b=this.bottom;)b.remove();this._drag&&this.undrag();if(this.events)for(;b=this.events.pop();)b.unbind();this.removeData();delete f._elementsById[this.id];a._tear(this,this.parent);for(b in this)this[b]="function"===typeof this[b]?a._removedFactory(b):null;this.removed=!0}};h.attr=function(b,f){if(this.removed)return this;if(null==b){var h={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(h[g]=this.attrs[g]);h.gradient&&"none"==h.fill&&(h.fill=h.gradient)&&delete h.gradient;h.transform=
this._.transform;h.visibility="none"===this.node.style.display?"hidden":"visible";return h}if(null==f&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var h=b.split(N),s={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?s[b]=this.attrs[b]:a.is(this.ca[b],"function")?s[b]=this.ca[b].def:s[b]=a._availableAttrs[b];return g-1?s:s[h[0]]}if(this.attrs&&null==f&&a.is(b,
"array")){s={};u=0;for(g=b.length;u<g;u++)s[b[u]]=this.attr(b[u]);return s}null!=f&&(h={},h[b]=f);null==f&&a.is(b,"object")&&(h=b);if(!1!==a.stopEvent)for(u in h)Y("raphael.attr."+u+"."+this.id,this,h[u],u);if(h){var v={};for(u in this.ca)if(this.ca[u]&&h.hasOwnProperty(u)&&a.is(this.ca[u],"function")&&!this.ca["_invoked"+u]){this.ca["_invoked"+u]=!0;g=this.ca[u].apply(this,[].concat(h[u]));delete this.ca["_invoked"+u];for(s in g)g.hasOwnProperty(s)&&(h[s]=g[s]);this.attrs[u]=h[u];!1===g&&(v[u]=h[u],
delete h[u])}"text"in h&&"text"==this.type&&(a.is(h.text,"array")&&(h.text=h.text.join("\n")),this.textpath.string=h.text.replace(/<br\s*?\/?>/ig,"\n"));Ma(this,h);var A,u=0;for(g=this.followers.length;u<g;u++)A=this.followers[u],A.cb&&!A.cb.call(A.el,h,this)||A.el.attr(h);for(s in v)h[s]=v[s]}return this};h.blur=function(b){var f=this.node.runtimeStyle,h=f.filter,h=h.replace(c,"");0!==+b?(this.attrs.blur=b,f.filter=h+"  progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+b||1.5)+")",f.margin=
a.format("-{0}px 0 0 -{0}px",g(+b||1.5))):(f.filter=h,f.margin=0,delete this.attrs.blur);return this};h.on=function(b,f){if(this.removed)return this;this.node["on"+b]=function(){var b=a._g.win.event;b.target=b.srcElement;f(b)};return this};a._engine.getNode=function(b){b=b.node||b[0].node;return b.clipRect||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.clipRect||b};a._engine.group=function(b,f,h){var g=a._g.doc.createElement("div"),s=new Ga(g,b,h);g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";
s._id=f||"";f&&(g.className="raphael-group-"+s.id+"-"+f);(h||b).canvas.appendChild(g);s.type="group";s.canvas=s.node;s.transform=a._engine.group.transform;s.top=null;s.bottom=null;return s};a._engine.group.transform=function(h){if(null==h)return this._.transform;var g=this.node.style,s=this.clip,u=this.paper._viewBoxShift,v=u?"s"+[u.scale,u.scale]+"-1-1t"+[u.dx,u.dy]:"";u&&(h=b(h).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,v+h);h=this.matrix;v=h.offset();u=f(v[0])||0;
v=f(v[1])||0;g.left=u+"px";g.top=v+"px";g.zoom=(this._.tzoom=h.get(0))+"";s&&(g.clip=a.format("rect({1}px {2}px {3}px {0}px)",[s[0]-u,s[1]-v,s[2]-u,s[3]-v]));return this};a._engine.path=function(b,f,h){var g=ja("shape");g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";g.coordsize="21600 21600";g.coordorigin=b.coordorigin;b=new Ga(g,b,h);b.type=f.type||"path";b.path=[];b.Path="";f.type&&delete f.type;Ma(b,f);R(b,f);return b};a._engine.rect=function(b,f,h){var g=a._rectPath(f.x,
f.y,f.w,f.h,f.r);f.path=g;f.type="rect";b=b.path(f,h);f=b.attrs;b.X=f.x;b.Y=f.y;b.W=f.width;b.H=f.height;f.path=g;return b};a._engine.ellipse=function(b,f,h){f.type="ellipse";b=b.path(f,h);f=b.attrs;b.X=f.x-f.rx;b.Y=f.y-f.ry;b.W=2*f.rx;b.H=2*f.ry;return b};a._engine.circle=function(b,f,h){f.type="circle";b=b.path(f,h);f=b.attrs;b.X=f.x-f.r;b.Y=f.y-f.r;b.W=b.H=2*f.r;return b};a._engine.image=function(b,f,h){var g=a._rectPath(f.x,f.y,f.w,f.h);f.path=g;f.type="image";f.stroke="none";b=b.path(f,h);h=
b.attrs;var g=b.node,s=g.getElementsByTagName("fill")[0];h.src=f.src;b.X=h.x=f.x;b.Y=h.y=f.y;b.W=h.width=f.w;b.H=h.height=f.h;s.parentNode==g&&g.removeChild(s);s.rotate=!0;s.src=h.src;s.type="tile";b._.fillpos=[h.x,h.y];b._.fillsize=[h.w,h.h];g.appendChild(s);W(b,1,1,0,0,0);return b};a._engine.text=function(f,h,s){var u=ja("shape"),v=ja("path"),A=ja("textpath");x=h.x||0;y=h.y||0;text=h.text;v.v=a.format("m{0},{1}l{2},{1}",g(21600*h.x),g(21600*h.y),g(21600*h.x)+1);v.textpathok=!0;A.string=b(h.text).replace(/<br\s*?\/?>/ig,
"\n");A.on=!0;u.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";u.coordsize="21600 21600";u.coordorigin="0 0";f=new Ga(u,f,s);f.shape=u;f.path=v;f.textpath=A;f.type="text";f.attrs.text=b(h.text||"");f.attrs.x=h.x;f.attrs.y=h.y;f.attrs.w=1;f.attrs.h=1;Ma(f,h);R(f,h);u.appendChild(A);u.appendChild(v);return f};a._engine.setSize=function(b,f){var h=this.canvas.style;this.width=b;this.height=f;b==+b&&(b+="px");f==+f&&(f+="px");b&&(h.width=b);f&&(h.height=f);h.clip="rect(0 "+h.width+
" "+h.height+" 0)";this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this};a._engine.setViewBox=function(b,f,h,g,a){Y("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var u=this.width,v=this.height,A=1/s(h/u,g/v),N,d;a&&(N=v/g,d=u/h,h*N<u&&(b-=(u-h*N)/2/N),g*d<v&&(f-=(v-g*d)/2/d));this._viewBox=[b,f,h,g,!!a];this._viewBoxShift={dx:-b,dy:-f,scale:A};this.forEach(function(b){b.transform("...")});return this};var ja;a._engine.initWin=function(f){var h=f.document;h.createStyleSheet().addRule(".rvml",
"behavior:url(#default#VML)");try{!h.namespaces.rvml&&h.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),ja=a._createNode=function(f,g){var a=h.createElement("<rvml:"+f+' class="rvml">'),s;for(s in g)a[s]=b(g[s]);return a}}catch(g){ja=a._createNode=function(f,g){var a=h.createElement("<"+f+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'),s;for(s in g)a[s]=b(g[s]);return a}}};a._engine.initWin(a._g.win);a._engine.create=function(){var b=a._getContainer.apply(0,arguments),f=b.container,
h=b.height,g=b.width,s=b.x,b=b.y;if(!f)throw Error("VML container not found.");var u=new a._Paper,v=u.canvas=a._g.doc.createElement("div"),A=v.style,s=s||0,b=b||0,g=g||512,h=h||342;u.width=g;u.height=h;g==+g&&(g+="px");h==+h&&(h+="px");u.coordsize="21600000 21600000";u.coordorigin="0 0";v.id="raphael-paper-"+u.id;u.span=a._g.doc.createElement("span");u.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";v.appendChild(u.span);A.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;cursor:default;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",
g,h);1==f?(a._g.doc.body.appendChild(v),A.left=s+"px",A.top=b+"px",A.position="absolute"):f.firstChild?f.insertBefore(v,f.firstChild):f.appendChild(v);u.renderfix=function(){};return u};a.prototype.clear=function(){var b;for(Y("raphael.clear",this);b=this.bottom;)b.remove();this.canvas.innerHTML="";this.span=a._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=
this.top=null};a.prototype.remove=function(){var b;for(Y("raphael.remove",this);b=this.bottom;)b.remove();this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var ta=a.st,Ua;for(Ua in h)h.hasOwnProperty(Ua)&&!ta.hasOwnProperty(Ua)&&(ta[Ua]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(Ua))}})();P?V.win.Raphael=a:Raphael=a;return a},!0)})();k.Raphael=C;k.Raphael.desc=
"";m&&m!==C?window.Raphael=m:window.Raphael===C&&(window.Raphael=void 0)}]);FusionCharts.register("module",["private","fusioncharts.redraphael.helper",function(){var k={};this.hcLib.Raphael.fn._elementFromEvent=function(m){if(!m||this.removed)return null;var C=m.srcElement||m.target||(m=m.originalEvent)&&(m.srcElement||m.target)||k;"tspan"===C.nodeName&&(C=C.parentNode);return this.getById(C.raphaelid)}}]);
FusionCharts.register("module",["private","fusioncharts.redraphael.css",function(){var k=this.hcLib.Raphael,m=k.eve,C=k._g,r=k.fn,e=k.el,a=/[, ]+/,M=/\B([A-Z]{1})/g,J,I;J=function(a){this.styleSheet="";this.rules={};this.ns=a||""};I=J.prototype;I.getSheet=function(){var a=this.node;this.styleSheet=I.getStyleSheet("fusioncharts-raphael-stylesheet");this.styleSheet||(a=this.node=C.doc.createElement("style"),a.setAttribute("id",k.format("raphael-stylesheet-{0}",k._oid++)),a.setAttribute("type","text/css"),
a.setAttribute("title","fusioncharts-raphael-stylesheet"),(C.doc.head||C.doc.getElementsByTagName("head")[0]).appendChild(this.node),this.styleSheet=I.getStyleSheet("fusioncharts-raphael-stylesheet"));return this.styleSheet};I.getStyleSheet=function(a){for(var e=C.doc.styleSheets,k=e.length,m;k--;)if(m=e[k],m.title===a)return m};I.applyCSSRule=function(a,e){var k=this.styleSheet,m;if(!k)if(a&&e)k=this.getSheet();else return;m=(k.rules||k.cssRules||{}).length||0;k.insertRule?k.insertRule(a+"{"+e+"}",
m):k.addRule&&k.addRule(a,e,m)};I.removeCSS=function(a){var e=this.styleSheet,k=e.rules||e.cssRules||{},m=k.length||0,t;for(a=a||this.ns;m--;)t=k[m],(new RegExp(a)).test(t.selectorText)&&(e.removeRule?e.removeRule(m):e.deleteRule(m))};I.destroy=function(){this.removeCSS();delete this.node;delete this.styleSheet;delete this.ns;delete this.rules};I.clear=function(){this.removeCSS();this.rules={}};I.add=function(a,e,k){var m,t="",c=this.rules[a]||(this.rules[a]={}),p=k?"":"\t";k=k?":":": ";for(m in e)(c[m]=
e[m])&&(t+=p+m.replace(M,"-$1").toLowerCase()+k+c[m]+";");this.applyCSSRule(a,t)};I.render=function(){this.setCssText()};I.setCssText=function(a){var e=a?"":"\t";a=a?":":": ";var k="",m="",t,c;for(t in this.rules){k="";m=t.replace(/(^|\,)/g,"$1"+this.ns+" ");t=this.rules[t];for(c in t)t[c]&&(k+=e+c.replace(M,"-$1").toLowerCase()+a+t[c]+";");this.applyCSSRule(m,k)}};m.on("raphael.new",function(){this._stylesheet=this._stylesheet||new J;this.cssNamespace("")});m.on("raphael.remove",function(){this._stylesheet&&
this._stylesheet.destroy();delete this._stylesheet});r.cssNamespace=function(a){arguments.length&&(this._stylesheet.ns=k.format("{0}#raphael-paper-{1}",a&&a+" "||"",this.id));return this._stylesheet.ns};r.cssAddRule=function(a,e){if(1===arguments.length&&"object"===typeof a){for(var k in a)this.cssAddRule(k,a[k]);return this}return this._stylesheet.add(a,e),this};r.cssRender=function(){return k.svg&&this._stylesheet.render(),this};r.cssClear=function(){return this._stylesheet.clear(),this};k.ca["class"]=
function(a){var e=this.node,m=this.paper,q="."+a,m=m._stylesheet&&m._stylesheet.rules,t=this.parent,c=this.attrs,p={},d;if(k.svg)a=a||"",e.setAttribute("class","group"===this.type&&this._id?"raphael-group-"+this.id+"-"+this._id+" "+a:a);else if(k.vml&&(e.className="group"===this.type?a&&this._id+" "+a||this._id:"rvml "+a,q&&m)){a=m[q];for(d in a)"color"===d&&"text"===this.type&&(d="fill"),!c[d]&&(p[d]=a[d]);for(;t&&t.attr;){if(a=t.attr("class"))for(d in q="."+a+" "+q,a=m[q],a)"color"===d&&"text"===
this.type&&(d="fill"),c[d]||p[d]||(p[d]=a[d]);t=t.parent}this.css(p)}};e.css=function(e,z){var r,q,t,c;if(this.removed)return this;this.styles||(this.styles={});if(null==z&&k.is(e,"string")){r=e.split(a);q={};c=0;for(t=r.length;c<t;c++)e=r[c],e in this.styles&&(q[e]=this.styles[e]);return t-1?q:q[r[0]]}if(null==z&&k.is(e,"array")){q={};c=0;for(t=e.length;c<t;c++)q[e[c]]=this.styles(e[c]);return q}null!=z?(r={},r[e]=z):null!=e&&k.is(e,"object")&&(r=e);q={};for(c in r)t=c.replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),
k._availableAttrs.hasOwnProperty(t)||"color"===t?("color"===t&&"text"===this.type&&(t="fill"),q[t]=r[c],q.dirty=!0):(m("raphael.css."+t+"."+this.id,this,r[c],t),this.node.style[t]=r[c],this.styles[t]=r[c]);c=0;for(t=this.followers.length;c<t;c++)this.followers[c].el.attr(r);q.hasOwnProperty("dirty")&&(delete q.dirty,this.attr(q));return this}}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelexport",function(){var k=this.hcLib,m=k.Raphael,C=k.pluckNumber,r=k.pluck,e=m._availableAttrs,a=/^matrix\(|\)$/g,M=/\,/g,J=/\n|<br\s*?\/?>/ig,I=/[^\d\.]/ig,n=/[\%\(\)\s,\xb0#]/g,z=/group/ig,G=/&/g,q=/"/g,t=/'/g,c=/</g,p=/>/g,d=0;(function(k){var m=Math,l=parseFloat,w=m.max,H=m.abs,F=m.pow,T=String,D=/[, ]+/,V=[{reg:/xmlns\=\"http\:\/\/www.w3.org\/2000\/svg\"/ig,repStr:""},{reg:/^.*<svg /,repStr:'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" '},
{reg:/\/svg>.*$/,repStr:"/svg>"},{reg:/<desc\>[^<]*<\/desc\>/,repStr:""},{reg:/zIndex="[^"]+"/g,repStr:""},{reg:/url\((\\?[\'\"])[^#]+#/g,repStr:"url($1#"},{reg:/ href=/g,repStr:" xlink:href="},{reg:/(id|class|width|height)=([^" >]+)/g,repStr:'$1="$2"'},{reg:/:(path|rect)/g,repStr:"$1"},{reg:/<ima?ge? ([^\>]+?[^\/])\>/gi,repStr:"<image $1 />"},{reg:/<\/ima?ge?\>/g,repStr:""},{reg:/style="([^"]+)"/g,repStr:function(a){return a.toLowerCase()}}],P={blur:function(){},transform:function(){},src:function(a,
d){d.attrSTR+=' xlink:href="'+d.attrs.src+'"'},path:function(a,d){var c=d.attrs.path,c=k._pathToAbsolute(c||"");d.attrSTR+=' d="'+(c.toString&&c.toString()||"").replace(M," ")+'"'},gradient:function(a,d,c){var e=a.attrs.gradient,p="linear",q,t,D,R=.5,ua=.5,Ha=t="",U="",z,la,r,P;q=e.replace(n,"_");if(!c[q]){e=T(e).replace(k._radial_gradient,function(a,d){var c,e,k,w,n,U,q;d=d&&d.split(",")||[];p="radial";c=d[0];e=d[1];k=d[2];w=d[3];n=d[4];P=d[5];q=c&&e;k&&(r=/\%/.test(k)?k:l(k));if("userSpaceOnUse"===
P)return q&&(R=c,ua=e),w&&n&&(z=w,la=n,q||(R=z,ua=la)),"";q&&(R=l(c),ua=l(e),c=2*(.5<ua)-1,.25<(U=F(R-.5,2))+F(ua-.5,2)&&.25>U&&(ua=m.sqrt(.25-U)*c+.5)&&.5!==ua&&(ua=ua.toFixed(5)-1E-5*c));w&&n&&(z=l(w),la=l(n),c=2*(.5<la)-1,.25<(U=F(z-.5,2))+F(la-.5,2)&&.25>U&&(la=m.sqrt(.25-U)*c+.5)&&.5!==la&&(la=la.toFixed(5)-1E-5*c),q||(R=z,ua=la));return""});e=e.split(/\s*\-\s*/);if("linear"===p){t=e.shift();t=-l(t);if(isNaN(t))return null;D=[0,0,m.cos(k.rad(t)),m.sin(k.rad(t))];t=1/(w(H(D[2]),H(D[3]))||1);D[2]*=
t;D[3]*=t;0>D[2]&&(D[0]=-D[2],D[2]=0);0>D[3]&&(D[1]=-D[3],D[3]=0)}e=k._parseDots(e);if(!e)return null;"radial"===p?(t='<radialGradient fx = "'+R+'" fy = "'+ua+'" cy = "'+la+'" cx = "'+z+'" r = "'+r+'" gradientUnits = "'+P+'" id = "'+q+'">',Ha="</radialGradient>"):(t='<linearGradient x1 = "'+D[0]+'" y1 = "'+D[1]+'" x2 = "'+D[2]+'" y2 = "'+D[3]+'" gradientTransform ="matrix('+a.matrix.invert()+')" id = "'+q+'">',Ha="</linearGradient>");a=0;for(D=e.length;a<D;a++)U+='<stop offset="'+(e[a].offset?e[a].offset:
a?"100%":"0%")+'" stop-color="'+(e[a].color||"#fff")+'" stop-opacity="'+(void 0===e[a].opacity?1:e[a].opacity)+'" />';c[q]=!0;c.str+=t+U+Ha}d.attrSTR+=" fill=\"url('#"+q+"')\""},fill:function(a,d){var c=d.attrs,e=c.fill,l;a.attrs.gradient||(e=k.color(e),l=e.opacity,"text"===a.type?d.styleSTR+="fill:"+e+"; stroke-opacity:0; ":(d.attrSTR+=' fill="'+e+'"',c["fill-opacity"]||!l&&0!==l||(d.attrSTR+=' fill-opacity="'+l+'"')))},stroke:function(a,d){var c=d.attrs,e,l;e=k.color(c.stroke);l=e.opacity;"text"!==
a.type&&(d.attrSTR+=' stroke="'+e+'"',c["stroke-opacity"]||!l&&0!==l||(d.attrSTR+=' stroke-opacity="'+l+'"'))},"clip-rect":function(c,e,l){var k=T(e.attrs["clip-rect"]),w=k.split(D),k=k.replace(n,"_")+"__"+d++;4===w.length&&(l[k]||(l[k]=!0,l.str+='<clipPath id="'+k+'"><rect x="'+w[0]+'" y="'+w[1]+'" width="'+w[2]+'" height="'+w[3]+'" transform="matrix('+c.matrix.invert().toMatrixString().replace(a,"")+')"/></clipPath>'),e.attrSTR+=' clip-path="url(#'+k+')"')},cursor:function(a,d){var c=d.attrs.cursor;
c&&(d.styleSTR+="cursor:"+c+"; ")},font:function(a,d){d.styleSTR+="font:"+d.attrs.font.replace(/\"/ig," ")+"; "},"font-size":function(a,d){var c=r(d.attrs["font-size"],"10");c&&c.replace&&(c=c.replace(I,""));d.styleSTR+="font-size:"+c+"px; "},"font-weight":function(a,d){d.styleSTR+="font-weight:"+d.attrs["font-weight"]+"; "},"font-family":function(a,d){d.styleSTR+="font-family:"+d.attrs["font-family"]+"; "},"line-height":function(){},"clip-path":function(){},visibility:function(){},"vertical-align":function(){},
"text-anchor":function(a,d){var c=d.attrs["text-anchor"]||"middle";"text"===a.type&&(d.attrSTR+=' text-anchor="'+c+'"')},title:function(){},text:function(a,d){var e=d.attrs,l=e.text,k=r(e["font-size"],e.font,"10"),w=r(e["line-height"]),m,F,R;k&&k.replace&&(k=k.replace(I,""));k=C(k);w&&w.replace&&(w=w.replace(I,""));w=C(w,k&&1.2*k);m=k?.85*k:.75*w;k=e.x;F=r(e["vertical-align"],"middle").toLowerCase();l=T(l).split(J);R=l.length;e=0;for(m="top"===F?m:"bottom"===F?m-w*R:m-w*R*.5;e<R;e++)d.textSTR+="<tspan ",
F=(l[e]||"").replace(G,"&amp;").replace(q,"&quot;").replace(t,"&#39;").replace(c,"&lt;").replace(p,"&gt;"),d.textSTR=e?d.textSTR+('dy="'+w+'" x="'+k+'" '):d.textSTR+('dy="'+m+'"'),d.textSTR+=">"+F+"</tspan>"}},fa=function(d,c){var l="",k={attrSTR:"",styleSTR:"",textSTR:"",attrs:d.attr()},w=d.isShadow,p="",m="",F,R,n=k.attrs;if("none"===d.node.style.display||w)d.next&&(l+=fa(d.next,c));else{for(F in n)if("gradient"!==F&&(void 0!==e[F]||P[F])&&void 0!==n[F])if(P[F])P[F](d,k,c);else k.attrSTR+=" "+F+
'="'+n[F]+'"';d.attrs.gradient&&P.gradient(d,k,c);"rect"===d.type&&n.r&&(k.attrSTR+=' rx="'+n.r+'" ry="'+n.r+'"');for(R in d.styles)k.styleSTR+=R+":"+d.styles[R]+"; ";"image"===d.type&&(k.attrSTR+=' preserveAspectRatio="none"');if("text"===d.type&&!n["text-anchor"])P["text-anchor"](d,k);d.bottom&&(p=fa(d.bottom,c));d.next&&(m=fa(d.next,c));w=d.type;w.match(z)&&(w="g");l+="<"+w+' transform="matrix('+d.matrix.toMatrixString().replace(a,"")+')" style="'+k.styleSTR+'"'+k.attrSTR+">"+k.textSTR+p+"</"+
w+">"+m}return l},$=function(a){a=JSON.stringify(a);a=a.replace(/([a-z]+)([A-Z]+)([a-z]+)/g,function(a,d,c,e){return d+"-"+c.toLowerCase()+e});a=a.replace(/\"\,\"/g,'";"');a=a.replace(/\"/g," ");return a=a=a.replace(/\{|\}/g,"")},ba=function(a,d){var c,e,l,k,w,p=function(a){return a=a.match(/style\s*=/)?a.replace(/(style\s*=")([^"]+)/g,function(a,d,c){return d+l+c}):a.replace(/class\s*="[^"]*"/i,function(a){return a+' style="'+l+'" '})};for(c in d)if(d.hasOwnProperty(c))for(w in e=/\s+/,e=c.split(e),
l=$(d[c]),e)e.hasOwnProperty(w)&&(k=e[w].trim().replace(".",""),k=new RegExp("<[^>]+("+k+")[^>]+","g"),a=a.replace(k,p));return a};k.fn.toSVG=function(a){var d="",c={str:""},e=0,l=V.length,w="";if(k.svg){if(this.canvas&&this.canvas.parentNode){for(d=this.canvas.parentNode.innerHTML;e<l;e+=1)c=V[e],d=d.replace(c.reg,c.repStr);this._stylesheet&&this._stylesheet.rules&&(d=ba(d,this._stylesheet.rules))}a||(d=d.replace(/<image[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}))}else d=
'<svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+this.width+'" version="1.1" height="'+this.height+'">',this.bottom&&(w=fa(this.bottom,c)),d+="<defs>"+c.str+"</defs>"+w+"</svg>",a||(d=d.replace(/<image[^\>]*\>[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}));return d}})(m)}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelshadow",function(){var k=this.window,m=k.Math.sqrt,C=k.parseFloat,r=k.parseInt,k=k.SVGFilterElement||k.SVGFEColorMatrixElement&&2===k.SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE,e=this.hcLib.Raphael,a={"drop-shadow":"drop-shadow",stroke:"stroke",fill:"fill","stroke-width":"stroke-width","stroke-opacity":"stroke-opacity","stroke-linecap":"stroke-linecap","stroke-linejoin":"stroke-linejoin","shape-rendering":"shape-rendering",
transform:"transform"},M=e._createNode,J;e.svg?(k&&(e.el.dropshadow=function(a,k,z,r){var q=this.node,t=this._.shadowFilter,c=this.paper.cacheShadows||(this.paper.cacheShadows={}),p="drop-shadow"+[a,k,z,r].join(" "),d;if("none"===a){if(t){--t.use;this.node.removeAttribute("filter");if(!t.use){p=t.hash;for(d in t)a=t[d],a.parentNode&&a.parentNode.removeChild(a),delete t[d];delete c[p]}delete this._.shadowFilter}}else t&&c[p]===t||(t=this.paper.defs.appendChild(M("filter",{id:e.getElementID(e.createUUID()),
width:"200%",height:"200%"})),r=e.color(r),r.error&&(r=e.color("rgba(0,0,0,1)")),d=e.pick(r.opacity,1),this._.shadowFilter=c[p]={use:1,filter:t,hash:p,offset:t.appendChild(M("feOffset",{result:"offOut","in":"SourceGraphic",dx:C(a),dy:C(k)})),matrix:t.appendChild(M("feColorMatrix",{result:"matrixOut","in":"offOut",type:"matrix",values:"0 0 0 0 "+r.r/255+" 0 0 0 0 "+r.g/255+" 0 0 0 0 "+r.b/255+" 0 0 0 "+d+" 0"})),blur:t.appendChild(M("feGaussianBlur",{result:"blurOut","in":"matrixOut",stdDeviation:m(C(z))})),
blend:t.appendChild(M("feComposite",{"in":"SourceGraphic",in2:"blurOut",operator:"over"}))},q.setAttribute("filter",'url("'+e._url+"#"+t.id+'")'));return this}),J=function(e,k){var m=this.__shadowscale,r={},q,t;for(t in e)switch(a[t]&&(r[t]=e[t],delete e[t]),t){case "transform":q=k.matrix.clone();q.translate(this.__shadowx,this.__shadowy);this.transform(q.toTransformString());break;case "stroke-width":e[t]=((r[t]||1)+6-2*this.__shadowlevel)*m}this.attr(e);for(t in r)e[t]=r[t]},e.ca["drop-shadow"]=
function(a,k,m,C,q,t){m=this._.shadows||(this._.shadows=[]);var c,p,d,B,Q;if(!this.__shadowblocked)if("none"===a)for(;p=m.pop();)p.remove();else for(C=e.color(C),C.error&&(C=e.color("rgba(0,0,0,1)")),q instanceof Array?(c=q[0],q=q[1]):c=q,c=1/e.pick(c,1),q=1/e.pick(q,1),a=e.pick(a,1)*c,k=e.pick(k,1)*c,c=.05*e.pick(C.opacity,1),d=r(this.attr("stroke-width")||1,10)+6,B=this.matrix.clone(),B.translate(a,k),Q=1;3>=Q;Q++)p=(m[Q-1]||this.clone().follow(this,J,!t&&"before")).attr({stroke:C.hex,"stroke-opacity":c*
Q,"stroke-width":(d-2*Q)*q,transform:B.toTransformString(),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none"}),p.__shadowlevel=Q,p.__shadowscale=q,p.__shadowx=a,p.__shadowy=k,t&&t.appendChild(p),m.push(p);return!1},e.el.shadow=function(a,k,m,r){var q;m&&m.constructor===e.el.constructor&&(r=m,m=void 0);"object"===typeof a&&(k&&k.constructor===e.el.constructor&&(r=k),k=a.opacity,m=a.scalefactor,q=!!a.useFilter,a=void 0===a.apply?!!k:a.apply);void 0===k&&(k=1);if(this.dropshadow){if(q)return a&&
this.dropshadow(1,1,3,"rgb(64,64,64)")||this.dropshadow("none"),this;this._.shadowFilter&&this.dropshadow("none")}return this.attr("drop-shadow",a?[1,1,3,"rgba(64,64,64,"+k+")",m,r]:"none")}):e.vml?(e.ca["drop-shadow"]=function(a,k,m,r,q,t){var c=this._.shadow,p,d;if(this.isShadow)return!1;"none"===a?c&&(this._.shadow=c.remove()):(c||(c=this._.shadow=this.clone(),t&&t.appendChild(c.follow(this))||c.follow(this,void 0,"before"),c.attr({fill:"none","fill-opacity":.5,"stroke-opacity":1}).isShadow=!0,
0>=c.attr("stroke-width")&&c.attr("stroke-width",1)),t=c.node.runtimeStyle,p=t.filter.replace(/ progid:\S+Blur\([^\)]+\)/g,""),r=e.color(r),r.error&&(r=e.color("rgba(0,0,0,1)")),d=e.pick(r.opacity,1)/5,q=1/e.pick(q,1),a=e.pick(a,1)*q,k=e.pick(k,1)*q,c.translate(a,k),t.filter=p+" progid:DXImageTransform.Microsoft.Blur(pixelRadius="+C(.4*m)+" makeShadow=True Color="+r.hex+' shadowOpacity="'+d+'");');return!1},e.el.shadow=function(a,k,m,r){m&&m.constructor===e.el.constructor&&(r=m,m=void 0);"object"===
typeof a&&(k&&"group"===k.type&&(r=k),k=a.opacity,m=a.scalefactor,a=void 0===a.apply?!!k:a.apply);void 0===k&&(k=1);return this.attr("drop-shadow",a||!k?[1,1,5,"rgba(64,64,64,"+k+")",m,r]:"none")}):e.canvas&&(e.el.shadow=function(){return this})}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelshapes",function(){var k=this.window,m="createTouch"in k.document,C=/msie/i.test(k.navigator.userAgent)&&!k.opera,r=k.Math,e=r.cos,a=r.sin,M=r.abs,J=r.pow,I=r.atan2,n=r.tan,z=r.acos,G=r.min,q=r.round,t=r.PI,c=r.sqrt,p=2*t,d=k.parseInt,B=k.parseFloat,Q=String,l=Array.prototype.slice,w=J(2,-24),H="rgba(192,192,192,"+(C?.002:1E-6)+")",F=this.hcLib.Raphael,T=F.eve,D=F._createNode,V=F._setFillAndStroke,P=F.el.constructor,fa={speed:"optimizeSpeed",
crisp:"crispEdges",precision:"geometricPrecision"},$={enabled:!1,"false":!1,0:!1,disabled:!0,"true":!0,1:!0},ba={Q:"L",Z:"X",q:"l",z:"x",",":" "},ia=/,?([achlmqrstvxz]),?/gi,ea=/\s*\,\s*/g,X,ca=function(){return this.join(",").replace(ia,X)},ga,da,Z=F._cacher(function(a,d,e,l){return c(J(e-a,2)+J(l-d,2))}),Ja=F._cacher(function(a,d,c,e,l){var k=c-a,w=e-d;c=Z(a,d,c,e);return{x:a+k/c*l,y:d+w/c*l}});if(F.svg)T.on("raphael.attr.shape-rendering",function(a,d){var c=this.node;this.attrs[d]=a=fa[a]||a||
"auto";c.setAttribute(d,a);c.style.shapeRendering=a});else if(F.vml)T.on("raphael.attr.shape-rendering",function(a){this.node.style.antialias="crisp"!==a});F.define&&F.define([{name:"polypath",polypath:function(){return this.path(void 0,F._lastArgIfGroup(arguments))},ca:{polypath:function(c,l,k,w,m,p){var n,q,D;n=[];c=d(c,10)||0;l=B(l)||0;k=B(k)||0;w=B(w)||0;m=null===m||isNaN(m)?.5*t:F.rad(m);p=null===p||isNaN(p)?0:B(p);q=m;if(2<c)switch(m=2*t/c,p){case 0:for(p=0;p<c;p++)n.push("L",l+w*e(-q),k+w*
a(-q)),q+=m;n[0]="M";n.push("Z");break;case 1:for(p=0;p<c;p++)n.push("M",l,k,"L",l+w*e(-q),k+w*a(-q)),q+=m;break;default:m*=.5;D=w*e(m)*(1-p);for(p=0;p<c;p++)n.push("L",l+w*e(-q),k+w*a(-q)),q+=m,n.push("L",l+D*e(-q),k+D*a(-q)),q+=m;n[0]="M";n.push("Z")}else 0===w?n.push("M",l,k,"L",l,k,"Z"):n.push("M",l-w,k,"A",w,w,0,0,0,l+w,k,"A",w,w,0,0,0,l-w,k,"Z");return{path:n}},r:function(a){var d=this.attrs.polypath;d[3]=a;this.attr("polypath",d);return!1}}},{name:"ringpath",ringpath:function(){return this.path(void 0,
F._lastArgIfGroup(arguments))},ca:function(d,c,l,k,m,F){var n=F%p-m%p,q=F-m,D,B,H,r,z,Ja;this._.ringangle=.5*(m+F);M(q)<w?(D=e(m),q=a(m),l=["M",d+l*D,c+l*q,"L",d+k*D,c+k*q,"Z"]):(M(q)>w&&+(M(q)%p<w||p-M(q)%p<w)?(l=["M",d-l,c,"A",l,l,0,0,0,d+l,c,"A",l,l,0,0,0,d-l,c],0!==k&&(l=l.concat(["M",d-k,c,"A",k,k,0,0,1,d+k,c,"A",k,k,0,0,1,d-k,c]))):(D=e(m),q=a(m),B=e(F),F=a(F),n%=p,0>n&&(n+=p),n=n<t?0:1,H=d+l*D,z=c+l*q,r=d+l*B,Ja=c+l*F,B=d+k*B,F=c+k*F,.01>M(H-r)&&.01>M(z-Ja)&&(H=d+l*e(m+1.745329E-4),z=c+l*a(m+
1.745329E-4)),l=["M",H,z,"A",l,l,0,n,1,r,Ja,"L",B,F],0!==k&&(D=d+k*D,q=c+k*q,.01>M(B-D)&&.01>M(F-q)&&(D=d+k*e(m+1.745329E-4),q=c+k*a(m+1.745329E-4)),l.push("A",k,k,0,n,0,D,q))),l.push("Z"));return{path:l}}},{name:"cubepath",cubepath:function(){var a={"stroke-linejoin":"round","shape-rendering":"precision",stroke:"none"},d=arguments,c=d.length-1,e=d[c],l,k;e&&e.constructor===F.el.constructor?d[c]=void 0:e=void 0;c=this.path(a,e);l=this.path(a,e);a=this.path(a,e);a._.cubetop=c.follow(a,void 0,"before");
a._.cubeside=l.follow(a,void 0,"before");for(k in F.fn.cubepath.ca)a.ca[k]=F.fn.cubepath.ca[k];return a.attr("cubepath",[d[0],d[1],d[2],d[3],d[4],d[5]])},fn:{_getBBox2:function(){var a=this._.cubeside.getBBox(),d=this._.cubetop.getBBox(),c=this.getBBox();return{x:c.x+d.height,y:c.y-a.width,width:c.width,height:c.height}}},ca:{cubepath:function(a,d,c,e,l,k){var w=this._.cubetop,m=this._.cubeside;a=a||0;d=d||0;c=c||0;e=e||0;l=l||0;k=k||0;this.attr("path",["M",a+c,d,"l",0,e,-c,0,0,-e,"z"]);w.attr("path",
["M",a,d,"l",1,1,c-1,0,0,-1,l,-k,-c,0,"z"]);m.attr("path",["M",a+c-1,d+1,"l",0,e-1,1,0,l,-k,0,-e,-l,k]);return!1},"stroke-linejoin":function(){return{"stroke-linejoin":"round"}},"drop-shadow":function(a,d,c,e){var l=this._.cubetop,k=this._.cubeside;this.dropshadow&&(l.dropshadow(a,-d,c,e),k.dropshadow(a,-d,c,e));return!1},fill:function(a,d){var c=this._.cubetop,e=this._.cubeside,l=this.attr("cubepath")||[0,0,0,0,0,0],k=l[2],w=l[4],l=l[5],m;a=F.color(a);d?(this.attr("fill",a),c.attr("fill",F.tintshade(a,
-.78).rgba),e.attr("fill",F.tintshade(a,-.65).rgba)):(m="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")",this.attr("fill",[270,F.tintshade(m,.55).rgba,F.tintshade(m,-.65).rgba].join("-")),e.attr("fill",[270,F.tintshade(m,-.75).rgba,F.tintshade(m,-.35).rgba].join("-")),c.attr("fill",[45+F.deg(I(l,w+k)),F.tintshade(m,-.78).rgba,F.tintshade(m,.22).rgba].join("-")));return!1}}},{name:"arcpath",arcpath:function(){return this.path(void 0,F._lastArgIfGroup(arguments))},ca:function(a,
d,c,e){var l=(e-90)/180*Math.PI,k=a+c*Math.cos(l),l=d+c*Math.sin(l);return{path:["M",a,d-c,"A",c,c,0,180<e?1:0,1,k,l]}}},{name:"scroller",scroller:function(a,d,c,e,l,k,w){var m=this.group("scroller",w),p=m.attrs,n=m._.scroller={};l=l&&"horizontal"||"vertical";var q,D={},t,H,r;n.track=this.rect(m).mousedown(function(a){var d=p["scroll-position"];a="horizontal"===p["scroll-orientation"]?a.layerX||a.x:a.layerY||a.y;a=(a-n.anchorOffset)/n.trackLength;q=F.animation({"scroll-position":a},2E3*M(d-a),"easeIn");
m.animate(q);T("raphael.scroll.start."+m.id,m,d)}).mouseup(n._mouseupTrack=function(){this.stop(q);T("raphael.scroll.end."+this.id,this,p["scroll-position"])},m,!0);n.anchor=this.rect(m).drag(function(){D["scroll-position"]=t+arguments[H]/n.trackLength;m.animate(D,0)},function(a,d,c){H="horizontal"===p["scroll-orientation"]?0:1;T("raphael.scroll.start."+m.id,m,t=p["scroll-position"]);c.stopPropagation()},function(){T("raphael.scroll.end."+m.id,m,t=p["scroll-position"])});for(r in F.fn.scroller.fn)m[r]=
F.fn.scroller.fn[r];for(r in F.fn.scroller.ca)m.ca[r]=F.fn.scroller.ca[r];p["scroll-orientation"]=l;p["stroke-width"]=1;m.ca["scroll-repaint"]=m.ca["scroll-repaint-"+l];!F.is(k,"object")&&(k={});return m.attr({ishot:!0,"scroll-display-buttons":k.showButtons&&"arrow"||"none","scroll-display-style":k.displayStyleFlat&&"flat"||"3d","scroll-ratio":B(k.scrollRatio)||1,"scroll-position":B(k.scrollPosition)||0,"scroll-repaint":[a,d,c,e]})},fn:{scroll:function(a,d){var c=this._.scroller;d=d||this;c.callback=
function(){return a.apply(d,arguments)};return this},remove:function(){var a=this._.scroller,d;this.attr("scroll-display-buttons","none");a.track.unmouseup(a._mouseupTrack);for(d in a)a[d]&&a[d].remove&&a[d].remove(),a[d]=null;delete this._.scroller;F.el.remove.apply(this,arguments)}},ca:{"stroke-width":function(){return!1},"drop-shadow":function(a,d,c,e,l,k){this._.scroller.track.attr("drop-shadow",[a,d,c,e,l,k]);return!1},"scroll-display-style":function(a){var d=this.attrs,c=d["scroll-display-style"],
e=d.fill;a={flat:"flat","3d":"3d",transparent:"transparent"}[a]||c;e&&a!==c&&(d["scroll-display-style"]=a,this.attr("fill",e));return{"scroll-display-style":a}},"scroll-display-buttons":function(a){var d=this,c=d.paper,e=d._.scroller,l=d.attrs,k=l["scroll-display-buttons"],w=l["scroll-repaint"],m,p;void 0===k&&(k="none");a={none:"none",arrow:"arrow"}[a]||k;a!==k&&(l["scroll-display-buttons"]=a,"none"===a&&e.start?(e.arrowstart.remove(),delete e.arrowstart,e.arrowend.remove(),delete e.arrowend,e.start.unmouseup(e._mouseupStart),
e.start.remove(),delete e.start,e.end.unmouseup(e._mouseupEnd),e.end.remove(),delete e.end):(e.arrowstart=c.polypath(d),e.arrowend=c.polypath(d),e.start=c.rect(d).mousedown(function(){var a;0!==(a=l["scroll-position"])&&(d.animate({"scroll-position":a-.1},100).animate(m=F.animation({"scroll-position":0},4500*a,"easeIn")),T("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupStart=function(){d.stop(m);T("raphael.scroll.end."+d.id,d,l["scroll-position"])},d,!0),e.end=c.rect(d).mousedown(function(){var a;
1!==(a=l["scroll-position"])&&(d.animate({"scroll-position":a+.1},100).animate(p=F.animation({"scroll-position":1},4500*(1-a),"easeIn")),T("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupEnd=function(){d.stop(p);T("raphael.scroll.end."+d.id,d,l["scroll-position"])},d,!0),l.fill&&d.attr("fill",l.fill)),w&&d.attr("scroll-repaint",w));return{"scroll-display-buttons":a}},"scroll-orientation":function(a){var d=this.attrs,c=d["scroll-repaint"],e=d["scroll-orientation"];a={horizontal:"horizontal",
vertical:"vertical"}[a]||e;e!==a&&(this.ca["scroll-repaint"]=this.ca["scroll-repaint-"+a],c&&(c[2]+=c[3],c[3]=c[2]-c[3],c[2]-=c[3],this.attr("scroll-repaint",c)),d.fill&&this.attr("fill",d.fill));return{"scroll-orientation":a}},"scroll-ratio":function(a){var d=this.attrs,c=d["scroll-ratio"],e=d["scroll-repaint"];a=1<a?1:.01>a?.01:B(a);e&&a!==c&&(d["scroll-ratio"]=a,this.attr("scroll-repaint",e));return{"scroll-ratio":a}},"scroll-position":function(a,d){var c=this.attrs,e="horizontal"===c["scroll-orientation"],
l=c["scroll-repaint"],k=c["scroll-position"],w=this._.scroller,m=w.anchor;a=1<a?1:0>a?0:B(a);isNaN(a)&&(a=k);l&&(k!==a||d)&&(k=w.start&&w.start.attr(e&&"width"||"height")||0,e&&m.attr("x",l[0]+k+(l[2]-2*k-m.attr("width"))*a+.5)||m.attr("y",l[1]+k+(l[3]-2*k-m.attr("height"))*a+.5),!d&&1>c["scroll-ratio"]&&(T("raphael.scroll.change."+this.id,this,a),w.callback&&w.callback(a)));return{"scroll-position":a}},r:function(a){var d=this._.scroller;d.track.attr("r",a);d.anchor.attr("r","none"===this.attrs["scroll-display-buttons"]&&
a||0);return!1},"scroll-repaint-horizontal":function(a,d,c,e){var l=this.attrs,k=this._.scroller,w=l["scroll-ratio"],m=l["scroll-position"],p=0,F=c*w,l="none"===l["scroll-display-buttons"];c&&--c;a&&(a+=.5);e&&--e;d&&(d+=.5);k.track.attr({width:c,height:e,y:d,x:a}).crisp();l||(p=G(e,.5*c),F-=2*p*w,k.start.attr({width:p,height:e,x:a,y:d}),k.arrowstart.attr("polypath",[3,a+.5*p,d+.5*e,.25*p,180]),k.end.attr({width:p,height:e,x:a+c-p,y:d}),k.arrowend.attr("polypath",[3,a+c-.5*p,d+.5*p,.25*p,0]));k.trackLength=
c-2*p-F;k.trackOffset=a+p+.5;k.anchorOffset=k.trackOffset+.5*(F-1);k.anchor.attr({height:e,width:F-1,y:d,x:k.trackOffset+k.trackLength*m}).crisp()},"scroll-repaint-vertical":function(a,d,c,e){var l=this.attrs,k=this._.scroller,w=l["scroll-ratio"],m=l["scroll-position"],p=0,F=e*w,l="none"===l["scroll-display-buttons"];c&&--c;a&&(a+=.5);e&&--e;d&&(d+=.5);k.track.attr({width:c,height:e,y:d,x:a}).crisp();l||(p=G(c,.5*e),F-=2*p*w,k.start.attr({width:c,height:p,x:a,y:d}),k.arrowstart.attr("polypath",[3,
a+.5*c,d+.5*p,.25*p,90]),k.end.attr({width:c,height:p,x:a,y:d+e-p}),k.arrowend.attr("polypath",[3,a+.5*c,d+e-.5*p,.25*p,-90]));k.trackLength=e-2*p-F;k.trackOffset=d+p+.5;k.anchorOffset=k.trackOffset+.5*(F-1);k.anchor.attr({height:0>F-1?0:F-1,width:c,y:k.trackOffset+k.trackLength*m,x:a}).crisp()},fill:function(a){var d=this.attrs,c=this._.scroller,e=d["scroll-repaint"],l="flat"===d["scroll-display-style"],k="horizontal"===d["scroll-orientation"],w={stroke:"none"},p;m&&e&&3<(p=16-e[k&&3||2])&&(w.stroke=
H,w["stroke-width"]=p);a=F.color(a);a.error&&(a=F.color("#000000"));a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")";w.fill=l&&a||[90*k,F.tintshade(a,.15).rgba,a].join("-");w.stroke=F.tintshade(a,-.75).rgba;c.track.attr(w);w.fill=l&&F.tintshade(a,-.6).rgba||[270*k,F.tintshade(a,.3).rgba+":40",F.tintshade(a,-.7).rgba].join("-");w.stroke=F.tintshade(a,-.6).rgba;c.anchor.attr(w);w.stroke="none";"none"!==d["scroll-display-buttons"]&&(w.fill=H,c.start.attr(w),c.end.attr(w),
w.fill=F.tintshade(a,-.4).rgba,c.arrowstart.attr(w),c.arrowend.attr(w));return!1}}},{name:"button",button:function(a,d,c,e,l,k){k=this.group("button",k);var w;k._.button={bound:this.rect(k),tracker:this.rect(k).attr({fill:H,stroke:H,cursor:"pointer"}).data("compositeButton",k)};!F.is(l,"object")&&(l={});for(w in F.fn.button.fn)k[w]=F.fn.button.fn[w];for(w in F.fn.button.ca)k.ca[w]=F.fn.button.ca[w];return k.attr({ishot:!0,"button-padding":[l.horizontalPadding,l.verticalPadding],"button-label":c,"button-symbol":e,
"button-disabled":l.disabled||"false","button-symbol-position":l.symbolPosition,"button-symbol-padding":l.symbolPadding}).attr("button-repaint",[a,d,l.width,l.height,l.r])},data:{hoverin:function(){var a=this._.button,d=a.hoverbackIn,c=this._hover||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&
a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor),d&&d()):d&&!1===d(arguments)||this.attr("fill","hover");this.hovered=!0},hoverout:function(){var a=this._.button,d=a.hoverbackOut,c=this._normal||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&
a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor),d&&d()):d&&!1===d(arguments)||this.attr("fill",(this.pressed||this.active)&&"active"||"normal");this.hovered=!1},mousedown:function(){var a=this._.button,d=this._pressed||{};d.fill||d.stroke||d["stroke-width"]||d.cursor?(d.fill&&this.bottom.attr("fill",d.fill)&&a.symbol.attr("fill",d.fill),d.stroke&&this.bottom.attr("stroke",d.stroke)&&a.symbol.attr("stroke",d.stroke),d["stroke-width"]&&this.bottom.attr("stroke-width",
d["stroke-width"])&&a.symbol.attr("stroke-width",d["stroke-width"]),d.cursor&&a.tracker.attr("cursor",d.cursor)):this.attr("fill","active");this.pressed=!0},mouseup:function(){var a=this._.button,d=a.callback,c=this._normal||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&a.symbol.attr("stroke-width",
c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor)):this.attr("fill",this.hovered&&"hover"||this.active&&"active"||"normal");this.pressed=!1;d&&d(arguments)},mousemove:function(){var a=this._.button.mousemove;a&&a(arguments)}},fn:{tooltip:function(){F.el.tooltip&&F.el.tooltip.apply(this._.button.tracker,arguments);return this},buttonclick:function(a,d){var c=this._.button;d=d||this;c.callback=function(){return a.apply(d,arguments)};return this},labelcss:function(){var a=this._.button,
d=a.label;a.cssArg=arguments;d&&d.css.apply(d,arguments);return this.attr("button-repaint",this.attrs["button-repaint"])},buttonhover:function(a,d,c,e,l,k){var w=this._.button;c=c||this;e=e||this;k=k||this;l&&(w.mousemove=function(){return l.apply(k,arguments)});w.hoverbackIn=function(){return a.apply(c,arguments)};w.hoverbackOut=function(){return d.apply(e,arguments)};return this},remove:function(){var a=this._.button,d;this.attr("button-disabled","true");for(d in a)a[d]&&a[d].remove&&a[d].remove(),
a[d]=null;delete this._.button;F.el.remove.apply(this,arguments)}},ca:{"button-active":function(a){this.attr("fill",(this.active=!!a)?"active":this.hovered&&"hover"||"normal")},"button-disabled":function(a){var d=this._.button,c=d.tracker,e=this.attrs["button-disabled"],l=this.paper.button.data,k=this._disabled||{};a=$[a];e=$[e];if(void 0!==a&&a!==e)switch(a){case !0:k.fill||k.stroke||k["stroke-width"]||k.cursor?(k.fill&&this.bottom.attr("fill",k.fill)&&d.symbol.attr("fill",k.fill),k.stroke&&this.bottom.attr("stroke",
k.stroke)&&d.symbol.attr("stroke",k.stroke),k["stroke-width"]&&this.bottom.attr("stroke-width",k["stroke-width"]&&d.symbol.attr("fill",k.fill)),k.cursor&&d.tracker.attr("cursor",k.cursor)):c.attr("fill","rgba(204,204,205,.5)");c.unmousedown(l.mousedown).unmouseup(l.mouseup).unhover(l.hoverin,l.hoverout).unmousemove(l.mousemove);break;case !1:c.attr("fill",H).mousedown(l.mousedown,this).mouseup(l.mouseup,this,!0).hover(l.hoverin,l.hoverout,this,this).mousemove(l.mousemove,this)}},"button-label":function(a){var d=
this._.button,c=this.attrs,e=d.label,l=d.cssArg,k=this.attrs["button-repaint"];a=Q(a||"");"none"===a?e&&(d.label=e.remove()):a&&(!e&&(e=d.label=this.paper.text(this).insertBefore(d.tracker)),e.attr({text:a,"text-anchor":"middle","vertical-align":"middle"}),l&&l.length&&e.css.apply(e,l));k&&c["button-label"]!==a&&this.attr("button-repaint",k)},"button-symbol":function(a){var d=this._.button,c=d.symbol,e=this.attrs["button-repaint"];a=Q(a||"");"none"===a?(c&&(d.symbol=c.remove()),delete d.symbol):a&&
!c&&(d.symbol=this.paper.symbol(this).insertAfter(d.bound));e&&this.attr("button-repaint",e)},"button-symbol-position":function(a){return{"button-symbol-position":{top:"top",right:"right",bottom:"bottom",left:"left",none:"none"}[Q(a).toLowerCase()]||"none"}},"button-symbol-padding":function(a){return{"button-symbol-padding":B(a)}},"button-padding":function(a,d){return{"button-padding":[null==a&&(a=5)||B(a),null==d&&a||B(d)]}},"button-repaint":function(a,d,c,e,l){var k=this._.button,w=k.bound,m=k.label,
p=k.symbol,n=this.attrs,D=n["button-padding"],t=D[0],B=D[1],H,r;void 0===a&&(a=0);void 0===d&&(d=0);if(void 0===c||void 0===e)H=m&&m.getBBox()||{width:0,height:0},void 0===c&&(c=2*t+H.width),void 0===e&&(e=2*B+H.height);w=F.crispBound(a,d,c,e,w.attr("stroke-width"));w.r=F.pick(l,q(.1*G(e,c)));a=w.x;d=w.y;c=w.width;e=w.height;m&&m.attr({x:a+c/2,y:d+e/2});if(p){!F.is(r=n["button-symbol-padding"],"finite")&&(r=.2*e);l=e-B;H=.5*l;switch(n["button-symbol-position"]+(m&&"+"||"-")){case "right+":a=a+(c+
(2*H+B))-H-t;d+=.5*e;m.attr("transform",["t",-(l+r),0]);break;case "left+":a=a+t+H;d+=.5*e;m.attr("transform",["t",l+r,0]);break;case "top+":a+=.5*c;d=d+D[1]+H;m.attr("transform",["t",0,l+r]);break;case "bottom+":a+=.5*c;d=d+(e+(2*H+r))-B-H;m.attr("transform",["t",0,-(l+r)]);break;default:a+=.5*c,d+=.5*e}p.attr("symbol",[n["button-symbol"],a,d,H])}k.bound.attr(w);k.tracker.attr(w)},fill:function(a,d,c,e,l){var k=this._.button,w=k.bound,m=k.symbol,p=k.label,n={normal:k.gradient,active:k.gradientActive,
hover:k.gradientHover}[a];n||(l||(a=F.getRGB(a),a.error&&(a=F.color("#cccccc")),a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")"),k.gradient=l?a:[90,F.tintshade(a,-.8).rgba+":0",F.tintshade(a,.8).rgba+":100"].join("-"),k.gradientActive=[270,F.tintshade(a,-.8).rgba+":0",F.tintshade(a,.8).rgba+":100"].join("-"),e=F.getRGB(e),e.error&&(e=a)||(e="opacity"in e?"rgba("+[e.r,e.g,e.b,e.opacity]+")":"rgb("+[e.r,e.g,e.b]+")"),k.gradientHover=l?e:[90,F.tintshade(e,-.9).rgba+":0",
F.tintshade(e,.7).rgba+":100"].join("-"),c=c||F.tintshade(a,.2).rgba,d=d||F.tintshade(a,-.2).rgba,k.symbolFill=c,k.labelFill=d,n=(this.pressed||this.active)&&k.gradientActive||this.hovered&&k.gradienthover||k.gradient);w.attr("fill",n);m&&m.attr("fill",k.symbolFill);p&&p.attr("fill",k.labelFill);return!1},stroke:function(a,d){var c=this._.button,e=c.symbol;a=F.color(a);a.error&&(a=F.color("#999999"));c.bound.attr("stroke",a);e&&e.attr("stroke",d||a);return!1},"stroke-width":function(a,d){var c=this._.button,
e=c.symbol;c.bound.attr("stroke-width",a);c.tracker.attr("stroke-width",a);e&&e.attr("stroke-width",d);return!1},config:function(a){a.hover&&(this._hover={fill:a.hover.fill,stroke:a.hover.stroke,"stroke-width":a.hover["stroke-width"],cursor:a.hover.cursor});a.disabled&&(this._disabled={fill:a.disabled.fill,stroke:a.disabled.stroke,"stroke-width":a.disabled["stroke-width"],cursor:a.disabled.cursor});a.pressed&&(this._pressed={fill:a.pressed.fill,stroke:a.pressed.stroke,"stroke-width":a.pressed["stroke-width"],
cursor:a.pressed.cursor});a.normal&&(this._normal={fill:a.normal.fill,stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"],cursor:a.normal.cursor});a.symbol&&(a.symbol={stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"]})}}},{name:"trianglepath",trianglepath:function(){var a=arguments,d=F._lastArgIfGroup(a);return this.path(d).attr("trianglepath",[a[0],a[1],a[2],a[3],a[4],a[5],a[6]||0,a[7]||0,a[8]||0])},fn:{sides:function(){var a=this._args;return[Z(a[0],a[1],a[2],a[3]),Z(a[2],
a[3],a[4],a[5]),Z(a[4],a[5],a[0],a[1])]},enclosedAngles:function(){var a=this._sides;return[z((J(a[0],2)+J(a[2],2)-J(a[1],2))/(2*a[0]*a[2])),z((J(a[0],2)+J(a[1],2)-J(a[2],2))/(2*a[0]*a[1])),z((J(a[2],2)+J(a[1],2)-J(a[0],2))/(2*a[2]*a[1]))]},semiperimeter:function(){var a=this._sides||this.sides();return(a[0]+a[1]+a[2])/2}},ca:{trianglepath:function(a,d,e,l,k,w,m,p,F){if(m||p||F){this._args=arguments;this._sides=this.sides();var q=this.enclosedAngles(),D;D=this.semiperimeter();D=c(D*(D-this._sides[0])*
(D-this._sides[1])*(D-this._sides[2]))/D;q=[G(m,D)/n(q[0]/2),G(p,D)/n(q[1]/2),G(F,D)/n(q[2]/2)];q=[Ja(a,d,k,w,q[0]),Ja(a,d,e,l,q[0]),Ja(e,l,a,d,q[1]),Ja(e,l,k,w,q[1]),Ja(k,w,e,l,q[2]),Ja(k,w,a,d,q[2])];this.attr({path:["M",q[0].x,q[0].y,"Q",a,d,q[1].x,q[1].y,"L",q[2].x,q[2].y,"Q",e,l,q[3].x,q[3].y,"L",q[4].x,q[4].y,"Q",k,w,q[5].x,q[5].y,"L",q[0].x,q[0].y]})}else this.attr({path:["M",a,d,"L",e,l,k,w,"Z"]})}}}]);F.ca["text-bound"]=function(a,d,c,e,l,k){e=this.paper;var w=this._.textbound;if("text"===
this.type){if(!(d&&"none"!==d||a&&"none"!==a))return this._.textbound=w&&w.unfollow(this).remove(),!1;c&&F.is(c,"finite")||(c=0);l&&F.is(l,"finite")||(l=0);!w&&(w=this._.textbound=e.rect(0,0,0,0,this.group).follow(this,F.ca["text-bound"].reposition,"before"));w.attr({stroke:d,"stroke-width":c,fill:a,"shape-rendering":1===c&&"crisp"||"",r:l});k&&w.attr("stroke-dasharray",k);F.ca["text-bound"].reposition.call(w,this.attr(),this);return!1}};F.ca["text-bound"].reposition=function(a,d){var c={},e,l,k,
w,m;a.hasOwnProperty("visibility")&&this.attr("visibility",a.visibility);if(a.hasOwnProperty("text-bound")||a.hasOwnProperty("x")||a.hasOwnProperty("y")||a.hasOwnProperty("text")||a.hasOwnProperty("text-anchor")||a.hasOwnProperty("text-align")||a.hasOwnProperty("font-size")||a.hasOwnProperty("line-height")||a.hasOwnProperty("vertical-align")||a.hasOwnProperty("transform")||a.hasOwnProperty("rotation"))e=d.attrs["text-bound"],l=Q(e&&e[3]||"0").split(ea),e=B(l[0])||0,l=F.pick(B(l[1]),e),k=d.getBBox(),
w=k.width,m=k.height,isNaN(w)||(c.x=k.x-e,c.y=k.y-l,c.width=w+2*e,c.height=m+2*l),this.attr(c)};F.fn.symbol=function(){var a=arguments,d=a.length-1,c=a[d];c&&c.constructor===F.el.constructor?a[d]=void 0:c=void 0;d=this.path(void 0,c);d.ca.symbol=F.fn.symbol.ca.symbol;return a.length===!!c+0?d:d.attr("symbol",a)};F.fn.getSuggestiveRotation=function(){var a,d,c;a=arguments[0];1===arguments.length?(d=a.angle,c=a.x,a=a.y):(d=a,c=arguments[1],a=arguments[2]);return"r"+(d||0)+","+c+","+a};F.fn.symbol.cache=
{"":F._cacher(function(a,d,c,e){return 3<arguments.length?["M",a,d,"h",c,"v",e,"h",-c,"v",-e,"z"]:["M",a-c,d-c,"h",c*=2,"v",c,"h",-c,"v",-c,"z"]})};F.fn.symbol.ca={symbol:function(a){var d=F.is(a,"object")&&1===arguments.length&&!F.is(a,"function")?a:arguments,c;d===a&&(a=d[0]);d=(c=F.is(a,"function")&&a||F.fn.symbol.cache[a]||F.fn.symbol.cache[""])&&c.apply(F,l.call(d,1));F.is(d,"array")||F.is(d,"string")?this.attr("path",d):d&&this.attr(d)}};F.addSymbol=function(a,d){var c=F.is(d,"function")&&(c=
{},c[a]=d,c)||a,e=F.fn.symbol.cache,l=[],k;for(k in c)d=c[k],e[k]=F.is(d,"function")&&F._cacher(d,F)||(l.push(k),d);for(;k=l.pop();)e[k]=e[e[k]]};F.svg?(X="$1",ga=function(a){a?"string"===typeof a?a=a.replace(ia,X):a.toString=ca:a="M0,0";this.node.setAttribute("d",a.toString())},F._engine.litepath=function(a,d,c,e){a=D("path");(e||d).canvas.appendChild(a);d=new P(a,d,e);d.type="litepath";d.id=a.raphaelid=F._oid++;a.raphael=!0;V(d,{fill:"none",stroke:"#000"});return d},F._getPath.litepath=function(a){return F.parsePathString(a.node.getAttribute("d"))}):
F.vml&&(X=function(a,d){return ba[d]||d},da=function(){this._transform.apply(this,arguments);this._.bcoord&&(this.node.coordsize=this._.bcoord);return this},ga=function(a){a?"string"===typeof a?a=a.replace(ia,X):a.toString=ca:a="M0,0";this.node.path=a;return this},F._engine.litepath=function(a,d,c,e){a=D("shape");var l=a.style,k=new P(a,d,e);l.cssText="position:absolute;left:0;top:0;width:21600px;height:21600px;";c=B(c);isNaN(c)?a.coordsize="21600 21600":(k._.bzoom=c,l.width="1px",l.height="1px",
a.coordsize=k._.bcoord=c+" "+c);a.coordorigin=d.coordorigin;k.type="litepath";k.id=a.raphaelid=F._oid++;a.raphael=!0;k._transform=k.transform;k.transform=da;F._setFillAndStroke(k,{fill:"none",stroke:"#000"});(e||d).canvas.appendChild(a);d=D("skew");d.on=!0;a.appendChild(d);k.skew=d;return k},F._getPath.litepath=function(a){return F.parsePathString(a.node.path||"")});F.fn.litepath=function(a,d,c){d&&d.constructor===P&&(c=d,d=void 0);a&&a.constructor===P&&(c=a,a="");d=F._engine.litepath(a,this,d,c);
d.ca.litepath=ga;a&&d.attr("litepath",F.is(a,"array")?[a]:a);return this.__set__&&this.__set__.push(d),this._elementsById[d.id]=d}}]);
FusionCharts.register("module",["private","modules.renderer.js-htmlrenderer",function(){var k=this.hcLib,m=k.Raphael,C=k.dem,r=this.window,e=r.document,a=/msie/i.test(r.navigator.userAgent)&&!r.opera,M="VML"===m.type,J=k.hasTouch,I={cursor:"cursor"},n={x:"left",y:"top",strokeWidth:"borderThickness","stroke-width":"borderThickness",width:"width",height:"height"},z={fill:"backgroundColor",stroke:"borderColor",color:"color"},G={left:0,top:0,padding:0,border:"none",margin:0,outline:"none","-webkit-apperance":"none",
position:"absolute",zIndex:20},q,t=function(a,d,c,k){a=e.createElement(a);for(var l in d)n[l]?a.style[l]=d[l]:a.setAttribute(l,d[l]);for(l in c)a.style[l]=c[l];k&&k.appendChild&&k.appendChild(a);return a},c;c=function(a,d,e){d&&d instanceof c&&(d=d.element);(this.element=t(a,e,G,d)).ishot="true";this.nodeName=a.toLowerCase();this.added=Boolean(d)};c.prototype={attr:function(c){var d=this.element,k={},m,l,w,q,F,t,D;if("object"!==typeof c){if(!(k=this[c])){if("string"===typeof c)d&&d.getAttribute&&
(q=d.getAttribute(c));else if(void 0!==c&&null!==c&&"object"===typeof c)for(w in c)d.setAttribute(w,c[w]);k=q}return k}for(m in c){w=c[m];if(I[m]){switch(m){case "cursor":"pointer"===w&&M&&(w="hand")}d.style[I[m]]=w;l=!0}else if(n[m])d.style[n[m]]=w+"px",l=!0;else if(z[m])d.style[z[m]]=w&&w.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none",l=!0;else if(/^visibility$/i.test(m))l="hidden"===w,d.style.display=l?"none":"",this.hidden=l,l=!0;else if(/^opacity$/i.test(m))d.style.opacity=w,a&&(l=100*Number(w),d.style.filter=
"progid:DXImageTransform.Microsoft.Alpha(Opacity="+l+")"),l=!0;else if(/^innerhtml$/i.test(m)){if(M&&"select"==d.nodeName.toLowerCase()){for(l=w.match(/<option\s?[\s\S]*?(\/>|><\/option>|>[\s\S]*?<\/option>)/ig);d.firstChild;)d.removeChild(d.firstChild);F=0;for(t=l.length;F<t;F+=1)q=l[F],D=e.createElement("option"),/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig.test(q)&&(D.value=q.replace(/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig,"$1").replace(/[\s\S]*value\s*\=\s*[\'\"]([\s\S]*)[\'\"]/,
"$1")),D.text=q.replace(/<option\s*[\s\S]*[\'\"]?\s*?[\/>|\>]([\s\S]*)<\/option>/ig,"$1 "),d.options.add(D)}else"input"!==d.nodeName.toLowerCase()&&void 0!==w&&(d.innerHTML=w||"");l=!0}else/^text$/i.test(m)?("input"!==d.nodeName.toLowerCase()&&(d.innerHTML="",void 0!==w&&d.appendChild(e.createTextNode(w))),l=!0):/^type$/i.test(m)&&a&&this.added&&(l=!0);l&&(k[m]=w,delete c[m],l=!1)}for(m in c)d.setAttribute(m,c[m]);for(m in k)this[m]=c[m]=k[m],delete k[m];return this},val:function(a){var d=this.element,
c=void 0===a;return"input"===this.nodeName&&"checkbox"===d.getAttribute("type")?c?this.checked()?1:0:this.checked(a):c?d.value:(d.value=a,this)},checked:function(a){var d=this.element;return void 0===a?d.checked:(a?d.setAttribute("checked","checked"):d.removeAttribute("checked"),this)},css:function(a,d){var c=this.element.style,e;if("object"===typeof a)for(e in a)c[e]=a[e];else e&&void 0!==d&&(c[e]=d);return this},translate:function(a,d){var c=this.element;void 0!==a&&(c.style.left=a+"px");void 0!==
d&&(c.style.top=d+"px");return this},add:function(a,d){var c=this.element,e=a.element;d?e.insertBefore(c,e.firstChild):e.appendChild(c);this.added=!0;return this},hide:function(){this.element.style.display="none";return this},show:function(){this.element.style.display="";return this},focus:function(){"function"===typeof this.element.focus?this.element.focus():k.dem.fire(this.element,"focus")},destroy:function(){var a=this.element||{};a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.onblur=a.onfocus=
null;q||(q=t("div"));a&&q.appendChild(a);q.innerHTML="";delete this.element;return null},on:M?function(a,d){this.element["on"+a]=function(){var a=r.event;a.target=a.srcElement;d(a)};return this}:function(a,d){var c=d;J&&"click"===a&&(a="touchstart",c=function(a){a.preventDefault();d()});this.element["on"+a]=c;return this},bind:function(a,d,c){C.listen(this.element,a,d,c);return this},unbind:function(a,d){C.unlisten(this.element,a,d);return this},trigger:function(a,d){C.fire(this.element,a,d);return this},
fadeIn:function(a,d){var c="fast"===a?400:1E3;this.show();this.attr({opacity:0});k.danimate.animate(this.element,{opacity:1},c,"linear",d)},animate:function(a,d,c,e){k.danimate.animate(this.element,a,d,c,e)}};c.prototype.constructor=c;m.fn.html=function(a,d,e,k){var l={},w;d&&"type"in d&&(l.type=d.type,delete d.type);a=(new c(a,k,l)).css(e).attr(d);for(w in l)d[w]=l[w];return a}}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaeltooltip",function(){var k=this,m=k.window,C=m.document,r=C.body||C.getElementsByTagName("body")[0],e=k.hcLib,a=e.Raphael,M=a.eve,J=e.createElement,I=e.addEvent,n=e.removeEvent,z=e.getPosition,G=e.hasTouch,q=e.getTouchEvent,t=m.Math,c=t.ceil,p=t.floor,d={},B=m.screen.availHeight,Q=m.screen.availWidth,l={E:1,moz:1,webkit:1,o:1,ms:1},w={borderRadius:"borderRadius",boxShadow:"boxShadow"},H=/\-([a-z])/ig,F=function(a,d){return d.toUpperCase()},
T=function(d){var c=D.forbiddenStyle,e,k,m;for(e in d)k=H.test(e)?e.replace(H,F):e,void 0!==d[e]&&!c[k]&&(this[k]=d[e]),a.vml&&/color/ig.test(k)&&(this[k]=a.getRGB(this[k]).toString());for(e in w)if(this[e])for(m in l)this[m+e]=this[e]},D=e.toolTip={elementId:"fusioncharts-tooltip-element",element:null,lastTarget:null,currentTarget:null,currentPaper:null,pointeroffset:12,prevented:!1,defaultStyle:e.extend2(T.prototype,{backgroundColor:"#ffffee",borderColor:"#000000",borderWidth:"1px",color:"#000000",
fontSize:"10px",lineHeight:"12px",padding:"3px",borderStyle:"solid"}),defaultContainerStyle:{position:"absolute",textAlign:"left",margin:"0",zIndex:"99999",pointer:"default",display:"block"},forbiddenStyle:{}},V=function(a){!0===D._oobready?D._oobready=!1:(n(r,"touchstart",V),!D.hidden&&D.currentTarget&&(a=a.srcElement||a.target||d,a.raphael&&D.currentTarget.paper.getById(a.raphaelid)===D.currentTarget||D.hide()))};a.svg&&(D.defaultContainerStyle.pointerEvents="none",D.defaultStyle.borderRadius="0",
D.defaultStyle.boxShadow="none");a.vml&&(D.forbiddenStyle.borderRadius=!0,D.forbiddenStyle.boxShadow=!0,D.defaultStyle.filter="");D.setup=function(){var d=D.container,c=D.textElement,e=D.style,l=D.defaultContainerStyle,w=D.forbiddenStyle,m;d||(d=D.element=J("span"),(C.body||C.getElementsByTagName("body")[0]).appendChild(d),d.setAttribute("id",D.elementId),e=D.containerStyle=d.style,c=D.textElement=J("span"),d.appendChild(c),D.style=a.vml?c.runtimeStyle:c.style,D.style.overflow="hidden",D.style.display=
"block",D.hidden=!1,D.hide());for(m in l)!w[m]&&(e[m]=l[m]);D.scatted=!0;M.on("raphael.drag.start.*",function(){D.scatted&&(D.waitingScat=!0)});M.on("raphael.drag.move.*",function(){D.waitingScat&&(D.block(),D.waitingScat=!1)});M.on("raphael.drag.end.*",function(){D.waitingScat=!1;D.scatted&&D.unblock(!0)});M.on("raphael.remove",function(){if(D.currentPaper===this||D.currentTarget&&D.currentTarget.paper===this)D.hide(),D.currentTarget=D.currentPaper=null});k.addEventListener("LinkedChartInvoked",
function(a){D.currentPaper===a.sender.apiInstance.components.paper&&D.hide()});k.addEventListener("realTimeUpdateComplete",function(a){D.currentPaper===a.sender.apiInstance.components.paper&&D.hide()})};D.restyle=function(a){var d=D.style,c;for(c in a)d[c]=a[c]};D.onelement=function(a){if(!a.__tipProcessed){var d=this.paper,c="group"===this.type?d&&d._elementFromEvent(a):this,e=d.__tipStyle;c&&e&&c.__tipNeeded&&((a.originalEvent||a).FusionChartsPreventEvent&&D.preventTooltip(),D.hiding&&(D.hiding=
clearTimeout(D.hiding)),D.currentPaper!==d&&(d.__tipCp=d.canvas&&z(d.canvas.parentNode,!0)||{},D.restyle(d.__tipStyle),D.currentPaper=d),D.lastTarget=D.currentTarget,D.currentTarget=c,(D.scatted=c.__tipScatted)&&D.unblock(!0),D.onredraw.call(this,a),a.__tipProcessed=!0,G&&(D._oobready=!0,I(r||(r=C.body||C.getElementsByTagName("body")[0]),"touchstart",V)))}};D.onredraw=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===D.currentTarget&&(a=q(a),D.x=p(a.pageX||
a.clientX+C.body.scrollLeft+C.documentElement.scrollLeft||0),D.y=p(a.pageY||a.clientY+C.body.scrollTop+C.documentElement.scrollTop||0),D.redraw()))};D.onhide=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===D.currentTarget&&(D.hiding=setTimeout(D.hide,200)))};D.redraw=function(){if(!D.prevented&&!D.blocked&&D.currentTarget&&D.currentTarget.__tipNeeded){var a=D.currentTarget,d=a.paper,e=D.textElement,l=D.containerStyle,k=D.style,w=a.__tipText,a=D.pointeroffset,
m=d.__tipCp,p=C.documentElement||C.body,F=p.scrollLeft,p=p.scrollTop,n=D.x,q=D.y,t,R=d.width,H=d.height,d=d.__tipConstrain;if(100>R||100>H)d=!1;D.hidden&&(D.containerStyle.top="-999em",D.show());w!==D.text&&(D.text=w,l.width=l.height="",e.innerHTML=w,k.whiteSpace="nowrap",t=c(k.pixelWidth||e.offsetWidth||0),w=c(k.pixelHeight||e.offsetHeight||0),(D.textWidthOverflow=n+t>m.left+R)?(t=R-2*a>t?l.width:R-2*a||0,l.width=t&&t+"px"||"",k.whiteSpace="normal"):l.width="",(D.textHeightOverflow=w>H)?(l.height=
(H||0)-2*a+"px",k.whiteSpace="normal"):l.height="");t=c(k.pixelWidth||e.offsetWidth||0);w=c(k.pixelHeight||e.offsetHeight||0);d?(D.textWidthOverflow?n=(n-t<m.left?m.left:n-t)-F:n+a+t>m.left-F+R-a&&(n=n-t-a),D.textHeightOverflow?q=m.top-p:q+a+w>m.top-p+H-a&&(q=q-w-1.5*a)):(F+Q<n+a+t&&(n=n-t-a),p+B<q+a+w&&(q=q-w-1.5*a));l.left=(n+a||0)+"px";l.top=(q+a||0)+"px";D.hidden&&D.show()}};D.hide=function(){D.hiding&&(D.hiding=clearTimeout(D.hiding));D.containerStyle.display="none";D.hidden=!0;D.prevented=!1};
D.show=function(){D.blocked||(D.hiding&&(D.hiding=clearTimeout(D.hiding)),D.containerStyle.display="inline",D.hidden=!1)};D.preventTooltip=function(){D.prevented=!0};D.block=function(){D.blocked=!0;D.containerStyle.display="none"};D.unblock=function(a){D.blocked=!1;a&&(D.containerStyle.display=D.hidden&&"none"||"inline")};a.fn.tooltip=function(d,c,e){c&&(c=.4*(void 0===c.opacity?1:c.opacity),a.svg?d.boxShadow="1px 1px 3px rgba(64,64,64,"+c+")":d.filter='progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color="#404040", shadowOpacity="'+
c/2+'")');this.__tipStyle=new T(d);this.__tipCp=this.canvas&&z(this.canvas.parentNode,!0)||{};this.__tipConstrain=Boolean(e);D.style&&D.restyle(this.__tipStyle);D.containerStyle&&D.hide();return this};a.el.trackTooltip=function(a){var d=!!this.__tiptracking;if(void 0===a||(a=!!a)===d)return this;a?G?this.touchstart(D.onelement):(this.mouseover(D.onelement),this.mousemove(D.onredraw),this.mouseout(D.onhide)):G?this.untouchstart(D.onelement):(this.unmouseover(D.onelement),this.unmousemove(D.onredraw),
this.unmouseout(D.onhide));this.__tiptracking=a;return this};a.el.tooltip=function(d,c,e,l,k){D.setup();a.el.tooltip=function(a,d,c,e,l){d=!1===a||void 0===a||""===a;this.__tipScatted=void 0===e?this.__tipScatted:!e;void 0===this.__tipScatted&&(this.__tipScatted=!0);null!==l&&(this.__tip_blocked=l);d^!this.__tipText&&(this.__tipNeeded=!d);this.__tipText=a;if(D.currentTarget===this&&a!==D.text&&!D.hidden)D[d?"hide":"redraw"]();return this};return a.el.tooltip.call(this,d,c,e,l,k)};k.core._setTooltipZIndex=
function(a){a=parseInt(a,10);D&&!isNaN(a)&&(D.defaultContainerStyle.zIndex=a,D.containerStyle&&(D.containerStyle.zIndex=a))}}]);
FusionCharts.register("module",["private","modules.renderer.js-smartlabel",function(){var k=this.hcLib,m=k.isIE,C=k.hasSVG,r=Math.max,e=this.window,a=/ HtmlUnit/.test(e.navigator.userAgent),M=e.document,J=/ AppleWebKit\//.test(e.navigator.userAgent),I=!!M.createElement("canvas").getContext,n=!(!I||!M.createElement("canvas").getContext("2d").measureText),z=/<br\/>/ig,G=[],e=function(){function e(a,d,c){if(!a||!a.length)return 0;var l=c.getWidthFunction(),k=0,w=0,w=l(a),m=w/a.length;c=d;k=Math.ceil(d/
m);if(w<d)return a.length-1;k>a.length&&(c=d-w,k=a.length);for(;0<c;)if(c=d-l(a.substr(0,k)),w=Math.floor(c/m))k+=w;else return k;for(;0>c;)if(c=d-l(a.substr(0,k)),w=Math.floor(c/m))k+=w;else break;return k}function t(a,d){d=5<d?d:5;this.maxContainers=20>d?d:20;this.last=this.first=null;this.containers={};this.length=0;this.rootNode=a;if(V){var c=M.createElementNS("http://www.w3.org/2000/svg","svg");c.setAttributeNS("http://www.w3.org/2000/svg","xlink","http://www.w3.org/1999/xlink");c.setAttributeNS("http://www.w3.org/2000/svg",
"height","0");c.setAttributeNS("http://www.w3.org/2000/svg","width","0");this.svgRoot=c;this.rootNode.appendChild(c)}}function c(d,c,e){if("undefined"!==typeof d&&"object"!==typeof d){this.id=d;var l;"string"===typeof c&&(c=M.getElementById(c));a:{if(c&&(c.offsetWidth||c.offsetHeight)){if(c.appendChild){c.appendChild(c=M.createElement("div"));c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");d=c;break a}}else if((d=M.getElementsByTagName("body")[0])&&
d.appendChild){c=M.createElement("div");c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");d.appendChild(c);d=c;break a}d=void 0}d=this.parentContainer=d;d.innerHTML="WgI";if(a||!m&&!d.offsetHeight&&!d.offsetWidth)V=!0;d.innerHTML="";for(l in B)d.style[l]=B[l];this.containerManager=new t(d,10);this.showNoEllipses=!e;this.init=!0;this.style={};this.setStyle()}}var p=k.supportedStyle,d={fontWeight:1,"font-weight":1,fontStyle:1,
"font-style":1,fontSize:1,"font-size":1,fontFamily:1,"font-family":1},B={position:"absolute",top:"-9999em",whiteSpace:"nowrap",padding:"0px",width:"1px",height:"1px",overflow:"hidden"},Q=J?0:4.5,l=0,w=/\b_SmartLabel\b/,H=/\b_SmartLabelBR\b/,F=/(<[^<\>]+?\>)|(&(?:[a-z]+|#[0-9]+);|.)/ig,T=RegExp("\\<span[^\\>]+?_SmartLabel[^\\>]{0,}\\>(.*?)\\<\\/span\\>","ig"),D=/<[^>][^<]*[^>]+>/i,V=!1,P=0,fa=0,$,ba,ia;M.getElementsByClassName?($="getElementsByClassName",ba="_SmartLabel",ia=!0):($="getElementsByTagName",
ba="span",ia=!1);t.prototype={get:function(a){var d=this.containers,c=this.length,e=this.maxContainers,l,k="",w="",w=this.getCanvasFont(a);for(l in p)void 0!==a[l]&&(k+=p[l]+":"+a[l]+";");if(!k)return!1;if(d[k])k=d[k],this.first!==k&&(k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),k.next=this.first,k.next.prev=k,this.last===k&&(this.last=k.prev),k.prev=null,this.first=k);else{if(c>=e)for(a=c-e+1;a--;)this.removeContainer(this.last);k=this.addContainer(k,w)}return k},getCanvasFont:function(a){var c,
e=[];if(!I||!n)return!1;for(c in d)void 0!==a[c]&&e.push(a[c]);return e.join(" ")},setMax:function(a){var d=this.length;a=5<a?a:5;a=20>a?a:20;if(a<d){for(d-=a;d--;)this.removeContainer(this.last);this.length=a}this.maxContainers=a},addContainer:function(a,d){var c,e;this.containers[a]=e={next:null,prev:null,node:null,ellipsesWidth:0,lineHeight:0,dotWidth:0,avgCharWidth:4,keyStr:a,canvasStr:d,charCache:{}};e.next=this.first;e.next&&(e.next.prev=e);this.first=e;this.last||(this.last=e);this.length+=
1;c=e.node=M.createElement("div");this.rootNode.appendChild(c);m&&!C?c.style.setAttribute("cssText",a):c.setAttribute("style",a);c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");c.style.display="inline-block";c.innerHTML="WgI";e.lineHeight=c.offsetHeight;e.avgCharWidth=c.offsetWidth/3;V?(c=e.svgText=M.createElementNS("http://www.w3.org/2000/svg","text"),c.setAttribute("style",a),this.svgRoot.appendChild(c),c.textContent="WgI",e.lineHeight=c.getBBox().height,e.avgCharWidth=
(c.getBBox().width-Q)/3,c.textContent="...",e.ellipsesWidth=c.getBBox().width-Q,c.textContent=".",e.dotWidth=c.getBBox().width-Q):d?(c=e.canvas=M.createElement("canvas"),c.style.height=c.style.width="0px",this.rootNode.appendChild(c),e.context=c=c.getContext("2d"),c.font=d,e.ellipsesWidth=c.measureText("...").width,e.dotWidth=c.measureText(".").width):(c.innerHTML="...",e.ellipsesWidth=c.offsetWidth,c.innerHTML=".",e.dotWidth=c.offsetWidth,c.innerHTML="");return e},removeContainer:function(a){var d=
a.keyStr;d&&this.length&&a&&(--this.length,a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),this.first===a&&(this.first=a.next),this.last===a&&(this.last=a.prev),a.node.parentNode.removeChild(a.node),a.canvas&&a.canvas.parentNode.removeChild(a.canvas),delete this.containers[d])},dispose:function(){var a,d=this.containers;this.maxContainers=null;for(a in d)this.removeContainer(d[a]);this.rootNode.parentNode.removeChild(this.rootNode);this.last=this.first=this.rootNode=null}};t.prototype.constructor=
t;c.prototype={dispose:function(){this.init&&(this.containerManager&&this.containerManager.dispose&&this.containerManager.dispose(),delete this.container,delete this.context,delete this.cache,delete this.containerManager,delete this.containerObj,delete this.id,delete this.style,delete this.parentContainer,delete this.showNoEllipses)},useEllipsesOnOverflow:function(a){this.init&&(this.showNoEllipses=!a)},getWidthFunction:function(){var a=this.context,d=this.container,c=this.containerObj.svgText;return c?
function(a){var d;c.textContent=a;a=c.getBBox();d=a.width-Q;1>d&&(d=a.width);return d}:a?function(d){d=d&&d.split?d.split(z):G;for(var c=0,e=d.length,l=0,c=0;c<e;c+=1)l=r(a.measureText(d[c]||"").width,l);return l}:function(a){d.innerHTML=a;return d.offsetWidth}},getSmartText:function(a,d,c,k){if(!this.init)return!1;if(void 0===a||null===a)a="";var m={text:a,maxWidth:d,maxHeight:c,width:null,height:null,oriTextWidth:null,oriTextHeight:null,oriText:a,isTruncated:!1},p=!1,n,t,B=0,z,U,C,la=-1,G=p=-1;
t=this.container;var I=this.context,J=0;C=0;var na,Q,Da;Da=[];var ha=0,Ia=this.showNoEllipses?"":"...";U=this.lineHeight;var wa,J=[],la=n=-1;wa=function(a){a=a.replace(/^\s\s*/,"");for(var d=/\s/,c=a.length;d.test(a.charAt(--c)););return a.slice(0,c+1)};p=-1;Q=this.getWidthFunction();c===U&&(c*=1.2);if(t){if(!V){t.innerHTML=a;m.oriTextWidth=p=t.offsetWidth;m.oriTextHeight=C=t.offsetHeight;if(C<=c&&p<=d)return m.width=m.oriTextWidth=p,m.height=m.oriTextHeight=C,m;if(U>c)return m.text="",m.width=m.oriTextWidth=
0,m.height=m.oriTextHeight=0,m}a=wa(a).replace(/(\s+)/g," ");p=D.test(a);U=this.showNoEllipses?d:d-l;if(p){B=a.replace(F,"$2");a=a.replace(F,'$1<span class="_SmartLabel">$2</span>');a=a.replace(/(<br\s*\/*\>)/g,'<span class="_SmartLabel _SmartLabelBR">$1</span>');t.innerHTML=a;ha=t[$](ba);I=0;for(Q=ha.length;I<Q;I+=1)if(a=ha[I],ia||w.test(a.className))wa=a.innerHTML,""!==wa&&(" "===wa?la=J.length:"-"===wa&&(n=J.length),J.push({spaceIdx:la,dashIdx:n,elem:a}),Da.push(wa));ha=0;n=J.length;P=J[0].elem.offsetWidth;
if(P>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;P>U&&!this.showNoEllipses&&(U=d-2*fa,U>P?Ia="..":(U=d-fa,U>P?Ia=".":(U=0,Ia="")));Da=J[0].elem.offsetLeft;I=J[0].elem.offsetTop;if(k)for(;ha<n;ha+=1)a=J[ha].elem,Q=a.offsetLeft-Da+a.offsetWidth,Q>U&&(na||(na=ha),t.offsetWidth>d&&(z=ha,ha=n));else for(;ha<n;ha+=1)a=J[ha].elem,wa=a.offsetHeight+(a.offsetTop-I),Q=a.offsetLeft-Da+a.offsetWidth,k=null,Q>U?(na||(na=ha),Q>d&&(p=J[ha].spaceIdx,la=J[ha].dashIdx,p>G?(J[p].elem.innerHTML=
"<br/>",G=p):la>G?(J[la].elem.innerHTML=la===ha?"<br/>-":"-<br/>",G=la):a.parentNode.insertBefore(k=M.createElement("br"),a),a.offsetHeight+a.offsetTop>c?(k?k.parentNode.removeChild(k):G===la?J[la].elem.innerHTML="-":J[p].elem.innerHTML=" ",z=ha,ha=n):na=null)):wa>c&&(z=ha,ha=n);if(z<n){m.isTruncated=!0;na=na?na:z;for(ha=n-1;ha>=na;--ha)a=J[ha].elem,a.parentNode.removeChild(a);for(;0<=ha;--ha)a=J[ha].elem,H.test(a.className)?a.parentNode.removeChild(a):ha=0}m.text=t.innerHTML.replace(T,"$1").replace(/\&amp\;/g,
"&");m.isTruncated&&(m.text+=Ia,m.tooltext=B)}else{Da=a.split("");n=Da.length;t="";z=[];na=Da[0];this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]={width:P});if(U>P)z=a.substr(0,e(a,U,this)).split(""),ha=z.length;else{if(P>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;Ia&&(U=d-2*fa,U>P?Ia="..":(U=d-fa,U>P?Ia=".":(U=0,Ia="")))}J=Q(z.join(""));C=this.lineHeight;if(k){for(;ha<n;ha+=1)if(na=z[ha]=Da[ha],this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]=
{width:P}),J+=P,J>U&&(t||(t=z.slice(0,-1).join("")),J>d))return m.text=wa(t)+Ia,m.tooltext=m.oriText,m.width=Q(m.text),m.height=this.lineHeight,m;m.text=z.join("");m.width=J;m.height=this.lineHeight}else{for(;ha<n;ha+=1)if(na=z[ha]=Da[ha]," "!==na||I||(na="&nbsp;"),this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]={width:P}),J+=P,J>U&&(t||(t=z.slice(0,-1).join("")),J>d)){p=a.substr(0,z.length).lastIndexOf(" ");la=a.substr(0,z.length).lastIndexOf("-");p>G?(J=Q(z.slice(G+1,p).join("")),
z.splice(p,1,"<br/>"),G=p,k=p+1):la>G?(la===z.length-1?(J=Q(z.slice(G+1,p).join("")),z.splice(la,1,"<br/>-")):(J=Q(z.slice(G+1,p).join("")),z.splice(la,1,"-<br/>")),G=la,k=la+1):(z.splice(z.length-1,1,"<br/>"+Da[ha]),p=z.length-2,J=Q(z.slice(G+1,p+1).join("")),G=p,k=ha);C+=this.lineHeight;if(C>c)return m.text=wa(t)+Ia,m.tooltext=m.oriText,m.width=d,m.height=C-this.lineHeight,m;B=r(B,J);t=null;na=e(a.substr(k),U,this);J=Q(a.substr(k,na||1));z.length<k+na&&(z=z.concat(a.substr(z.length,k+na-z.length).split("")),
ha=z.length-1)}B=r(B,J);m.text=z.join("");m.width=B;m.height=C}return m}m.height=t.offsetHeight;m.width=t.offsetWidth}else m.error=Error("Body Tag Missing!");return m},setStyle:function(a){if(!this.init)return!1;if(a!==this.style||this.styleNotSet){a||(a=this.style);var d=a,c=d.fontSize=d.fontSize||"12px";d.lineHeight=d.lineHeight||d["line-height"]||1.2*parseInt(c,10)+"px";this.style=a;(this.containerObj=a=this.containerManager.get(a))?(this.container=a.node,this.context=a.context,this.cache=a.charCache,
this.lineHeight=a.lineHeight,l=a.ellipsesWidth,fa=a.dotWidth,this.styleNotSet=!1):this.styleNotSet=!0}},getTextSize:function(a,d,c){if(!this.init)return!1;var e={text:a,width:null,height:null,oriTextWidth:null,oriTextHeight:null,isTruncated:!1},l=this.container;l&&(l.innerHTML=a,e.oriTextWidth=l.offsetWidth,e.oriTextHeight=l.offsetHeight,e.width=Math.min(e.oriTextWidth,d),e.height=Math.min(e.oriTextHeight,c),e.width<e.oriTextWidth||e.height<e.oriTextHeight)&&(e.isTruncated=!0);return e},getOriSize:function(a){if(!this.init)return!1;
var d={text:a,width:null,height:null},c=this.container,e=this.getWidthFunction(),l=0;if(V){a=a.split(/(<br\s*\/*\>)/g);c=a.length;for(d.height=this.lineHeight*c;c--;)l=r(l,e(a[c]));d.width=l}else c&&(c.innerHTML=a,d.width=c.offsetWidth,d.height=c.offsetHeight);return d}};return c.prototype.constructor=c}();k.SmartLabelManager=e}]);
FusionCharts.register("module",["private","modules.renderer.js-numberformatter",function(){var k=this,m=k.hcLib,C=m.pluckNumber,r=m.extend2,e=m.getValidValue,a=m.pluck,M=m.getFirstValue,J=Math.abs,I=Math.pow,n=Math.round,z=function(a){return a&&a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},G={},q=function(a){var e=[],d;for(d in a)e.push(d+"_"+a[d]);e.sort();return e.join(",")},t=function(a){var e={},d;for(d in a)e[d.toLowerCase()]=a[d];return e};m.NumberFormatter=function(){function c(a,d,c){var e;
if(0>=d)return n(a)+"";if(isNaN(d))return a+="",12<a.length&&-1!=a.indexOf(".")&&(d=12-a.split(".")[0].length,e=I(10,d),a=n(a*e)/e+""),a;e=I(10,d);a=n(a*e)/e+"";if(1==c)for(-1==a.indexOf(".")&&(a+=".0"),c=a.split("."),d-=c[1].length,c=1;c<=d;c++)a+="0";return a}function k(a,d,c,e,l){var m=Number(a),p="",n=!1,q="",t="",z=q=0;if(isNaN(m))return"";if(1E15<m)return m.toExponential(l?1:14);q=0;z=a.length;-1!=a.indexOf(".")&&(p=a.substring(a.indexOf(".")+1,a.length),z=a.indexOf("."));0>m&&(n=!0,q=1);q=
a.substring(q,z);a=q.length;l=e.length-1;m=e[l];if(a<m)t=q;else for(;a>=m;)t=(a-m?c:"")+q.substr(a-m,m)+t,a-=m,m=0>=--l?e[0]:e[l],a<m&&(t=q.substring(a,0)+t);""!=p&&(t=t+d+p);!0===n&&(t="-"+t);return t}var d,m={formatnumber:"1",formatnumberscale:"1",forcenumberscale:"0",defaultnumberscale:"",numberscaleunit:["K","M"],numberscalevalue:[1E3,1E3],numberprefix:"",numbersuffix:"",decimals:"",forcedecimals:"0",yaxisvaluedecimals:"2",decimalseparator:".",thousandseparator:",",thousandseparatorposition:[3],
indecimalseparator:"",inthousandseparator:"",sformatnumber:"1",sformatnumberscale:"0",sforcenumberscale:"0",sdefaultnumberscale:"",snumberscaleunit:["K","M"],snumberscalevalue:[1E3,1E3],snumberprefix:"",snumbersuffix:"",sdecimals:"2",sforcedecimals:"0",syaxisvaluedecimals:"2",xFormatNumber:"0",xFormatNumberScale:"0",xforcenumberscale:"0",xDefaultNumberScale:"",xNumberScaleUnit:["K","M"],xNumberScaleValue:[1E3,1E3],xNumberPrefix:"",xNumberSuffix:""},q={mscombidy2d:{formatnumberscale:"1"}},l=function(a,
d){var c=a.name,e=this.csConf=r({},m);(c=q[c])&&r(e,c);this.linkedItems={iapi:a};this.configure(d)};l.prototype={configure:function(d){var c=this.linkedItems.iapi,l=c.jsonData;d=d||l.chart;var l=c.name,k=this.csConf,p,n,q,t,J,G,I,Q,X,ca,ga,da,Z,Ja,R,ua,Ha,U,Na,la;this.csConf=k;this.useScaleRecursively=c.useScaleRecursively;e(d.numberscaleunit)&&(p=d.numberscaleunit.split(","));if(n=e(d.snumberscaleunit,d.numberscaleunit))n=n.split(",");if(q=e(d.xnumberscaleunit,d.numberscaleunit))q=q.split(",");if(t=
e(d.ticknumberscaleunit,d.numberscaleunit))t=t.split(",");if(J=e(d.ynumberscaleunit,d.numberscaleunit))J=J.split(",");e(d.numberscalevalue)&&(G=d.numberscalevalue.split(","));if(ga=e(d.snumberscalevalue,d.numberscalevalue))ga=ga.split(",");if(I=e(d.xnumberscalevalue,d.numberscalevalue))I=I.split(",");if(Q=e(d.ticknumberscalevalue,d.numberscalevalue))Q=Q.split(",");if(X=e(d.ynumberscalevalue,d.numberscalevalue))X=X.split(",");if(e(d.thousandseparatorposition))for(ca=d.thousandseparatorposition.split(","),
da=ca.length,Ja=m.thousandseparatorposition[0];da--;)Z=parseInt(ca[da],10),0>=Z&&(Z=Ja),Ja=ca[da]=Z;c||(c={});da=C(d.scalerecursively,0);Z=C(d.sscalerecursively,da);Ja=C(d.xscalerecursively,da);R=C(d.maxscalerecursion,-1);ua=C(d.smaxscalerecursion,R);Ha=C(d.xmaxscalerecursion,R);U=e(d.scaleseparator," ");Na=e(d.sscaleseparator,U);la=e(d.xscaleseparator,U);R||(R=-1);this.baseConf=ca={cacheStore:[],formatnumber:a(d.formatnumber,c.formatnumber,k.formatnumber),formatnumberscale:a(d.formatnumberscale,
c.formatnumberscale,k.formatnumberscale),forcenumberscale:a(d.forcenumberscale,c.forcenumberscale,k.forcenumberscale),defaultnumberscale:M(d.defaultnumberscale,c.defaultnumberscale,k.defaultnumberscale),numberscaleunit:a(p,c.numberscaleunit,k.numberscaleunit).concat(),numberscalevalue:a(G,c.numberscalevalue,k.numberscalevalue).concat(),numberprefix:M(d.numberprefix,c.numberprefix,k.numberprefix),numbersuffix:M(d.numbersuffix,c.numbersuffix,k.numbersuffix),decimalprecision:parseInt("auto"===d.decimals?
k.decimalprecision:a(d.decimals,d.decimalprecision,c.decimals,k.decimals,c.decimalprecision,k.decimalprecision),10),forcedecimals:a(d.forcedecimals,c.forcedecimals,k.forcedecimals),decimalseparator:a(d.decimalseparator,c.decimalseparator,k.decimalseparator),thousandseparator:a(d.thousandseparator,c.thousandseparator,k.thousandseparator),thousandseparatorposition:a(ca,c.thousandseparatorposition,k.thousandseparatorposition),indecimalseparator:M(d.indecimalseparator,c.indecimalseparator,k.indecimalseparator),
inthousandseparator:M(d.inthousandseparator,c.inthousandseparator,k.inthousandseparator),scalerecursively:da,maxscalerecursion:R,scaleseparator:U};e(ca.inthousandseparator)&&(this.baseConf._REGinthousandseparator=new RegExp(z(ca.inthousandseparator),"g"));e(ca.indecimalseparator)&&(this.baseConf._REGindecimalseparator=new RegExp(z(ca.indecimalseparator)));this.Y=[];p={cacheStore:[],formatnumber:ca.formatnumber,formatnumberscale:ca.formatnumberscale,forcenumberscale:ca.forcenumberscale,defaultnumberscale:ca.defaultnumberscale,
numberscaleunit:ca.numberscaleunit.concat(),numberscalevalue:ca.numberscalevalue.concat(),numberprefix:ca.numberprefix,numbersuffix:ca.numbersuffix,decimalprecision:ca.decimalprecision,forcedecimals:ca.forcedecimals,decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition,indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};c.useScaleRecursively&&
(p.numberscalevalue&&p.numberscalevalue.length)==(p.numberscaleunit&&p.numberscaleunit.length)||(p.scalerecursively=da=0);G={cacheStore:[],formatnumber:p.formatnumber,formatnumberscale:p.formatnumberscale,forcenumberscale:p.forcenumberscale,defaultnumberscale:p.defaultnumberscale,numberscaleunit:p.numberscaleunit.concat(),numberscalevalue:p.numberscalevalue.concat(),numberprefix:p.numberprefix,numbersuffix:p.numbersuffix,decimalprecision:parseInt(a(d.yaxisvaluedecimals,p.decimalprecision,2),10),forcedecimals:a(d.forceyaxisvaluedecimals,
p.forcedecimals),decimalseparator:p.decimalseparator,thousandseparator:p.thousandseparator,thousandseparatorposition:p.thousandseparatorposition.concat(),indecimalseparator:p.indecimalseparator,inthousandseparator:p.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};ga={cacheStore:[],formatnumber:a(d.sformatnumber,c.sformatnumber,m.sformatnumber),formatnumberscale:a(d.sformatnumberscale,c.sformatnumberscale,m.sformatnumberscale),forcenumberscale:a(d.sforcenumberscale,c.sforcenumberscale,
m.sforcenumberscale),defaultnumberscale:M(d.sdefaultnumberscale,c.sdefaultnumberscale,p.defaultnumberscale),numberscaleunit:a(n,c.snumberscaleunit,m.snumberscaleunit).concat(),numberscalevalue:a(ga,c.snumberscalevalue,m.snumberscalevalue).concat(),numberprefix:M(d.snumberprefix,c.snumberprefix,m.snumberprefix),numbersuffix:M(d.snumbersuffix,c.snumbersuffix,m.snumbersuffix),decimalprecision:parseInt(a(d.syaxisvaluedecimals,d.sdecimals,d.decimals,c.sdecimals,m.sdecimals),10),forcedecimals:a(d.forcesyaxisvaluedecimals,
d.sforcedecimals,d.forcedecimals,c.sforcedecimals,m.sforcedecimals),decimalseparator:a(d.decimalseparator,c.decimalseparator,m.decimalseparator),thousandseparator:a(d.thousandseparator,c.thousandseparator,m.thousandseparator),thousandseparatorposition:p.thousandseparatorposition.concat(),indecimalseparator:a(d.indecimalseparator,c.indecimalseparator,m.indecimalseparator),inthousandseparator:a(d.inthousandseparator,c.inthousandseparator,m.inthousandseparator),scalerecursively:Z,maxscalerecursion:ua,
scaleseparator:Na};n=r({},ga);n.decimalprecision=parseInt(a(d.sdecimals,d.decimals,d.syaxisvaluedecimals,c.sdecimals,m.sdecimals),10);n.forcedecimals=a(d.sforcedecimals,d.forcedecimals,d.forcesyaxisvaluedecimals,c.sforcedecimals,m.sforcedecimals);n.cacheStore=[];c.useScaleRecursively&&(ga.numberscalevalue&&ga.numberscalevalue.length)==(ga.numberscaleunit&&ga.numberscaleunit.length)||(ga.scalerecursively=Z=0);/^(bubble|scatter|selectscatter|zoomscatter)$/.test(l)&&(G.formatnumber=a(d.yformatnumber,
G.formatnumber),G.formatnumberscale=a(d.yformatnumberscale,G.formatnumberscale),G.forcenumberscale=a(d.yforcenumberscale,G.forcenumberscale),G.defaultnumberscale=M(d.ydefaultnumberscale,G.defaultnumberscale),G.numberscaleunit=a(J,G.numberscaleunit),G.numberscalevalue=a(X,G.numberscalevalue),G.numberprefix=a(d.ynumberprefix,G.numberprefix),G.numbersuffix=a(d.ynumbersuffix,G.numbersuffix),p.formatnumber=a(d.yformatnumber,p.formatnumber),p.formatnumberscale=a(d.yformatnumberscale,p.formatnumberscale),
p.forcenumberscale=a(d.yforcenumberscale,p.forcenumberscale),p.defaultnumberscale=M(d.ydefaultnumberscale,p.defaultnumberscale),p.numberscaleunit=a(d.ynumberscaleunit,p.numberscaleunit.concat()),p.numberscalevalue=a(d.ynumberscalevalue,p.numberscalevalue.concat()),p.numberprefix=a(d.ynumberprefix,p.numberprefix),p.numbersuffix=a(d.ynumbersuffix,p.numbersuffix));/^(pie2d|pie3d|doughnut2d|doughnut3d|marimekko|pareto2d|pareto3d)$/.test(l)&&(p.decimalprecision=a(d.decimals,"2"));da&&(p.numberscalevalue.push(1),
p.numberscaleunit.unshift(p.defaultnumberscale),G.numberscalevalue.push(1),G.numberscaleunit.unshift(G.defaultnumberscale));Z&&(ga.numberscalevalue.push(1),ga.numberscaleunit.unshift(ga.defaultnumberscale),n.numberscalevalue.push(1),n.numberscaleunit.unshift(n.defaultnumberscale));this.Y[0]={yAxisLabelConf:G,dataLabelConf:p};this.Y[1]={yAxisLabelConf:ga,dataLabelConf:n};this.paramLabels=p;this.param1=G;this.param2=ga;this.paramLabels2=n;this.paramX={cacheStore:[],formatnumber:a(d.xformatnumber,ca.formatnumber),
formatnumberscale:a(d.xformatnumberscale,ca.formatnumberscale),forcenumberscale:a(d.xforcenumberscale,ca.forcenumberscale),defaultnumberscale:M(d.xdefaultnumberscale,ca.defaultnumberscale),numberscaleunit:a(q,ca.numberscaleunit.concat()),numberscalevalue:a(I,ca.numberscalevalue.concat()),numberprefix:a(d.xnumberprefix,ca.numberprefix),numbersuffix:a(d.xnumbersuffix,ca.numbersuffix),decimalprecision:parseInt(a(d.xaxisvaluedecimals,d.xaxisvaluesdecimals,ca.decimalprecision,2),10),forcedecimals:a(d.forcexaxisvaluedecimals,
0),decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition.concat(),indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:Ja,maxscalerecursion:Ha,scaleseparator:la};this.paramLegend=r(r({},ca),{cacheStore:[],decimalprecision:parseInt(C(d.legendvaluedecimals,ca.decimalprecision,2),10),forcedecimals:C(d.legendvalueforcedecimals,ca.forcedecimals,0),formatnumberscale:a(d.legendvalueformatnumberscale,
ca.formatnumberscale),forcenumberscale:a(d.legendvalueforcenumberscale,ca.forcenumberscale),formatnumber:a(d.legendvalueformatnumber,ca.formatnumber)});da&&(this.paramLegend.numberscalevalue.push(1),this.paramLegend.numberscaleunit.unshift(this.paramLegend.defaultnumberscale));c.useScaleRecursively&&(this.paramX.numberscalevalue&&this.paramX.numberscalevalue.length)==(this.paramX.numberscaleunit&&this.paramX.numberscaleunit.length)||(this.paramX.scalerecursively=Ja=0);Ja&&(this.paramX.numberscalevalue.push(1),
this.paramX.numberscaleunit.unshift(this.paramX.defaultnumberscale));this.paramScale={cacheStore:[],formatnumber:a(d.tickformatnumber,ca.formatnumber),formatnumberscale:a(d.tickformatnumberscale,ca.formatnumberscale),forcenumberscale:a(d.tickforcenumberscale,ca.forcenumberscale),defaultnumberscale:M(d.tickdefaultnumberscale,ca.defaultnumberscale),numberscaleunit:a(t,ca.numberscaleunit.concat()),numberscalevalue:a(Q,ca.numberscalevalue.concat()),numberprefix:a(d.ticknumberprefix,ca.numberprefix),numbersuffix:a(d.ticknumbersuffix,
ca.numbersuffix),decimalprecision:parseInt(a(d.tickvaluedecimals,ca.decimalprecision,"2"),10),forcedecimals:a(d.forcetickvaluedecimals,ca.forcedecimals,0),decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition.concat(),indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};da&&(this.paramScale.numberscalevalue.push(1),this.paramScale.numberscaleunit.unshift(this.paramScale.defaultnumberscale));
this.timeConf={inputDateFormat:a(d.inputdateformat,d.dateformat,"mm/dd/yyyy"),outputDateFormat:a(d.outputdateformat,d.inputdateformat,d.dateformat,"mm/dd/yyyy"),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),months:"January February March April May June July August September October November December".split(" "),daySuffix:" st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" ")};this.cleaneValueCacheStore={};this.percentStrCacheStore=
{}},cleaneValueCacheStore:{},percentStrCacheStore:{},dispose:function(){this.Y&&delete this.Y;this.cleaneValueCacheStore&&delete this.cleaneValueCacheStore;this.percentStrCacheStore&&delete this.percentStrCacheStore;this.paramLabels&&delete this.paramLabels;this.param1&&delete this.param1;this.param2&&delete this.param2;this.paramLabels2&&delete this.paramLabels2;this.csConf&&delete this.csConf;this.iapi&&delete this.iapi;this.baseConf&&delete this.baseConf;this.timeConf&&delete this.timeConf;this.paramX&&
delete this.paramX;this.paramScale&&delete this.paramScale},parseMLAxisConf:function(d,c){var l=this.baseConf,k=this.csConf,p=C(d.scalerecursively,l.scalerecursively),n=C(d.maxscalerecursion,l.maxscalerecursion),q=e(d.scaleseparator,l.scaleseparator),t,z,r,G,I,Q;c=C(c,this.Y.length);e(d.numberscaleunit)&&(t=d.numberscaleunit.split(","));e(d.numberscalevalue)&&(z=d.numberscalevalue.split(","));n||(n=-1);if(e(d.thousandseparatorposition))for(r=d.thousandseparatorposition.split(","),G=r.length,Q=m.thousandseparatorposition[0];G--;)(I=
C(J(r[G])))?Q=I:I=Q,r[G]=I;l={cacheStore:[],formatnumber:a(d.formatnumber,l.formatnumber),formatnumberscale:a(d.formatnumberscale,l.formatnumberscale),forcenumberscale:a(d.forcenumberscale,l.forcenumberscale),defaultnumberscale:M(d.defaultnumberscale,l.defaultnumberscale),numberscaleunit:a(t,l.numberscaleunit).concat(),numberscalevalue:a(z,l.numberscalevalue).concat(),numberprefix:M(d.numberprefix,l.numberprefix),numbersuffix:M(d.numbersuffix,l.numbersuffix),forcedecimals:a(d.forcedecimals,l.forcedecimals),
decimalprecision:parseInt("auto"===d.decimals?k.decimalprecision:a(d.decimals,l.decimalprecision),10),decimalseparator:a(d.decimalseparator,l.decimalseparator),thousandseparator:a(d.thousandseparator,l.thousandseparator),thousandseparatorposition:a(r,l.thousandseparatorposition),indecimalseparator:M(d.indecimalseparator,l.indecimalseparator),inthousandseparator:M(d.inthousandseparator,l.inthousandseparator),scalerecursively:p,maxscalerecursion:n,scaleseparator:q};this.useScaleRecursively&&(l.numberscalevalue&&
l.numberscalevalue.length)==(l.numberscaleunit&&l.numberscaleunit.length)||(l.scalerecursively=p=0);n={cacheStore:[],formatnumber:l.formatnumber,formatnumberscale:l.formatnumberscale,forcenumberscale:l.forcenumberscale,defaultnumberscale:l.defaultnumberscale,numberscaleunit:l.numberscaleunit.concat(),numberscalevalue:l.numberscalevalue.concat(),numberprefix:l.numberprefix,numbersuffix:l.numbersuffix,decimalprecision:parseInt(a(d.yaxisvaluedecimals,l.decimalprecision,2),10),forcedecimals:a(d.forceyaxisvaluedecimals,
l.forcedecimals),decimalseparator:l.decimalseparator,thousandseparator:l.thousandseparator,thousandseparatorposition:l.thousandseparatorposition.concat(),indecimalseparator:l.indecimalseparator,inthousandseparator:l.inthousandseparator,scalerecursively:p,maxscalerecursion:n,scaleseparator:q};p&&(l.numberscalevalue.push(1),l.numberscaleunit.unshift(l.defaultnumberscale),n.numberscalevalue.push(1),n.numberscaleunit.unshift(n.defaultnumberscale));this.Y[c]={dataLabelConf:l,yAxisLabelConf:n}},percentValue:function(a){var d=
this.percentStrCacheStore[a];void 0===d&&(d=isNaN(this.paramLabels.decimalprecision)?"2":this.paramLabels.decimalprecision,d=this.percentStrCacheStore[a]=k(c(a,d,this.paramLabels.forcedecimals),this.paramLabels.decimalseparator,this.paramLabels.thousandseparator,this.paramLabels.thousandseparatorposition)+"%");return d},getCleanValue:function(a,d){var c=this.cleaneValueCacheStore[a];if(void 0===c||d){var e=this.baseConf,c=a+"";e._REGinthousandseparator&&(c=c.replace(e._REGinthousandseparator,""));
e._REGindecimalseparator&&(c=c.replace(e._REGindecimalseparator,"."));c=parseFloat(c);c=isFinite(c)?c:NaN;this.cleaneValueCacheStore[a]=c=isNaN(c)?null:d?J(c):c}return c},dataLabels:function(a,c){var e=this.Y[c]||(c?this.Y[1]:this.Y[0]),l,e=e&&e.dataLabelConf||this.baseConf;l=e.cacheStore[a];void 0===l&&(l=e.cacheStore[a]=d(a,e));return l},yAxis:function(a,c){var e=this.Y[c]||(c?this.Y[1]:this.Y[0]),l,e=e&&e.yAxisLabelConf||this.baseConf;l=e.cacheStore[a];void 0===l&&(l=e.cacheStore[a]=d(a,e,!0));
return l},xAxis:function(a){var c=this.paramX.cacheStore[a];void 0===c&&(c=this.paramX.cacheStore[a]=d(a,this.paramX,!0));return c},sYAxis:function(a){var c=this.Y[1],e,c=c&&c.yAxisLabelConf||this.baseConf;e=c.cacheStore[a];void 0===e&&(e=c.cacheStore[a]=d(a,c));return e},scale:function(a){var c=this.paramScale.cacheStore[a];void 0===c&&(c=this.paramScale.cacheStore[a]=d(a,this.paramScale));return c},getCleanTime:function(a){var d;this.timeConf.inputDateFormat&&Date.parseExact&&(d=Date.parseExact(a,
this.timeConf.inputDateFormat));return d&&d.getTime()},legendValue:function(a){var c=this.paramLegend.cacheStore[a];void 0===c&&(c=this.paramLegend.cacheStore[a]=d(a,this.paramLegend));return c},legendPercentValue:function(a){var d=this.percentStrCacheStore[a],e=this.paramLegend;void 0===d&&(d=isNaN(e.decimalprecision)?"2":e.decimalprecision,d=this.percentStrCacheStore[a]=k(c(a,d,e.forcedecimals),e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+"%");return d},getDateValue:function(a){var d,
c,e;a&&!/\//.test(this.timeConf.inputDateFormat)&&(a=a.replace(new RegExp(this.timeConf.inputDateFormat.replace(/[a-z]/ig,"").slice(0,1),"g"),"/"));a=/^dd/.test(this.timeConf.inputDateFormat)&&a&&a.replace(/(\d{1,2})\/(\d{1,2})\/(\d{2,4})/,"$2/$1/$3")||a;d=new Date(a);c=d.getTime();!c&&a&&/\:/.test(a)&&(a=a.split(":"),c=C(a[0],0),e=C(a[1],0),a=C(a[2],0),c=23<c?24===c&&0===e&&0===a?c:23:c,e=59<e?59:e,a=59<a?59:a,d=new Date,d.setHours(c),d.setMinutes(e),d.setSeconds(a),c=d.getTime());return{ms:c,date:d}},
getFormattedDate:function(d,c){var e="object"===typeof d&&d||new Date(d),l=this.timeConf,k=a(c,l.outputDateFormat),m=e.getFullYear(),p=e.getMonth(),n=e.getDate(),q=e.getDay(),t=e.getMinutes(),z=e.getSeconds(),e=e.getHours(),t=9<t?""+t:"0"+t,z=9<z?""+z:"0"+z,e=9<e?""+e:"0"+e;k.match(/dnl/)&&(k=k.replace(/dnl/ig,l.days[q]));k.match(/dns/)&&(k=k.replace(/dns/ig,l.days[q]&&l.days[q].substr(0,3)));k.match(/dd/)&&(k=k.replace(/dd/ig,n));k.match(/mnl/)&&(k=k.replace(/mnl/ig,l.months[p]));k.match(/mns/)&&
(k=k.replace(/mns/ig,l.months[p]&&l.months[p].substr(0,3)));k.match(/mm/)&&(k=k.replace(/mm/ig,p+1));k.match(/yyyy/)&&(k=k.replace(/yyyy/ig,m));k.match(/yy/)&&(k=k.replace(/yy/ig,(m%1E3%100+"").replace(/^(\d)$/,"0$1")));k.match(/hh12/)&&(k=k.replace(/hh12/ig,e%12||12));k.match(/hh/)&&(k=k.replace(/hh/ig,e));k.match(/mn/)&&(k=k.replace(/mn/ig,t));k.match(/ss/)&&(k=k.replace(/ss/ig,z));k.match(/ampm/)&&(k=k.replace(/ampm/ig,12>e?"AM":"PM"));k.match(/ds/)&&(k=k.replace(/ds/ig,l.daySuffix[n]));return k}};
l.prototype.constructor=l;d=function(d,e,l){if(null!==d){d=Number(d);var m=d+"",n,q,t,z,r;n=1==e.formatnumberscale?e.defaultnumberscale:"";r=(r=m.split(".")[1])?r.length:e.forcedecimals?"2":"";if(1==e.formatnumberscale){m=d;q=e.defaultnumberscale;d=e.numberscalevalue;n=e.numberscaleunit;var B=e.scalerecursively;t=e.forcenumberscale;z={};var G=q,J=0,I=[],Q=[],M;t=C(t)||0;if(B){G=C(d[0])||1E3;for(J=0;J<d.length;J++)if(B=C(d[J])||1E3,Math.abs(Number(m))>=B&&J<d.length-1)M=m%B,m=(m-M)/B,0===J&&0!==M&&
""===n[J]&&t?(I.push(M/G),Q.push(n[1]||"")):0!==M&&(1===J&&""===q&&t?(B=M+(I.length?I.pop():0),Q.pop(),I.push(B)):I.push(M),Q.push(n[J]));else{0===J&&""===q&&t?(m=Number(m)/G,I.push(m),Q.push(n[1]||"")):(1===J&&""===q&&t?(B=m+(I.length?I.pop():0),Q.pop(),I.push(B)):I.push(m),Q.push(n[J]));break}I.reverse();Q.reverse();z.value=I;z.scale=Q}else{if(d.length===n.length)for(J=0;J<d.length;J++)if(B=C(d[J])||1E3,Math.abs(Number(m))>=B)G=n[J]||"",m=Number(m)/B;else{0===J&&""===q&&t&&(G=n[0]||"",m=Number(m)/
B);break}z.value=m;z.scale=G}q=z;d=m=q.value;n=q.scale}if(e.scalerecursively&&0!==e.formatnumberscale&&"0"!==e.formatnumberscale){l=q.value;q=q.scale;d=-1==e.maxscalerecursion?l.length:Math.min(l.length,e.maxscalerecursion);if(1==e.formatnumber)for(m="",z=0;z<d;z++)n=0===z?l[z]:Math.abs(l[z]),t=n+"",z==d-1&&(t=c(n,a(e.decimalprecision,r),e.forcedecimals)),m=m+k(t,e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+q[z]+(z<d-1?e.scaleseparator:"");else for(m="",z=0;z<d;z++)m=m+(0===
z?l[z]:Math.abs(l[z])+"")+q[z]+(z<d-1?e.scaleseparator:"");m=(e.numberprefix||"")+m+(e.numbersuffix||"")}else 1==e.formatnumber&&(m=c(d,a(e.decimalprecision,r),e.forcedecimals),m=k(m,e.decimalseparator,e.thousandseparator,e.thousandseparatorposition,l)),m=(e.numberprefix||"")+m+n+(e.numbersuffix||"");return m}};return l}();k.extend(k.core,{formatNumber:function(a,e){e=e&&t(e)||{};var d=q(e),k;G[d]?k=G[d]:G[d]=k=new m.NumberFormatter(e,{useScaleRecursively:!0});return k.dataLabels(a)}},!1);k.extend(k.core,
{formatNumber:function(a,e,d,n){d=d&&t(d)||{};var z=this.jsVars.instanceAPI||{},l=z.numberFormatter,w;""===q(d)?l?w=l:(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},d=q(l),G[d]?w=G[d]:G[d]=w=new m.NumberFormatter(l,z)):(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},l=r(r({},l),d),d=q(l),G[d]?w=G[d]:G[d]=w=new m.NumberFormatter(l,z));switch((e&&e.toLowerCase?e:"").toLowerCase()){case "yaxisvalues":a=w.yAxis(a,n);break;case "xaxisvalues":a=w.xAxis(a);
break;case "scale":a=w.scale(a);break;default:a=w.dataLabels(a,n)}return a}},!0)}]);
FusionCharts.register("module",["private","modules.renderer.js-dom",function(){var k=this.hcLib,m=this.window,C=m.document,r=k.extend2,e="ontouchstart"in m;(function(a){var k=function(){var a={},k;a.pointerdrag={start:["mousedown"],end:["mouseup"],onStart:["mousemove"],postHandlers:{},preHandlers:{}};a.pointerhover={start:["mouseover"],end:["mouseout"]};a.click={start:["click"]};a.escape={start:["keydown"],preHandlers:{start:function(a){a=a||m.event;return a.keyCode&&27===a.keyCode?!0:!1}}};e&&(k=
a.pointerdrag,k.start.push("touchstart"),k.end.push("touchend"),k.onStart.push("touchmove"),k.postHandlers.onStart=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1});return a}(),J;J=r({},k);a.dem=new function(){var a={},e={},k=C.addEventListener?function(a,d,c){a.addEventListener(d,c,!1)}:function(a,d,c){a.attachEvent("on"+d,c)},G=C.removeEventListener?function(a,d,c){a.removeEventListener(d,c,!1)}:function(a,d,c){a.detachEvent("on"+d,c)},q=function(a,d,c){var e=[],l,k,n;n=J[d];c.start=
function(d){d=d||m.event;for(var e=n.onStart,l=n.end,k=[],q=[],w=e&&e.length||0;w--;)k.push(t(a,e[w],c,"onStart"));for(w=l&&l.length||0;w--;)q.push(t(a,l[w],c,"end"));c.startUn=c.startUn?c.startUn.concat(k):k;c.endUn=c.endUn?c.endUn.concat(q):q;c.state="start";c.closure(d)};c.onStart=function(a){a=a||m.event;c.state="on";if(c.gDef&&c.gDef.preHandlers&&"function"===typeof c.gDef.preHandlers.onStart)c.gDef.preHandlers.onStart(a);c.closure(a);if(c.gDef&&c.gDef.postHandlers&&"function"===typeof c.gDef.postHandlers.onStart)c.gDef.postHandlers.onStart(a)};
c.end=function(a){a=a||m.event;for(var d=c.startUn,e=c.endUn,l=d&&d.length||0;l--;)d[l]();delete c.startUn;c.startUn=[];for(l=e&&e.length||0;l--;)e[l]();delete c.endUn;c.endUn=[];c.state="end";c.closure(a)};if(n)for(d=n.start,k=d.length;k--;)(l=d[k])&&e.push(t(a,l,c,"start"));return e},t=function(a,d,c,e){e=e||"closure";k(a,d,c[e]);return function(){G(a,d,c[e])}},c=function(a){return function(d){d=d||m.event;a.handler.call(a.context||a.elem,{data:a.data,type:a.type,state:a.state,isGesture:a.isGesture,
target:d.target||d.srcElement,originalEvent:d})}};return{listen:function(k,d,m,z,l){var w=this;d="string"===typeof d?d.split(" "):d;var r=d.length,F=[],G=function(a,d,c){F.push(function(){w.unlisten(a,d,c)})},D,V,P,M,$;if(k.ownerDocument&&k.ownerDocument===C)for(;r--;)V=d[r],M=Boolean(J[V]),$="function"===typeof m?m:m[r],P={handler:$,elem:k,type:V,isGesture:M,gDef:M?J[V]:null,data:z,context:l,start:[],end:[],links:{prev:null,next:null}},P.closure=c(P),M?((D=e[V])||(D=e[V]=[]),D.push(P),q(k,V,P)):
((D=a[V])||(D=a[V]=[]),D.push(P),t(k,V,P)),G(k,V,$);else for(;r--;)V=d[r],$="function"===typeof m?m:m[r],P={handler:$,elem:k,type:V,isGesture:M,data:z,context:l,start:[],end:[],links:{prev:null,next:null}},P.closure=c(P),(D=a[V])||(D=a[V]=[]),D.push(P),t(k,V,P),G(k,V,$);return{unlisten:function(){for(var a=F.length;a--;)F[a]();F.length=0;F=null}}},unlisten:function(c,d,k){var m,l=!1,q,t;if(Boolean(J[d]))for(q=(m=e[d])&&m.length||0;q--;){if(t=m[q],t.handler===k&&t.elem===c){var l=c,F=void 0,z=void 0,
r=void 0,F=void 0;if(F=J[d])for(F=F.start,r=F.length;r--;)(z=F[r])&&G(l,z,t.start);m.splice(q,1);l=!0}}else for(q=(m=a[d])&&m.length||0;q--;)t=m[q],t.handler===k&&t.elem===c&&(G(c,d,t.closure),m.splice(q,1),l=!0);return l},fire:function(c,d,e,k){var l;if(c.ownerDocument&&c.ownerDocument===C)C.createEvent?(l=C.createEvent("HTMLEvents"),l.initEvent(d,!0,!0),e&&(e.originalEvent?e.originalEvent=l:r(l,e)),"function"===typeof c[d]&&c[d].call(c),c.dispatchEvent(l)):(l=C.createEventObject(),l.eventType=d,
e&&(e.originalEvent?e.originalEvent=l:r(l,e)),"function"===typeof c[d]&&c[d].call(c),c.fireEvent("on"+d,l)),k&&!l.returnValue&&k(l);else for(k=(d=a[d])&&d.length||0;k--;)l=d[k],l.elem===c&&l.closure(e)}}}})(k||m);(function(a){function e(a,k){var m="";C.defaultView&&C.defaultView.getComputedStyle?m=C.defaultView.getComputedStyle(a,"").getPropertyValue(k):a.currentStyle&&(k=k.replace(/\-(\w)/g,function(a,e){return e.toUpperCase()}),m=a.currentStyle[k]);m=parseInt(m,10);return isNaN(m)?0:m}function k(a,
e,t,c,p,d,r,C){var l=e/40,w=n[d||"linear"](c-t,l),J=0,F,I,D=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||m.msRequestAnimationFrame||function(a){setTimeout(a,40)},V=function(d){var k;k=!1;d?(F||(F=d),I=d-F,d=Math.abs(t-c),k=(k=0>t-c?!1:!0)?Math.max(t-d/e*I,c)+C:Math.min(t+d/e*I,c)+C,a.style[p]=k,z&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),I<e?D(V):r&&r()):J<l?(k=w[J],a.style[p]=
t+k+C,z&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),J+=1,setTimeout(V,40)):r&&r()};C=C||"";D(V)}var I={width:{suffix:"px"},height:{suffix:"px"},opacity:!0,top:{suffix:"px"},left:{suffix:"px"}},n={linear:function(a,e){for(var k=[],c=a/e,m=0;m<e;m+=1)k[m]=c*(m+1);return k}},z=/msie/i.test(m.navigator.userAgent)&&!m.opera;a.danimate=r({animate:function(a,m,n,c,p){c={};var d={},z=function(){l+=1;l===r&&"function"===typeof p&&p()},r=0,l=0,w,
C;if(40>n){for(C in m)a.style[C]=m[C];p&&p()}else for(C in m)w=null,"x"===C?(w=C,C="left"):"y"===C&&(w=C,C="top"),I[C]&&(r+=1,c[C]=m[w||C],d[C]=e(a,C),w="object"===typeof I[C]&&I[C].suffix,k(a,n,d[C],c[C],C,"linear",z,w))}},{})})(k||m)}]);
FusionCharts.register("module",["private","modules.renderer.js-colormanager",function(){var k=this.hcLib,m=k.pluckNumber,C=k.graphics.getDarkColor,r=k.graphics.getLightColor,e="AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),a="8BBA00 F6BD0F FF654F AFD8F8 FDB398 CDC309 B1D0D2 FAD1B9 B8A79E D7CEA5 C4B3CE E9D3BE EFE9AD CEA7A2 B2D9BA".split(" "),M=k.defaultPaletteOptions={paletteColors:[e,
e,e,e,e],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],showShadow:[0,
1,1,1,1],divLineColor:["717170","7B7D6D","92CDD6","965B01","68001B"],divLineAlpha:[40,45,65,40,30],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],anchorBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E",
"025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotGradientColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],plotBorderColor:["333333","8A8A8A","FFFFFF","FFFFFF","FFFFFF"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],bgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAlpha3D:["100",
"100","100","100","100"],bgAngle3D:[90,90,90,90,90],bgRatio3D:["","","","",""],canvasBgColor3D:["DDE3D5","D8D8D7","EEDFCA","CFD2D8","FEE8E0"],canvasBaseColor3D:["ACBB99","BCBCBD","C8A06C","96A4AF","FAC7BC"],divLineColor3D:["ACBB99","A4A4A4","BE9B6B","7C8995","D49B8B"],divLineAlpha3D:[100,100,100,100,100],legendBgColor3D:["F0F3ED","F3F3F3","F7F0E8","EEF0F2","FEF8F5"],legendBorderColor3D:["C6CFB8","C8C8C8","DFC29C","CFD5DA","FAD1C7"],toolTipbgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor3D:["49563A",
"666666","49351D","576373","681C09"],baseFontColor3D:["49563A","4A4A4A","49351D","48505A","681C09"],anchorBgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"]},e=k.colorManager=function(a){this.linkedItems={iapi:a};this.configure()};e.prototype={configure:function(){var a=this.linkedItems.iapi,e=a.jsonData.chart||{},n=k.extend2({},M),z=a.defaultPaletteOptions||{},G;n||(n={});for(G in z)n[G]=z[G];n=this.paletteOptions=n;z=this.themeEnabled=e.palettethemecolor;this.paletteIndex=(0<e.palette&&6>
e.palette?e.palette:m(a.paletteIndex,1))-1;this.iterator=0;this.paletteColors=n.paletteColors[this.themeEnabled?0:this.paletteIndex];G=e.palettecolors;void 0!==G&&null!==G&&""!==e.palettecolors&&(this.paletteColors=e.palettecolors.split(/\s*\,\s*/));this.paletteLen=this.paletteColors.length;this.useFlatColors=m(e.useflatdataplotcolor,a.useFlatColor,0);z&&(this.paletteIndex=5,n.bgColor[5]=r(z,35)+","+r(z,10),n.bgAngle[5]=270,n.bgRatio[5]="0,100",n.bgAlpha[5]="50,50",n.canvasBgColor[5]="FFFFFF",n.canvasBgAngle[5]=
0,n.canvasBgAlpha[5]="100",n.canvasBgRatio[5]="",n.canvasBorderColor[5]=C(z,80),n.canvasBorderAlpha[5]=100,n.showShadow[5]=1,n.divLineColor[5]=C(z,20),n.divLineAlpha[5]=40,n.altHGridColor[5]=r(z,20),n.altHGridAlpha[5]=15,n.altVGridColor[5]=r(z,80),n.altVGridAlpha[5]=10,n.anchorBgColor[5]="FFFFFF",n.toolTipBgColor[5]="FFFFFF",n.toolTipBorderColor[5]=C(z,80),n.baseFontColor[5]=z.split&&z.split(",")[0],n.borderColor[5]=C(z,60),n.borderAlpha[5]=50,n.legendBgColor[5]="FFFFFF",n.legendBorderColor[5]=C(z,
80),n.plotGradientColor[5]="FFFFFF",n.plotBorderColor[5]=C(z,85),n.plotFillColor[5]=C(z,85),n.bgColor3D[5]="FFFFFF",n.bgAlpha3D[5]="100",n.bgAngle3D[5]=90,n.bgRatio3D[5]="",n.canvasBgColor3D[5]=r(z,20),n.canvasBaseColor3D[5]=r(z,40),n.divLineColor3D[5]=C(z,20),n.divLineAlpha3D[5]=40,n.legendBgColor3D[5]="FFFFFF",n.legendBorderColor3D[5]=C(z,80),n.toolTipbgColor3D[5]="FFFFFF",n.toolTipBorderColor3D[5]=C(z,80),n.baseFontColor3D[5]=z.split&&z.split(",")[0],n.anchorBgColor3D[5]="FFFFFF",n.tickColor&&
(n.tickColor[5]=C(z,90)),n.trendDarkColor&&(n.trendDarkColor[5]=C(z,90)),n.trendLightColor&&(n.trendLightColor[5]=r(z,n.TrendLightShadeOffset)),n.msgLogColor&&(n.msgLogColor[5]=r(z,80)),n.dialColor&&(n.dialColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.dialBorderColor&&(n.dialBorderColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.pivotColor&&(n.pivotColor[5]=r(z,95)+",FFFFFF,"+r(z,95)),n.pivotBorderColor&&(n.pivotBorderColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.pointerBorderColor&&(n.pointerBorderColor[5]=C(z,75)),n.pointerBgColor&&
(n.pointerBgColor[5]=C(z,75)),n.thmBorderColor&&(n.thmBorderColor[5]=C(z,90)),n.thmFillColor&&(n.thmFillColor[5]=r(z,55)),n.gaugeBorderColor&&(n.gaugeBorderColor[5]=C(z,90)),n.gaugeFillColor&&(n.gaugeFillColor[5]=r(z,55)),n.cylFillColor&&(n.cylFillColor[5]=r(z,55)),n.periodColor&&(n.periodColor[5]=r(z,10)),n.winColor&&(n.winColor[5]="666666"),n.lossColor&&(n.lossColor[5]="CC0000"),n.drawColor&&(n.drawColor[5]="666666"),n.scorelessColor&&(n.scorelessColor[5]="FF0000"),n.gridColor&&(n.gridColor[5]=
r(z,30)),n.categoryBgColor&&(n.categoryBgColor[5]=r(z,10)),n.dataTableBgColor&&(n.dataTableBgColor[5]=r(z,10)),n.gridResizeBarColor&&(n.gridResizeBarColor[5]=C(z,90)),n.scrollBarColor&&(n.scrollBarColor[5]=r(z,50)))},getColor:function(a){return this.paletteOptions[a][this.paletteIndex]},getPlotColor:function(a){var e=this.paletteColors;a=this.useFlatColors?this.getColor("plotFillColor"):e[a%this.paletteLen];a||(this.iterator===this.paletteLen&&(this.iterator=0),a=e[this.iterator],this.iterator+=1);
return a},parseColorMix:function(a,e){var k=[],m,G,q,t,c,p,d,B,M,l;e=e.replace(/\s/g,"");e=e.toLowerCase();if(""===e||null===e||void 0===e)k=[a];else for(G=e.split(","),q=a.split(","),t=Math.max(G.length,q.length,1),c=G[0],p=q[0],M=/[\{\}]/ig,l=0;l<t;l++)d=(G[l]||c).replace(M,""),B=q[l]||p,"color"==d?k.push(B):"light"==d.substr(0,5)?(m=d.indexOf("-"),m=-1==m?1:d.substr(m+1,d.length-m),m=100-m,k.push(r(B,m))):"dark"==d.substr(0,4)?(m=d.indexOf("-"),m=-1==m?1:d.substr(m+1,d.length-m),m=100-m,k.push(C(B,
m))):k.push(d);return k},parseAlphaList:function(a,e){var k=a.split(","),z=[],r,q=100,t;for(t=0;t<e;t++)r=m(k[t]),void 0!==r&&null!==r&&(q=r),z[t]=q;return z.join()},parseRatioList:function(a,e){var k=a.split(","),m=[],r=0,q,t;for(t=0;t<e;t++)q=k[t],q=isNaN(q)||void 0===q?0:Math.abs(Number(q)),q=100<q?100:q,m[t]=q,r+=q;r=100<r?100:r;if(k.length<e)for(t=k.length;t<e;t++)m[t]=(100-r)/(e-k.length);m[-1]=0;return m.join()}};e.prototype.constructor=e;k.defaultGaugePaletteOptions={paletteColors:[a,a,a,
a,a],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendDarkColor:["333333","60634E",
"025B6A","A15E01","68001B"],trendLightColor:["f1f1f1","F3F5DD","EDFBFE","FFF5E8","FFD1DD"],pointerBorderColor:["545454","60634E","415D6F","845001","68001B"],pointerBgColor:["545454","60634E","415D6F","845001","68001B"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],altHGridColor:["EEEEEE",
"D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],msgLogColor:["717170",
"7B7D6D","92CDD6","965B01","68001B"],TrendLightShadeOffset:30}}]);
FusionCharts.register("module",["private","modules.renderer.js-annotations",function(){var k=this,m=k.core,C=k.hcLib,r=k.window,e=/msie/i.test(r.navigator.userAgent)&&!r.opera,a=C.addEvent,M=C.removeEvent,J=C.hasTouch,I=r.Number,n=J?6:5,z="rgba(192,192,192,"+(e?.002:1E-6)+")",e=r.Math,G=e.min,q=e.max,t=e.sin,c=e.cos,p=e.PI,d=p/180,B=e.abs,Q=k.extend,l=C.pluck,w=C.pluckNumber,H=C.graphics.convertColor,F=C.getValidValue,T=C.parseUnsafeString,D=C.setImageDisplayMode,V=C.graphics.parseColor,P=C.setLineHeight,
fa=C.getMouseCoordinate,$={style:{}},ba=C.toRaphaelColor,ia=function(a,d){return{start:-a,end:-d,angle:a-d}},ea=function(a,d){var c=0;switch(a){case "startx":c=d.x;break;case "starty":c=d.y;break;case "x":case "middlex":case "centerx":c=d.x+d.width/2;break;case "y":case "middley":case "centery":c=d.y+d.height/2;break;case "endx":c=d.x+d.width;break;case "endy":c=d.y+d.height;break;default:c=0}return c},X=function(a,d,c,e,l){var k,m,p=0,n=0;m=void 0===d||null===d?1:d;var q;if(!a||!a.toString)return{value:c,
hasDynamicMacros:!1};a=a.toString();a=a.toLowerCase().replace(/\s/g,"");if(c=a.match(/^[\+\-]?\d+(\.\d+)?|[\+\-]\d+(\.\d+)?/g)){for(d=0;d<c.length;d+=1)p+=Number(c[d])||0;p*=m}if(c=a.match(/^[\+\-]?(\$[a-z0-9\.]+)|[\+\-](\$[a-z0-9\.]+)/g))for(d=0;d<c.length;d+=1){k=c[d];var w=e,t=l,F=k.split("."),r=void 0,z=void 0,D=0;for(m=void 0;r=F.shift();)switch(typeof(z=w[r])){case "object":w=z[r];break;case "function":z=z(F,t),"-"===k.charAt()&&(z*=-1),m=!0;default:D+=I(z)||0,F.length=0}k=D;m&&(q=!0);n+=k}if(c=
a.match(/^[\+\-]?\$\d+(\.\d+)?|[\+\-]\$\d+(\.\d+)?/g))for(d=0;d<c.length;d+=1)n=n+Number(c[d].replace("$",""))||0;return{value:p+n,hasDynamicMacros:q}},ca=function(a,d,c){if(!d.removed){d=d.data("annotation");var e=d.getRenderer(),l=fa(e.linkedItems.container,c),m=l.annotationOptions=d.options,p=l.groupOptions=d.group.options;l._shape=d;"id"in m&&(l.annotationId=m.id);"id"in p&&(l.groupId=p.id);k.raiseEvent(a,l,e.chartInstance,c)}},ga,da,Z;da=function(a,d,c,e,l,k){this.options=a;this.attrs={};this.css=
{};this.bounds={};this.shared=d;this.snaps=c||{};this.annotations=l;this.items=d=[];this._idstore=e;a.id&&(this._id=a.id,e[a.id]=this);if(a=a.items)for(e=0,c=a.length;e<c;e+=1)d.push(new Z(a[e],this)),d[e].chart=k};Q(da.prototype,{scaleImageX:1,scaleImageY:1,scaleText:1,scaleValue:1,scaleValueComplement:1,scaleX:1,scaleY:1});da.prototype.setup=function(){var a=this.options,d=this.shared,c=this.getRenderer();c&&(this.isBelow=0!==w(a.showbelow,a.showbelowchart,d.showbelow),this.useTracker=!this.isBelow&&
c.graphics.trackerGroup&&this.shared.useTracker,this.raiseOwnEvents=d.interactionevents)};da.prototype.scale=function(){var a=this.options,d=this.shared,c=this.bounds,e=this.snaps,k=this.getRenderer(),m=d.rootxscale,p=d.rootyscale,n=c.xs=w(a.xscale,d.xscale,100)/100,q=c.ys=w(a.yscale,d.yscale,100)/100,t,F,r;k&&(this.scaleText*=q,this.scaleImageX*=n,this.scaleImageY*=q,0!==w(a.autoscale,d.autoscale)&&(n=w(a.origw,d.origw),q=w(a.origh,d.origh),n=k.config.width/n,q=k.config.height/q,k=0!==w(a.constrainedscale,
d.constrainedscale),t=n<q?n:q,F=k?t:n,r=k?t:q,this.scaleValue=da.prototype.scaleValue*t,this.scaleValueComplement=da.prototype.scaleValueComplement*(k?t:n<q?q:n),this.scaleX=da.prototype.scaleX*F,this.scaleY=da.prototype.scaleX*r,c.xs*=F,c.ys*=r,m*=F,p*=r,"1"==l(a.scaletext,d.scaletext)&&(this.scaleText=da.prototype.scaleText*r),"1"==l(a.scaleimages,d.scaleimages)&&(this.scaleImageX=da.prototype.scaleImageX*F,this.scaleImageY=da.prototype.scaleImageY*r)),c.x=X(l(a.x,a.xpos),m,0,e,this.isBelow).value+
w(a.grpxshift,d.grpxshift,0),c.y=X(l(a.y,a.ypos),p,0,e,this.isBelow).value+w(a.grpyshift,d.grpyshift,0),this.xshift=w(a.xshift,d.xshift,0),this.yshift=w(a.yshift,d.yshift,0))};da.prototype.draw=function(){var a=this.getRenderer(),d=this.options,c=this.bounds,e=this.items,l=a&&a.graphics,k,m=this.wrapper,p,n=[],q,t,F=this.chart;k=F&&F.config||{};var F=k.annRenderDelay,r=k.resize,z=function(){q=0;for(t=n.length;q<t;q++)p=n[q],p.draw()};if(a){a.annotationRelativeLayer&&"axis"===a.annotationRelativeLayer?
(k=l.axisTopGroup||l.datasetGroup,l=l.axisBottomGroup||l.datasetGroup):k=l=l.datasetGroup;m||(this.wrapper=m=a.components.paper.group("annotations"),k&&l&&(this.isBelow?m.insertBefore(l):m.insertAfter(a.graphics.datalabelsGroup||k)));this.wrapper.attr({x:0,y:0,visibility:w(d.visible,1)?"":"hidden"}).translate(c.x,c.y);q=0;for(t=e.length;q<t;q+=1)p=e[q],p.scale(!0),p.queueDraw?p.queue():(n.push(p),p.setup());F&&!r?setTimeout(function(){z()},F):z();return this}};da.prototype.destroy=function(){for(var a=
this.wrapper,d=this.items,c;c=d.shift();)c.destroy();a&&(this.wrapper=a.remove());this._idstore[this._id]===this&&delete this._idstore[this._id]};da.prototype.addItem=function(a,d,c){var e=this.items,l=this._idstore;this.chart=c;e.push(a=new Z(a,this,l));d&&null!==this.getRenderer()&&(a.scale(),a.setup(),a.draw());return a};da.prototype.removeItem=function(a){for(var d=this.items,c=d.length;c--;)if(a===d[c]._id)return d.splice(c,1)};da.prototype.getRenderer=function(){return this.annotations&&this.annotations.getRenderer()||
null};Z=function(a,d){var c=!1,e;this.options=a;this.chart=(this.group=d)&&d.chart;this.args=[];this.attrs={};this.attrsTracker={};this.style={};this.bounds={};this._idstore=d._idstore;a.id&&(this._id=a.id,d._idstore[a.id]=this);this.type=a.type&&a.type.toLowerCase&&a.type.toLowerCase();for(e in Z.eventNames)"function"===typeof a[e]&&(this[e]=a[e],c=!0);this.hasEvents=c;"function"===typeof a.onload&&(this.onload=a.onload)};k.extend(Z.prototype,{getAbsoluteBounds:function(){var a=this.bounds,d=a.x1,
c=a.y1,e=a.x2,l=a.y2,k=G(d,e),m=G(c,l),d=q(d,e)-k,c=q(c,l)-m;return{x:k,width:d,y:m,height:c,r:a.r,unscaled:{width:d/a.xs,height:c/a.ys}}},queue:function(){this.group.annotations.shapesToDraw.push(this)},scale:function(a){var d=this,c=d.group,e=c.bounds,k=d.bounds,m=d.options,p=c.snaps,n=l(m.x,m.xpos),q=l(m.y,m.ypos),t=l(m.tox,m.toxpos),F=l(m.toy,m.toypos),r=k.xs=e.xs,e=k.ys=e.ys,z=w(m.xshift,c.xshift,0),D=w(m.yshift,c.yshift,0),B;B=function(e,l,k,m){e=X(e,l,k,m,c.isBelow);e.hasDynamicMacros&&a&&
(d.queueDraw=!0);return e.value};d.hasDimension=!0;d.hasDimensionX=!0;d.hasDimensionY=!0;k.x1=B(n,r,0,p)+z;void 0===t?(d.hasDimension=!1,d.hasDimensionX=!1,k.x2=k.x1):k.x2=B(t,r,0,p)+z;k.y1=B(q,e,0,p)+D;void 0===F?(d.hasDimension=!1,d.hasDimensionY=!1,k.y2=k.y1):k.y2=B(F,e,0,p)+D;Z.angularShapeTypes[d.type]&&(k.angles=ia(B(m.startangle,1,0,p),B(m.endangle,1,360,p)));k.r=B(m.radius,c.scaleValue,0,p)},setup:function(){var a=this.options,d=this.group,c=d.options,e=this.attrs,k=this.style,m=d.scaleValue,
p=w(c.fillalpha,c.alpha,100),n=this.fillAlpha=l(a.fillalpha,a.alpha,p),q=this.fillColor=l(a.fillcolor,a.color,c.color),t=this.fillPattern=l(a.fillpattern&&a.fillpattern.toLowerCase&&a.fillpattern.toLowerCase(),c.fillpattern&&c.fillpattern.toLowerCase&&c.fillpattern.toLowerCase()),r=this.bordered=w(a.showborder,Z.borderedShapeTypes[this.type],!!F(a.bordercolor)),D=this.borderColor=l(a.bordercolor,c.bordercolor,q),p=this.borderAlpha=w(a.borderalpha,a.alpha,c.borderalpha,p),B=this.dashed=!!w(a.dashed,
0),C=w(a.borderthickness,a.thickness,2)*m;this.link=l(a.link,c.link);this.shadow="1"==l(a.showshadow,c.showshadow);void 0===q&&(q=Z.borderedShapeTypes[this.type]&&"none"||"#ff0000",void 0===D&&(D="#ff0000"));r&&C?(e.stroke=H(D,p),e["stroke-linecap"]="round",e["stroke-width"]=C,B&&(e["stroke-dasharray"]=[w(a.dashlen,5)*m,w(a.dashgap,3)*m])):e.stroke="none";this.fillOptions={gradientUnits:"objectBoundingBox",color:q,alpha:n,ratio:l(a.fillratio,c.fillratio),angle:360-w(a.fillangle,0),radialGradient:"radial"===
t};this.link&&(k.cursor="pointer",k._cursor="hand");e.visibility=w(a.visible,1)?"":"hidden";this.useTracker=d.useTracker;this.toolText=T(l(a.tooltext,c.tooltext));if(this.useTracker||this.link||this.toolText)Q(this.attrsTracker,{stroke:z,fill:z}),this.link&&(this.attrsTracker.ishot=+new Date);this.raiseOwnEvents=d.raiseOwnEvents},draw:function(){var d=this.getRenderer(),c=this.type,e=this.attrs,l=this.style,k=d&&d.components.paper,m=Z.types[c]&&Z.types[c].call&&Z.types[c].call(this,d),p=Z.imageShapeTypes[m],
n=Z.textShapeTypes[m],t=p||n||Z.trackerShapeTypes[m],w=this.link||this.toolText,F=this.wrapper,c=this.tracker,r=d&&d.graphics.trackerGroup||this.group.wrapper,z=!1,D=c||F,B=Z.eventNames,C=Z.ownEvents,J,G;if(d){if(m){if(F)if(F.elemType!==m){if(this.ownEventsAttached){for(G in C)D["un"+G].apply(F,C[G]);this.ownEventsAttached=!1}F=F.remove()}else if(this.hasEvents)for(J in B)(G=this[J])&&G.eventAttached&&(M(D.node,B[J],G),G.eventAttached=!1);p||(e.fill=ba(this.fillOptions));F?F.attr(e).css(l):(this.args.push(this.group.wrapper),
F=this.wrapper=k[m].apply(k,this.args).attr(e).css(l),F.elemType=m,F.data("annotation",this),z=!0,this.args.pop());!this.shadow||this.shadowAdded||p||n?F.shadow(this.shadowAdded=!1):F.shadow(this.shadowAdded=!0,q(this.borderAlpha,this.fillOptions.alpha)/100);w?this.useTracker&&(c||(this.args.push(r),c=this.tracker=t?k.rect(0,0,0,0,0,r):k[m].apply(k,this.args),this.args.pop()),c.attr(e).attr(this.attrsTracker)):c&&(c=c.remove());D=c||F;if(this.raiseOwnEvents&&!this.ownEventsAttached){for(G in C)D[G].apply(F,
C[G]);this.ownEventsAttached=!0}this.link&&D.click(d.linkedItems.linkClickFN,this);this.toolText&&(D.tooltip(this.toolText||""),this.group.wrapper.trackTooltip(!0));if(this.hasEvents)for(J in B)(G=this[J])&&!G.eventAttached&&(a(D.node,B[J],G,this),G.eventAttached=!0);p||(c&&t&&(d=F.getBBox(),c.attr({x:d.x,y:d.y,width:d.width,height:d.height})),z&&this.onload&&this.onload(e))}return this}},destroy:function(){var a=this.wrapper,d=this.tracker,c=d||a,e=Z.eventNames,l=Z.ownEvents,k,m;if(a){if(this.ownEventsAttached){for(m in l)c["un"+
m].apply(a,l[m]);this.ownEventsAttached=!1}if(this.hasEvents)for(k in e)(m=this[k])&&m.eventAttached&&(M(c.node,e[k],m),m.eventAttached=!1);d&&(this.tracker=d.remove());this.wrapper=a.remove()}this._idstore[this._id]===this&&delete this._idstore[this._id]},getRenderer:function(){return this.group&&this.group.getRenderer()||null}});k.extend(Z,{imageShapeTypes:{image:!0},angularShapeTypes:{circle:!0,arc:!0},textShapeTypes:{text:!0},trackerShapeTypes:{image:!0,text:!0},borderedShapeTypes:{path:!0,line:!0},
eventNames:{onmouseover:J?"touchstart":"mouseover",onmouseout:"mouseout",onmousemove:J?"touchmove":"mousemove",onclick:"click"},ownEvents:{click:[function(a){ca("annotationClick",this,a)}],hover:[function(a){ca("annotationRollOver",this,a)},function(a){ca("annotationRollOut",this,a)}]},textAlignOptions:{left:"start",right:"end",center:"middle"},textVerticalAlignOptions:{top:"bottom",middle:"middle",bottom:"top"},textRotationOptions:{0:"0",1:"270",right:"90",cw:"90",left:"270",ccw:"270"},types:{rectangle:function(){var a=
this.args,d=this.attrs,c=this.getAbsoluteBounds(),e=.5*c.width;c.r>e&&(c.r=e);a[0]=d.x=c.x;a[1]=d.y=c.y;a[2]=d.width=c.width;a[3]=d.height=c.height;a[4]=d.r=c.r;return"rect"},line:function(){var a=this.attrs,d=this.bounds;this.args[0]=a.path=["M",d.x1,d.y1,"L",d.x2,d.y2];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");a["stroke-width"]<n&&(this.attrsTracker["stroke-width"]=n);this.bordered&&this.dashed&&(this.attrsTracker["stroke-dasharray"]="solid");return"path"},path:function(){var a=this.attrs,
d=this.bounds;this.args[0]=a.path=this.options.path;a.transform=["T",d.x1,d.y1,"S",d.xs,d.ys,d.x1,d.y1];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");return"path"},polygon:function(){var a=this.args,d=this.attrs,c=this.options,e=this.bounds,l=this.group,k=l.snaps;a[0]=X(c.sides,1,5,k,l.isBelow).value;a[1]=e.x1;a[2]=e.y1;a[3]=e.r;a[4]=X(c.startangle,1,0,k,l.isBelow).value;a[5]=0;d.polypath=a.slice(0);return"polypath"},circle:function(a){var e=this.args,k=this.attrs,m=this.options,n=this.bounds,
q=a.config.width,w=a.config.height,F=this.group.scaleValueComplement,r=this.group.snaps,z=n.angles,D=this.group;a=n.r;l(m.radius)||(n.r=q<w?q*n.xs:w*n.ys,n.r=a=.3*n.r);m=X(m.yradius,F,a,r,D.isBelow).value;this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);w=z.angle%360;if(!w&&a===m)return e[0]=k.cx=n.x1,e[1]=k.cy=n.y1,e[2]=k.r=n.r,"circle";w||(z.angle=0<z.angle?z.angle-.001:z.angle+.001,z.start=
z.end-z.angle);w||w==z.angle||(w=360);q=z.start*d;z=z.end*d;w*=d;r=n.x1;D=n.y1;n=r+c(q)*a;F=D+t(q)*m;r+=c(z)*a;D+=t(z)*m;a=["M",n,F,"A",a,m,0,B(w)>=p?1:0,q<z?1:0,r,D,"Z"];e[0]=k.path=a;return"path"},arc:function(a){var c=this.options,e=this.args,k=this.attrs,m=this.bounds,p=a.config.width;a=a.config.height;var n=this.group,q=n.scaleValue,t=m.angles;l(c.radius)||(m.r=p<a?p*m.xs:a*m.ys,m.r*=.3);m.innerR=X(c.innerradius,q,.8*m.r,this.group.snaps,n.isBelow).value;m.innerR>m.r&&(m.innerR+=m.r,m.r=m.innerR-
m.r,m.innerR-=m.r);this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);e[0]=m.x1;e[1]=m.y1;e[2]=m.r;e[3]=m.innerR;e[4]=t.end*d;e[5]=t.start*d;k.ringpath=e.slice(0);return"ringpath"},text:function(a){var d=this.args,c=this.style,e=this.attrs,k=this.group,m=this.bounds,p=this.options,n=this.getAbsoluteBounds(),q=l(p.align,k.options.textalign,"center").toLowerCase(),t=l(p.valign,k.options.textvalign,
"middle").toLowerCase(),F=T(l(p.text,p.label)),r=a.linkedItems.smartLabel,z=w(p.wrap,k.options.wraptext,1),D,B,C=l(p.rotatetext,k.options.rotatetext,"0").toLowerCase(),C=Z.textRotationOptions[C],G="0"!==C?"y":"x",J=a.config.orphanStyles;a=Q({},J.defaultStyle.style||{});J=k.id&&J[k.id.toLowerCase()]||$;a=Q(a,J.style);var J=parseFloat(a.fontSize),H=l(p.font,k.options.font,a.fontFamily),k=w(p.fontsize,k.options.fontsize,J)*k.scaleText;z&&(D=w(p.wrapwidth,this.hasDimensionX?n.width/m.xs:void 0),B=w(p.wrapheight,
this.hasDimensionY?n.height/m.ys:void 0),D&&(D*=m.xs),B&&(B*=m.ys));c.fontFamily=H;c.fontWeight=w(p.bold,p.isbold,0)?"bold":"normal";w(p.italic,p.isitalic,0)&&(c.fontStyle="italic");p.bgcolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][0]=V(p.bgcolor));p.bordercolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][1]=V(p.bordercolor),e["text-bound"][2]=w(p.borderthickness,1),e["text-bound"][3]=w(p.padding,1));p.fontcolor&&(e.fill=V(p.fontcolor),this.fillOptions&&(this.fillOptions.color=
e.fill));c.fontSize=k+"px";k===J?c.lineHeight=a.lineHeight:P(c);e["text-anchor"]=Z.textAlignOptions[q]||Z.textAlignOptions.center;r.setStyle(c);c=r.getSmartText(F,D,B,!1);e["vertical-align"]=Z.textVerticalAlignOptions[t]||Z.textVerticalAlignOptions.middle;e["text-anchor"]===Z.textAlignOptions.left?n[G]+=w(p.leftmargin,0):e["text-anchor"]===Z.textAlignOptions.center&&(n[G]+=.5*w(p.leftmargin,0));"0"!==C&&(e.rotation=[parseFloat(C),n.x,n.y]);d[0]=e.x=n.x;d[1]=e.y=n.y;d[2]=e.text=c.text;c.tooltext&&
(e.title=c.tooltext);delete e.stroke;delete e["stroke-weight"];return"text"},image:function(a){var d=this,c=d.style,e=a.config.width,k=a.config.height;a=d.options;var m=d.attrs,p=d.args,n=F(a.url),t=d.group.scaleImageX*l(Number(a.xscale),100)/100,z=d.group.scaleImageY*l(Number(a.yscale),100)/100,B=d.getAbsoluteBounds(),C={width:1,height:1},G;if(!n)return p[0]=m.x=B.x,p[1]=m.y=B.y,p[2]=m.width=B.width,p[3]=m.height=B.height,p[4]=m.r=B.r,"rect";G=new r.Image;G.onload=function(){C=D("none","top","left",
100,0,e,k,G);delete C.x;delete C.y;C=Q(C,{width:(d.hasDimensionX?B.unscaled.width:C.width)*t,height:(d.hasDimensionY?B.unscaled.height:C.height)*z});setTimeout(function(){var a,e,l;if(a=d.wrapper){a.attr(C);if(e=d.tracker)l=a.getBBox(),e.attr({x:l.x,y:l.y,width:l.width,height:l.height});a.css({opacity:c.opacity=q(w(d.fillAlpha,d.borderAlpha),d.borderAlpha)/100})}d.onload&&d.onload(C)},0)};G.src=n;p[0]=m.src=n;p[1]=m.x=B.x;p[2]=m.y=B.y;p[3]=m.width=(d.hasDimensionX?B.unscaled.width:C.width)*t;p[4]=
m.height=(d.hasDimensionY?B.unscaled.height:C.height)*z;c.opacity=q(w(d.fillAlpha,d.borderAlpha),d.borderAlpha)/100;delete m.stroke;delete m.fill;delete m["stroke-linecap"];return"image"}}});ga=function(){this.groups=[];this._idstore={};this._options={}};C.Annotations=ga;k.extend(ga.prototype,{reset:function(a,d,c){var e=this.groups,l,k;this.chart=c;this.clear();if(k=this.setSnapPoints()){l={};for(var m in k)switch(typeof k[m]){case "object":case "function":l["-$"+m]=l["$"+m]=l["+$"+m]=k[m];break;
default:l["$"+m]=l["+$"+m]=k[m],l["-$"+m]=-1*k[m]}l=this._literals=l}d&&(this._options=d);if(a&&a.groups&&e)for(k=0;k<a.groups.length;k+=1)e.push(new da(a.groups[k],d,l,this._idstore,this,c)),e[k].chart=c},getRenderer:function(){return this._renderer},addGroup:function(a){var d=this.getRenderer();this.groups.push(a=new da(a,this._options,this._literals,this._idstore,this,this.chart));d&&(a.setup(),a.scale(),a.draw());return a},addItem:function(a,d,c){var e,l=this.getRenderer();"string"===typeof a?
e=this._idstore[a]:(c=d,d=a);if(e&&e.addItem){if(!l&&c){k.raiseWarning(this,"04031411430","run","Annotations~addItem()","Cannot draw the shapeif the group has not been drawn. Use Annotations~draw() to draw the group and pass the renderer to it.");return}a=e.addItem(d,c)}else a=this.addGroup({}).addItem(d,c);return a},draw:function(a){var d=this.groups,c,e;if(d&&(this._renderer=a||this._renderer))for(c=0,e=d.length;c<e;c++)a=d[c],a.setup(),a.scale(),a.draw()},clear:function(){var a=this.groups,d;if(a){for(;d=
a.shift();)d.destroy();this.shapesToDraw=[]}},dispose:function(){var a;this.disposing=!0;this.clear();for(a in this)delete this[a];this.disposed=!0},hide:function(a){if(a=this._idstore[a])return a.attrs.visibility="hidden",a.wrapper&&a.wrapper.hide(),a},show:function(a){if(a=this._idstore[a])return a.attrs.visibility="",a.wrapper&&a.wrapper.show(),a},update:function(a,d,c){a=this._idstore[a];var e;if(a&&d){if("object"===typeof d)for(e in d.id&&delete d.id,d.type&&delete d.type,d)a.options[(e+"").toLowerCase()]=
d[e]+"";else a.options[(d+"").toLowerCase()]=c+"";a.wrapper&&(a.scale(),a.setup(),a.draw());return a}},destroy:function(a){var d=this._idstore[a],c=d.group;d&&"function"===typeof d.destroy&&(c&&c.removeItem(a),d.destroy())},shapesToDraw:[],setSnapPoints:function(){var a=this.chart,d=a.config,c=a.components,e=c.legend,l=c.gradientLegend,k=c.caption.config,c=c.subCaption.config,m=k.width||0,p=c.width||0,n,q=this.datasetFunction.bind(a),t=this.xAxisFunction.bind(a),w=this.yAxisFunction.bind(a);"end"===
k.align?(a=k.x-m,n=k.x-p):"start"===k.align?a=n=k.x:(a=k.x-m/2,n=k.x-p/2);e=d.gLegendEnabled?l.conf:e.config;return{canvasendx:d.canvasRight,canvasendy:d.canvasBottom,canvasheight:d.canvasHeight,canvasstartx:d.canvasLeft,canvasstarty:d.canvasTop,canvaswidth:d.canvasWidth,canvascenterx:d.canvasCenterX||(d.canvasRight-d.canvasLeft)/2,canvascentery:d.canvasCenterY||(d.canvasBottom-d.canvasTop)/2,chartcenterx:d.width/2,chartcentery:d.height/2,chartstartx:0,chartstarty:0,chartendx:d.width,chartendy:d.height,
chartheight:d.height,chartwidth:d.width,chartleftmargin:d.marginLeft,chartrightmargin:d.marginRight,chartbottommargin:d.marginBottom,charttopmargin:d.marginTop,captionendx:a+k.width,captionendy:k.y+k.height,captionheight:k.height,captionstartx:a,captionstarty:k.y,captionwidth:m,subcaptionendx:n+c.width,subcaptionendy:c.y+c.height,subcaptionheight:c.height,subcaptionstartx:n,subcaptionstarty:c.y,subcaptionwidth:p,legendendx:e.xPos+e.width,legendendy:e.yPos+e.height,legendheight:e.height,legendstartx:e.xPos,
legendstarty:e.yPos,legendwidth:e.width,dataset:q,xaxis:t,yaxis:w,gaugestartx:d.gaugeStartX,gaugestarty:d.gaugeStartY,gaugeendx:d.gaugeEndX,gaugeendy:d.gaugeEndY,gaugecenterx:d.gaugeCenterX,gaugecentery:d.gaugeCenterY,gaugestartangle:d.gaugeStartAngle,gaugeendangle:d.gaugeEndAngle,gaugeradius:d.gaugeRadius,plotwidth:d.plotWidth,plotsemiwidth:d.plotSemiWidth}},datasetFunction:function(a,d){var c=this.components.dataset,e,l,k,m;k=this.is3D;if(!c||!c.length)return 0;isNaN(a[0])?e=0:(e=Number(a[0]),a=
a.slice(1));l=a[0];if("set"===l){isNaN(a[1])?(m=0,a=a.slice(1)):(m=Number(a[1]),a=a.slice(2));l=a[0];c=(c=c[e]&&c[e].components.data[m])&&(c.graphics.element||c.graphics.hotElement||c.graphics.upperBoxElem);if(!c)return 0;k=d&&k?c._getBBox2():c.getBBox();m=ea(l,k)}return m},xAxisFunction:function(a){var d=this.components&&this.components.xAxis&&this.components.xAxis[0],c,e;if(!d)return 0;e=a[0];if("label"===e){isNaN(a[1])?(c=0,a=a.slice(1)):(c=Number(a[1]),a=a.slice(2));e=a[0];a=d._getLabelElement(c);
if(!a)return 0;a=a.getBBox();c=ea(e,a)}return c},yAxisFunction:function(a){var d=this.components&&this.components.yAxis,c,e;if(!d||!d.length)return 0;isNaN(a[0])?c=0:(c=Number(a[0]),a=a.slice(1));c=d[c];if(!c)return 0;d=a[0];if("label"===d){isNaN(a[1])?(e=0,a=a.slice(1)):(e=Number(a[1]),a=a.slice(2));d=a[0];a=c._getLabelElement(e);if(!a)return 0;a=a.getBBox();e=ea(d,a)}return e}});k.core.addEventListener("beforeinitialize",function(a){"javascript"===a.sender.options.renderer&&(a.sender.annotations=
new ga)});k.core.addEventListener("disposed",function(a){a.sender.annotations&&a.sender.annotations.dispose()});k.addEventListener("internal.animationComplete",function(a){a=a.sender;var d=a.annotations,c=d&&d.shapesToDraw,e=c&&c.length,l,k;a=a.apiInstance.config;var m=a.annRenderDelay,p=a.resize,n=(new Date).getTime(),q,t=function(){for(k=0;k<e;k++)l=c[k],l.draw()};if(e){for(k=0;k<e;k++)l=c[k],l.queueDraw=!1,l.scale(),l.setup();q=(new Date).getTime();m&&!p?setTimeout(function(){t();d.shapesToDraw=
[]},m-(q-n)):(t(),d.shapesToDraw=[])}a.resize=!1});m.addEventListener("rendered",function(a,d){if("javascript"===d.renderer){var c=a.sender;c.apiInstance&&(c.apiInstance.showAnnotation||(c.apiInstance.showAnnotation=function(){c.annotations.show.apply(c.annotations,arguments)}),c.apiInstance.hideAnnotation||(c.apiInstance.hideAnnotation=function(){c.annotations.hide.apply(c.annotations,arguments)}))}})}]);
FusionCharts.register("module",["private","modules.renderer.jpegtopdf",function(){var k=this.window,m=k.btoa,C=k.atob;this.hcLib.JpegToPdf=function(k,e){var a=[],M=0,J=k||500,I=e||500,n,z,G;n=function(e){M+=e.length+1;a.push(e)};this.addImage=function(a){a=/base64,(.+?)$/g.exec(a);G=C(a[1])};z=function(){var e=[],k,c;n("%PDF-1.7");e[1]=M;n("1 0 obj");n("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");n("endobj");e[4]=M;n("4 0 obj");n("<< /Length 36>>");n("stream");n("q "+I+" 0 0 "+J+" 0 0 cm /Im3 Do Q");
n("endstream");n("endobj");e[5]=M;n("5 0 obj");n("<</Type /Page /Parent 2 0 R /MediaBox [0 0 "+I+" "+J+"] /Contents [4 0 R ] /Resources <</ProcSet 1 0 R /Font <<>> /XObject <</Im3 3 0 R >> >> >>");n("endobj");e[3]=M;n("3 0 obj");n("<</Type /XObject /Subtype /Image /Width "+I+" /Height "+J+" /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length "+G.length+">>");n("stream");n(G);n("endstream");n("endobj");e[2]=M;n("2 0 obj");n("<</Type /Pages /Kids [5 0 R ] /Count 1>>");n("endobj");
e[6]=M;n("6 0 obj");n("<</Type /Catalog /Pages 2 0 R >>");n("endobj");k=M;n("xref");n("0 7");n("0000000000 65535 f ");for(c=1;6>=c;c++)n(("0000000000"+e[c]).slice(-10)+" 00000 n ");n("trailer");n("<</Size 7 /Root 6 0 R >>");n("startxref");n(k);n("%%EOF");return a.join("\n")};this.getDataUrl=function(){return"data:application/pdf;base64,"+m(z())}}}]);
FusionCharts.register("module",["private","modules.exporter.batch-export",function(){var k=this.window,m=this.hcLib,C=k.Math.max,r=k.Image,e=m.drawSvgOnCanvas,a=m.downloadCharts,M=m.browserDetails,J=m.pluckNumber,I=m.pluck,n=m.JpegToPdf,z=k.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),G="https:"===k.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/";FusionCharts.batchExport=function(m){var t=m||{},c,p,d,B,Q,l=0,w=!1,H,F,T,D={exportTargetWindow:I(t.exportTargetWindow,
z?"_blank":"_self"),exportAction:t.exportAction&&"save"===t.exportAction.toString().toLowerCase()&&"save"||"download",exportFileName:I(t.exportFileName,"FusionCharts"),exportHandler:I(t.exportHandler,G),exportParameters:I(t.exportParameters,""),exportFormat:I(t.exportFormat,"PNG"),exportCallBack:I(t.exportCallBack,""),exportAtClientSide:J(t.exportAtClientSide,1)},V=D.exportFormat.toLowerCase(),P=0,fa=0,$,ba=k.document,ia=FusionCharts.items,ea=function(a){return a.match(/http:\/\/|https:\/\//)&&/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]&&
k.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]?!1:!0},X=function(a,d,c,e){var l=a,k=d;isNaN(l)&&(l=J(d,e)*(c/e));isNaN(k)&&(k=J(a,c)*(e/c));return{width:l,height:k}},ca=function(d){!D.exportAtClientSide||"undefined"===typeof k.btoa||"Chrome"!==M.name&&"Firefox"!==M.name&&"Edge"!==M.name&&"ie"!==M.name?(d={charttype:"combined",stream:d,stream_type:"IMAGE-DATA",parameters:["exportfilename="+D.exportFileName,"exportformat="+V,"exportaction="+D.exportAction,"exportparameters="+D].join("|")},
a(null,null,null,d,D)):a("url",d,D.exportFileName+"."+V)},ga=function(a){var c;e(a,d,this.x,this.y,this.width,this.height,function(){--l;if(0===l&&w)switch(V){case "png":ca(d.toDataURL("image/png"));break;case "jpeg":ca(d.toDataURL("image/jpeg"));break;case "pdf":c=new n(P,fa);c.addImage(d.toDataURL("image/jpeg"));ca(c.getDataUrl());break;default:ca(d.toDataURL("image/png"))}})};m=function(a){var c=t.background;d=ba.createElement("canvas");d.id="newCanvas";d.width=fa;d.height=P;d.style.border="1px solid black";
B=d.getContext("2d");B.fillStyle=c&&c.bgColor||"#ffffff";B.fillRect(0,0,fa,P);c&&c.bgImage&&ea(c.bgImage)?(F=new r,F.src=c.bgImage,F._userData=c,B.globalAlpha=J(c.bgImageAlpha,100)/100,F.onload=function(){var d=this._userData,c=J(d.bgImageX,0),e=J(d.bgImageY,0),l=X(Number(d.bgImageWidth),Number(d.bgImageHeight),this.width,this.height),d=l.width,l=l.height;try{B.drawImage(this,c,e,d,l)}finally{B.globalAlpha=1,a()}},F.onerror=function(){a()}):a()};if(M.hasCanvas){(function(){var a=t.charts,d,c,e,l;
p=[];if(a)for(e in a)a.hasOwnProperty(e)&&(d=ia[a[e].id])&&(c=a[e],l=X(Number(c.width),Number(c.height),d.width,d.height),p.push({id:d.id,width:l.width,height:l.height,x:c.x,y:c.y}));else for(e in ia)ia.hasOwnProperty(e)&&(d=ia[e],p.push({id:d.id,width:d.width,height:d.height}))})();$=0;for(H=p.length;$<H;$+=1)T=p[$],T.x=J(T.x,5),T.y=J(T.y,P+5),T.height=J(T.height),T.width=J(T.width),P=C(P,T.y+T.height),fa=C(fa,T.x+T.width);P=t.imageHeight||P+5;fa=t.imageWidth||fa+5;m(function(){return function(){$=
0;for(H=p.length;$<H;$+=1){T=p[$];$===H-1&&(w=!0);var a=T;c=FusionCharts.items[T.id];Q=c.jsVars.instanceAPI.components.paper.toSVG(!0);l+=1;ga.call(a?a:c,Q)}}}())}}}]);
FusionCharts.register("module",["private","modules.exporter.main",function(){var k=this,m=k.window,C=k.hcLib,r=C.extend2,e=C.BLANKSTRING,a=C.graphics.RGBtoHex,M=/\s\bx\b=['"][^'"]+?['"]/ig,J=/\s\by\b=['"][^'"]+?['"]/ig,I=m.document,n=m.Image,z=C.JpegToPdf,G=C.browserDetails;C.exportChart=function(q){var t=this,c=t.config,p=t.components,d=t.chartInstance,B=C.getSvgDataurl,Q=C.removeCrossDomainImages,l=C.downloadCharts,w=c.exportOption;q="object"===typeof q&&function(a){var d={},c;for(c in a)d[c.toLowerCase()]=
a[c];return d}(q)||{};var H=r(r({},w),q),F=(H.exportformat||"png").toLowerCase(),T=H.exporthandler,D=(H.exportaction||e).toLowerCase(),V=H.exporttargetwindow||e,P=H.exportfilename,fa=H.exportparameters,$=H.exportcallback,ba=H.exportwithimages,ia=H.exportatclientside,ea,X,ca;if(!w||!w.enabled||!T)return!1;k.raiseEvent("beforeExport",H,d,void 0,function(){function q(){var a,b,f;b=function(b){Na.stream=b;Na.stream_type="IMAGE-DATA";l(null,null,null,Na,Pa)};G.hasCanvas&&"undefined"!==typeof m.btoa?(a=
I.createElement("canvas"),a.width=U.width,a.height=U.height,"svg"===F?B(oa,function(a){b(a)}):C.drawSvgOnCanvas(oa,a,0,0,U.width,U.height,function(){switch(F){case "png":b(a.toDataURL("image/png"));break;case "jpeg":b(a.toDataURL("image/jpeg"));break;case "pdf":f=new z(U.height,U.width);f.addImage(a.toDataURL("image/jpeg"));b(f.getDataUrl());break;default:b(a.toDataURL("image/jpeg"))}})):-1!==la.indexOf("<image ")?Ca?(na=(Fa=la.match(/<image [^\>]*\>/gi))&&Fa.length,ha=function(b){var a,f;(f=b.match(/data:image\/(.*);/))?
b=f[1]:(a=b&&b.split("/"),a=a[a.length-1],b=a.split("."),a=b[0],b=b[1]||"png","jpg"===b&&(b="jpeg"));return{name:a,type:b}},Ia=function(b,a,f,d,c){var e=new n;e.onload=function(){var l="image/"+f,k=I.createElement("canvas"),m=k.getContext("2d"),K="";k.width=e.width;k.height=e.height;m.drawImage(e,0,0);K=k.toDataURL(l);qa[b]=K;Ta(K,a,f,d,c)};e.onerror=function(){wa()};e.src=b},Ta=function(b,a,f,d,c){Da["image_"+ra]={name:a,type:f,encodedData:b,width:d,height:c};wa()},wa=function(){var b={},a,f,d,c,
e,k=!1;ra<na?(a=Fa[ra].replace(/\"/g,""),a.split(" ").forEach(function(a){a=a.split(/=(.+)?/);b[a[0]]=a[1]}),b["xlink:href"]&&(a=(f=ha(b["xlink:href"]))&&f.name||"temp_image_"+ra,d=f&&f.type||"png",c=parseInt(b.width,10),e=parseInt(b.height,10),f=a+"."+d,qa[b["xlink:href"]]?k=!0:Ia(b["xlink:href"],a,d,c,e)),a='xlink:href="'+b["xlink:href"],la=la.replace(a,'xlink:href="temp/'+f),ra+=1,k&&wa()):(Na.encodedImgData=JSON.stringify(Da),Na.stream=la,l(null,null,null,Na,Pa))},wa()):l(null,null,null,Na,Pa):
l(null,null,null,Na,Pa)}function w(){var a=P+"."+F;"svg"===F?B(oa,function(b){l("url",b,a)}):ua(F,R)}function r(){var a=0;ea=[];X.replace(/[^\r\n]+/g,function(b){ea[a]=[];b.replace(/"([^",]+)/g,function(b,g){ea[a].push(g)});a+=1})}function Ja(){return"data:application/vnd.ms-excel;base64,"+function(a){return m.btoa(m.unescape(encodeURIComponent(a)))}("<html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>"+
function(){var a,b,f,g,d,c;if(!ea.length)return"";f=0;for(c=ea.length;f<c;f+=1)if(0===f){a="<thead valign='top'><tr>";g=0;for(d=ea[f].length;g<d;g+=1)a+="<th>"+ea[f][g]+"</th>";a+="</tr></thead>";b="<tbody>"}else{b+="<tr>";g=0;for(d=ea[f].length;g<d;g+=1)b+="<td>"+ea[f][g]+"</td>";b+="</tr>"}return"<table align='center' >"+a+(b+"</tbody>")+"</table>"}()+"</body></html>")}function R(a,b,f){f=f+"."+a;switch(a){case "pdf":a=new C.JpegToPdf(U.height,U.width);a.addImage(b);b=a.getDataUrl();l("url",b,f);
break;default:l("url",b,f)}}function ua(a,b){var f;f=I.createElement("canvas");f.width=U.width;f.height=U.height;C.drawSvgOnCanvas(oa,f,0,0,U.width,U.height,function(){switch(a){case "png":b(a,f.toDataURL("image/png"),P);break;case "jpeg":b(a,f.toDataURL("image/jpeg"),P);break;default:b(a,f.toDataURL("image/jpeg"),P)}})}var Ha=d.id,U=p.paper,Na,la,oa,Ca=C.isCanvasElemSupported(),Fa,na,ra=0,Da={},ha,Ia,wa,Ta,qa={},Oa={DOMId:Ha,height:U.height,width:U.width,fileName:P+"."+F,statusCode:void 0,statusMessage:void 0,
notice:void 0},Pa={exportAction:D,exportTargetWindow:V,exportCallback:$,fusionCharts:t,paper:U,chartId:Ha,exportHandler:T};if("xls"===F)if("undefined"!==typeof m.btoa)X=d.getCSVData();else return k.raiseEvent("exportCancelled",H,d),!1;else p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","hidden"),la=U.toSVG(ba&&Ca&&"svg"!==F),oa=U.toSVG(ba&&Ca),p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","visible"),la=la.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),la=la.replace(/NS\d+:/gi,
"xlink:"),la=Q(la),oa=oa.replace(/NS\d+:/gi,"xlink:"),oa=oa.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),oa=oa.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),la=la.replace(/[\w\-]+\=\"undefined\"/ig,""),la=la.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),la=la.replace(/rgba\(([^\)]+)\)/ig,function(d,b){return"#"+new a(b.split(","))}),la=la.replace(/<svg[^>]+/i,function(a){a.match(/height/i)||!U.height&&!c.height||(a+=' height="'+(U.height||c.height)+'"');a.match(/width/i)||!U.width&&
!c.width||(a+=' width="'+(U.width||c.width)+'"');return a}),la=la.replace(/(([\w]+\-)?opacity\s*=\s*)['"][\d\.]+e[\-\+][\d]+["']/ig,'$1"0.001"'),la=la.replace(/(([\w]+\-)?opacity\s*:\s*)[\d\.]+e[\-\+][\d]+/ig,"$10.001"),la=la.replace(/<text[^\>]+/ig,function(a){a=a.replace(/stroke\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/stroke-opacity\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke-opacity\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/(<text[^\>]+fill\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,
'$1$2 stroke=$2 stroke-width="0.2"$3');return a=a.replace(/(<text[^\>]+fill-opacity\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,"$1$2 stroke-opacity=$2 $3")}),la=la.replace(/<(\b[^<>s\s]+\b)[^\>]+?opacity\s*=\s*['"][^1][^\>]+?(\/>|>[\s\r\n]*?<\/\1>)/ig,function(a,b){var f=M.exec(a)||e,g=J.exec(a)||e;return a+"<"+b+f+g+' opacity="1" stroke-opacity="1" fill="#cccccc" stroke-width="0" r="0" height="0.5" width="0.5" d="M 0 0 L 1 1" />'}),Na={charttype:d.chartType(),stream:la,stream_type:"svg",meta_bgColor:H.bgcolor||
"",meta_bgAlpha:H.bgalpha||"1",meta_DOMId:d.id,meta_width:U.width||c.width,meta_height:U.height||c.height,parameters:["exportfilename="+P,"exportformat="+F,"exportaction="+D,"exportparameters="+fa].join("|")};k.raiseEvent("exportDataReady",Na,d);"xls"===F?(r(),ca=Ja(),!ia||"download"!==D||"undefined"===typeof m.btoa||"Chrome"!==G.name&&"Firefox"!==G.name&&"Edge"!==G.name&&"ie"!==G.name?(Na={charttype:"combined",stream:ca,stream_type:"IMAGE-DATA",parameters:["exportfilename="+P,"exportformat="+F,"exportaction="+
D,"exportparameters="+Pa].join("|")},l(null,null,null,Na,Pa)):(l("url",ca,P+"."+F),k.raiseEvent("exported",Oa,d))):ia&&"download"===D?"undefined"===typeof m.btoa||"Chrome"!==G.name&&"Firefox"!==G.name&&"Edge"!==G.name&&"ie"!==G.name?(k.raiseWarning(this,"14038823867","run","Export Feature","Client side export requirement not fulfiled so exporting through server side"),q()):(w(),k.raiseEvent("exported",Oa,d)):q()},function(){k.raiseEvent("exportCancelled",H,d)})}}]);
FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function k(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 m(a,d){var c;if(a.getBBox)return a;c=a.getBoundingClientRect();a.getBBox=function(){return{x:d.x,y:d.y,width:c.right-c.left,height:c.bottom-c.top,isArtificial:!0}};return a}function C(a,d,c){var e,l;for(e in a)l=a[e],void 0!==l&&null!==l&&(c?d[e]||(d[e]=l):d[e]=l)}function r(a,
d){switch(a){case "click":return function(a){e.dem.listen(d,"click",function(d){d.target&&d.target.parentNode&&a.call(d.target)})};case "hover":return function(a,c){e.dem.listen(d,"pointerhover",function(d){d.target&&d.target.parentNode&&("start"===d.state?a:c).call(d.target)})}}}var e=this.hcLib,a=e.Raphael,M=this.window.document,J=e.graphics,I=J.convertColor,n=J.getLightColor,z=J.rawRGBtoHEX,G=e.pluckNumber,q=e.pluck,t={},c={},p={},d=e.extend2,B,Q,l,w,H=function(){},F=I("FFFFFF",0),T=0,D;B=function(a,
d,c){return["M",a-c,d-c]};Q=function(a,d,c){var e=c/4;return["M",a-3*e,d,"L",a-e,d+c,a+c,d-c]};l=function(){a.addSymbol("Internal_CB",B);return{register:function(){var d,c,e;if(1===arguments.length){c=arguments[0];if(null==c||"object"!==typeof c)return;e=c}else if(1<arguments.length){d=arguments[0];c=arguments[1];if("string"!==typeof d||"function"!==typeof c)return;e={};e[d]=c}else return;for(d in e)c=e[d],{}.hasOwnProperty.call(e,d)&&a.addSymbol(d,c)}}}();D=function(){function a(){this.pool={}}function d(a){var c,
e,l,k,m,p;if(a)for(c in a)for(e in l=a[c],l)if(k=l[e],k instanceof Array)for(m=0,p=k.length;m<p;m++)k[m].hide&&k[m].hide();else k.hide&&k.hide()}var c={},e,l,k,m,p={};a.prototype.constructor=a;l={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",KEY_PATH:"path",KEY_DIV:"div"};c[l.KEY_DIV]=function(){return M.createElement("div")};c[l.KEY_RECT]=function(a){return m.paper.rect(a)};c[l.KEY_TEXT]=function(a){return m.paper.text(a)};c[l.KEY_GROUP]=function(a,
d){return m.paper.group(a,d)};c[l.KEY_SCROLLER]=function(a,d,c,e,l,k,p){return m.paper.scroller(a,d,c,e,l,k,p)};c[l.KEY_BUTTON]=function(a,d,c,e,l,k){return m.paper.button(a,d,c,e,l,k)};c[l.KEY_PATH]=function(a,d){return m.paper.path(a,d)};return{init:function(c,l){var k;m=c;k=p[l]||(p[l]={});d(k.pool);k.initialized||(e=k.pool=(new a).pool,e._tmp=l,k.initialized=!0)},isInitialized:function(){},getCreationStatus:function(){return k},emptyPool:function(a){a=p[a]||{};a.pool&&(a.pool={})},hideRecursive:function(a){d((p[a]||
{}).pool)},getComponent:function(a,d,e,l){d=(p[d||0]||{}).pool;var m=d[a],n,q,t,w=0;m||(m=d[a]={});return(q=m[e])&&!(q instanceof Array)||q instanceof Array&&0<q.length?function(){k=!1;return l?(t=q[w++])?t.show():q[w]=c[e].apply(this,arguments):q.show&&"function"===typeof q.show&&q.show()||q}:function(){k=!0;return l?(n=m[e]||(m[e]=[]),q=c[e].apply(this,arguments),n.push(q),q.show&&"function"===typeof q.show&&q.show()||q):m[e]=c[e].apply(this,arguments)}},getKeys:function(){return l}}}();w=function(){function a(d){d=
d||{};this.name=d.name;this.handler=d.handler||H;this.action=d.action&&d.action.toLowerCase()||"click";this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:p.baseFontFamily,fontSize:p.baseFontSize+"px"};this.hoverOverStyle=d.hoverOverStyle||{};this.hoverOutStyle=d.hoverOutStyle||{};C(d.style||{},this.style);this.node=this.subConRef=void 0}function e(a,d){var c=this,l,k;l=d&&d.top||0;var m=d&&d.left,p=d&&d.right;this.container=a;this.position=e.POSITION_BOTTOM;this.atomicLists=
[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;m&&p||(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===l?"auto":l+"px",right:void 0===p?"auto":p+"px",left:void 0===m?"auto":m+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",
padding:"5px 3px",display:"none"};l=this.container.style;for(k in this._defaultStyle)l[k]=this._defaultStyle[k];Ha.linkedItems&&(Ha.linkedItems.container.appendChild(this.container),k=r("hover",this.container),k(function(){c.show(this)},function(){c.hide(300,this)}))}function q(a){this.listContainer=this.container=void 0;this.measurement=a}function w(a,d,c,e){this.symbol=a;this._id="TB_SYMBOL"+(c||0);this.node=void 0;this.pId=e;this.isPlaintext=d;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};
this.evt={tooltext:void 0,click:H,hover:[H,H]}}function J(a,d,c,e){w.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(c||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:Ja};this.pId=e;this.checked=!!d;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function T(a,d,e){w.call(this);this._id="TB_SCROLLER"+(d||0);this.pId=e;this.conf={};this.userConf=c;this.setConfiguaration(a);this.evt.scroll=H;return this}function ea(a,
d,c){var e;w.call(this,a,void 0,d,c);this.rawContextDefinitation=void 0;this.listContainerManager=(new q(this.position)).init(c);e=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){e.show(m(a.target||a.fromElement,a))},function(a){e.hide(300,a.target)}]}function X(a,c){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=c;d(this.btnConfig={},t);d(this.groupConfig={},da)}function ca(a,d){ga[this.id="TB_MASTER"+a||k((new Date).getTime())]=this;this.toolbarRect=
void 0;this.componentGroups=[];this.toolbarConfig=Z;this.group=void 0;this.pId=d}var ga={},da={hPadding:3,vPadding:3,borderRadius:2,fill:I("DBDBDB",100),borderColor:I("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},Z={hPadding:3,vPadding:3,borderRadius:0,fill:I("EBEBEB",100),borderColor:I("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},Ja={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},R,ua,Ha;a.prototype.assignSubContainer=
function(a){a instanceof e&&(this.subConRef=a)};a.prototype.stickIntoContainer=function(a,d){var c=this.node=M.createElement("div"),e=this.style,l,k,m,p=this;this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(c);c.innerHTML=this.name;k=c.style;for(l in e)k[l]=e[l];e=r("hover",c);r("click",c)(function(){p.handler&&((m=p.eventMap.click)&&m.apply(p,[Ha]),d.hide())});e(function(){var a,d=c.style,e=p.hoverOverStyle;for(a in e)d[a]=e[a];p.subConRef&&p.subConRef.show(this)},function(){var a,
d=c.style,e=p.hoverOutStyle;for(a in e)d[a]=e[a];p.subConRef&&p.subConRef.hide(300,this)})};a.prototype.setStyle=function(a){C(a||{},this.style)};a.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};e.POSITION_TOP="top";e.POSITION_BOTTOM="bottom";e.prototype.addAtomicListItem=function(d){d instanceof a&&(this.atomicLists.push(d),d.stickIntoContainer(this.container,this))};e.prototype.show=function(a){var d=this.hideFnIds,c=Ha.config.width,e=this.positionCalculation,
l=0,k;this.target=this.target||a;for(k=d.length;l<k;l++)clearTimeout(d[l]);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(),e&&(this.container.style.display="block",e=this.container.offsetWidth,e+a.x>c?(this.container.style.left="auto",this.container.style.right=c-a.x-
a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===ea.POSITION_BOTTOM?(c=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*c+"px",this.container.style.bottom="auto"):(this.container.style.bottom=Ha.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};e.prototype.hide=function(a){var d=this.container,c;(c=this.parentListCon)&&c.hide(300);this.hideFnIds.push(setTimeout(function(){d.style.display=
"none"},a))};e.prototype.dispose=function(){var a=this.atomicLists,d=this.refContainers,c,e;c=this.hideFnIds.length=0;for(e=a.length;c<e;c++)a[c].dispose();c=a.length=0;for(e=d.length;c<e;c++)d[c].dispose();d.length=0};q.prototype.init=function(a){var d=D.getKeys();this.container||(a=D.getComponent("div0",a,d.KEY_DIV),(a=a())&&(a.innerHTML=""),this.container=new e(a,this.measurement));return this};q.prototype.getFirstContainer=function(){return this.container};q.prototype.appendAsList=function(d,
c){var l=this,k,m=this.container.hoverOverStyle,p=this.container.hoverOutStyle;(function ra(d,c){var n,q=0,w,t,F,r,z,b,f,g;f=c?c:l.container;n=d instanceof Array?d:[d];for(w=n.length;q<w;q++){t=n[q];F=new a({hoverOverStyle:m,hoverOutStyle:p});for(r in t)F.name=r,z=t[r],F.action=z.action,F.setStyle(z.style),-1!==r.search(/^<[^<]+>$/)&&(F.hoverOverStyle={},F.hoverOutStyle={},z.handler=H),b=z.handler,"function"!==typeof b?g=ra(b,new e(M.createElement("div"))):F.handler=z.handler;f.addAtomicListItem(F);
g&&(g.parentListCon=f,f.refContainers.push(g),F.assignSubContainer(g));g=void 0}return k=f})(d,c);return k};q.prototype.dispose=function(){this.container.dispose();this.container=void 0};w.prototype.registerSymbol=function(a){l.register(this.symbol,a)};w.prototype._setConfiguaration=function(a){this.conf?C(a,this.conf,!0):this.conf=a};w.prototype.attachEventHandlers=function(a,d){var c=this.evt,e=a.tooltext,l=a.click||H,k=a.hover,m=d&&d.click||H,p=this;e&&(c.tooltext=e);c.click="function"===typeof l?
function(){m();l.apply(p,arguments)}:function(){var a=l.fn,d=l.context,c=(l.args||[]).slice(0);l.hasOwnProperty("context")?c.push(p):d=p;[].push.apply(c,arguments);m();a.apply(d,c)};k&&k instanceof Array&&(c.hover=k);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);return p};w.prototype.getLogicalSpace=function(){return{width:this.conf.width,height:this.conf.height}};w.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};
w.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};w.prototype.draw=function(a,d,c){var e=this.conf||{},l,k,m=D.getKeys(),p=Ha.get("config","animationObj"),q=p.animObj,w=p.dummyObj,t=p.duration;this.isPlaintext?k=this.symbol:l=this.symbol;void 0!==c.idCount&&(this._id+=c.idCount);e.hoverFill=e.hoverFill?I(e.hoverFill):I(n(z(e.fill),80));c=this.node=D.getComponent(this._id,this.pId,m.KEY_BUTTON,!0)(a,d,k,l,{width:e.width,height:e.height,r:e.radius,verticalPadding:e.symbolHPadding*
e.scale,horizontalPadding:e.symbolHPadding},c.parentLayer).labelcss(this.conf.btnTextStyle);c.attr({ishot:!0,fill:[e.fill,e.labelFill,e.symbolFill,e.hoverFill,!0],stroke:[e.stroke,e.symbolStroke],"stroke-width":[e.strokeWidth,e.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);D.getCreationStatus()||(this.node.unclick(),this.node.animateWith(w,q,{"button-repaint":[a,d,e.width,e.height,e.radius]},t,p.animType),this.node.attr({"button-label":k,
"button-padding":[e.symbolHPadding,e.symbolHPadding*e.scale]}),this.node.buttonclick(this.evt.click));c.getBBox=function(){return{x:a,y:d,width:e.width,height:e.height}};return c};w.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};J.prototype=Object.create(w.prototype);J.prototype.constructor=J;J.prototype.check=function(){var a=this.pos;this.checked=!0;this.regSymbolCmd=Q;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,
a.height,a.r]}))};J.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=B;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};J.prototype.click=function(){this.checked?this.uncheck():this.check()};J.prototype.attachEventHandlers=function(a){var d=this;w.prototype.attachEventHandlers.apply(this,[a,{click:function(){d.click()}}])};J.prototype.getLogicalSpace=function(){var a=Ha.linkedItems.smartLabel,d=this.text.style,
c;c=w.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(Ha.config.useEllipsesWhenOverflow);a.setStyle(d);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+c.width,height:Math.max(c.height,a.height)}};J.prototype.draw=function(a,d,c){var e,l=this.conf,k;k=Ha.linkedItems.smartLabel;var m=R.colorManager,p=this.text.plaintext,n,q=D.getKeys();this.registerSymbol(this.regSymbolCmd);e=this.node=w.prototype.draw.apply(this,arguments);this.pos={x:a,y:d,width:l.width,
height:l.height,r:l.radius};n=this.text.style;n.fill=n.fill||"#"+m.getColor("baseFontColor");k.useEllipsesOnOverflow(Ha.config.useEllipsesWhenOverflow);k.setStyle(n);k=k.getSmartText(p);e=e.getBBox();m=D.getComponent(this._id,this.pId,q.KEY_TEXT);this.textNode=m(c.parentLayer).attr({text:p,x:e.x+e.width+k.width/2+this.interPadding,y:e.y+e.height/2}).css(n);l=l.height>k.height?l.height:k.height;m=D.getComponent(this._id,this.pId,q.KEY_RECT);return m(c.parentLayer).attr({height:l,width:e.width+k.width+
this.interPadding,x:a,y:d,stroke:F})};J.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;w.prototype.dispose.call(this)};T.prototype=Object.create(w.prototype);T.prototype.constructor=J;T.prototype.setConfiguaration=function(a){var d=R.colorManager;c.color||(c.color="#"+d.getColor("altHGridColor"));C(c,this.conf);C(a,this.conf)};T.prototype.getLogicalSpace=function(){var a=this.conf,d={};C(c,d);C(d,a);return w.prototype.getLogicalSpace.call(this)};T.prototype.getDefaultLayer=
function(){var a=D.getKeys();return D.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};T.prototype.registerSymbol=void 0;T.prototype._setConfiguaration=function(){};T.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);w.prototype.attachEventHandlers.apply(this,arguments);return this};T.prototype.draw=function(){var a,d,e,l,k,m,p,n,q,w,t,F,r,z,B,J;B=this.conf;var H,b=D.getKeys(),f={},g=Ha.get("config","animationObj"),u=g.animObj,N=
g.dummyObj;e={};var L=g.duration;1===arguments.length?(B=arguments[0],a=B.x,d=B.y,p=B.parentLayer,k=!!B.sepLayer):(a=arguments[0],d=arguments[1],k=arguments[2],B&&k?C(k,B):k={},p=k.parentLayer,k=!!k.sepLayer);C(c,e);B.isHorizontal?delete e.width:delete e.height;C(e,B);d+=B.padding;e=B.height;l=B.width;m=B.isHorizontal;J=B.startPercent;n=B.scrollRatio;q=B.showButtons;w=B.displayFlat;t=B.fullCanvasWidth;F=B.windowedCanvasWidth;r=B.color;z=B.roundEdges;f["scroll-repaint"]=[a,d,l,e];p=p?p:this.getDefaultLayer();
H=D.getComponent(this._id,this.pId,b.KEY_RECT);p=k?H("scroll-child"):p;H=D.getComponent(this._id,this.pId,b.KEY_SCROLLER);this.node=H(a,d,l,e,m,{scrollPosition:B.scrollPosition||G(J,0),displayStyleFlat:w,showButtons:q},p).data("fullCanvasWidth",t).data("windowedCanvasWidth",F).attr({"scroll-ratio":n,fill:r,r:z&&2||0}).scroll(this.evt.scroll);D.getCreationStatus()||(this.node.undrag(),this.node.animateWith(N,u,f,L,g.animType),this.node.attr({"scroll-display-style":w?"flat":"3d","scroll-position":B.scrollPosition||
G(J,0)}).scroll(this.evt.scroll));return this.node};ea.POSITION_TOP="top";ea.POSITION_BOTTOM="bottom";ea.prototype=Object.create(w.prototype);ea.prototype.constructor=ea;ea.allNodes=[];ea.prototype.getListRefernce=function(){return this.listContainerManager};ea.prototype.attachEventHandler=function(a){var d=this.evt;if(a=a.tooltext)d.tooltext=a};ea.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:w.prototype.getLogicalSpace.call(this)};
ea.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=w.prototype.draw.apply(this,arguments);ea.allNodes.push(this.node);return a};ea.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;w.prototype.dispose.call(this)};X.prototype.addSymbol=function(a,d){var c=this.symbolList;d?c.unshift(a):c.push(a)};
X.prototype.setConfiguaration=function(a){var d=a.buttons;a=a.group;d&&C(d,this.btnConfig);a&&C(a,this.groupConfig)};X.prototype.draw=function(a,d,c){var e=this.preId,l=this.symbolList,k,m,p=this.groupConfig,n=this.btnConfig,q=d.x,w=d.y,t=0,F=0,r=Number.NEGATIVE_INFINITY;k=D.getKeys();e=this.id=e.toString()+c;ua.toolbarGroup=ua.toolbar||{};c=D.getComponent(this.id,this.pId,k.KEY_GROUP);a=c("toolbar-group"+e,a).trackTooltip(!0);c=D.getComponent(this.id,this.pId,k.KEY_RECT);e=this.groupRect=c(a).attr({height:0,
width:0,x:q,y:w});q+=p.hPadding;w+=p.vPadding;F+=p.hPadding;t+=p.vPadding;k=0;for(c=l.length;k<c;k++)m=l[k],m._setConfiguaration(n),m=m.draw(q,w,{parentLayer:a}),m=m.getBBox(),r<m.height&&(r=m.height),q+=m.width+(m=n.spacing);F+=q+p.hPadding-d.x-m-p.offsetAdjustment;t+=r+p.vPadding+p.offsetAdjustment;isFinite(t)||(t=0);isFinite(F)||(F=0);e.attr({height:t,width:F}).attr({fill:p.fill,r:p.radius,stroke:p.borderColor,"stroke-width":p.borderThickness});m=e.getBBox();return{height:m.height,width:m.width}};
X.prototype.getLogicalSpace=function(){var a=this.symbolList,d,c,e,l=0,k=0,m=Number.NEGATIVE_INFINITY,p=0;c=0;for(e=a.length;c<e;c++)d=a[c],d._setConfiguaration(this.btnConfig),d=d.getLogicalSpace(),k+=d.width+this.btnConfig.spacing,p+=d.width,m=m<d.height?d.height:m;if(!p)return{width:0,height:0};m!==Number.NEGATIVE_INFINITY&&k&&(k-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,l=m+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:k,
height:l}};X.prototype.dispose=function(){for(var a=this.symbolList,d=0,c=a.length;d<c;d++)a[d].dispose();a.length=0;this.groupRect.remove()};ca.prototype.getId=function(){return this.id};ca.prototype.addComponent=function(a){this.componentGroups.push(a)};ca.prototype.draw=function(a,d){var c=this.componentGroups,e,l,k,m;m=this.id;var p=a,n=d,q,w=this.toolbarConfig,t,F=Number.NEGATIVE_INFINITY;l=D.getKeys();ua.toolbar=ua.toolbar||{};q=D.getComponent(this.id,this.pId,l.KEY_GROUP,!0);this.group=m=q(m);
q=D.getComponent(this.id,this.pId,l.KEY_RECT,!0);q=this.toolbarRect=q(m).attr({height:0,width:0,x:p,y:n});p+=w.hPadding;n+=w.vPadding;l=0;for(k=c.length;l<k;l++)e=c[l],t=e.groupConfig.spacing||1,e=e.draw(m,{x:p,y:n},l),p+=e.width+t,F=F>e.height?F:e.height;c=F;p=p-t-w.hPadding-a;isFinite(c)||(c=0);isFinite(p)||(p=0);q.attr({height:c+=2*w.vPadding,width:p+=2*w.hPadding}).attr({fill:w.fill,r:w.radius,stroke:w.borderColor,"stroke-width":w.borderThickness});return{height:c,width:p}};ca.prototype.getLogicalSpace=
function(){var a=this.componentGroups,d,c,e,l=d=0,k=Number.NEGATIVE_INFINITY,m,p=0;d=0;for(c=a.length;d<c;d++)e=a[d],m=e.getLogicalSpace(),e=e.groupConfig.spacing||1,l+=m.width+e,p+=m.width,k=k<m.height?m.height:k;if(!p)return{width:0,height:0};l-=e-2*this.toolbarConfig.hPadding;d=k+2*this.toolbarConfig.vPadding;return{width:l,height:d}};ca.prototype.dispose=function(){for(var a=this.componentGroups,d=0,c=a.length;d<c;d++)a[d].dispose();a.length=0;this.toolbarRect.remove();D.emptyPool(this.pId)};
return{init:function(a){ua=a.graphics;Ha=a.chart;R=a.components},HorizontalToolbar:ca,ComponentGroup:X,Symbol:w,CheckboxSymbol:J,Scroller:T,SymbolWithContext:ea,getInstanceById:function(a){return ga[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;w.init(a);this._options=a;this._chart=
a.chart;this._iCount=++T;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,d;w.init(this._options);t.scale=G(a.toolbarbuttonscale,1.15);t.width=G(a.toolbarbuttonwidth,15);t.height=G(a.toolbarbuttonheight,15);t.radius=G(a.toolbarbuttonradius,2);t.spacing=G(a.toolbarbuttonspacing,5);t.fill=I(q(a.toolbarbuttoncolor,"ffffff"));t.labelFill=I(q(a.toolbarlabelcolor,"cccccc"));t.symbolFill=I(q(a.toolbarsymbolcolor,"ffffff"));t.hoverFill=q(a.toolbarbuttonhovercolor);
t.stroke=I(q(a.toolbarbuttonbordercolor,"bbbbbb"));t.symbolStroke=I(q(a.toolbarsymbolbordercolor,"9a9a9a"));t.strokeWidth=G(a.toolbarbuttonborderthickness,1);t.symbolStrokeWidth=G(a.toolbarsymbolborderthickness,1);d=t.symbolPadding=G(a.toolbarsymbolpadding,5);t.symbolHPadding=G(a.toolbarsymbolhpadding,d);t.symbolVPadding=G(a.toolbarsymbolvpadding,d);c.color=a.scrollcolor&&I(a.scrollcolor);c.padding=G(a.scrollpadding,0);c.height=G(a.scrollheight,12);c.width=G(a.scrollwidth,12);c.displayFlat=G(a.flatscrollbars,
0);c.scrollBar3DLighting=G(a.scrollbar3dlighting,1);c.startPercent=Math.min(1,Math.max(0,parseFloat(a.scrolltoend)||0));c.showButtons=!!G(a.scrollshowbuttons,1);c.buttonPadding=G(a.scrollbtnpadding,0);p.baseFontFamily=q(a.basefont,"Verdana,sans");p.baseFontSize=G(a.basefontsize,10);p.baseFontColor=q(a.basefontcolor,"595959")},getAPIInstances:function(a){var d=this._chart,c={};switch(a){case this.ALIGNMENT_HORIZONTAL:c.Toolbar=w.HorizontalToolbar}D.init(d.components,this._iCount);c.ComponentGroup=
w.ComponentGroup;c.Symbol=w.Symbol;c.Scroller=w.Scroller;c.SymbolWithContext=w.SymbolWithContext;c.SymbolStore=l;c.CheckboxSymbol=w.CheckboxSymbol;return c},getDefaultConfiguration:function(){return t},clean:function(){D.hideRecursive(this._iCount)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-base",function(){var k=this,m=k.hcLib,C=m.Raphael,r=C._availableAnimAttrs,e="VML"===C.type,a=k.window,M=a.document,J=m.BLANKSTRING,I=m.parseConfiguration,n=m.componentConfigurer,z=m.BLANKSTRING,G="https:"===a.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/",q=m.pluck,t=m.getValidValue,c=m.pluckNumber,p=m.getFirstValue,d=m.parseUnsafeString,B=m.extend2,Q=m.getDashStyle,l=m.graphics.mapSymbolName,
w=m.regex.dropHash,H=m.HASHSTRING,F=a.Image,T=m.setImageDisplayMode,D=m.removeEvent,V=m.getPosition,P=m.getMouseCoordinate,fa=m.addEvent,$=8===a.document.documentMode?"visible":"",ba=m.toRaphaelColor,ia=a.Math,ea=ia.min,X=ia.max,ca=ia.abs,ga=ia.ceil,da=ia.floor,Z=ia.round,Ja=ia.sin,R=ia.cos,ua=Math.PI,Ha=ua/2,U=2*ua,Na=ua+Ha,la=m.getFirstColor,oa=m.setLineHeight,Ca=m.pluckFontSize,Fa=m.graphics.getDarkColor,na=m.graphics.getLightColor,ra=m.graphics.convertColor,Da=m.POSITION_CENTER,ha=m.POSITION_TOP,
Ia=m.POSITION_BOTTOM,wa=m.POSITION_RIGHT,Ta=m.POSITION_LEFT,qa=m.chartAPI,Oa=m.COMMASTRING,Pa=m.PXSTRING,ab=m.componentDispose,b,f=a.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),g={left:"start",right:"end",center:"middle"},u=m.each,N="rgba(255,0,0,"+(m.isIE?.002:1E-6)+")",L=m.BGRATIOSTRING,O=m.graphics.getAngle,S=m.NumberFormatter,W=m.getLinkAction,ja=m.hasTouch=void 0!==M.documentElement.ontouchstart,La={1:"bold",0:"normal"},K=function(b){b=b.replace("rgba(","").split(",");return"#"+("000000"+
(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},E=m.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"}},aa=function(){var b={},a,f=function(){var g,h,d,c,u=0,e,l,N=parseInt(k.core.options.resizeTrackingInterval,10)||300,L={},O=function(){L.itemVar._containerOffsetW=
L.parentEle.offsetWidth;L.itemVar._containerOffsetH=L.parentEle.offsetHeight},m;for(g in b)u+=1,h=b[g],d=h.jsVars,e=h.ref,!h.disposed&&(c=e&&e.parentNode)&&(l=e.style)&&(/\%/g.test(l.width)||/\%/g.test(l.height))?(e=c.offsetWidth,m=c.offsetHeight,!d.resizeLocked&&(e&&d._containerOffsetW!==e||m&&d._containerOffsetH!==m)&&(h.resizeTo&&h.resizeTo(),L.itemVar=d,L.parentEle=c,setTimeout(O,1))):(delete b[g],--u);a=u?setTimeout(f,N):clearTimeout(a)};return function(g,h){var d=g.jsVars,c=h||g.ref&&g.ref.parentNode||
{};d._containerOffsetW=c.parentNode.offsetWidth;d._containerOffsetH=c.parentNode.offsetHeight;b[g.id]=g;a||(a=setTimeout(f,parseInt(k.core.options.resizeTrackingInterval,10)||300))}}(),Qa={getExternalInterfaceMethods:function(){var b=qa[this.jsVars.type],b=b&&b.eiMethods,a="saveAsImage,print,exportChart,getXML,hasRendered,signature,cancelExport,getSVGString,lockResize,showChartMessage,",f;if("string"===typeof b)a+=b+Oa;else if(void 0!==b||null!==b)for(f in b)a+=f+Oa;return a.substr(0,a.length-1)},
drawOverlayButton:function(b){var a=this.jsVars,f=a.overlayButton,g,h;if(b&&b.show){f||(f=a.overlayButton=M.createElement("span"),m.dem.listen(f,"click",function(){k.raiseEvent("OverlayButtonClick",b,a.fcObj)}));for(g=b.message?b.message:"Back";f.firstChild;)f.removeChild(f.firstChild);f.appendChild(M.createTextNode(g));a.overlayButtonMessage=g;g={border:"1px solid "+(b.borderColor?b.borderColor.replace(w,H):"#7f8975"),backgroundColor:b.bgColor?b.bgColor.replace(w,H):"#edefec",fontFamily:b.font?b.font:
"Verdana,sans",color:"#"+b.fontColor?b.fontColor:"49563a",fontSize:(b.fontSize?b.fontSize:"10")+Pa,padding:(b.padding?b.padding:"3")+Pa,fontWeight:0===parseInt(b.bold,10)?"normal":"bold",position:"absolute",top:"0",right:"0",_cursor:"hand",cursor:"pointer"};for(h in g)f.style[h]=g[h];a.hcObj.container.appendChild(f);a.overlayButtonActive=!0}else f&&(a.overlayButton=f.parentNode.removeChild(f),a.overlayButtonActive=!1,delete a.overlayButtonMessage)},print:function(b){var f=this.apiInstance,g=B({},
b);if(f.config.isPrinting||!f.config.hasRendered)return!1;k.raiseEvent("BeforePrint",g,f.chartInstance,void 0,function(){var b=f.linkedItems.container,h=[],d=b.parentNode,c=M.body||M.getElementsByTagName("body")[0],s=c.childNodes,e,l,N,L;f.config.isPrinting=!0;u(s,function(b,a){1==b.nodeType&&(h[a]=b.style.display,b.style.display="none")});if(!1!==g.hideButtons){l=f.components.chartMenuBar.componentGroups[0].symbolList;L=0;for(e=l.length;L<e;L++)if((N=l[L])instanceof f.components.toolBoxAPI.SymbolWithContext){N=
N.getListRefernce().getFirstContainer();break}N.container.style.display="none"}c.appendChild(f.linkedItems.container);a.print();setTimeout(function(){N.container.style.display="visible";d.appendChild(b);u(s,function(b,a){1==b.nodeType&&(b.style.display=h[a])});!1!==g.hideButtons&&(N.container.style.display="visible");f.config.isPrinting=!1;k.raiseEvent("PrintComplete",g,f.chartInstance)},1E3)},function(){k.raiseEvent("PrintCancelled",g,f.chartInstance)})},exportChart:function(b){return m.exportChart.call(this.apiInstance,
b)},getSVGString:function(){return this.jsVars&&this.jsVars.instanceAPI&&this.jsVars.instanceAPI.components&&this.jsVars.instanceAPI.components.paper&&this.jsVars.instanceAPI.components.paper.toSVG()},resize:function(){var b=this.jsVars,a=b.container;b.instanceAPI&&b.instanceAPI.redraw?b.instanceAPI.redraw():m.createChart(b.fcObj,a,b.type,void 0,void 0,!1,!0);delete b.isResizing},lockResize:function(b){return"boolean"!==typeof b?!!this.jsVars.resizeLocked:this.jsVars.resizeLocked=b},showChartMessage:function(b,
a,f){var g=this.jsVars,h=this.FusionCharts.apiInstance;g.msgStore[b]&&(b=g.msgStore[b]);a&&h&&h.config.hasRendered?(h._show(),this.showMessage(b,f)):(h._hide(),h.setChartMessage(b),h.drawChartMessage());return b},showMessage:function(b,a){var f=this.apiInstance,g=f.config,h=f.components,d=f.graphics.messageGroup,c=h.chartMessage||(h.chartMessage={}),c=c.graphics||(c.graphics={}),u=h.paper,e=f.linkedItems.smartLabel,h=c.messageText,l=c.messageVeil,N=u.width,k=u.height;d||(f.graphics.messageGroup=d=
u.group("messageGroup"));l||(l=c.messageVeil=u.rect(0,0,N,k,d).attr({fill:"rgba(0,0,0,0.2)",stroke:"none"}));l.show().toFront().attr("cursor",a?"pointer":"default")[a?"click":"unclick"](f._hideChartMessage,f);h||(h=c.messageText=u.text(N/2,k/2,z,d).attr({fill:"rgba(255,255,255,1)","font-family":"Verdana,sans","font-size":10,"line-height":14,ishot:!0}));b=b||z;e.setStyle({"line-height":"14px","font-family":"Verdana,sans","font-size":"10px"});g=e.getSmartText(b,N-(g.marginRight||0)-(g.marginLeft||0),
k-(g.marginTop||0)-(g.marginBotton||0));h.attr({text:g.text,ishot:!0,cursor:a?"pointer":"default"})[a?"click":"unclick"](f._hideChartMessage,f).show().toFront()},signature:function(){return"FusionCharts/3.4.0 (XT)"}};delete r.fill;delete r.stroke;k.core.options.resizeTrackingInterval=300;k.core.options.preventTrackResize=!1;k.core.options.SVGDefinitionURL="relative";m.createChart=function(b,f,g,d,h,u,e){var l=b.jsVars,N,L=qa[g||(g=b.chartType())],O=b.apiInstance,S=l.hasNativeMessage;u=b.options;var W=
b.args,E;f.offsetWidth&&f.offsetHeight&&(/^\s*absolute\s*$/i.test(k.core.options.SVGDefinitionURL)&&(C._url=(C._g&&C._g.win||a).location.href.replace(/#.*?$/,J)),E=function(a){var h={renderer:"javascript"},c=l.fcObj,u=c.width,N=c.height,pa=L&&L.eiMethods,W=l.overlayButton,E;f.jsVars=b.jsVars;S=l.hasNativeMessage;l.container=f;l.hcObj=a;l.type=g;l.width=f.offsetWidth;l.height=f.offsetHeight;l.instanceAPI=O;if(a.hasRendered){k.extend(f,Qa);if(pa&&"string"!==typeof pa)for(E in pa)f[E]=pa[E];l.overlayButtonActive&&
W&&(W.innerHTML="",W.appendChild(M.createTextNode(l.overlayButtonMessage)),a.container.appendChild(W))}(/\%/g.test(u)||/\%/g.test(N))&&f&&f.parentNode&&!k.core.options.preventTrackResize&&aa(c,f);if(d&&(d({success:a.hasRendered,ref:f,id:b.id}),a.hasRendered)){m.raiseEvent("loaded",{type:g,renderer:"javascript"},b,[b.id]);O.config.hasRendered=!0;if(!0===b.disposed)return;S||(c.__state.firstRenderNotified=!0,setTimeout(function(){m.raiseEvent("rendered",{renderer:"javascript"},c,[c.id])},0))}a.hasRendered&&
l.previousDrawCount<l.drawCount&&(h.width=l.width,h.height=l.height,h.drawCount=l.drawCount,h.displayingMessage=S,h.renderer=c.options.renderer,m.raiseEvent("drawcomplete",h,c,[c.id]),S||e||setTimeout(function(){c.__state&&!c.__state.firstRenderNotified&&m.raiseEvent("rendered",{renderer:"javascript"},c,[c.id]);k.raiseEvent("renderComplete",h,c)},0))},O&&O.inited?(k.raiseEvent("internal.drawStart",{chartType:g,logicName:O.name,logicBase:O.base&&O.base.name,defaultSeriesType:O.defaultSeriesType},b),
h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),N=h.data,O.config&&O.config.hasChartMessage&&O._hideChartMessage(),O.jsonData=N,e||m.raiseEvent("dataloaded",{},b,[b.id]),O.configure(),O._feedAxesRawData(),O._setCategories(),n(O),O.draw(),E({hasRendered:!0,container:f})):O&&"base"===g?(O.setChartMessage(h,b,f),O.drawChartMessage()):(O&&"base"===O.name&&"base"!==g&&(O.dispose(),O=void 0),O?O.config&&O.config.hasChartMessage&&O._hideChartMessage():
O=b.apiInstance=L?new qa(g):new qa("base"),O.chartInstance=b,O.origRenderWidth=b.__state.renderedWidth,O.origRenderHeight=b.__state.renderedHeight,"base"===g?(O.setChartMessage(h,b,f),O.drawChartMessage()):void 0!==h?"string"===typeof h&&(O.setChartMessage(h,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):!O||!O.init||O&&"base"===O.name?(b._chartMessageImageStyle={imageHAlign:q(W.typeNotSupportedMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.typeNotSupportedMessageImageVAlign,
u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.typeNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.typeNotSupportedMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:W.typeNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:W.typeNotSupportedMessageFont||u.baseChartMessageFont,fontSize:W.typeNotSupportedMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(u.typeNotSupportedMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=
!0):l.message?(O.setChartMessage(l.message,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):l.loadError?(b._chartMessageImageStyle={imageHAlign:q(W.dataLoadErrorMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataLoadErrorMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataLoadErrorMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.dataLoadErrorMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:W.dataLoadErrorMessageColor||
u.baseChartMessageColor,fontFamily:W.dataLoadErrorMessageFont||u.baseChartMessageFont,fontSize:W.dataLoadErrorMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(u.dataLoadErrorMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):l.stallLoad?(b._chartMessageImageStyle={imageHAlign:q(W.dataLoadStartMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataLoadStartMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataLoadStartMessageImageAlpha,
u.baseChartMessageImageAlpha),imageScale:c(W.dataLoadStartMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:W.dataLoadStartMessageFont||u.baseChartMessageFont,fontSize:W.dataLoadStartMessageFontSize||u.baseChartMessageFontSize,color:W.dataLoadStartMessageColor||u.baseChartMessageColor},O.setChartMessage(u.dataLoadStartMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0,E({hasRendered:!0,container:f})):"zoomscatter"!==g||M.createElement("canvas").getContext?(k.raiseEvent("internal.drawStart",
{chartType:g,logicName:O.name,logicBase:O.base&&O.base.name,defaultSeriesType:O.defaultSeriesType},b),h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),N=h.data,h.error instanceof Error?(b._chartMessageImageStyle={imageHAlign:q(W.dataInvalidMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataInvalidMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataInvalidMessageImageAlpha,
u.baseChartMessageImageAlpha),imageScale:c(W.dataInvalidMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:W.dataInvalidMessageFont||u.baseChartMessageFont,fontSize:W.dataInvalidMessageFontSize||u.baseChartMessageFontSize,color:W.dataInvalidMessageColor||u.baseChartMessageColor},O.setChartMessage(u.dataInvalidMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0,b.__state.dataReady=!1,e||k.raiseEvent("dataInvalid",{error:h.error},l.fcObj,void 0,function(){m.raiseEvent("dataxmlinvalid",
{},b,[b.id])})):(e||m.raiseEvent("dataloaded",{},b,[b.id]),!0!==O.chartInstance.disposed&&O.init(f,N,b,E))):(b._chartMessageImageStyle={imageHAlign:q(W.browserNotSupportedMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.browserNotSupportedMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.browserNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.browserNotSupportedMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle=
{color:W.browserNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:W.browserNotSupportedMessageFont||u.baseChartMessageFont,fontSize:W.browserNotSupportedMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(q(W.browserNotSupportedMessage,u.browserNotSupportedMessage),b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0)))};FusionCharts.register("component",["legend","legend",{customConfigFn:null,init:function(){this.graphics||(this.graphics={});this.item||(this.items=[]);this.components||
(this.components={})},drawLegend:function(b,a){var f,g,h,d=this.chart,u=d.config;f=d.components;var e=f.paper,l=this.config,N=this.graphics||(this.graphics={}),k=d.graphics.legendGroup,L;g=N.box;var O=N.caption,m,S=u.height-u.canvasBottom,W=u.canvasLeft,E=u.canvasWidth,K=l.chartMarginLeft||0,p=l.chartMarginRight||0,ja=l.chartMarginBottom||0,n=u.actionBarHeight||0,aa=l.actualCanvasMarginLeft||0,q=u.actualCanvasMarginBottom||0,La=u.actualCanvasMarginRight||0,w=l.alignLegendWithCanvas,t=u.height,F=u.canvasTop,
Qa=l.width,r=l.height,z=u.borderWidth;h=l.borderRadius;var D=l.backgroundColor,J=l.borderColor,O=l.borderWidth||0,G=l.legendPos,H=.5*O,I=.5*O+2,T=c(l.padding,4),M=.5*T,V=l.scroll.enabled,Q=l.drawn,P=d.get("config","animationObj"),R=P.dummyObj,$=P.animObj,ba=P.transposeAnimDuration,fa=P.animType,Ea,ca,ga,na,da,P=f.legendScrollBar,ia=0,Z=0,ia=u.oriCanvasLeft,la=u.oriTopSpace,Z=u.oriBottomSpace,U=f.tb,ra=f.toolBoxAPI.Scroller;"right"===G&&(l.align=wa,l.verticalAlign="middle",m=l.layout="vertical");m?
(void 0===b&&(b=u.width-p-La-Qa-z),void 0===a&&(ia=c(la,F),Z=c(Z,S),a=ia+.5*(t-Z-ia-r)+(l.y||0))):(void 0===b&&(m=u.width-(K+aa+(p+La)),m=w?E-Qa:m-Qa,W=w?c(ia,W):K+aa,b=W+m/2),void 0===a&&(a=t-r-q-ja-n));r=C.crispBound(b,a,Qa,r,O);b=r.x;a=r.y;Qa=r.width;r=r.height;Q?(l.xL&&(l.xL=ea(X(l.xL,I),u.width-l.width-I)),l.yL&&(l.yL=ea(X(l.yL,I),u.height-l.height-I)),k.show().animateWith(R,$,{transform:["T",l.xL||b,l.yL||a]},ba,fa)):k.show().transform(["T",b,a]).attr("class","fusioncharts-legend");l.xPos=b;
l.yPos=a;d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",B({"text-anchor":l.title.align},l.title.style));k.attr("class","fusioncharts-legend");k.attr({cursor:l.legendAllowDrag?"move":""});l.legendAllowDrag&&!l._dragEvtListenerBinded&&(k.drag(function(b,a){l.legendAllowDrag&&(na=ca+b,da=ga+a,na=ea(X(na,I),u.width-l.width-I),da=ea(X(da,I),u.height-l.height-I),k.transform("t"+na+","+da),l.xPos=l.xL=na,l.yPos=l.yL=da)},function(){l.legendAllowDrag&&(ca=l.xL||l.xPos,ga=l.yL||l.yPos)}),
l._dragEvtListenerBinded=!0);Q={x:0,y:0,width:Qa,height:r,r:h,stroke:J,"stroke-width":O,fill:D||"none",ishot:l.legendAllowDrag};g?(g.animateWith(R,$,{x:0,y:0,width:Qa,height:r,r:h},ba,fa),g.attr({stroke:J,"stroke-width":O,fill:D||"none"})):g=N.box=e.rect(Q,k);Q=l.drawn=!0;g.shadow(l&&l.shadow);L=N.itemGroup||(N.itemGroup=e.group("item",k));V?(g={isHorizontal:!1},h={scroll:function(b){L.transform(["T",0,(Ea-l.totalHeight)*b])},mousedown:function(b){b.preventDefault();b.stopPropagation()}},P=f.legendScrollBar,
P||(f.legendScrollBar=P=(new ra(g,(U.idCount||0)+1,U.pId)).attachEventHandlers(h)),Ea=r-T,L.attr({"clip-rect":"0,"+M+(","+Qa+","+Ea)}),f=(Ea+T)/l.totalHeight,P.draw(Qa-10+M-O,H,{height:r-O,scrollRatio:f,startPercent:0,color:l.legendScrollBgColor}),k.appendChild(P.node)):(P&&P.node&&P.node.hide(),L.attr({"clip-rect":null}),L.node&&L.node.removeAttribute("clip-path"));d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",B({"text-anchor":l.title.align},l.title.style));O=N.caption;if(l.title&&
""!==l.title.text&&l.validLegendItem){switch(l.title.align){case "start":d=T;break;case "end":d=Qa-T-(V?10:0);break;default:d=.5*Qa}k.trackTooltip(!0);Qa=l.title.style;Q={"class":"fusioncharts-caption","text-anchor":l.title.align,text:l.title.text,title:l.title.originalText||"",x:d,y:T,fill:l.title.style.color,"vertical-align":"top","font-weight":Qa.fontWeight,"font-style":Qa.fontStyle,"font-family":Qa.fontFamily,"font-size":Qa.fontSize,"line-height":Qa.lineHeight,direction:l.textDirection};O||(O=
N.caption=e.text(L).attr("class","fusioncharts-caption"));O.show().attr(Q);O.tooltip(l.title.originalText)}else O&&O.hide();l.showLegend&&!1!==l.enabled?this._drawPointLegendItem():k.hide()},_manageLegendPosition:function(b){var a=this.config,f=a.legendPos,g=this.components.items,a=a.reversed;g&&a&&g.reverse();return"right"===f?this._placeLegendBlockRight(b):this._placeLegendBlockBottom(b)},_placeLegendBlockBottom:function(b){var a=this.chart,f=this.components,g=a.config,h=m.TESTSTR,u=g.width,e=g.height,
l=g.canvasLeft,N=g.width-(g.canvasRight||0),k=a.linkedItems.smartLabel,L=this.config,O=L.chartMarginLeft,S=L.chartMarginRight,W=L.chartMarginTop,E=L.alignLegendWithCanvas,K=L.minimiseWrappingInLegend,p=L.legendScale,ja=L.numColumns,n=L.padding,aa=2*b,q=2*n,La=q,w=L.title,t=w.padding,F=parseInt(L.itemStyle.fontSize,10)||10,Qa=f.items||[],r=Qa.length,f=L.oriSymbolPadding,z=L.textPadding,D=L.legendPadding,B=g.canvasMarginRight,C=g.canvasMarginLeft,G=a.components.yAxis||[],a=G[0],G=G[1],a=a&&a.config.axisData||
{},G=G&&G.config.axisData||{},H=a.nameMaxW,I=G.nameMaxW,T=a.name&&a.name.style||{},M=G.name&&G.name.style||{},P=a.axisName||"",Q=G.axisName||"",V=0,R=0,$=0,ba=0,fa=G=0,ca=0,Ea=0,na=[],ia=!1,Z=0,la=0,U,ra,oa=a=g.canvasWidth-g.canvasMarginLeft-g.canvasMarginRight,ha;L.paddingBottom=g.height-g.canvasBottom;k.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);k.setStyle(T);ba=k.getOriSize(P);k.setStyle(M);M=k.getOriSize(Q);F+=1;0>=F&&(F=1);a-=q;f*=p;F=ea(F*p,a);0>=F&&(f=F=0);L.symbolWidth=F;L.textPadding=
4;L.legendHeight=g=F+2*f;L.rowHeight=p=X(parseInt(L.itemStyle.lineHeight,10)||12,g);n=z+f+n;k.setStyle(L.itemStyle);T=k.getOriSize(h).height;h=D+L.borderWidth/2+1;h=ea(h,b-T-8);D=.05*p;if(ba||M)U=c(ba.height,0)>c(M.height,0)?(ha=H)&&ba.width:(ha=I)&&M.width;a=E?a:u-(U+W>e-b?2*ha+S+O+B+C:S+O+C+B);L.initialItemY=0;L.initialItemX=0;if(L.showLegend&&0!==r){for(u=0;u<r;u+=1)U=Qa[u],e=U.config||(U.config={}),W=U.configuration,U=e.name=d(W.label),U===J||0===W.enabled||!1===W.enabled?e.enabled=0:(e.enabled=
1,$+=1,ra=!0,U=k.getOriSize(U),V=X(V,U.width),fa=X(fa,ea(U.height,aa)),R+=U.width);L.validLegendItem=ra;ba=R/$;W=g+D+z+f+q;R+=W*$;L.x=(l-O-N+S)/2;L.x=!E&&R>oa?0:L.x;if(ra){ba+=W;V+=W;0<ja&&$<ja&&(ja=$);R<=a&&(0>=ja||ja===$)?(ja=$,G=R/$,ia=!0,fa>p&&(Ea=(fa-p)/2,p=fa)):0<ja&&(G=a/ja)>ba?G>V&&(G=V):a>V&&(K||1.5*ba>V)?(ja=da(a/V),$<ja&&(ja=$),G=V):a>=2*ba?(ja=da(a/ba),$<ja&&(ja=$),G=da(a/ja),G>V&&(G=V)):(ja=1,G=a);L.itemWidth=G;l=ga(G-W);0>l&&(f=l=z=0);L.symbolPadding=f;L.textPadding=z;L.width=G*ja-D;
w.oriText!==J&&(k.setStyle(w.style),U=k.getSmartText(w.oriText,a,aa),w.text=U.text,U.tooltext&&(w.originalText=U.tooltext),w=U.width+q,L.width<w&&(L.initialItemX=(w-L.width)/2,L.width=w),L.initialItemY=ca=U.height+t);k.setStyle(L.itemStyle);for(u=0;u<r;u+=1)if(U=Qa[u],e=U.config,0!==e.enabled){0===l&&(na[la]=!0,e.name=J,t=1,w=parseInt(la/ja,10),N=la%ja,e._legendX=N*G,e._legendY=w*p+q,e._legendH=t*p,e._totalWidth=F+f);if(ia)U=k.getOriSize(e.name),U.height<p&&(e._legendTestY=(p-U.height)/2),e._markerYGutter=
Ea,e._legendX=Z,e._legendY=q,e._legendH=p,e._totalWidth=F+n+U.width,Z+=U.width+W;else{U=k.getSmartText(e.name,l,aa);e.name=U.text;for(U.tooltext&&(e.originalText=U.tooltext);!0===na[la];)la+=1;w=U.height/p;N=la;for(t=0;t<w;t+=1,N+=ja)na[N]=!0;U.height<p&&(e._legendTestY=(p-U.height)/2);w=parseInt(la/ja,10);N=la%ja;e._legendX=N*G;e._legendY=w*p+q;e._legendH=t*p;e._totalWidth=F+n+U.width}la++}k=ia?1:ga(na.length/ja);L.height=L.totalHeight=La+(k*p+ca);L.rowHeight=p;L.legendNumColumns=ja;L.height-2*f>
b?(L.height=b,b=L.scroll||(L.scroll={}),b.enabled=!0,b.flatScrollBars=L.flatScrollBars,b.scrollBar3DLighting=L.scrollBar3DLighting,L.width=L.width+12>a?L.width:L.width+12):L.scroll.enabled=!1;h+=L.height;L.isActive=!0;L.enabled=!0}else L.enabled=!1,h=L.width=0}else h=0,L.height=0,L.width=0;return{bottom:h,right:0}},_placeLegendBlockRight:function(b){var a=this.config,f=this.components,g=this.chart,h=g.config,c=g.linkedItems.smartLabel,u=g.components.canvas.config.canvasBorderThickness||0,e=a.textPadding,
g=a.title.padding,l=a.oriSymbolPadding,N=a.legendPadding,k=a.legendScale,L=parseInt(a.itemStyle.fontSize,10),O=2*h.canvasHeight,m=0,S=2*a.padding,W=S,E={},K=!1,f=f.items||[],ja=f.length,p,n,aa,q=0;b-=S+N;L+=1;0>=L&&(L=1);l*=k;L=ea(L*k,b);0>=L&&(l=L=0);a.symbolPadding=l;a.symbolWidth=L;a.legendHeight=k=L+2*l;a.rowHeight=X(parseInt(a.itemStyle.lineHeight,10)||12,k);u=N+a.borderWidth/2+u;n=b-k-N-e;0>n&&(n=0);c.useEllipsesOnOverflow(h.useEllipsesWhenOverflow);c.setStyle(a.itemStyle);if(a.showLegend&&
0!==ja){for(q=0;q<ja;q+=1)p=f[q],h=p.config||(p.config={}),aa=p.configuration,p=h.name=d(aa.label),h._legendX=0,h._legendY=W,0===aa.enabled||!1===aa.enabled||p===J?h.enabled=0:(h.enabled=1,K=!0,0===n?(W+=h._legendH=k,h.name=J,h._totalWidth=L+l):(p=c.getSmartText(p,n,O),h.name=p.text,p.tooltext&&(h.originalText=p.tooltext),p.height<k&&(h._legendTestY=(k-p.height)/2),h._totalWidth=L+l+e+p.width+N,W+=h._legendH=X(p.height,k),m=X(p.width,m)));(a.validLegendItem=K)?(a.itemWidth=m+k+N+e,a.width=a.itemWidth+
S,a.title.oriText!==J&&(c.setStyle(a.title.style),p=c.getSmartText(a.title.oriText,b,O),a.title.text=p.text,p.tooltext&&(a.title.originalText=p.tooltext),c=p.width+S,a.width<c&&(a.initialItemX=(c-a.width)/2,a.width=c),a.initialItemY=p.height+g,W+=a.initialItemY),a.height=a.totalHeight=W,u=ea(a.width+u,b),E.right=u+N,a.isActive=!0,a.enabled=!0):(a.enabled=!1,a.width=0,E.right=0)}else E.right=0,a.height=0,a.width=0;return E},postSpaceManager:function(){var b=this.config,a=this.chart.config.canvasHeight;
"right"===b.legendPos&&(b.height>a?(b.height=a,b.scroll.enabled=!0,b.scroll.flatScrollBars=b.flatScrollBars,b.scroll.scrollBar3DLighting=b.scrollBar3DLighting,b.width+=(b.scroll.scrollBarWidth=10)+(b.scroll.scrollBarPadding=2)):b.scroll.enabled=!1)},configure:function(){var b=this.chart,a=this.config,f=b.config,u=f.style,h=b.jsonData.chart||b.jsonData.map,e=b.components.colorManager,l=b.is3D?E.chart3D:E.chart2D,N,k,L=c(h.useroundedges,0);N=u.outCancolor;k=c(h.legendpadding,7);var O=q(h.legenditemfont,
u.outCanfontFamily),m=c(h.legendiconscale,1),S=Ca(h.legenditemfontsize,u.fontSize),W=q(h.legenditemfontcolor,N).replace(/^#?([a-f0-9]+)/ig,"#$1"),K=q(h.legendiconbgcolor),ja=q(h.legendiconbordercolor),n=q(h.legendiconbgalpha,h.legendiconalpha,100),aa=q(h.legendiconborderalpha,h.legendiconalpha,100),w=c(h.legendiconsides,4),t=c(h.legendiconborderthickness),F=c(h.legendiconstartangle,45),Qa=la(q(h.legenditemhoverfontcolor,W)),r=La[c(h.legenditemfontbold,0)]||"",u=Ca(h.legendcaptionfontsize,u.fontSize)+
"px";a.isActive=!1;a.chartMarginTop=f.origMarginTop;a.chartMarginRight=f.origMarginRight;a.chartMarginBottom=f.origMarginBottom;a.chartMarginLeft=f.origMarginLeft;a.showLegend=c(h.showlegend,!b.dontShowLegendByDefault,1);S+="px";a.legendPos=q(h.legendposition,b.legendposition,"bottom").toLowerCase();a.numColumns=c(h.legendnumcolumns,0);a.xL=a.yL=0;if(0>=m||5<m)m=1;a.drawCustomLegendIcon=c(h.drawcustomlegendicon,0);a.customLegendConfig={bgColor:K,borderColor:ja,bgAlpha:n,borderAlpha:aa,borderThickness:t,
startAngle:F,sides:w};a.legendScale=m;a.legendPadding=k;a.oriSymbolPadding=3;a.textPadding=4;a.alignLegendWithCanvas=c(h.alignlegendwithcanvas,1);a.itemStyle={color:ra(W),fontFamily:O,fontSize:S,fontWeight:r};oa(a.itemStyle);a.itemHiddenStyle={fontFamily:O,fontSize:S,color:ra(q(h.legenditemhiddencolor,"cccccc").replace(/^#?([a-f0-9]+)/ig,"#$1")),fontWeight:r};oa(a.itemHiddenStyle);a.title.style={fontFamily:q(h.legendcaptionfont,O),fontSize:u,color:q(h.legendcaptionfontcolor,N).replace(/^#?([a-f0-9]+)/ig,
"#$1"),fontWeight:La[c(h.legendcaptionfontbold,1)]||""};a.title.align=g[h.legendcaptionalignment&&h.legendcaptionalignment.toLowerCase()||g.center]||g.center;a.itemHoverStyle={color:ra(Qa.replace(/^#?([a-f0-9]+)/ig,"#$1"))};a.padding=4;f=q(h.legendbordercolor,e.getColor(l.legendBorderColor));N=c(h.legendborderalpha,100);k=c(h.legendbgalpha,100);a.backgroundColor=ra(q(h.legendbgcolor,e.getColor(l.legendBgColor)),k);a.borderColor=ra(f,N);a.borderWidth=c(h.legendborderthickness,!L||h.legendbordercolor?
1:0);a.borderRadius=c(L,0);a.shadow=Boolean(c(h.legendshadow,1));a.symbol3DLighting=Boolean(c(h.use3dlighting,h.useplotgradientcolor,1));a.shadow&&(a.shadow={enabled:a.shadow,opacity:X(N,k)/100});a.reversed=Boolean(c(h.reverselegend,0));a.style={padding:4};a.lineWidth=c(h.linethickness,2);(a.interactiveLegend=!1!==b.hasInteractiveLegend&&Boolean(c(h.interactivelegend,1)))?(a.interactiveLegend=!0,a.symbolStyle={_cursor:"hand",cursor:"pointer"}):(a.interactiveLegend=!1,a.itemStyle.cursor="default",
a.itemHoverStyle.cursor="inherit");a.borderRadius=c(h.legendborderradius,L?3:0);a.legendAllowDrag=Boolean(c(h.legendallowdrag,0));a.title.text=a.title.oriText=d(p(h.legendcaption,J));a.legendScrollBgColor=la(q(h.legendscrollbgcolor,h.scrollcolor,e.getColor("altHGridColor")));a.legendScrollBarColor=q(h.legendscrollbarcolor,f);a.legendScrollBtnColor=q(h.legendscrollbtncolor,f);a.minimiseWrappingInLegend=c(h.minimisewrappinginlegend,0);a.flatScrollBars=c(h.flatscrollbars,0);a.scrollBar3DLighting=c(h.scrollbar3dlighting,
1)},_drawPointLegendItem:function(){var b=this,a=b.chart,f=a.config,g=a.get("config","animationObj"),h=g.transposeAnimDuration,d=g.animType,u=g.dummyObj,g=g.animObj,e=a.components.dataset,L=a.components.paper,O=b.config,S=O.reversed,W=b.components.items||[],E=O.legendHeight,p=O.symbolPadding,ja=O.symbolWidth,n=O.interactiveLegend,aa=O.textPadding||2,La=c(O.padding,4),f=f.textDirection,t=O.itemHiddenStyle,F=O.itemStyle,Qa=O.itemHoverStyle,r=O.lineWidth,z=F.color,D=t&&t.color||"#CCCCCC",t=b.graphics,
B=t.itemGroup,C=O.drawCustomLegendIcon,G=O.customLegendConfig,J,I,T,M,V,Q,R,X,$,ea,Ba,fa,za,Bb,U,ca,ga,Ea,ia,da,la,Z,ha,oa,ua,Fa,Ca,qa,Sa,wa=m.hashify,Ha=function(b){var f=this.data("legendItem"),h=f.configuration.datasetObj||f.dataset,f=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);f.chartX=b.chartX;f.chartY=b.chartY;f.pageX=b.pageX;f.pageY=b.pageY;f.preventDefaults=function(){};k.raiseEvent("LegendItemClicked",f,a.chartInstance)},Ia=function(b){var f=this.data("legendItem")||{},h=f.configuration.datasetObj||
f.dataset,g=this.data("interactive"),h=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);var d=this.data("itemHoverStyle"),c=f.graphics&&f.graphics.legendItemText;!1!==f.dataset.visible&&g&&c&&c.attr({fill:d.color});h.chartX=b.chartX;h.chartY=b.chartY;h.pageX=b.pageX;h.pageY=b.pageY;h.legendItemIndex=f.index;h.legendItemId=f.legendItemId;k.raiseEvent("LegendItemRollover",h,a.chartInstance)},Ja=function(b){var f=this.data("legendItem")||{},h=f.configuration.datasetObj||f.dataset,g=this.data("interactive"),
h=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);var d=!1!==f.dataset.visible,c=this.data("itemStyle"),u=f.graphics&&f.graphics.legendItemText;d&&g&&u&&u.attr({fill:c.color});h.chartX=b.chartX;h.chartY=b.chartY;h.pageX=b.pageX;h.pageY=b.pageY;h.legendItemIndex=f.index;h.legendItemId=f.legendItemId;k.raiseEvent("LegendItemRollout",h,a.chartInstance)},Za=function(a){var f=this.data("legendItem"),h=f.dataset;this.data("interactive")&&f.legendClickFN.call(b,h,f,e);Ha.call(this,a)},Xa=function(){Ea=
.5*ja;ga=X+p+Ea;M=$+(U._markerYGutter||0)+p+Ea;Pa&&(Ea*=.6);qa=l(Z.anchorSide);da=Z.symbol=qa&&qa.split("_")||[];ia="spoke"===da[0]?1:0;ib={polypath:[da[1]||2,ga,M,Ea,Z.startAngle,Z.spoke||ia]};Da={cursor:F.cursor||"pointer",stroke:T?ha:D,fill:T?oa:D,"stroke-width":la,ishot:n}},Na,Da,Oa={},Pa,ib;J=O.initialItemX||0;I=O.initialItemY||0;if(!1!==O.enabled&&O.showLegend){Ba=0;for(fa=W.length;Ba<fa;Ba+=1)O=W[Ba],O.index=Ba,Z=O.configuration,Q=Z.type,U=O.config=O.config||(O.config={}),t=O.graphics||(O.graphics=
{}),za=O.dataset,za.graphics&&(za.graphics.legendGraphics=t),ha=U.strokeColor=Z.strokeColor||"000000",oa=U.fillColor=Z.fillColor||"000000",U.interactiveLegend=Z.interactiveLegend,U.legendBackgroundColor=Z.legendBackgroundColor?ba({color:Z.legendBackgroundColor,alpha:20}):ba(N),ua=Z.anchorSide,Fa=U.drawLine=Z.drawLine,r=Z.lineWidth||r,Ca=Z.lineColor||ha,X=J+U._legendX+La,$=I+U._legendY-La,la=U.strokeWidth=Z.strokeWidth||.5,ea=U._legendH,T=!1!==za.visible,za=t.legendItemBackground,V=t.legendItemText,
Bb=t.legendItemLine,ca=t.legendItemSymbol,n=q(U.interactiveLegend,n),!n&&(F.cursor="default"),0!==U.enabled?(Sa={x:X+E+aa-2,y:$+(U._legendTestY||0)},R={"class":"fusioncharts-legenditem",text:U.name,fill:T?z:D,"vertical-align":"top",direction:f,"text-anchor":"start",cursor:F.cursor||"pointer","line-height":F.lineHeight,"font-size":F.fontSize,"font-weight":F.fontWeight,"font-family":F.fontFamily},Na=ib=null,U.textAttr=R,V?V.show().animateWith(u,g,{x:X+E+aa-2,y:$+(U._legendTestY||0)},h):V=t.legendItemText=
L.text(Sa,B).data("legendItem",U),V.attr(R),Pa=!1,C&&!1!==Z.customLegendIcon?(Sa=G.borderColor,V=q(G.borderAlpha),Ca=G.bgColor,R=q(G.bgAlpha,"100"),ua||"line"===Q||Fa||"spline"===Q?(Q=wa(Z.rawStrokeColor),Z.rawFillColor=wa(Z.rawFillColor),oa=q(Ca,Z.rawFillColor,U.color),/^#/.test(oa)&&(oa=ra(oa,R)),Ca=q(Sa,Q,U.strokeColor),Ca=ra(Ca,V),U.anchorSide=G.sides):(Q=q(Z.rawFillColor,U.fillColor),oa=q(Ca,Q),oa=ra(oa,R),G.borderColor?Ca=ra(G.borderColor,V):(/rgb/.test(Q)&&(Q=K(Q)),Ca=na(Q,60).replace(w,H),
Ca=ra(Ca,V))),U.fillColor=oa,U.strokeColor=Ca,Ea=.5*ja,ga=X+p+Ea,M=$+(U._markerYGutter||0)+p+Ea,da=(qa=l(G.sides))&&l(G.sides).split("_")||[],ia="spoke"===da[0]?1:0,ib={polypath:[da[1]||2,ga,M,Ea,G.startAngle,ia]},Da={cursor:F.cursor||"pointer",stroke:T?Ca:D,fill:T?oa:D,"stroke-width":c(G.borderThickness,1),ishot:n}):"line"===Q||Fa?(M=$+(U._markerYGutter||0)+p+.5*ja,Na={path:["M",X+p,M,"L",X+p+ja,M]},Pa=!0,Oa={"stroke-width":r,stroke:T?Ca:D,cursor:F.cursor||"pointer",ishot:n},ua&&Xa()):ua?Xa():"line"!==
Q&&(ca=t.legendItemSymbol,Q=b._getSymbolPath(X+p,$+(U._markerYGutter||0)+p,ja,ja,Q),ib={path:Q.path},Da={"stroke-width":.5,stroke:T?ha:D,fill:T?oa:D,cursor:F.cursor||"pointer",ishot:n}),Na&&Pa?(U.lineAttr=Oa,Bb||(Bb=t.legendItemLine=L.path(B),Bb.attr(Na)),Bb.show().animateWith(u,g,Na,h,d),Bb.attr(Oa).data("legendItem",U)):Bb&&Bb.hide(),ib?(U.symbolAttr=Da,ca||(ca=t.legendItemSymbol=L.polypath(B),ca.attr(ib)),ca.show().animateWith(u,g,ib,h,d),ca.attr(Da),ca.data("legendItem",U)):ca&&ca.hide(),ea={x:X,
y:$,width:U._totalWidth,height:ea},Bb={r:0,fill:U.legendBackgroundColor,"stroke-width":1,stroke:"none",cursor:F.cursor||"pointer",ishot:n},za||(za=t.legendItemBackground=L.rect(B),za.attr(ea).mouseover(Ia).mouseout(Ja).click(Za)),za.show().animateWith(u,g,ea,h,d),za.attr(Bb),za.data("legendItem",O).data("interactive",n).data("itemHoverStyle",Qa).data("itemStyle",F)):(V&&V.hide(),za&&za.hide(),ca&&ca.hide(),Bb&&Bb.hide());S&&W.reverse()}},_getSymbolPath:function(b,a,f,g,h){var d=["M"],c,u,e;switch(h){case "column":case "dragcolumn":case "column3d":c=
.25*f;h=.5*c;u=.7*g;e=.4*g;d=d.concat([b,a+g,"l",0,-u,c,0,0,u,"z","m",c+h,0,"l",0,-g,c,0,0,g,"z","m",c+h,0,"l",0,-e,c,0,0,e,"z"]);break;case "bar":case "bar3d":c=.3*f;h=.6*f;u=g/4;e=u/2;d=d.concat([b,a,"L",b+h,a,b+h,a+u,b,a+u,"Z","M",b,a+u+e,"L",b+f,a+u+e,b+f,a+u+e+u,b,a+2*u+e,"Z","M",b,a+2*(u+e),"L",b+c,a+2*(u+e),b+c,a+g,b,a+g,"Z"]);break;case "area":case "area3d":case "areaspline":case "dragarea":u=.6*g;e=.2*g;h=.8*g;d=d.concat([b,a+h,"L",b,a+u,b+.3*f,a+e,b+.6*f,a+u,b+f,a+e,b+f,a+h,"Z"]);break;
case "pie2d":case "pie3d":case "doughnut2d":case "doughnut3d":c=.5*f;h=.9*c;f=b+c+1;g=a+c-1;b=b+c-1;a=a+c+1;d=d.concat(["M",f,g,"L",f,g-h+1,"A",h-1,h-1,0,0,1,f+h-1,g,"Z","M",b,a,"L",b,a-h,"A",h,h,0,1,0,b+h,a,"Z"]);break;case "boxandwhisker2d":d=d.concat([b,a,"L",b+f,a,b+f,a+g,b,a+g,"Z"]);break;default:d=d.concat([b,a,"L",b+f,a,b+f,a+g,b,a+g,"Z"])}return{path:d}},emptyItems:function(b,a){var f=this.components,g=f.items||(f.items=[]),h,d,f=void 0!==a?a:g.length,c=g.splice(b,f);b=0;for(f=c.length;b<
f;b+=1)for(h in g=(c[b]||(c[b]={})).graphics,g)(d=g[h])&&d.remove&&"function"===typeof d.remove&&d.remove()},removeItem:function(b){var a=this.getItems()||[],f,g,h,d=a.length;for(f=0;f<d;f++)if(g=a[f],h=g.legendItemId,b===h){ab.call(g);a.splice(f,1);break}},addItems:function(b,a,f){var g,h=this.components;g=this.lastItemId;var d=q(b.legendItemId,f.legendItemId),h=h.items||(h.items=[]);void 0!==d?(this.configureItems(d,{legendClickFN:a,configuration:f,dataset:b}),g=d):(void 0===g?this.lastItemId=g=
"FCLEGEND_0":(g=(g=g.split("_"))&&g[1],this.lastItemId=g="FCLEGEND_"+ ++g),h.push({legendItemId:g,dataset:b,legendClickFN:a,configuration:f||{}}));return g},configureItems:function(b,a){var f=this.components.items,g,h,d=f.length,c,u;for(h=0;h<d&&(u=f[h],!u.dataset||(c=q(u.dataset.legendItemId,u.legendItemId),c!==b));h++);for(g in u)if(g in a)switch(g){case "configuration":this.mergeConf(a[g],u[g]);break;default:u[g]=a[g]}},mergeConf:function(b,a){var f,g;for(f in b)g=b[f],void 0!==g&&null!==g&&(a[f]=
g)},getItems:function(){return this.components.items},hide:function(){this.chart.graphics.legendGroup.hide()}},void 0,{enabled:!0,symbolWidth:12,borderRadius:1,backgroundColor:"#FFFFFF",initialItemX:0,title:{text:"",x:0,y:0,padding:2},scroll:{},itemStyle:{}}]);FusionCharts.register("component",["toolbox","horizontaltoolbox",{init:function(b){this.config={type:b};this.components={};this.graphics={};this._configure()},_getPosition:function(){var b=this.config.type,a=b.frame,f=b.orientation,g=b.placement,
h={chart:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}},canvas:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}}};!b&&(b={});return a&&g&&f?h[a][g][f]:b},_configure:function(){var b,a,f=this.config,g=this.chart,h=g.jsonData.chart,d=g.config,g=d.width,d=d.height;f.scale=c(h.toolbarbuttonscale,1.15);f.width=c(h.toolbarbuttonwidth,15);f.height=c(h.toolbarbuttonheight,15);f.radius=c(h.toolbarbuttonradius,2);f.spacing=c(h.toolbarbuttonspacing,
5);f.fill=ra(q(h.toolbarbuttoncolor,"ffffff"));f.labelFill=ra(q(h.toolbarlabelcolor,"cccccc"));f.symbolFill=ra(q(h.toolbarsymbolcolor,"ffffff"));f.hoverFill=ra(q(h.toolbarbuttonhovercolor,"ffffff"));f.stroke=ra(q(h.toolbarbuttonbordercolor,"bbbbbb"));f.symbolStroke=ra(q(h.toolbarsymbolbordercolor,"9a9a9a"));f.strokeWidth=c(h.toolbarbuttonborderthickness,1);f.symbolStrokeWidth=c(h.toolbarsymbolborderthickness,1);b=f.symbolPadding=c(h.toolbarsymbolpadding,5);f.symbolHPadding=c(h.toolbarsymbolhpadding,
b);f.symbolVPadding=c(h.toolbarsymbolvpadding,b);a=f.position=q(h.toolbarposition,"tr").toLowerCase();switch(a){case "tr":case "rt":case "top right":case "right top":a="tr";break;case "br":case "rb":case "bottom right":case "right bottom":a="br";break;case "tl":case "lt":case "top left":case "left top":a="tl";break;case "bl":case "lb":case "bottom left":case "left bottom":a="bl";break;default:a="tr"}b=f.hAlign="left"===(J+h.toolbarhalign).toLowerCase()?"l":a.charAt(1);a=f.vAlign="bottom"===(J+h.toolbarvalign).toLowerCase()?
"b":a.charAt(0);f.hDirection=c(h.toolbarhdirection,"r"===b?-1:1);f.vDirection=c(h.toolbarvdirection,"b"===a?-1:1);f.vMargin=c(h.toolbarvmargin,6);f.hMargin=c(h.toolbarhmargin,10);f.x=c(h.toolbarx,"l"===b?0:g);f.y=c(h.toolbary,"t"===a?0:d)},_manageToolBoxPosition:function(b,a){var f,g,h=0,d=this.components;for(f in d)d.hasOwnProperty(f)&&(g=d[f],g=g._spaceOccupied(),h=X(h,g.height));h>a&&this._postSpaceManager();return{top:0,bottom:h,left:0,right:0}},addItem:function(b){var a,f,g,h=this.components;
for(a=0;a<b.length;a+=1)g=b[a],f=h[g.name]=new (FusionCharts.register("component",["toolButton","button"])),f.init(this,g),f.chart=this.chart},draw:function(){var b,a,f=this.components,g=this.x,h=this.y;for(b in f)f.hasOwnProperty(b)&&(a=f[b],a.draw(g,h))},_postSpaceManager:function(){}}]);FusionCharts.register("component",["toolBox","verticalToolBox",{},"horizontaltoolbox"]);FusionCharts.register("component",["toolButton","button",{init:function(){this.config={};this.components={};this.graphics=
{};this._configure.apply(this,arguments)},_configure:function(b,a){var f=b.config,g=this.config;g.type=a.type;g.scale=c(a.scale,f.scale);g.width=c(a.width,f.width);g.height=c(a.height,f.height);g.radius=c(a.radius,f.radius);g.spacing=c(a.spacing,f.spacing);g.fill=ra(q(a.fill,f.fill));f.x=c(a.x,f.x);f.y=c(a.y,f.y)},draw:function(){this["_draw"+this.config.type]()},_drawScroller:function(){var b=this.chart,a=b.components,f=b.config,g=b.jsonData.chart,h=a.paper,d=b.graphics,u=a.xAxis["0"]||{},a=u.config,
e=a.rawAttr.axisLineThickness,l=a.axisData||{},a=f.scrollOptions||{},N=f.canvasTop,L=f.canvasLeft,O=f.canvasWidth,S=f.canvasHeight,W=f.canvasBorderWidth,l=W||(l.showLine?e:0),E=W||e,e=W||e,g=f.useRoundEdges||(f.useRoundEdges=c(g.useroundedges,0)),p,K,ja,n,aa,q,La,w,t,F,Qa,r=d.scroller,W=d.datasetGroup,z;a.enabled&&(z=d.scroll=d.scroll||h.group("scroll").insertAfter(W),W=a.scrollRatio,n=c(a.startPercent),aa=a.viewPortMax,q=a.viewPortMin,K=a.vxLength,ga(K),La=a.showButtons,w=a.height,t=a.padding,F=
a.color,Qa=a.flatScrollBars,K=a.windowedCanvasWidth=u.getAxisPosition(K),p=a.fullCanvasWidth=u.getAxisPosition(aa-q)-K,ja=Z(n*p),r||(r=d.scroller=h.scroller(L-E,N+S+l+t-!!l,O+E+e,w,!0,{showButtons:La,displayStyleFlat:Qa,scrollRatio:W,scrollPosition:n},z).data("fullCanvasWidth",p).data("windowedCanvasWidth",K).attr({"scroll-display-style":Qa,fill:F,r:g&&2||0}).scroll(function(a){var h=f.viewPortConfig;ja=-Z(a*p);h.x=-ja/h.scaleX;m.chartAPI.mscolumn2d._drawDataset.call(b);u.draw()})),function(){var a;
C.eve.on("raphael.scroll.start."+r.node.id,function(f){a=f;k.raiseEvent("scrollstart",{scrollPosition:f},b.chartInstance)});C.eve.on("raphael.scroll.end."+r.node.id,function(f){k.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:f},b.chartInstance)})}());this._finalizeScrollPlots();return a.enabled},_finalizeScrollPlots:function(){var b=this.chart,a=b.config,f=b.container,g=b.graphics,h=g.scroller,d=g.datasetGroup,u=g.datalabelsGroup,e=g.trackerGroup,l,N={},L,O,S=b.components.xAxis["0"]||
{};L=a.scrollOptions||{};var W=c(L.startPercent),E=L.fullCanvasWidth,p,K=a.animation,n=L.startPercent,a=[X(0,a.canvasLeft),X(0,a.canvasTop),X(1,a.canvasWidth),X(1,a.canvasHeight)];L.enabled&&(d.attr({"clip-rect":a}),u.attr({"clip-rect":a}),e.attr({"clip-rect":a}),L=function(a){var f=g.canvas,d=l.left,c=l.top,u={pageX:0,pageY:0},e=a.state,u=ja&&m.getTouchEvent(a)||u;a=a.originalEvent;d=(a.clientX||a.pageX||u.pageX)-d;c=(a.clientY||a.pageY||u.pageY)-c;switch(e){case "start":O=f.isPointInside(d,c);N.ox=
O&&d||null;if(!O)return!1;N.prevScrollPosition=h.attrs["scroll-position"];k.raiseEvent("scrollstart",{scrollPosition:N.prevScrollPosition},b.logic.chartInstance);break;case "end":k.raiseEvent("scrollend",{prevScrollPosition:N.prevScrollPosition,scrollPosition:N.scrollPosition},b.logic.chartInstance);O=!1;N={};break;default:if(!O)break;f=d-N.ox;N.ox=d;N.scrollPosition=h.attrs["scroll-position"]-f/E;h.attr({"scroll-position":N.scrollPosition})}},ja&&(l=V(f),f&&(D(f,"pointerdrag",L),fa(f,"pointerdrag",
L))),0<W&&(p=-Z(W*E),d&&d.transform(["T",p,0]),e&&e.transform(["T",p,0]),S.setOffset&&S.setOffset(p),K&&n?b.animationCompleteQueue.push({fn:function(){u&&u.transform(["T",p,0])},scope:b}):u&&u.transform(["T",p,0])))},_spaceOccupied:function(){var b=this.config;return{x:b.x,y:b.y,width:b.width,height:b.height}}}]);qa("base",{creditLabel:!1,setChartMessage:function(b,a,f){var g=this.components||(this.components={}),h=this.chartInstance,u=h.options,e=h.args,l=this.config||(this.config={}),N=this.linkedItems&&
this.linkedItems.smartLabel||h.jsVars.smartLabel,k=m.getImageURL(void 0!==b?b:u.dataEmptyMessage),L,O;f&&!this.linkedItems?this.linkedItems={container:f}:f=this.linkedItems.container;L=l.prevWidth=f.offsetWidth;O=l.prevHeight=f.offsetHeight;b=l.height=Number(O);h=l.width=Number(L);l.hasChartMessage=!0;g.paper?g.paper.setSize(L,O):(f=g.paper=new C(f,L,O),f.setConfig("stroke-linecap","round"));k.image?(b=k.string,a=a?{imageHAlign:q(a._chartMessageImageStyle.imageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),
imageVAlign:q(a._chartMessageImageStyle.imageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(a._chartMessageImageStyle.imageAlpha,u.baseChartMessageImageAlpha),imageScale:c(a._chartMessageImageStyle.imageScale,u.baseChartMessageImageScale)}:{imageHAlign:q(e.dataEmptyMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(e.dataEmptyMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(e.dataEmptyMessageImageAlpha,u.baseChartMessageImageAlpha),
imageScale:c(e.dataEmptyMessageImageScale,u.baseChartMessageImageScale)},l.chartMessageType="image"):(a=a?{"font-family":a._chartMessageStyle.fontFamily||u.baseChartMessageFont,"font-size":a._chartMessageStyle.fontSize||u.baseChartMessageFontSize,fill:a._chartMessageStyle.color||u.baseChartMessageColor}:{"font-family":e.dataEmptyMessageFont||u.baseChartMessageFont,"font-size":e.dataEmptyMessageFontSize||u.baseChartMessageFontSize,fill:e.dataEmptyMessageColor||u.baseChartMessageColor},N.setStyle(a),
u=N.getSmartText(d(k.string),h,b),b={text:u.text,x:h/2,y:b/2},l.chartMessageType="text");l.chartMessageAttr=b;l.chartMessageStyle=a},_hideChartMessage:function(){var b=this.config,a=this.components.chartMessage.graphics,f;"image"===b.chartMessageType&&!a.backgroundImage&&a.backgroundElement&&(b.stopImageDraw=!0);b&&(b.hasChartMessage=!1);for(f in a)a[f].hide?a[f].hide():a[f][0]&&a[f][0].hide()},drawChartMessage:function(){var b=this.config,a=this.components,f=a.paper,g,a=a.chartMessage||(a.chartMessage=
{}),a=a.graphics||(a.graphics={});g=this.graphics||(this.graphics={});g=g.messageGroup||(g.messageGroup=f.group("messageGroup"));this._hideChartMessage();b.hasChartMessage=!0;"image"===b.chartMessageType?this._drawBackground(b.chartMessageAttr,b.chartMessageStyle):a.message||"text"!==b.chartMessageType?(a.message=a.message.attr(b.chartMessageAttr).attr(b.chartMessageStyle),a.message.show()):a.message=f.text(b.chartMessageAttr,g).attr(b.chartMessageStyle);this._drawCreditLabel()},dispose:function(){var b=
this.components,b=b&&b.paper,a=this.linkedItems&&this.linkedItems.eventListeners,f=a&&a.length;for(this._clearTimers&&this._clearTimers();f--;)a[f].unlisten();b&&(b.clear(),b.remove());this.chartInstance&&delete this.chartInstance.apiInstance;ab.call(this)},_drawBackground:function(b,a){var f=this,g=f.components,h=f.graphics,d=f.jsonData&&f.jsonData.chart||{},u=g.paper,e=b?g.chartMessage:g.background,l=e.graphics,g=l.backgroundElement,N=l.borderElement,e=e.config||{},L=f.config,O=L.width,S=L.height,
W,E,p,K,ja,n,aa,La=f.get&&f.get("config","animationObj")||{},w=La.animType,Qa=La.animObj,r=La.dummyObj,z=La.duration,D,B,C=b?h.messageGroup:h.backgroundGroup,G=e.borderWidth||0,h=e.borderRadius,La=e.borderDashStyle,H=e.borderColor,I=e.bgSWF=q(b,d.bgimage,d.bgswf),M=e.bgSWFAlpha=c(a&&a.imageAlpha,d.bgimagealpha,d.bgswfalpha,100),V=e.imgClipRect=G+","+G+","+(O-2*G)+","+(S-2*G),Q=q(d.bgimagedisplaymode,"none").toLowerCase(),P=(a&&t(a.imageVAlign)||t(d.bgimagevalign,J)).toLowerCase(),R=(a&&a.imageHAlign||
d.bgimagehalign||J).toLowerCase(),X=e.bgImageScale=c(a&&a.imageScale,d.bgimagescale,100),d=e.containerBackgroundColor=m.getContainerBackgroundColor(f);u.canvas.style.backgroundColor=d;"tile"==Q||"fill"==Q||"fit"==Q?(P!=ha&&"middle"!=P&&P!=Ia&&(P="middle"),R!=Ta&&"middle"!=R&&R!=wa&&(R="middle")):(P!=ha&&"middle"!=P&&P!=Ia&&(P=ha),R!=Ta&&"middle"!=R&&R!=wa&&(R=Ta));e.bgSWFAlpha=M;e.bgImageVAlign=P;e.bgImageHAlign=R;e.backgroundColor=e=!b&&f._getBackgroundCosmetics();d={x:G,y:G,width:O-2*G,height:S-
2*G,stroke:"none",fill:ba(e)};g?(g.animateWith(r,Qa,{x:G,y:G,width:O-2*G,height:S-2*G},z,w),g.attr({stroke:"none",fill:ba(e)})):l.backgroundElement=u.rect(d,C);d={x:G/2,y:G/2,width:O-G,height:S-G,stroke:H,"stroke-width":G,"stroke-dasharray":La,fill:"none",r:h||0};N||b?b||(N.animateWith(r,Qa,{x:G/2,y:G/2,width:O-G,height:S-G,r:h||0},z,w),N.attr({stroke:H,"stroke-width":G,"stroke-dasharray":La,fill:"none"})):l.borderElement=u.rect(d,C);if(I)W=new F,p=E=1,W.onload=function(){if(L.stopImageDraw)L.stopImageDraw=
!1;else{!l.backgroundImage&&(l.backgroundImage=[]);if(l.backgroundImage)for(B=0,D=l.backgroundImage.length;B<D;B++)l.backgroundImage[B].hide();K=T(Q,P,R,X,G,O,S,W);K["clip-rect"]=V;if(K.tileInfo)for(E=K.tileInfo.xCount,p=n=K.tileInfo.yCount,ja=K.y,delete K.tileInfo,aa=0;E&&K.width&&K.height;)--n,l.backgroundImage[aa]||(l.backgroundImage[aa]=u.image(I,C)),l.backgroundImage[aa].show(),l.backgroundImage[aa].animateWith(r,Qa,K,z,w),l.backgroundImage[aa].attr({src:I}).css({opacity:.01*M}),K.y+=K.height,
0===n&&(n=p,--E,K.x+=K.width,K.y=ja),aa++;else l.backgroundImage[0]||(l.backgroundImage[0]=u.image(I,C),l.backgroundImage[0].attr(K)),l.backgroundImage[0].show(),l.backgroundImage[0].animateWith(r,Qa,K,z,w),l.backgroundImage[0].css({opacity:.01*M}).attr({src:I,visibility:$,"clip-rect":V});k.raiseEvent("BackgroundLoaded",{url:I,bgImageAlpha:100*M,bgImageDisplayMode:Q,bgImageVAlign:P,bgImageHAlign:R,bgImageScale:X,imageWidth:W.width,imageHeight:W.height},f.chartInstance)}},W.onerror=function(b){k.raiseEvent("BackgroundLoadError",
{url:I,bgImageAlpha:100*M,error:b,bgImageDisplayMode:Q,bgImageVAlign:P,bgImageHAlign:R,bgImageScale:X},f.chartInstance)},W.src=I;else if(l.backgroundImage)for(B=0,D=l.backgroundImage.length;B<D;B++)l.backgroundImage[B].hide()},redraw:function(){this.draw&&this.draw()},_drawCreditLabel:function(){var b=this.creditLabel,f=this.config.height,g=this.graphics,d=g.creditLabel,h=g.creditGroup,c=g.parentGroup||g.messageGroup,u=this.components.paper,e={href:m.CREDIT_HREF,text:m.CREDIT_STRING};h||(h=g.creditGroup=
u.group("creditgroup"));c&&h.insertAfter(c);f={text:e.text,x:6,y:f-4,"vertical-align":Ia,"text-anchor":"start",fill:"rgba(0,0,0,0.5)",title:e.title||""};g={fontSize:9,fontFamily:"Verdana,sans",cursor:"pointer",_cursor:"hand"};b&&(d||(d=this.graphics.creditLabel=u.text(h)),d.attr(f).css(g).click(function(){try{a.open(e.href)}catch(b){(a.top||a).location.href=e.href}}))},eiMethods:{hideChartMessage:function(){var b=this.apiInstance;b._show.apply(b);b._hideChartMessage(b)}}});qa("mscartesian",{standaloneInit:!1,
tooltipConstraint:"chart",annotationInteractionEvents:!0,useScaleRecursively:!0,init:function(b,a,f,g){f=this.chartInstance||f;var h=f.jsVars,d=a.colorrange,c;a.chart=a.chart||a.graph||a.map||{};this.jsonData=a;a=this.components||(this.components={});a.background||(a.background={graphics:{},config:{}});a.canvas||(a.canvas={graphics:{},config:{}});c=FusionCharts.register("component",["caption","caption"]);a.caption||(a.caption=new c);a.caption.init();a.caption.chart=this;c=FusionCharts.register("component",
["caption","subCaption"]);a.subCaption||(a.subCaption=new c);a.subCaption.init();a.dataset||(a.dataset=[]);this.linkedItems={container:b,smartLabel:h.smartLabel};a.colorManager=new m.colorManager(this);a.numberFormatter=new S(this);d&&(a.colorRange=new m.ColorRange(this));this._checkInvalidData()?m.raiseEvent("nodatatodisplay",{},f,[f.id]):(this._createLegend(),this._createGradientLegend(),this.configure(),this.disposeChartStyleSheet(),this._createAxes(),this._feedAxesRawData(),this.config.realtimeEnabled&&
(f=FusionCharts.get("component",["manager","alert"]))&&(a.alertManager=new f,a.alertManager.init(this),a.alertManager.configure()),this._createDatasets(),this._createQuadrant&&this._createQuadrant(),this.draw(),this.setChartEvents());g({hasRendered:!0,container:b})},_checkInvalidData:function(){var b=this.jsonData,a=this.chartInstance;if(!(this.isWidget||this.isMap||b.data&&0!==b.data.length||b.dataset||b.value||b.lineset||b.annotations||b.category||b.tasks||b.process||b.axis))return this.setChartMessage(),
this.drawChartMessage(),a.__state.dataReady=!1,a.jsVars.hasNativeMessage=!0,a.jsVars.drawCount+=1,!0},_createToolBox:function(){var b,f,g,d,h,u,e,l;h=!!a.btoa;var k=this,L=k.jsonData.chart,O=c(L.exportshowmenuitem),S=L.exportformats,W=k.chartMenuTools,L=W.get,E=W.set,W=this.components,p=k.config,K=p.exportOption.enabled;b=W.chartMenuBar;var p=p.printOption.enabled,ja={PNG:"Export As PNG",JPG:"Export As JPG",PDF:"Export As PDF",SVG:"Export As SVG",XLS:"Export As XLS"},n={},aa=[],q;if(!b||!b.drawn){b=
W.tb||(W.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));l=b.init({graphics:k.graphics||(k.graphics={}),chart:k,components:W});W.toolBoxAPI=g=W.toolBoxAPI||(W.toolBoxAPI=b.getAPIInstances(b.ALIGNMENT_HORIZONTAL));d=g.SymbolWithContext;f=g.SymbolStore;u=g.ComponentGroup;e=g.Toolbar;b.idCount=b.idCount||0;b.pId=l;g=b.getDefaultConfiguration();f.register("ContextIcon",function(b,a,f){var h=2*f;f=Z(h/4);var g=.7*Z(h/2),h=b-g;b+=g;g=a+f;f=a-f;return["M",h,a,"L",b,a,"M",h,g,"L",b,g,"M",
h,f,"L",b,f]});f=new d("ContextIcon",b.idCount++,l);d=f.getListRefernce();if(K&&0!==O){if(S)for(O=S.split("|"),n=0,K=O.length;n<K;n++)S=O[n].split("="),q=S[0].toUpperCase(),ja[q]&&(ja[q]=S[1]);O=function(b){return function(){m.exportChart.call(k,b)}};for(q in ja)if("XLS"!==q||h)n={},n[ja[q]]={handler:O({exportformat:q}),action:"click"},aa.push(n);E(aa)}p&&E([{Print:{handler:function(b){k.chartInstance.print.call(k.chartInstance,b)},action:"click"}}]);d.appendAsList(L());h=new u(b.idCount++,l);h.setConfiguaration({buttons:g,
group:{fill:N,borderColor:N}});h.addSymbol(f);b=W.chartMenuBar=new e(b.idCount++,b.pId);b.addComponent(h)}},chartMenuTools:function(){var b=[];return{get:function(){return b},set:function(a){var f,g=a.length||0;for(f=0;f<g;f+=1)b.push(a[f])},reset:function(a,f){var g=f.components.chartMenuBar;g&&(g.drawn=!1);b.length=0;a&&(a.idCount=0,a.clean())}}}(),getConfig:function(b){return b?this.config[b]:this.config},get:function(b,a){var f=this[b];return a?f&&f[a]:f},disposeChartStyleSheet:function(){var b=
this.components.paper;b&&b.cssClear()},createChartStyleSheet:function(){this.components.paper.cssRender()},configure:function(){var b,a,g,u=this.components,h=this.jsonData,e,l=this.chartInstance,N=u.colorManager,k=this.is3D,L=k?E.chart3D:E.chart2D,O=this.isBar,S,K;S=!1;var ja=u.legend,n={linear:"linear",easein:"easeIn",easeout:"easeOut",easeinout:"easeInOut",backin:"backIn",backout:"backOut",elastic:"elastic",bounce:"bounce"};h.chart=h.chart||h.graph||h.map||{};delete h.map;delete h.graph;e=h.chart;
!e&&(e=h.chart={});u.colorRange||(u.colorRange=new m.ColorRange(this));h=this.config||(this.config={});this.__setDefaultConfig();I(e,h);h.snapLiterals={};h.viewPortConfig={scaleY:1,scaleX:1,x:0,y:0};k&&(O?(h.xDepth=5,h.yDepth=5):(h.xDepth=10,h.yDepth=10),h.showCanvasBase=O=Boolean(c(e.showcanvasbase,1)),h.canvasBasePadding=c(e.canvasbasepadding,2),h.canvasBaseDepth=O?c(e.canvasbasedepth,10):0,h.canvasBgDepth=c(e.canvasbgdepth,3));u.colorManager&&u.colorManager.configure();h.placeAxisLabelsOnTop=c(e.placexaxislabelsontop,
0);O=c(e.animation,e.defaultanimation,1);u=c(e.transposeanimation,0);O=O?1E3*c(e.animationduration,1):0;u=u?1E3*c(e.transposeanimduration,.2):0;h.animationObj&&(S=!0);h.animationObj=u={initAnimDuration:O,transposeAnimDuration:u};u.duration=S||void 0!==u.duration?u.transposeAnimDuration:u.initAnimDuration;for(K in n)K===q(e.animationeffect)&&(h.animationeffect=n[K]);h.showToolTip=c(e.showtooltip,1);h.exportOption={enabled:c(e.exportenabled,0),bgcolor:l.jsVars.transparent||0===c(l.options.containerBackgroundOpacity,
1)?J:l.options.containerBackgroundColor||"#ffffff",bgalpha:(l.jsVars.transparent?0:c(l.options.containerBackgroundOpacity,1))+J,exporttargetwindow:q(e.exporttargetwindow,f?"_blank":"_self"),exportaction:e.exportaction&&"save"===e.exportaction.toString().toLowerCase()&&"save"||"download",exportfilename:q(e.exportfilename,"FusionCharts"),exporthandler:q(e.html5exporthandler,e.exporthandler,G),exportparameters:q(e.exportparameters,J),exportformat:q(e.exportformat,"PNG"),exportcallback:q(e.exportcallback,
J),exportwithimages:c(e.exportwithimages,1),exportatclientside:c(e.exportatclientside,0)};h.printOption={enabled:c(e.printshowbutton,e.showprintmenuitem,0)};h.chartMenuOptions={position:b=q(e.toolbarposition,"tr").toLowerCase(),hAlign:a="left"===(J+e.toolbarhalign).toLowerCase()?"l":b.charAt(1),vAlign:g="bottom"===(J+e.toolbarvalign).toLowerCase()?"b":b.charAt(0),hDirection:c(e.toolbarhdirection,"r"===a?-1:1),vDirection:c(e.toolbarvdirection,"b"===g?-1:1),vMargin:c(e.toolbarvmargin,6),hMargin:c(e.toolbarhmargin,
10),x:c(e.toolbarx,"l"===a?0:h.width),y:c(e.toolbary,"t"===g?0:h.height)};b=h.style={};h.textDirection="1"===e.hasrtltext?"rtl":"";b.inCanfontFamily=a=q(e.basefont,"Verdana,sans");b.inCanfontSize=g=Ca(e.basefontsize,10);b.inCancolor=l=q(e.basefontcolor,N.getColor(L.baseFontColor));b.outCanfontFamily=q(e.outcnvbasefont,a);b.fontSize=S=Ca(e.outcnvbasefontsize,g);b.outCanfontSize=S+Pa;b.outCancolor=q(e.outcnvbasefontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1");b.baseFontSize=g;b.inCanfontSize=g+Pa;b.inCancolor=
l.replace(/^#? ([a-f0-9]+)/ig,"#$1");b.inCanvasStyle=S={fontFamily:a,fontSize:g,color:l};b.inCanLineHeight=S=oa(S);K=(K=p(e.valuebordercolor,J))?ra(K,c(e.valueborderalpha,e.valuealpha,100)):J;h.showBorder=c(e.showborder,k?0:1);h.borderWidth=X(h.showBorder?c(e.borderthickness,1):0,0);h.valuefontbold=c(e.valuefontbold,h.valuefontbold);h.dataLabelStyle=k={fontFamily:q(e.valuefont,a),fontSize:q(e.valuefontsize,parseInt(g,10))+Pa,lineHeight:S,color:ra(q(e.valuefontcolor,l),c(e.valuefontalpha,e.valuealpha,
100)),fontWeight:h.valuefontbold?"bold":"normal",fontStyle:c(e.valuefontitalic)?"italic":"normal",border:K||e.valuebgcolor?c(e.valueborderthickness,1)+"px solid":"",borderColor:K,borderThickness:c(e.valueborderthickness,1),borderPadding:c(e.valueborderpadding,2),borderRadius:c(e.valueborderradius,0),backgroundColor:e.valuebgcolor?ra(e.valuebgcolor,c(e.valuebgalpha,e.valuealpha,100)):J,borderDash:c(e.valueborderdashed,0)?Q(c(e.valueborderdashlen,4),c(e.valueborderdashgap,2),c(e.valueborderthickness,
1)):"none"};oa(k);h.orphanStyles={defaultStyle:{style:B({},b.inCanvasStyle)},connectorlabels:{style:B({},h.dataLabelStyle)},vyaxisname:{style:B({},b.inCanvasStyle)}};h.legendPosition=q(e.legendposition,Ia);h.logoURL=t(e.logourl);h.logoPosition=q(e.logoposition,"tl").toLowerCase();h.logoAlpha=c(e.logoalpha,100);h.logoLink=t(e.logolink);h.logoScale=c(e.logoscale,100);h.logoLeftMargin=c(e.logoleftmargin,0);h.logoTopMargin=c(e.logotopmargin,0);h.minChartWidthPercent=c(e.minchartwidth,50)/100;h.minChartHeightPercent=
c(e.minchartheight,50)/100;h.minCanvasWidthPercent=c(e.mincanvaswidth,60)/100;h.minCanvasHeightPercent=c(e.mincanvasheight,30)/100;this._parseBackgroundCosmetics();this.components.caption.configure();this._parseCanvasCosmetics();h.origMarginTop=c(e.charttopmargin,this.chartTopMargin,15);h.origMarginLeft=c(e.chartleftmargin,this.chartLeftMargin,15);h.origMarginBottom=c(e.chartbottommargin,this.chartBottomMargin,15);h.origMarginRight=c(e.chartrightmargin,this.chartRightMargin,15);L=q(e.zeroplanecolor,
e.divlinecolor,N.getColor(L.divLineColor));N=q(e.zeroplanealpha,e.divlinealpha,N.getColor("divLineAlpha"));h.zeroPlaneColor=ra(L,N);h.zeroPlaneBorderColor=ra(q(e.zeroplanebordercolor,L),c(e.zeroplaneshowborder,1)?N:0);h.zeroPlaneShowBorder=c(e.zeroplaneshowborder,1);h.dataStreamURL=d(e.datastreamurl);h.realtimeEnabled=N=c(e.realtimeenabled,this.isRealTime);h.showLegend=c(e.showlegend,this.showLegend,1);h.link=e.clickurl;h.annRenderDelay=1E3*c(e.annrenderdelay,0);h.transposeAxis=c(this.transposeAxis,
e.transposeaxis,0);h.useEllipsesWhenOverflow=c(e.useellipseswhenoverflow,e.useellipsewhenoverflow,1);this.chartMenuTools.reset(this.components.tb,this);h.gLegendPadding=c(e.legendpadding,10);N&&this._realTimeConfigure();this._setToolTipOptions();ja.configure();this.linkedItems.linkClickFN=W(this.jsonData,this.chartInstance);this._createConfigurableComponents()},_createConfigurableComponents:function(){var b=this.config,a=this.components,f;b.realtimeEnabled&&b.usemessagelog&&(b=FusionCharts.get("component",
["logger","message"]))&&(f=a.messageLogger,f||(a.messageLogger=new b,a.messageLogger.init(this)),a.messageLogger.configure())},_parseBackgroundCosmetics:function(){var b=this.is3D,a=this.components.background.config,f=this.components.colorManager,g=this.jsonData.chart,h;h=a.showBorder=c(g.showborder,this.showBorder,b?0:1);a.borderWidth=h=X(h?c(g.borderthickness,1):0,0);a.borderRadius=a.borderRadius=c(g.borderradius,0);a.borderDashStyle=a.borderDashStyle=c(g.borderdashed,0)?Q(c(g.borderdashlen,4),
c(g.borderdashgap,2),h):"none";a.borderAlpha=q(g.borderalpha,b?"100":f&&f.getColor("borderAlpha"));a.borderColor=a.borderColor=ra(q(g.bordercolor,b?"#666666":f&&f.getColor("borderColor")),a.borderAlpha)},_parseCanvasCosmetics:function(){var b,a,f=this.config;a=this.components;var g=a.canvas.config,h=this.jsonData.chart;a=a.colorManager;var d,u=this.is3D?E.chart3D:E.chart2D,e=g.isRoundEdges=c(h.useroundedges,0);b=c(h.showxaxisline,h.showyaxisline,h.showaxislines,0)?0:1;g.canvasBorderRadius=c(h.plotborderradius,
e?2:0);b=g.showCanvasBorder=Boolean(c(h.showcanvasborder,b,void 0,e?0:1));d=g.oriCanvasBorderThickness=X(c(h.canvasborderthickness,e?0:c(this.canvasborderthickness,2),0));g.canvasBorderWidth=this.is3D?0:b?d:0;g.canvasBorderColor=ra(q(h.canvasbordercolor,a.getColor("canvasBorderColor")),q(h.canvasborderalpha,a.getColor("canvasBorderAlpha")));b=g.canBGAlpha=q(h.canvasbgalpha,a.getColor("canvasBgAlpha"));g.canBGColor={FCcolor:{color:q(h.canvasbgcolor,a.getColor(u.canvasBgColor)),alpha:q(h.canvasbgalpha,
100),angle:q(h.canvasbgangle,0),ratio:q(h.canvasbgratio)}};a=g.shadow=c(h.showshadow,e,0)&&e?{enabled:!0,opacity:b/100}:0;g.shadowOnCanvasFill=a&&a.enabled;f.origMarginTop=c(h.charttopmargin,15);f.origMarginLeft=c(h.chartleftmargin,15);f.origMarginBottom=c(h.chartbottommargin,15);f.origMarginRight=c(h.chartrightmargin,15);f.origCanvasLeftMargin=c(h.canvasleftmargin,0);f.origCanvasRightMargin=c(h.canvasrightmargin,0);f.origCanvasTopMargin=c(h.canvastopmargin,0);f.origCanvasBottomMargin=c(h.canvasbottommargin,
0);g.canvasPadding=c(h.canvaspadding,0);g.origCanvasTopPad=c(h.canvastoppadding,0);g.origCanvasBottomPad=c(h.canvasbottompadding,0);g.origCanvasLeftPad=c(h.canvasleftpadding,0);g.origCanvasRightPad=c(h.canvasrightpadding,0)},_preDraw:function(){this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._setAxisValuePadding();this._setAxisLimits()},_manageSpace:function(){var b=this.components.canvas.config,a=this.linkedItems.container,f=this.config,g,h,d,c,u,e,l,
N,k,L,O;f.width=g=a.offsetWidth;f.height=O=a.offsetHeight;f.minChartHeight=k=f.minChartHeightPercent*O;f.minChartWidth=L=f.minChartWidthPercent*g;f.minCanvasWidth=a=f.minCanvasWidthPercent*L;f.minCanvasHeight=h=f.minCanvasHeightPercent*k;f.marginTop=d=f.origMarginTop;f.marginLeft=c=f.origMarginLeft;f.marginBottom=u=f.origMarginBottom;f.marginRight=e=f.origMarginRight;f.canvasMarginTop=f.origCanvasTopMargin;f.canvasMarginLeft=f.origCanvasLeftMargin;f.canvasMarginBottom=f.origCanvasBottomMargin;f.canvasMarginRight=
f.origCanvasRightMargin;f.canvasHeight=l=f.height-f.marginTop-f.marginBottom;f.canvasWidth=N=f.width-f.marginLeft-f.marginRight;f.availableHeight=l-h;f.availableWidth=N-a;l<k&&(l=O-k,f.canvasHeight=k,O=d+u,f.marginTop=l*d/O,f.marginBottom=l*u/O,f.availableHeight=k-h);N<L&&(l=g-L,O=e+c,f.canvasWidth=L,f.marginLeft=l*c/O,f.marginRight=l*e/O,f.availableWidth=L-a);f.canvasLeft=f.marginLeft;f.canvasTop=f.marginTop;b.canvasPaddingLeft=ea(b.origCanvasLeftPad,Z(.1*f.height));b.canvasPaddingRight=ea(b.origCanvasRightPad,
Z(.1*f.height));b.canvasPaddingTop=ea(b.origCanvasTopPad,Z(.1*f.height));b.canvasPaddingBottom=ea(b.origCanvasBottomPad,Z(.1*f.height));this._spaceManager()},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.xAxis&&a.xAxis[0],g=a.yAxis&&a.yAxis[0],h=a.legend,d=b.xDepth,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPadding||0,e=c.canvasPaddingLeft,l=c.canvasPaddingRight,N=c.canvasPaddingTop,c=c.canvasPaddingBottom;f&&f.setAxisDimention({x:b.canvasLeft+(d||0)+X(e,u),y:b.canvasBottom+
(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-(d||0)-X(e,u)-X(l,u)});f&&this._allocateXAxisLabelSpace(f);g&&g.setAxisDimention({x:b.canvasLeft-a,y:b.canvasTop+N,opposite:b.canvasRight+a,axisLength:b.canvasHeight-N-c});f&&f.shiftLabels(-d,0);h.postSpaceManager();this._adjustCanvasPadding()},_allocateXAxisLabelSpace:function(b){var a=this.config,f=b.getAxisEndLabelDisplaySpace();b=f.left;var g=f.right,h=f.top,f=f.bottom,d=a.availableWidth,c=a.availableHeight,u=a.canvasLeft,e=a.canvasRight,
l=a.canvasTop,N=a.canvasBottom,k=a.width,L=a.height,O=function(b,a){return b<a&&0<a?a-b:0};h+f>c&&(a=h+f,h=c*h/a,f=c*f/a);b+g>d&&(a=b+g,b=d*b/a,g=d*g/a);b=O(u,b);g=O(k-e,g);h=O(l,h);f=O(L-N,f);this._allocateSpace({left:b,right:g,top:h,bottom:f})},_animCallBack:function(){var b=this.config;b.animationStarted&&(k.raiseEvent("internal.animationComplete",{},this.chartInstance),b.animationStarted=!1)},_setAnimDuration:function(){var b=this.config.animationObj;b&&(b.duration=b.transposeAnimDuration)},_updateVisuals:function(){var b=
this.linkedItems.container,a=this.components,f=a.paper,g=a.tooltip,h=this.chartInstance,d=this.get("config","animationObj"),c=d.animType,u=d.dummyObj,e=d.animObj,d=d.duration,l=this.config,N,k=l.prevWidth,L=l.prevHeight;l.animationStarted=!0;f?((k||L)&&f.setSize(k,L),k={width:b.offsetWidth,height:b.offsetHeight},N=!0,this._chartAnimation(!0),f.animateWith(u,e,k,d,c)):(f=a.paper=new C(b,b.offsetWidth,b.offsetHeight),f.setConfig("stroke-linecap","round"));l.prevWidth=b.offsetWidth;l.prevHeight=b.offsetHeight;
f.tooltip(g.style,g.config.shadow,g.config.constrain);this.setChartCursor();this._createLayers();!N&&this._chartAnimation(!0);this._drawBackground();!1!==this.hasCanvas&&this._drawCanvas();this._drawChartMenuBar();this._manageCaptionPosition();a.caption&&a.caption.draw();this.drawLegend();this.drawActionBar&&this.drawActionBar();this._drawAxis&&this._drawAxis();this._drawDataset();this._drawQuadrant&&this._drawQuadrant();this._drawCreditLabel();this._drawLogo();h.annotations&&this._drawAnnotations();
this.drawAxisUpdateUI&&this.drawAxisUpdateUI();a.messageLogger&&a.messageLogger.isDrawn()&&a.messageLogger.draw();this.drawScrollBar&&this.drawScrollBar();this.showRTvalue&&l.realTimeConfig.showRTValue&&this._drawRealTimeValue()},_chartAnimation:function(b){var a=this,f=a.graphics,g=a.components.paper,h=a.config.animationObj,d,c=h.duration||h.transposeAnimDuration,u=a.config,e=u.animationeffect,l=function(){a._animCallBack()};!c||u.parentElementPause?setTimeout(a._animCallBack.bind(a),0):(h.animObj=
c=C.animation({x:0},c,e,l,!1),h.animType=e,(d=f.dummyObj)?d.attr({x:100}):(f.dummyObj=d=g.rect({x:100,y:0,width:10,height:30}),d.hide()),h.dummyObj=f.dummyObj,b?(d.stop(void 0,!0,!0),d.animate(c),d.pause(void 0,!0),u.parentElementPause=!0,setTimeout(function(){u.parentElementPause=!1;a._setAnimDuration();d.resume(void 0,!0)},0)):(setTimeout(function(){a._setAnimDuration()},0),d.animate(c)))},draw:function(){var b=this.chartInstance;this.config.hasChartMessage?(this._hide(),this.drawChartMessage(),
m.raiseEvent("nodatatodisplay",{},b,[b.id]),this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!1,this.chartInstance.jsVars.hasNativeMessage=!0):(this._show(),this._preDraw(),this._createToolBox(),this._manageSpace(),this._postSpaceManagement(),this._updateVisuals(),this.inited=!0,this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!0,this.chartInstance.jsVars.hasNativeMessage=!1)},drawLegend:function(){var b=this.components,a=b.legend,b=b.gradientLegend,
f=this.hasLegend;this.config.gLegendEnabled?(a&&a.hide(),this.drawGradientLegend&&this.drawGradientLegend()):(b&&b.elem&&b.elem.gl.carpet&&b.elem.gl.carpet.node&&b.elem.gl.carpet.group.hide(),!1!==f&&a.drawLegend())},manageGradientLegendSpace:function(b){var a=this.components.gradientLegend,f=a&&a.conf,g;g=ea(this.config.gLegendPadding,.5*b);f?(f=f.legendPosition,b=a.getLogicalSpace(b),g=f===Ia?{bottom:(b.height||0)+g}:{right:(b.width||0)+g}):g={bottom:0,right:0};return g},drawGradientLegend:function(){var b=
this.components,a=this.config,f=this.jsonData.colorrange,g=b.gradientLegend||{},h=(g.conf||{}).legendPosition,d=a.canvasLeft,c=a.canvasTop,u=a.canvasWidth,e=a.canvasHeight,l=a.marginBottom,N=a.marginRight,k=this.hasGradientLegend,L,O,m;L=g.getLogicalSpace();O=L.width;m=L.height;h===Ia?(h=u-O,N=d+(0>h?0:h/2),l=a.height-L.height-l):(h=e-m,l=c+(0>h?0:h/2),N=a.width-L.width-N);f&&k&&g.draw(N,l,{paper:b.paper,parentGroup:this.graphics.parentGroup})},_drawAxis:function(){var b=this.components,a=b.yAxis||
[],f=b.xAxis||[],b=b.scale,g,h;g=0;for(h=f.length;g<h;g++)f[g].draw();g=0;for(h=a.length;g<h;g++)a[g].draw();b&&b.draw()},_drawAnnotations:function(){var b=this.jsonData,a=b.chart,f=this.config,g=f.width,h=f.height,f=b&&b.annotations||{},d=this.chartInstance.annotations;if(b&&a&&c(a.showannotations,1)){var b=c(f.scaleonresize,a.scaleonresize,1),a={interactionevents:q(this.annotationInteractionEvents,!0),showbelow:q(f.showbelow,f.showbelowchart),autoscale:f.autoscale,scaletext:f.scaletext,scaleimages:f.scaleimages,
constrainedscale:f.constrainedscale,scaleonresize:b,origw:q(a.origw,this.origRenderWidth,g),origh:q(a.origh,this.origRenderHeight,h),xshift:f.xshift,yshift:f.yshift,grpxshift:f.grpxshift,grpyshift:f.grpyshift,xscale:f.xscale,yscale:f.yscale,rootxscale:c(f.xscale,100)/100,rootyscale:c(f.yscale,100)/100},u;a||(a={});for(u in void 0)a[u]=(void 0)[u];d.reset(f,a,this)}else d.clear();d.draw(this)},_clearTimers:function(){var b=this.linkedItems.timers,a=b&&b.setTimeout,b=b&&b.setInterval,f;for(f in a)clearTimeout(a[f]);
for(f in b)clearInterval(b[f])},_createLayers:function(){var b=this.graphics||(this.graphics={}),a,f,g=this.components.paper,b=this.graphics;b.parentGroup=a=b.parentGroup||g.group("parentgroup");b.backgroundGroup=b.backgroundGroup||g.group("background",a);b.canvasGroup=b.canvasGroup||g.group("canvas",a);b.axisBottomGroup=b.axisBottomGroup||g.group("axisbottom",a);b.datasetGroup=f=b.datasetGroup||g.group("dataset",a);b.axisTopGroup=b.axisTopGroup||g.group("axistop",a);b.datalabelsGroup=b.datalabelsGroup||
g.group("datalabel",a);b.legendGroup=b.legendGroup||g.group("legend",a);b.captionGroup=b.captionGroup||g.group("caption",a);b.captionGroup.trackTooltip(!0);b.sumLabelsLayer=b.sumLabelsLayer||g.group("sumlabels",a);b.columnGroup=b.columnGroup||g.group("column",f);b.areaGroup=b.areaGroup||g.group("area",f);b.lineGroup=b.lineGroup||g.group("line",f);b.trackerGroup||(b.trackerGroup=g.group("tracker",a),b.trackerGroup.trackTooltip(!0));b.buttonGroup=b.buttonGroup||g.group("buttons")},_spaceManager:function(){var b,
a,f=this.config,g=this.components,h=g.xAxis&&g.xAxis[0],d=g.yAxis&&g.yAxis||[],c,u;a=g.legend.config.legendPos;var e=f.xDepth,l=f.yDepth,N=f.canvasBgDepth,k=f.canvasBaseDepth,L=f.canvasBasePadding,O=g.canvas.config.canvasBorderWidth,m=f.realTimeConfig&&f.realTimeConfig.showRTValue,S=f.borderWidth,W=f.canvasMarginTop,E=f.canvasMarginBottom,K=f.canvasMarginLeft,p=f.canvasMarginRight,g=f.minCanvasHeight,ja=f.minCanvasWidth;b=f.minChartWidth;var n=f.minChartHeight,aa=f.height,q=f.width,La=!1,w=!1,t,F=
f.origCanvasTopMargin,Qa=f.origCanvasBottomMargin,r=f.origCanvasLeftMargin,z=f.origCanvasRightMargin,D,B,C=[];f.canvasWidth-2*S<b&&(u=(f.canvasWidth-b)/2);f.canvasHeight-2*S<n&&(c=(f.canvasHeight-n)/2);this._allocateSpace({top:c||S,bottom:c||S,left:u||S,right:u||S});S=0;for(u=d.length;S<u;S++)c=d[S],b=.7*f.availableWidth,b=c&&c.placeAxis(b)||{},C.push({axisIndex:S,spaceTaken:b}),c&&this._allocateSpace(b);f.yAxisSpaceAllocation=C;d=.225*f.availableHeight;d=this._manageActionBarSpace&&this._manageActionBarSpace(d)||
{};this._allocateSpace(d);this._manageLegendSpace(void 0);a=a===Ia?.6*f.availableHeight:.6*f.availableWidth;l&&(this._allocateSpace({bottom:l}),f.shift=e+L+k);N&&this._allocateSpace({right:N});f.canvasWidth-2*O<ja&&(B=(f.canvasWidth-ja)/2);this._allocateSpace({left:B||O,right:B||O});ja>q-K-p&&(w=!0,l=f.canvasWidth-ja,e=K+p,K=f.canvasMarginLeft=l*K/e,p=f.canvasMarginRight=l*p/e);K=K>f.canvasLeft?K-f.canvasLeft:0;p=p>q-f.canvasRight?p+f.canvasRight-q:0;this._allocateSpace({left:K,right:p});w&&(e=r+
z,w=f.canvasWidth,w>ja&&(l=w-ja,K=l*r/e,p=l*z/e),this._allocateSpace({left:K,right:p}));f.actualCanvasMarginRight=p;f.actualCanvasMarginBottom=t;this._manageChartMenuBar(a);a=.2*f.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*f.availableHeight;f.realtimeEnabled&&(m?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());this._resetViewPortConfig&&this._resetViewPortConfig();this._setAxisScale&&this._setAxisScale();a=.6*f.availableHeight;f.xAxisSpaceAllocation=
t=h&&h.placeAxis(a);h&&this._allocateSpace(t);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*f.canvasWidth));a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*O<g&&(D=(f.canvasHeight-g)/2);this._allocateSpace({top:D||O,bottom:D||O});this._allocateSpace({bottom:k});g>aa-W-E&&(La=!0,l=f.canvasHeight-g,e=W+E,W=f.canvasMarginTop=l*W/e,E=f.canvasMarginBottom=l*E/e);h=W>f.canvasTop?W-f.canvasTop:0;t=E>aa-f.canvasBottom?E+f.canvasBottom-aa:0;
this._allocateSpace({top:h,bottom:t});La&&(e=F+Qa,k=f.canvasHeight,k>g&&(l=k-g,h=l*F/e,t=l*Qa/e),this._allocateSpace({top:h,bottom:t}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=K},_manageLegendSpace:function(){var b=this.config,a=this.components,f=a.legend,g=a.gradientLegend,h;h=this.jsonData.colorrange;var a=this.hasLegend,d={},u=this.hasGradientLegend,e=c(this.jsonData.chart.mapbycategory,0);u&&h&&c(h.gradient)&&!e?(h=g.conf,u=!0,b.gLegendEnabled=!0,g=.5,h=h.legendPosition):(h=f.config,
u=!1,b.gLegendEnabled=!1,h=h.legendPos,g="right"===h?.8:.4);b="right"===h?b.availableWidth*g:b.availableHeight*g;u?d=this.manageGradientLegendSpace(b):!1!==a&&(d=f._manageLegendPosition(b));this._allocateSpace({bottom:d.bottom||0,right:d.right||0})},_getSumValueSpace:function(b){var a={},f=this.isBar,g=this.jsonData.chart,a=0!==this.showsum?c(g.showsum,this.showsum,0):0,h=this.config.stack100Percent,d=this.isStacked,g=0,u=this.components["datasetGroup_"+this.defaultDatasetType],e=0;a&&h&&d&&u&&(a=
u.getMaxSumValueSpace(),f?g=a.maxWidth:e=a.maxHeight,e>b&&(e=b),g>b&&(g=b));return{top:e,right:g}},_setAxisValuePadding:function(){var b=this.components.dataset,a=b.length,f,g,h=-Infinity,d=-Infinity,c=this.components.xAxis;for(f=0;f<a;f++)g=b[f],g=g.getAxisValuePadding&&g.getAxisValuePadding()||{},h=X(h,g.left||-Infinity),d=X(d,g.right||-Infinity);-Infinity===h&&(h=0);-Infinity===d&&(d=0);c&&c[0].setAxisPadding(h,d)},_fetchCaptionPos:function(b){var a=this.config,f=this.components,g=f.chartMenuBar.getLogicalSpace(),
f=f.caption.config;return"middle"===f.align?a.width-b-f.width/2-a.origMarginRight-g.width:"start"===f.align?a.width-a.canvasLeft-f.width-a.origMarginRight-g.width+f.horizontalPadding:-1},_manageChartMenuBar:function(b){var a=this.config,f=this.components,g=f.chartMenuBar.getLogicalSpace(),f=f.caption.config,h=a.width/2,d=a.canvasRight,d=d?(a.canvasLeft+d)/2:h,a=0,h=f.alignWithCanvas?d:h;f.isOnTop?(b=this._manageCaptionSpacing(b),a=this._fetchCaptionPos(h),f._offsetHeight=0>a?g.height:0,b.top=0>a?
c(b.top,0)+g.height:X(b.top,g.height)):(this._allocateSpace({top:g.height}),b=this._manageCaptionSpacing(b));this._allocateSpace(b);return{top:X(g.height,b.top),bottom:b.bottom}},_getDSspace:function(b){var a=this.components.dataset,f,g=a.length,h,d,c={},u={left:0,right:0,top:0,bottom:0,paddingLeft:0,paddingRight:0,paddingBottom:0,paddingTop:0},e;for(h=0;h<g;h++)if(f=a[h],d=f.groupManager)c[f.type]=d;else if(f.manageSpace)for(e in f=f.manageSpace&&f.manageSpace(),f)u[e]=X(f[e],u[e]);for(e in c)if(d=
c[e],d.manageSpace)for(e in f=d.manageSpace&&d.manageSpace(b),f)u[e]=X(f[e],u[e]);a=u.paddingLeft;g=u.paddingRight;h=a+g;b<h&&(u.paddingLeft=b*a/h,u.paddingRight=b*g/h);return u},_adjustCanvasPadding:function(){for(var b=this.config,a=this.components,f=a.dataset,g=f.length,h=a.xAxis&&a.xAxis[0],d=b.xDepth,c={},u,e,l,N=a.canvas.config,k=N.canvasBorderWidth,L=N.canvasPadding,a=0;a<g;a++)u=f[a],(e=u.groupManager)&&(c[u.type]=e);for(l in c)e=c[l],e.preDrawCalculate&&e.preDrawCalculate();this._getDSspace&&
(this._allocateSpace(this._getDSspace(.4*b.canvasWidth)),h&&h.setAxisDimention({x:b.canvasLeft+(d||0)+X(N.canvasPaddingLeft,L),y:b.canvasBottom+(b.shift||0)+k,opposite:b.canvasTop-k,axisLength:b.canvasWidth-(d||0)-X(N.canvasPaddingLeft,L)-X(N.canvasPaddingRight,L)}))},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,c=-Infinity,u=Infinity,e=Infinity,l=-Infinity,N,k,L,O={},m=[],S=function(b){k=q(b.xMax,-Infinity);L=q(b.xMin,Infinity);c=X(c,b.max);u=ea(u,
b.min);l=X(l,k);e=ea(e,L)};for(d=0;d<h;d++)g=a[d],(N=g.groupManager)?O[g.type]=N:m.push(g);for(N in O)a=O[N].getDataLimits(),S(a);h=m.length;for(d=0;d<h;d++)a=m[d].getDataLimits(),S(a);-Infinity===c&&(c=0);Infinity===u&&(u=0);this.config.yMax=c;this.config.yMin=u;f[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});f[0].setDataLimit(c,u);if(-Infinity!==l||Infinity!==e)b[0].config.xaxisrange={max:l,min:e},b[0].setDataLimit(l,e)},_setToolTipOptions:function(){var b=this.components,
a=this.components.colorManager,f=this.jsonData.chart,g=b.tooltip||(g=b.tooltip={}),b=g.config||(b=g.config={}),h=this.config,d=h.style,h=h.style.inCanvasStyle,u,e,l;u=ra(q(f.tooltipbgcolor,a.getColor("toolTipBgColor")),q(f.tooltipbgalpha,100));a=ra(q(f.tooltipbordercolor,a.getColor("toolTipBorderColor")),q(f.tooltipborderalpha,100));e=c(f.tooltipborderthickness,1)+"px";l=c(f.tooltippadding,3)+"px";g=g.style={fontFamily:d.inCanfontFamily,fontSize:d.inCanfontSize,lineHeight:h.lineHeight,color:ra(d.inCancolor),
backgroundColor:u,borderColor:a,borderWidth:e,padding:l};f.tooltipcolor&&(g.color=la(f.tooltipcolor));if(f.tooltipborderradius||f.useroundedges)g.borderRadius=c(f.tooltipborderradius,2)+"px";b.shadow=c(f.showtooltipshadow,f.showshadow,1)?{enabled:!0,opacity:X(c(f.tooltipbgalpha,100),c(f.tooltipborderalpha,100))/100}:!1;b.constrain=c(f.constraintooltip,1)},_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;
b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u=this.is3d,e=u?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:h.xaxisbreaks,axisNamePadding:h.xaxisnamepadding,
axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,
axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,
h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:c(h.numvdivlines,this.numVDivLines),labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,
labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,maxLabelHeight:h.maxlabelheight,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:c(h.setadaptivexmin,this.setadaptivexmin,b.setadaptivexmin),adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:c(h.showvlimits,
this.showvlimits),showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues,this.showvdivlinevalues),showZeroPlane:c(h.showvzeroplane,this.showzeroplane),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:c(h.showvzeroplanevalue,this.showzeroplanevalue),trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,
trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,this.showxaxisline,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:h.yaxisbreaks,axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,
axisNameBgAlpha:h.yaxisnamebgalpha,axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:h.yaxisname,divLineColor:q(h.divlinecolor,
f.getColor(e.divLineColor)),divLineAlpha:q(h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:c(h.numdivlines,
this.numDivLines),axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,setAdaptiveMin:c(h.setadaptivesymin,h.setadaptiveymin),adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue,this.showyaxisvalues),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue,this.showdivlinevalues),showZeroPlane:c(h.showzeroplane,this.showzeroplane),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,
h.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:c(h.showzeroplanevalue,this.showzeroplanevalue),showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,this.showyaxisline,0),axisLineThickness:c(h.yaxislinethickness,
h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;b.trendlines=g.trendlines;g=a.yAxis&&a.yAxis[0];a=a.xAxis&&a.xAxis[0];g&&(g.setCommonConfigArr(b,!0,!1,!1),g.configure());a&&(a.setCommonConfigArr(d,!1,!1,!1),a.configure())},_createLegend:function(){var a=this.components,f=FusionCharts.register("component",["legend","legend"]);b=a.legend=new f;b.chart=this;b.init()},_createGradientLegend:function(){var b=
this.components,a;this.hasGradientLegend&&(a=b.gradientLegend=b.gradientLegend||new (FusionCharts.register("component",["gradientLegend","gradientLegend"])),b.postLegendInitFn=a.init({chart:this}))},_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,b=b.categories&&b.categories[0].category;a&&a[0].setCategory(b)},_getDiff:function(b,a,f,g){f>b&&(b=f,a=g);return{diff:b,startIndex:a}},_createDatasets:function(){var b,a=this.components,f=a.xAxis[0],g=this.jsonData,h=g.dataset,c=h&&
h.length,u,e,l,N=this.defaultDatasetType,k=this.applicableDSList,L=this.components.legend.components.items||[],O,m,S,W=this.isStacked,E,K,p=[],ja=this.isRealTime,n=this.config.catLen,aa={};h&&0!==h.length||this.setChartMessage();this.config.categories=g.categories&&g.categories[0].category;u=a.dataset||(a.dataset=[]);e=u.length;for(g=0;g<c;g++)if(S=h[g],S.seriesname&&(S.seriesname=d(S.seriesname)),l=S.parentyaxis||"",m=(m=this.isDual&&"s"===l.toLowerCase()?q(S.renderas,this.sDefaultDatasetType):q(S.renderas,
N))&&m.toLowerCase(),k[m]||(m=N),b=FusionCharts.get("component",["dataset",m]))void 0===aa[m]?aa[m]=0:aa[m]++,E="datasetGroup_"+m,l=FusionCharts.register("component",["datasetGroup",m]),(O=a[E])&&p.push(O),l&&!O&&(O=a[E]=new l,O.chart=this,O.init()),(l=u[g])?(m=f.getCategoryLen(),b=n-m,E=ja?l.components:l.JSONData,K=E.data&&E.data.length,E=ja?0:S.data&&S.data.length||0,K-=E,b=this._getDiff(K,E,b,m),m=b.diff,b=b.startIndex,0<m&&l.removeData(b,m,!1),u[g].JSONData=S,u[g].configure(),u[g]._deleteGridImages&&
u[g]._deleteGridImages()):(l=new b,u.push(l),l.chart=this,l.index=g,O&&(W?O.addDataSet(l,0,aa[m]):O.addDataSet(l,aa[m],0)),l.init(S));if(e>c){m=e-c;O&&W&&O.removeDataSet(0,g,m);a=g;for(c=m+g;a<c;a++)O&&!W&&O.removeDataSet(g,0,1),ab.call(u[a]);u.splice(g,m);L.splice(g,m)}this.config.catLen=f.getCategoryLen()},_drawDataset:function(){var b=this.components.dataset,a,f=b.length,g,h,d={},c=[];for(g=0;g<f;g++)a=b[g],(h=a.groupManager)?d[a.type]=h:c.push(a);for(h in d)d[h].draw();f=c.length;for(g=0;g<f;g++)c[g].draw()},
_drawCanvas:function(){var b=this.jsonData.chart,a=this.components,f=this.config,g=this.graphics,h=a.paper,d=a.canvas,a=d.graphics,u=d.config,d=u.clip={},e=a.canvasBorderElement,l=this.get("config","animationObj"),N=l.animType,k=l.animObj,L=l.dummyObj,l=l.duration,O=a.canvasElement,m=f.canvasLeft,S=f.canvasTop,W=f.canvasWidth,E=f.canvasHeight,K=u.xDepth=f.xDepth||0,f=u.yDepth=f.yDepth||0,g=g.canvasGroup,p=u.canvasBorderRadius,ja=u.canvasBorderWidth,n=.5*ja,aa=u.canvasBorderColor,q=u.canBGColor,La=
u.canBGAlpha,w=u.shadow,b=u.showCanvasBG=Boolean(c(b.showcanvasbg,1)),t=u.shadowOnCanvasFill,F=u.showCanvasBorder,u={x:m-n,y:S-n,width:W+ja,height:E+ja,r:p,"stroke-width":ja,stroke:aa,"stroke-linejoin":2<ja?"round":"miter"};F?e?(e.show(),e.animateWith(L,k,{x:m-n,y:S-n,width:W+ja,height:E+ja,r:p},l,N),e.attr({"stroke-width":ja,stroke:aa,"stroke-linejoin":2<ja?"round":"miter"}),e.shadow(w)):a.canvasBorderElement=h.rect(u,g).shadow(w):e&&e.hide();d["clip-canvas"]=[X(0,m-K),X(0,S-f),X(1,W+2*K),X(1,E+
f)];d["clip-canvas-init"]=[X(0,m-K),X(0,S-f),1,X(1,E+2*f)];b?(u={x:m,y:S,width:W,height:E,r:p,"stroke-width":0,stroke:"none",fill:ba(q)},O?(O.show(),O.animateWith(L,k,{x:m,y:S,width:W,height:E,r:p},l,N),O.attr({"stroke-width":0,stroke:"none",fill:ba(q)})):O=a.canvasElement=h.rect(u,g),t?O.shadow({opacity:La/100}):O.shadow(!1)):O&&O.hide()},_getBackgroundCosmetics:function(){var b=this.jsonData.chart,a=this.components.colorManager,f=this.is3D?E.chart3D:E.chart2D;return{FCcolor:{color:q(b.bgcolor,this.bgColor,
a.getColor(f.bgColor)),alpha:q(b.bgalpha,this.bgAlpha,a.getColor(f.bgAlpha)),angle:q(b.bgangle,a.getColor(f.bgAngle)),ratio:q(b.bgratio,a.getColor(f.bgRatio))}}},_manageCaptionSpacing:function(b,a){return this.components.caption.manageSpace(b,a)},_manageCaptionPosition:function(){this.components.caption.managePosition()},_drawChartMenuBar:function(){var b=this.config,a=this.components.chartMenuBar,f=a.getLogicalSpace();a.toolbarConfig.fill=N;a.toolbarConfig.borderColor=N;a.draw(b.width-(b.marginRight+
f.width),b.marginTop);a.drawn=!0},_drawLogo:function(){var b=this,a=b.components.paper,f=b.config,g=f.borderWidth||0,h=f.height,d=f.width,c=b.graphics.logoImage,u=f.logoURL,l=f.logoAlpha/100,N=f.logoPosition,L=f.logoLink,O=f.logoScale,m=f.logoLeftMargin,S=f.logoTopMargin,W,E,f=b.get("config","animationObj"),K=f.animType,p=f.animObj,ja=f.dummyObj,n=f.duration,f={tr:{vAlign:ha,hAlign:wa},bl:{vAlign:Ia,hAlign:Ta},br:{vAlign:Ia,hAlign:wa},cc:{vAlign:"middle",hAlign:"middle"}},aa,q,La;u?(aa=new F,(La=
f[N])||(La={vAlign:ha,hAlign:Ta}),aa.onload=function(){q=T("none",La.vAlign,La.hAlign,O,g,d,h,aa);e&&(q.w=q.width||0,q.h=q.height||0);q.src=u;c?c.animateWith(ja,p,q,n,K):c=b.graphics.logoImage=a.image(q);c.show();c.translate(m,S).css("opacity",l);L?c.css({cursor:"pointer",_cursor:"hand"}):c.css({cursor:"default",_cursor:"normal"});if(c.events&&c.events.length)for(E=0,W=c.events.length;E<W;E++)c.events[E].unbind(),c.events.splice(E,1),--W,--E;c.mouseover(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoRollover",
{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.mouseout(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoRollout",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.click(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoClick",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,
logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance,void 0,function(){L&&b.linkedItems.linkClickFN.call({link:L},b)})});k.raiseEvent("LogoLoaded",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L},b.chartInstance)},aa.onerror=function(a){k.raiseEvent("LogoLoadError",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,error:a},b.chartInstance)},aa.src=u):c&&c.hide()},_addCSSDefinition:function(b,a){var f=this.components.paper;
a.color&&(a.fill=a.color);f.cssAddRule(b,a)},_allocateSpace:function(b){var a=this.components.canvas.config,f=this.config,g=f.canvasHeight,h=f.canvasWidth,d=f.availableHeight,c=f.availableWidth;f.canvasLeft+=b.left||0;f.canvasTop+=b.top||0;h=f.canvasWidth=h-((b.left||0)+(b.right||0));g=f.canvasHeight=g-((b.top||0)+(b.bottom||0));f.availableHeight=X(d-((b.top||0)+(b.bottom||0)),0);f.availableWidth=X(c-((b.left||0)+(b.right||0)),0);f.canvasRight=f.canvasLeft+h;f.canvasBottom=f.canvasTop+g;a.canvasPaddingLeft=
X(a.canvasPaddingLeft,b.paddingLeft||0);a.canvasPaddingRight=X(a.canvasPaddingRight,b.paddingRight||0);a.canvasPaddingTop=X(a.canvasPaddingTop,b.paddingTop||0);a.canvasPaddingBottom=X(a.canvasPaddingBottom,b.paddingBottom||0)},_updateCategory:function(b){var a=this.jsonData,a=a.categories&&a.categories[0].category,f=b.category,g=f.length,h=b.index,d=b.prepend;b=b.add;var c;for(c=0;c<g;c++)h?(b&&a.splice(h-1+c,0,f[c]),!b&&(a[h-1+c]=f[c])):d?(b&&a.splice(c,0,f[c]),!b&&(a[c]=f[c])):(b&&a.push(f),!b&&
(a[a.length-1]=f))},realTimeUpdate:function(b){var a=this.components,f=a.xAxis&&a.xAxis[0],a=a.dataset,g=b.dataset;b=b.categories&&b.categories.category||[];var h=f&&f.getCategoryLen(),d=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),c=0,u;if(a){if(f){f.categoryInsert(h,b,!0);h=0;for(u=b.length;h<u;h++)b[h].vline||(c+=1);f.categoryDelete(0,c,!0)}this.config._sumValuesUpdated=!1;h=0;for(u=a.length;h<u;h++)c=g[h],a[h].addData(c),a[h].removeData(0,c.data.length),
a[h].maxminFlag&&(d.maxminFlag=a[h].maxminFlag)}},_RTmanageSpace:function(){var b=this.config,a=this.components,f=a.xAxis[0],g=a.yAxis[0],h=a.yAxis[1],d,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPaddingTop,e=c.canvasPaddingBottom,l=c.canvasPadding||0,N=c.canvasPaddingLeft,c=c.canvasPaddingRight,k;d=b.xAxisSpaceAllocation;k=b.yAxisSpaceAllocation||[];var L=k[0]&&k[0].spaceTaken||{},O=k[1]&&k[1].spaceTaken||{},m=b.primaryAxisOnleft,S,W,E;d=(b.xAxisSpaceAllocation=f.placeAxis(b.availableHeight+
d.bottom)).bottom-d.bottom;0!==d&&(this._allocateSpace({bottom:d}),d=b.availableWidth,k[0].spaceTaken=d=g.placeAxis(d+L.left),this._allocateSpace({left:d.left-L.left}),d=b.availableWidth,L=b.canvasLeft-a,W=b.canvasRight+a,h&&(S=W,E=L,0===m&&(m=L,L=S,S=m,m=W,W=E,E=m),k[1].spaceTaken=k=h.placeAxis(d+(O.right||0)),this._allocateSpace({right:(k.right||0)-(O.right||0)}),h.setAxisDimention({x:S,y:b.canvasTop+u,opposite:E,axisLength:b.canvasHeight-u-e})),f&&f.setAxisDimention({x:b.canvasLeft+X(N,l),y:b.canvasBottom+
(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-X(N,l)-X(c,l)}),g&&g.setAxisDimention({x:L,y:b.canvasTop+u,opposite:W,axisLength:b.canvasHeight-u-e}),g.draw(),this._drawCanvas())},realTimeDraw:function(b,a,f,g,h){var d=this.components,c=d.xAxis&&d.xAxis[0],u=d.yAxis&&d.yAxis[0],e=d.yAxis&&d.yAxis[1],l=d.scale,d=d.dataset,N=this.config.realTimeConfig,L=N.sync,O=N.showRTValue,m=N.maxminFlag,S,W,E=d.length;W=(new Date).getTime();this._chartAnimation(L);this.rtManageSpace&&this._RTmanageSpace();
if(d){c&&c.draw();this._setAxisLimits();m&&u&&u.draw();e&&e.draw();m&&l&&l.draw();for(c=0;c<E;c++)S=d[c].groupManager,!S&&d[c].draw();O&&this._drawRealTimeValue&&this._drawRealTimeValue();S&&S.draw()}W=(new Date).getTime()-W;a={data:a,updateObject:N.legacyUpdateObj,prevData:f,source:b?"XmlHttpRequest":"feedData",latency:W};b&&(a.networkLatency=h,a.url=g);k.raiseEvent("realTimeUpdateComplete",a,this.chartInstance)},_getPrevData:function(){return this.config.realTimeConfig&&this.config.realTimeConfig.prevData},
feedData:function(b,a,f,g){var h=this,d=h.config.realtimeEnabled,c=h.config.realTimeConfig||(h.config.realTimeConfig={}),u,e=h.components,l=e.xAxis,N=h.components.dataset,k,L,O=c.clearInterval,m=c.refreshInterval,S=c.updateInterval,W=h.linkedItems.timers||(h.linkedItems.timers={setTimeout:{},setInterval:{}}),E=N.length,K=c.prevData;u=h._linearDataParser(b);if(d&&h.chartInstance.isActive()){if(c.clear){for(d=0;d<E;d++)N[d]._realTimeConfigure(!0);c.clear=!1}m<S&&(m=c.refreshInterval=c.updateInterval);
e.messageLogger&&e.messageLogger.addLog(u);e.alertManager&&e.alertManager.processRTData(u);h.realTimeUpdate(u);h.canvasPadding&&h._adjustCanvasPadding();m&&!1===c.clearIntervalFlag?(h.realTimeDraw(a,b,K,f,g),c.refreshIntervalFlag=!1):m&&!c.refreshIntervalFlag?(c.refreshIntervalFlag=!0,W.setTimeout.loadData=setTimeout(function(){k=(new Date).getTime();h.realTimeDraw(a,b,K,f,g);L=(new Date).getTime();c.refreshIntervalFlag=!1;c.refreshIntervalTimeDifference=L-k},1E3*m-(c.refreshIntervalTimeDifference||
0))):m||h.realTimeDraw(a,b,K,f,g);O&&!c.clearIntervalFlag&&l&&(c.clearIntervalFlag=!0,W.setTimeout.clearData=setTimeout(function(b){k=(new Date).getTime();try{clearTimeout(b.setTimeout.loadData)}catch(a){clearTimeout(W.setTimeout.loadData)}h._clearChart();L=(new Date).getTime();c.clearIntervalTimeDifference=L-k;c.clearIntervalFlag=!1},1E3*O-(c.clearIntervalTimeDifference||0),W));return!0}return!1},_clearChart:function(b){var a=this.components,f=a.xAxis&&a.xAxis[0],a=a.dataset,g=f.getCategoryLen(),
h=this.config.realTimeConfig||(this.config.realTimeConfig={}),d=a.length;h.clear=!0;if(a){f&&f.categoryDelete(0,g,!0);this.config._sumValuesUpdated=!1;for(g=0;g<d;g++)f=a[g],a[g].removeData(0,f.components.data.length),a[g].maxminFlag&&(h.maxminFlag=a[g].maxminFlag);this.realTimeDraw()}this._setRealTimeCategories();m.raiseEvent("ChartCleared",{source:b},this.chartInstance,[this.id,b])},_linearDataParser:function(b,a){var f,g,h,d,c,u,e,l,N,k,L,O,m,S,W,E,K,p,ja,n,aa,q,La=this.components.dataset,La=La&&
La.length;S=this.config.realTimeConfig;var w=S.prevData=[],t=S.legacyUpdateObj={},F=t.values=[],Qa=t.target=[],r=t.valueVisibility=[],z=t.toolTexts=[],D=t.toolTextsTarget=[],B=t.colors=[],C=t.links=[],G=0,H={categories:{category:[]},dataset:[]},I=H.categories.category,T=H.dataset,M;b=b&&b.toString&&b.toString()||"";this.rtParserModify&&(b=b.replace(/\|/g,","));f=b.split("&");S=0;for(W=f.length;S<W;S+=1)if(g=f[S].split("="),h=g[1],g=g[0],g!==J&&void 0!==g&&void 0!==h&&(h!==J||a))switch(M=g.toLowerCase(),
M){case "label":t.labels=E=h.split(",");break;case "vline":t.vlines=K=h.split(",");break;case "vlinelabel":t.vlineLabels=N=h.split(",");break;case "vlinecolor":t.vlineColors=k=h.split(",");break;case "vlinethickness":t.vlineThickness=L=h.split(",");break;case "vlinedashed":t.vlineDashed=O=h.split(",");break;case "value":p=h.split("|");break;case "target":ja=h.split("|");break;case "showlabel":t.showLabels=m=h.split(",");break;case "showvalue":d=h.split("|");break;case "tooltext":c=h.split("|");break;
case "targettooltext":u=h.split("|");break;case "link":l=h.split("|");break;case "color":e=h.split("|");break;case "datastamp":t.dataStamp=n=h;break;case "stopupdate":t.pause=aa="1"==h;break;case "clear":t.clear=q="1"==h;break;default:t[g]=H[g]=h}f=p&&p.length;for(S=0;S<f;S++)F[S]=p[S].split(","),Qa[S]=ja&&ja[S]&&ja[S].split(","),r[S]=d&&d[S]&&d[S].split(","),z[S]=c&&c[S]&&c[S].split(","),D[S]=u&&u[S]&&u[S].split(","),B[S]=e&&e[S]&&e[S].split(","),C[S]=l&&l[S]&&l[S].split(","),G=X(G,F[S].length);
d=X(E&&E.length||0,G||0);for(S=0;S<d;S++)I.push({label:E&&E[S],color:k&&k[S],showlabel:m&&m[S]});K&&I.push({label:N&&N[0],vline:K&&K[0],color:k&&k[0],thickness:L&&L[0],dashed:O&&O[0],showlabel:m&&m[0]});for(S=0;S<La;S++){L={};N=L.data=[];O=w[S]=[];for(k=0;k<d;k++)N.push({value:F[S]&&F[S][k],target:Qa[S]&&Qa[S][k],showvalue:r[S]&&r[S][k],tooltext:z[S]&&z[S][k],tooltexttarget:D[S]&&D[S][k],color:B[S]&&B[S][k],link:C[S]&&C[S][k]}),O.push(F[S]&&F[S][k]);T.push(L)}aa&&this._stopUpdate();q&&this._clearChart();
n&&(this.config.dataStamp=n);return H},exportChart:function(b){return m.exportChart.call(this,b)},chartHoverManager:function(){return function(b){var f=b.type,g=b.data,d=g.linkedItems.eventListeners||(g.linkedItems.eventListeners=[]);"mouseover"!==f&&"touchstart"!==f||!1!==g.mouseStateIn||(g.mouseStateIn=!0,g.onContainerRollOver(b),d.push(fa(e?M:a,"mouseover",g.winMouseHover,g)))}}(),setChartEvents:function(){var b=this.linkedItems.eventListeners||(this.linkedItems.eventListeners=[]),a=this.components.paper.canvas,
f=this.linkedItems.container,g=c(this.jsonData.chart.enablechartmousemoveevent,0);D(f,"click",this.onContainerClick);b.push(fa(f,"click",this.onContainerClick,this));D(a,"mouseover",this.chartHoverManager,this);D(a,"touchstart",this.chartHoverManager,this);D(a,"mouseout",this.chartHoverManager,this);D(a,"touchend",this.chartHoverManager,this);b.push(fa(a,"mouseover touchstart mouseout touchend",this.chartHoverManager,this));D(f,"mousemove",this.onContainerMouseMove,this);D(f,"touchmove",this.onContainerMouseMove,
this);g&&b.push(fa(f,"mousemove touchmove",this.onContainerMouseMove,this))},setChartCursor:function(){var b=this.config.link,a=this.components.paper.canvas.style;C.svg?a.cursor=b?"pointer":"default":this.components.paper.canvas.style.cursor=b?"hand":"default"},onContainerClick:function(b){var a=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,f=a&&a.parentElement,g=a&&a.nodeName.toLowerCase(),h=b.data,d=h.chartInstance;b=m.getMouseCoordinate(h.linkedItems.container,b.originalEvent);
d.ref&&(d=B({height:d.args.height,width:d.args.width,pixelHeight:d.ref.offsetHeight,pixelWidth:d.ref.offsetWidth,id:d.args.id,renderer:d.args.renderer,container:d.options.containerElement},b),k.raiseEvent("chartclick",d,h.chartInstance),a&&a.ishot&&h||"tspan"===g&&f&&f.ishot&&h||h.config.link&&h.linkedItems.linkClickFN.call(h,h))},onContainerMouseMove:function(b){var a=b.data,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);f.ref&&(f=B({height:f.args.height,width:f.args.width,
pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},b),k.raiseEvent("chartMouseMove",f,a.chartInstance))},onContainerRollOver:function(b){var a=b.data,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);f.ref&&(f=B({height:f.args.height,width:f.args.width,pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},
b),k.raiseEvent("chartRollOver",f,a.chartInstance))},onContainerRollOut:function(b){var a=b.chart,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.event);f.ref&&(f=B({height:f.args.height,width:f.args.width,pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},b),k.raiseEvent("chartRollOut",f,a.chartInstance))},mouseStateIn:!1,winMouseHover:function(b){var f=b.originalEvent,f=f.target||f.originalTarget||
f.srcElement||f.relatedTarget||f.fromElement,g=b.data,d=g.components.paper;b={chart:g,event:b.originalEvent};e?d.getById(f.parentNode.raphaelid)||(g.onContainerRollOut(b),g.mouseStateIn=!1,D(M,"mouseover",g.winMouseHover)):f.viewportElement||(g.mouseStateIn=!1,g.onContainerRollOut(b),D(a,"mouseover",g.winMouseHover))},_show:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.show()},_hide:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.hide()}},
qa.base,{valuefontbold:0,usemessagelog:0,zeroplanethickness:void 0,animationeffect:"easeIn"});FusionCharts.register("component",["caption","caption",{pIndex:2,customConfigFn:null,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})},configure:function(){var b=this.chart,a=b.jsonData.chart,f=b.components,g=f.caption,h=g.config,u=b.config.style,e=u.outCanfontFamily,l=u.outCancolor,u=u.fontSize,f=f.subCaption,N=f.config;g.components.text=d(a.caption);f.components.text=
d(a.subcaption);h.style={fontFamily:q(a.captionfont,e),color:ra(q(a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.captionfontsize,u+3)+Pa,fontWeight:0===c(a.captionfontbold)?"normal":"bold"};h.align=N.align=q(a.captionalignment,Da);switch(h.align){case wa:h.align="end";break;case Ta:h.align="start";break;default:h.align="middle"}h.isOnTop=N.isOnTop=c(a.captionontop,1);h.isOnLeft=!c(a.captiononright,0);h.captionPosition=t(a.captionposition,"top").toLowerCase();h.alignWithCanvas=
N.alignWithCanvas=c(b.aligncaptionwithcanvas,a.aligncaptionwithcanvas,1);h.horizontalPadding=N.horizontalPadding=c(a.captionhorizontalpadding,h.alignWithCanvas?0:15);h.drawCaption=!0;oa(h.style);N.style={fontFamily:q(a.subcaptionfont,a.captionfont,e),color:ra(q(a.subcaptionfontcolor,a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.subcaptionfontsize,c(X(c(a.captionfontsize)-3,-1),u)+c(b.subTitleFontSizeExtender,1))+Pa,fontWeight:0===c(a.subcaptionfontbold,b.subTitleFontWeight,
a.captionfontbold)?"normal":"bold"};oa(N.style)},draw:function(){var b=this.chart,a=b.config,f=b.components,g=b.config.textDirection,h=b.graphics,d=h.captionGroup,c=f.paper,u=b.linkedItems.smartLabel,e=f.caption,l=e.graphics,N=l.captionElement,k=f.subCaption,f=k.graphics,L=f.subCaptionElement,O=e.components,e=e.config,m=k.config,S=e.style,W=m.style,k=k.components,E=O.text,K=k.text,p=e.x,ja=e.align,n,aa=a.showToolTip;n=b.get("config","animationObj");var q=n.animType,La=n.animObj,w=n.dummyObj,t=n.duration;
!E&&!K||d||(d=h.captionGroup=c.group("caption"),d.trackTooltip(!0),h.tracker?d.insertBefore(h.trackerGroup):d.insertAfter(h.datasetGroup));E?(b._addCSSDefinition(".fusioncharts-caption",S),n={"class":"fusioncharts-caption",text:O.text,fill:S.color,x:p,y:e.y,"text-anchor":ja||"middle","vertical-align":e.verticalAlign||"top",visibility:e.drawCaption?"visible":"hidden",direction:g},N?(N.animateWith(w,La,{x:p,y:e.y,"text-anchor":ja||"middle","vertical-align":e.verticalAlign||"top",direction:g},t,q),N.attr({"class":"fusioncharts-caption",
"text-anchor":ja||"middle",text:O.text,fill:S.color,visibility:e.drawCaption?"visible":"hidden"})):N=l.captionElement=c.text(n,d).attr("class","fusioncharts-caption"),N.tooltip(O.originalText),N.css(S),u&&(u.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),u.setStyle(S),u.getOriSize(O.text))):N&&(l.captionElement=N.remove());K?(b._addCSSDefinition(".fusioncharts-subcaption",W),n={"class":"fusioncharts-subcaption",text:k.text,fill:W.color,x:p,y:m.y,"text-anchor":ja||"middle","vertical-align":"top",
direction:g,visibility:e.drawCaption?"visible":"hidden"},L?(L.animateWith(w,La,{x:p,y:m.y,"text-anchor":ja||"middle","vertical-align":"top",direction:g},t,q),L.attr({"class":"fusioncharts-subcaption","text-anchor":ja||"middle",text:k.text,fill:W.color,visibility:e.drawCaption?"visible":"hidden"})):L=f.subCaptionElement=c.text(n,d).attr("class","fusioncharts-subcaption"),L.css(W),L.tooltip(k.originalText)):L&&(f.subCaptionElement=L.remove());d&&d.trackTooltip(aa?!0:!1);E||K||!d||(h.captionGroup=d.remove())},
manageSpace:function(b,a){var f=this.chart,g=f.config,h=f.components,u=h.caption,e=h.subCaption,l=u.config,N=e.config,u=u.components,e=e.components,k=f.jsonData.chart,f=f.linkedItems.smartLabel,L=b,O=d(k.caption),m=d(k.subcaption),S=k=c(k.captionpadding,10),W=g.canvasWidth,E=!1,K,p,ja=0,n=0,aa=0,q=0,La=0,n=X(h.canvas.config.canvasBorderThickness,0),w=h=0;!a&&(a=W);if(3<L){k<n&&(k=n+2);O!==J&&(K=l.style,q=ga(c(parseFloat(K.fontHeight,10),parseFloat(K.lineHeight,10),12)));m!==J&&(p=N.style,La=c(parseInt(p.fontHeight,
10),parseInt(p.lineHeight,10),12));if(0<q||0<La)L=X(L,0),ja=q+La+k,ja>L?(n=L-ja,E=!0,n<k?k=X(n,5):(n-=k,k=0,La>n?(aa=La-n+10,La=0,e._originalText=e.text,e.text=""):(n-=La,La=0,q>n&&(aa=q-n)))):aa=L-ja,f.useEllipsesOnOverflow(g.useEllipsesWhenOverflow),0<q&&(f.setStyle(K),q+=aa,K=f.getSmartText(O,a,q),aa=q-K.height,l.height=q=K.height,u.text=K.text,u.originalText=K.tooltext?K.tooltext:!1,h=K.width),0<La&&(f.setStyle(p),La+=aa,p=f.getSmartText(m,a,La),aa=La-p.height,La=p.height,e.text=p.text,N.height=
p.height,e.originalText=p.tooltext?p.tooltext:!1,w=p.width),E&&0<aa&&(k+=ea(S-k,aa)),l.captionPadding=k,l.height=q,l.width=h,N.width=w,N.height=La,ja=q+La+k;ja>g.canvasHeight?(ja=0,l.drawCaption=!1):l.drawCaption=!0;g=l.isOnTop?{top:ja}:{bottom:ja,top:5}}else g={bottom:0,top:0},l.drawCaption=!1;return g},managePosition:function(){var b=this.chart,a=b.config,f=b.components,g=f.caption,h=g.config,d=h.widgetValueHeight||0,u=f.subCaption.config,e=h.x,l=a.canvasWidth,e=h.align,g=g.components.text,N=h.alignWithCanvas,
k=h.horizontalPadding,L=a.width,O=a.canvasLeft,m=a.canvasRight,S=a.marginRight,W=a.marginLeft,a=a.marginTop,E=(Z(O)||0)+c(l,L)/2,l=h.height,K=u.height,p=f.legend.config,ja=p.height,n=p.legendPadding,aa=p.legendPos,q=f.gradientLegend,La=0,w=b.config.borderWidth,f=f.actionBar,t=0;p.isActive||(ja=0);b.config.gLegendEnabled&&(La=q.getLogicalSpace().height);switch(e){case "end":e=N?m-k:L-k;break;case "start":e=N?O+k:k;break;default:e=N?E:W+.5*(L-W-S)||L/2}h.x=e;h.isOnTop?h.y=(w||0)+(a||0)+(h._offsetHeight||
0):("right"===aa&&(La=ja=n=0),f&&(e=f.getLogicalSpace()||{},t=e.height,void 0===t||Infinity===t||0>t)&&(t=0),h.y=b.config.height-b.config.marginBottom-l-(K||0)-(w||0)-(n||0)-(ja||0)-La-d-t);u.y=g?h.y+l+2:h.y||a||0}}]);FusionCharts.register("component",["caption","subcaption",{pIndex:2,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})}}]);qa("scrollbase",{standaloneInit:!1,_scrollBar:function(){var b=[];return{get:function(){return b},clear:function(){b.length=
0},add:function(a,f){b.push({conf:a,handler:f})}}}()},qa.mscartesian);qa("msinversecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=this.config,f=b.colorManager,g=this.jsonData,h=g.chart,d,u=(d=this.is3d)?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,
h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(u.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,
axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,
h.divlinecolor,f.getColor(u.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,d?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,
f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numvdivlines,maxLabelHeight:h.maxlabelheight,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,
rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues),showZeroPlane:h.showvzeroplane,zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:h.vzeroplanethickness,zeroPlaneAlpha:h.vzeroplanealpha,showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,
trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};a={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(u.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,axisNameBgAlpha:h.yaxisnamebgalpha,
axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:h.yaxisname,divLineColor:q(h.divlinecolor,f.getColor(u.divLineColor)),
divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numdivlines,axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,
setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),showZeroPlane:h.showzeroplane,zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,a.zeroplanethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.zeroplanealpha,a.zeroplanealpha,80),showZeroPlaneValue:h.showzeroplanevalue,
trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;a.trendlines=g.trendlines;g=b.yAxis&&b.yAxis[0];
b=b.xAxis&&b.xAxis[0];g&&(g.setCommonConfigArr(a,!0,!0,!1),g.configure());b&&(b.setCommonConfigArr(d,!1,!1,!1),b.configure(),b.setAxisConfig({isRelativeAxisInverse:!0}))}},qa.mscartesian);qa("sscartesian",{standaloneInit:!1,hasLegend:!1,_createDatasets:function(){var b=this.components,a=b.legend,f=this.jsonData,g=f.dataset,h=f.data||g&&g[0].data,d=this.defaultDatasetType,c,u,g=this._dataSegregator(h);this.config.categories=g.data;f=b.dataset||(b.dataset=[]);if(!h||0===h.length)this.setChartMessage();
else if(d&&(u=FusionCharts.get("component",["dataset",d])))if(h="datasetGroup_"+d,c=FusionCharts.register("component",["datasetGroup",d]),d=b[h],c&&!d&&(d=b[h]=new c,d.chart=this,d.init()),f[0]){d=f[0].JSONData;b=f[0].components.data||[];h=d.data.length;u=g.data&&g.data.length||0;if(h>u){if(a)for(d=u;d<h;d++)b[d]&&b[d].legendItemId&&a.removeItem(b[d].legendItemId);f[0].removeData(u,h-u,!1)}f[0].JSONData=g;f[0].configure()}else a=new u,f.push(a),a.chart=this,d&&d.addDataSet(a,0,0),a.index=0,a.init(g)},
_dataSegregator:function(b){var a=[];u(b,function(b){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline&&a.push(b)});return{data:a}},_setCategories:function(){var b=this.jsonData,a=b.dataset;this.components.xAxis[0].setCategory(b.data||a&&a[0].data)}},qa.mscartesian);qa("msdybasecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a,f=FusionCharts.register("component",["axis","cartesian"]),g;b.yAxis=[];b.xAxis=[];b.yAxis[0]=g=new f;b.yAxis[1]=a=new f;b.xAxis[0]=b=new f;
g.chart=this;a.chart=this;b.chart=this;g.init();a.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u,e=this.is3d,l=e?E.chart3D:E.chart2D,N,k=b.primaryAxisOnleft=c(h.primaryaxisonleft,1),L=c(h.syncaxislimits,0);u=[{line:[]}];N=[{line:[]}];var O,m=g.trendlines||[];d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,
axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,e?f.getColor("divLineAlpha3D"):
f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numvdivlines,
maxLabelHeight:h.maxlabelheight,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),
showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,
showAxisLine:e?0:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:c(h.pyaxisnamepadding,
h.yaxisnamepadding),axisValuePadding:c(h.pyaxisvaluespadding,h.yaxisvaluespadding),axisNameFont:q(h.pyaxisnamefont,h.yaxisnamefont),axisNameFontSize:c(h.pyaxisnamefontsize,h.yaxisnamefontsize),axisNameFontColor:q(h.pyaxisnamefontcolor,h.yaxisnamefontcolor),axisNameFontBold:c(h.pyaxisnamefontbold,h.yaxisnamefontbold),axisNameFontItalic:c(h.pyaxisnamefontitalic,h.yaxisnamefontitalic),axisNameBgColor:q(h.pyaxisnamebgcolor,h.yaxisnamebgcolor),axisNameBorderColor:q(h.pyaxisnamebordercolor,h.yaxisnamebordercolor),
axisNameAlpha:c(h.pyaxisnamealpha,h.yaxisnamealpha),axisNameFontAlpha:c(h.pyaxisnamefontalpha,h.yaxisnamefontalpha),axisNameBgAlpha:c(h.pyaxisnamebgalpha,h.yaxisnamebgalpha),axisNameBorderAlpha:c(h.pyaxisnameborderalpha,h.yaxisnameborderalpha),axisNameBorderPadding:c(h.pyaxisnameborderpadding,h.yaxisnameborderpadding),axisNameBorderRadius:c(h.pyaxisnameborderradius,h.yaxisnameborderradius),axisNameBorderThickness:c(h.pyaxisnameborderthickness,h.yaxisnameborderthickness),axisNameBorderDashed:c(h.pyaxisnameborderdashed,
h.yaxisnameborderdashed),axisNameBorderDashLen:c(h.pyaxisnameborderdashlen,h.yaxisnameborderdashlen),axisNameBorderDashGap:c(h.pyaxisnameborderdashgap,h.yaxisnameborderdashgap),axisNameWidth:c(h.pyaxisnamewidth,h.yaxisnamewidth),useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:q(h.pyaxisname,h.yaxisname),divLineColor:q(h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,
1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numdivlines,axisMinValue:L?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):c(h.pyaxisminvalue,h.yaxisminvalue),axisMaxValue:L?c(h.syaxismaxvalue,
h.pyaxismaxvalue,h.yaxismaxvalue):c(h.pyaxismaxvalue,h.yaxismaxvalue),setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showzeroplanevalue,
trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:e?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};f={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,
h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.syaxisnamefont,axisNameFontSize:h.syaxisnamefontsize,axisNameFontColor:h.syaxisnamefontcolor,axisNameFontBold:h.syaxisnamefontbold,axisNameFontItalic:h.syaxisnamefontitalic,axisNameBgColor:h.syaxisnamebgcolor,axisNameBorderColor:h.syaxisnamebordercolor,axisNameAlpha:h.syaxisnamealpha,
axisNameFontAlpha:h.syaxisnamefontalpha,axisNameBgAlpha:h.syaxisnamebgalpha,axisNameBorderAlpha:h.syaxisnameborderalpha,axisNameBorderPadding:h.syaxisnameborderpadding,axisNameBorderRadius:h.syaxisnameborderradius,axisNameBorderThickness:h.syaxisnameborderthickness,axisNameBorderDashed:h.syaxisnameborderdashed,axisNameBorderDashLen:h.syaxisnameborderdashlen,axisNameBorderDashGap:h.syaxisnameborderdashgap,axisNameWidth:h.syaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,
1),axisName:h.syaxisname,divLineColor:q(h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),
numDivLines:h.numdivlines,axisMinValue:L?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):h.syaxisminvalue,axisMaxValue:L?c(h.syaxismaxvalue,h.pyaxismaxvalue,h.yaxismaxvalue):h.syaxismaxvalue,setAdaptiveMin:h.setadaptivesymin||h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showsyaxisvalues,h.showsyaxisvalue,h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showsecondarylimits,h.showyaxislimits,h.showlimits),showDivLineValues:c(h.showdivlinesecondaryvalue,
h.showyaxisvalues,h.showyaxisvalue,1),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:h.zeroplanealpha,showZeroPlaneValue:h.showzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:e?0:c(h.showsyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.syaxislinethickness,
h.axislinethickness,1),axisLineAlpha:c(h.syaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.syaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;L=0;for(l=m.length;L<l;L++)for(g=m[L]&&m[L].line||[],e=g.length,O=0;O<e;O++)h=g[O]||{},h.parentyaxis&&h.parentyaxis.toLowerCase(),"s"===h.parentyaxis?u[0].line.push(h):N[0].line.push(h);b.trendlines=N;f.trendlines=u;N=a.yAxis[0];u=a.yAxis[1];a=a.xAxis[0];1===k?(N.setCommonConfigArr(b,!0,!1,!1),u.setCommonConfigArr(f,!0,!1,!0)):(N.setCommonConfigArr(b,
!0,!1,!0),u.setCommonConfigArr(f,!0,!1,!1));a.setCommonConfigArr(d,!1,!1,!1);N.configure();u.configure();a.configure();u.setAxisConfig({isActive:!1,isPercent:this.isPercentage,axisIndex:1,uniqueClassName:1})},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,u=-Infinity,e=Infinity,l=-Infinity,N=Infinity,k=Infinity,L=-Infinity,O,m=c(this.jsonData.chart.syncaxislimits,0),S={},W=function(b){return-Infinity===b||Infinity===b?null:b},E=function(b){K?(l=X(l,
b.sYMax||b.max),N=ea(N,b.sYMin||b.min)):(u=X(u,b.max),e=ea(e,b.min));L=X(L,b.xMax||-Infinity);k=ea(k,b.xMin||Infinity)},K=0;for(d=0;d<h;d++)g=a[d],O=g.groupManager,K=g.config.parentYAxis,O?(S[g.type]=O,S[g.type].yAxisIndex=K):(g=g.getDataLimits(),E(g));for(O in S)K=S[O].yAxisIndex,g=S[O].getDataLimits(),u=X(u,g.max),e=ea(e,g.min),l=X(l,g.sYMax),N=ea(N,g.sYMin);m?(a=X(u,l),O=ea(e,N),f[0].setDataLimit(a,O),f[1].setDataLimit(a,O)):(u=W(u),e=W(e),l=W(l),N=W(N),f[0].setDataLimit(u,e),f[1].setDataLimit(l,
N));f[0].getDivLineCount();if(-Infinity!==L||Infinity!==k)b[0].config.xaxisrange={max:L,min:k},b[0].setDataLimit(L,k)},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.yAxis,g=a.xAxis&&a.xAxis[0],h=f[0],f=f[1],d=a.legend,c=b.xDepth,u=a.canvas.config,e=u.canvasBorderWidth,l=u.canvasPadding,N=u.canvasPaddingLeft,k=u.canvasPaddingRight,a=u.canvasPaddingTop,L=b.primaryAxisOnleft,u=u.canvasPaddingBottom;g&&g.setAxisDimention({x:b.canvasLeft+(c||0)+X(N,l),y:b.canvasBottom+(b.shift||
0)+e,opposite:b.canvasTop-e,axisLength:b.canvasWidth-(c||0)-X(N,l)-X(k,l)});L?(b.yAxisStartXPos=b.canvasLeft-e,b.sYAxisStartXPos=b.canvasRight+e):(b.yAxisStartXPos=b.canvasRight+e,b.sYAxisStartXPos=b.canvasLeft-e);e=b.yAxisStartXPos;l=b.sYAxisStartXPos;h&&h.setAxisDimention({x:e,y:b.canvasTop+a,opposite:l,axisLength:b.canvasHeight-a-u});f&&f.setAxisDimention({x:l,y:b.canvasTop+a,opposite:e,axisLength:b.canvasHeight-a-u});g&&g.shiftLabels(-c,0);d.postSpaceManager();this.config.realtimeEnabled&&this._setRealTimeCategories&&
this._setRealTimeCategories();this._adjustCanvasPadding()}},qa.mscartesian);qa("mscartesian3d",{standaloneInit:!1,is3d:!0,_createDatasets:function(){var b=this.components,a=b.xAxis[0],f=this.jsonData,g=f.dataset,h=g&&g.length,c,u,e,l=this.defaultDatasetType,N=this.applicableDSList,k=this.components.legend,L,O,m,S,W=this.isStacked,E,K,p=[],ja=this.isRealTime,n=this.config.catLen,aa={};g||this.setChartMessage();this.config.categories=f.categories&&f.categories[0].category;c=b.dataset||(b.dataset=[]);
u=c.length;for(f=0;f<h;f++)if(S=g[f],S.seriesname&&(S.seriesname=d(S.seriesname)),e=S.parentyaxis||"",O=(O=this.isDual&&"s"===e.toLowerCase()?q(S.renderas,this.sDefaultDatasetType):q(S.renderas,l))&&O.toLowerCase(),N[O]||(O=l),m=FusionCharts.get("component",["dataset",O]))void 0===aa[O]?aa[O]=0:aa[O]++,E="datasetGroup_"+O,e=FusionCharts.register("component",["datasetGroup",O]),(L=b[E])&&p.push(L),e&&!L&&(L=b[E]=new e,L.chart=this,L.init()),(e=c[f])?(O=a.getCategoryLen(),E=n-O,m=ja?e.components:e.JSONData,
K=m.data&&m.data.length||0,m=S.data&&S.data.length||0,K-=m,E>K||(E=K,O=m),0<E&&e.removeData(O,E,!1),c[f].JSONData=S,c[f].configure(),c[f]._deleteGridImages&&c[f]._deleteGridImages()):(e=new m,c.push(e),e.chart=this,e.index=f,L&&(W?L.addDataSet(e,0,aa[O]):L.addDataSet(e,aa[O],0)),e.init(S));if(u>h){E=u-h;L&&W&&L.removeDataSet(0,f,E);b=f;for(h=E+f;b<h;b++)L&&!W&&L.removeDataSet(f,0,1),c[b].visible=!1,c[b].draw(),k.removeItem(c[b].legendItemId);c.splice(f,E)}this.config.catLen=a.getCategoryLen()},_drawCanvas:function(){var b=
this.config,a=b.canvasLeft,f=b.canvasTop,g=b.canvasWidth,h=b.canvasHeight,d=this.jsonData.chart,u=this.components,e=u.canvas,l=u.colorManager,u=u.paper,N=e.graphics,k=N.canvasBorderElement,m=N.canvasElement,S=e.config,W=S.clip={},e=this.graphics.canvasGroup,K=N.canvasBg,p=N.canvas3DBase,ja=this.get("config","animationObj"),n=ja.animType,aa=ja.animObj,La=ja.dummyObj,ja=ja.duration,t=N.canvas3dbaseline,F=S.canvasBgColor,Qa=S.showCanvasBG=Boolean(c(d.showcanvasbg,1)),r=b.canvasBgDepth,z=b.showCanvasBase,
D=b.canvasBaseDepth,B=S.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),G=S.use3DLighting=c(d.use3dlighting,1),F=E.chart3D,J=S.canvasBorderRadius=c(d.plotborderradius,0),I=S.canvasBorderColor=ra(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),T=S.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),M=S.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),V=b.xDepth,d=b.yDepth,l=b.canvasBasePadding||2,F=G?S.canvasBgColor={FCcolor:{color:Fa(M,85)+Oa+na(M,55),
alpha:T+Oa+T,ratio:L,angle:O(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:S.canvasBgColor=ra(M,T);M.split(Oa);T.split(Oa);V=S.xDepth=10;d=S.yDepth=10;b={x:a-0,y:f-0,width:g+0,height:h+0,r:J,"stroke-width":0,stroke:I,"stroke-linejoin":"miter"};k?(k.animateWith(La,aa,{x:a-0,y:f-0,width:g+0,height:h+0,r:J},ja,n),k.attr({"stroke-width":0,stroke:I,"stroke-linejoin":"miter"})):N.canvasBorderElement=u.rect(b,e);W["clip-canvas"]=[X(0,a-V),X(0,f),X(1,g+V),X(1,h+d)];W["clip-canvas-init"]=
[X(0,a-V),X(0,f-d),1,X(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:J,"stroke-width":0,stroke:"none",fill:ba(F)};Qa?(m?(m.show(),m.animateWith(La,aa,{x:a,y:f,width:g,height:h,r:J},ja,n),m.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):N.canvasElement=u.rect(b,e),b=["M",a+g,",",f,"L",a+g+r,",",f+1.2*r,",",a+g+r,",",f+h-r,",",a+g,",",f+h,"Z"],K?(K.show(),K.animateWith(La,aa,{path:b},ja,n),K.attr({path:b})):K=N.canvasBg=u.path(b,e),K.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):(m&&m.hide(),K&&
K.hide());z?(b=a-V-l,k=f+h+d+l,m=V+l,K=d+l,p?(p.show(),p._.cubeside.show(),p._.cubetop.show(),p.animateWith(La,aa,{cubepath:[b,k,g,D,m,K]},ja,n),p.attr({cubepath:[b,k,g,D,m,K]})):p=N.canvas3DBase=u.cubepath(b,k,g,D,m,K,e),p.attr({stroke:"none","stroke-width":0,fill:[B.replace(w,H),!G]}),t?(t.show(),t.animateWith(La,aa,{path:["M",a,f+h,"H",g+a]},ja,n)):t=N.canvas3dbaseline=u.path(void 0,e),t.attr({path:["M",a,f+h,"H",g+a],stroke:C.tintshade(B.replace(w,H),.05).rgba})):(p&&(p.hide(),p._.cubeside.hide(),
p._.cubetop.hide()),t&&t.hide())}},qa.mscartesian);qa("msdybasecartesian3d",{standaloneInit:!1,is3d:!0,_drawCanvas:qa.mscartesian3d},qa.msdybasecartesian);qa("sscartesian3d",{standaloneInit:!1,hasLegend:!1,is3d:!0,_drawCanvas:qa.mscartesian3d},qa.sscartesian);qa("msbarcartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.get("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();
this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u=this.is3d,e=u?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,maxLabelWidthPercent:h.maxlabelwidthpercent,axisValuePadding:h.labelpadding,
axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,
axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,axisNameWidth:h.xaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,
1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numvdivlines,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,
labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,
h.showvdivlinevalues),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,rotateAxisName:c(h.rotatexaxisname,1),trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showxaxisline,h.showaxislines,
h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,
axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,axisNameBgAlpha:h.yaxisnamebgalpha,axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,
axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,axisName:h.yaxisname,divLineColor:q(h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,
h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,1),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numdivlines,axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),
showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,isTrendZone:0,showTrendlinesOnTop:h.showtrendlinesontop,
showAxisLine:u?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000"),numberFormatterFn:"yAxis"};b.vtrendlines=g.trendlines;d.trendlines=g.vtrendlines;g=a.yAxis[0];a=a.xAxis[0];g.setCommonConfigArr(b,!1,!1,!1);a.setCommonConfigArr(d,!0,!0,!1);g.configure();a.configure()},_spaceManager:function(){var b,a,f=this.config,g=this.components,
h=g.yAxis&&g.yAxis[0],d=g.xAxis&&g.xAxis||[];a=g.legend.config.legendPos;var c=f.xDepth,u=f.yDepth,e=f.canvasBgDepth,l=f.canvasBaseDepth,N=f.canvasBasePadding,k=g.canvas.config.canvasBorderWidth,L=f.realTimeConfig&&f.realTimeConfig.showRTValue,O=f.borderWidth,m=f.canvasMarginTop,S=f.canvasMarginBottom,W=f.canvasMarginLeft,E=f.canvasMarginRight,g=f.minCanvasHeight,K=f.minCanvasWidth,p=f.minChartWidth,ja=f.minChartHeight,n=f.height,aa=f.width,q=!1,La=!1,t,w=f.origCanvasTopMargin,F=f.origCanvasBottomMargin,
Qa=f.origCanvasLeftMargin,r=f.origCanvasRightMargin,z,D,B;f.canvasWidth-2*O<p&&(z=(f.canvasWidth-p)/2);f.canvasHeight-2*O<ja&&(b=(f.canvasHeight-ja)/2);this._allocateSpace({top:b||O,bottom:b||O,left:z||O,right:z||O});d=d[0];b=.7*f.availableWidth;f.yAxisSpaceAllocation=b=d&&d.placeAxis(b);d&&this._allocateSpace(b);d=.225*f.availableHeight;d=this._manageActionBarSpace&&this._manageActionBarSpace(d)||{};this._allocateSpace(d);this._manageLegendSpace();a=a===Ia?.6*f.availableHeight:.6*f.availableWidth;
u&&(this._allocateSpace({left:u}),f.shift=c+N+l);e&&this._allocateSpace({top:e});f.canvasWidth-2*k<K&&(B=(f.canvasWidth-K)/2);this._allocateSpace({left:B||k,right:B||k});K>aa-W-E&&(La=!0,u=f.canvasWidth-K,c=W+E,W=f.canvasMarginLeft=u*W/c,E=f.canvasMarginRight=u*E/c);W=W>f.canvasLeft?W-f.canvasLeft:0;E=E>aa-f.canvasRight?E+f.canvasRight-aa:0;this._allocateSpace({left:W,right:E});this._allocateSpace({left:l});La&&(c=Qa+r,l=f.canvasWidth,l>K&&(u=l-K,W=u*Qa/c,E=u*r/c),this._allocateSpace({left:W,right:E}));
f.actualCanvasMarginRight=E;f.actualCanvasMarginBottom=t;this._manageChartMenuBar(a);a=.2*f.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*f.availableHeight;f.realtimeEnabled&&(L?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());a=.6*f.availableHeight;f.xAxisSpaceAllocation=t=h&&h.placeAxis(a);h&&this._allocateSpace(t);a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*k<g&&(D=(f.canvasHeight-g)/
2);this._allocateSpace({top:D||k,bottom:D||k});g>n-m-S&&(q=!0,u=f.canvasHeight-g,c=m+S,m=f.canvasMarginTop=u*m/c,S=f.canvasMarginBottom=u*S/c);h=m>f.canvasTop?m-f.canvasTop:0;t=S>n-f.canvasBottom?S+f.canvasBottom-n:0;this._allocateSpace({top:h,bottom:t});q&&(c=w+F,S=f.canvasHeight,S>g&&(u=S-g,h=u*w/c,t=u*F/c),this._allocateSpace({top:h,bottom:t}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=W},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.xAxis&&a.xAxis[0],g=a.yAxis&&
a.yAxis[0],h=a.legend,d=b.xDepth,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPadding,e,l,N;g&&this._allocateXAxisLabelSpace(g);e=c.canvasPaddingLeft;l=c.canvasPaddingRight;N=c.canvasPaddingTop;c=c.canvasPaddingBottom;g&&g.setAxisDimention({x:b.canvasLeft+e,y:b.canvasBottom+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-e-l});f&&f.setAxisDimention({x:b.canvasLeft-(b.shift||0)-a,y:b.canvasTop+(d||0)+X(N,u),opposite:b.canvasRight+a,axisLength:b.canvasHeight-(d||0)-X(N,u)-X(c,u)});h.postSpaceManager()}},
qa.mscartesian);qa("ssbarcartesian",{standaloneInit:!1,_createAxes:qa.msbarcartesian,_feedAxesRawData:qa.msbarcartesian,_spaceManager:qa.msbarcartesian,_postSpaceManagement:qa.msbarcartesian,_allocateXAxisLabelSpace:qa.msbarcartesian},qa.sscartesian);qa("msbarcartesian3d",{standaloneInit:!1,_createDatasets:qa.mscartesian3d,is3d:!0,_drawCanvas:function(){var b=this.config,a=b.canvasLeft,f=b.canvasTop,g=b.canvasWidth,h=b.canvasHeight,d=this.jsonData.chart,u=this.components,e=u.canvas,l=u.colorManager,
u=u.paper,N=e.graphics,k=N.canvasBorderElement,m=N.canvasElement,S=e.config,W=S.clip={},e=this.graphics.canvasGroup,K=N.canvasBg,p=N.canvas3DBase,ja=this.get("config","animationObj"),n=ja.animType,aa=ja.animObj,La=ja.dummyObj,ja=ja.duration,t=N.canvas3dbaseline,F=S.canvasBgColor,Qa=S.showCanvasBG=Boolean(c(d.showcanvasbg,1)),r=b.canvasBgDepth,z=b.showCanvasBase,D=b.canvasBaseDepth,B=S.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),G=S.use3DLighting=c(d.use3dlighting,1),F=E.chart3D,
J=S.canvasBorderRadius=c(d.plotborderradius,0),I=S.canvasBorderWidth=0,T=.5*I,M=S.canvasBorderColor=ra(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),V=S.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),Q=S.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),l=S.xDepth,d=S.yDepth,F=G?S.canvasBgColor={FCcolor:{color:Fa(Q,85)+Oa+na(Q,55),alpha:V+Oa+V,ratio:L,angle:O(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:S.canvasBgColor=ra(Q,V);Q.split(Oa);
V.split(Oa);l=S.xDepth=5;d=S.yDepth=5;b={x:a-T,y:f-T,width:g+I,height:h+I,r:J,"stroke-width":I,stroke:M,"stroke-linejoin":2<I?"round":"miter"};k?(k.animateWith(La,aa,{x:a-T,y:f-T,width:g+I,height:h+I,r:J},ja,n),k.attr({"stroke-width":I,stroke:M,"stroke-linejoin":2<I?"round":"miter"})):N.canvasBorderElement=u.rect(b,e);W["clip-canvas"]=[X(0,a-l),X(0,f),X(1,g+l),X(1,h+d)];W["clip-canvas-init"]=[X(0,a-l),X(0,f-d),1,X(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:J,"stroke-width":0,stroke:"none",fill:ba(F)};
Qa?(m?(m.show(),m.animateWith(La,aa,{x:a,y:f,width:g,height:h,r:J},ja,n),m.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):N.canvasElement=u.rect(b,e),g=["M",a,",",f,"L",a+1.2*r,",",f-r,",",a+g-r,",",f-r,",",a+g,",",f,"Z"],K?(K.show(),K.animateWith(La,aa,{path:g},ja,n),K.attr({path:g})):K=N.canvasBg=u.path(g,e),K.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):(m&&m.hide(),K&&K.hide());z?(g=a-l-D-1,b=f+d+1,k=l+1,m=d+1,p?(p.show(),p._.cubeside.show(),p._.cubetop.show(),p.animateWith(La,aa,{cubepath:[g,
b,D,h,k,m]},ja,n),p.attr({cubepath:[g,b,D,h,k,m]})):p=N.canvas3DBase=u.cubepath(g,b,D,h,k,m,e),p.attr({stroke:"none","stroke-width":0,fill:[B.replace(w,H),!G]}),t?(t.show(),t.animateWith(La,aa,{path:["M",a,f,"V",h+f]},ja,n)):t=N.canvas3dbaseline=u.path(void 0,e),t.attr({path:["M",a,f,"V",h+f],stroke:C.tintshade(B.replace(w,H),.05).rgba})):(p&&(p.hide(),p._.cubeside.hide(),p._.cubetop.hide()),t&&t.hide())}},qa.msbarcartesian);qa("ssbarcartesian3d",{standaloneInit:!1,_createAxes:qa.msbarcartesian,_feedAxesRawData:qa.msbarcartesian,
_drawCanvas:qa.msbarcartesian3d,_spaceManager:qa.msbarcartesian,_postSpaceManagement:qa.msbarcartesian,_allocateXAxisLabelSpace:qa.msbarcartesian},qa.sscartesian3d);qa("mspolar",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","polarcartesan"]),f=FusionCharts.register("component",["axis","polar"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=a=new a;b.xAxis[0]=b=new f;a.chart=this;b.chart=this;a.init();b.init();a.setAxisConfig({polarAxis:b});
this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,f=this.jsonData,g=f.chart,h,d=(h=this.is3d)?E.chart3D:E.chart2D;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,
axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,
axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:q(g.vdivlinecolor,g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.vdivlinealpha,g.divlinealpha,h?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:c(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:Boolean(c(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.vdivlinedashlen,
g.divlinedashlen,4),divLineDashGap:c(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatevgridcolor,1),alternateGridColor:q(g.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:q(g.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.yaxisname,axisMinValue:g.xaxisminvalue,
axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:c(g.slantlabels,g.slantlabel),labelStep:c(g.labelstep,g.xaxisvaluesstep),showAxisValues:c(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:c(g.showvdivlinevalues,g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,
trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:c(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.xaxislinecolor,g.axislinecolor,"#000000"),showRadarBorder:g.showradarborder,radarBorderColor:g.radarbordercolor,radarBorderThickness:g.radarborderthickness,
radarBorderAlpha:g.radarborderalpha,radarFillColor:g.radarfillcolor,radarFillAlpha:g.radarfillalpha,radarSpikeColor:g.radarspikecolor,radarSpikeThickness:g.radarspikethickness,radarSpikeAlpha:g.radarspikealpha,radarInLineAlpha:g.radarinlinealpha};a={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,
axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,
axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:c(g.rotateyaxisname,1),axisName:g.xaxisname,divLineColor:q(g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:c(g.divlinethickness,1),divLineIsDashed:Boolean(c(g.divlinedashed,
g.divlineisdashed,0)),divLineDashLen:c(g.divlinedashlen,4),divLineDashGap:c(g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatehgridcolor,1),alternateGridColor:q(g.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:q(g.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:c(g.showyaxisvalues,g.showyaxisvalue),
showLimits:c(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:c(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:c(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showyaxisline,
g.showaxislines,g.drawAxisLines,0),axisLineThickness:c(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.yaxislinecolor,g.axislinecolor,"#000000")};h.vtrendlines=f.trendlines;a.trendlines=f.vtrendlines;f=b.yAxis[0];b=b.xAxis[0];f.setCommonConfigArr(a,!0,!1,!1);b.setCommonConfigArr(h,!1,!1,!1);f.configure();b.configure()},_spaceManager:function(){var b,a,f=this.config;a=this.components;var g=f.radarBorderThickness,h=f.legendPosition,
d=a.xAxis&&a.xAxis[0],u=a.yAxis&&a.yAxis[0];b=this.hasLegend;a=a.legend;var c;c=h===Ia?.3*f.canvasHeight:.3*f.canvasWidth;!1!==b&&d&&this._allocateSpace(a._manageLegendPosition(c));a=.7*f.canvasHeight;b=.7*f.canvasWidth;d&&this._allocateSpace(d.placeAxis(b,a));b=.7*f.canvasWidth;u&&u.placeAxis(b);b=0<f.radarRadius?2*f.radarRadius:ea(f.canvasHeight,f.canvasWidth);f.canvasHeight>b&&(a=ca((f.canvasHeight-b)/2),this._allocateSpace({top:a,bottom:a}));f.canvasWidth>b&&(a=ca((f.canvasWidth-b)/2),this._allocateSpace({left:a,
right:a}));a=h===Ia?.6*f.availableHeight:.6*f.availableWidth;this._manageChartMenuBar(a);u.setAxisDimention({x:f.canvasLeft+f.canvasWidth/2-g/2,y:f.canvasTop,axisLength:f.canvasHeight/2});d.setAxisConfig({centerX:f.canvasLeft+f.canvasWidth/2,centerY:f.canvasTop+f.canvasHeight/2,radius:ea(f.canvasWidth/2,f.canvasHeight/2)-g/2})}},qa.mscartesian);qa("mslog",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f=FusionCharts.register("component",
["axis","log"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new f;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,f=this.jsonData,g=f.chart,h,d=(h=this.is3d)?E.chart3D:E.chart2D,u=1===c(g.invertyaxis,0)?!0:!1;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,
axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:q(g.vdivlinecolor,g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.vdivlinealpha,g.divlinealpha,h?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:c(g.vdivlinethickness,
g.divlinethickness,1),divLineIsDashed:Boolean(c(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:c(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatevgridcolor,0),alternateGridColor:q(g.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:q(g.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,
labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:c(g.slantlabels,g.slantlabel),labelStep:c(g.labelstep,g.xaxisvaluesstep),showAxisValues:c(g.showxaxisvalues,g.showxaxisvalue),
showLimits:g.showvlimits,showDivLineValues:c(g.showvdivlinevalues,g.showvdivlinevalues),showZeroPlane:g.showvzeroplane,zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showxaxisline,g.showaxislines,g.drawAxisLines,
0),axisLineThickness:c(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.xaxislinecolor,g.axislinecolor,"#000000")};a={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,
axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,
axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:c(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:q(g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:c(g.divlinethickness,2),divLineIsDashed:Boolean(c(g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.divlinedashlen,
4),divLineDashGap:c(g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatehgridcolor,1),alternateGridColor:q(g.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:q(g.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:c(g.showyaxisvalues,g.showyaxisvalue),showLimits:c(g.showyaxislimits,g.showlimits,
this.showLimits),showDivLineValues:c(g.showdivlinevalues,g.showdivlinevalue),showZeroPlane:g.showzeroplane,zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:g.zeroplanethickness,zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),
axisLineThickness:c(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.yaxislinealpha,g.axislinealpha,100),base:g.base,logBase:g.logbase,axisLineColor:q(g.yaxislinecolor,g.axislinecolor,"#000000"),showMinorDivLineValues:c(g.showminordivlinevalues,0),numMinorDivLines:g.numminordivlines};"1"===a.base&&(a.base=10,a.logBase=10);a.minorDivlinecolor=q(g.minordivlinecolor,a.divLineColor);a.minorDivLineThickness=q(g.minordivlinethickness,1);a.minorDivLineAlpha=q(g.minordivlinealpha,a.divLineAlpha/
2);h.vtrendlines=f.vtrendlines;a.trendlines=f.trendlines;f=b.yAxis[0];b=b.xAxis[0];f.setCommonConfigArr(a,!0,u,!1);b.setCommonConfigArr(h,!1,!1,!1);f.configure();b.configure()},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,u=-Infinity,c=Infinity,e=Infinity,l=-Infinity,N,k={},L=[],O=function(b){u=X(u,b.max);c=ea(c,b.min);l=X(l,b.xMax||-Infinity);e=ea(e,b.xMin||Infinity)};for(d=0;d<h;d++)g=a[d],(N=g.groupManager)?k[g.type]=N:L.push(g);for(N in k)a=k[N].getDataLimits(),
O(a);h=L.length;for(d=0;d<h;d++)a=L[d].getDataLimits(),O(a);-Infinity===u&&(u=1);Infinity===c&&(c=1);f[0].setDataLimit(u,c);if(-Infinity!==l||Infinity!==e)b[0].config.xaxisrange={max:l,min:e},b[0].setDataLimit(l,e)}},qa.mscartesian);qa("guageBase",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_adjustCanvasPadding:function(){},placeDataLabels:function(){var b=function(b,a){return b.point.value-a.point.value},
a=function(b,a){return b.angle-a.angle},f=["start","start","end","end"],g=[-1,1,1,-1],h=[1,1,-1,-1];return function(d,e,l,N){var k=this.config,L=this.components.dataset[0].conf,O=k.canvasLeft,m=k.canvasTop,S=k.canvasWidth,W=O+.5*k.canvasWidth,E=m+.5*k.canvasHeight,K=this.linkedItems.smartLabel,ja=L.dataLabelOptions,n=ja.style,aa=c(ga(parseFloat(n.lineHeight)),12),La=p(ja.placeLabelsInside,1===e.length?!0:!1),q=ja.skipOverlapLabels,t=ja.manageLabelOverflow,w=ja.connectorPadding,F;F=N&&N.metrics||[W,
E,2*L.pieMinRadius,L.innerSize||0];var Qa=F[1],r=F[0];N=.5*F[2];var z=[[],[],[],[]],L=l.labelsRadius=N+ja.distance,E=W=parseInt(n.fontSize,10),D=E/2,w=[w,w,-w,-w];l=l.labelsMaxInQuadrant||(l.labelsMaxInQuadrant=da(L/E));var ja=ja.isSmartLineSlanted,B=F[3]/2,C,G,J,H,I,T,M,V,Q,P,ba,fa,Z,na,Ea,la;F=Number.POSITIVE_INFINITY;var ra,oa;J=[];G=[];K.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);d||K.setStyle(n);if(1==e.length&&!B&&La)J=e[0],(ba=J.dataLabel)&&ba.show(),J.slicedTranslation=[O,m],ba&&(ba.attr({visibility:$,
align:"middle",transform:["t",r,Qa]}),ba.x=r);else if(La)la=B+(N-B)/2,u(e,function(b){ra=b.config;oa=b.graphics;(ba=oa.label)&&ba.show();ba&&(P=ra.angle,Q=Qa+la*Ja(P),I=r+la*R(P),ba.x=I,ba._x=I,ba.y=Q,b.sliced&&(Ea=b.slicedTranslation,Z=Ea[0]-O,na=Ea[1]-m,I+=Z,Q+=na),ba.attr({visibility:$,align:"middle",transform:["t",I,Q]}))});else{u(e,function(b){ra=b.config;oa=b.graphics;(ba=oa.label)&&ba.show();ba&&(P=ra.angle%U,0>P&&(P=U+P),fa=0<=P&&P<Ha?1:P<ua?2:P<Na?3:0,z[fa].push({point:b,angle:P}))});for(e=
d=4;e--;){if(q&&(k=z[e].length-l,0<k))for(z[e].sort(b),n=z[e].splice(0,k),k=0,G=n.length;k<G;k+=1)J=n[k].point,J.dataLabel.attr({visibility:"hidden"}),J.connector&&J.connector.attr({visibility:"hidden"});z[e].sort(a)}e=X(z[0].length,z[1].length,z[2].length,z[3].length);k=X(ea(e,l)*E,L+E);G=z[0].concat(z[1]);J=z[2].concat(z[3]);for(e=G.length-1;0<=e;e--)n=G[e].point.config,delete n.clearance,delete n.clearanceShift,B=ca(k*Ja(n.angle)),Math.abs(F-B)<2*aa&&(n.clearance=0,G[e+1].point.clearanceShift=
aa/2),F=B;F=Number.POSITIVE_INFINITY;e=0;for(G=J.length;e<G;e++)n=J[e].point.config,delete n.clearance,delete n.clearanceShift,B=ca(k*Ja(n.angle)),Math.abs(F-B)<2*aa&&(n.clearance=0,J[e-1].point.clearanceShift=aa/2),F=B;z[1].reverse();for(z[3].reverse();d--;){n=z[d];G=n.length;q||(E=G>l?k/G:W,D=E/2);aa=G*E;F=k;for(e=0;e<G;e+=1,aa-=E)B=ca(k*Ja(n[e].angle)),F<B?B=F:B<aa&&(B=aa),F=(n[e].oriY=B)-E;La=f[d];G=k-(G-1)*E;F=0;for(e=n.length-1;0<=e;--e,G+=E)if(J=n[e].point,P=n[e].angle,ra=J.config,oa=J.graphics,
J=ra.sliced,ba=oa.label,B=ca(k*Ja(P)),B<F?B=F:B>G&&(B=G),F=B+E,aa=void 0===ra.clearance?2*ga(c(parseFloat(ra.style.border),12),12):2*ga(c(parseFloat(ra.style.border),ra.clearance)),M=(B+n[e].oriY)/2,B=r+h[d]*L*R(ia.asin(M/k)),M*=g[d],M+=Qa,V=Qa+N*Ja(P),H=r+N*R(P),(2>d&&B<H||1<d&&B>H)&&(B=H),I=B+w[d],Q=M-D-2,T=I+w[d],ba.x=T,ba._x=T,t&&(C=1<d?T-this.canvasLeft:this.canvasLeft+S-T,K.setStyle(ra.style),aa=c(ga(parseFloat(ra.style.lineHeight)),12)+aa,aa=K.getSmartText(ra.labelText,C,aa),void 0===ra.clearance&&
aa.height>E&&(M+=E),ba.attr({text:aa.text}).tooltip(aa.tooltext)),ba.y=Q,J&&(Z=ra.transX,na=ra.transY,I+=Z,B+=Z,H+=Z,V+=na,T+=Z),ba.attr({visibility:$,"text-anchor":La,vAlign:"middle",x:T,y:M}),aa=oa.connector)oa.connectorPath=J=["M",H,V,"L",ja?B:H,M,I,M],aa.attr({path:J,visibility:$})}}}}()},qa.sscartesian);qa("scatterBase",{standaloneInit:!1,_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,f=q(b.chart.xaxislabelmode,"categories"),b=b.categories&&b.categories[0].category;a[0].setAxisData({xAxisLabelMode:"categories"});
"auto"!==f&&"mixed"!==f&&b&&0<b.length?a[0].setCategory(b):"auto"!==f?(a[0].setCategory(b,!1),a[0].setAxisData({xAxisLabelMode:"mixed"})):a[0].setAxisData({xAxisLabelMode:"auto"})},_setAxisLimits:function(){var b=this.components,a=this.jsonData,f=b.xAxis,g=q(a.chart.xaxislabelmode,"categories"),a=a.categories&&a.categories[0],a=(a&&a.category||[]).slice(),h,d,u,c,e;h=Infinity;u=-Infinity;var l,N;qa("mscartesian")._setAxisLimits.call(this);d=f[0].getLimit();c=d.tickInterval;for(e=0;e<a.length;e+=1)if(l=
a[e].x)l<h&&(h=l),l>u&&(u=l);if(u>d.max||h<d.min)u=X(u,d.max),h=ea(h,d.min),f[0].setDataLimit(u,h);if("mixed"===g||"auto"===g||!(a&&0<a.length)){u=[];h=b.numberFormatter.xAxis;if("mixed"===g)for(e=0,g=a.length;e<g;e+=1)u[a[e].x||a[e].y||e]=!0;else a=[];l=f[0].getAxisData();N=e=d.min;for(g=d.max;e<=g;)u[e]||a.push({label:""+h.call(b.numberFormatter,e),x:e,showverticalline:0===e?l.showZeroPlane:1,isNumeric:!0,linecolor:0===e?l.zeroPlaneColor:l.divLineColor,linealpha:0===e?l.zeroPlaneAlpha:l.divLineAlpha,
linethickness:0===e?l.zeroPlaneThickness:l.divLineThickness,linedashed:l.divLineIsDashed,linedashLen:l.divLineDashLen,linedashgap:l.divLineDashGap}),0>e&&0<e+c?(e=0,N+=c):e<N?e=N:(e+=c,N+=c);f[0].setCategory(a,!1)}},_createQuadrant:function(){var b;b=this.components;var a=FusionCharts.register("component",["quadrant","cartesian"]);b.quadrant=b=new a;b.chart=this;b.init()},_drawQuadrant:function(){this.components.quadrant.draw()},_getDiff:function(b,a){return{diff:b,startIndex:a}}},qa.mscartesian,
{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,setadaptivexmin:1})}]);
FusionCharts.register("module",["private","modules.renderer.js-renderer",function(){var k=this.window,m=this.hcLib,C=m.Raphael,r=m.parseConfiguration,e=/msie/i.test(k.navigator.userAgent)&&!k.opera,a=k.Image,M="VML"===C.type,J=m.BLANKSTRING,I=m.getPosition,n=m.COMMASPACE,z=m.ZEROSTRING,G=m.BGRATIOSTRING,q=m.hasSVG,t="rgba(192,192,192,"+(e?.002:1E-6)+")",e=m.TOUCH_THRESHOLD_PIXELS,c=m.CLICK_THRESHOLD_PIXELS,p=m.extend2,d=m.pluck,B=m.parsexAxisStyles,Q=m.toPrecision,l=m.pluckNumber,w=m.setLineHeight,
H=m.pluckFontSize,F=m.toRaphaelColor,T=m.graphics.convertColor,D=m.parseUnsafeString,V=m.getDefinedColor,P=m.graphics.getDarkColor,fa=m.ONESTRING,$=m.getFirstAlpha,ba=m.HUNDREDSTRING,ia=m.getDashStyle,ea=m.plotEventHandler,X=m.hasTouch?e:c,ca=m.getCrispValues,ga=m.getValidValue,da=m.getFirstValue,Z=m.parseTooltext,Ja=m.regex.dropHypeash,R=m.HASHSTRING,ua=function(b,a){var g=!1;b[1]===b[4]&&(b[1]=b[4]=Ca(b[1])+a%2/2,g=!0);b[2]===b[5]&&(b[2]=b[5]=Ca(b[2])+a%2/2,g=!0);return{path:b,isCrisped:g}},Ha=
8===k.document.documentMode?"visible":"",U=k.Math,Na=U.sqrt,la=U.sin,oa=U.cos,Ca=U.round,Fa=U.min,na=U.max,ra=U.abs,Da=U.ceil,ha=U.floor,Ia=U.pow,wa=U.log,Ta=U.PI,qa=2*Ta,Oa=m.getFirstColor,Pa=m.graphics.getLightColor,ab=m.POSITION_TOP;C.ca.ishot=function(b){if(this.removed)return!1;var a=this.node;b=b||"";a.ishot=b;switch(this.type){case "group":for(a=this.bottom;a;)a.attr("ishot",b),a=a.next;break;case "text":if(C.svg)for(a=a.getElementsByTagName("tspan")[0];a;)a.ishot=b,a=a.nextSibling}return!1};
C.addSymbol({printIcon:function(b,a,g){var d=.75*g,c=.5*g,e=.33*g,l=Ca(b-g)+.5,k=Ca(a-g)+.5,m=Ca(b+g)+.5;g=Ca(a+g)+.5;var p=Ca(b-d)+.5,n=Ca(a-d)+.5,d=Ca(b+d)+.5,K=Ca(a+c)+.5,E=Ca(b+c)+.5,aa=Ca(a+e)+.5;b=Ca(b-c)+.5;e=Ca(a+e+e)+.5;return["M",p,k,"L",d,k,d,n,p,n,"Z","M",l,n,"L",l,K,p,K,p,a,d,a,d,K,m,K,m,n,"Z","M",p,a,"L",p,g,d,g,d,a,"Z","M",E,aa,"L",b,aa,"M",E,e,"L",b,e]},exportIcon:function(b,a,g){var d=.66*g,c=.5*d,e=Ca(b-g)+.5,l=Ca(a-g)+.5,k=Ca(b+g)+.5;g=Ca(a+g)-.5;var m=Ca(b-c)+.5,p=a<g-3?g-3:Ca(a)+
.5,c=Ca(b+c)-.5,n=Ca(b+d)-.5,d=Ca(b-d)+.5;return["M",e,p,"L",e,g,k,g,k,p,k,g,e,g,"Z","M",b,g-1,"L",d,a,m,a,m,l,c,l,c,a,n,a,"Z"]}});FusionCharts.register("component",["axis","cartesian",{pIndex:2,customConfigFn:"_feedAxesRawData",init:function(b,a,g,d){var c;this.graphics={};this.components={};c=this.config;c.isVertical=a;c.isReverse=g;c.isOpposit=d;c.isActive=!0;c.drawLabels=!0;c.drawOnlyCategoryLine=!1;c.drawLabelsOpposit=!1;c.drawLabelOnBothSide=!1;c.drawPlotlines=!0;c.drawAxisLine=!0;c.drawPlotBands=
!0;c.drawAxisName=!0;c.drawAxisNameOpposit=!1;c.axisNameAlignCanvas=!1;c.drawAxisNameFromBottom=!1;c.drawTrendLines=!0;c.drawTrendLabels=!0;c.drawTick=!0;c.drawTickMinor=!0;c.animateAxis=!0;c.drawAxisLineWRTCanvas=!0;c.isRelativeAxisInverse=!1;c.axisIndex=0;c.uniqueClassName=0;c.viewPortRatio={};c.axisData={};c.canvas={};c.rawAttr=b;c.axisRange={};c.isConfigured=!0;c._setRangeAgain=!1},setCommonConfigArr:function(b,a,g,d){var c=this.config;c.rawAttr=b;c.isVertical=a;c.isReverse=g;c.isOpposit=d},configure:function(){var b=
this.config,a=b.axisData,g=b.rawAttr,c=this.chart,e=c.components,k=this.chart.is3D,c=c.jsonData.chart,O=e.numberFormatter;b.trendLines=g.trendlines;b.vTrendLines=g.vtrendlines;a.axisName=D(g.axisName);a.axisValuePadding=a.axisNamePadding||l(g.axisValuePadding,4);a.axisNamePadding=a.axisNamePadding||l(g.axisNamePadding,5);a.maxLabelWidthPercent=l(g.maxLabelWidthPercent);a.maxLabelWidthPercent=ra(a.maxLabelWidthPercent);a.numDivLines=l(g.numDivLines,4);0>a.numDivLines&&(a.numDivLines=0);a.categoryNumDivLines=
l(g.numDivLines,0);0>a.axisValuePadding&&(a.axisValuePadding=0);a.categoryDivLinesFromZero=1;a.axisMinValue=O.getCleanValue(g.axisMinValue);a.axisMaxValue=O.getCleanValue(g.axisMaxValue);a.setAdaptiveMin=l(g.setAdaptiveMin,0);a.adjustDiv=l(g.adjustDiv,1);a.axisNameWidth=l(g.axisNameWidth);a.rotateAxisName=l(g.rotateAxisName,0);a.useEllipsesWhenOverflow=l(g.useEllipsesWhenOverflow,1);a.divLineColor=g.divLineColor;a.divLineAlpha=g.divLineAlpha;a.divLineThickness=g.divLineThickness;a.divLineIsDashed=
g.divLineIsDashed;a.divLineDashLen=g.divLineDashLen;a.divLineDashGap=g.divLineDashGap;a.showAlternateGridColor=g.showAlternateGridColor;a.alternateGridColor=g.alternateGridColor;a.alternateGridAlpha=g.alternateGridAlpha;a.showZeroPlane=l(g.showZeroPlane,1);a.zeroPlaneColor=d(g.zeroPlaneColor,g.divLineColor);a.zeroPlaneThickness=d(g.zeroPlaneThickness,g.divLineThickness);a.zeroPlaneAlpha=l(g.zeroPlaneAlpha,m.COLOR_TRANSPARENT);a.showZeroPlaneValue=l(g.showZeroPlaneValue,1);a.zeroPlaneOnTop=l(g.showZeroPlaneOnTop,
1);a.showAxisLine=g.showAxisLine;a.axisLineThickness=g.axisLineThickness;a.axisLineAlpha=g.axisLineAlpha;a.axisLineColor=T(g.axisLineColor,g.axisLineAlpha);a.tickAlpha=l(g.tickAlpha,a.axisLineAlpha);a.tickColor=T(d(g.tickColor,g.axisLineColor),a.tickAlpha);a.tickWidth=l(g.tickWidth,a.axisLineThickness);a.tickLength=g.tickLength;a.showVLines=l(c.showvlines,1);a.showVLinesOnTop=l(c.showvlinesontop,0);a.showVLineLabels=l(c.showvlinelabels,this.showVLineLabels,1);a.showVLineLabelBorder=l(c.showvlinelabelborder,
1);a.rotateVLineLabels=l(c.rotatevlinelabels,0);a.vLineColor=d(c.vlinecolor,"333333");a.vLineLabelColor=d(c.vlinelabelcolor);a.vLineThickness=d(c.vlinethickness,1);a.vLineAlpha=l(c.vlinealpha,80);a.vLineLabelBgColor=d(c.vlinelabelbgcolor,"ffffff");a.vLineLabelBgAlpha=l(c.vlinelabelbgalpha,k?50:100);a.staggerLines=Math.max(l(c.staggerlines,2),2);1>a.staggerlines&&(a.staggerlines=1);a.trendlineToolText=d(g.trendlineToolText);a.trendlineColor=d(g.trendlineColor,"333333");a.trendlineThickness=d(g.trendlineThickness,
1);a.trendlineAlpha=l(g.trendlineAlpha);a.showTrendlinesOnTop=l(g.showTrendlinesOnTop,0);a.trendlineValuesOnOpp=d(g.trendlineValuesOnOpp,g.trendlineValuesOnOpp,0);a.trendlinesAreDashed=l(g.trendlinesAreDashed,0);a.trendlinesDashLen=l(g.trendlinesDashLen,5);a.trendlinesDashGap=l(g.trendlinesDashGap,2);a.isTrendZone=g.isTrendZone;a.showTrendlines=l(g.showTrendlines,1);a.showTrendlineLabels=l(g.showTrendlineLabels,1);a.labelDisplay=d(g.labelDisplay,"auto").toLowerCase();a.showLabels=l(g.showLabels,1);
a.maxLabelHeight=l(g.maxLabelHeight);a.rotateLabels=l(g.rotateLabels,0);a.slantLabel=l(g.slantLabel,0);a.labelStep=l(g.labelStep,0);a.labelStep=Ca(a.labelStep);0>a.labelStep&&(a.labelStep=0);a._oriLabelStep=a.labelStep;a.showAxisValues=l(g.showAxisValues,1);a.showLimits=l(g.showLimits,a.showAxisValues);a.showUpperLimit=g.showLimits;a.showDivLineValues=l(g.showDivLineValues,a.showAxisValues);a.showTooltip=l(c.showtooltip,1);a.showCanvasBorder=e.canvas.config.showCanvasBorder?1:0;a.axisBreak=g.axisBreaks;
a.isBreak=!!a.axisBreak;a.isBreak&&this._processAxisBreak();e=(e=da(g.axisNameBorderColor,""))?T(e,l(g.axisNameBorderAlpha,g.axisNameAlpha,100)):"";a.name=a.name||{};a.name.style={fontFamily:d(g.axisNameFont,g.outCanfontFamily),fontSize:d(g.axisNameFontSize,parseInt(g.outCanfontSize,10))+"px",color:T(d(g.axisNameFontColor,g.outCancolor),l(g.axisNameFontAlpha,g.axisNameAlpha,100)),fontWeight:l(g.axisNameFontBold,1)?"bold":"normal",fontStyle:l(g.axisNameFontItalic)?"italic":"normal",border:e||g.axisNameBgColor?
l(g.axisNameBorderThickness,1)+"px solid":void 0,borderColor:e,borderThickness:l(g.axisNameBorderThickness,1),borderPadding:l(g.axisNameBorderPadding,2),borderRadius:l(g.axisNameBorderRadius,0),backgroundColor:g.axisNameBgColor?T(g.axisNameBgColor,l(g.axisNameBgAlpha,g.axisNameAlpha,100)):"",borderDash:l(g.axisNameBorderDashed,0)?ia(l(g.axisNameBorderDashLen,4),l(g.axisNameBorderDashGap,2),l(g.axisNameBorderThickness,1)):"none"};a.name.style.lineHeight=w(a.name.style);e=(e=da(c.trendvaluebordercolor,
""))?T(e,l(c.trendvalueborderalpha,c.trendvaluealpha,100)):"";a.trend=a.trend||{};a.trend.trendStyle={fontFamily:d(c.trendvaluefont,g.outCanfontFamily),color:d(c.trendvaluefontcolor,g.trendlineColor,g.outCancolor,"333333"),fontSize:H(c.trendvaluefontsize,parseInt(g.outCanfontSize,10))+"px",fontWeight:l(c.trendvaluefontbold)?"bold":"normal",fontStyle:l(c.trendvaluefontitalic)?"italic":"normal",border:e||c.trendvaluebgcolor?l(c.trendvalueborderthickness,1)+"px solid":"",borderColor:e,borderThickness:l(c.trendvalueborderthickness,
1),borderPadding:l(c.trendvalueborderpadding,2),borderRadius:l(c.trendvalueborderradius,0),backgroundColor:c.trendvaluebgcolor?T(c.trendvaluebgcolor,l(c.trendvaluebgalpha,c.trendvaluealpha,100)):"",borderDash:l(c.trendvalueborderdashed,0)?ia(l(c.trendvalueborderdashlen,4),l(c.trendvalueborderdashgap,2),l(c.trendvalueborderthickness,1)):"none"};a.trend.trendStyle.lineHeight=w(a.trend.trendStyle);a.labels=a.labels||{};a.lines=a.lines||{};a.band=a.band||{};e=(e=da(c.labelbordercolor,""))?T(e,l(c.labelborderalpha,
c.labelalpha,100)):"";a.labels.style={fontFamily:d(g.labelFont,g.outCanfontFamily),fontSize:l(g.labelFontSize,parseInt(g.outCanfontSize,10))+"px",fontWeight:l(g.labelFontBold)?"bold":"normal",fontStyle:l(g.labelFontItalic)?"italic":"normal",color:T(d(g.labelFontColor,g.outCancolor),l(g.labelFontAlpha,100)),labelLink:c.labellink,border:e||c.labelbgcolor?l(c.labelborderthickness,1)+"px solid":"",borderColor:e,borderThickness:l(c.labelborderthickness,1),borderPadding:l(c.labelborderpadding,2),borderRadius:l(c.labelborderradius,
0),backgroundColor:c.labelbgcolor?T(c.labelbgcolor,l(c.labelbgalpha,c.labelalpha,100)):"",borderDash:l(c.labelborderdashed,0)?ia(l(c.labelborderdashlen,4),l(c.labelborderdashgap,2),l(c.labelborderthickness,1)):"none"};a.labels.style.lineHeight=w(a.labels.style);a.numberFormatterFn=d(g.numberFormatterFn);a.axisEndLabelDisplaySpace={left:0,right:0,top:0,bottom:0};b.isConfigured=!0},_processAxisBreak:function(){var b=this.config.axisData,a,g,d,c;b.breakPoints=[];a=b.axisBreak.split("|");d=0;c=a.length;
for(g=0;d<c;d+=1)a[d]=a[d].split(","),isNaN(a[d][0])||isNaN(a[d][1])||(b.breakPoints[g]={start:l(a[d][0]),end:l(a[d][1]),length:l(a[d][2],0)},g+=1);b.breakPoints.sort(function(b,a){return b.start-a.start});b.hasBreakPoints=!0;this._validateBreakPoints()},_validateBreakPoints:function(){var b=this.config.axisData,a=b.breakPoints,g=0,d,c=a.length;for(d=0;d<c;d+=1)g+=a[d].end-a[d].start;b.totalBreakAmount=g},_getRelativeBreakValue:function(b){var a=this.config.axisData.breakPoints,g,d=a.length,c=0;for(g=
0;g<d;g+=1){if(b>=a[g].start&&b<=a[g].end)return a[g].start-c;if(b<a[g].start)break;c+=a[g].end-a[g].start}return b-c},_getRealBreakValue:function(b){var a=this.config.axisData.breakPoints,g,d=a.length;for(g=0;g<d;g+=1)if(b>=a[g].start)b+=a[g].end-a[g].start;else if(b<a[g].start)break;return b},getBreakPoints:function(){var b=this.config.axisData;return b.hasBreakPoints?b.breakPoints:!1},setCanvas:function(b){this.config.canvas=b},getAxisBase:function(){var b=this.config,a=b.axisRange.min,g=b.axisRange.max;
return 0>a&&0<g?0:b.isReverse?g:0>=g?g:a},getValue:function(b){var a=this.config,g=a.axisRange,d=a.canvas,c=a.axisData.axisDimention||{},e=this.chart.config,l=e.viewPortConfig,k=c.axisLength||d.canvasWidth||e.canvasWidth,c=c.axisLength||d.canvasHeight||e.canvasHeight,d=g.max,g=g.min,e=d-g;a.isVertical?(k=c*l.scaleY/e,b=a.isReverse?g+(l.y*l.scaleY+Number(b))/k:d-(l.y*l.scaleY+Number(b))/k):(k=k*l.scaleX/e,b=a.isReverse?d-(l.x*l.scaleX+Number(b))/k:g+(l.x*l.scaleX+Number(b))/k);return b},_getLabelElement:function(b){var a=
this.components;return this.config.axisData.hasCategory?a&&a.categoryLabel&&a.categoryLabel[b]&&a.categoryLabel[b].graphics&&a.categoryLabel[b].graphics.label:this.graphics&&this.graphics.labels&&this.graphics.labels[b]},_getVisibleConfig:function(){var b=this.config,a=b.axisRange,g=b.canvas,d=b.axisData.axisDimention||{},c=this.chart.config,e=c.viewPortConfig,l=d.axisLength||g.canvasWidth||c.canvasWidth,g=d.axisLength||g.canvasHeight||c.canvasHeight,d=a.max,a=a.min,c=d-a;b.isVertical?(c/=g,b=e.scaleY,
l=d-c*e.y,g=d-c*(e.y+g/b)):(c/=l,b=e.scaleX,g=a+c*e.x,l=a+c*(e.x+l/b));return{maxValue:l,minValue:g}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,g=b.axisData,d=b.isVertical,c=b.axisRange,e=m.getAxisLimits,k=g.numDivLines,S=g.setAdaptiveMin,W=g.adjustDiv,W=b.rawAttr,p,n,K;g.hasCategory||(d=d?a.scaleY:a.scaleX,a=l(W.axisrange?W.axisrange.max:c.max),K=l(W.axisrange?W.axisrange.min:c.min),b=c.max,n=c.min,S=p=!S,W=l(1===d?g.adjustDiv:0),g=e(a,K,b,n,p,S,k*
d,W),c.min=Number(Q(g.Min,10)),c.max=Number(Q(g.Max,10)),c.tickInterval=Number(Q(g.divGap,10)),0===c.tickInterval&&(c.tickInterval=1))},_getAttribAsObj:function(b){var a,g={};for(a in b)b.hasOwnProperty(a)&&"string"===typeof b[a]&&b[a]&&(g[a]=b[a]);return g},_extractAttribToEnd:function(b,a){var g;b._attrib=p({},a);b._attrib=p(b._attrib,this._getAttribAsObj(b));for(g in b)b.hasOwnProperty(g)&&b[g]&&"object"===typeof b[g]&&"_attrib"!==g&&this._extractAttribToEnd(b[g],b._attrib)},setCategory:function(b,
a){var g;function d(b){var a={labelfont:["fontFamily"],labelfontcolor:["fontColor"],labelfontsize:["fontSize",function(b){return b?l(b)+"px":void 0}],labelfontbold:["fontWeight",function(b){return b?"bold":"normal"}],labelfontitalic:["fontStyle",function(b){return b?"italic":"normal"}],labelfontalpha:["fontAlpha"]},f=function(b){return b},g=!1,c,u,k,N={},O,s;for(c in e)"category"===c||c in b||(u=e[c],b[c]=u);for(c in a){k=a[c];O=k[0];s=k[1]||f;u=b[c];k=b[O.toLowerCase()];if(void 0!==u||void 0!==k)if(void 0!==
(u=s(u))||void 0!==(u=s(k)))N[O]=u,g=!0;g&&(b.style=N)}}var c=this.chart.jsonData.categories,e=c&&c[0]||{},c=this.config;g=c.axisData;var k=c.axisRange,m=b&&b.length,W=c.startPad||0,p=c.endPad||0,n=0,K=void 0!==a?a:!0,E,aa,q,s,v,A;g.hasCategory=1;g.categories={};s=g.categories.category=[];v=g.categories.vline=[];aa=g.categories.catIdMap={};c.isCategoryAnimate=!1;c.isCategoryVlineAnimate=!1;for(q=0;q<m;q+=1)(E=b[q])||(E={}),A=Number(E.x),"true"!==E.vline&&!0!==E.vline&&1!==E.vline&&"1"!==E.vline?(E.id&&
(aa[E.id.toLowerCase()]={catObj:E,index:q}),d(E),A===A&&(E.x=A,g.irregularCatAxis=!0),s.push(E),s[n].label=D(s[n].label),n+=1):(E.startIndex=s.length-1,v.push(E));c.oriCatLen=n-1;1===n&&(0===W&&(W=.5),0===p&&(p=.5));K&&(g=n-1+p,k.min=Number(Q(-W,10)),k.max=Number(Q(g,10)),k.tickInterval=Number(Q(1,10)));c.isConfigured=!0},updateCategory:function(b,a){var g=this.config,d,c;d=g.axisData.categories.category;if(d[b])for(c in a)a.hasOwnProperty(c)&&(d[b][c]=a[c]);g.isConfigured=!0},categoryInsert:function(b,
a,g){var d=this.config,c=d.axisData,e=d.axisRange,l=a.length,k=d.endPad||0,m,p,n,K;m=c.categories.category;p=c.categories.catIdMap;c=c.categories.vline;for(n=0;n<l;n+=1)K=a[n],"true"!==K.vline&&!0!==K.vline&&1!==K.vline&&"1"!==K.vline?(K.id&&(p[K.id]={catObj:K,i:b}),m.splice(b,0,K),b+=1):(K.startIndex=b-2,c.push(K));g&&(e.max=Number(Q(m.length-1+k,10)));d.isConfigured=!0},categoryDelete:function(b,a,g){var d=this.config,c=d.axisData,e=d.axisRange,l,k,m;d.isCategoryAnimate=!0;l=d.animateCategories=
c.categories.category.slice();k=0;for(m=l.length;k<m;k++)l[k].animate=!0,l[k].leftShift=a,l[k]["delete"]=k<a;d.isCategoryVlineAnimate=!0;l=d.animateCategoriesVline=c.categories.vline.slice();k=0;for(m=l.length;k<m;k++)l[k].animate=!0,l[k].leftShift=a;c.categories.category.splice(b,a);this._shiftVline(b,a,"left");g&&(e.max-=a);d.isConfigured=!0},categoryUpdate:function(b,a){var g=this.config,d;d=g.axisData.categories.category;d[b]&&(d[b]=a);g.isConfigured=!0},_getRotateTextTransformString:function(b,
a,g){var d,c="";b=b.matrix.toMatrixString();b.replace(/\(([^\)]*)/,function(b,e){d=e.split(",");d[4]=Number(d[4])+a;d[5]=Number(d[5])+g;c=d.join();return b});c="m"+c;""===b&&(c="t"+a+","+g);return c},_shiftVline:function(b,a,g){var d=this.config.axisData,c=d.categories.vline,d=d.categories.category.length,e=c.length,l,k;for(l=0;l<e;l+=1)if(k=c[l],k.startIndex>=b&&(k.startIndex="right"===g?k.startIndex+a:k.startIndex-a,0>k.startIndex-a||k.startIndex-a>=d))c.splice(l,1),--e,--l},shiftLabels:function(b,
a){var g=this.config.axisData.labels;g.shiftX=b;g.shiftY=a},setAxisPadding:function(b,a){var g=this.config,d=g.axisData;b=g.startPad=l(b,0);a=g.endPad=l(a,0);0===g.oriCatLen&&(0===b&&(b=.5),0===a&&(a=.5));d.hasCategory?0<=g.oriCatLen&&this.setAxisRange({max:g.oriCatLen+a,min:-b}):g.originalMax&&g.originalMin&&this.setDataLimit(g.originalMax,g.originalMin)},setAxisConfig:function(b){var a=this.config,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},getAxisConfig:function(b){return this.config[b]},setAxisData:function(b){var a=
this.config.axisData,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},setLabelConfig:function(b){var a=this.config.axisData.labels,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},setAxisRange:function(b){var a=this.config.axisRange,g;for(g in b)b.hasOwnProperty(g)&&void 0!==a[g]&&(a[g]=b[g])},getAxisEndLabelDisplaySpace:function(){return this.config.axisData.axisEndLabelDisplaySpace||{}},getAxisData:function(b){var a=this.config.axisData;return b?a[b]:a},getDivLineCount:function(){var b=this.config.axisRange;
return ra((b.max-b.min)/b.tickInterval)-1},getLabel:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.category[b])?b:{}},getCategoryFromId:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.catIdMap[b])?b:{}},getCategoryPositionById:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.catIdMap[b])?b.catObj.x||b.index:!1},getClosestDiv:function(b,a){var g=this.config,d=g.axisData,g=g.axisRange,c=g.tickInterval,e=g.min,g=b;d.hasCategory&&
(e=0,c=1);a=a||c/2;e=(b-e)%c;c-=e;d.showZeroPlaneValue&&0>b-e&&0<b&&(e=b);d.showZeroPlaneValue&&0<b+c&&0>b&&(c=-b);e<=c?e<=a&&(g=b-e):c<=a&&(g=b+c);return g},setAxisDimention:function(b){var a=this.config.axisData,a=a.axisDimention||(a.axisDimention={});a.x=l(b.x,a.x);a.y=l(b.y,a.y);a.opposite=l(b.opposite,a.opposite);a.axisLength=l(b.axisLength,a.axisLength)},setDataLimit:function(b,a){var g=this.config,d=g.axisData,c=g.axisRange,e=m.getAxisLimits,k=g.isPercent?100:d.axisMaxValue,S=g.isPercent?0:
d.axisMinValue,W=d.numDivLines,p=d.setAdaptiveMin,n=d.adjustDiv,K=g.startPad||0,E=g.endPad||0;g.originalMax=b;g.originalMin=a;b=g.isPercent?100:b+E;a=g.isPercent?0:a-K;g=p=!p;d.hasBreakPoints&&(b-=d.totalBreakAmount);d=e(l(b,k),l(a,S),k,S,p,g,W,n);c.min=Number(Q(d.Min,10));c.max=Number(Q(d.Max,10));c.tickInterval=Number(Q(d.divGap,10));0===c.tickInterval&&(c.tickInterval=1)},getPixel:function(b){var a=this.config,g=a.canvas,d=this.chart.config,c=a.axisData,e=c.axisDimention||{},l=d.viewPortConfig,
k=e.axisLength||g.canvasHeight||d.canvasHeight,m=e.y||g.canvasTop||d.canvasTop,p=e.x||g.canvasLeft||d.canvasLeft,n=e.y+e.axisLength||g.canvasBottom||d.canvasBottom,g=e.x+e.axisLength||g.canvasRight||d.canvasRight,d=a.axisRange.min;c.hasBreakPoints&&(b=this._getRelativeBreakValue(b));l||(l={x:p,y:m,scaleX:1,scaleY:1});a.isVertical?(c=-this.getPVR(),b=a.isReverse?n-((b-d)*c+(k*l.scaleY-l.y*l.scaleY)):m+((b-d)*c+(k*l.scaleY-l.y*l.scaleY))):(c=this.getPVR(),b=a.isReverse?g-((b-d)*c-l.x*l.scaleX):p+((b-
d)*c-l.x*l.scaleX));return b},_getCustomPixel:function(b,a){var g=this.config,d=g.canvas,c=this.chart.config,e=g.axisRange,l=c.viewPortConfig,k=a||d.canvasHeight||c.canvasHeight,m=a||d.canvasWidth||c.canvasWidth,p=d.canvasTop||c.canvasTop,n=d.canvasLeft||c.canvasLeft,K=K||c.canvasBottom,d=d.canvasRight||c.canvasRight,c=e.min,e=e.max-c;g.axisData.hasBreakPoints&&(b=this._getRelativeBreakValue(b));l||(l={x:n,y:p,scaleX:1,scaleY:1});g.isVertical?(m=-(k*l.scaleY/e),g=g.isReverse?K-((b-c)*m+(k*l.scaleY-
l.y*l.scaleY)):p+((b-c)*m+(k*l.scaleY-l.y*l.scaleY))):(m=m*l.scaleX/e,g=g.isReverse?d-((b-c)*m-l.x*l.scaleX):n+((b-c)*m-l.x*l.scaleX));return g},getLimit:function(){var b=this.config.axisRange;return{min:b.min,max:b.max,tickInterval:b.tickInterval}},getAxisPosition:function(b){return this.getPixel(b)},getPVR:function(){var b=this.config,a=b.canvas,g=b.isVertical,d=b.axisRange,c=b.axisData.axisDimention||{},e=this.chart.config,b=e.viewPortConfig,l=c.axisLength||a.canvasHeight||e.canvasHeight,a=c.axisLength||
a.canvasWidth||e.canvasWidth,d=d.max-d.min,d=0<d?d:1;return g?l*b.scaleY/d:a*b.scaleX/d},_isZoomed:function(){var b=this.chart.config;if(this.config.isVertical){if(b.viewPortConfig&&1===b.viewPortConfig.scaleY)return!1}else if(b.viewPortConfig&&1===b.viewPortConfig.scaleX)return!1;return!0},draw:function(){var b=this.config,a=b.canvas,g=this.chart,d=g.config,c=b.isVertical,e=g.graphics,l=g.components.paper,k=d.viewPortConfig,m=b.viewPortRatio||{},p=b.axisData,n=a.canvasLeft||d.canvasLeft,K=a.canvasTop||
d.canvasTop,E=a.canvasWidth||d.canvasWidth,aa=a.canvasHeight||d.canvasHeight,a=p.axisContainer,d=p.axisLabelContainerTop,q=p.axisPlotLineContainer,s=p.axisPlotLineContainerTop,v=p.vlineLabelContainer,A=p.axisBandContainer,t=p.axisNameContainer,h=p.axisTrendContainerTop,w=p.axisTrendContainerBottom,F=p.axisTrendLabelContainer,r=p.axisAxisLineContainer,z=p.axisAxisLineContainerBottom,ta=p.divLineThickness||0,D=e.axisBottomGroup,B=e.axisTopGroup,b=b.animateAxis,G,C,J,xa,H,I,T,M,V,Q,P,R,ma;V=k.y*k.scaleY;
Q=k.x*k.scaleX;g=g.get("config","animationObj");P=g.animObj;R=g.dummyObj;G=g.transposeAnimDuration;ma=c?n+","+(K-ta)+","+E+","+(aa+2*ta):n-ta+","+K+","+(E+2*ta)+","+aa;ta=e.axisBandGroup=e.axisBandGroup||l.group("dataset-Band-group",D);C=e.axisPlotLineGroup=e.axisPlotLineGroup||l.group("dataset-Line-group",D);M=e.axisTrendGroupBottom=e.axisTrendGroupBottom||l.group("dataset-Trend-group-bottom",D);J=e.axisPlotLineGroupTop=e.axisPlotLineGroupTop||l.group("dataset-Line-group-top",B);H=e.axisNameGroup=
e.axisNameGroup||l.group("dataset-Name-group",D);xa=e.axisLineGroup=e.axisLineGroup||l.group("axis-Line-group",B);T=e.axisTrendGroupTop=e.axisTrendGroupTop||l.group("dataset-Trend-group-top",B);I=e.axisLabelGroup=e.axisLabelGroup||l.group("dataset-Label-group",D);e=e.axisLabelGroupTop=e.axisLabelGroupTop||l.group("dataset-Label-group",B);a||(p.axisContainer=a=l.group("dataset-axis",I));d||(p.axisLabelContainerTop=d=l.group("dataset-top-label",e));r||(p.axisAxisLineContainer=l.group("axis-line-tick",
xa));v||(p.vlineLabelContainer=v=l.group("axis-vline-label",xa));A?G&&b?A.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):A.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisBandContainer=A=l.group("dataset-axis-bands",ta),A.attr({"clip-rect":n+","+K+","+E+","+aa}));q?G&&b?q.animateWith(R,P,{"clip-rect":ma},G,g.animType):q.attr({"clip-rect":ma}):(p.axisPlotLineContainer=q=l.group("dataset-axis-lines",C),q.attr({"clip-rect":ma}));s?G&&b?s.animateWith(R,P,{"clip-rect":ma},G,g.animType):
s.attr({"clip-rect":ma}):(p.axisPlotLineContainerTop=s=l.group("dataset-axis-lines-top",J),s.attr({"clip-rect":ma}));h?G&&b?h.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):h.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisTrendContainerTop=h=l.group("dataset-axis-trend-top",T),h.attr({"clip-rect":n+","+K+","+E+","+aa}));w?G&&b?w.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):w.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisTrendContainerBottom=w=l.group("dataset-axis-trend-bottom",
M),w.attr({"clip-rect":n+","+K+","+E+","+aa}));F||(p.axisTrendLabelContainer=l.group("dataset-axis-trend-label",T));t||(p.axisNameContainer=l.group("dataset-axis-name",H));z||(p.axisAxisLineContainerBottom=l.group("axis-line-tick-bottom",D));m.scaleX!==k.scaleX||m.scaleY!==k.scaleY?(m.scaleX=k.scaleX,m.scaleY=k.scaleY):c?(c=V-k.y*k.scaleY,v.transform("t0,"+c),a.transform("t0,"+c),d.transform("t0,"+c),q.transform("t0,"+c),s.transform("t0,"+c),A.transform("t0,"+c),h.transform("t0,"+c),w.transform("t0,"+
c)):(c=Q-k.x*k.scaleX,v.transform("t"+c+",0"),a.transform("t"+c+",0"),d.transform("t"+c+",0"),q.transform("t"+c+",0"),s.transform("t"+c+",0"),A.transform("t"+c+",0"),h.transform("t"+c+",0"),w.transform("t"+c+",0"));this._drawComponents()},hide:function(){var b=this.config.axisData;b.axisContainer&&(b.axisLabelContainerTop.hide(),b.axisContainer.hide(),b.axisPlotLineContainer.hide(),b.axisPlotLineContainerTop.hide(),b.axisBandContainer.hide(),b.axisNameContainer.hide(),b.axisTrendContainerTop.hide(),
b.axisTrendContainerBottom.hide(),b.axisTrendLabelContainer.hide(),b.axisAxisLineContainer.hide(),b.axisAxisLineContainerBottom.hide())},show:function(){var b=this.config.axisData;b.axisContainer&&(b.axisLabelContainerTop.show(),b.axisContainer.show(),b.axisPlotLineContainer.show(),b.axisPlotLineContainerTop.show(),b.axisBandContainer.show(),b.axisNameContainer.show(),b.axisTrendContainerTop.show(),b.axisTrendContainerBottom.show(),b.axisTrendLabelContainer.show(),b.axisAxisLineContainer.show(),b.axisAxisLineContainerBottom.show())},
_drawComponents:function(){var b=this.config,a=this.chart.is3D,g=b.axisData,d,c;b.drawAxisName&&this._drawAxisName();b.drawAxisLine&&this._drawAxisLine();b.drawAxisLine&&g.hasBreakPoints&&this._drawBreakPoints();b.isActive||(d=g.lines.isDraw,c=g.band.isDraw,g.lines.isDraw=0,g.band.isDraw=0);g.hasCategory?(b.drawLabels&&this._drawCategory(),b.drawOnlyCategoryLine&&this._drawCategoryLine()):(b.drawLabels&&this._drawLabel(),b.drawPlotlines&&this._drawPlotLine());g.hasCategory&&"auto"!==g.xAxisLabelMode?
(b.drawPlotlines&&this._drawCategoryVline(),b.drawPlotlines&&!a&&this._drawCategoryPlotLine(),b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawCategoryPlotBand(),"mixed"===g.xAxisLabelMode&&b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawPlotBand()):b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawPlotBand();b.isActive||(g.lines.isDraw=d,g.band.isDraw=c);b.drawTrendLines&&this._drawTrendLine();b.isConfigured=!1},_manageReuseableElement:function(b,a,g){var d=this.config.isConfigured,c=this.chart.components.paper,
e,l,k,m;e=b._graphicElem||(b._graphicElem=[]);l=b._freeElem||(b._freeElem=[]);k=b._usedElem||(b._usedElem={});m=b._drawnIds={};return{getElement:function(b){m[b]=!0;if(k[b])return k[b]._applyAllAttr=d,k[b]._firstTimeDraw=!1,k[b].attr({visibility:Ha}),k[b];if(0<l.length)return k[b]=l.pop(),k[b]._applyAllAttr=!0,k[b]._firstTimeDraw=!1,k[b].attr({visibility:Ha}),k[b];e.push(c[a](g));k[b]=e[e.length-1];k[b]._firstTimeDraw=!0;k[b]._applyAllAttr=!0;return k[b]},freeUnusedElement:function(){for(var b in k)k.hasOwnProperty(b)&&
!m[b]&&(k[b].attr({visibility:"hidden"}),l.push(k[b]),delete k[b])}}},_drawLabel:function(){var b=this.config,a=b.axisData,g=b.canvas,d=a.axisDimention||{},c=this.chart,e=c.config,l=c.components,k=b.axisRange,m=b.isOpposit,p,n="Fusioncharts-axis-labels-"+b.uniqueClassName,K=a.labels,E=K.style,aa,q,s=b.isVertical,v=b.animateAxis,A=k.max,t=k.min,h=g.canvasTop||e.canvasTop,w=g.canvasLeft||e.canvasLeft,F=g.canvasBottom||e.canvasBottom,g=g.canvasRight||e.canvasRight,e=a.axisNameContainer,r=a.labelPadding,
z=a.showUpperLimit,D=l.paper,B=a.labelMaxH,G=a.labelMaxW,C=s?d.x:d.y,d=d.opposite,J=b.drawLabelOnBothSide,H=this.graphics.labels||[],xa=0,I=!0,T,M,V,Q,P,R={fontFamily:E.fontFamily,fontSize:E.fontSize,fontWeight:E.fontWeight,fontStyle:E.fontStyle,lineHeight:E.lineHeight},Aa,ma,Ka,X,$,va,ka=function(){(z||!z&&1>=a.labels.step)&&aa<A&&aa+p>A&&aa&&(q=aa=A-p);a.showZeroPlane&&0>aa&&0<aa+p?(aa=0,q+=p):aa<q?aa=q:(aa+=p,q+=p)};E.lineHeight&&(V=E.lineHeight,-1!==V.indexOf("px")&&(V=V.replace("px",""),V=parseFloat(V)));
if(a.labels.isDraw){!J&&b.drawLabelsOpposit&&(m=!m,C=d);T=c.get("config","animationObj");$=T.animObj;va=T.dummyObj;M=T.transposeAnimDuration;T=T.animType;I=ra(this.getPixel(t)-this.getPixel(t+k.tickInterval));s?a.labelMaxH>I&&!a.hasCategory&&(Q=Da(a.labelMaxH/I)):a.labelMaxW>I&&!a.hasCategory&&(Q=Da(a.labelMaxW/I));Q>a.labels.step&&(a.labels.step=Q);a.labels.step?p=k.tickInterval*a.labels.step:p=k.tickInterval;P=a.labels.rotation;k=this._getVisibleConfig();I=this._isZoomed();xa=t+p*ha((k.minValue-
3*p-t)/p);Q=t+p*ha((k.maxValue+3*p-t)/p);xa=xa<t?t:xa;Q=Q>A?A:Q;Aa={fill:E.color,"line-height":V,"font-size":E.fontSize};J&&(ma={fill:E.color,"line-height":V,"font-size":E.fontSize});s?this.graphics.labels||(c._addCSSDefinition("."+n+"-yAxis",R),e.attr({"class":n+"-yAxis"})):(this.graphics.labels||(e.attr({"class":n+"-xAxis"}),c._addCSSDefinition("."+n+"-xAxis",R)),P?(Aa["text-anchor"]=m?"start":"end",Aa["vertical-align"]="center",J&&(ma["text-anchor"]=m?"end":"start",ma["vertical-align"]="center")):
(Aa["vertical-align"]=m?"bottom":"top",J&&(ma["vertical-align"]=m?"top":"bottom")));q=aa=xa;for(xa=0;aa<=Q;){if(!I||!(aa<k.minValue||aa>k.maxValue))if(a.labels.drawNormalVal||a.labels.drawLimitVal&&(aa===t||aa===A))if(a.labels.drawNormalVal||aa===t||aa===A)if(a.labels.drawLimitVal||aa!==t&&aa!==A)if(0!==a.showZeroPlane&&0!==a.showZeroPlaneValue||0!==aa){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>aa&&0<aa+p||0<aa&&0>aa-p)&&aa!==t&&aa!==A)if(s){if(this.getPixel(aa)+B>=this.getPixel(0)&&this.getPixel(0)>=
this.getPixel(aa)-B){ka();continue}}else if(this.getPixel(aa)+G>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(aa)-G){ka();continue}E=a.hasBreakPoints?this._getRealBreakValue(aa):aa;if(s)c=a.numberFormatterFn?l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.yAxis,V=""+c.call(l.numberFormatter,E,b.axisIndex),c={"text-anchor":m?"start":"end",text:V},n={x:m?(C||g)+r:(C||w)-r,y:this.getPixel(E)},J&&(Ka={"text-anchor":m?"end":"start",text:V},X={x:m?
(d||w)-r:(d||g)+r,y:this.getPixel(E)});else{c=a.numberFormatterFn?l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.xAxis;V=""+c.call(l.numberFormatter,E);c={text:V};n={x:this.getPixel(E),y:m?(C||h)-r:(C||F)+r};if(aa!==A&&n.x+a.labelMaxW>g){ka();continue}J&&(Ka={text:V},X={x:this.getPixel(E),y:m?(d||F)+r:(d||h)-r})}K.shiftX&&(c.x+=K.shiftX);K.shiftY&&(c.y+=K.shiftY);n.transform=D.getSuggestiveRotation(P,n.x,n.y);H[xa]?(E=H[xa],E.attr({"text-anchor":"middle",
"vertical-align":"center"}),E.attr(c),M&&v?E.animateWith(va,$,n,M,T):E.attr(n)):(H[xa]=E=D.text(c,e),E.attr(n));E.attr(Aa);E._lastPos={x:n.x,y:n.y};xa+=1;J&&(X.transform=D.getSuggestiveRotation(P,X.x,X.y),H[xa]?(E=H[xa],P&&E.attr({"text-anchor":"middle","vertical-align":"center"}),E.attr(Ka),M&&v?(E.attr(ma),E.animateWith(va,$,X,M,T)):(E.attr(X),E.attr(ma))):(H[xa]=E=D.text(Ka,e),E.attr(X),E.attr(ma)),E._lastPos={x:X.x,y:X.y},xa+=1)}ka()}if(H[xa])for(aa=xa;aa<H.length;aa++)H[aa].attr({text:""});this.graphics.labels=
H}else if(H[xa])for(aa=xa;aa<H.length;aa++)H[aa].attr({text:""})},_drawAxisName:function(){var b=this.config,a=b.axisData,g=b.canvas,d=this.chart,c=d.config,e=d.components,k=a.axisDimention||{},m=a.name.style,W=a.name.value,p="fusioncharts-axis-"+b.uniqueClassName,n=b.isVertical,K=b.isOpposit,E=d.linkedItems.smartLabel,aa=g.canvasBottom||c.canvasBottom,q=g.canvasLeft||c.canvasLeft,s=g.canvasRight||c.canvasRight,v=g.canvasTop||c.canvasTop,A=g.canvasHeight||c.canvasHeight,t=g.canvasWidth||c.canvasWidth,
g=a.axisNameContainer,h=a.axisNamePadding,w=a.nameMaxH,F=a.nameMaxW,r=n?k.x:k.y,z=k.opposite,D=this.graphics.axisName||{},k=l(a.name.rotation,n?270:90),e=e.paper,B={fontFamily:m.fontFamily,fontSize:m.fontSize,lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle},G=b.animateAxis,C,J,H,xa,I;J=D;a.name.isDraw?(C=d.get("config","animationObj"),H=C.animObj,xa=C.dummyObj,D=C.transposeAnimDuration,I=C.animType,C={fontFamily:m.fontFamily,fill:m.color,"vertical-align":"center","font-size":m.fontSize,
"line-height":m.lineHeight},E.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),E.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight}),!b.drawLabelOnBothSide&&b.drawAxisNameOpposit&&(K=!K,r=z),n?(d._addCSSDefinition("."+p+"-yAxis",B),b.relativeAxis&&b.relativeAxis.config&&b.relativeAxis.config.axisData&&b.relativeAxis.config.axisData.axisNamePadding&&(h=na(b.relativeAxis.config.axisData.axisNamePadding,h)),K&&c.canvasMarginRight&&(h=na(h,c.canvasMarginRight-
c.marginLeft-F)),!K&&c.canvasMarginLeft&&(h=na(h,c.canvasMarginLeft-c.marginRight-F)),t=b.axisNameAlignCanvas||c.captionalignment&&"left"==c.captionalignment?A:na(A,a.oriCanvasHeight||0),k?(W=E.getSmartText(W,t,F),E=W.tooltext,t=W.width):(W=E.getSmartText(W,F,t),E=W.tooltext,t=W.height),aa=b.drawAxisNameFromBottom?aa-t/2:t>A?c.height/2:v+A/2,p={"class":p+"-yAxis",text:W.text},K={x:K?(r||s)+h+F/2:(r||q)-h-F/2,y:aa}):(d._addCSSDefinition("."+p+"-xAxis",B),W=E.getSmartText(W,t,w),E=W.tooltext,p+="-xAxis",
K&&c.canvasMarginTop&&(h=na(h,c.canvasMarginTop-c.marginTop-w)),!K&&c.canvasMarginBottom&&(h=na(h,c.canvasMarginBottom-c.marginBottom-w)),p={"class":p,text:W.text},K={x:q+t/2,y:K?(r||v)-h-w/2:(r||aa)+h+w/2}),K.transform=e.getSuggestiveRotation(n?k:0,K.x,K.y),this.graphics.axisName?(this.graphics.axisName.attr({visibility:"visible"}),J.attr(p),D&&G&&(K.x!==J._lastPos.x||K.y!==J._lastPos.y)?J.animateWith(xa,H,K,D,I):J.attr(K),J.attr(C).tooltip(E)):(J=e.text(p,g).tooltip(E),J.attr(K),J.attr(C)),a.showTooltip&&
E&&J.trackTooltip(!0),J._lastPos={x:K.x,y:K.y},""!==W.text?setTimeout(function(){J.attr({"line-height":m.lineHeight,"text-bound":[m.backgroundColor,m.borderColor,m.borderThickness,m.borderPadding,m.borderRadius,m.borderDash]})},0):J.attr({"text-bound":[]}),this.graphics.axisName=J):this.graphics.axisName&&this.graphics.axisName.attr({visibility:"hidden"})},_drawPlotLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=g.tickInterval,c=b.isVertical,e=b.canvas,l=this.chart,k=this.chart.is3D,
m=l.config,p=e.canvasBottom||m.canvasBottom,n=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,e=e.canvasTop||m.canvasTop,m=g.max,g=g.min,E=a.axisPlotLineContainer,aa=a.axisPlotLineContainerTop,q=a.showCanvasBorder,s=l.components.paper,v=this.graphics.line||[],A=0,t=T(a.divLineColor,a.divLineAlpha),h=a.divLineThickness,w=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,h):"none",F=T(a.zeroPlaneColor,a.zeroPlaneAlpha),r=a.zeroPlaneThickness,b=b.animateAxis,z,D,B,C,G,J,H,xa,I,w={stroke:t,
"stroke-width":h,"stroke-dasharray":w};2>ra(this.getPixel(g)-this.getPixel(g+d))&&(a.lines.isDraw=0);if(a.lines.isDraw){A=l.get("config","animationObj");H=A.animObj;xa=A.dummyObj;l=A.transposeAnimDuration;I=A.animType;D=this._getVisibleConfig();A=g+d*ha((D.minValue-3*d-g)/d);D=g+d*ha((D.maxValue+3*d-g)/d);A=A<g?g:A;D=D>m?m:D;J=E;G=C=A;for(A=0;C<=D;)0===a.showZeroPlane&&0===C||q&&(C===m||C===g)||(0===C&&C!==g&&C!==m&&(w.stroke=F,w["stroke-width"]=r,a.zeroPlaneOnTop&&!k&&(J=aa)),B=a.hasBreakPoints?
this._getRealBreakValue(C):C,z=c?ua(["M",n,this.getPixel(B),"L",K,this.getPixel(B)],h):ua(["M",this.getPixel(B),e,this.getPixel(B),p],h),B={path:z.path},w["shape-rendering"]=z.isCrisped?"crisp":void 0,v[A]?(z=v[A],J.appendChild(z),l&&b?z.animateWith(xa,H,B,l,I):z.attr(B),z.attr(w)):(z=s.path(B,J),z.attr(w),v[A]=z),0===C&&C!==g&&C!==m&&(w.stroke=t,w["stroke-width"]=h,J=E),A+=1),a.showZeroPlane&&0>C&&0<C+d?(C=0,G+=d):C<G?C=G:(C+=d,G+=d);if(v[A])for(C=A;C<v.length;C++)v[C].attr({path:[]});this.graphics.line=
v}else if(v[A])for(C=A;C<v.length;C++)v[C].attr({path:[]})},_drawAxisLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.isVertical,c=b.isOpposit,e=b.canvas,k=this.chart,m=k.config,p=a.breakPoints,n=e.canvasBottom||m.canvasBottom,q=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,E=e.canvasTop||m.canvasTop,e=a.axisDimention||{},aa=d?e.x:e.y,t=b.drawAxisLineWRTCanvas,s=k.jsonData.chart,e=k.components.paper,m=this.graphics.axisLine||[],v=0,A=g.max,w=g.min,g=g.tickInterval,h=a.axisAxisLineContainerBottom,
F={},r=b.animateAxis,z,D,B,F=1===l(s.showyaxisline,s.showyaxisline)?l(s.yaxislinethickness,s.pyaxislinethickness,1):0;if(a.showAxisLine){z=k.get("config","animationObj");s=z.animObj;B=z.dummyObj;k=z.transposeAnimDuration;z=z.animType;if(d)if(c?aa=(t?K:aa||K)+a.axisLineThickness/2:(aa=t?q:aa||q,aa-=a.axisLineThickness/2),a.hasBreakPoints){q=["M",aa,n,"L"];n=0;for(t=p.length;n<t;n+=1)F=this.getPixel(p[n].start),q.push(aa,F,"M",aa,F-4,"L");q.push(aa,E)}else D=ua(["M",aa,n,"L",aa,E],a.axisLineThickness),
q=D.path;else if(c?(aa=t?E:aa||E,aa-=a.axisLineThickness/2):(aa=t?n:aa||n,aa+=a.axisLineThickness/2),a.hasBreakPoints){q=["M",q-F,aa,"L"];n=0;for(t=p.length;n<t;n+=1)F=this.getPixel(p[n].start),q.push(F,aa,"M",F-4,aa,"L");q.push(K,aa)}else D=ua(["M",q-F,aa,"L",K,aa],a.axisLineThickness),q=D.path;m[v]?(p=m[v],k&&r?p.animateWith(B,s,{path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,"shape-rendering":D.isCrisped?"crisp":void 0},k,z):p.attr({path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,
"shape-rendering":D.isCrisped?"crisp":void 0})):(p=e.path({path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},h),m[v]=p);v+=1;if(b.drawTick&&a.tickLength)for(b={stroke:a.tickColor,"stroke-width":a.tickWidth},c=d?c?aa+a.tickLength:aa-a.tickLength:c?aa-a.tickLength:aa+a.tickLength,D=this._getVisibleConfig(),v=w+g*ha((D.minValue-3*g-w)/g),D=w+g*ha((D.maxValue+3*g-w)/g),D=D>A?A:D,n=v<w?w:v,v=1;n<=D;n+=g)w=a.hasBreakPoints?this._getRealBreakValue(n):n,w=this.getPixel(w),F=d?{path:"M"+aa+
" "+w+"L"+c+" "+w}:{path:"M"+w+" "+aa+"L"+w+" "+c},m[v]?(w=m[v],k&&r?w.animateWith(B,s,F,k,z):w.attr(F),w.attr(b)):(w=e.path(F,h),w.attr(b),m[v]=w),n<A&&n+g>A&&n&&(n=A-g),v+=1}if(m[v])for(n=v;n<m.length;n++)m[n].attr({path:[]});this.graphics.axisLine=m},_drawBreakPoints:function(){var b=this.config,a=b.axisData,g=b.isVertical,d=this.chart,c=d.config,e=a.breakPoints,c=b.canvas.canvasLeft||c.canvasLeft,l=d.components.paper,k=this.graphics.brokeLine||[],m=d.graphics,b=b.animateAxis,p,n,K,E,aa,q,s,v;
if(a.showAxisLine)for(p=d.get("config","animationObj"),q=p.animObj,s=p.dummyObj,d=p.transposeAnimDuration,v=p.animType,p=0,E=e.length;p<E;p+=1)g?(n=c-a.axisLineThickness/2,K=this.getPixel(e[p].start),K=["M",n-4,K+4/3,"L",n+4,K-4/3,"M",n-4,K-8/3,"L",n+4,K-16/3]):K=["M",0,0],k[p]?(n=k[p],d&&b?n.animateWith(s,q,{path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},d,v):n.attr({path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):(n=l.path({path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},
m.axisLineGroup),k[p]=n),aa+=1;if(k[aa])for(p=aa;p<k.length;p++)k[p].attr({path:[]});this.graphics.brokeLine=k},_drawPlotBand:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.canvas,c=this.chart,e=c.config,l=d.canvasLeft||e.canvasLeft,k=d.canvasTop||e.canvasTop,m=d.canvasHeight||e.canvasHeight,d=d.canvasWidth||e.canvasWidth,e=g.tickInterval,p=b.isVertical,n=b.isReverse,K=g.max,E=g.min,g=a.axisBandContainer,aa=c.components.paper,q=this.graphics.band||[],s=0,v=a.showAlternateGridColor,A=
a.alternateGridColor,t=a.alternateGridAlpha,b=b.animateAxis,h,w,r,z,D,B;2>ra(this.getPixel(E)-this.getPixel(E+e))&&(a.band.isDraw=0);if(v&&a.band.isDraw){s=c.get("config","animationObj");v=s.animObj;D=s.dummyObj;c=s.transposeAnimDuration;B=s.animType;w=this._getVisibleConfig();s=E+e*ha((w.minValue-3*e-E)/e);w=E+e*ha((w.maxValue+3*e-E)/e);s=s<E?E:s;w=w>K?K:w;K=Ca((s-E)/e)+1;A={fill:F(T(A,t)),"stroke-width":0};E=this.getPVR();r=t=s;for(s=0;t<w;K+=1)0===K%2&&(h=a.showZeroPlane&&0>t&&0<t+e?t:t!==r?r-
t:e,h=p?{x:l,y:this.getPixel(n?t:t+ra(h)),width:d,height:ra(h*E)}:{x:this.getPixel(t),y:k,width:ra(h*E),height:m},q[s]?(z=q[s],c&&b?z.animateWith(D,v,h,c,B):z.attr(h),z.attr(A)):(z=aa.rect(h,g),z.attr(A),q[s]=z),s+=1),a.showZeroPlane&&0>t&&0<t+e?(t=0,r+=e):t<r?t=r:(t+=e,r+=e);if(q[s])for(t=s;t<q.length;t++)q[t].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=q}else if(q[s])for(t=s;t<q.length;t++)q[t].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},_drawTrendLine:function(){var b=
this.config,a=b.axisData,g=b.canvas,c=this.chart,e=c.config,k=c.components,O=b.isOpposit,m=b.isVertical,p=c.is3D,n=b.axisIndex,q=k.numberFormatter,K=g.canvasBottom||e.canvasBottom,E=g.canvasLeft||e.canvasLeft,aa=g.canvasRight||e.canvasRight,t=g.canvasTop||e.canvasTop,s=g.canvasHeight||e.canvasHeight,g=g.canvasWidth||e.canvasWidth,v=b.axisRange,e=v.max,v=v.min,A=a.trend.trendStyle,w=a.labelPadding,h=a.axisTrendContainerTop,F=a.axisTrendContainerBottom,r=a.axisTrendLabelContainer,k=k.paper,z=this.components.trendObj||
[],B="Fusioncharts-axis-trendlines-label-"+b.uniqueClassName,ta=b.vTrendLines,C=b.trendLines,G=!0,J=b.drawTrendLabels,H=a.axisDimention||{},b=b.animateAxis,I,xa,M,V,vb,Q,P=0,R,ya,Aa,ma,Ka,X,$,va,ka,sa,ba,U;c._addCSSDefinition("."+B,{fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,fontWeight:A.fontWeight,fontStyle:A.fontStyle});va=this._getVisibleConfig();a.hasBreakPoints&&(va.minValue=this._getRealBreakValue(va.minValue),va.maxValue=this._getRealBreakValue(va.maxValue));Ka={};
B={"class":B,"line-height":A.lineHeight};G=this._isZoomed();G||(va.minValue=v,va.maxValue=e);ta?G=O?(H.opposite||K)-(a.trendBottomPadding||0):(H.y||K)+(a.trendBottomPadding||0):(G=O?(H.opposite||E)+(w||0):(H.x||E)-(w||0),ba=O?(H.x||aa)+(w||0):(H.opposite||aa)+(w||0));if(O=C||ta){I=c.get("config","animationObj");w=I.animObj;H=I.dummyObj;c=I.transposeAnimDuration;U=I.animType;M=0;for(V=O.length;M<V;M+=1)for(xa=0,I=O[M].line&&O[M].line.length;xa<I;xa+=1)if(ka=O[M].line[xa],ya=m?"yAxis":"xAxis",R=q.getCleanValue(d(ka.startvalue,
ka.value,0)),Q=Number(ka.endvalue)||void 0,vb=ga(D(d(ka.tooltext,O[0].tooltext,a.trendlineToolText))),vb=Z(vb,[7,15,16,17,18,19],{startValue:R,startDataValue:q[ya](R,n),endValue:Q||R,endDataValue:q[ya](Q||R,n),axisName:a.axisName},ka),!(R>e||R<v||Q>e||Q<v)&&(ta&&R>=va.minValue&&R<=va.maxValue||Q&&Q>=va.minValue&&Q<=va.maxValue||Q&&R<=va.minValue&&Q>=va.maxValue||C&&R>va.minValue&&R<=va.maxValue||Q&&Q>=va.minValue&&Q<=va.maxValue||Q&&R>=va.minValue&&Q<=va.maxValue)){if(ta){if(X=D(ka.displayvalue||
""),ya=this.getPixel(a.hasBreakPoints?this._getRelativeBreakValue(R):R),Aa=l(ka.istrendzone,a.isTrendZone,1),sa=Q?this.getPixel(a.hasBreakPoints?this._getRelativeBreakValue(Q):Q):0,void 0!==Q&&""!==Q&&Q!==R&&Aa?(Aa={fill:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,40)),"stroke-width":0},ma={path:["M",ya,t,"L",ya,K,"L",sa,K,"L",sa,t,"Z"]},X={fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:X},$={x:ya+(sa-ya)/2,y:G}):(Aa=l(ka.thickness,a.trendlineThickness,
1),Aa=Aa>g?1:Aa,ma=Q?ua(["M",ya,t,"L",sa,K],Aa):ua(["M",ya,t,"L",ya,K],Aa),Aa={stroke:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,99)),"stroke-width":Aa,"stroke-dasharray":d(ka.dashed,a.trendlinesAreDashed)===fa?ia(l(ka.dashlen,a.trendlinesDashLen),l(ka.dashgap,a.trendlinesDashGap),Aa):"none","shape-rendering":ma.isCrisped?"crisp":void 0},ma={path:ma.path},X={fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:X},$={x:Q?sa:ya,y:G}),!J||X.x>this.getPixel(va.maxValue)||
X.x<this.getPixel(va.minValue))X.text=""}else C&&(X=D(ka.displayvalue||""),$=l(ka.valueonright,0),Aa=l(ka.istrendzone,a.isTrendZone,0),ya=this.getPixel(R),sa=Q?this.getPixel(Q):0,void 0!==Q&&""!==Q&&Q!==R&&Aa?(Aa={fill:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,40)),"stroke-width":0},ma={path:["M",E,ya,"L",aa,ya,"L",aa,sa,"L",E,sa,"Z"]},X={"text-anchor":$?"start":"end",fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),text:X},$={x:$?ba:G,y:ya+(sa-ya)/2}):(Aa=l(ka.thickness,
a.trendlineThickness,1),Aa=Aa>s?1:Aa,ma=Q?ua(["M",E,ya,"L",aa,sa],Aa):ua(["M",E,ya,"L",aa,ya],Aa),Aa={stroke:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,99)),"stroke-width":Aa,"stroke-dasharray":d(ka.dashed,a.trendlinesAreDashed)===fa?ia(l(ka.dashlen,a.trendlinesDashLen),l(ka.dashgap,a.trendlinesDashGap),Aa):"none","shape-rendering":ma.isCrisped?"crisp":void 0},ma={path:ma.path},X={"text-anchor":$?"start":"end",fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),text:X},$={x:$?
ba:G,y:Q?$?sa:ya:ya}),!J||X.y<this.getPixel(va.maxValue)||X.y>this.getPixel(va.minValue))&&(X.text="");Q=l(ka.showontop);Q=p||1!==Q&&1!==a.showTrendlinesOnTop?F:h;z[P]?(R=z[P].graphics.drawing,ya=z[P].graphics.label,Q.appendChild(R),R.attr(Aa),ya.attr(X),z[P].graphics.config.text=X.text,c&&b?(R.animateWith(H,w,ma,c,U),ya.animateWith(H,w,$,c,U)):(R.attr(ma),ya.attr($)),ya.tooltip(ka.valueToolText),R.attr(Ka),ya.attr(B)):(R=k.path(Aa,Q),R.attr(ma),R.attr(Ka),ya=k.text(X,r),ya.attr($).attr(B).tooltip(ka.valueToolText),
z[P]={},z[P].graphics={},z[P].graphics.drawing=R,z[P].graphics.label=ya,z[P].graphics.config={text:X.text});a.showTooltip&&ka.valueToolText?ya.trackTooltip(!0):ya.trackTooltip(!1);a.showTooltip&&vb?R.tooltip(vb).trackTooltip(!0):R.trackTooltip(!1);P+=1}if(z[P])for(xa=P;xa<z.length;xa++)z[xa].graphics.drawing.attr({path:["M",0,0]}),z[xa].graphics.label.attr({text:"","text-bound":[]});this.components.trendObj=z;a.trendBackgroundSetter&&(clearTimeout(a.trendBackgroundSetter),a.trendBackgroundSetter=
void 0);a.trendBackgroundSetter=setTimeout(function(){for(xa=0;xa<P;xa++)z[xa].graphics.label.attr({"line-height":A.lineHeight,"text-bound":z[xa].graphics.config.text?[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]:[]});a.trendBackgroundSetter=void 0},0)}if(z[P])for(xa=P;xa<z.length;xa++)z[xa].graphics.drawing.attr({path:["M",0,0]}),z[xa].graphics.label.attr({text:"","text-bound":[]})},_drawCategory:function(){var b,a,g,c,e,k,O=this.config,m=O.axisData,
p=m.axisDimention||{},n=O.canvas,q=this.chart,K=q.config,E=O.isOpposit,aa=m.labels,t=aa.style,s=O.isVertical,v=n.canvasBottom||K.canvasBottom,A=n.canvasLeft||K.canvasLeft,F=n.canvasRight||K.canvasRight,n=n.canvasTop||K.canvasTop,h=m.axisContainer,K=m.labelPadding,z=q.components.paper,r=s?p.x:p.y,p=p.opposite,D=O.drawLabelOnBothSide,B=this.components.categoryLabel||(this.components.categoryLabel=[]),ta=q.jsonData.categories,C,G,J,H,I=function(b){return function(a){ea.call(this,q,a,b)}},xa=0,xa=0,M=
O.animateAxis,Q,V,P,R,X,ya,Aa,ma,Ka,$={},ba,va,ka,sa,U,Va,Sb,fa;X=(P=O.isCategoryAnimate&&O.animateCategories?O.animateCategories:m.categories.category)?P.length-1:0;sa=0<m.labels.step?m.labels.step:1;this._drawCategoryLine(P,0,X);if(m.labels.isDraw){Q=q.get("config","animationObj");Va=Q.animObj;Sb=Q.dummyObj;V=Q.transposeAnimDuration;Q=Q.animType;s&&(R=ra(this.getPixel(0)-this.getPixel(1)),m.labelMaxH>R&&(xa=Da(m.labelMaxH/R)),xa>m.labels.step&&(m.labels.step=xa));R=this.getPVR();U=this._isZoomed();
Aa=this._getVisibleConfig();ma=m.labels.rotation;!O.drawLabelOnBothSide&&O.drawLabelsOpposit&&(E=!E,r=p);ta&&ta[0]&&"auto"!==m.xAxisLabelMode&&(C=ta[0].font,G=ta[0].fontsize,J=ta[0].fontcolor);fa=this._manageReuseableElement(this.components.categoryLabel,"text",h);for(xa=h=0;h<=X;h+=sa)if(ta=P[h])b=l(ta.x,ta.y,h),0===l(ta.showlabel,m.showLabels,1)||U&&(b<Aa.minValue||b>Aa.maxValue)||!("auto"!==m.xAxisLabelMode&&"mixed"!==m.xAxisLabelMode||0!==m.showZeroPlane&&0!==m.showZeroPlaneValue||0!==b)||!m.labels.drawNormalVal&&
(!m.labels.drawLimitVal||0!==h&&h!==X)||!m.labels.drawNormalVal&&0!==h&&h!==X||!(m.labels.drawLimitVal||0!==h&&h!==X)||(H=d(ta.font,ta.labelfont),a=d(ta.fontsize,ta.labelfontsize),c=d(ta.fontbold,ta.labelfontbold)?l(ta.fontbold,ta.labelfontbold,0)?"bold":"normal":void 0,e=d(ta.fontitalic,ta.labelfontitalic)?l(ta.fontitalic,ta.labelfontitalic,0)?"italic":"normal":void 0,g=T(d(ta.fontcolor,ta.labelfontcolor,J,t.color),l(ta.labelalpha,O.rawAttr.labelFontAlpha,q.singleseries?void 0:ta.alpha,100)),H={fontFamily:d(H,
C,t.fontFamily),fontSize:d(a,G,t.fontSize),fontWeight:d(c,t.fontWeight),fontStyle:d(e,t.fontStyle)},H.lineHeight=w(H),H.lineHeight&&(Ka=H.lineHeight,-1!==Ka.indexOf("px")&&(Ka=Ka.replace(/px/i,""),Ka=parseFloat(Ka))),a={fill:g,"line-height":Ka},D&&($={fill:g,"line-height":Ka}),ka=this.getPixel(b),s?(e=ta.label||"",k=Number(ta.labelPadding)||0,c={opacity:1,"text-anchor":E?"start":"end",text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},g={x:E?(r||F)+K:(r||A)-K,y:k?ka+k:ka},D&&(ba={opacity:1,
"text-anchor":E?"end":"start",text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},va={x:E?(p||A)-K:(p||F)+K,y:k?ka+k:ka})):(e=ta.label||"",k=Number(ta.labelPadding)||0,c={opacity:1,text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},g={x:ka,y:E?(r||n)-K:(r||v)+K},D&&(ba={opacity:1,text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},va={x:ka,y:E?(p||v)+K:(p||n)-K}),ma?(a["text-anchor"]=E?"start":"end",a["vertical-align"]="center",D&&($["text-anchor"]=E?"end":"start",
$["vertical-align"]="center")):(a["text-anchor"]="middle",a["vertical-align"]=E?"bottom":"top",D&&($["vertical-align"]=E?"top":"bottom",$["text-anchor"]="middle")),k&&(g.y=E?g.y-k:g.y+k,D&&(va.y=E?va.y+k:va.y-k))),aa.shiftX&&(g.x+=aa.shiftX,D&&(va.x+=aa.shiftX)),aa.shiftY&&(g.y+=aa.shiftY,D&&(va.y+=aa.shiftY)),g.transform=z.getSuggestiveRotation(ma,g.x,g.y),D&&(va.transform=z.getSuggestiveRotation(ma,va.x,va.y)),B[xa]||(B[xa]={},B[xa].graphics={},B[xa].config={}),e=B[xa].graphics.label=fa.getElement("p"+
b),ma&&e.attr({"text-anchor":"middle","vertical-align":"center"}),e._applyAllAttr&&(e.attr(c),e.css(H)),e.attr(a),V&&M&&!ta.animate&&!e._firstTimeDraw?e.animateWith(Sb,Va,g,V,Q):e.attr(g),m.showTooltip&&ta.labelTooltext?(e.tooltip(ta.labelTooltext),e.trackTooltip(!0)):e.trackTooltip(!1),D&&(ya=B[xa].graphics.secondLabel=fa.getElement("s"+b),ma&&e.attr({"text-anchor":"middle","vertical-align":"center"}),ya.attr(ba),V&&M&&!ta.animate&&!e._firstTimeDraw?ya.animateWith(Sb,Va,va,V,Q):ya.attr(va),ya.attr($),
ya.css(H),m.showTooltip&&ta.labelTooltext?(ya.tooltip(ta.labelTooltext),ya.trackTooltip(!0)):ya.trackTooltip(!1)),e._firstTimeDraw&&e.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),e.data("eventArgs",{link:ta.link||ta.labellink||t.labelLink,text:c.text,index:xa}),D&&(ya._firstTimeDraw&&ya.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),B[xa].graphics.secondLabel.data("eventArgs",{link:ta.link||ta.labellink||t.labelLink,text:c.text,index:xa})),
ta.animate&&!s&&(b={x:g.x-ta.leftShift*R},ta["delete"]&&(b.opacity=0),b.transform=z.getSuggestiveRotation(ma,b.x,g.y),B[xa].graphics.label.animateWith(Sb,Va,b,V,Q),D&&(b={x:va.x-ta.leftShift*R},ta["delete"]&&(b.opacity=0),b.transform=z.getSuggestiveRotation(ma,b.x,va.y),B[xa].graphics.secondLabel.animateWith(Sb,Va,b,V,Q))),e._applyAllAttr&&(l(ta.borderthickness,ta.labelborderthickness)&&l(ta.borderthickness,ta.labelborderthickness,1),b=ta.bordercolor||ta.labelbordercolor?T(ta.bordercolor||ta.labelbordercolor,
l(ta.borderalpha,ta.labelborderalpha,ta.alpha,ta.labelalpha,100)):"",a=l(ta.borderthickness,ta.labelborderthickness),g=l(ta.borderpadding,ta.labelborderpadding),c=l(ta.borderradius,ta.labelborderradius),e=ta.bgcolor||ta.labelbgcolor?T(ta.bgcolor||ta.labelbgcolor,l(ta.bgalpha,ta.labelbgalpha,ta.alpha,ta.labelalpha,O.rawAttr.labelFontAlpha,100)):"",k=l(ta.borderdashed,ta.labelborderdashed,0)?ia(l(ta.borderdashlen,ta.labelborderdashlen,4),l(ta.borderdashgap,ta.labelborderdashgap,2),l(ta.borderthickness,
ta.labelborderthickness,1)):0===l(ta.borderdashed,ta.labelborderdashed)?"none":t.borderDash,ta.label?(B[xa].graphics.label.attr({"line-height":H.lineHeight,"text-bound":[d(e,t.backgroundColor),d(b,t.borderColor),d(a,t.borderThickness),d(g,t.borderPadding),d(c,t.borderRadius),d(k,t.borderDash)]}),D&&B[xa].graphics.secondLabel.attr({"line-height":H.lineHeight,"text-bound":[d(e,t.backgroundColor),d(b,t.borderColor),d(a,t.borderThickness),d(g,t.borderPadding),d(c,t.borderRadius),d(k,t.borderDash)]})):
(B[xa].graphics.label.attr({"text-bound":[]}),D&&B[h].graphics.secondLabel.attr({"text-bound":[]}))),xa+=1);this.components.categoryLabel=B;fa.freeUnusedElement()}},_drawCategoryLine:function(b,a,g){var c=this.config,e=c.axisData,k=c.canvas,m=this.chart,p=m.config,W=m.components,n=c.isVertical,q=k.canvasBottom||p.canvasBottom,K=k.canvasLeft||p.canvasLeft,E=k.canvasRight||p.canvasRight,k=k.canvasTop||p.canvasTop,p=e.axisPlotLineContainer,aa=e.showCanvasBorder,t=e.xAxisLabelMode,s=W.paper,W=W.colorManager,
v=this.components.categoryLabelLine||[],A=m.jsonData.categories,w,h,F,z,r,D,B=0,C=c.animateAxis,G,J,H,I,xa,M,Q,V;b||(b=c.isCategoryAnimate&&c.animateCategories?c.animateCategories:e.categories.category);a=a||0;g=g||b?b.length-1:0;if(c.drawPlotlines){B=m.get("config","animationObj");m=B.animObj;Q=B.dummyObj;c=B.transposeAnimDuration;V=B.animType;this.getPVR();M=this._isZoomed();J=this._getVisibleConfig();A&&A[0]&&(w=A[0].verticallinecolor,h=A[0].verticallinealpha,F=A[0].verticallinethickness,z=A[0].verticallinedashed,
r=A[0].verticallinedashlen,D=A[0].verticallinedashgap);A=a;for(B=0;A<=g;A+=1)(G=b[A])&&(!aa||"auto"!==t&&"mixed"!==t||A!==g&&A!==a)&&(I=l(G.x,G.y,A),1!==Number(G.showverticalline)||M&&(I<J.minValue||I>J.maxValue)||(H=this.getPixel(I),I={stroke:T(d(G.linecolor,w,e.divLineColor,W.getColor("divLineColor")),d(G.linealpha,h,W.getColor("divLineAlpha"))),"stroke-width":l(G.linethickness,F,1)},I["stroke-dasharray"]=l(G.linedashed,z,0)?ia(l(G.linedashLen,r,4),l(G.linedashgap,D,2),I["stroke-width"]):"none",
xa=n?ua(["M",K,H,"L",E,H],I["stroke-width"]):ua(["M",H,k,"L",H,q],I["stroke-width"]),H={path:xa.path},I["shape-rendering"]=xa.isCrisped?"crisp":void 0,v[B]?(xa=v[B].graphics.line,xa.attr(I),c&&C&&!G.animate?xa.animateWith(Q,m,H,c,V):xa.attr(H)):(xa=s.path(I,p),xa.attr(H),v[B]={},v[B].graphics={},v[B].config={},v[B].graphics.line=xa),B+=1));this.components.categoryLabelLine=v}if(v[B])for(A=B;A<v.length;A++)v[A].graphics.line.attr({path:["M",0,0]})},_drawCategoryVline:function(){var b=this.config,a=
b.axisData,g=b.axisRange,c=g.min,g=g.max,e=b.canvas,k=this.chart,m=k.config,p=m.style||{},W=k.components.paper,n=e.canvasBottom||m.canvasBottom,q=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,E=e.canvasTop||m.canvasTop,aa=e.canvasHeight||m.canvasHeight,e=e.canvasWidth||m.canvasWidth,t=a.categories.category,s=b.isVertical,v=k.linkedItems.smartLabel,A=a.axisPlotLineContainerTop,w=a.axisPlotLineContainer,h=a.vlineLabelContainer,F=b.isRelativeAxisInverse,z={fontFamily:m.style.inCanfontFamily,
fontSize:m.style.inCanfontSize,color:m.style.inCancolor,lineHeight:m.style.inCanLineHeight},r=this.components.categoryVline||[],B=0,ta=b.animateAxis,C,G,H,I,M,xa,Q,V,P,R,X,$,ya,Aa,ma,Ka,ba,U,va,ka,sa,ea={},Va,fa={},ca,Z,ga,Ba,na,za,da,la,oa,ha;G=b.isCategoryVlineAnimate&&b.animateCategoriesVline?b.animateCategoriesVline:a.categories.vline;C=k.get("config","animationObj");za=C.animObj;da=C.dummyObj;k=C.transposeAnimDuration;C=C.animType;I=G.length;H=this.getPVR();la=this._isZoomed();oa=this._getVisibleConfig();
for(Q=0;Q<I;Q++)M=G[Q],xa=D(M.label),V=Boolean(l(M.showlabelborder,a.showVLineLabelBorder,1)),P=Boolean(l(M.showlabelbackground,1)),R=d(M.labelhalign,s?"start":"middle"),"center"==R?R="middle":"left"==R?R="start":"right"==R&&(R="end"),X=d(M.labelvalign,s?"middle":"bottom").toLowerCase(),"middle"==X?X="center":"top"==X?X="bottom":"bottom"==X&&(X="top"),$=l(M.labelposition,0),ya=l(M.lineposition,.5),Aa=l(M.showvlines,a.showVLines,1),ma=l(M.alpha,a.vLineAlpha,80),Ka=d(M.color,a.vLineColor).replace(/^#?/,
"#"),P=P?d(M.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):J,Va=d(M.labelcolor,a.vLineLabelColor,M.color,p.inCancolor,a.vLineColor).replace(/^#?/,"#"),ba=l(M.thickness,a.vLineThickness,1),U=Boolean(Number(d(M.dashed,0))),va=l(M.dashlen,5),sa=l(M.dashgap,2),ka=z.fontSize,parseInt(ka.replace(/px/i,""),10),ka=l(M.rotatelabel,a.rotateVLineLabels)?270:0,ya=0>ya||1<ya?.5:ya,$=0>$||1<$?0:$,v.useEllipsesOnOverflow(m.useEllipsesWhenOverflow),v.setStyle(z),v.getOriSize(xa),Ka=T(Ka,Aa?ma:"0"),
ma=1===Number(M.showontop)||1===a.showVLinesOnTop?A:w,Ba=!1,ha=M.animate&&!s?M.startIndex+1:M.startIndex,ca=t[ha],Z=t[ha+1],ca?Z||(ga=t[0]&&t[0].x?g:b.oriCatLen,Ba=!0):(ga=t[0]&&t[0].x?c:-1,Ba=!0),Ba||(ga=l(ca.x,ca.y,ha),ya*=ga-l(Z.x,Z.y,ha+1)),ya=ga+ra(ya),la&&(ya<oa.minValue||ya>oa.maxValue)||!M.animate&&(ya<c||ya>g)||M.animate&&(ya<c||ya>g+na)||(ya=this.getPixel(ya),U={opacity:1,stroke:Ka,"stroke-width":ba,"stroke-dasharray":U?ia(va,sa,ba):"none"},va={opacity:1,text:xa,"text-anchor":R,"vertical-align":X,
"text-bound":[]},Va={fill:Aa?Va:Ka,fontSize:z.fontSize,fontFamily:z.fontFamily,lineHeight:z.lineHeight,backgroundColor:P},s?(ba=ua(["M",q,ya,"L",K,ya],ba),ea.path=ba.path,fa.x=q+e*(F?1-$:$),fa.y=ya):(ba=ua(["M",ya,E,"L",ya,n],ba),ea.path=ba.path,fa.x=ya,fa.y=E+aa*(F?1-$:$)),U["shape-rendering"]=ba.isCrisped?"crisp":void 0,"start"==R?fa.x+=2:"end"==R&&(fa.x-=2),"top"==X?fa.Y+=2:"bottom"==X&&(fa.Y-=2),r[B]?(R=r[B].graphics.drawing,X=r[B].graphics.label,X.css(Va).attr({transform:"r "+ka}),ma.appendChild(R),
R.attr(U),k&&ta&&!M.animate?(R.animateWith(da,za,ea,k),X.animateWith(da,za,fa,k,C)):(R.attr(ea),X.attr(fa)),X.attr(va)):(R=W.path(U,ma),R.attr(ea),X=W.text(va,h).css(Va).attr(fa).attr({transform:"r "+ka}),r[B]={},r[B].graphics={},r[B].config={},r[B].graphics.drawing=R,r[B].graphics.label=X),M.animate&&!s&&(na=M.leftShift*H,R={x:fa.x-na},X={path:["M",ya-na,E,"L",ya-na,n]},M["delete"]&&(R.opacity=0,R["text-bound"]=[],X.opacity=0),r[B].graphics.label.animateWith(da,za,R,k,C),r[B].graphics.drawing.animateWith(da,
za,X,k,C)),M={label:xa,lineHeight:z.lineHeight,backgroundColor:P,borderPadding:2,borderWidth:Aa&&V?1:0,borderType:Aa&&V?"solid":J,borderColor:Aa&&V?Ka:J},xa?r[B].graphics.label.attr({"line-height":z.lineHeight,"text-bound":[M.backgroundColor,M.borderColor,M.borderWidth,M.borderPadding,M.borderRadius,M.borderType]}):r[B].graphics.label.attr({"text-bound":[]}),B++);if(r[B])for(Q=B;Q<r.length;Q++)r[Q].graphics.drawing.attr({path:["M",0,0]}),r[Q].graphics.label.attr({text:"","text-bound":[]});this.components.categoryVline=
r},_drawCategoryPlotLine:function(){var b=this.config,a=b.axisData,g=b.isVertical,d=b.axisRange,c=d.max,e=d.min,l=b.canvas,k=this.chart,m=k.config,p=a.categories.category,n=p.length,d=l.canvasBottom||m.canvasBottom,K=l.canvasLeft||m.canvasLeft,E=l.canvasRight||m.canvasRight,l=l.canvasTop||m.canvasTop,m=a.axisPlotLineContainer,aa=k.components.paper,q=this.graphics.line||[],s=0,v=T(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,t=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,A):"none",
b=b.animateAxis,h,w,F,v={stroke:v,"stroke-width":A,"stroke-dasharray":t};if(p[0]&&(void 0!==p[0].x||void 0!==p[0].y)){if(q[s]&&"categories"===a.xAxisLabelMode)for(c=s;c<q.length;c++)q[c].attr({path:[]})}else if(a.lines.isDraw&&a.categoryNumDivLines){s=k.get("config","animationObj");p=s.animObj;t=s.dummyObj;k=s.transposeAnimDuration;F=s.animType;a.categoryDivLinesFromZero&&(e=0,c=n-1);n=ra(c-e)/(a.categoryNumDivLines+1);n=0===n?1:n;w=this._getVisibleConfig();s=e+n*ha((w.minValue-3*n-e)/n);w=e+n*ha((w.maxValue+
3*n-e)/n);s=(s<e?e:s)+n;w=(w>c?c:w)-n;c=s;for(s=0;c<=w;c+=n)e=a.hasBreakPoints?this._getRealBreakValue(c):c,h=g?ua(["M",K,this.getPixel(e),"L",E,this.getPixel(e)],A):ua(["M",this.getPixel(e),l,"L",this.getPixel(e),d],A),e={path:h.path},v["shape-rendering"]=h.isCrisped?"crisp":void 0,q[s]?(h=q[s],k&&b?h.animateWith(t,p,e,k,F):h.attr(e),h.attr(v)):(h=aa.path(e,m),h.attr(v),q[s]=h),s+=1;if(q[s])for(c=s;c<q.length;c++)q[c].attr({path:[]});this.graphics.line=q}else if(q[s])for(c=s;c<q.length;c++)q[c].attr({path:[]})},
_drawCategoryPlotBand:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=g.max,c=g.min,e=b.canvas,l=this.chart,k=l.config,m=a.categories.category,p=m.length,g=e.canvasLeft||k.canvasLeft,n=e.canvasRight||k.canvasRight,K=e.canvasTop||k.canvasTop,E=e.canvasHeight||k.canvasHeight,e=e.canvasWidth||k.canvasWidth,k=b.isVertical,q=a.axisBandContainer,t=l.components.paper,s=this.graphics.band||[],v=0,A=a.showAlternateGridColor,w=a.alternateGridColor,h=a.alternateGridAlpha,r=a.categoryDivLinesFromZero,
b=b.animateAxis,z,B,D,C;if(m[0]&&(void 0!==m[0].x||void 0!==m[0].y)){if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})}else if(A&&a.band.isDraw&&a.categoryNumDivLines){v=l.get("config","animationObj");m=v.animObj;A=v.dummyObj;l=v.transposeAnimDuration;C=v.animType;r&&(c=0,d=p-1);a=ra(d-c)/(a.categoryNumDivLines+1);a=0===a?1:a;v=this._getVisibleConfig();p=c+a*ha((v.minValue-3*a-c)/a);r=c+a*ha((v.maxValue+3*a-c)/a);p=p<c?c:p;r=r>d?d:r;c=Ca((p-c)/a);p+=a;
w={fill:F(T(w,h)),"stroke-width":0};B=this.getPVR();h=p;for(v=0;h-a<r;c+=1,h+=a)0===c%2&&(z=h===p?a+ra(this.getValue(0))+1:h===r?a+ra(this.getValue(n-g)-d):a,z=k?{x:g,y:h===r?this.getPixel(h-ra(a)):this.getPixel(h-ra(z)),width:e,height:ra(z*B)}:{x:h===r?this.getPixel(h-ra(a)):this.getPixel(h-ra(z)),y:K,width:ra(z*B),height:E},s[v]?(D=s[v],l&&b?D.animateWith(A,m,z,l,C):D.attr(z),D.attr(w)):(D=t.rect(z,q),D.attr(w),s[v]=D),v+=1);if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,
"stroke-width":0});this.graphics.band=s}else if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},resetNumericAxisComponents:function(){var b=this.graphics.line,a=this.graphics.labels,g;if(b&&b[0])for(g=0;g<b.length;g+=1)b[g].attr({path:[]});if(a&&a[0])for(g=0,b=a.length;g<b;g+=1)a[g].attr({text:""})},resetCategoryAxisComponents:function(){var b=this.graphics.line,a=this.components.categoryVline,g=this.components.categoryLabel,d=this.components.categoryLabelLine,
c;if(b&&b[0])for(c=0;c<b.length;c+=1)b[c].attr({path:[]});if(g&&g[0])for(c=0,b=g.length;c<b;c+=1)g[c].graphics.label.attr({text:"","text-bound":[]}),g[c].graphics.secondLabel&&g[c].graphics.secondLabel.attr({text:"","text-bound":[]});if(d&&d[0])for(c=0,b=d.length;c<b;c+=1)d[c].graphics.line.attr({path:["M",0,0]});if(a&&a[0])for(c=0,b=a.length;c<b;c+=1)a[c].graphics.drawing.attr({path:["M",0,0]}),a[c].graphics.label.attr({text:"","text-bound":[]})},placeAxis:function(b){return this.config.isVertical?
this._placeVerticalAxis(b):this._placeHorizontalAxis(b)},_placeVerticalAxis:function(b){var a=this.config,g=this.chart,c=g.config,e=g.components,k=g.linkedItems.smartLabel,m=a.axisData,p=a.axisRange,W=m.name,n=a.isOpposit,q=e.numberFormatter,K=c.canvasHeight,E=m.labelPadding=l(a.rawAttr.axisValuePadding,4),aa=l(a.rawAttr.axisNamePadding,5),t=m.useEllipsesWhenOverflow,s=m.name.style,v=m.trend.trendStyle,A=m.axisName,w=a.trendLines,h=a.drawLabelsOpposit,F=a.drawAxisNameOpposit,r=a.drawLabelOnBothSide,
z=0,B=0,C=0,G=0,J=0,H={left:0,right:0},I="",M="",xa=0,T,Q,R,V,P,X,ya;c.viewPortConfig&&1!==c.viewPortConfig.scaleY&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();m.oriCanvasHeight=K;0>E&&(m.labelPadding=2);xa=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(E,2)+xa,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:xa)+2),b-=m.axisLineThickness):(m.labelPadding=l(E,2),0>m.labelPadding&&(m.labelPadding=
2));E=p.max;Q=p.min;m.name.rotation=0;m.labels.step=m.labelStep;m.labels.isDraw=1;m.lines.isDraw=1;m.band.isDraw=1;m.labels.drawNormalVal=m.showDivLineValues;m.labels.drawLimitVal=m.showLimits;xa=s.lineHeight;xa=Number(xa.replace(/px/i,""));xa<b&&(b-=xa);1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);T=a.drawLabels?this._getVMaxLabelDimention(r?b-2*m.labelPadding/2:b-m.labelPadding):{width:0,height:0};if(T.width+m.labelPadding>b&&!m.hasCategory||0===T.width)m.labels.isDraw=0;m.labels.isDraw&&
(m.labelMaxW=T.width,m.labelMaxH=T.height,z=T.width+m.labelPadding,B=r?2*z:z);if(a.drawTrendLines&&a.drawTrendLabels&&w){p=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis;k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);k.setStyle({fontSize:v.fontSize,fontFamily:v.fontFamily,lineHeight:v.lineHeight,fontWeight:v.fontWeight});c=0;for(v=w.length;c<v;c+=1)for(T=0,V=w[c].line&&w[c].line.length;T<V;T+=1)P=w[c].line[T],X=q.getCleanValue(d(P.startvalue,
P.value,0)),ya=l(P.endvalue,X),X<=E&&X>=Q&&ya<=E&&ya>=Q&&(a.isOpposit&&(P.valueonright=1),R=1===Number(P.valueonright)?P.origText||P.displayvalue||P.endvalue||P.startvalue||"":P.origText||P.displayvalue||P.startvalue||P.endvalue||"",R=D(R),R===(P.endvalue||P.startvalue)&&(R=""+p.call(e.numberFormatter,R)),(X=l(P.valueonright,0))?R.length>M.length&&(M=R):R.length>I.length&&(I=R));T=k.getOriSize(M);J=T.width+m.labelPadding;T=k.getOriSize(I);G=T.width+m.labelPadding;n?(J>B&&J>b&&(J=b),B=na(B,J+m.labelPadding),
G>b-B&&(G=Fa(G,b-B))):(G>B&&G>b&&(G=b),B=na(B,G+m.labelPadding),J>b-B&&(J=Fa(J,b-B)));c=0;for(v=w.length;c<v;c+=1)for(T=0,V=w[c].line&&w[c].line.length;T<V;T+=1){P=w[c].line[T];X=q.getCleanValue(d(P.startvalue,P.value,0));ya=l(P.endvalue,X);R=1===Number(P.valueonright)?P.origText||P.displayvalue||""+ya||"":P.origText||P.displayvalue||""+X||"";R=D(""+R);if(Number(R)===ya||Number(R)===X)R=""+p.call(e.numberFormatter,R);P.origText=R;I=(X=l(P.valueonright,0))?k.getSmartText(R,J,g.canvasHeight,t):k.getSmartText(R,
B,g.canvasHeight,t);P.displayvalue=I.text;I.tooltext?P.valueToolText=I.tooltext:delete P.valueToolText}}b+=xa;!a.drawAxisName||0>=b-B-J||""===A?(W.isDraw=!1,W.value=""):(k.setStyle({fontSize:s.fontSize,fontFamily:s.fontFamily,lineHeight:s.lineHeight,fontWeight:s.fontWeight}),W.isDraw=!0,m.rotateAxisName?(m.name.rotation=n?90:270,a=k.getSmartText(A,K,b-B-J),W.value=A,m.nameMaxW=Fa(a.height)):(a=k.getSmartText(A,b-B-J,K),W.value=A,m.nameMaxW=Fa(a.width,b-B),m.nameMaxH=a.height,0<=m.axisNameWidth&&(m.nameMaxW=
Fa(m.nameMaxW,m.axisNameWidth))),C=m.nameMaxW+aa);n?(r?(H.left+=na(z,G),H.right+=na(z,J)):h?(H.left+=na(z,G),H.right+=J):(H.left+=G,H.right+=na(z,J)),F?(m.axisNamePadding=H.left+aa,H.left+=C):(m.axisNamePadding=H.right+aa,H.right+=C)):(r?(H.left+=na(z,G),H.right+=na(z,J)):h?(H.left+=G,H.right+=na(z,J)):(H.left+=na(z,G),H.right+=J),F?(m.axisNamePadding=H.right+aa,H.right+=C):(m.axisNamePadding=H.left+aa,H.left+=C));W.isDraw&&m.axisNamePadding+m.nameMaxW>b&&(m.axisNamePadding=b-m.nameMaxW);return H},
_placeHorizontalAxis:function(b){var a=this.config,g=this.chart,c=g.config,e=g.components,k=g.linkedItems.smartLabel,m=a.axisData,p=a.axisRange,n=m.name,q=a.isOpposit,t=e.numberFormatter,K=a.drawLabelsOpposit,E=a.drawAxisNameOpposit,aa=a.drawLabelOnBothSide,w=0,s=c.canvasWidth,v=m.labelPadding=l(a.rawAttr.axisValuePadding,4),A=l(a.rawAttr.axisNamePadding,5),F=m.useEllipsesWhenOverflow,h=m.name.style,z=m.trend.trendStyle,r=m.axisName,B=a.vTrendLines,C,G=0,J=0,H={top:0,bottom:0},I=0,M=0,T,xa,Q,P,R,
V,X;c.viewPortConfig&&1!==c.viewPortConfig.scaleX&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();0>v&&(m.labelPadding=2);M=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(v,2)+M,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:M)+2),b-=m.axisLineThickness):(m.labelPadding=l(v,2),0>m.labelPadding&&(m.labelPadding=2));v=p.max;p=p.min;m.labels.rotation=0;m.labels.step=m.labelStep;m.labels.isDraw=1;m.lines.isDraw=
1;m.band.isDraw=1;m.labels.drawNormalVal=m.showDivLineValues;m.labels.drawLimitVal=m.showLimits;M=h.lineHeight;M=Number(M.replace(/px/i,""));M<b&&(b-=M);m.rotateLabels&&"stagger"!==m.labelDisplay&&"none"!==m.labelDisplay&&(m.labelDisplay="rotate");1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);P=a.drawLabels?this._getHMaxLabelDimention(aa?(b-2*m.labelPadding)/2:b-m.labelPadding):{width:0,height:0};m.labels.rotation?P.width+m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0):P.height+
m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0);m.labels.isDraw&&(m.labels.rotation?(m.labelMaxW=P.height,m.labelMaxH=P.width,w=P.width+m.labelPadding):(m.labelMaxW=P.width,m.labelMaxH=P.height,w=P.height+m.labelPadding),G=aa?2*w:w);G=na(G,m.labelPadding);P=G<=b?b-G:b;if(a.drawTrendLines&&a.drawTrendLabels&&B&&a.isActive)for(X=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis,k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),k.setStyle({fontSize:z.fontSize,
fontFamily:z.fontFamily,lineHeight:z.lineHeight,fontWeight:z.fontWeight}),c=0,C=B.length;c<C;c+=1)for(T=0,Q=B[c].line&&B[c].line.length;T<Q;T+=1)R=B[c].line[T],xa=t.getCleanValue(d(R.startvalue,R.value,0)),V=l(R.endvalue,xa),xa<=v&&xa>=p&&V<=v&&V>=p&&(xa=R.origText||R.displayvalue||R.endvalue||R.startvalue||"",xa=D(xa),xa===(R.endvalue||R.startvalue)&&(xa=""+X.call(e.numberFormatter,xa)),R.origText=xa,xa=k.getSmartText(xa,g.canvasWidth,z.lineHeight,F),V=xa.height+2,0>P-V?R.displayvalue="":(R.displayvalue=
xa.text,I=I<xa.height?xa.height:I),xa.tooltext?R.valueToolText=xa.tooltext:delete R.valueToolText);G+=I;P=P-I+M;b+=M;!a.drawAxisName||0>=P||""===r?(n.isDraw=!1,n.value=""):(k.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight}),n.isDraw=!0,a=k.getSmartText(r,s,P),n.value=r,m.nameMaxW=s,m.nameMaxH=a.height,J=a.height+A,m.axisNamePadding=A+G,m.axisNamePadding+a.height>b&&(m.axisNamePadding=b-a.height,J=a.height+m.axisNamePadding-G));q?(aa?(H.bottom+=
w+I,H.top+=w):K?H.bottom+=w+I:(H.top+=w,H.bottom+=I),m.trendBottomPadding=H.bottom-I+2,E?H.bottom+=J:H.top+=J):(aa?(H.bottom+=w+I,H.top+=w):K?(H.top+=w,H.bottom+=I):H.bottom+=w+I,m.trendBottomPadding=H.bottom-I+2,E?H.top+=J:H.bottom+=J);return H},_getHMaxLabelDimention:function(b){function a(b,f){switch(f.toLowerCase()){case "left":return Math.abs(g._getCustomPixel(b));case "right":return Math.abs(e.width-g._getCustomPixel(b))}}var g=this,d=g.config,c=g.chart,e=c.config,k=c.components,m=c.linkedItems.smartLabel,
n=d.axisData,q=d.axisRange,t=n.labels,c=n.labelDisplay,K=n.slantLabel,E=t.style,aa=n.maxLabelHeight,F=q.tickInterval,s=n.staggerLines,v=n.labelStep,A=e.canvasLeft,z=e.canvasRight,h=s-2,r,B,D=q.max,G=q.min,v=0,q=n.categories&&n.categories.category,C=0,H,J,I,M={text:void 0,width:Number.NEGATIVE_INFINITY,style:void 0},T=Number.NEGATIVE_INFINITY,xa,P,R,Q,V=function(){},X=V,$=V,ya=V,Aa={},ma,Ka,ba,U,va,ka=0,sa=!1,fa=0,ea,ca=!1,Z,ga,na,Ba=Number.POSITIVE_INFINITY,da,za=Number.POSITIVE_INFINITY;if(n.hasCategory&&
(!q||0===q.length))return{width:0,height:0};n.hasCategory||(n.irregularCatAxis=!1);r=0===h?1:1===h?1.5:h;m.useEllipsesOnOverflow(e.useEllipsesWhenOverflow);m.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});if(n.irregularCatAxis){q.sort(function(b,a){return b.x-a.x});h=0;for(C=q.length;h<C;h++){H=q[h];if(void 0!==U){za=Math.min(za,H.x-U);ga=ra(g._getCustomPixel(G)-g._getCustomPixel(G+za));m.setStyle(H.style||{});Z=m.getOriSize("W");Z=Z.width;
if(ga<1.2*Z){H.label="";za=Ba;continue}na._individualIWR=ga;H._individualIWL=ga;Ba=za}na=H;U=H.x}za===Number.POSITIVE_INFINITY&&(za=Math.floor(Math.min(H.x,D-H.x)),za=Math.max(za,4));h=0;for(C=q.length;h<C;h++)H=q[h],h||(H._individualIWL=a(H.x,"left")),h===C-1&&(H._individualIWR=a(H.x,"right")),H.individualIW=Math.min(H._individualIWL,H._individualIWR);I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+za));I=Math.min(2*a(q[0].x,"left"),2*a(q[C-1].x,"right"),I)}else I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+
F));b=aa?aa:b;Aa.__root__={getHeight:function(){return I},getWidth:function(){return b},getCalculatedLabelStep:function(b){var a=0,f=b.length,h=Number.NEGATIVE_INFINITY,d,c=0;if(n.irregularCatAxis)return n.labelStep;for(;a<f;a++)if(d=b[a])d.label||(d.label=""),J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight},c++,d.style=d.style||{},p(J,d.style),J.lineHeight=w(J),m.setStyle(J),xa=m.getSmartText(d.label),h=Math.max(xa.height,h);b=Math.floor(ra(g._getCustomPixel(D)-
g._getCustomPixel(G))/h);if(c<=b)return n.labelStep;c=Math.max(Math.ceil(c/b),n.labelStep);I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+c));return c}};Aa._inProp={};Aa.getCopyById=function(b){var a=this.__root__,f=this._inProp.copyStore,g,f=f||{};if(g=f[b])return g;p(g=f[b]={},a);return g};if(n.hasCategory){switch(c){case "rotate":t.rotation=K?300:270;Q=Aa.getCopyById("rotate");break;case "stagger":Q=Aa.getCopyById("stagger");Q.getHeight=function(b){var a;a=(b=n.categories.category[b])&&b.style||
(b.style={});J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight};p(J,a);m.setStyle(J);return m.getOriSize(b.label).height};Q.getWidth=function(b){return b.individualIW?b.individualIW:2*I*r-4};ya=function(a){var f,g=a.length,h=0,d,c,e;m.setStyle(E);f=m.getOriSize("WWW").height;if(Math.floor(a[g-1]._cumulativeSum)<=Math.ceil(g*(f+2)))c=Math.floor(b/f),s=0>c-s?c:s;else{c=Math.floor(b/(f+4));do for(h=0,e=c,d=e-1,g=a.length;d<g;){g-d<c&&(d=g-1);f=a[d];h=f._cumulativeSum-
h;if(~~h>-~b){sa=!0;break}else sa=!1;h=f._cumulativeSum;d+=e}while(c--&&sa);c++;s=Math.min(s,c)}};X=function(b){var a,f,g,h,d=0;h=0;for(g=b.length;h<g;h++)a=b[h],a.stepSkipped||(f=a&&a.style||{},(f=f.lineHeight)||(f=E.lineHeight),(B=d++%s)?a.labelPadding=f.replace(/px/i,"")*B:a.labelPadding=0)};break;case "none":Q=Aa.getCopyById("none");Q.getHeight=V;$=Q.getWidth=V;n.rotateLabels&&(t.rotation=K?300:270,ea=b);Q.getCalculatedLabelStep=function(){return n.labelStep};break;default:Q=Aa.getCopyById("auto"),
Q.getHeight=function(){return b},Q.getWidth=function(b){return b.individualIW?b.individualIW:I-8},$=function(b,a){var f,g,h,d;if(!n.irregularCatAxis&&(m.setStyle(b),f=m.getOriSize("WWW"),f=f.width,f>=I)){t.rotation=K?300:270;t.forceRotate=!0;Q=Aa.getCopyById("rotate");P=Q.getWidth;R=Q.getHeight;f=M.width=0;for(g=a.length;f<g;f++)(h=a[f])&&(h.label||h.oriLabel)&&0!==l(h.showlabel,n.showLabels,1)&&(d=h._ovrStyle,m.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight}),
xa=m.getSmartText(h.oriLabel,P(h),R(f)),h.label=xa.text,h.labelTooltext=xa.tooltext,h._sLabel=xa,M.width<xa.width&&(M.text=xa.text,M.width=xa.width,M.style=d));ma=M.text}}}P=Q.getWidth;R=Q.getHeight;v=n.labels.step=n.labelStep=n._oriLabelStep;v=n.labels.step=n.labelStep=Q.getCalculatedLabelStep(q);h=0;for(C=q.length;h<C;h++)(H=q[h])&&(H.label||H.oriLabel)&&0!==l(H.showlabel,n.showLabels,1)&&(ca=!0,J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight},p(J,
H.style),J.lineHeight=w(J),m.setStyle(J),h%v&&(H.stepSkipped=!0,fa++),xa=m.getSmartText(H.oriLabel||H.label,P(H),R(h)),ka+=H._nLineHeight=xa.height+2,H._cumulativeSum=ka,H._ovrStyle=J,H.oriLabel=H.oriLabel||H.label,H.label=xa.text,H.labelTooltext=xa.tooltext,H._sLabel=xa,M.width<xa.oriTextWidth&&(p(M,xa),M.style=J),T<xa.height&&(T=xa.height));if(!ca)return{height:0,width:0};ya(q,fa);X(q,fa);$(M.style,q);ma=M.text||"";if("mixed"===n.xAxisLabelMode)for(H=d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis,
v=ma.length,h=G;h<=D;h+=F)U=n.hasBreakPoints?g._getRealBreakValue(h):h,U=""+H.call(k.numberFormatter,U,d.axisIndex),U.length>v&&(ma=U,v=U.length);M.height=Math.max(T,M.height||0);Ka=q.length;h=0;for(C=q.length;h<C&&(va=q[h],!va._sLabel);h++);C=q.length;for(h=C-1;0<=h&&(da=q[h],!da._sLabel);h--);ba=g._isZoomed();t.rotation||ba?(n.axisEndLabelDisplaySpace.left=0,n.axisEndLabelDisplaySpace.right=0):(n.axisEndLabelDisplaySpace.left=Math.max(A-(g._getCustomPixel(va.x||0)-va._sLabel.width/2),0),n.axisEndLabelDisplaySpace.right=
Math.max(g._getCustomPixel(da.x||Ka-1)+da._sLabel.width/2-z,0));va=M}else{H=n.numberFormatterFn?k.numberFormatter[n.numberFormatterFn]:d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis;for(h=G;h<=D;h+=F)U=n.hasBreakPoints?g._getRealBreakValue(h):h,U=""+H.call(k.numberFormatter,U,d.axisIndex),h===G&&(Ka=U),h===D&&(ba=U),U.length>v&&(ma=U,v=U.length);m.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});va=m.getOriSize(ma||"");"rotate"===
c&&(t.rotation=270);n.rotateLabels&&(t.rotation=K?300:270);t.rotation||(Ka=m.getOriSize(Ka||""),ba=m.getOriSize(ba||""),n.axisEndLabelDisplaySpace.left=Ka.width/2,n.axisEndLabelDisplaySpace.right=ba.width/2)}n.hasCategory&&"stagger"===c&&(va.height=s*M.height);va.width=ea?Math.min(ea,va.width):va.width;return va},_getVMaxLabelDimention:function(b){var a,g,c,e,k=this.config,m=this.chart,p=m.components,n=m.config,q=m.linkedItems.smartLabel,t=k.axisData,K=k.axisRange,E=t.labels.style,aa=K.tickInterval,
F=t.useEllipsesWhenOverflow;c=t.maxLabelWidthPercent;a=K.max;e=K.min;var K=0,s=m.jsonData.categories,m={height:0,width:0},v,A;q.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);q.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});if(t.hasCategory){s&&(v=s[0].font,A=s[0].fontsize);c&&(n=c/100*n.width,n<b&&(b=n));k=t.categories.category;n=0;for(p=k.length;n<p;n++)aa=k[n],0!==l(aa.showlabel,t.showLabels)&&(a=d(aa.font,aa.labelfont,v,E.fontFamily),
g=d(aa.fontsize,aa.labelfontsize,A,E.fontSize).replace(/px/i,"")+"px",c="normal"==E.fontWeight?l(aa.fontbold,aa.labelfontbold,0)?"bold":"normal":E.fontWeight,e="normal"==E.fontStyle?l(aa.fontitalic,aa.labelfontitalic,0)?"italic":"normal":E.fontStyle,a={fontFamily:d(a,v,E.fontFamily),fontSize:d(g,A,E.fontSize),fontWeight:d(c,E.fontWeight),fontStyle:d(e,E.fontStyle)},a.lineHeight=w(a),q.setStyle(a),a=q.getSmartText(aa.oriLabel||aa.label,b,E.lineHeight,F),aa.oriLabel=aa.oriLabel||aa.label,aa.label=a.text,
aa.labelTooltext=a.tooltext,a.width>K&&(m=a,K=a.width));return m}b=t.numberFormatterFn?p.numberFormatter[t.numberFormatterFn]:k.isPercent?p.numberFormatter.percentValue:p.numberFormatter.yAxis;for(n=e;n<=a;n+=aa)E=t.hasBreakPoints?this._getRealBreakValue(n):n,E=""+b.call(p.numberFormatter,E,k.axisIndex),E.length>K&&(g=E,K=E.length);return q.getOriSize(g)},getLogAxisLimits:function(b,a,g,d,c,e){var l=function(b){return null===b||void 0===b||""===b||isNaN(b)?!1:!0},k=0,m=[],p,n,K,E,q,t,s,v;b===a&&(a-=
a/100);l(g)&&Number(g)>=b?b=Number(g):(g=1<c?Da(wa(b)/wa(c)):ha(wa(b)/wa(c)),b=Ia(c,g),n=g);n||(n=1<c?Da(wa(b)/wa(c)):ha(wa(b)/wa(c)));l(d)&&Number(d)<=a?a=Number(d):(g=1<c?ha(wa(a)/wa(c)):Da(wa(a)/wa(c)),a=Ia(c,g),p=g);p||(p=1<c?ha(wa(a)/wa(c)):Da(wa(a)/wa(c)));d=Number(String(wa(c)/wa(10)));e=Number(e)||(ha(d)==d?8:4);1<c?(K=n,E=p):0<c&&1>c&&(K=p,E=n);d=n;for(p=K;p>=E;--p)if(K=Ia(c,d),a<=K&&b>=K&&(m[k++]={value:K,ismajor:!0}),p!=E){n=1<c?-1:1;K=Ia(c,d)-Ia(c,d+n);g=K/(e+1);for(l=1;l<=e;++l)K=Ia(c,
d+n)+g*l,a<=K&&b>=K&&(m[k++]={value:K,ismajor:!1});1<c?d--:d++}for(s in m)for(v in m[s])"value"==v&&(q||(q=m[s][v]==a&&(m[s].isextreme=m[s].isMin=!0)),t||(t=m[s][v]==b&&(m[s].isextreme=m[s].isMax=!0)));q||(m[k++]={value:a,ismajor:!0,isMin:!0,isextreme:!0});t||(m[k]={value:b,ismajor:!0,isMax:!0,isextreme:!0});return{Max:b,Min:a,divArr:m}},getCategoryLen:function(){return this.config.axisData.categories?this.config.axisData.categories.category.length:0},getCleanValue:function(b,a){var g=this.chart;
return(this.components.numberFormatter||g.components.numberFormatter).getCleanValue(b,a)},dataLabels:function(b){var a=this.chart;return(this.components.numberFormatter||a.components.numberFormatter).dataLabels(b,this.config.axisIndex)},setNumberFormatter:function(b){this.components.numberFormatter=b}}]);FusionCharts.register("component",["axis","log",{configure:function(){var b=this.config,a=b.axisData,b=b.rawAttr,g=this.chart.components,c=g.numberFormatter,g=g.colorManager;FusionCharts.register("component",
["axis","cartesian"]).prototype.configure.call(this);a.base=l(b.base,b.logBase,10);a.showMinorDivLineValues=l(b.showMinorDivLineValues,1);a.numMinorDivLines=l(b.numMinorDivLines);a.minorDivlinecolor=T(d(b.minorDivlinecolor,g.getColor("divLineColor")),l(b.minorDivLineAlpha,g.getColor("divLineAlpha")/2));a.axisMinValue=c.getCleanValue(b.axisMinValue);a.axisMaxValue=c.getCleanValue(b.axisMaxValue);0>=a.axisMinValue&&(a.axisMinValue=void 0);0>=a.axisMaxValue&&(a.axisMaxValue=void 0);a.minorDivLineThickness=
l(b.minorDivLineThickness,1)},setDataLimit:function(b,a){var g=this.config,d=g.axisData,g=g.axisRange,c=this.getLogAxisLimits,e=d.axisMaxValue,k=d.axisMinValue,d=c(l(b,e),l(a,k),e,k,d.base,d.numMinorDivLines);g.min=Number(Q(d.Min,10));g.max=Number(Q(d.Max,10));g.divArr=d.divArr||{}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,g=b.axisData,d=b.isVertical,c=b.axisRange,e=this.getLogAxisLimits,b=b.rawAttr,k,m;g.hasCategory||(d=d?a.scaleY:a.scaleX,a=l(b.axisrange?
b.axisrange.max:c.max),m=l(b.axisrange?b.axisrange.min:c.min),b=1===d?g.axisMaxValue:c.max,k=1===d?g.axisMinValue:c.min,l(1===d?g.adjustDiv:0),g=e(a,m,b,k,g.base,g.numMinorDivLines),c.min=Number(Q(g.Min,10)),c.max=Number(Q(g.Max,10)),c.divArr=g.divArr||{})},getPixel:function(b){var a=this.config,g=this.chart.config,d=a.axisRange,c=g.viewPortConfig,e=g.canvasHeight,l=g.canvasWidth,k=g.canvasTop,m=g.canvasLeft,p=g.canvasBottom,g=g.canvasRight,n=d.max,d=d.min,K=a.axisData.base,E=wa(n)/K,q=wa(d)/K;b=
wa(b)/K-q;c||(c={x:m,y:k,scaleX:1,scaleY:1});a.isVertical?(l=-e*c.scaleY/(E-q),a=a.isReverse?p-(b*l+(e*c.scaleY-c.y*c.scaleY)):k+(b*l+(e*c.scaleY-c.y*c.scaleY))):(l=l*c.scaleX/(wa(n-d)/K),a=a.isReverse?g-(b*l-c.x*c.scaleX):m+(b*l-c.x*c.scaleX));return a},_drawPlotLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.isVertical,c=this.chart,e=c.config,l=e.canvasLeft,k=e.canvasRight,m=e.canvasTop,e=e.canvasBottom,p=a.showCanvasBorder,n=g.max,K=g.min,E=a.axisPlotLineContainer,q=c.components.paper,
t=this.graphics.line||[],s=0,v=T(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,w=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,A):"none",h=T(a.zeroPlaneColor,a.zeroPlaneAlpha),F=a.zeroPlaneThickness,b=b.animateAxis,z,r,B,D,G,C,H,J,I,M;D={stroke:v,"stroke-width":A,"stroke-dasharray":w};w={stroke:a.minorDivlinecolor,"stroke-width":a.minorDivLineThickness,"stroke-dasharray":w};if(a.lines.isDraw){z=c.get("config","animationObj");I=z.animObj;M=z.dummyObj;c=z.transposeAnimDuration;z=z.animType;
this._getVisibleConfig();G=g.divArr;C=G.length;for(g=0;g<C;g++)if(H=G[g],J=H.value,r=this.getPixel(J),!p||J!==K&&J!==n)if(0!==a.showZeroPlaneValue||0!==a.showZeroPlane||0!==J)0===J&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(D.stroke=h,D["stroke-width"]=F),B=d?{path:"M"+l+" "+r+"L"+k+" "+r}:{path:"M"+r+" "+m+"L"+r+" "+e},t[s]?(r=t[s],c&&b?r.animateWith(M,I,B,c,z):r.attr(B),r.attr(H.ismajor?D:w)):(r=q.path(B,E),r.attr(H.ismajor?D:w),t[s]=r),0===J&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&
(D.stroke=v,D["stroke-width"]=A),s+=1;if(t[s])for(g=s;g<t.length;g++)t[g].attr({path:[]});this.graphics.line=t}else if(t[s])for(g=s;g<t.length;g++)t[g].attr({path:[]})},_drawLabel:function(){var b=this.config,a=b.axisData,g=this.chart,d=g.config,c=g.components,e=b.axisRange,l=b.isOpposit,k,m=a.labels,p=m.style,n=b.isVertical,K=e.max,E=e.min,q=d.canvasBottom,t=d.canvasLeft,s=d.canvasRight,d=d.canvasTop,v=a.axisContainer,A=a.labelPadding,w=c.paper,h=a.labelMaxH,F=a.labelMaxW,r=a.axisStartPosition,z=
this.graphics.labels||[],B=0,D=b.animateAxis,G,C,H,J,I,M,T,Q={fontFamily:p.fontFamily,fontSize:p.fontSize,fontWeight:p.fontWeight,fontStyle:p.fontStyle,lineHeight:p.lineHeight},P,R,V={},X,ya,$,ma;p.lineHeight&&(M=p.lineHeight,-1!==M.indexOf("px")&&(M=M.replace("px",""),M=parseFloat(M)));if(a.labels.isDraw){G=g.get("config","animationObj");X=G.animObj;ya=G.dummyObj;$=G.animType;G=G.transposeAnimDuration;ra(this.getPixel(E)-this.getPixel(E+e.tickInterval));ma=this._isZoomed();a.labels.step?k=e.tickInterval*
a.labels.step:k=e.tickInterval;I=a.labels.rotation;J=this._getVisibleConfig();p={fill:p.color,"line-height":M,"font-size":p.fontSize};M=e.divArr;R=M.length;for(e=0;e<R;e++)if(C=M[e],H=C.value,P=this.getPixel(H),!(!C.ismajor&&!a.showMinorDivLineValues||T&&P>T-a.labelMaxH&&P<T+a.labelMaxH||ma&&(H<J.minValue||H>J.maxValue)||!a.labels.drawNormalVal&&(!a.labels.drawLimitVal||H!==E&&H!==K)||!a.labels.drawNormalVal&&H!==E&&H!==K||!(a.labels.drawLimitVal||H!==E&&H!==K)||0===a.showZeroPlaneValue&&0===a.showZeroPlane&&
0===H)){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>H&&0<H+k||0<H&&0>H-k))if(n){if(P+h>=this.getPixel(0)&&this.getPixel(0)>=P-h)continue}else if(P+F>=this.getPixel(0)&&this.getPixel(0)>=P-F)continue;n?(T=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.yAxis,H=""+T.call(c.numberFormatter,H),T=a.hasCategory?a.categories.category[e].labelPadding||0:0,this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
Q),v.attr({"class":"Fusioncharts-axis-labels-yAxis"})),H={"text-anchor":l?"start":"end",text:H},P={x:l?(r||s)+A:(r||t)-A,y:T?P+T:P},T=P.y):(T=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis,H=""+T.call(c.numberFormatter,H),T=a.hasCategory?Number(a.categories.category[e].labelPadding)||0:0,this.graphics.labels||(v.attr({"class":"Fusioncharts-axis-labels-xAxis"}),g._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",Q)),H=
{text:H},P={x:P,y:l?(r||d)-A:(r||q)+A},T&&(H.y+=T),I?(p["text-anchor"]=l?"start":"end",p["vertical-align"]="center",V.transform="r "+I):p["vertical-align"]=l?"bottom":"top",T=P.x);m.shiftX&&(P.x+=m.shiftX);m.shiftY&&(P.y+=m.shiftY);P.transform=w.getSuggestiveRotation(I,P.x,P.y);z[B]?(C=z[B],I&&C.attr({"text-anchor":"middle","vertical-align":"center"}),C.attr(H),G&&D?C.animateWith(ya,X,P,G,$):(C.attr(P),C.attr(p))):(z[B]=C=w.text(H,v),C.attr(P),C.attr(V),C.attr(p));C.css(Q);B+=1}if(z[B])for(e=B;e<
z.length;e++)z[e].attr({text:""});this.graphics.labels=z}else if(z[B])for(e=B;e<z.length;e++)z[e].attr({text:""})},_drawPlotBand:function(){},_getVMaxLabelDimention:function(){var b=this.config,a=this.chart,g=a.components,d=a.linkedItems.smartLabel,c=b.axisData.labels.style,e=0,l=b.axisRange.divArr,k=l.length,m;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:c.fontSize,fontFamily:c.fontFamily,lineHeight:c.lineHeight,fontWeight:c.fontWeight});a=b.isPercent?g.numberFormatter.percentValue:
g.numberFormatter.xAxis;for(b=0;b<k;b++)c=l[b],c=""+a.call(g.numberFormatter,c.value),c.length>e&&(m=c,e=c.length);return d.getOriSize(m)},_getHMaxLabelDimention:function(){var b=this.config,a=this.chart,g=a.components,d=a.linkedItems.smartLabel,c=b.axisData.labels.style,e=0,l=b.axisRange.divArr,k=l.length,m;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:c.fontSize,fontFamily:c.fontFamily,lineHeight:c.lineHeight,fontWeight:c.fontWeight});a=b.isPercent?g.numberFormatter.percentValue:
g.numberFormatter.xAxis;for(b=0;b<k;b++)c=l[b],c=""+a.call(g.numberFormatter,c.value),c.length>e&&(m=c,e=c.length);return d.getOriSize(m)},getCleanValue:function(b){var a=null,g=this.chart.components.numberFormatter;b=ra(b);0<b&&(a=g.getCleanValue(b));return a}},"cartesian"]);FusionCharts.register("component",["axis","polarcartesan",{_drawComponents:function(){var b=this.config;b.drawLabels&&this._drawLabel();b.drawPlotlines&&this._drawPlotLine()},_drawPlotLine:function(){var b=this.config,a=b.axisData,
g=b.axisRange,d=g.tickInterval,c=b.isVertical,e=this.chart,k=e.config,m=k.canvasLeft,p=k.canvasRight,n=k.canvasTop,q=k.canvasBottom,K=g.max,g=g.min,E=e.jsonData.chart,k=a.axisPlotLineContainer,t=e.components.paper,w=this.graphics.line||[],s=this.graphics.axisLine||[],v=e.graphics,A=0,F=T(a.divLineColor,a.divLineAlpha),h=a.divLineThickness,z=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,h):"none",r=T(a.zeroPlaneColor,a.zeroPlaneAlpha),B=a.zeroPlaneThickness,D=b.animateAxis,C,G,H,z={stroke:F,
"stroke-width":h,"stroke-dasharray":z};C=e.get("config","animationObj");G=C.animObj;H=C.dummyObj;e=C.transposeAnimDuration;C=C.animType;E=l(E.xaxislinethickness,E.axislinethickness,1);a.showAxisLine?(c=c?["M",m-a.axisLineThickness/2,q,"L",m-a.axisLineThickness/2,n]:["M",m-E,q+a.axisLineThickness/2,"L",p,q+a.axisLineThickness/2],s[0]?(m=s[0],e&&D?(m.animate({path:c},e),m.attr({stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):m.attr({path:c,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):
(m=t.path({path:c,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},v.axisLineGroup),s[0]=m)):s[0]&&(m=s[0],m.attr({path:"M0,0"}));this.graphics.axisLine=s;if(a.lines.isDraw){c=this._getVisibleConfig();A=g+d*ha((c.minValue-3*d-g)/d);c=g+d*ha((c.maxValue+3*d-g)/d);A=A<g?g:A;c=c>K?K:c;p=K=A;for(A=0;K<c;){if(K!==g&&(0!==a.showZeroPlane||0!==K)){0===K&&1===a.showZeroPlane&&(z.stroke=r,z["stroke-width"]=B);m={path:["M"]};n=b.polarAxis;s=n.config.axisData.categories.category;q=s.length;for(s=0;s<
q;s++)v=n.getPixel(s,n.config.centerY-this.getPixel(K)),m.path.push(v.x,v.y,"L");m.path.pop();m.path.push("Z");w[A]?(n=w[A],e&&D?n.animateWith(H,G,m,e,C):n.attr(m),n.attr(z)):(n=t.path(m,k),n.attr(z),w[A]=n);0===K&&1===a.showZeroPlane&&(z.stroke=F,z["stroke-width"]=h);A+=1}a.showZeroPlane&&0>K&&0<K+d?(K=0,p+=d):K<p?K=p:(K+=d,p+=d)}if(w[A])for(K=A;K<w.length;K++)w[K].attr({path:[]});this.graphics.line=w}else if(w[A])for(K=A;K<w.length;K++)w[K].attr({path:[]})}},"cartesian"]);FusionCharts.register("component",
["axis","gauge",{configure:function(){var a=this.config,f=a.axisData,a=a.rawAttr,g=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);f.majorTMColor=T(d(a.majorTMColor,g.getColor("tickColor")),l(a.majorTMAlpha,100));f.majorTMNumber=l(a.majorTMNumber,5);f.majorTMHeight=l(a.majorTMHeight,6);f.tickValueStep=l(a.tickValueStep,1);f.tickValueStep=Ca(f.tickValueStep);0>=f.tickValueStep&&(f.tickValueStep=1);f.showTickMarks=l(a.showTickMarks,
1);f.connectTickMarks=f.showTickMarks?l(a.connectTickMarks,1):0;f.showTickValues=l(a.showTickValues,f.showTickMarks);f.majorTMThickness=l(a.majorTMThickness,1);f.upperlimit=a.upperlimit;f.lowerlimit=a.lowerlimit;f.reverseScale=1==l(a.reverseScale,0);f.adjustTM=Boolean(l(a.adjustTM,1));f.minorTMNumber=l(a.minorTMNumber,4);f.minorTMColor=T(d(a.minorTMColor,f.majorTMColor),l(a.minorTMAlpha,f.majorTMAlpha,100));f.minorTMHeight=f.showTickMarks?l(a.minorTMHeight,Ca(f.majorTMHeight/2)):0;f.minorTMThickness=
l(a.minorTMThickness,1);f.tickMarkDistance=l(a.tickMarkDistance,3);f.tickValueDistance=l(a.tickValueDistance,0)+2;f.placeTicksInside=l(a.placeTicksInside,0);f.placeValuesInside=l(a.placeValuesInside,0);f.upperLimitDisplay=D(a.upperLimitDisplay)||"";f.lowerLimitDisplay=D(a.lowerLimitDisplay)||"";f.drawTickMarkConnector=a.drawTickMarkConnector||0},setDataLimit:function(a,f){var g=this.config,d=g.axisData,g=g.axisRange,c=this.getGaugeAxisLimit,e=d.upperlimit,k=d.lowerlimit,m=d.majorTMNumber,p=d.adjustTM,
n,d=n=!d.setAdaptiveMin,c=c.call(this,l(a,e),l(f,k),e,k,n,d,m,p);g.min=Number(Q(c.min,10));g.max=Number(Q(c.max,10));g.tickInterval=c.majorTickInt||1;g.numMajorTM=c.numMajorTM},_setTickIntervalAfterZoom:function(){},_drawComponents:function(){var a=this.config;a.drawTick&&this._drawTick();a.drawLabels&&this._drawLabel();a.drawTrendLines&&this._drawTrendLine()},_drawTick:function(){var a=this.config,f=a.axisData,g=a.axisRange,d=g.tickInterval,c=a.isVertical,e=a.isOpposit,l=a.drawTick,k=a.drawTickMinor,
m=a.canvas,p=this.chart,n=p.config,K=m.canvasBottom||n.canvasBottom,E=m.canvasLeft||n.canvasLeft,q=m.canvasRight||n.canvasRight,t=m.canvasTop||n.canvasTop,m=g.max,n=g.min,s=p.components.paper,v=this.graphics.tick||[],A=f.minorTMNumber,g=g.numMajorTM||f.majorTMNumber,w=f.axisAxisLineContainer,h=0,a=a.animateAxis,F,z,r,B,D,C,G;r={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};z={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&
l){F=p.get("config","animationObj");p=F.animObj;G=F.dummyObj;l=F.transposeAnimDuration;F=F.animType;c?e?f.placeTicksInside?(e=q-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):(e=q+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):f.placeTicksInside?(e=E+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):(e=E-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):e?f.placeTicksInside?(e=t+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):(e=t-f.tickMarkDistance,
K=e-f.majorTMHeight,E=e-f.minorTMHeight):f.placeTicksInside?(e=K-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):(e=K+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight);q=f.drawTickMarkConnector?c?["M",e,this.getPixel(n),"L",e,this.getPixel(m)]:["M",this.getPixel(n),e,"L",this.getPixel(m),e]:[];v[h]?(f=v[h],l&&a?f.animateWith(G,p,{path:q},l,F):f.attr({path:q}),f.attr(r)):(f=s.path(r,w),f.attr({path:q}),v[h]=f);h+=1;for(q=0;q<g;q+=1)if(t=q<g-1?Q(Number(n+d*q),10):m,B=c?{path:"M"+
e+" "+this.getPixel(t)+"L"+K+" "+this.getPixel(t)}:{path:"M"+this.getPixel(t)+" "+e+"L"+this.getPixel(t)+" "+K},v[h]?(f=v[h],l&&a?f.animateWith(G,p,B,l,F):f.attr(B),f.attr(r)):(f=s.path(r,w),f.attr(B),v[h]=f),h+=1,t!==m&&k)for(D=d/(A+1),C=1;C<=A;C+=1)B=c?{path:"M"+e+" "+this.getPixel(t+D*C)+"L"+E+" "+this.getPixel(t+D*C)}:{path:"M"+this.getPixel(t+D*C)+" "+e+"L"+this.getPixel(t+D*C)+" "+E},v[h]?(f=v[h],l&&a?f.animateWith(G,p,B,l,F):f.attr(B),f.attr(z)):(f=s.path(z,w),v[h]=f,f.attr(B)),h+=1;if(v[h])for(q=
h;q<v.length;q++)v[q].attr({path:[]});this.graphics.tick=v}else if(v[h])for(q=h;q<v.length;q++)v[q].attr({path:[]})},_drawLabel:function(){var a=this.config,f=a.axisData,g=a.canvas,d=f.axisDimention||{},c=this.chart,e=c.config,l=c.components,k=c.linkedItems.smartLabel,m=a.axisRange,p=a.isOpposit,n=a.isReverse,K=m.numMajorTM||f.majorTMNumber,E=f.labels,q=E.style,t=a.isVertical,s=m.max,v=m.min,A=g.canvasTop||e.canvasTop,w=g.canvasLeft||e.canvasLeft,h=g.canvasBottom||e.canvasBottom,g=g.canvasRight||
e.canvasRight,F=f.axisLabelContainerTop,z=f.labelPadding,r=l.paper,B=f.labelMaxH,D=f.labelMaxW,d=t?d.x:d.y,C=this.graphics.labels||[],G=0,a=a.animateAxis,H,J,I,M,T,P,R,V={fontFamily:q.fontFamily,fontSize:q.fontSize,fontWeight:q.fontWeight,fontStyle:q.fontStyle,lineHeight:q.lineHeight},X,$,ya,Aa,ma;q.lineHeight&&(T=q.lineHeight,-1!==T.indexOf("px")&&(T=T.replace("px",""),T=parseFloat(T)));if(f.labels.isDraw){H=c.get("config","animationObj");$=H.animObj;ya=H.dummyObj;J=H.transposeAnimDuration;H=H.animType;
R=ra(this.getPixel(v)-this.getPixel(v+m.tickInterval));t?(f.labelMaxH>R&&!f.hasCategory&&(P=Da(f.labelMaxH/R)),P>f.labels.step&&(f.labels.step=P)):(f.labelMaxW>R&&!f.hasCategory&&(P=Da(f.labelMaxW/R)),P>f.labels.step&&(f.labels.step=P),Aa=w,ma=e.width-g);P=(t?D:R/2)*f.labels.step;B=t?R/2:B;m=m.tickInterval;R=f.labels.step?f.labels.step:1;D={fill:q.color,"line-height":T,"font-size":q.fontSize};k.useEllipsesOnOverflow(e.useEllipsesWhenOverflow);k.setStyle({fontSize:q.fontSize,fontFamily:q.fontFamily,
lineHeight:q.lineHeight,fontWeight:q.fontWeight});for(e=0;e<K;e+=R)if(I=e<K-R?Q(Number(v+m*e),10):s,f.labels.drawNormalVal||f.labels.drawLimitVal&&(I===v||I===s))if(f.labels.drawNormalVal||I===v||I===s)if(f.labels.drawLimitVal||I!==v&&I!==s)q=l.numberFormatter.scale,I===v&&f.lowerLimitDisplay?(q=k.getSmartText(f.lowerLimitDisplay,P,B+T/2),M=q.text):I===s&&f.upperLimitDisplay?(q=k.getSmartText(f.upperLimitDisplay,P,B+T/2),M=q.text):(M=q.call(l.numberFormatter,I),q=k.getOriSize(""+M)),t?(this.graphics.labels||
(c._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",V),F.attr({"class":"Fusioncharts-axis-labels-yAxis"})),M={"text-anchor":p?"start":"end",text:M},X={x:p?(d||g)+z:(d||w)-z,y:this.getPixel(I)},(!n&&I===v&&f.lowerLimitDisplay||n&&I===s&&f.upperLimitDisplay)&&q.height>T&&(M["vertical-align"]="bottom"),(!n&&I===s&&f.upperLimitDisplay||n&&I===v&&f.lowerLimitDisplay)&&q.height>T&&(M["vertical-align"]="top"),f.placeValuesInside&&(M["text-anchor"]=p?"end":"start")):(this.graphics.labels||(F.attr({"class":"Fusioncharts-axis-labels-xAxis"}),
c._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",V)),M={text:M,"text-anchor":"middle"},X={x:this.getPixel(I),y:p?(d||A)-z:(d||h)+z},(!n&&I===v||n&&I===s)&&q.width>2*Aa&&(M["text-anchor"]="start"),(!n&&I===s||n&&I===v)&&q.width>2*ma&&(M["text-anchor"]="end"),M["vertical-align"]=f.placeValuesInside?p?"top":"bottom":p?"bottom":"top"),E.shiftX&&(M.x+=E.shiftX),E.shiftY&&(M.y+=E.shiftY),C[G]?(I=C[G],I.attr(M),J&&a?I.animateWith(ya,$,X,J,H):I.attr(X)):(C[G]=I=r.text(M,F),I.attr(X)),I.attr(D),I.css(V),
q&&q.tooltext?(I.tooltip(q.tooltext),I.trackTooltip(!0)):I.trackTooltip(!1),G+=1;if(C[G])for(e=G;e<C.length;e++)C[e].attr({text:""});this.graphics.labels=C}else if(C[G])for(e=G;e<C.length;e++)C[e].attr({text:""})},placeAxis:function(a){var f=this.chart,g=f.components,d=f.linkedItems.smartLabel,c=this.config,e=c.axisRange,l=c.axisData,k=c.isVertical,m=c.isOpposit,p=l.labels.style,n=e.tickInterval,K=e.max,E=e.min,q=0,t=0,e="",s;s={left:0,right:0,top:0,bottom:0};if(0>=a)return s;l.labels.isDraw=!0;l.labels.drawNormalVal=
l.showTickValues;l.labels.drawLimitVal=l.showLimits;l.lines.isDraw=!0;l.labels.step=l.tickValueStep;l.labelPadding=0;d.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);d.setStyle({fontSize:p.fontSize,fontFamily:p.fontFamily,lineHeight:p.lineHeight,fontWeight:p.fontWeight});c.drawTick&&l.showTickMarks&&l.lines.isDraw?(a-=l.tickMarkDistance,t=na(l.minorTMHeight,l.majorTMHeight),l.placeTicksInside?(a+=l.tickMarkDistance,l.placeValuesInside&&(l.labelPadding=l.tickMarkDistance+t)):t>a?l.lines.isDraw=
!1:(k?m?s.right+=t+l.tickMarkDistance:s.left+=t+l.tickMarkDistance:m?s.top+=t+l.tickMarkDistance:s.bottom+=t+l.tickMarkDistance,a-=t,l.placeValuesInside||(l.labelPadding=l.tickMarkDistance+t))):l.lines.isDraw=!1;a-=l.tickValueDistance;if(c.drawLabels&&(l.showTickValues||l.showLimits)){c=ra(this._getCustomPixel(E)-this._getCustomPixel(E+n))/2;l.labelPadding+=l.tickValueDistance;a-=l.tickValueDistance;p=g.numberFormatter.scale;for(f=E+n;f<K;f+=n)t=""+p.call(g.numberFormatter,f),t.length>q&&(e=t,q=t.length);
q=d.getOriSize(e);k?q.width>a&&(l.labels.isDraw=!1):q.height>a&&(l.labels.isDraw=!1);l.showLimits?(f=l.upperLimitDisplay||""+p.call(g.numberFormatter,K),g=l.lowerLimitDisplay||""+p.call(g.numberFormatter,E),p=d.getOriSize(f),p.width>q.width&&(e=f,q=d.getOriSize(e)),f=d.getOriSize(g),f.width>q.width&&(e=g)):l.labels.drawLimitVal=!1;g=k?a:c;p=k?c:a;if(k)d.getSmartText(e,g,p);else for(f=E;f<=K;f+=n)if(E=d.getSmartText(e,g,p),""===E.text)g+=c;else break;E=d.getSmartText(e,g,p);l.labelMaxW=na(E.width,
q.width);l.labelMaxH=na(E.height,q.height);!l.placeValuesInside&&l.labels.isDraw?k?(l.labelMaxW=Fa(l.labelMaxW,a),m?s.right+=l.labelMaxW+l.tickValueDistance:s.left+=l.labelMaxW+l.tickValueDistance):(l.labelMaxH=Fa(l.labelMaxH,a),m?s.top+=l.labelMaxH+l.tickValueDistance:s.bottom+=l.labelMaxH+l.tickValueDistance):l.labelPadding=-l.labelPadding}else l.labels.isDraw=!1;return l.spaceTaken=s},getGaugeAxisLimit:function(a,f,g,d,c,e,l,k){var m=!0,p=!0,n=Number(g),K=Number(d),E,q;l={max:0,min:0,MajorTickInterval:1,
numMajorTM:l};if(g&&d)n>a&&(a=n),K<f&&(f=K);else if(isNaN(a)&&(a=.9,p=!1),isNaN(f)&&(f=0,m=!1),a===f&&0===a&&(isNaN(n)||(a=n),isNaN(n)||0===n))a=.9;E=Math.floor(Math.log(Math.abs(a))/Math.LN10);q=Math.floor(Math.log(Math.abs(f))/Math.LN10);q=Math.max(q,E);E=Ia(10,q);2>Math.abs(a)/E&&2>Math.abs(f)/E&&(q--,E=Ia(10,q));q=Math.floor(Math.log(a-f)/Math.LN10);q=Ia(10,q);0<a-f&&10<=E/q&&(E=q);q=(Math.floor(a/E)+1)*E;0>f?e=-1*(Math.floor(Math.abs(f/E))+1)*E:e?e=0:(e=Math.floor(Math.abs(f/E)-1)*E,e=0>e?0:
e);c&&0>=a&&(q=0);l.max=!g||g&&n<a&&p?q:n;l.min=!d||d&&K>f&&m?e:K;l.min>l.max?l.min==K&&l.max==n?(a=l.min,l.min=l.max,l.max=a):l.min==K?l.max=l.min+1:l.max==n&&(l.min=l.max-1):l.min==l.max&&(l.max=l.min+1);l.range=Math.abs(l.max-l.min);l.MajorTickInterval=E;this.calcTickInterval(l,g,k);return l},calcTickInterval:function(a,f,g){var d=0;-1!=a.numMajorTM&&2>a.numMajorTM&&(a.numMajorTM=2);f||f||-1===a.numMajorTM?(a.numMajorTM=-1==a.numMajorTM?5:a.numMajorTM,!0===g&&(f=function(a,b){for(var f=0,g=1,d;;){d=
a.numMajorTM+f*g;d=0===d?1:d;if(b.isRangeDivisible(a.range,d,a.MajorTickInterval))break;f=-1==g||f>a.numMajorTM?++f:f;if(25<f){d=a.numMajorTM;break}g=f<=a.numMajorTM?-1*g:1}a.numMajorTM=1<d?d:a.numMajorTM},g=a.numMajorTM,f(a,this),2===a.numMajorTM&&(a.numMajorTM=g,a.range+=1,f(a,this),d=1))):(a.numMajorTM=-1==a.numMajorTM?5:a.numMajorTM,f=this.getDivisibleRange(a.min,a.max,a.numMajorTM,a.MajorTickInterval,!0),g=f-a.range,a.range=f,0<a.max?a.max+=g:a.min-=g);a.majorTickInt=(a.max-a.min+d)/(a.numMajorTM-
1)},isRangeDivisible:function(a,f,g){a/=f-1;f=new m.MathExt;return f.numDecimals(a)>f.numDecimals(g)?!1:!0},getDivisibleRange:function(a,f,g,d,c){if(3>g)return this.range;a=Math.abs(f-a);f=a/(g-1);this.isRangeDivisible(a,g,d)||(c&&Number(f)/Number(d)<(1<d?2:.5)&&(d/=10),f=(Math.floor(f/d)+1)*d,a=f*(g-1));return a}},"cartesian"]);FusionCharts.register("component",["axis","polarGauge",{configure:function(){var a=this.config,f=a.axisData,g=a.rawAttr;FusionCharts.register("component",["axis","gauge"]).prototype.configure.call(this);
a.trendPoints=g.trendPoints;f.ticksBelowGauge=g.ticksBelowGauge;f.ticksBelowGraph=g.ticksBelowGraph;f.trendValueDistance=g.trendValueDistance;f.upperLimitDisplay=g.upperLimitDisplay||"";f.lowerLimitDisplay=g.lowerLimitDisplay||"";f.polarPadding=4},_drawComponents:function(){var a=this.config;a.drawTick&&this._drawTick();a.drawLabels&&this._drawLabel();a.drawTrendLines&&this._drawTrendLine()},getAxisPosition:function(a,f){return this.getPixel(a,f)},getPixel:function(a,f){var g=this.config,d=g.axisRange,
c=d.min,e=d.max-c,k=g.startAngle||qa/2,m=g.totalAngle||qa/2,p=g.centerX||0,d=g.centerY||0;f=l(f,g.radius,0);g=k+m/e*(a-c);c=p+f*oa(g);d+=f*la(g);return{x:c,y:d,angle:g}},getAngle:function(a){var f=this.config,g=f.axisRange,d=g.min;return(f.startAngle||qa/2)+(f.totalAngle||qa/2)/(g.max-d)*(a-d)},placeAxis:function(a){var f=this.config,g=this.chart,d=g.components,c=g.linkedItems.smartLabel,e=f.axisData,l=f.axisRange,k=e.labels.style,m=l.tickInterval,p=e.upperLimitDisplay,n=e.lowerLimitDisplay,K=l.max,
E=l.min,l=0,q,t;t={left:0,right:0,top:0,bottom:0};c.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);c.setStyle({fontSize:k.fontSize,fontFamily:k.fontFamily,lineHeight:k.lineHeight,fontWeight:k.fontWeight});e.labels.isDraw=1;e.labels.drawNormalVal=1;e.labels.drawLimitVal=1;e.lines.isDraw=1;e.labels.step=e.tickValueStep;e.labelPadding=0;if(f.drawLabels&&e.showTickValues&&0<a){ra(this.getPixel(E)-this.getPixel(E+m));e.labelPadding+=e.tickValueDistance;f=d.numberFormatter.scale;for(g=E;g<=K;g+=
m)k=""+f.call(d.numberFormatter,g),k.length>l&&(q=k,l=k.length);d=c.getOriSize(q);if(d.width>a/2)return e.labels.isDraw=!1,t;e.showLimits?(p.length>l&&(q=p,l=p.length),n.length>l&&(q=n)):e.labels.drawLimitVal=!1;d=c.getOriSize(q);e.labelMaxW=d.width;e.labelMaxW>a/2&&(e.labelMaxW=a/2);e.labelMaxH=d.height;e.placeValuesInside?e.labelPadding=-e.labelPadding:(t.right+=e.labelMaxW+e.tickValueDistance,t.left+=e.labelMaxW+e.tickValueDistance,t.top+=e.labelMaxH+e.tickValueDistance,t.bottom+=e.labelMaxH+e.tickValueDistance)}else e.labels.isDraw=
!1;return t},_drawLabel:function(){var a=this.config,f=a.axisData,g=this.chart,d=g.components,c=a.axisRange,e=g.linkedItems.smartLabel,k,m=f.labels.style,p=f.labelPadding||0,n=a.radius,q=l(a.gaugeOuterRadius,n),n=l(a.gaugeInnerRadius,n),K=a.centerX,E=a.centerY,t=f.placeValuesInside,w=f.labelMaxH,s=f.labelMaxW,v=c.max,A=c.min,F=f.axisLabelContainerTop,h=d.paper,z=this.graphics.labels||[],r=0,a=a.animateAxis,B,D,C,G,H={fontFamily:m.fontFamily,fontSize:m.fontSize,fontWeight:m.fontWeight,fontStyle:m.fontStyle,
lineHeight:m.lineHeight},J,I,M,T;m.lineHeight&&(G=m.lineHeight,-1!==G.indexOf("px")&&(G=G.replace("px",""),G=parseFloat(G)));e.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);e.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight});if(f.labels.isDraw){r=g.get("config","animationObj");I=r.animObj;M=r.dummyObj;B=r.transposeAnimDuration;T=r.animType;G={fill:m.color,"line-height":G,"font-size":m.fontSize};f.labels.step?k=c.tickInterval*f.labels.step:
k=c.tickInterval;c=A;for(r=0;c<=v;c+=k)if(f.labels.drawNormalVal||f.labels.drawLimitVal&&(c===A||c===v))if(f.labels.drawNormalVal||c===A||c===v)if(f.labels.drawLimitVal||c!==A&&c!==v)if(0!==f.showZeroPlaneValue||0!==f.showZeroPlane||0!==c)D=d.numberFormatter.scale,c===A&&f.lowerLimitDisplay?(D=e.getSmartText(f.lowerLimitDisplay,s,w),D=D.text):c===v&&f.upperLimitDisplay?(D=e.getSmartText(f.upperLimitDisplay,s,w),D=D.text):D=D.call(d.numberFormatter,c),this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
H),F.attr({"class":"Fusioncharts-axis-labels-yAxis"})),C=t?this.getPixel(c,n+p-f.polarPadding):this.getPixel(c,q+p+f.polarPadding),D={text:D},J={x:C.x,y:C.y},C.x>K-10&&C.x<K+10&&C.y<E?(D["text-anchor"]="middle",D["text-valign"]=t?"top":"bottom"):C.x>K-10&&C.x<K+10&&C.y<E?(D["text-anchor"]="middle",D["text-valign"]=t?"bottom":"top"):(D["text-anchor"]=C.x<K?t?"start":"end":t?"end":"start",D["text-valign"]="center"),z[r]?(C=z[r],C.attr(D),B&&a?C.animateWith(M,I,J,B,T):C.attr(J)):(z[r]=C=h.text(D,F),
C.attr(J)),C.attr(G),C.css(m),r+=1,c<v&&c+k>v&&c&&(c=v-k);if(z[r])for(c=r;c<z.length;c++)z[c].attr({text:""});this.graphics.labels=z}else if(z[r])for(c=r;c<z.length;c++)z[c].attr({text:""})},_drawTick:function(){var a=this.config,f=a.axisData,g=a.axisRange,d=g.tickInterval,c=a.drawTick,e=a.drawTickMinor,k=this.chart,m=k.components,p=g.max,n=g.min,q=a.radius,g=l(a.gaugeOuterRadius,q),q=l(a.gaugeInnerRadius,q),m=m.paper,K=this.graphics.tick||[],E=f.minorTMNumber,t=0,a=a.animateAxis,w,s,v,A,F,h,z,r,
B,D;r=f.axisAxisLineContainer;A={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};v={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&c){t=k.get("config","animationObj");k=t.animObj;B=t.dummyObj;c=t.transposeAnimDuration;D=t.animType;s=this._getVisibleConfig();t=n+d*U.floor((s.minValue-3*d-n)/d);s=n+d*U.floor((s.maxValue+3*d-n)/d);s=s>p?p:s;n=t<n?n:t;for(t=0;n<=s;n+=d)if(f.placeTicksInside?(w=this.getPixel(n,q),h=
this.getPixel(n,q+f.majorTMHeight)):(w=this.getPixel(n,g),h=this.getPixel(n,g-f.majorTMHeight)),h={path:"M"+w.x+" "+w.y+"L"+h.x+" "+h.y},K[t]?(w=K[t],w.attr(A),c&&a?w.animateWith(B,k,h,c,D):w.attr(h)):(w=m.path(A,r),w.attr(h),K[t]=w),t+=1,n<p&&n+d>p&&n&&(n=p-d),n<p&&e)for(h=d/(E+1),z=1;z<=E;z+=1)F=n+h*z,f.placeTicksInside?(w=this.getPixel(F,q),F=this.getPixel(F,q+f.minorTMHeight)):(w=this.getPixel(F,g),F=this.getPixel(F,g-f.minorTMHeight)),F={path:"M"+w.x+" "+w.y+"L"+F.x+" "+F.y},K[t]?(w=K[t],w.attr(v),
c&&a?w.animateWith(B,k,F,c,D):w.attr(F)):(w=m.path(v,r),w.attr(F),K[t]=w),t+=1;if(K[t])for(n=t;n<K.length;n++)K[n].attr({path:[]});this.graphics.tick=K}else if(K[t])for(n=t;n<K.length;n++)K[n].attr({path:[]})},_drawPlotBand:function(){},_drawPlotLine:function(){},_drawTrendLine:function(){var a,f,g,c,e,k,m,p,n,q,t,K,E,w,F,s,v,A,z=this.config,h=z.axisData,r=z.axisRange,B=r.max,r=r.min,C=this.chart;K=C.config;var G=C.linkedItems.smartLabel,H=C.components,J=H.colorManager,I=z.scaleFactor,M=z.centerX||
0,P=z.centerY||0,Q=z.canvas.canvasWidth||K.canvasWidth,R=h.trend.trendStyle,V=h.axisTrendContainerTop,X=h.axisTrendContainerBottom,$=h.axisTrendLabelContainer,ba=H.paper,fa=this.components.trendObj||[],Ab={fontFamily:R.fontFamily,fontSize:R.fontSize,lineHeight:R.lineHeight,fontWeight:R.fontWeight,fontStyle:R.fontStyle},ya=z.trendPoints,Aa=U.PI/180,ma={},Ka=z.animateAxis,ea,ca,va=0,ka;c={};p={};g={};e={};var sa={};E={};var Z,Va,na,la,ra,oa,Ba,eb,za,ha;this.components.trendObj||C._addCSSDefinition(".Fusioncharts-axis-trendlines-label",
Ab);if(ya){ea=C.get("config","animationObj");za=ea.animObj;ha=ea.dummyObj;C=ea.transposeAnimDuration;ea=ea.animType;G.useEllipsesOnOverflow(K.useEllipsesWhenOverflow);G.setStyle(Ab);va=ca=0;for(Ab=ya.point.length;ca<Ab;ca+=1)Z=ya.point[ca],Va=l(Z.startvalue,Z.value),na=l(Z.endvalue,Va),ka=Va!==na,Va<=B&&Va>=r&&na<=B&&na>=r&&(a=Va,f=na,ga(D(Z.markertooltext)),g=ga(D(Z.displayvalue),ka?"":H.numberFormatter.scale(Va)),l(Z.showontop,h.ticksBelowGauge,h.ticksBelowGraph,1),c=d(Z.color,J.getColor("trendLightColor")),
e=l(Z.alpha,99),k=l(Z.thickness,1),m=Z.dashed?ia(Z.dashlen||2,Z.dashgap||2,Z.thickness||1):"",p=l(Z.usemarker,0),n=T(d(Z.markercolor,Z.color,J.getColor("trendLightColor")),100),q=T(d(Z.markerbordercolor,Z.bordercolor,J.getColor("trendDarkColor")),100),t=l(l(Z.markerradius)*I,5),K=da(Z.markertooltext),E=l(l(Z.trendvaluedistance,h.trendValueDistance)*I,h.tickValueDistance),w=l(Z.valueinside,h.placeValuesInside,0),F=l(Z.showborder,1),s=T(d(Z.bordercolor,Z.color,J.getColor("trendDarkColor")),l(Z.borderalpha,
Z.alpha,100)),v=l(l(Z.radius)*I),A=l(l(Z.innerradius)*I),Z=Math.cos(89.99*Aa),la=-Z,v=l(v,z.gaugeOuterRadius),A=l(A,ka?Math.max(z.gaugeInnerRadius-15,0):z.gaugeInnerRadius),ra=this.getPixel(Va,v),oa=this.getPixel(Va,A),Ba=ra.x,ra=ra.y,eb=oa.x,oa=oa.y,na=this.getAngle(na),Va=this.getAngle(Va),ka?(Va>na&&(Va+=na,na=Va-na,Va-=na),c={fill:T(c,e),"stroke-width":F?k:0,stroke:s,"stroke-dasharray":m},e={ringpath:[M,P,v,A,Va,na]}):(c={"stroke-width":F?k:0,stroke:s,"stroke-linecap":"round","stroke-dasharray":m},
e={path:["M",Ba,ra,"L",eb,oa]}),p?(p={fill:n,"stroke-width":1,stroke:q},sa={polypath:[3,Ba,ra,t,(-Va+Math.PI)/Aa,0]}):p={},""!==g?(ma=(f+a)/2,na=this.getAngle(ma-r),a=Math.cos(na),f=Math.sin(na),t=G.getOriSize(g).width,w?(ma=A-2-E,E=a>Z?"end":a<la?"start":"middle"):(ma=v+2+E,E=a>Z?"start":a<la?"end":"middle"),Ba=M+ma*a,ra=P+ma*f,ma=G.getOriSize(g).height,ma=G.getSmartText(g,Q,ma),Ba=Q<Ba+t?Q-t/2:Ba<t?t/2:Ba,t>Q&&(Ba=Q/2),g={text:ma.text,"text-anchor":E,"vertical-align":ab},E={x:Ba,y:ra},Ba=ma.height,
ra=a>Z||a<la?ra+(-(Ba/2)+.4*Ba*f*(w?-1:1)):w?ra+-(0>f?0:Ba):ra+-(0<f?0:Ba),E.y=ra):(g={},E={}),fa[va]?(w=fa[va].graphics.drawing,ka=fa[va].graphics.label,Z=fa[va].graphics.marker,w.attr(c),Z.attr(p),Z.tooltip(K),ka.attr(g).css(R).tooltip(ma.oriText),C&&Ka?(w.animateWith(ha,za,e,C,ea),Z.animateWith(ha,za,sa,C,ea),ka.animateWith(ha,za,E,C,ea)):(w.attr(e),Z.attr(sa),ka.attr(E)),h.showTooltip&&ma.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),Z.trackTooltip(h.showTooltip&&""!==K)):(w=ka?ba.ringpath(M,
P,v,A,Va,na,X):ba.path(V),ka=ba.text($),Z=ba.polypath(V),w.attr(c),w.attr(e),Z.attr(p),Z.attr(sa),Z.tooltip(K),ka.attr(g),ka.attr(E).css(R).tooltip(ma.oriText),h.showTooltip&&ma.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),Z.trackTooltip(h.showTooltip&&""!==K),fa[va]={},fa[va].graphics={},fa[va].graphics.drawing=w,fa[va].graphics.label=ka,fa[va].graphics.marker=Z),va+=1);this.components.trendObj=fa}if(fa[va])for(ca=va;ca<fa.length;ca++)fa[ca].graphics.drawing.attr({path:["M",0,0]}),fa[ca].graphics.marker.attr({polypath:["M",
0,0]}),fa[ca].graphics.label.attr({text:"","text-bound":[]});h.trendBackgroundSetter&&(clearTimeout(h.trendBackgroundSetter),h.trendBackgroundSetter=void 0);h.trendBackgroundSetter=setTimeout(function(){for(ca=0;ca<va;ca++)fa[ca].graphics.label.attr({"line-height":R.lineHeight,"text-bound":[R.backgroundColor,R.borderColor,R.borderThickness,R.borderPadding,R.borderRadius,R.borderDash]});h.trendBackgroundSetter=void 0},0)}},"gauge"]);FusionCharts.register("component",["axis","polar",{configure:function(){var a=
this.config,f=a.axisData,a=a.rawAttr,g=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);f.axisValuePadding=l(a.axisValuePadding,10);f.gridLineColor=T(d(a.radarSpikeColor,g.getColor("divLineColor")),l(a.radarSpikeAlpha,a.radarInLineAlpha,g.getColor("divLineAlpha")));f.gridLineWidth=l(a.radarSpikeThickness,1);f.showRadarBorder=l(a.showRadarBorder,1);f.radarBorderThickness=l(a.radarBorderThickness,2);f.radarBorderColor=T(d(a.radarBorderColor,
g.getColor("divLineColor")),l(a.radarBorderAlpha,100));f.radarFillColor=T(d(a.radarFillColor,g.getColor("altHGridColor")),l(a.radarFillAlpha,g.getColor("altHGridAlpha")))},getAxisPosition:function(a,f){return this.getPixel(a,f)},getPixel:function(a,f){var g=this.config,d=g.axisRange,c=d.min,e=d.max-c+1,k=g.startAngle||-(qa/4),m=g.totalAngle||-qa,p=g.centerX||0,d=g.centerY||0;f=l(f,g.radius,0);g=k+m/e*(a-c);c=p+f*oa(g);d+=f*la(g);return{x:c,y:d}},_drawCategory:function(){var a=this.config,f=a.axisData,
g=this.chart,c=a.isOpposit,e=f.labels,k=e.style,m=f.axisContainer,p=f.axisPlotLineContainer,n=g.components.paper,q=this.components.categoryLabel||[],t=this.graphics.radarBorder||[],K=g.jsonData.categories,E=f.categories.category,F=f.labelPadding,z,s,v,A,r,h,B,D=f.gridLineColor,C=f.gridLineWidth,G=function(a){return function(b){ea.call(this,g,b,a)}},H=0,J=a.centerX,I=a.centerY,M=a.animateAxis,P,R,Q,V,X,$,ba,Z,U,ya,Aa,ma;ya=l(a.radius,0);V=E?E.length-1:0;P=g.get("config","animationObj");Aa=P.animObj;
ma=P.dummyObj;R=P.transposeAnimDuration;P=P.animType;A={stroke:f.radarBorderColor,fill:f.radarFillColor,"stroke-width":f.radarBorderThickness};ba={path:["M"]};if(0!==f.showRadarBorder){for(H=Q=0;Q<=V;Q++)U=this.getPixel(Q,ya),ba.path.push(U.x,U.y,"L");ba.path.pop();ba.path.push("Z")}t[0]?(t[0].attr(A),R&&M?t[0].animate(ba,R):t[0].attr(ba)):(t[0]=n.path(A,p),t[0].attr(ba));this.graphics.radarBorder=t;if(f.labels.isDraw){t=this._getVisibleConfig();K&&(z=K[0].font,s=K[0].fontsize,v=K[0].fontcolor);for(H=
Q=0;Q<=V;Q++)if(K=E[Q],U=l(K.x,K.y,Q),!(U<t.minValue||U>t.maxValue||!f.labels.drawNormalVal&&(!f.labels.drawLimitVal||0!==Q&&U!==V)||!f.labels.drawNormalVal&&0!==U&&U!==V)&&(f.labels.drawLimitVal||0!==U&&U!==V)){A=d(K.font,K.labelfont);r=d(K.fontsize,K.labelfontsize);h=l(K.fontbold,K.labelfontbold,0)?"bold":void 0;B=l(K.fontitalic,K.labelfontitalic,0)?"italic":void 0;ba=T(d(K.fontcolor,K.labelfontcolor,v,k.color),l(K.labelalpha,a.rawAttr.labelFontAlpha,100));A={fontFamily:d(A,z,k.fontFamily),fontSize:d(r,
s,k.fontSize),fontWeight:d(h,k.fontWeight),fontStyle:d(B,k.fontStyle)};A.lineHeight=w(A);A.lineHeight&&($=A.lineHeight,-1!==$.indexOf("px")&&($=$.replace(/px/i,""),$=parseFloat($)));ba={fill:ba,"line-height":$,"font-size":k.fontSize};r=this.getPixel(U,ya+F);B=r.x;Z=r.y;r=K.label||"";if(0===l(K.showlabel,1)||0===f.showLabels)r="";X=Number(K.labelPadding)||0;h={text:r,cursor:K.link?"pointer":""};B={x:B,y:Z};X&&(B.y+=X);ba["vertical-align"]=c?"bottom":"top";0===Q?(ba["text-anchor"]="middle",ba["vertical-align"]=
"bottom"):Q===(V+1)/2?(ba["text-anchor"]="middle",ba["vertical-align"]="top"):(ba["text-anchor"]=Q<(V+1)/2?"end":"start",ba["vertical-align"]="center");U=this.getPixel(U,ya);X={stroke:D,"stroke-width":C,"stroke-dasharray":"none"};Z={path:["M",J,I,"L",U.x,U.y]};e.shiftX&&(B.x+=e.shiftX);e.shiftY&&(B.y+=e.shiftY);q[H]?(U=q[H].graphics.line,U.attr(X),R&&M?U.animateWith(ma,Aa,Z,R,P):U.attr(Z),X=q[H].graphics.label,X.attr(h),R&&M?X.animateWith(ma,Aa,B,R,P):X.attr(B),X.attr(ba).css(A),f.showTooltip&&K.tooltext?
(X.tooltip(K.tooltext),X.trackTooltip(!0)):X.trackTooltip(!1)):(U=n.path(X,p),U.attr(Z),X=n.text(h,m),X.attr(B).attr(ba).css(A),f.showTooltip&&K.tooltext?(X.tooltip(K.tooltext),X.trackTooltip(!0)):X.trackTooltip(!1),X.click(G("datalabelclick")).hover(G("dataLabelRollOver"),G("dataLabelRollOut")),q[H]={},q[H].graphics={},q[H].config={},q[H].graphics.line=U,q[H].graphics.label=X);q[H].config.labelBox={label:r,lineHeight:A.lineHeight,border:l(K.borderthickness,K.labelborderthickness)?l(K.borderthickness,
K.labelborderthickness,1)+"px solid":"",borderColor:K.bordercolor||K.labelbordercolor?T(K.bordercolor||K.labelbordercolor,l(K.borderalpha,K.labelborderalpha,K.alpha,K.labelalpha,100)):"",borderThickness:l(K.borderthickness,K.labelborderthickness),borderPadding:l(K.borderpadding,K.labelborderpadding),borderRadius:l(K.borderradius,K.labelborderradius),backgroundColor:K.bgcolor||K.labelbgcolor?T(K.bgcolor||K.labelbgcolor,l(K.bgalpha,K.labelbgalpha,K.alpha,K.labelalpha,100)):"",borderDash:l(K.borderdashed,
K.labelborderdashed,0)?ia(l(K.borderdashlen,K.labelborderdashlen,4),l(K.borderdashgap,K.labelborderdashgap,2),l(K.borderthickness,K.labelborderthickness,1)):0===l(K.borderdashed,K.labelborderdashed)?"none":k.borderDash};q[H].graphics.label.data("eventArgs",{link:K.link||K.labellink||k.labelLink,text:h.text,index:H});H+=1}if(q[H])for(Q=H;Q<q.length;Q++)q[Q].graphics.line.attr({path:["M",0,0]}),q[Q].graphics.label.attr({text:"","text-bound":[]});this.components.categoryLabel=q}else if(q[H])for(Q=H;Q<
q.length;Q++)q[Q].graphics.line.attr({path:["M",0,0]}),q[Q].graphics.label.attr({text:"","text-bound":[]});f.catLabelBackgroundSetter=setTimeout(function(){var a;for(Q=0;Q<H;Q++)a=q[Q].config.labelBox,a.label?q[Q].graphics.label.attr({"line-height":k.lineHeight,"text-bound":[d(a.backgroundColor,k.backgroundColor),d(a.borderColor,k.borderColor),d(a.borderThickness,k.borderThickness),d(a.borderPadding,k.borderPadding),d(a.borderRadius,k.borderRadius),d(a.borderDash,k.borderDash)]}):q[Q].graphics.label.attr({"text-bound":[]});
f.catLabelBackgroundSetter=void 0},0)},_drawCategoryVline:function(){},_drawPlotBand:function(){},_drawPlotLine:function(){},placeAxis:function(a,f){var g,c,e,k,m,p,n=this.config,q=this.chart,t=q.linkedItems.smartLabel,K=n.axisData,E=K.labels.style,F=q.jsonData.categories,n=K.labelPadding=l(n.rawAttr.axisValuePadding,10),z=K.useEllipsesWhenOverflow,s=0,v=0,A=0,r=0,h=f/2,B=f/2,D=a/2,C=a/2,G,H;G=K.categories.category;K.labels.isDraw=1;K.labels.drawNormalVal=1;K.labels.drawLimitVal=1;if(K.showLabels)for(F&&
(m=F[0].font,p=F[0].fontsize),K=0,F=G.length;K<F;K++)H=G[K],g=H.font,c=H.fontsize,e=H.fontbold?"bold":"normal",k=H.fontitalic?"italic":"normal",g={fontFamily:d(g,m,E.fontFamily),fontSize:d(c,p,E.fontSize),fontWeight:d(e,E.fontWeight),fontStyle:d(k,E.fontStyle)},c=w(g),t.useEllipsesOnOverflow(q.config.useEllipsesWhenOverflow),t.setStyle(g),0===K?(g=t.getSmartText(H.label,a,Fa(c,h),z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.height>s&&(r=s=g.height)):K===F/2?(g=t.getSmartText(H.label,
a,Fa(c,B),z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.height>r&&(r=g.height)):K<F/2?(g=t.getSmartText(H.label,C,c,z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.width>v&&(v=g.width)):(g=t.getSmartText(H.label,D,c,z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.width>A&&(A=g.width));return{top:s,left:v,right:A,bottom:r}}},"cartesian"]);FusionCharts.register("component",["dataset","Column",{type:"column",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var a=
this.chart,f=this.config,g=this.JSONData,c=a.singleseries,e=a.isDual,k=a.config,p=a.jsonData.chart,n=a.components.colorManager,q=f.plotColor=n.getPlotColor(this.index||this.positionIndex),t=l(g.dashed,p.plotborderdashed),w=l(p.useplotgradientcolor,1),K,E,F,z=m.getDashStyle,s=a.isBar,v=a.is3D,A=a.isStacked;f.showPlotBorder=l(p.showplotborder,v?0:1);f.plotDashLen=K=l(p.plotborderdashlen,5);f.plotDashGap=E=l(p.plotborderdashgap,4);f.plotFillAngle=l(360-p.plotfillangle,s?180:90);f.plotFillAlpha=F=d(g.alpha,
p.plotfillalpha,ba);f.plotColor=d(g.color,q);f.legendSymbolColor=f.plotColor;f.isRoundEdges=l(p.useroundedges,0);f.plotRadius=l(p.useRoundEdges,f.isRoundEdges?1:0);f.plotFillRatio=d(g.ratio,p.plotfillratio);f.plotgradientcolor=m.getDefinedColor(p.plotgradientcolor,n.getColor("plotGradientColor"));!w&&(f.plotgradientcolor="");f.plotBorderAlpha=d(p.plotborderalpha,F,ba);f.plotBorderColor=d(p.plotbordercolor,v&&!c?"#ffffff":n.getColor("plotBorderColor"));f.plotBorderThickness=c=l(p.plotborderthickness,
1);f.plotBorderDashStyle=t?z(K,E,c):"none";f.showValues=l(g.showvalues,p.showvalues,1);f.valuePadding=l(p.valuepadding,2);f.enableAnimation=t=l(p.animation,p.defaultanimation,1);f.animation=t?{duration:1E3*l(p.animationduration,1)}:!1;f.transposeAnimation=l(p.transposeanimation,t);f.transposeAnimDuration=1E3*l(p.transposeanimduration,.2);f.showShadow=v?l(p.showshadow,1):l(p.showshadow,n.getColor("showShadow"));f.showHoverEffect=l(p.plothovereffect,p.showhovereffect,void 0);f.showTooltip=l(p.showtooltip,
1);f.stack100Percent=n=l(a.stack100percent,p.stack100percent,0);a.config.stack100Percent=f.stack100Percent;f.definedGroupPadding=na(l(p.plotspacepercent),0);f.plotSpacePercent=na(l(p.plotspacepercent,20)%100,0);f.maxColWidth=ra(l(s?p.maxbarheight:p.maxcolwidth,50));f.showPercentValues=s=l(p.showpercentvalues,A&&n?1:0);f.showPercentInToolTip=l(p.showpercentintooltip,A&&(n||s)?1:0);f.plotPaddingPercent=l(p.plotpaddingpercent);f.rotateValues=l(p.rotatevalues)?270:0;f.placeValuesInside=l(p.placevaluesinside,
0);f.zeroPlaneColor=k.zeroPlaneColor;f.zeroPlaneBorderColor=k.zeroPlaneBorderColor;f.zeroPlaneShowBorder=k.zeroPlaneShowBorder;f.use3DLighting=l(p.use3dlighting,1);f.useDataPlotColorForLabels=l(p.usedataplotcolorforlabels,0);f.includeInLegend=l(g.includeinlegend,1);f.parentYAxis=e?"s"===d(g.parentyaxis&&g.parentyaxis.toLowerCase(),"p")?1:0:0;this.visible=1===l(g.visible,!Number(g.initiallyhidden),1);!0===this.visible?this._conatinerHidden=!1:this._containerHidden=!0;this._setConfigure();this._realTimeConfigure&&
this._realTimeConfigure();!1!==a.hasLegend&&this._addLegend()},_setConfigure:function(a,f){var g=this.chart,c=this.config,e=this.JSONData,k=a||e.data,p=g.singleseries,n=g.components,q=n.xAxis[0],t=q.getCategoryLen(),t=a?a.data.length:t,w=g.jsonData.chart,n=n.colorManager,K=c.showPlotBorder,E=c.plotColor,z=l(w.showtooltip,1),r=m.parseUnsafeString,s=r(w.yaxisname),v=r(w.xaxisname),A=r(d(w.tooltipsepchar,", ")),B=l(w.seriesnameintooltip,1),h=m.parseTooltext,D,C,H,G,J,I,M=c.plotDashLen;H=c.plotDashGap;
var Q=c.plotBorderThickness,P=c.isRoundEdges,R=c.showHoverEffect,V=c.plotFillAngle,X,$,ba,U=c.plotBorderDashStyle,Z,fa,ya,Aa,ma,Ka,ea,ca,va,ka=m.getDashStyle,sa=this.components.data,ra=g.isBar,Va=g.is3D,la,ia=-Infinity,oa=Infinity,ha=this.yAxis,Ba=c.useDataPlotColorForLabels,eb;sa||(sa=this.components.data=[]);this.visible=1===l(this.visible,this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);for(la=0;la<t;la++)a?(I=a&&a.data[la]||{},eb=void 0!==f?f+la:sa.length-t+la,H=sa[eb]):(H=sa[la],
I=k&&k[la]||{}),g=H&&H.config,H||(H=sa[la]={}),H.config||(g=sa[la].config={}),g.showValue=l(I.showvalue,c.showValues),g.setValue=C=ha.getCleanValue(I.value,c.stack100Percent),g.setLink=d(I.link),g.toolTipValue=H=ha.dataLabels(C),g.setDisplayValue=E=r(I.displayvalue),g.displayValue=d(E,H),E=l(I.dashed),D=l(I.dashlen,M),Z=H=l(I.dashgap,c.plotDashGap),null!==C&&(ia=na(ia,C),oa=Fa(oa,C)),g.plotBorderDashStyle=D=1===E?ka(D,Z,Q):0===E?"none":U,p?(E=n.getPlotColor(l(eb-t,la)),E=d(I.color,E),Ba&&q.updateCategory(la,
{labelfontcolor:T(E)}),ba=d(I.alpha,I.borderalpha,c.plotBorderAlpha,X).toString()):(E=d(I.color,c.plotColor),ba=d(I.alpha,c.plotBorderAlpha,X).toString()),$=d(I.ratio,c.plotFillRatio),X=d(I.alpha,c.plotFillAlpha),g.shadow={opacity:c.showShadow?X/100:0},0>C&&!P&&(J=c.plotFillAngle,V=ra?180-V:360-V),g.colorArr=Z=m.graphics.getColumnColor(E+","+c.plotgradientcolor,X,$,V,P,c.plotBorderColor,ba,ra?1:0,Va?!0:!1),fa=q.getLabel(l(eb-t,la)),g.origLabel=C=ga(r(fa.oriLabel||fa.label)),C=g.label=ga(r(fa.tooltext))||
C,0!==R&&(fa=d(I.hovercolor,e.hovercolor,w.plotfillhovercolor,w.columnhovercolor,E),ya=d(I.hoveralpha,e.hoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,X),Aa=d(I.hovergradientcolor,e.hovergradientcolor,w.plothovergradientcolor,c.plotgradientcolor),!Aa&&(Aa=""),$=d(I.hoverratio,e.hoverratio,w.plothoverratio,$),ma=l(360-I.hoverangle,360-e.hoverangle,360-w.plothoverangle,V),Ka=d(I.borderhovercolor,e.borderhovercolor,w.plotborderhovercolor,c.plotBorderColor),ea=d(I.borderhoveralpha,e.borderhoveralpha,
w.plotborderhoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,ba,X),ba=l(I.borderhoverthickness,e.borderhoverthickness,w.plotborderhoverthickness,c.showPlotBorder&&Q),ca=I.borderhoverdashed||e.borderhoverdashed||w.plotborderhoverdashed,va=l(I.borderhoverdashgap,e.borderhoverdashgap,w.plotborderhoverdashgap,M),H=l(I.borderhoverdashlen,e.borderhoverdashlen,w.plotborderhoverdashlen,H),H=void 0!==ca?Number(ca)?ka(H,va,ba):"":D,1==R&&fa===E&&(fa=Pa(fa,70)),E=m.graphics.getColumnColor(fa+","+Aa,ya,$,ma,
P,Ka,ea.toString(),ra?1:0,Va?!0:!1),g.setRolloutAttr={fill:Va?[F(Z[0]),!c.use3DLighting]:F(Z[0]),stroke:K&&F(Z[1]),"stroke-width":Q,"stroke-dasharray":D},g.setRolloverAttr={fill:Va?[F(E[0]),!c.use3DLighting]:F(E[0]),stroke:F(E[1]),"stroke-width":ba,"stroke-dasharray":H}),D=g.toolTipValue,g.origToolText=H=ga(r(d(I.tooltext,e.plottooltext,w.plottooltext))),z?null===D?I=!1:void 0!==H?(E=[1,2,3,4,5,6,7],C={yaxisName:s,xaxisName:v,formattedValue:D,label:C},I=h(H,E,C,I,w,e)):(B&&(G=da(e&&e.seriesname)),
I=G?G+A:"",I+=C?C+A:""):I=!1,g.toolText=I,g.setTooltext=I,J&&(V=J),eb++;c.maxValue=ia;c.minValue=oa},init:function(a){var f=this.chart,g=f.components,d=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0;this.yAxis=g=g.yAxis[d];if(!a)return!1;this.JSONData=a;this.yAxis=g;this.chartGraphics=f.chartGraphics;this.components={};this.graphics={};this.configure()},_addLegend:function(){var a=this.chart,f=a.isBar,g=a.jsonData.chart,d,c;c=this.config;var e=Oa(c.legendSymbolColor),a=a.components.legend;
d=l(g.use3dlighting,g.useplotgradientcolor,1);g=Pa(e,60).replace(Ja,R);d?(d=Pa(e,40),f={FCcolor:{color:e+","+e+","+d+","+e+","+e,ratio:"0,30,30,30,10",angle:f?0:270,alpha:"100,100,100,100,100"}}):f={FCcolor:{color:e,angle:f?0:270,ratio:"0",alpha:"100"}};c={enabled:c.includeInLegend,type:this.type,fillColor:F(f),strokeColor:F(g),rawFillColor:e,rawStrokeColor:e,label:da(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,c)},legendInteractivity:function(a,f){var g=
this.config,d=a.visible,c=f.config,e=f.graphics,l=g.itemHiddenStyle.color,g=g.itemStyle.color,k=c.fillColor,m,c=c.strokeColor;d?a.hide():a.show();d={legendItemSymbol:{fill:d?l:k,stroke:d?l:c},legendItemText:{fill:d?l:g},legendItemLine:{stroke:d?l:c}};for(m in e)(l=e[m])&&d[m]&&l.attr(d[m])},draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=c.legendInteractivity,k=a.groupManager,n=a.index,q,w,z=a.visible,r=a.chart,K=r.components,E=K.paper,aa=K.xAxis[0],B=aa.getCategoryLen(),
s=a.yAxis,v=r.graphics.columnGroup,A=r.isStacked,D,h,C,H=r.graphics,G=m.parseUnsafeString,J=m.getValidValue,I=m.Raphael,M=c.showTooltip,Q=r.get("config","animationObj"),P=Q.animObj,T=Q.dummyObj,R=Q.duration,V=Q.animType,$=aa.getAxisPosition(0),ba=aa.getAxisPosition(1),U=c.groupMaxWidth=ba-$,Z=c.definedGroupPadding,fa=c.plotSpacePercent/200,ca=k.getDataSetPosition(a),ya=k.stackSumValue[a.positionIndex],Aa=k.manageClip,ma=c.maxColWidth,Ka=(1-.01*Z)*U||Fa(U*(1-2*fa),1*ma),na=l(ca.columnWidth,Ka/1),la,
va=ca.xPosOffset||0,ka=ca.height,sa,ga,Va=a.components,da=Va.data,ia,oa,ha,Ba,eb,za,Ca,ua,qa,wa=a.drawn,Ea=Va.removeDataArr,Fb=Ea&&Ea.length,Ha=Va.addDataArr,Ia=Ha&&Ha.length,Ja={},Na={},Da=r.config.dataLabelStyle,Oa=K.canvas.config.showCanvasBorder,Pa={fontFamily:Da.fontFamily,fontSize:Da.fontSize,lineHeight:Da.lineHeight,fontWeight:Da.fontWeight,fontStyle:Da.fontStyle,color:Da.color},cb=s.getLimit(),$a=cb.min,Sa=0<cb.max&&0>$a,Ra,Ya=s.getAxisBase(),db=s.yBasePos=s.getAxisPosition(Ya),fb,Za,Xa=c.plotBorderThickness,
hb=c.plotRadius,nb=a.graphics,pb=nb.container,Ta=nb.trackerContainer,ib=nb.dataLabelContainer,gb=nb.shadowContainer,Wa=Va.pool,rb=H.trackerGroup,kb,ob=1,Cb,Db,qb,sb,Eb=aa.getAxisPosition(B-1)+va,ab=aa.getAxisPosition(0)+va,Hb,wb=!0,jb=!1,lb=!1,xb=a.startPosition,Ib=c.showHoverEffect,mb=function(a){ea.call(this,r,a)},tb=function(a){return function(b){var f=this.getData();0!==f.showHoverEffect&&!0!==f.draged&&(a.attr(this.getData().setRolloverAttr),ea.call(this,r,b,"DataPlotRollOver"))}},Lb=function(a){return function(b){var f=
this.getData();0!==f.showHoverEffect&&!0!==f.draged&&(a.attr(this.getData().setRolloutAttr),ea.call(this,r,b,"DataPlotRollOut"))}},ub=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(pb.hide(),Ta.hide(),gb.hide(),ib&&ib.hide(),a._conatinerHidden=!0);this.show()},Nb=function(){a.visible&&a.drawLabel();k.drawSumValueFlag&&k.drawSumValue()},Gb=function(){return xb?function(a,b){a.x=ab-U*(Ia-b);a.y=h;a.height=sa}:!1===xb?function(a){a.x=Eb+U*ob++;a.y=h;a.height=sa}:function(a){a.width=
0}},Mb,Jb=r.config.viewPortConfig,$b=Jb.x,Wb=Jb.scaleX;wa&&(Gb=Gb());pb||(pb=a.graphics.container=E.group("columns",v),z?pb.show():pb.hide());Ta||(Ta=a.graphics.trackerContainer=E.group("col-hot",rb),z||Ta.hide());r._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Pa);gb||(gb=a.graphics.shadowContainer=E.group("shadow",v).toBack(),z||gb.hide());z&&(pb.show(),Ta.show(),gb.show());for(w=0;w<B;w++)if(za=(qa=(ia=da[w])&&ia.config)&&qa.setValue,void 0===ia||void 0===za||null===za){if(Cb=
ia&&ia.graphics)for(Db in Cb)Cb[Db].hide()}else{Ra=0<=za;eb=qa.setLink;kb=qa.colorArr;ia.graphics||(da[w].graphics={});ua=qa.displayValue;fb=Ra?qa.previousPositiveY:qa.previousNegativeY;oa=J(G(d(qa.origToolText,f.plottooltext,g.plottooltext)));A&&(fb=a._parseValues(w,fb,ya[w],oa),za=qa.value);Za=s.getAxisPosition(fb||Ya);D=aa.getAxisPosition(w)+va+$b*Wb;0!==ka?(h=s.getAxisPosition(za+(fb||0)),sa=ra(Za-h)):(sa=0,h=Za);h=Fa(h,Za);Oa&&!Sa&&Aa&&z&&0<Xa&&(sa+=Xa,k.manageClip=!1);k.isCrisp?(C=I.crispBound(D,
h,na,sa,Xa),D=C.x,h=C.y,la=C.width,sa=C.height):la=na;Mb=qa.shadow;ga=!1!==qa.toolText&&qa.toolText+(oa?"":qa.toolTipValue);Hb=qa.plotBorderDashStyle;Ca={index:w,link:eb,value:za,displayValue:ua,categoryLabel:qa.origLabel,toolText:ga,id:"",datasetIndex:n,datasetName:f.seriesname,visible:z};Ja=qa.setRolloutAttr;Na=qa.setRolloverAttr;ia._xPos=D;ia._yPos=h;ia._height=sa;ia._width=la;ia._index=w;(ha=ia.graphics.element)||(q={x:D,y:db,width:la,height:1,r:hb,ishot:!M,fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?
Xa:0,"stroke-dasharray":Hb,"stroke-linejoin":"miter",visibility:z},wa&&(Gb(q,w),Wa&&Wa.hotElement[0]&&(ia.graphics.hotElement=Wa.hotElement[0],Wa.hotElement.splice(0,1)),Wa&&Wa.element[0]&&(ha=ia.graphics.element=Wa.element[0],ha.attr(q),Wa.element.splice(0,1)),ia._newXPos=q.x),ha?qb=!1:(ha=ia.graphics.element=E.rect(q,pb),qb=!0),wa||(ha.animateWith(T,P,{y:h,height:sa||1},R,V,wb&&Nb),wb=!1));(ha=ia.graphics.element)&&wa&&(lb=jb=!0,q={x:D,y:h,width:la,height:sa||1,r:hb},A||!1!==a.visible||0===ka||
(delete q.y,delete q.height),e||ha.attr({fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?Xa:0,"stroke-linejoin":"miter","stroke-dasharray":Hb,ishot:!M,visibility:z}),ha.animateWith(T,P,q,R,V,wb&&ub),wb=!1);ha.shadow(Mb,gb).data("BBox",C);if(eb||M)sa<X&&(h-=(X-sa)/2,sa=X),q={x:D,y:h,width:la,height:sa},e||(q=p(q,{r:hb,cursor:eb?"pointer":"",stroke:t,"stroke-width":c.showPlotBorder?Xa:0,fill:t,ishot:!0,visibility:z})),ia.graphics.hotElement?(ia.graphics.hotElement.attr(q),sb=!1):(Ba=ia.graphics.hotElement=
E.rect(q,Ta),sb=!0);Ba=ia.graphics.hotElement;(Ba||ha).data("eventArgs",Ca).data("groupId",void 0).data("showHoverEffect",Ib).data("setRolloverAttr",Na).data("setRolloutAttr",Ja).tooltip(ga);(sb||qb)&&(Ba||ha).click(mb).hover(tb(ha),Lb(ha))}jb&&a.drawLabel();k.drawSumValueFlag&&lb&&k.drawSumValueFlag&&k.drawSumValue();a.drawn=!0;Fb&&a.remove()},show:function(){var a=this.graphics&&this.graphics.container,f=this.graphics&&this.graphics.trackerContainer,g=this.graphics&&this.graphics.dataLabelContainer,
d=this.graphics&&this.graphics.shadowContainer,c=this.chart.is3D,e=this.components.data,l=this.chart.config.categories,k=this.yAxis,m=this.chart,l=Fa(this.JSONData.data&&this.JSONData.data.length,l&&l.length);this.config.legendInteractivity=!0;m._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(c)for(a=0;a<l;a++)e[a]&&e[a].graphics&&e[a].graphics.element&&e[a].graphics.element.attr({visibility:"visible"}),e[a]&&e[a].graphics&&e[a].graphics.hotElement&&e[a].graphics.hotElement.attr({visibility:"visible"});
else a.show(),f.show();d.show();g&&g.show();m.config.transposeAxis&&(m._setAxisLimits(),k.draw());m._drawDataset();this.config.legendInteractivity=!1},hide:function(){var a=this.yAxis,f=this.chart;f._chartAnimation();this.visible=!1;this.config.legendInteractivity=!0;f.config.transposeAxis&&(f._setAxisLimits(),a.draw());f._drawDataset();this.config.legendInteractivity=!1},drawLabel:function(a,f){var g=this.chart,d=g.graphics,c=g.components,e=g.get("config","animationObj"),k=e.dummyObj,m=e.animObj,
n=e.animType,e=e.duration,q=c.paper,t=g.linkedItems.smartLabel,K=g.config.dataLabelStyle,E=this.config,w=E.legendInteractivity,F=c.xAxis[0].getCategoryLen(),s=this.components,c=s.data,s=s.pool,v=this.visible,A,z,E=E.rotateValues,h,r,B,D,C,H=this.graphics.dataLabelContainer,G=this.labelDrawn;A=l(a,0);F=l(f,F);d=d.datalabelsGroup;H||(H=this.graphics.dataLabelContainer=q.group("datalabel",d));v&&H.show();t.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);t.setStyle(K);for(d=A;d<F;d++)if(A=c[d],
void 0!==A&&(v=A.graphics))C=A&&A.config,B=A._yPos,D=A._xPos,r=C.setValue,z=C.displayValue,(h=C.showValue)&&null!==r?(w&&C._state||(h=t.getOriSize(z),C._state=E?{labelWidth:h.height,labelHeight:h.width}:{labelWidth:h.width,labelHeight:h.height}),r=this._getValuePosition({labelWidth:C._state.labelWidth,labelHeight:C._state.labelHeight,width:A._width,height:A._height,yPos:B,xPos:D,value:r}),B=r.textX,r=r.textY,z={x:B,y:r,text:z},w||(z=p(z,{"class":"fusioncharts-label","font-size":K.fontSize,"font-weight":K.fontWeight,
"font-style":K.fontStyle,"font-family":K.fontFamily,visibility:"visible","line-height":K.lineHeight})),!v.label&&G&&g.isRealTime&&(C=p({},z),C.x=z.x-D+(A._newXPos||0),C.transform=q.getSuggestiveRotation(E,C.x,r),s&&s.label[0]?(v.label=s.label[0].attr(C),s.label.splice(0,1)):v.label=q.text(C,H)),z.transform=q.getSuggestiveRotation(E,B,r),(A=v.label)||(A=v.label=q.text(H),A.attr(z)),A.show(),w||A.attr({fill:K.color,"text-bound":[K.backgroundColor,K.borderColor,K.borderThickness,K.borderPadding,K.borderRadius,
K.borderDash]}),G&&A.animateWith(k,m,z,e,n)):v.label&&(v.label.attr({"text-bound":[]}),v.label.hide());this.labelDrawn=!0},_getValuePosition:function(a){var f=this.config,g=this.chart,c=g.components,e=g.config,l=c.canvas.config,k=c.yAxis[0],c=l.xDepth,l=l.yDepth,m=e.canvasTop,p=e.canvasHeight+l,n,q,K,E=a.yPos,e=g.is3D,g=g.isStacked,t=f.valuePadding+2,w=a.height;n=a.width;f=f.placeValuesInside;K=a.labelHeight;var s=k.getAxisConfig("isReverse"),v=k.getAxisConfig("axisRange"),A=v.min,k=a.value,v=0<v.max&&
0>A;a=a.xPos;s&&v&&(q=0>k?!1:!0);q=d(q,0>k);K=s=K+t;t=.5*s+t;n=a+.5*n;a=q?m+p-(E+w+l):E-m;g?(p=Fa(m+p-.5*K,E+.5*w+(l||0)),p=na(m+.5*K,p),n-=c):f?w>=K?(p=E+(q?w-t:t),e&&(n-=c,p+=l)):a>=K?(p=E+(q?w+t:-t),e&&q&&(n-=c,p+=l)):(p=E+(q?w-t:t),e&&(n-=c,p+=l)):a>=K?(p=E+(q?w+t:-t),e&&(q?(n-=c,p+=l):n-=c/2)):(p=E+(q?w-t:t),e&&(n-=c,p+=l));return{textX:n,textY:p}},_parseValues:function(a,f,g,d){var c=this.config;a=this.components.data[a].config;var e=c.showPercentValues,l=c.showPercentInToolTip,k=a.setValue,
c=c.stack100Percent,m=this.chart.components.numberFormatter,p=this.yAxis,n=a.setDisplayValue,k=(this.visible?k||0:0)/g*100,m=m.percentValue(k);c&&(a.value=k,f=(f||0)/g*100);l&&(a.toolTipValue=m);e&&!n&&(a.displayValue=m);d&&(a.toolText=Z(a.setTooltext,[14,24,25,112],{percentValue:m,sum:p.dataLabels(g),unformattedSum:g}));return f},getDataLimits:function(){return{max:this.config.maxValue,min:this.config.minValue}},addData:function(a,f,g){var d=this.components,c=this.chart.components.numberFormatter,
e=d.data,l=a.data,k=l.length,m=this.config,p=m.maxValue,m=m.minValue,n=this.maxminFlag,q;d.addDataArr=a.data;if(0===f)this.startPosition=!0;else if(f+k===e.length||void 0===f)this.startPosition=!1;for(q=0;q<k;q++)if(void 0!==f?e.splice(f+q,0,{config:{}}):e.push({config:{}}),!n&&(d=c.getCleanValue(l[q].value),d>p||d<m))n=this.maxminFlag=!0;this._setConfigure(a,f);n&&this.setMaxMin();g&&this.draw()},hideElements:function(a){a.hide()},removeData:function(a,f,g){var d=this.components,c=d.data,e=d.removeDataArr||
(d.removeDataArr=[]),l=this.config,k=this.groupManager,m=this.maxminFlag;void 0===f&&(f=1);a=a||0;if(a+f===c.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;d.removeDataArr=e=e.concat(c.splice(a,f));k&&k.removeSumLabels&&k.removeSumLabels(a,f,this.positionIndex);d=e.length;for(a=0;a<d;a++)if(e[a]){f=e[a].config;if(f.setValue===l.maxValue||f.setValue===l.minValue)m=this.maxminFlag=!0;if(m)break}m&&this.setMaxMin();g&&this.draw()},updateData:function(a,f,g){var d=this.config,
c=d.maxValue,e=d.prevMin,l=this.chart,k=this.groupManager||this,m=l.components,p=m.xAxis||m.yAxis,n=p&&m.xAxis[0],m=p&&m.yAxis[0];this._setConfigure(a,f);this.setMaxMin();if(d.maxValue!==c||d.minValue!==e)this.maxminFlag=!0;g&&(l._setAxisLimits(),p&&n.draw(),p&&m.draw(),k.draw())},setMaxMin:function(){var a=this.components.data,f=this.config,g,d,c=a.length,e=-Infinity,l=Infinity;for(g=0;g<c;g++)a[g]&&(d=a[g].config,d=d.setValue,void 0!==d&&(e=na(e,d),l=Fa(l,d)));f.maxValue=e;f.minValue=l},hidingPosition:function(){var a=
this.components.removeDataArr.length,f=this.config.groupMaxWidth;return!1===this.endPosition?function(g){return{x:g._xPos-f*a,y:g._yPos}}:!0===this.endPosition?function(g){return{x:g._xPos+f*a||0,y:g._yPos}}:function(){return{width:0}}},remove:function(){var a=this.components,f=a.removeDataArr,g=a.pool||(a.pool={element:[],hotElement:[],label:[]}),d=this.chart,c=d.get("config","animationObj"),e=c.duration,l=c.dummyObj,k=c.animObj,c=c.animType,m=this.maxminFlag,p,n,q,E,t=d.components.paper,w=this.config.rotateValues,
s=this.chart.config.realTimeConfig&&this.chart.config.realTimeConfig.clear,v=this.hidingPosition(),A=function(){this.hide()};for(q=f.length-1;0<=q;q--)if(d=f[q],f.splice(q,1),d&&d.graphics){n=d.graphics;for(p in n)"label"===p&&void 0===this.startPosition&&void 0===this.endPosition&&n[p].hide(),E=v(d),"label"===p&&(E.transform=t.getSuggestiveRotation(w,E.x,E.y)),s&&n[p].hide(),n[p].animateWith(l,k,E,e,c,A);d.graphics.element&&(g.element=g.element.concat(d.graphics.element));d.graphics.hotElement&&
(g.hotElement=g.hotElement.concat(d.graphics.hotElement));d.graphics.label&&(g.label=g.label.concat(d.graphics.label))}a.pool=g;m&&this.setMaxMin()},getAxisValuePadding:function(){return{left:.5,right:.5}},manageSpace:function(){var a=this.chart,f=this.config.rotateValues,g=a.components.xAxis[0],d=a.config.dataLabelStyle,c=(this.components||{}).data||[],e=c[0],c=c[c.length-1],k,m,p={};k={};var n=0,q=0,t,E=g.getPixel(0),p=a.linkedItems.smartLabel,w={paddingLeft:0,paddingRight:0};k=0;var F=this.groupManager,
F="column"===this.type&&F.getDataSetPosition(this),s=this.getAxisValuePadding();e&&(e=e.config,t=e.showValue,m=e&&e.anchorProps||{},t&&(k=e.displayValue,p.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow),p.setStyle(d),k=p.getOriSize(k),k=f?k.height:k.width),null!==e.setValue&&(n=l(m.radius,0)+l(m.borderThickness,0),q=(k||0)/2-(g.getPixel(s.left)-E)-(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),w.paddingLeft=na(n,q));c&&(e=c.config,t=e.showValue,m=e&&e.anchorProps||{},t&&!f&&(k=e.displayValue,
p.setStyle(d),p=p.getOriSize(k),k=f?p.height:p.width),null!==e.setValue&&(n=l(m.radius,0)+l(m.borderThickness,0),q=(k||0)/2-(g.getPixel(s.right)-E)+(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),w.paddingRight=na(n,q));return w},getPlotClickFn:function(a){return function(f){ea.call(this,a,f)}},getEventArgs:function(){return{datasetName:(this.JSONData||{}).seriesname,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},rolloverResponseSetter:function(a,f){var g=f.jsonData.chart;
return function(d){var c=this.data("hoverEnabled"),e=this.data("draged"),l=this.data("dataset");!0!==e&&(l._hoverFunc(a,"DataPlotRollOver",g,c),ea.call(this,f,d,"DataPlotRollOver"))}},rolloutResponseSetter:function(a,f){var g=f.jsonData.chart;return function(d){var c=this.data("hoverEnabled"),e=this.data("draged"),l=this.data("dataset");!0!==e&&(l._hoverFunc(a,"DataPlotRollOut",g,c),ea.call(this,f,d,"DataPlotRollOut"))}}}]);FusionCharts.register("component",["dataset","realtimecolumn",{_realTimeConfigure:function(a){var f=
this.chart,g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"Column"]);FusionCharts.register("component",["dataset","scrollcolumn2d",{},"Column"]);FusionCharts.register("component",["dataset","Column3D",{draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=a.chart.config.categories,n,q,w,z=
a.chart,K=z.components.paper,E=z.components.xAxis[0],r=a.yAxis,B=z.graphics.columnGroup,s=z.isStacked,v,A,D,h=z.graphics,C=m.parseUnsafeString,H=m.getValidValue,G=c.showTooltip,J=z.get("config","animationObj"),I=J.animType,M=J.animObj,Q=J.dummyObj,J=J.duration,P=E.getAxisPosition(0),T=E.getAxisPosition(1),T=c.groupMaxWidth=T-P,R=c.definedGroupPadding,V=c.plotSpacePercent/200,$=e.getDataSetPosition(a),P=e.stackSumValue[a.positionIndex],ba=c.maxColWidth,T=(1-.01*R)*T||Fa(T*(1-2*V),1*ba),T=l($.columnWidth,
T/1),U,R=$.xPosOffset||0,$=$.height,Z,V=a.components.data,fa,ca,ya,Aa,ma,Ka,na,ia;Aa={};Ka={};ba=r.getLimit();fa=ba.max;var va=ba.min,ba=r.getAxisBase(),ka=r.yBasePos=r.getAxisPosition(ba),sa,la=0,Va=c.plotBorderThickness;na=a.graphics.container;var ga=a.graphics.dataLabelContainer,da=a.graphics.shadowContainer,oa=h.trackerGroup,ha,Ba,eb,za,qa,Ca,ua,h=c.use3DLighting,wa,Ea,Ha,Ia,Ja=!0,Da=!1,Na=!1,Oa=a.visible,Pa,bb=(a.components.removeDataArr||[]).length,cb=a.components.pool||[],$a=c.showHoverEffect,
Sa=function(a){ea.call(this,z,a)},Ra=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,z,b,"DataPlotRollOver"))}},Ya=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,z,b,"DataPlotRollOut"))}},db=function(){var f,g;if(!1===a.visible&&(!1===a._conatinerHidden||void 0===a._conatinerHidden)){f=a.components.data;for(g=0;g<n;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&
f[g].graphics.element.attr({visibility:"hidden"}),f[g]&&f[g].graphics&&f[g].graphics.hotElement&&f[g].graphics.hotElement.attr({visibility:"hidden"});da.hide();ga&&ga.hide();a._conatinerHidden=!0}},fb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};na||(na=a.graphics.container=z.datasetLayers=z.datasetLayers||K.group("columns",B));da||(da=a.graphics.shadowContainer=K.group("shadow",B).toBack());n=E.getCategoryLen();if(Oa)for(w=0;w<n;w++)V[w].graphics&&V[w].graphics.element&&V[w].graphics.element.attr({visibility:"visible"}),
V[w].graphics&&V[w].graphics.hotElement&&V[w].graphics.hotElement.attr({visibility:"visible"});B=na.negative=na.negative||K.group("negative-values",na);Ba=na.column=na.column||K.group("positive-values",na);eb=oa.negative=oa.negative||K.group("negative-values",oa);oa=oa.column=oa.column||K.group("positive-values",oa);0>va&&0<=fa?(w=na.zeroPlane)?(w=[z.config.canvasLeft-10,ka+10,z.config.canvasWidth,1,10,10,w],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),
e.graphics.zeroplane.animateWith(Q,M,{cubepath:w},J,I),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,!h],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(w=na.zeroPlane=K.group("zero-plane",na).insertBefore(Ba),!e.graphics&&(e.graphics={}),e.graphics.zeroplane=K.cubepath(z.config.canvasLeft-10,ka+10,z.config.canvasWidth,1,10,10,w).attr({fill:[c.zeroPlaneColor,!h],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):e.graphics&&e.graphics.zeroplane&&
e.graphics.zeroplane.hide()&&e.graphics.zeroplane._.cubetop.hide()&&e.graphics.zeroplane._.cubeside.hide();(va=B.data("categoryplots"))||(B.data("categoryplots",Array(n)),va=B.data("categoryplots"));(za=Ba.data("categoryplots"))||(Ba.data("categoryplots",Array(n)),za=Ba.data("categoryplots"));(qa=eb.data("categoryplots"))||(eb.data("categoryplots",Array(n)),qa=eb.data("categoryplots"));(Ca=oa.data("categoryplots"))||(oa.data("categoryplots",Array(n)),Ca=oa.data("categoryplots"));for(w=0;w<n;w++)if(na=
w,Aa=(ia=(fa=V[w])&&fa.config)&&ia.setValue,Pa=!1,!fa||void 0!==Aa&&null!==Aa||(fa.graphics&&fa.graphics.element&&(fa.graphics.element.hide(),fa.graphics.element._.cubeside.hide(),fa.graphics.element._.cubetop.hide()),fa.graphics&&fa.graphics.hotElement&&fa.graphics.hotElement.hide()),void 0!==fa&&void 0!==Aa&&null!==Aa){va[w]=va[w]||K.group(B);za[w]=za[w]||K.group(Ba);qa[w]=qa[w]||K.group(eb);Ca[w]=Ca[w]||K.group(oa);fa.graphics||(V[w].graphics={});ya=ia.setLink;ha=ia.colorArr;Ka=ia.displayValue;
A=0<=Aa?ia.previousPositiveY:ia.previousNegativeY;Z=H(C(d(ia.origToolText,f.plottooltext,g.plottooltext)));s&&(A=a._parseValues(w,A,P[w],Z),Aa=ia.value);sa=r.getAxisPosition(A||ba);v=E.getAxisPosition(w)+R;0!==$?(D=r.getAxisPosition(Aa+(A||0)),A=ra(sa-D)):(A=0,D=sa);D=Fa(D,sa);U=T;(ua=0>Aa)?(q=va,sa=qa):(q=za,sa=Ca);Z=ia.toolText+(Z?"":ia.toolTipValue);ma={index:w,link:ya,value:Aa,displayValue:Ka,categoryLabel:p[w].label,toolText:Z,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Oa};Aa=ia.setRolloutAttr;
Ka=ia.setRolloverAttr;J||(ka=D,la=A);wa=v;Ea=D;Ha=U;Ia=A;v-=10;D+=10;fa.graphics.element?(Na=Da=!0,ca=fa.graphics.element,q[w].appendChild(ca._.cubetop),q[w].appendChild(ca._.cubeside),q[w].appendChild(ca),q={cubepath:[v,!0===a.visible||0===$||s?D:ca.attrs.cubepath[1],U,!0===a.visible||0===$||s?A:ca.attrs.cubepath[3],10,10]},ca.animateWith(Q,M,q,J,I,Ja&&db),ca.attr({fill:[F(ha[0]),!h],ishot:!0,stroke:c.showPlotBorder&&F(ha[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,
cursor:ya?"pointer":""})):(cb.element&&cb.element.length?(ca=fa.graphics.element=cb.element.shift(),q[w].appendChild(ca._.cubetop),q[w].appendChild(ca._.cubeside),q[w].appendChild(ca),ca.show()):(ca=fa.graphics.element=K.cubepath(q[w]),Pa=!0),ca.attr({cubepath:[v,J?ka+10:D,U,J?0:la,10,10],fill:[F(ha[0]),!h],ishot:!0,stroke:c.showPlotBorder&&F(ha[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:ya?"pointer":"",visibility:Oa?"visible":"hidden"}),
ca.animateWith(Q,M,{cubepath:[v,D,U,A,10,10]},J,I,Ja&&fb),J?Ja=!1:Na=Da=!0,fa._newXPos=v);ca.shadow(ia.shadow,da).data("BBox",{height:la,width:U,x:v,y:D});if(ya||G)A<X&&(D-=(X-A)/2,A=X),q={cubepath:[v,D,U,A,10,10],cursor:ya?"pointer":"",stroke:Va&&t||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:0,fill:t,ishot:!0},fa.graphics.hotElement?(v=fa.graphics.hotElement,sa[w].appendChild(v),sa[w].appendChild(v._.cubetop),sa[w].appendChild(v._.cubeside)):cb.hotElement&&cb.hotElement.length?
(v=fa.graphics.hotElement=cb.hotElement.shift(),sa[w].appendChild(v),sa[w].appendChild(v._.cubetop),sa[w].appendChild(v._.cubeside),v.show()):(v=fa.graphics.hotElement=K.cubepath(sa[w]),Pa=!0),v.attr(q);v=fa.graphics.hotElement;(v||ca).data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).tooltip(Z);(v||ca)._.cubetop.data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",
Aa).tooltip(Z);(v||ca)._.cubeside.data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).tooltip(Z);Pa&&((v||ca).click(Sa).hover(Ra(ca),Ya(ca)),(v||ca)._.cubetop.click(Sa).hover(Ra(ca),Ya(ca)),(v||ca)._.cubeside.click(Sa).hover(Ra(ca),Ya(ca)));s&&ua&&(ca.toBack(),v&&v.toBack());fa._xPos=wa;fa._yPos=Ea;fa._height=Ia;fa._width=Ha}Da&&a.drawLabel();e.drawSumValueFlag&&Na&&e.drawSumValueFlag&&e.drawSumValue();bb&&a.remove()},remove:function(){var a=
this,f=a.components,g=f.removeDataArr,d=f.pool||(f.pool={element:[],hotElement:[],label:[]}),c=g.length,e=a.config.groupMaxWidth,l,k=a.maxminFlag,m,p,n;(function(){return!1===a.endPosition?function(){return{x:l._xPos-e*c}}:!0===a.endPosition?function(){return{x:l._xPos+e*c||0}}:function(){return{width:0}}})();for(n=0;n<c;n++)if(l=g[0],g.splice(0,1),l&&l.graphics){p=l.graphics;for(m in p)if(p[m].hide(),"element"===m||"hotElement"===m)p[m]._.cubetop.hide(),p[m]._.cubeside.hide();l.graphics.element&&
(d.element=d.element.concat(l.graphics.element));l.graphics.hotElement&&(d.hotElement=d.hotElement.concat(l.graphics.hotElement));l.graphics.label&&(d.label=d.label.concat(l.graphics.label))}f.pool=d;k&&a.setMaxMin()}},"Column"]);FusionCharts.register("component",["dataset","Waterfall2D",{configure:function(){var a,f,g=this.chart,c=g.components;a=this.config;f=this.JSONData;var e=f.data,k=g.config.categories,k=Fa(k&&k.length,e&&e.length),p=g.jsonData,n=p.chart,q=c.colorManager,t,w=q.getPlotColor(this.index||
this.positionIndex),K=l(f.dashed,n.plotborderdashed),E=l(n.useplotgradientcolor,1),z=l(n.showtooltip,1),r=m.parseUnsafeString,s=r(n.yaxisname),v=r(n.xaxisname),A=r(d(n.tooltipsepchar,", ")),B=m.parseTooltext,h,D,C,H,G,I,M,Q,P,R,X,xa,$,U,fa,Z,ca,ea,ya,Aa,ma,Ka,ia,la,va,ka,sa,ra=m.getDashStyle,Va=this.components.data,oa=c.numberFormatter,ha;t={};t=t.dataObj||(t.dataObj={});ha=t.chart||(t.chart={});ca=d(n.connectorthickness,1);var qa,Ca=-Infinity,Ba=Infinity,eb=0,za=0,ua=0,wa,Ha,Ia,Ea;this.visible=1===
l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);t=a.showplotborder=l(n.showplotborder,1);a.plotBorderThickness=G=t?l(n.plotborderthickness,1):0;a.isRoundEdges=I=l(n.useroundedges,0);a.plotBorderAlpha=X=t?d(n.plotborderalpha,C,ba):0;a.plotBorderColor=xa=d(n.plotbordercolor,q.getColor("plotBorderColor").split(",")[0]);a.plotgradientcolor=R=E?V(n.plotgradientcolor,q.getColor("plotGradientColor")):J;a.plotDashLen=E=l(n.plotborderdashlen,6);a.plotDashGap=H=l(n.plotborderdashgap,3);a.use3DLighting=
l(n.use3dlighting,1);a.showSum=qa=l(n.showsumatend,1);a.plotColor=d(f.color,w);a.plotfillAngle=Q=l(360-n.plotfillangle,90);a.showShadow=I?l(n.showshadow,1):l(n.showshadow,q.getColor("showShadow"));a.showHoverEffect=M=l(n.plothovereffect,n.showhovereffect,void 0);a.plotFillAlpha=d(f.alpha,n.plotfillalpha,ba);a.plotRadius=l(n.useRoundEdges,a.isRoundEdges?1:0);a.plotFillRatio=P=d(f.ratio,n.plotfillratio);a.plotBorderDashStyle=$=K?ra(E,H,G):"none";a.showValues=l(f.showvalues,n.showvalues,1);a.valuePadding=
l(n.valuepadding,2);a.enableAnimation=w=l(n.animation,n.defaultanimation,1);a.animation=w?{duration:1E3*l(n.animationduration,1)}:!1;ha.transposeAnimation=a.transposeAnimation=l(n.transposeanimation,ha.transposeAnimation,w);a.transposeAnimDuration=1E3*l(n.transposeanimduration,.2);a.showTooltip=l(n.showtooltip,1);a.stack100Percent=l(g.stack100percent,n.stack100percent,0);a.definedGroupPadding=na(l(n.plotspacepercent),0);a.plotSpacePercent=na(l(n.plotspacepercent,20)%100,0);a.maxColWidth=l(n.maxcolwidth,
50);a.showPercentValues=l(n.showpercentvalues,0);a.showPercentInToolTip=l(n.showpercentintooltip,0);a.plotPaddingPercent=l(n.plotpaddingpercent);a.rotateValues=l(n.rotatevalues)?270:0;a.placeValuesInside=l(n.placevaluesinside,0);a.parentYAxis=ha="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;Va||(Va=this.components.data=[]);a.zLine=Ha={step:!0,data:[],dashStyle:"1"===n.connectordashed?ra(l(n.connectordashlen,2),l(n.connectordashgap,2),ca):"none",useForwardSteps:!0,color:T(d(n.connectorcolor,
"000000"),d(n.connectoralpha,100)),lineWidth:ca};for(g=0;g<k;g+=1)U=e[g],Z=oa.getCleanValue(U.value),D=l(U.issum,0),U.vline||D||(eb+=Z,U._value=Z);wa=oa.dataLabels(eb);qa&&(qa=!0,k+=1,Ia={label:da(n.sumlabel,"Total"),_value:eb,value:eb,issum:1,cumulative:1});for(Ea=g=0;g<k;g+=1)U=e[g],ca=(Z=Va[g])&&Z.config,Z||(Z=Va[g]={graphics:{}}),Z.config||(ca=Va[g].config={}),!U&&qa&&(p.data||(p.data=[]),p.data[g]=U=e[g]=Ia),w=d(U.color,q.getPlotColor(g)),Z.vline||(Z=U._value,delete U._value,ca.issum=D=l(U.issum,
0),C=ca.isCumulative=l(U.cumulative,1),D?(Z=C?za:za===ua?za:za-ua,ca.lastComTotal=ua,ua=za,Ha.data.push({y:null,x:Ea-.5})):za+=Z,Ca=na(Ca,za),Ba=Fa(Ba,za),ca.total=za,D=ca.showLabel=l(U.showlabel,n.showlabels,1),D=ca.dataLabel=r(D?da(U.label,U.name):J),0<Z?(ea=d(U.color,n.positivecolor,w),0!==M&&(ya=d(U.positivehovercolor,n.positivehovercolor,n.plotfillhovercolor,n.columnhovercolor,ea))):(ea=d(U.color,n.negativecolor,w),0!==M&&(ya=d(U.negativehovercolor,n.negativehovercolor,n.plotfillhovercolor,n.columnhovercolor,
ea))),C=d(U.alpha,a.plotFillAlpha),h=l(U.dashed,K),Aa=l(U.dashlen,E),ma=H=l(U.dashgap,H),ca.showValue=l(U.showvalue,a.showValues),ca.setValue=fa=Z,ca.setLink=d(U.link),ca.toolTipValue=fa=oa.dataLabels(fa,ha),ca.setDisplayValue=Ka=ga(r(U.displayvalue)),ca.displayValue=d(Ka,fa),ca.plotBorderDashStyle=h=1===h?ra(Aa,ma,G):0===h?"none":$,ca.colorArr=ea=m.graphics.getColumnColor(ea+","+R.replace(/,+?$/,""),C,P,Q,I,xa,X.toString(),0,!1),0!==M&&(Aa=d(U.alpha,U.hoveralpha,f.hoveralpha,n.plotfillhoveralpha,
n.columnhoveralpha,C),ma=d(U.hovergradientcolor,f.hovergradientcolor,n.plothovergradientcolor,R),!ma&&(ma=""),fa=d(U.hoverratio,f.hoverratio,U.ratio,n.plothoverratio,P),Ka=l(360-U.hoverangle,360-f.hoverangle,360-n.plothoverangle,Q),ia=d(U.borderhovercolor,f.borderhovercolor,n.plotborderhovercolor,xa),la=d(U.borderhoveralpha,f.borderhoveralpha,n.plotborderhoveralpha,X,C),C=l(U.borderhoverthickness,f.borderhoverthickness,n.plotborderhoverthickness,G),va=l(U.borderhoverdashed,f.borderhoverdashed,n.plotborderhoverdashed),
ka=l(U.borderhoverdashgap,f.borderhoverdashgap,n.plotborderhoverdashgap,E),sa=l(U.borderhoverdashlen,f.borderhoverdashlen,n.plotborderhoverdashlen,H),va=va?ra(sa,ka,C):h,1===M&&ya===w&&(ya=Pa(ya,70)),w=m.graphics.getColumnColor(ya+","+ma,Aa,fa,Ka,I,ia,la.toString(),0,!1),ca.setRolloutAttr={fill:F(ea[0]),stroke:t&&F(ea[1]),"stroke-width":G,"stroke-dasharray":h},ca.setRolloverAttr={fill:F(w[0]),stroke:t&&F(w[1]),"stroke-width":C,"stroke-dasharray":va}),h=ca.toolTipValue,w=ga(r(d(U.tooltext,f.plottooltext,
n.plottooltext))),z?void 0!==w?(C=[1,2,3,5,6,7,20,21,24,25],D={formattedValue:h,label:D,yaxisName:s,xaxisName:v,cumulativeValue:za,cumulativeDataValue:oa.dataLabels(za),sum:wa,unformattedSum:eb},w=B(w,C,D,U,n,f)):w=null===h?!1:D!==J?D+A+h:h:w=!1,Ha.data.push({y:null===Z?null:za,x:Ea}),Ea+=1,ca.toolText=w,ca.setTooltext=w);a.maxValue=Ca;a.minValue=Ba;a.connectNullData=l(n.connectnulldata,0);a.showConnectors=l(n.showconnectors,1);a=f.catData;for(g=0;g<a.length;g+=1)f=a[g],e.splice(f.index,0,f.data);
c.xAxis[0].setCategory(e)},draw:function(){var a,f,g,d=this,c=d.chart,e=c.config.canvasBottom,k=c.graphics.datasetGroup,p=d.JSONData,n=d.config,q=d.groupManager,w=d.positionIndex,K=d.chart.config.categories,E=p.data,z=K&&K.length,r=E&&E.length,s,E=d.visible,v=c.components.paper,A=c.components.xAxis[0],D=c.components.yAxis[0],h=d.components,B=h.removeDataArr,B=B&&B.length,C,H,G,J=c.graphics,I=m.Raphael,M=n.showTooltip,Q=A.getAxisPosition(0),Q=A.getAxisPosition(1)-Q,P=n.definedGroupPadding,T=n.plotSpacePercent/
200,R=q.getDataSetPosition(d),V=n.maxColWidth,Q=(1-.01*P)*Q||Fa(Q*(1-2*T),1*V),Q=l(R.columnWidth,Q/1),U,P=R.xPosOffset||0,R=R.height,$,ba,h=h.data,Z,fa,ca,Aa,ma,Ka;Aa={};Ka={};var T=D.getAxisBase(),V=D.yBasePos=D.getAxisPosition(T),ea=0,na=n.showShadow,va=n.plotBorderThickness,ka=n.plotRadius,sa=d.graphics.container,ia=d.graphics.trackerContainer,la=d.graphics.dataLabelContainer,ga=d.graphics.shadowContainer;ca=J.trackerGroup;var J=!0,da=!1,oa=d.pool||(d.pool={}),ha=function(){!1!==d.visible||!1!==
d._conatinerHidden&&void 0!==d._conatinerHidden||(sa.hide(),ia.hide(),ga.hide(),la&&la.hide(),d._conatinerHidden=!0)},Ba=function(){d.drawLabel()},qa=c.get("config","animationObj"),za=qa.duration||0,ua=qa.dummyObj,wa=qa.animObj,qa=qa.animType;sa||(sa=d.graphics.container=v.group("columns",k),E||sa.hide());ia||(ia=d.graphics.trackerContainer=v.group("col-hot",ca),E||ia.hide());ga||(ga=d.graphics.shadowContainer=v.group("shadow",k).toBack(),E||ga.hide());n.showConnectors&&d.drawLine();k=Fa(z,r);for(z=
0;z<k;z++)if(Ka=(r=h[z])&&r.config)if(Aa=Ka.setValue,C=0<=Aa,null!==Aa){ca=Ka.setLink;s=Ka.colorArr;r.graphics||(h[z].graphics={});ma=Ka.displayValue;H=C?Ka.previousPositiveY:Ka.previousNegativeY;Ka.issum?Ka.isCumulative||(H=Ka.lastComTotal):H=h[z-1]&&h[z-1].config.total;U=D.getAxisPosition(H||T);C=A.getAxisPosition(z)+P;0!==R?(H=D.getAxisPosition(Aa+(H||0)),$=ra(U-H)):($=0,H=U);H=Fa(H,U);Ca(H+$)>=e&&($+=va/2);q.isCrisp?(G=I.crispBound(C,H,Q,$,va),C=G.x,H=G.y,U=G.width,$=G.height):U=Q;ba=Ka.toolText;
a=Ka.plotBorderDashStyle;ma={index:z,link:ca,value:Aa,displayValue:ma,categoryLabel:K[z].label,toolText:ba,id:"",datasetIndex:w,datasetName:p.seriesname,visible:E};Aa=Ka.setRolloutAttr;Ka=Ka.setRolloverAttr;za||(V=H,ea=$);s={ishot:!M,fill:F(s[0]),stroke:F(s[1]),"stroke-width":va,"stroke-linejoin":"miter",visibility:E};f={x:C,y:V,width:U,height:ea||1,r:ka,"stroke-dasharray":a};r._xPos=C;r._yPos=H;r._height=$;r._width=U;g=r.graphics;Z=g.element;a=!1;Z?(da=!0,f.y=H,f.height=$||1,Z.attr(s).animateWith(ua,
wa,f,za,qa,J&&ha)):(oa.element&&oa.element.length?Z=g.element=oa.element.shift():(Z=g.element=v.rect(sa),a=!0),Z.attr(s).attr(f),za?(Z.animateWith(ua,wa,{y:H,height:$||1},za,qa,J&&Ba),J=!1):da=!0);Z.shadow({opacity:na},ga).data("BBox",G);if(ca||M)$<X&&(H-=(X-$)/2,$=X),s={x:C,y:H,width:U,height:$,r:ka,cursor:ca?"pointer":"",stroke:t,"stroke-width":va,fill:t,ishot:!0,visibility:E},(fa=g.hotElement)||(fa=g.hotElement=v.rect(s,ia),a=!0),fa.attr(s);(fa||Z).data("eventArgs",ma).data("groupId",void 0).tooltip(ba).data("hoverEnabled",
n.showHoverEffect).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).data("setElem",Z).data("dataset",d);a&&(fa||Z).click(d.getPlotClickFn(c)).hover(d.rolloverResponseSetter(r,c),d.rolloutResponseSetter(r,c))}da&&d.drawLabel();B&&d.remove()},drawLine:function(){var a=this.chart,f=a.components,g=a.graphics,d=this.config,c=f.paper,e,k,m=f.xAxis[0],f=f.yAxis[0],p=f.getAxisBase();e=f.getAxisPosition(p);var p=this.graphics.lineContainer,n=d.definedGroupPadding,q=d.plotSpacePercent/200,t=m.getAxisPosition(0),
t=m.getAxisPosition(1)-t,E=d.maxColWidth,n=((1-.01*n)*t||Fa(t*(1-2*q),1*E))/2,w=d.zLine,d=d.connectNullData,q=w.data,t=q.length,E=this.graphics,F=w.dashStyle,s=w.color,w=w.lineWidth,v,A=E.zLine,z=null,h=[],r=[],D=a.get("config","animationObj"),a=D.duration||0,B=D.dummyObj,C=D.animObj,D=D.animType,g=g.datalabelsGroup;k=E.dataLabelContainer;k||(k=this.graphics.dataLabelContainer=c.group("datalabel",g));p||(p=E.lineContainer=c.group("line-connector",k));f.yBasePos=e;for(g=0;g<t;g+=1)k=q[g],e=k.y,null===
e?(r.length=0,0===d&&(z=null)):(k=l(k.x,g),e=f.getAxisPosition(e),k=m.getAxisPosition(k),k=ca(k,w,w).position,e=ca(e,w,w).position,null!==z?(r.length&&(h=h.concat(r),r.length=0),h.push("M",v,z,"m",-n,0,"H",k,"h",n,"m",0,e-z)):r.push("M",k,e),v=k,z=e);A||(A=E.zLine=c.path(p).attr({path:h,"stroke-linecap":"round","stroke-opacity":0}));A.animateWith(B,C,{path:h,"stroke-opacity":1,"stroke-dasharray":F,stroke:s,"stroke-linejoin":2<=w?"round":"miter","stroke-width":w},a,D)},hidingPosition:function(){return function(){return{width:0}}},
_hoverFunc:function(a,f){var g=a.graphics.hotElement,g="DataPlotRollOver"===f?g.data("setRolloverAttr"):g.data("setRolloutAttr");a.graphics.element.attr(g)}},"Column"]);FusionCharts.register("component",["dataset","Bar2D",{type:"bar",draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=f.data,n=a.chart.config.categories,q,w,z,K,E=a.chart,r=E.components.paper,D=E.components.xAxis[0],s=E.components.yAxis[0];q=E.graphics.columnGroup;var v=E.isStacked,
A,B,h,C=E.graphics,H=m.parseUnsafeString,G=m.getValidValue,J=m.Raphael,I=c.showTooltip,M=D.getAxisPosition(0),Q=D.getAxisPosition(1),P=c.groupMaxWidth=ra(Q-M),T=c.definedGroupPadding,R=c.plotSpacePercent/200,V=e.getDataSetPosition(a),M=e.stackSumValue[a.positionIndex],Q=e.manageClip,U=c.maxColWidth,$=E.get("config","animationObj"),Z=$.animType,ba=$.animObj,fa=$.dummyObj,$=$.duration,ca=E.components.canvas.config.showCanvasBorder,P=(1-.01*T)*P||Fa(P*(1-2*R),1*U),P=l(V.columnWidth,P/1),ya,T=V.xPosOffset||
0,V=V.height,Aa,R=a.components.data,ma,Ka,ia,na,va,ka,sa;na={};ka={};var U=s.getLimit(),la=U.min,U=0<U.max&&0>la,la=s.getAxisBase(),ga=s.yBasePos=s.getAxisPosition(la),da=0,oa,ha=c.plotBorderThickness,qa=c.plotRadius,Ba=a.graphics.container,ua=a.graphics.trackerContainer,za=a.graphics.dataLabelContainer,Ca=a.graphics.shadowContainer;K=C.trackerGroup;var wa,C=a.visible,Ha=!0,Ia=!1,Ea=!1,Fb,Ja=(a.components.removeDataArr||[]).length,Da=a.components.pool||[],Na=c.showHoverEffect,Oa=function(a){ea.call(this,
E,a)},Pa=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,E,b,"DataPlotRollOver"))}},Ta=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,E,b,"DataPlotRollOut"))}},bb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Ba.hide(),ua.hide(),Ca.hide(),za&&za.hide(),a._conatinerHidden=!0)},cb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};
Ba||(Ba=a.graphics.container=r.group("bars",q),C||Ba.hide());ua||(ua=a.graphics.trackerContainer=r.group("bar-hot",K),C||ua.hide());Ca||(Ca=a.graphics.shadowContainer=r.group("shadow",q).toBack(),C||Ca.hide());C&&(Ba.show(),ua.show(),Ca.show());q=D.getCategoryLen();for(K=0;K<q;K++)if(w=p&&p[K],na=(sa=(ma=R[K])&&ma.config)&&sa.setValue,!ma||void 0!==na&&null!==na||(ma.graphics&&ma.graphics.element&&ma.graphics.element.hide(),ma.graphics&&ma.graphics.hotElement&&ma.graphics.hotElement.hide()),void 0!==
ma&&void 0!==na&&null!==na){ia=sa.setLink;wa=sa.colorArr;ma.graphics||(R[K].graphics={});ka=sa.displayvalue;A=0<=na?sa.previousPositiveY:sa.previousNegativeY;Aa=G(H(d(w.tooltext,f.plottooltext,g.plottooltext)));v&&(A=a._parseValues(K,A,M[K],Aa),na=sa.value);ya=s.getAxisPosition(A||la);w=D.getAxisPosition(K)+T;0!==V?(B=s.getAxisPosition(na+(A||0)),A=Math.abs(ya-B)):(A=0,B=ya);B=Math.min(B,ya);ca&&!U&&Q&&C&&0<ha&&(A+=ha,B-=ha,e.manageClip=!1);e.isCrisp?(h=J.crispBound(w,B,P,A,ha),w=h.x,B=h.y,ya=h.width,
A=h.height):ya=P;Aa=sa.toolText+(Aa?"":sa.toolTipValue);oa=sa.plotBorderDashStyle;va={index:K,link:ia,value:na,displayValue:ka,categoryLabel:n[K].label,toolText:Aa,id:"",datasetIndex:k,datasetName:f.seriesname,visible:C};na=sa.setRolloutAttr;ka=sa.setRolloverAttr;$||(ga=B,da=A);z={x:ga,y:w,width:da||1,height:ya,r:qa,ishot:!I,fill:F(wa[0]),stroke:F(wa[1]),"stroke-width":c.showPlotBorder?ha:0,"stroke-dasharray":oa,"stroke-linejoin":"miter",visibility:"visible"};ma._xPos=B;ma._yPos=w;ma._height=ya;ma._width=
A;if(ma.graphics.element){Ia=Ea=!0;Ka=ma.graphics.element;z={x:B,y:w,height:ya};if(!0===a.visible||0===V||v)z.width=A;Ka.animateWith(fa,ba,z,$,Z,Ha&&bb);Ka.attr({ishot:!I,fill:F(wa[0]),stroke:F(wa[1]),"stroke-width":c.showPlotBorder?ha:0,"stroke-dasharray":oa,"stroke-linejoin":"miter",visibility:"visible"})}else Da.element&&Da.element.length?(Ka=ma.graphics.element=Da.element.shift(),Ka.show()):(Ka=ma.graphics.element=r.rect(Ba),Fb=!0),Ka.attr(z),Ka.animateWith(fa,ba,{x:B,width:A||1},$,Z,Ha&&cb),
$?Ha=!1:Ia=Ea=!0;Ka.shadow(sa.shadow,Ca).data("BBox",h);if(ia||I)A<X&&(B-=(X-A)/2,A=X),z={x:B,y:w,width:A,height:ya,r:qa,cursor:ia?"pointer":"",stroke:t,"stroke-width":c.showPlotBorder?ha:0,fill:t,ishot:!0,visibility:C},ma.graphics.hotElement||(Da.hotElement&&Da.hotElement.length?(ia=ma.graphics.hotElement=Da.hotElement.shift(),ia.show()):(ia=ma.graphics.hotElement=r.rect(ua),Fb=!0)),ma.graphics.hotElement.attr(z);ia=ma.graphics.hotElement;(ia||Ka).data("eventArgs",va).data("groupId",void 0).data("showHoverEffect",
Na).data("setRolloverAttr",ka).data("setRolloutAttr",na).tooltip(Aa);Fb&&(ia||Ka).click(Oa).hover(Pa(Ka),Ta(Ka))}Ia&&a.drawLabel();e.drawSumValueFlag&&Ea&&e.drawSumValueFlag&&e.drawSumValue();Ja&&a.remove()},drawLabel:function(){var a=this.chart,f=a.graphics,g=a.config,d=a.components.canvas.config,c=a.config.dataLabelStyle,e=this.JSONData.data,k=a.config.categories,m=a.is3D,p=a.isStacked,n=k&&k.length,q=e.length,k=this.components.data,t=a.components.paper,E,w,z=d.yDepth,d=d.xDepth,s=a.components.numberFormatter;
w="";var v=this.config,A,F=v.placeValuesInside,h=g.canvasWidth,g=g.canvasLeft,r,B,v=v.valuePadding+2,D,C,H,G=a.get("config","animationObj"),a=G.duration,I=G.animType,M=G.dummyObj,G=G.animObj,Q=this.graphics.dataLabelContainer,P,T,R,V,X=this.components.pool||{};C=this.visible;f=f.datalabelsGroup;Q||(Q=this.graphics.dataLabelContainer=t.group("datalabel"),C||Q.hide());f&&f.appendChild(Q);C&&Q.show();f=n<q?n:q;for(n=0;n<f;n++)if(E=k[n],void 0!==E&&(r=E.graphics))if(R=r.label,A=e[n],D=E._yPos,C=E._xPos,
T=E.config,H=s.getCleanValue(A.value),q=0>l(H),B=E._height,E=E._width,P=p?"middle":q?F?"start":"end":F?"end":"start",w=T.displayValue,T.showValue&&void 0!==w&&null!==w&&w!==J&&null!==H){w={text:w,"class":"fusioncharts-label",fill:c.color,"text-bound":[c.backgroundColor,c.borderColor,c.borderThickness,c.borderPadding,c.borderRadius,c.borderDash],"font-size":c.fontSize,"font-weight":c.fontWeight,"font-style":c.fontStyle,"font-family":c.fontFamily,"line-height":c.lineHeight,visibility:"visible"};R||
(X.label&&X.label.length?R=r.label=X.label.shift():(R=r.label=t.text({x:0,y:0},Q),V=!0));R.attr(w);A._state&&A._state.labelWidth||(w=R.getBBox(),A._state={labelWidth:w.width,labelHeight:w.height});w=A._state.labelWidth;w+=v;A=v;B=D+.5*B;D=C+(q?0:E);r=q?C-g:g+h-(C+E);p?(D+=.5*(q?E:-E),D=na(g+.5*w,D),D=Fa(g+h-.5*w,D),D-=m?d:0,B+=m?z:0):F?E>=w?(D+=q?A:-A,m&&(B+=z,D-=d)):w<r?(D+=q?-A:A,P=q?"end":"start",m&&q&&(D-=d)):(q?(D=C+E+na(w-C-E+g,0)-A,P="end"):(D=C-na(w-(g+h-C),0)+A,P="start"),m&&(D-=d,B+=z)):
r>=w?(D+=q?-A:A,m&&q&&(D-=d,B+=d)):(D+=q?A+w:-(A+w),m&&(D-=d,B+=z));if(D>g+h||D<g)D=g+4,P="start";V&&R.attr({x:D,y:B});R.show().animateWith(M,G,{x:D,y:B},a,I).attr({"text-anchor":P})}else R&&R.hide().attr({"text-bound":[]})},remove:function(){var a=this.components,f=a.removeDataArr,g=a.pool||(a.pool={element:[],hotElement:[],label:[]}),d=f.length,c,e=this.maxminFlag,l,k,m;for(m=0;m<d;m++)if(c=f[0],f.splice(0,1),c&&c.graphics){k=c.graphics;for(l in k)k[l].hide();c.graphics.element&&(g.element=g.element.concat(c.graphics.element));
c.graphics.hotElement&&(g.hotElement=g.hotElement.concat(c.graphics.hotElement));c.graphics.label&&(g.label=g.label.concat(c.graphics.label))}a.pool=g;e&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["dataset","Bar3D",{draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=f.data,n=a.chart.config.categories,q,w,z,K,E=a.chart,r=E.components.paper,D=E.components.xAxis[0],s=E.components.yAxis[0],v=E.graphics.columnGroup,A=E.isStacked,
B,h,C,H=E.graphics,G=m.parseUnsafeString,J=m.getValidValue,I=c.showTooltip,M=D.getAxisPosition(0),Q=D.getAxisPosition(1),P=c.groupMaxWidth=ra(Q-M),T=c.definedGroupPadding,R=c.plotSpacePercent/200,V=e.getDataSetPosition(a),U=e.stackSumValue[a.positionIndex],$=c.maxColWidth,Z=E.get("config","animationObj"),ba=Z.animType,fa=Z.animObj,ca=Z.dummyObj,ya=Z.duration,Aa=(1-.01*T)*P||Fa(P*(1-2*R),1*$),ma=l(V.columnWidth,Aa/1),Ka,na=V.xPosOffset||0,ia=V.height,va,ka=a.components.data,sa,la,ga,da,oa,ha,qa,Ba,
ua,za,Ca={},wa={},Ha,Ia=s.getLimit(),Ea=Ia.max,Da=Ia.min,Ja=s.getAxisBase(),Na=s.yBasePos=s.getAxisPosition(Ja),Oa,Pa,Ta=0,yb=c.plotBorderThickness,bb=a.graphics.container,cb=a.graphics.dataLabelContainer,$a=a.graphics.shadowContainer,Sa=H.trackerGroup,Ra,Ya,db,fb,Za,Xa,hb,nb,pb,ab,ib,gb,Wa,rb,kb,ob,Cb,Db,qb=c.use3DLighting,sb=!0,Eb=!1,Pb=!1,Hb=a.visible,wb,jb=(a.components.removeDataArr||[]).length,lb=a.components.pool||[],xb=c.showHoverEffect,Ib=function(a){ea.call(this,E,a)},mb=function(a){return function(b){0!==
this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,E,b,"DataPlotRollOver"))}},tb=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,E,b,"DataPlotRollOut"))}},Lb=function(){var f,g;if(!1===a.visible&&(!1===a._conatinerHidden||void 0===a._conatinerHidden)){cb&&cb.hide();f=a.components.data;for(g=0;g<q;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&f[g].graphics.element.attr({visibility:"hidden"}),f[g]&&f[g].graphics&&
f[g].graphics.hotElement&&f[g].graphics.hotElement.attr({visibility:"hidden"});$a.hide();a._conatinerHidden=!0}},ub=function(){var f=a.components.data,g;for(g=0;g<q;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&f[g].graphics.element.attr({fill:[F(f[g].config.colorArr[0]),!qb]});a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};bb||(bb=a.graphics.container=E.datasetLayers=E.datasetLayers||r.group("bars",v));$a||($a=a.graphics.shadowContainer=r.group("shadow",v).toBack());q=D.getCategoryLen();if(Hb)for(K=
0;K<q;K++)ka[K].graphics&&ka[K].graphics.element&&ka[K].graphics.element.attr({visibility:"visible"}),ka[K].graphics&&ka[K].graphics.hotElement&&ka[K].graphics.hotElement.attr({visibility:"visible"});fb=bb.negative=bb.negative||r.group("negative-values",bb);Za=bb.column=bb.column||r.group("positive-values",bb);Xa=Sa.negative=Sa.negative||r.group("negative-values",Sa);hb=Sa.column=Sa.column||r.group("positive-values",Sa);0>Da&&0<=Ea?(nb=bb.zeroPlane)?(Ha=[Na-5,E.config.canvasTop+5,1,E.config.canvasHeight,
5,5,nb],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),e.graphics.zeroplane.animateWith(ca,fa,{cubepath:Ha},ya,ba),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,!qb],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(nb=bb.zeroPlane=r.group("zero-plane",bb).insertBefore(Za),!e.graphics&&(e.graphics={}),e.graphics.zeroplane=r.cubepath(Na-5,E.config.canvasTop+5,1,E.config.canvasHeight,5,5,nb).attr({fill:[c.zeroPlaneColor,
!qb],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):e.graphics&&e.graphics.zeroplane&&e.graphics.zeroplane.hide()&&e.graphics.zeroplane._.cubetop.hide()&&e.graphics.zeroplane._.cubeside.hide();(pb=fb.data("categoryplots"))||(fb.data("categoryplots",Array(q)),pb=fb.data("categoryplots"));(ab=Za.data("categoryplots"))||(Za.data("categoryplots",Array(q)),ab=Za.data("categoryplots"));(ib=Xa.data("categoryplots"))||(Xa.data("categoryplots",Array(q)),ib=Xa.data("categoryplots"));
(gb=hb.data("categoryplots"))||(hb.data("categoryplots",Array(q)),gb=hb.data("categoryplots"));for(K=0;K<q;K+=1)pb[K]=pb[K]||r.group(fb),ab[K]=ab[K]||r.group(Za),ib[K]=ib[K]||r.group(Xa),gb[K]=gb[K]||r.group(hb);K=0;for(Wa=q-1;K<q;K++,Wa--)if(ua=K,w=p&&p[K],ha=(za=(sa=ka[K])&&sa.config)&&za.setValue,wb=!1,!sa||void 0!==ha&&null!==ha||(sa.graphics&&sa.graphics.element&&(sa.graphics.element.hide(),sa.graphics.element._.cubeside.hide(),sa.graphics.element._.cubetop.hide()),sa.graphics&&sa.graphics.hotElement&&
sa.graphics.hotElement.hide()),void 0!==sa&&void 0!==ha&&null!==ha){oa=za.setLink;Ra=za.colorArr;sa.graphics||(ka[K].graphics={});Ba=za.displayvalue;Oa=0<=ha?za.previousPositiveY:za.previousNegativeY;la=J(G(d(w.tooltext,f.plottooltext,g.plottooltext)));A&&(Oa=a._parseValues(K,Oa,U[K],la),ha=za.value);Pa=s.getAxisPosition(Oa||Ja);B=D.getAxisPosition(K)+na;0!==ia?(C=s.getAxisPosition(ha+(Oa||0)),h=Math.abs(Pa-C)):(h=0,C=Pa);C=Math.min(C,Pa);Ka=ma;(rb=0>ha)?(Ya=pb,db=ib):(Ya=ab,db=gb);va=za.toolText+
(la?"":za.toolTipValue);qa={index:K,link:oa,value:ha,displayValue:Ba,categoryLabel:n[K].label,toolText:va,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Hb};Ca=za.setRolloutAttr;wa=za.setRolloverAttr;ya||(Na=C,Ta=h);kb=B;ob=C;Cb=Ka;Db=h;B+=5;C-=5;sa.graphics.element?(Pb=Eb=!0,ga=sa.graphics.element,Ya[Wa].appendChild(ga._.cubetop),Ya[Wa].appendChild(ga._.cubeside),Ya[Wa].appendChild(ga),z={cubepath:[C,B,!0===a.visible||0===ia||A?h:ga.attrs.cubepath[2],Ka,5,5]},ga.animateWith(ca,fa,z,ya,ba,
sb&&Lb),ga.attr({fill:[F(Ra[0]),!qb],ishot:!0,stroke:c.showPlotBorder&&F(Ra[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":za.plotBorderDashStyle,cursor:oa?"pointer":""})):(lb.element&&lb.element.length?(ga=sa.graphics.element=lb.element.shift(),Ya[Wa].appendChild(ga._.cubetop),Ya[Wa].appendChild(ga._.cubeside),Ya[Wa].appendChild(ga),ga.show()):(ga=sa.graphics.element=r.cubepath(Ya[Wa]),wb=!0),ga.attr({cubepath:[ya?Na-5:C,B,ya?0:Ta,Ka,5,5],fill:[F(Ra[0]),!qb],ishot:!0,
stroke:c.showPlotBorder&&F(Ra[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":za.plotBorderDashStyle,cursor:oa?"pointer":"",visibility:Hb?"visible":"hidden"}),ga.animateWith(ca,fa,{cubepath:[C,B,h,Ka,5,5]},ya,ba,sb&&ub),ya?sb=!1:Pb=Eb=!0,sa._newXPos=B);ga.shadow(za.shadow,$a).data("BBox",{height:Ka,width:Ta,x:C,y:B});if(oa||I)h<X&&(C-=(X-h)/2,h=X),z={cubepath:[C,B,h,Ka,5,5],cursor:oa?"pointer":"",stroke:yb&&t||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:
0,fill:t,ishot:!0},sa.graphics.hotElement?(da=sa.graphics.hotElement,db[Wa].appendChild(da),db[Wa].appendChild(da._.cubetop),db[Wa].appendChild(da._.cubeside)):lb.hotElement&&lb.hotElement.length?(da=sa.graphics.hotElement=lb.hotElement.shift(),db[Wa].appendChild(da),db[Wa].appendChild(da._.cubetop),db[Wa].appendChild(da._.cubeside),da.show()):(da=sa.graphics.hotElement=r.cubepath(db[Wa]),wb=!0),da.attr(z);da=sa.graphics.hotElement;(da||ga).data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",
xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);(da||ga)._.cubetop.data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);(da||ga)._.cubeside.data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);wb&&((da||ga).click(Ib).hover(mb(ga),tb(ga)),(da||ga)._.cubetop.click(Ib).hover(mb(ga),tb(ga)),(da||ga)._.cubeside.click(Ib).hover(mb(ga),
tb(ga)));if(!A||rb)ga.toBack(),da&&da.toBack();sa._xPos=ob;sa._yPos=kb;sa._height=Cb;sa._width=Db}Eb&&a.drawLabel();e.drawSumValueFlag&&Pb&&e.drawSumValueFlag&&e.drawSumValue();jb&&a.remove()},remove:function(){var a=this,f=a.components,g=f.removeDataArr,d=f.pool||(f.pool={element:[],hotElement:[],label:[]}),c=g.length,e=a.config.groupMaxWidth,l,k=a.maxminFlag,m,p,n;(function(){return!1===a.endPosition?function(){return{x:l._xPos-e*c}}:!0===a.endPosition?function(){return{x:l._xPos+e*c||0}}:function(){return{width:0}}})();
for(n=0;n<c;n++)if(l=g[0],g.splice(0,1),l&&l.graphics){p=l.graphics;for(m in p)if(p[m].hide(),"element"===m||"hotElement"===m)p[m]._.cubetop.hide(),p[m]._.cubeside.hide();l.graphics.element&&(d.element=d.element.concat(l.graphics.element));l.graphics.hotElement&&(d.hotElement=d.hotElement.concat(l.graphics.hotElement));l.graphics.label&&(d.label=d.label.concat(l.graphics.label))}f.pool=d;k&&a.setMaxMin()}},"Bar2D"]);FusionCharts.register("component",["datasetGroup","Column",{init:function(){this.positionStackArr=
[];this.stackSumValue=[];this.stackConfig=[];this.drawSumValueFlag=!0},addDataSet:function(a,f,g){var d=this.positionStackArr[f];a.groupManager=this;a.positionIndex=f;a.stackIndex=g;d||(d=this.positionStackArr[f]=[]);d[g]={dataSet:a}},removeDataSet:function(a,f,g){var d=this.positionStackArr[a];d&&d[f]&&d.splice(f,g);0===d.length&&this.positionStackArr.splice(a,1)},draw:function(){var a=this.positionStackArr,f=a.length,g,d,c,e,l=this.chart;g=l.config.viewPortConfig.scaleX||1;d=l.graphics.columnGroup;
e=l.graphics;c=l.components.canvas.config.clip["clip-canvas"].slice(0);e=e.datalabelsGroup;var k=l.get("config","animationObj"),l=k.animType,m=k.animObj,p=k.dummyObj,n=c[2],k=k.duration;c[2]*=g;d.animateWith(p,m,{"clip-rect":c},k,l);e.animateWith(p,m,{"clip-rect":[c[0],0,n,c[3]+c[1]]},k,l);this.preDrawCalculate();this.drawSumValueFlag=!0;for(g=0;g<f;g++)for(d=a[g],c=d.length,this.manageClip=!0,d=0;d<c;d++)e=a[g][d].dataSet,e.draw()},getDataSetPosition:function(a){var f=this.numVisiblePositions,g=
this.stackConfig[a.positionIndex||0];a=a.visible;var d;if(g){if(!a&&g.visible||0===f)d=0;return{xPosOffset:g.xPosOffset,columnWidth:g.columnWidth,height:d}}},preDrawCalculate:function(){var a=this.chart,f=a.config.transposeAxis,g=this.stackConfig,d=this.stackSumValue,c=this.positionStackArr,e=this.sumValues=[],k=this.dataLimits=[],m=!1,p=a.isStacked,n=c.length,q,w,E,t,r,s,v,A,z,h,F,D,B,C,H,G,J,I,M=a.isBar,Q=a.jsonData.chart,P=a.components.xAxis[0],T=l(M?Q.overlapbars:Q.overlapcolumns,a.is3D?0:1),
R=P.getAxisPosition(0),V=P.getAxisPosition(1),X=ra(V-R),U=na(l(Q.plotspacepercent),0),$=l(Q.plotpaddingpercent),R=na(l(Q.plotspacepercent,20)%100,0),Z=R/200,V=!0,ba,fa;for(v=this.numVisiblePositions=0;v<n;v++){A=c[v].length;J=g[v]||(g[v]={});J.visible=!1;J.previousVisibleCount=this.numVisiblePositions;for(I=0;I<A;I++)if(fa=Infinity,t=c[v][I],ba=t.dataSet.yAxis,t&&!1!==t.dataSet.visible&&(J.visible=!0),p){s=c[v][I+1];z=I;for(m=!1;0<=z&&!m;)m=(q=c[v][--z])&&q.dataSet.visible;r=t&&t.dataSet.components.data;
G=s&&s.dataSet.components.data;h=t.dataSet.components.data;F=q&&q.dataSet.components.data;h||(h=t.dataSet.components.data=[]);D=r&&r.length;for(s=0;s<D;s++){(B=h[s])||(B=h[s]={config:{}});C=F&&F[s];if(!C)for(;0<=z&&!C;)if(m=(q=c[v][--z])&&q.dataSet.visible)C=(F=q&&q.dataSet.components.data)&&F[s];B=B.config;B.value=m=ba.getCleanValue(r[s].config.setValue);H=C&&C.config;w=(H&&H.previousPositiveY||0)+(H&&(0<H.value?H.value:0)||0);E=(H&&H.previousNegativeY||0)+(H&&(0>H.value?H.value:0)||0);B.previousPositiveY=
w;B.previousNegativeY=E;fa=Fa(fa,(E||w)+B.setValue);G&&G[s]&&G[s].config.setValue||(d[v]||(d[v]=[]),d[v][s]=w+(t.dataSet.visible&&ra(m))+ra(E),!d[v][s]&&(d[v][s]=1),e&&(e[v]||(e[v]=[]),e[v][s]=e[v][s]||{},null!==m&&(e[v][s].positive=w+(0<=m?t.dataSet.visible&&m:0),e[v][s].negative=E+(0>m?t.dataSet.visible&&m:0))))}s=c[v][I+1];z=I;if(!f)for(q=c[v][I-1],r=t&&t.dataSet.components.data,G=s&&s.dataSet.components.data,h=t.dataSet.components.data,F=q&&q.dataSet.components.data,D=r&&r.length,s=0;s<D;s++){B=
h[s];C=F&&F[s];if(!C)for(;0<=z&&!C;)C=(F=(q=c[v][--z])&&q.dataSet.components.data)&&F[s];B=B.config;B.value=m=ba.getCleanValue(r[s].config.setValue);H=C&&C.config;fa=Fa(fa,(E||w)+B.setValue);C=(H&&H.previousPositiveDataLimit||0)+(H&&(0<H.value?H.value:0)||0);H=(H&&H.previousNegativeDataLimit||0)+(H&&(0>H.value?H.value:0)||0);B.previousPositiveDataLimit=C;B.previousNegativeDataLimit=H;G&&G[s]&&G[s].config.setValue||!k||(k[v]||(k[v]=[]),k[v][s]=k[v][s]||{},null!==m&&(k[v][s].positive=C+(0<=m?m:0),k[v][s].negative=
H+(0>m?m:0)))}fa&&(t.dataSet.config.minValue=fa)}J.visible&&(this.numVisiblePositions+=1)}f&&(this.dataLimits=this.sumValues);f=this.numVisiblePositions;v=ra(l(M?Q.maxbarheight:Q.maxcolwidth,a.maxColWidth||50));a=(1-.01*U)*X||Fa(X*(1-2*Z),v*(f||1));M=a/2;Q=0===f?a:a/f;T=Fa(Q-1,1<f?T||void 0!==$?0<$?Q*$/100:0:4:0);for(v=0;v<n;v++)g=this.stackConfig[v],$=g.previousVisibleCount,g.xPosOffset=$*Q-M+T/2,Q-=T,g.columnWidth=g.visible||0===f?Q:0,Q+=T;n=P.getAxisPosition(0)-M;4>P.getAxisPosition(1)-M-(n+a)&&
(V=!1);"0"==R&&(V=!0);this.isCrisp=V},getMaxSumValueSpace:function(){var a=this.stackSumValue,f=this.chart,g={},d=a.length,c=f.components.numberFormatter,e,l=0,k=0,m,p,n,q=f.linkedItems.smartLabel;m=f.config.dataLabelStyle;q.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);q.setStyle(m);for(f=0;f<d;f++)for(m=a[f],n=m.length,p=0;p<n;p++)g=m[p],g=c.dataLabels(g),g=q.getOriSize(g),e=g.width,g=g.height,k=na(k,e),l=na(l,g);return{maxWidth:k,maxHeight:l}},drawSumValue:function(){var a=this.chart,
f=a.components,g=f.paper,d=this.positionStackArr,c=this.stackConfig,e,k,f=f.xAxis[0],m,p=a.isStacked,n,q=a.config.dataLabelStyle,w,t,r,z,s,v,A,F,h,D,B=this.sumValuesDrawn,C,H,G,J=f.getPVR(),I,M=this.pool,Q=!1,P=!1,T=a.get("config","animationObj"),R=T.duration,V=T.dummyObj,X=T.animObj,T=T.animType,U,$;z=l(a.jsonData.chart.showsum,a.showsum,0);var Z=1,ba;ba=!1;var fa=this.sumValues;A=a.config.canvasTop;var ca=a.components.canvas.config.clip["clip-canvas"].slice(0),Ka,ea=a.graphics.sumLabelsLayer;ca[1]=
0;ca[3]+=A;this.drawSumValueFlag=!1;if(p)if(z){ea.show();!this.graphics&&(this.graphics={});e=this.graphics.sumLabels;p=this.graphics.sumLabelContainer;e||(e=this.graphics.sumLabels=[]);p||(p=this.graphics.sumLabelContainer=[]);Q=e.length;z=fa.length;if(Q>z)for(;z<Q;z++){Ka=e[z].length;for(A=0;A<Ka;A++)k=e[z][A]||{},(t=k.element)&&t.hide().attr({"text-bound":[]});(A=p[z])&&A.hide();e.pop();p.pop()}Ka=d.length;for(z=0;z<Ka;z++){(e=p[z])||(e=p[z]=this.graphics.sumLabelContainer[z]||g.group("sumlabels",
ea));a.isRealTime&&e.attr({"clip-rect":ca});s=d[z][0].dataSet;m=s.yAxis;n=fa[z];F=f.getCategoryLen();v=this.graphics.sumLabels[z]=this.graphics.sumLabels[z]||[];D=0;c[z].visible||(P=!0);U=s.config.stack100Percent;$=c[z].xPosOffset;I=c[z].columnWidth;G=f.getPixel(F-1)+$;C=s.addDataArr&&s.addDataArr.length;Q=s.startPosition;H=this.removedSumLabels&&this.removedSumLabels[z]&&this.removedSumLabels[z].length;for(A=0;A<F;A++)if(ba=!1,k=l(s.config.rotateValues,0)?270:0,e.show(),t=n[A]||{},r=t.positive,h=
t.negative,!v[D]&&(v[D]={}),void 0===r&&void 0===h)D++;else if(t=r+h,t=m.dataLabels(t),w=ra(h)>r?h:r,r===h&&(t=""),t||""===t)r=q.backgroundColor,h=q.borderColor,r={text:t,"class":"fusioncharts-label",fill:q.color,"text-bound":[r,h,q.borderThickness,q.borderPadding,q.borderRadius,q.borderDash],"font-weight":q.fontWeight,"font-style":q.fontStyle,"font-family":q.fontFamily,"font-size":q.fontSize,"line-height":q.lineHeight,visibility:"visible"},t=v[D].element,t||(M&&M.sumLabels[z]&&M.sumLabels[z][0]?
(v[D].element=t=M.sumLabels[z][0],M.sumLabels[z].shift()):v[D].element=t=g.text(e),ba=!0),t.attr(r),r=this.getSumValueConfig({xValue:A,columnWidth:I,sumValue:w,xPosOffset:$,stack100percent:U,yAxis:m}),r=this.getSumValuePosition(t,{stack100percent:U,rotateValues:k,xPos:r.xPos,yPos:r.yPos,sumValue:w}),w=r.x,ba&&B&&(ba=Q,ba=!0===ba?NaN-J*(C-z):!1===ba?G+J*Z++:w,t.attr({x:ba,y:r.y,transform:g.getSuggestiveRotation(k,ba,r.y)}),ba=!1),r.transform=g.getSuggestiveRotation(k,w,r.y),ba&&t.attr(r),t.show().animateWith(V,
X,r,R,T),D++;H&&this.removeGraphics(z);P&&(e.hide(),P=!1)}}else ea.hide();this.sumValuesDrawn=!0},getSumValueConfig:function(a){var f=this.chart,g=a.columnWidth,d=a.yAxis,c=f.config.viewPortConfig,e=c.x,l=c.scaleX,c=a.stack100percent,k=a.sumValue,m=a.xPosOffset;a=f.components.xAxis[0].getAxisPosition(a.xValue)+m+e*l;d=d.getAxisPosition(c?100:k);return{xPos:a+.5*g,yPos:d}},getSumValuePosition:function(a,f){var g=this.chart,d=g.config,c=d.canvasBottom,e=d.canvasTop,l=g.is3D,k=f.stack100percent,m=d.yDepth,
d=d.xDepth,p,n=f.yPos,q,t=f.xPos,w=g.components.canvas.config.canvasBorderWidth,g=f.sumValue;q=f.rotateValues;a._state&&a._state.labelWidth||(p=a.getBBox(),a._state=q?{labelWidth:p.height,labelHeight:p.width}:{labelWidth:p.width,labelHeight:p.height});q=p=a._state.labelHeight;q=q/2+2;k?n=e<=p?q:e-q-w:(0<=g&&(e=n-e,n=e<p?n+q-e:n-q),0>g&&(n=c-n<p?n-q:n+q,l&&(t-=d,n+=m)));return{x:t,y:n}},removeGraphics:function(a){var f=this.removedSumLabels||[],g=this.positionStackArr[a][0].dataSet,d=g.endPosition,
c=g.config.rotateValues,e=this.chart,g=(e.config.realTimeConfig||{}).clear,l=e.components.paper,k=f[a]&&f[a].length||0,m=e.components.xAxis[0],p=this.pool||(this.pool={sumLabels:[]}),n=m.getPVR(),q=e.get("config","animationObj"),t,e=function(){this.hide()},m=q.dummyObj,w=q.animObj,z=q.transposeAnimDuration,s=q.animType,v;v=function(){return!1===d?function(a){var b=a.attr("x")-n*k;a=a.attr("y");return{x:b,transform:l.getSuggestiveRotation(c,b,a)}}:function(a){var b=a.attr("x")+n*k||0;a=a.attr("y");
return{x:b,transform:l.getSuggestiveRotation(c,b,a)}}}();p.sumLabels||(p.sumLabels=[]);for(q=0;q<k;q++)t=f[a][0]&&f[a][0].element,f[a].splice(0,1),t&&(void 0===d||g?t&&t.hide().attr({"text-bound":[]}):z?t.animateWith(m,w,v(t),z,s,e):(t.stop(),t.attr(v(t))),p.sumLabels[a]||(p.sumLabels[a]=[]),p.sumLabels[a]=p.sumLabels[a].concat(t))},removeSumLabels:function(a,f,g){var d=this.chart,c=(this.graphics||{}).sumLabels||[],e;if(c.length){this.removedSumLabels||(this.removedSumLabels=[]);this.removedSumLabels[g]||
(this.removedSumLabels[g]=[]);if(!this.removedSumLabels[g].length||!d.config._sumValuesUpdated){for(e=a;e<a+f;e++)c[g].push({});this.removedSumLabels[g]=this.removedSumLabels[g].concat(c[g].splice(a,f))}d.config._sumValuesUpdated=!0}},getDataLimits:function(){var a=this.chart,f=this.positionStackArr,g,d,c,e,l,k=-Infinity,m=Infinity,p,n;g=a.isStacked;var a=a.config.transposeAxis,q=-Infinity,t=Infinity;l=Infinity;this.preDrawCalculate();e=this.dataLimits;if(g){g=0;for(p=e.length;g<p;g++)for(c=e[g].length,
d=0;d<c;d++)n=e[g][d],void 0!==n.positive&&void 0!==n.negative&&(q=na(q,n.positive),t=Fa(t,n.negative),l=Fa(l,q));0===t&&(t=l)}e=f.length;for(g=0;g<e;g++)for(d=f[g],l=d.length,d=0;d<l;d++)c=f[g][d].dataSet,!1===c.visible&&a||(c=c.config,1===c.parentYAxis?(k=na(k,c.maxValue),m=Fa(m,c.minValue)):(q=na(q,c.maxValue),t=Fa(t,c.minValue)));this.maxValue=q;this.minValue=t;return{max:q,min:t,sYMax:k,sYMin:m}},manageSpace:function(){var a=this.positionStackArr,f,g,d,c,e=a.length,l={paddingLeft:-Infinity,paddingRight:-Infinity};
for(f=0;f<e;f++)for(d=a[f].length,c=0;c<d;c++)g=a[f][c].dataSet,g=g.manageSpace&&g.manageSpace()||{},l.paddingLeft=na(g.paddingLeft,l.paddingLeft),l.paddingRight=na(g.paddingRight,l.paddingRight);return l}}]);FusionCharts.register("component",["datasetGroup","realtimecolumn",{},"Column"]);FusionCharts.register("component",["datasetGroup","Waterfall2D",{},"column"]);FusionCharts.register("component",["datasetGroup","Column3d",{},"column"]);FusionCharts.register("component",["datasetGroup","bar2d",
{getSumValueConfig:function(a){var f=this.chart,g=a.columnWidth,d=a.yAxis,c=f.config.viewPortConfig,e=c.x,l=c.scaleX,c=a.stack100percent,k=a.sumValue,m=a.xPosOffset;a=f.components.xAxis[0].getAxisPosition(a.xValue)+m+e*l;d=d.getAxisPosition(c?100:k);return{xPos:d,yPos:a+.5*g}},getSumValuePosition:function(a,f){var g=this.chart,d=g.config,c=d.canvasLeft,e=d.canvasWidth,l=d.canvasRight,k=d.width,m=g.is3D,p=f.stack100percent,n=d.yDepth,d=d.xDepth,q,t,w={},z=f.sumValue,s=f.xPos,v=f.yPos,g=g.components.canvas.config.canvasBorderWidth;
t=f.rotateValues;a._state&&a._state.labelWidth||(q=a.getBBox(),a._state=t?{labelWidth:q.height,labelHeight:q.width}:{labelWidth:q.width,labelHeight:q.height});q=t=a._state.labelWidth;q=q/2+2;p?(s=void 0>=k-l?s+q:s+g,w["text-anchor"]="start"):0<=z?(c=c+e-s,c<t?(s=s-q+c,m&&(s-=d,v+=n)):s+=q):(c=s-c,c<t?(s=s+q-c-(m?d:0),v+=m?n:0):(s-=q,m&&(s-=d,v+=n)));w.x=s;w.y=v;return w}},"column"]);FusionCharts.register("component",["datasetGroup","bar3d",{},"bar2d"]);FusionCharts.register("component",["datasetGroup",
"scrollcolumn2d",{},"column"]);FusionCharts.register("component",["datasetGroup","Area",{draw:function(){var a=this.chart,f=a.graphics,g=this.positionStackArr,d,c=g.length;d=f.areaGroup;var f=f.columnGroup,e=a.components.paper,a=l(a.jsonData.chart.areaovercolumns,1);d.area=d.area||e.group("area",d);d.areaConnector=d.areaConnector||e.group("area-connector",d);d.shadows||(d.shadows=e.group("shadow",d).toBack());a?f&&d.insertAfter(f):d.toBack();this.preDrawCalculate();for(d=0;d<c;d++)for(a=g[d],a=a.length,
f=0;f<a;f++)e=g[d][f].dataSet,e.draw();this.drawn=!0}},"column"]);FusionCharts.register("component",["datasetGroup","scrollarea2d",{},"Area"]);FusionCharts.register("component",["dataset","area",{type:"area",_parseShadowOptions:function(){var a=this.chart,f=this.config,g=a.jsonData.chart,a=l(a.defaultPlotShadow,a.components.colorManager.getColor("showShadow"));return{opacity:l(g.showshadow,a)?f.lineAlpha/100:0}},configure:function(){var a=this.chart,f=a.components,g=a.config,c=this.config,e=this.JSONData,
k=a.jsonData.chart,p=a.singleseries,n=f.colorManager,q=l(this.index,this.stackIndex),t=l(e.showplotborder,k.showplotborder||1),w=!p||ga(k.palettecolors)?n.getPlotColor(q):n.getColor("plotFillColor").split(/\s*\,\s*/)[0],K=a.areaAlpha,E=a.use3dlineshift,z=a.isDual,q=l(e.dashed,k.linedashed),r=a.isStacked,s=a.hasLineSet;c.use3dlineshift=void 0!==E?l(k.use3dlineshift,E):1;c.plotColor=w;c.drawFullAreaBorder=l(k.drawfullareaborder,1);c.parentYAxis=z?s?1:"s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),
"p")?1:0:0;this.yAxis=f.yAxis[c.parentYAxis];c.connectNullData=l(k.connectnulldata,0);c.includeInLegend=l(e.includeinlegend,1);c.enableAnimation=f=l(k.animation,k.defaultanimation,1);c.animation=f?{duration:1E3*l(k.animationduration,1)}:!1;c.transposeanimation=l(k.transposeanimation,f);c.transposeanimduration=1E3*l(k.transposeanimduration,.2);c.showValues=l(e.showvalues,k.showvalues,g.showValues,a.showValues,1);c.valuePadding=l(k.valuepadding,2);if(g=d(e.valueposition,k.valueposition,"auto"))c.valuePosition=
g.toLowerCase();c.stack100Percent=g=l(k.stack100percent,0);c.showPercentValues=l(k.showpercentvalues,r&&g?1:0);c.showPercentInToolTip=l(k.showpercentintooltip,r&&g?1:0);c.showTooltip=l(k.showtooltip,1);c.seriesNameInTooltip=l(k.seriesnameintooltip,1);c.plotFillColor=d(e.color,k.plotfillcolor,w);c.plotFillAngle=d(k.plotfillangle,270);c.plotFillAlpha=d(e.alpha,k.plotfillalpha,K,p?"90":"70");w=l(k.useplotgradientcolor,1);c.plotGradientColor=0!==w?m.getDefinedColor(k.plotgradientcolor,n.getColor("plotGradientColor")):
"";c.fillColor={color:c.plotFillColor+(c.plotGradientColor?","+c.plotGradientColor:""),alpha:c.plotFillAlpha,angle:c.plotFillAngle};c.plotBorderAlpha=t?d(e.plotborderalpha,k.plotborderalpha,e.alpha,k.plotfillalpha,"95"):0;c.plotBorderColor=d(e.plotbordercolor,k.plotbordercolor,k.areabordercolor,p?ga(k.palettecolors)?n.getPlotColor(0):n.getColor("plotBorderColor").split(/\s*\,\s*/)[0]:"666666");c.dashed=t=l(e.dashed,k.plotborderdashed);c.plotBorderDashLen=d(e.plotborderdashlen,k.plotborderdashlen,
5);c.plotBorderDashGap=d(e.plotborderdashgap,k.plotborderdashgap,4);c.plotBorderThickness=l(e.plotborderthickness,k.plotborderthickness,1);c.plotBorderDashStyle=t?m.getDashStyle(c.plotBorderDashLen,c.plotBorderDashGap,c.plotBorderThickness):"none";a.config.stack100Percent=c.stack100Percent;c.showHoverEffect=l(k.plothovereffect,k.anchorhovereffect,k.showhovereffect,void 0);c.rotateValues=l(k.rotatevalues)?270:0;c.lineThickness=l(e.linethickness,k.linethickness,p?4:2);c.lineDashLen=l(e.linedashlen,
k.linedashlen,5);c.lineDashGap=l(e.linedashgap,k.linedashgap,4);c.lineAlpha=l(e.alpha,k.linealpha,ba);c.lineColor=d(e.color,k.linecolor,c.plotColor);c.lineDashed=l(e.dashed,k.linedashed);c.legendSymbolColor="line"===this.type?c.lineColor:c.plotFillColor;p=m.getDashStyle(c.lineDashLen,c.lineDashGap,c.lineThickness);c.lineDashStyle=q?p:"none";c.showShadow=l(k.showshadow,1);c.shadow=this._parseShadowOptions();c.drawAnchors=l(e.drawanchors,e.showanchors,k.drawanchors,k.showanchors);c.anchorBgColor=d(e.anchorbgcolor,
k.anchorbgcolor,n.getColor("anchorBgColor"));c.anchorBorderColor=d(e.anchorbordercolor,k.anchorbordercolor,c.lineColor,c.plotColor);c.anchorRadius=l(e.anchorradius,k.anchorradius,3);c.anchorAlpha=d(e.anchoralpha,k.anchoralpha,a.anchorAlpha);c.anchorBgAlpha=d(e.anchorbgalpha,k.anchorbgalpha,100);c.anchorBorderThickness=d(e.anchorborderthickness,k.anchorborderthickness,1);c.anchorSides=d(e.anchorsides,k.anchorsides,1);c.minimizeTendency=l(k.minimizetendency,k.minimisetendency,0);c.anchorImageUrl=d(e.anchorimageurl,
k.anchorimageurl);c.anchorImageAlpha=l(e.anchorimagealpha,k.anchorimagealpha,100);c.anchorImageScale=l(e.anchorimagescale,k.anchorimagescale,100);c.anchorImagePadding=l(e.anchorimagepadding,k.anchorimagepadding,1);c.anchorStartAngle=l(e.anchorstartangle,k.anchorstartangle,90);c.anchorShadow=l(e.anchorshadow,k.anchorshadow,0);this.components.data=this.components.data||(this.components.data=[]);this.visible=1===l(e.visible,!Number(e.initiallyhidden),1);this._setConfigure();this._realTimeConfigure&&
this._realTimeConfigure();!1!==a.hasLegend&&this._addLegend()},_setConfigure:function(a,f){var g=this.chart,c=m.parseUnsafeString,e=this.config,k=this.JSONData,p=g.jsonData.chart,n=a||k.data||[],q,t=g.components.xAxis[0],w=a?a.data.length:t.getCategoryLen(),K,E,z,r,s,v,A,F=-Infinity,h=Infinity,D=c(p.yaxisname),B=c(p.xaxisname),C=this.yAxis,H=d(p.tooltipsepchar,", "),G=l(k.dashed,p.linedashed),J;K=this.components.data;K||(K=this.components.data=[]);for(z=0;z<w;z++)a?(g=a&&a.data[z]||{},J=void 0!==
f?f+z:K.length-w+z,q=K[J]):(q=K[z],g=n&&n[z]||{}),E=q&&q.config,q||(q=K[z]={}),q.config||(E=K[z].config={}),q.graphics||(q.graphics={}),r=l(J+1,z),E.setValue=s=C.getCleanValue(g.value,e.stack100Percent),E.setLink=d(g.link),E.anchorProps=this._parseAnchorProperties(r),v=t.getLabel(r),E.label=ga(c(v.tooltext||v.oriLabel||v.label)),E.showValue=l(g.showvalue,e.showValues),E.dashed=l(g.dashed,G),E.dashStyle=E.dashed?m.getDashStyle(e.lineDashLen,e.lineDashGap,e.lineThickness):"none",E.color=d(g.color,e.lineColor),
E.setColor=g.color,E.setAlpha=g.alpha,E.setDashed=g.dashed,E.alpha=d(g.alpha,g.linealpha,e.lineAlpha),null!==s&&(F=na(F,s),h=Fa(h,s)),E.setTooltext=c(g.toolText),E.toolTipValue=s=C.dataLabels(s),E.setDisplayValue=v=c(g.displayvalue),E.displayValue=d(v,s),E.formatedVal=s=E.toolTipValue,t.getLabel(r),E.setTooltext=m.getValidValue(c(d(g.tooltext,k.plottooltext,p.plottooltext))),E.valuePosition=d(g.valueposition,e.valuePosition),E.valuePosition&&(E.valuePosition=E.valuePosition.toLowerCase()),e.showTooltip?
null===s?r=!1:void 0!==E.setTooltext?(r=[1,2,3,4,5,6,7],s={yaxisName:D,xaxisName:B,formattedValue:s,label:E.label},r=m.parseTooltext(E.setTooltext,r,s,g,p,k)):(e.seriesNameInTooltip&&(A=m.getFirstValue(k&&k.seriesname)),r=A?A+H:"",r+=E.label?E.label+H:""):r=!1,E.toolText=r,E.setLevelTooltext=E.setTooltext,E.setTooltext=r,E.hoverEffects=this._parseHoverEffectOptions(q,g),E.anchorProps.isAnchorHoverRadius=E.hoverEffects.anchorRadius;e.maxValue=F;e.minValue=h;this.ErrorValueConfigure&&this.ErrorValueConfigure()},
init:function(a){var f=this.chart,g=f.components,f=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0,g=g.yAxis[f];this.JSONData=a;this.yAxis=g;this.components={};this.graphics={};this.configure()},draw:function(){var b=this,f=b.chart,g=f.graphics,c=f.config,e=f.components,l=b.JSONData,k=f.jsonData.chart,n=b.config,q=f.isStacked,w=b.groupManager.stackSumValue[0],z=b.stackIndex,K,E,r,D=e.paper,s=e.xAxis[0],v=b.yAxis,A,B,h,C=n.showTooltip,H,G=b.components.data,J=b.components.removeDataArr||
[],I=J.length,M,Q,P,T,R,V,U,$,ba,Z=c.style,fa={fontFamily:Z.fontFamily,fontSize:Z.fontSize,lineHeight:Z.lineHeight,fontWeight:Z.fontWeight,fontStyle:Z.fontStyle,color:Z.color},ea=g.areaGroup,ya=v.getAxisBase(),Aa,ma,Ka=n.plotBorderColor,ia=n.plotBorderAlpha,da=n.plotBorderDashStyle,va=n.plotBorderThickness,ka=b.graphics.container,sa=b.graphics.trackerContainer,la=g.trackerGroup,oa,ha=m.parseUnsafeString,ra=n.fillColor,qa=f.is3D,ua=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||
(ka.areaGroup.hide(),Ha.hide(),ka.anchorShadowGroup.hide(),ka.anchorGroup.hide(),sa.hide(),Ja&&Ja.hide(),b._conatinerHidden=!0)},Ba=function(){!1!==b.visible&&(ka.anchorShadowGroup.show(),ka.anchorGroup.show(),Ja.show(),Ha.show());ea.area.attr({"clip-rect":null});ea.area.node&&ea.area.node.removeAttribute("clip-path");f._animCallBack()},Ca=n.shadow,za,wa=b.visible,Fa,Ha=b.graphics.shadowContainer,Ia,Ea={},Da=g.datalabelsGroup,Ja=b.graphics.dataLabelContainer,Na=s.getPVR(),Oa,Pa=qa?10:0,Ta,yb=qa?10:
0,bb=n.anchorRadius,cb=f.components.scrollBar,$a=f.components.canvas.config.clip,Sa=p([],$a["clip-canvas"]),Ra=p([],$a["clip-canvas-init"]),Ya=c.height,db=!n.drawFullAreaBorder,fb=b.graphics.connector,Za=b.components.pool||(b.components.pool={}),Xa=0,hb=!0!==b.drawn,nb,pb,ab,ib=b.startPosition,gb={},Wa={},rb=f.get("config","animationObj")||{},kb=rb.duration,ob=rb.dummyObj,Cb=rb.animObj,Db=rb.animType,qb=n.lastPath||{},sb,Eb=!0,Pb,Hb,wb,jb,lb,xb=f.config.viewPortConfig,Ib=xb.x,mb=xb.scaleX,tb,Lb,ub,
Nb,Gb,Mb,Jb=b.chart.config.realTimeConfig&&b.chart.config.realTimeConfig.clear,$b=n.noOfImages=n.noOfImages||(n.noOfImages=0),Wb=!hb&&kb;b.noOfNewDataAtEnd=0;ka||(ka=b.graphics.container={anchorShadowGroup:D.group("anchor-shadow",ea.areaConnector),areaGroup:D.group("area",ea.area),anchorGroup:D.group("anchors",ea.areaConnector)},wa||(ka.anchorShadowGroup.hide(),ka.areaGroup.hide(),ka.anchorGroup.hide()));Ha||(Ha=b.graphics.shadowContainer=D.group("shadows",ea.shadows),wa||Ha.hide());sa||(sa=b.graphics.trackerContainer=
D.group("area-hot",la));Ja||(Ja=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||D.group("datalabel",Da),wa||Ja.hide());wa&&(ka.anchorShadowGroup.show(),ka.areaGroup.show(),ka.anchorGroup.show(),Ha.show(),Ja.show(),sa.show(),b._conatinerHidden=!1);n.groupMaxWidth=s.getAxisPosition(1)-s.getAxisPosition(0);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",fa);K=s.getCategoryLen();Oa=Na*K;if(Jb)for(r=0,K=J.length;r<K;r++)b._removeDataVisuals(J.shift());else b._shiftOffRemovedPoints();
gb=n.removePath;f.isRealTime&&(Sa[1]=0,Sa[3]=Ya,ka.areaGroup.attr({"clip-rect":Sa}),Ja.attr({"clip-rect":Sa}),ka.anchorGroup.attr({"clip-rect":Sa}),ka.anchorShadowGroup.attr({"clip-rect":Sa}),Ha.attr({"clip-rect":Sa}));for(r=0;r<K;r++)H=(M=G[r])&&M.config,M&&void 0!==H.setValue&&(M.graphics||(M.graphics={}),nb=s.getLabel(r).label,V=H.setValue,R=H.setLink,Ea=H.anchorProps||{},Ia=Ea.shadow,A=ga(ha(d(H.setLevelTooltext,l.plottooltext,k.plottooltext))),H&&(Aa=0<=V?H.previousPositiveY:H.previousNegativeY),
q&&V&&(Aa=b._parseValues(r,Aa,w[r],A),V=H.value),P=M.graphics.element,tb=M.graphics.image,T=M.graphics.hotElement,null!==V?(ma=v.getAxisPosition(Aa||ya)+yb,h=!b.visible&&kb?ma:v.getAxisPosition(V+(Aa||0))+yb,B=s.getAxisPosition(r)-Pa+Ib*mb,B=ca(B,va,va).position,h=ca(h,va,va).position,Lb=Ea.symbol,ub=Ea.radius,Nb=Ea.startAngle,Pb=Ea.bgColor,lb=Ea.bgAlpha,Hb=Ea.borderColor,jb=Ea.borderAlpha,wb=Ea.borderThickness,za=H.hoverEffects,Q=C?H.toolText+(A?"":H.toolTipValue):"",U={index:r,link:R,value:V,displayValue:H.displayValue,
categoryLabel:nb,toolText:Q,id:b.userID,datasetIndex:z||0,datasetName:l.seriesname,visible:wa},za.enabled&&(H.setRolloverAttr={polypath:[za.anchorSides||2,B,h,za.anchorRadius,za.startAngle,za.dip],fill:F({color:za.anchorColor,alpha:za.anchorBgAlpha}),stroke:F({color:za.anchorBorderColor,alpha:za.anchorBorderAlpha}),"stroke-width":za.anchorBorderThickness},H.setRolloutAttr={polypath:[Ea.symbol[1]||2,B,h,Ea.radius,Ea.startAngle,0],fill:F({color:Ea.bgColor,alpha:Ea.bgAlpha}),stroke:F({color:Ea.borderColor,
alpha:Ea.borderAlpha}),"stroke-width":Ea.borderThickness},ba=H.setRolloverAttr,$=H.setRolloutAttr),Mb={polypath:[Lb[1]||2,B,h,ub,Nb,0]},Gb=!1,!P&&Wb&&!0!==ib&&(ab=K+Xa,pb=s.getPixel(ab),M._baseXPos=M._xPos=pb,M._yPos=h,M._baseYPos=ma,qb=this.getLinePath([M],qb),Xa++),Ea.imageUrl?(Fa=new a,Fa.onload=b._onAnchorImageLoad(b,r,U,B,h,M),Fa.onerror=b._onErrorSetter(b,r),Fa.src=Ea.imageUrl,$b++):(tb&&tb.hide(),P||(Za.element&&Za.element.length?P=M.graphics.element=Za.element.shift():(P=M.graphics.element=
D.polypath(ka.anchorGroup),P.attr(Mb),Gb=!0),Wb&&P.attr({polypath:[Ea.symbol[1]||2,pb,h,Ea.radius,Ea.startAngle,0]})),P.show().attr({transform:""}).animateWith(ob,Cb,Mb,kb,Db,Eb&&ua),P.attr({fill:F({color:Pb,alpha:lb}),stroke:F({color:Hb,alpha:jb}),"stroke-width":wb,visibility:ub?wa:"hidden"}).shadow(Ia,ka.anchorShadowGroup),kb||Eb&&ua(),Eb=!1,tb&&tb.hide(),za.enabled&&P&&P.data("anchorRadius",Ea.radius).data("anchorHoverRadius",za.anchorRadius).data("setRolloverAttr",ba).data("setRolloutAttr",$),
bb=na(Ea.radius,za&&!q&&za.anchorRadius||0,X),E={cx:B,cy:h,r:bb,cursor:R?"pointer":"",stroke:t,"stroke-width":Ea.borderThickness,fill:t,ishot:!0,visibility:"visible"},T=M.graphics.hotElement,T||(Za.hotElement&&Za.hotElement.length?(T=M.graphics.hotElement=Za.hotElement.shift(),T.show()):(T=M.graphics.hotElement=D.circle(E,sa),Gb=!0)),T.show().attr(E),(T||P).data("eventArgs",U).data("groupId",void 0).data("hoverEnabled",za.enabled).data("dataset",b).tooltip(Q),Gb&&(T||P).click(b.getPlotClickFn(f)).hover(b.rolloverResponseSetter(M,
f),b.rolloutResponseSetter(M,f)))):(P&&P.hide(),tb&&tb.hide(),T&&T.hide()),M._xPos=B,M._yPos=h,M._baseXPos=B,M._baseYPos=ma,b.drawLabel(r));n.noOfImages=$b;Wa=this.getLinePath(G,{});I&&f.isRealTime?(gb=this.getLinePath(G,gb),sb=gb.getPathArr()):sb=Wa.getPathArr();n.lastPath=Wa;cb&&(Ta=cb.conf.startPercent,Sa[2]=Oa+Ra[0],1===Ta&&(Ra[0]=Sa[2],Sa[0]=0));Sa[3]+=yb;(oa=b.graphics.lineElement)?kb&&f.isRealTime&&oa.attr({path:qb.getPathArr()}):(oa=b.graphics.lineElement=D.path(ka.areaGroup),oa.attr({path:Wa.getPathArr()}).shadow(Ca,
Ha),kb&&wa&&(ka.anchorGroup.hide(),ka.anchorShadowGroup.hide(),Ha.hide(),Ja.hide(),ea.area.attr({"clip-rect":Ra}).animate({"clip-rect":Sa},kb,Db,Ba)));Jb?oa.hide():oa.show().animateWith(ob,Cb,{path:sb},kb,Db,Eb&&ua);Eb=!1;oa.attr({stroke:F({color:Ka,alpha:ia}),"stroke-width":db?0:va,fill:F(ra),"stroke-linecap":"round","stroke-linejoin":2<va?"round":"miter","stroke-dasharray":da});db&&(fb=b.graphics.connector,fb||(fb=b.graphics.connector=D.path({path:Wa.pathArr,stroke:F({color:Ka,alpha:ia}),"stroke-width":va,
"stroke-linecap":"round","stroke-linejoin":2<va?"round":"miter","stroke-dasharray":da},ka.areaGroup)),fb.show().animateWith(ob,Cb,{path:sb},kb,Db));b.drawn=!0},getPathArr:function(){var a=this.pathArr,f=this.path2Arr;return a.length||f.length?a.concat(f):[]},_getPathString:function(a){var f=a.length,g="",d;for(d=0;d<f;d+=1)g+=" "+a[d];return g},getLinePath:function(a,f,g){var d=this.config.connectNullData,c=f||{};f=c.lastValidValue||!1;var e=c.temp||[],l=c.temp2||[],k=c.pathArr||[],m=c.path2Arr||
[],p,n,q,t,w=a.length,c=c.pointsJoined||0,r,s,w=g&&g.end||w;for(g=g&&g.begin||0;g<w;g++)if(r=a[g])p=r.config,s=p.setValue,void 0!==s&&(p=r._xPos,n=r._yPos,q=r._baseXPos,t=r._baseYPos,null===s?d||(0<c&&("Z"!==m[m.length-1]&&void 0!==t&&m.push("Z"),k=k.concat(m),m=[]),e=[],l=[],f=!1):f?(e.length&&(k=k.concat(e),void 0!==q&&(m=l,l=[]),e=[],c++),k.push(p,",",n),void 0!==t&&m.unshift(p,",",t)):(e.push("M",p,",",n,"L"),void 0!==t&&l.push(q,",",t),c=0,f=!0));"Z"!==m[m.length-1]&&0<c&&void 0!==t&&m.push("Z");
return{pathArr:k,path2Arr:m,lastValidValue:f,pointsJoined:c,temp:e,temp2:l,getPathArr:this.getPathArr}},_shiftOffRemovedPoints:function(){var a=this,f=a.chart,g=a.config,d=a.components.removeDataArr,c,e=f.components.xAxis[0].getPVR();c=f.get("config","animationObj");var f=c.duration,l=a.drawn&&f,k=c.dummyObj,m=c.animObj,p=c.animType,n,q,t,w,r,s={},v,A,z=a.components.removeElementsArr=a.components.removeElementsArr||(a.components.removeElementsArr=[]),h=g.hideAnimFlag=!1,F=function(){var f=a.components.removeElementsArr,
g=f.length,d;for(d=0;d<g;d++)a._removeDataVisuals(f.shift())},D,B;if(d){c=d.length;for(v=0;v<c;v++){if(B=d[0])if(z.push(B),l){n=B.config.setValue;q=B._xPos;if(void 0==q){d.splice(0,1);continue}t=B.graphics.element;w=B.graphics.label;r=B.graphics.image;A=B.graphics.connector;null!==n&&(n=c*e,D="T,"+-n+",0",B._xPos=q-n,q=B._xPos,B._baseXPos=q,t&&t.animateWith(k,m,{transform:D},f,p,!h&&F),g.hideAnimFlag=!0,w&&w.animateWith(k,m,{transform:D},f,p),r&&r.animateWith(k,m,{transform:D},f,p),A&&A.hide());s=
a.getLinePath([B],s)}else F();d.splice(0,1)}g.removePath=s}},_removeDataVisuals:function(a){var f=this.components.pool||(this.components.pool={}),g,d,c;if(a)for(g in d=a.graphics,d)a=f[g]||(f[g]=[]),c=d[g],c.hide&&"function"===typeof c.hide&&(c.attr({"text-bound":[]}),c.hide(),c.shadow&&c.shadow(!1)),a.push(d[g])},_parseAnchorProperties:function(a,f){var g=this.config,c=this.type,e="area"===(!this.chart.anchorAlpha&&c)?0:1,k=this.JSONData,p=this.chart.jsonData.chart,n=(f||k.data||[])[a]||{},c={},
q=m.graphics.mapSymbolName,t,w;t=void 0!==d(n.anchorstartangle,k.anchorstartangle,p.anchorstartangle,n.anchorimagealpha,k.anchorimagealpha,p.anchorimagealpha,n.anchorimagescale,k.anchorimagescale,p.anchorimagescale,n.anchorimagepadding,k.anchorimagepadding,p.anchorimagepadding,n.anchorimageurl,k.anchorimageurl,p.anchorimageurl,n.anchorradius,k.anchorradius,p.anchorradius,n.anchorbgcolor,k.anchorbgcolor,p.anchorbgcolor,n.anchorbordercolor,k.anchorbordercolor,p.anchorbordercolor,n.anchoralpha,k.anchoralpha,
p.anchoralpha,n.anchorsides,k.anchorsides,p.anchorsides,n.anchorborderthickness,k.anchorborderthickness,p.anchorborderthickness,void 0);w=l(n.drawanchors,g.drawAnchors);c.enabled=t?l(w,t):l(w,e);c.startAngle=l(n.anchorstartangle,g.anchorStartAngle);c.imageAlpha=l(n.anchorimagealpha,g.anchorImageAlpha);c.imageScale=l(n.anchorimagescale,g.anchorImageScale);c.imagePadding=l(n.anchorimagepadding,g.anchorImagePadding);0>c.imagePadding&&(c.imagePadding=0);c.imageUrl=d(n.anchorimageurl,g.anchorImageUrl);
c.radius=l(n.anchorradius,g.anchorRadius);c.isAnchorRadius=d(n.anchorradius,k.anchorradius,p.anchorradius);c.bgColor=d(n.anchorbgcolor,g.anchorBgColor);e=c.enabled?$(d(n.anchoralpha,g.anchorAlpha,c.enabled?ba:"0")):0;c.anchorAlpha=e;c.bgAlpha=$(d(n.anchorbgalpha,g.anchorBgAlpha,e))*e/100;c.imageAlpha=c.imageAlpha*e/100;c.borderColor=d(n.anchorbordercolor,g.anchorBorderColor);c.borderAlpha=e;c.sides=d(n.anchorsides,g.anchorSides);c.borderThickness=d(n.anchorborderthickness,g.anchorBorderThickness);
c.symbol=q(c.sides).split("_");g=l(n.anchorshadow,g.anchorShadow)&&1<=c.radius;c.shadow={opacity:g?e/100:0};return c},_onErrorSetter:function(a,f){return function(){a.drawLabel(f)}},_onAnchorImageLoad:function(a,f,g,d,c,e){return function(){var l=a.chart,k=a.config,m=l.components.paper,n=a.components.data,q=void 0!==e?e:n[f],w=q.config,E=q.graphics,r=w.anchorProps,z=a.graphics.container,s=z.anchorGroup,v=z.anchorShadowGroup,z=!1===a.visible?"hidden":"visible",A=l.get("config","animationObj"),D=A.dummyObj,
h=A.animObj,B=A.animType,A=A.duration,C=r.imageUrl,H=l.components.xAxis[0],G=n.length,n=w.hoverEffects,J=q.config.showValue,I=r.imageScale,Q=r.imageAlpha,P=n.imageHoverAlpha,T=n.imageHoverScale,R=this.height*I*.01,V=this.width*I*.01,X=this.width*T*.01,U=this.height*T*.01,$=k.showTooltip,ba=a.startPosition,Z=a.noOfNewDataAtEnd,fa=a.allImagesDrawn&&A,ca=w.setLink,Aa=w.groupId||"",ma,ea,ia,ga,va,ka,sa,da,la,oa,ha,ra=a.config.animFlag,qa=g.toolText,Ba=a.graphics.trackerContainer,ua=k.noOfImages,za=k.noOfImagesDrawn=
k.noOfImagesDrawn||(k.noOfImagesDrawn=0),za=a.components.pool||{};if(!w.isRemoving){if(M){if(va={x:d-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q},da={x:d-this.width*T*.005,y:c-this.height*T*.005,width:X,height:this.height*T*.01,alpha:P},(P=E.element)&&"image"!==P.type&&(P.remove(),P=E.element=null),P||(E.element=P=m.image(C,s)),P.css({opacity:.01*Q}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",da).data("setRolloutAttr",va).data("imgRef",
this).data("anchorRadius",I).data("anchorHoverRadius",T),P.animateWith(D,h,va,A,B),ca||$||n)ma=E.hotElement?E.hotElement:E.hotElement=m.circle(Ba),ma.attr({cx:d,cy:c,r:Fa(V,R)/2}).attr({cursor:ca?"pointer":"",stroke:t,"stroke-width":r.borderThickness,fill:t,ishot:!0,visibility:z}).data("eventArgs",g).data("groupId",Aa).data("dataset",a).data("hoverEnabled",n.enabled).click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,l),a.rolloutResponseSetter(q,l)).tooltip(qa)}else{ea=r.symbol[1];ka=n.isAnchorHoverRadius;
w=r.isAnchorRadius;w=r.radius=w?r.radius:Fa(V,R)/2;ia=r.shadow;va=r.imagePadding;n.radius=ka?n.anchorRadius:w+1;ga=n.radius-va-.5*n.anchorBorderThickness;ka=w-va-.5*r.borderThickness;da={};ha=[ea||2,d,c,w,r.startAngle,void 0];oa={fill:F({color:r.bgColor,alpha:r.bgAlpha}),"stroke-width":r.borderThickness,stroke:F({color:r.borderColor,alpha:r.borderAlpha})};va=p({polypath:ha},oa);n&&(da={polypath:[n.anchorSides||2,d,c,n.radius,n.startAngle,n.dip],fill:F({color:n.anchorColor,alpha:n.anchorBgAlpha}),
"stroke-width":n.anchorBorderThickness,stroke:F({color:n.anchorBorderColor,alpha:n.anchorBorderAlpha})},sa=na(n.anchorAlpha,n.anchorBorderAlpha),P>sa&&(P=sa));r.bgAlpha&&r.borderAlpha&&(sa=na(r.bgAlpha,r.borderAlpha),Q>sa&&(Q=sa));sa=E.element;ha={polypath:va.polypath};sa||(za.element&&za.element.length?sa=E.element=za.element.shift():(sa=E.element=m.polypath(s),sa.attr(ha)),fa&&!0!==ba&&(la=H.getPixel(G+Z),a.noOfNewDataAtEnd+=1,H=[ea||2,la,c,w,r.startAngle,void 0],sa.attr({transform:"",polypath:H})));
sa&&sa.attr({transform:""});sa.show().animateWith(D,h,ha,A,B,ra&&void 0).attr(oa);ra=a.config.animFlag=!1;sa.attr({fill:F({color:r.bgColor,alpha:r.bgAlpha}),ishot:!$,"stroke-width":r.borderThickness,stroke:F({color:r.borderColor,alpha:r.borderAlpha}),cursor:ca?"pointer":"",visibility:w?"visible":"hidden"}).data("alwaysInvisible",!w).data("setRolloverProperties",n).data("setRolloverAttr",da).data("setRolloutAttr",va).data("anchorRadius",w).data("anchorHoverRadius",n&&n.radius).shadow(ia,v);v=m.polypath(ea||
2,d,c,0<ka?ka:0,r.startAngle,void 0,s).attr({visibility:"hidden"});va=a._getPathString(v.attrs.path);v.remove();v=m.polypath(ea||2,d,c,0<ga?ga:0,n.startAngle,n.dip,s).attr({visibility:"hidden"});H=a._getPathString(v.attrs.path);v.remove();r.imgRefWidth=this.width;r.imgRefHeight=this.height;r.imgRefScale=I;r.rolloutClipRadius=ka;va={x:d-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q,"clip-path":va};da={x:d-this.width*T*.005,y:c-this.height*T*.005,width:X,height:U,alpha:P,"clip-path":H};
P=E.image;P||(za.image&&za.image.length?(P=E.image=za.image.shift(),P.show()):E.image=P=m.image(C,s),fa&&(v=m.polypath(ea||2,la,c,0<ka?ka:0,r.startAngle,void 0).attr({visibility:"hidden"}),s=a._getPathString(v.attrs.path),v.remove(),la={x:la-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q,"clip-path":s},P.attr({transform:""}).attr(la)));P.attr({src:C});P.attr({visibility:w?"visible":"hidden"}).css({opacity:.01*Q}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",
da).data("setRolloutAttr",va).data("anchorRadius",I).data("imgRef",this).data("anchorHoverRadius",T);P.attr({transform:""}).animateWith(D,h,{x:va.x,y:va.y,width:va.width,height:va.height,"clip-path":va["clip-path"]},A,B,ra&&void 0);P.attr({alpha:va.alpha});if(ca||$||n)w=na(w,n&&n.anchorRadius||0,2),E.hotElement?ma=E.hotElement.attr({cx:d,cy:c,r:w}):za.hotElement&&za.hotElement.length?ma=E.hotElement=za.hotElement.shift():(ma=E.hotElement=m.circle({cx:d,cy:c,r:w},Ba),ma.click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,
l),a.rolloutResponseSetter(q,l))),ma.attr({cursor:ca?"pointer":"",stroke:t,"stroke-width":r.borderThickness,fill:t,ishot:!0,visibility:z});(ma||P).data("eventArgs",g).data("groupId",Aa).data("dataset",a).data("hoverEnabled",n.enabled).tooltip(qa)}q._xPos=d;q._yPos=c;a.drawTracker&&a.drawTracker(f);J&&a.drawLabel(f,d,c,q);za=k.noOfImagesDrawn+=1;za===ua&&(a.allImagesDrawn=!0)}}},_hideGraphics:function(a){var f,g;for(g in a)a.hasOwnProperty(g)&&(f=a[g])&&(f.hide?f.hide():this._hideGraphics(f))},getPlotClickFn:function(a){return function(f){ea.call(this,
a,f)}},show:function(){var a=this.chart,f=this.yAxis;a._chartAnimation();this.visible=!0;this._conatinerHidden=!1;a.config.transposeAxis&&(a._setAxisLimits(),f.draw());a._drawDataset()},hide:function(){var a=this.chart,f=this.yAxis;a._chartAnimation();this.visible=!1;a.config.transposeAxis&&(a._setAxisLimits(),f.draw());a._drawDataset()},_parseHoverEffectOptions:function(a,f){var g=this.JSONData,c=this.chart.jsonData.chart,e=this.config,k=a.config.anchorProps||{},m=e.showHoverEffect,n=e.drawAnchors,
p={enabled:!1};f=f||{};0!==m&&0!==n&&(p.enabled=void 0!==d(f.hovercolor,f.anchorhovercolor,f.hovercolor,g.hovercolor,f.anchorbghovercolor,g.anchorbghovercolor,c.anchorbghovercolor,g.anchorhovercolor,c.anchorhovercolor,f.hoveralpha,f.anchorhoveralpha,g.anchorhoveralpha,c.anchorhoveralpha,f.bghoveralpha,f.anchorbghoveralpha,g.anchorbghoveralpha,c.anchorbghoveralpha,f.anchorborderhovercolor,f.borderhovercolor,g.anchorborderhovercolor,c.anchorborderhovercolor,f.anchorborderhoverthickness,f.borderhoverthickness,
g.anchorborderhoverthickness,c.anchorborderhoverthickness,f.anchorborderhoveralpha,f.borderhoveralpha,g.anchorborderhoveralpha,c.anchorborderhoveralpha,f.hoverdip,f.anchorhoverdip,g.anchorhoverdip,c.anchorhoverdip,f.anchorhoverstartangle,g.anchorhoverstartangle,c.anchorhoverstartangle,f.hoversides,f.anchorhoversides,g.anchorhoversides,c.anchorhoversides,f.hoverradius,f.anchorhoverradius,g.anchorhoverradius,c.anchorhoverradius,g.plotfillhovercolor,c.plotfillhovercolor,e.showHoverEffect,void 0),p.startAngle=
l(f.anchorhoverstartangle,g.anchorhoverstartangle,c.anchorhoverstartangle,k.startAngle),p.anchorSides=l(f.hoversides,f.anchorhoversides,g.anchorhoversides,c.anchorhoversides,k.sides),p.anchorRadius=l(f.anchorhoverradius,g.anchorhoverradius,c.anchorhoverradius),p.isAnchorHoverRadius=p.anchorRadius,p.anchorRadius=l(p.anchorRadius,k.radius+(m?2:0)),p.anchorScale=d(f.hoverscale,g.anchorscale,c.anchorscale),p.imageHoverScale=l(f.anchorimagehoverScale,g.anchorimagehoverscale,c.anchorimagehoverscale,110),
p.imageHoverAlpha=l(f.anchorimagehoveralpha,g.anchorimaghoverealpha,c.anchorimagehoveralpha),p.anchorAlpha=d(f.anchorhoveralpha,f.hoveralpha,g.anchorhoveralpha,c.anchorhoveralpha,k.anchorAlpha),p.anchorColor=Oa(d(f.hovercolor,f.anchorhovercolor,f.hoverColor,f.anchorbghovercolor,g.anchorbghovercolor,g.anchorhovercolor,g.hovercolor,c.anchorbghovercolor,c.anchorhovercolor,c.plotfillhovercolor,k.bgColor)),p.anchorBgAlpha=d(f.bghoveralpha,f.anchorbghoveralpha,g.anchorbghoveralpha,c.anchorbghoveralpha,
c.plotfillhoveralpha,k.bgAlpha),p.anchorBgAlpha=p.anchorBgAlpha*p.anchorAlpha/100,p.anchorBorderColor=d(f.borderhovercolor,f.anchorborderhovercolor,g.anchorborderhovercolor,c.anchorborderhovercolor,k.borderColor),p.anchorBorderAlpha=d(f.borderhoveralpha,f.anchorborderhoveralpha,g.anchorborderhoveralpha,c.anchorborderhoveralpha,p.anchorAlpha,k.borderAlpha),p.anchorBorderThickness=l(f.borderhoverthickness,f.anchorborderhoverthickness,g.anchorborderhoverthickness,c.anchorborderhoverthickness,c.anchorBorderThickness,
k.borderThickness),p.dip=d(f.hoverdip,f.anchorhoverdip,g.anchorhoverdip,c.anchorhoverdip,k.dip),p.anchorAnimation=l(f.anchorhoveranimation,g.anchorhoveranimation,c.anchorhoveranimation,1));return p},_hoverPlotAnchor:function(a,f){var g=a.graphics.element,d=a.graphics.label,c=a.config||{},c=c&&c.anchorProps.imageUrl,e=M&&c?a.graphics.element:a.graphics.image,l=g.data("setRolloverAttr"),k=g.data("setRolloutAttr"),m="DataPlotRollOver"===f?g.data("setRolloverAttr"):g.data("setRolloutAttr"),c="image"===
g.type,n=g.data("anchorRadius"),p=g.data("anchorHoverRadius"),q=d&&(d.data("isBelow")?1:-1)*(c?.5*(l.height-k.height):p-n),t=a.config.hoverEffects,w,r={polypath:m.polypath},m={fill:m.fill,"stroke-width":m["stroke-width"],stroke:m.stroke},s=d&&d.data("rotation")||"",q={transform:"T0,"+("DataPlotRollOver"===f?q:0)+s},l=!(/,0\)$/.test(l.fill)&&/,0\)$/.test(k.fill))&&g.data("anchorHoverRadius")-g.data("anchorRadius")&&t.anchorAnimation&&50;e&&(w=e.data("setRolloverAttr"),k=e.data("setRolloutAttr"),w=
"DataPlotRollOver"==f?w:k);if("DataPlotRollOver"==f&&0!==p||"DataPlotRollOut"==f&&0!==n)g.attr({visibility:"visible"}),e&&e.attr({visibility:"visible"});e&&e.css({opacity:.01*w.alpha});c?g.css({opacity:.01*r.alpha}):g.attr(m);g.stop();g.animate(r,l,"easeOut",function(){("DataPlotRollOver"==f&&!p||"DataPlotRollOut"==f&&!n)&&g.attr({visibility:"hidden"})});e&&e.animate(w,l,"easeOut",function(){("DataPlotRollOver"==f&&!p||"DataPlotRollOut"==f&&!n)&&e.attr({visibility:"hidden"})});d&&d.stop();l&&d&&d.animate(q,
l,"easeOut")},drawLabel:function(a){var f=this.chart,g=f.config,d=f.config.dataLabelStyle,c=this.components.data,e=f.components.paper,l,k="",m=this.config,n=f.get("config","animationObj"),p=n.duration,q=n.animType,t=m.rotateValues,w=g.canvasTop,r=g.canvasHeight,s,g=m.valuePadding+2,v;s=this.graphics.dataLabelContainer;var A,z,h,F,D,B,C=f.components.xAxis[0],H=C.getCategoryLen(),G=this.startPosition;A=this.components.pool||{};var k=f.isStacked,I,f=!0===this.drawn&&p;I=m.stack100Percent;var m=n.dummyObj,
M=n.animObj;l=c[a];z=l.config;v=z.anchorProps;n=l.graphics;F=l._yPos;h=l._xPos;l=n.element?l.graphicImage&&.5*n.element.attr("height")||v.radius-3:0;g+=l;switch(z.valuePosition){case "above":c=0;break;case "below":c=1;break;default:D=c[a-1]&&c[a-1].config||{},c=c[a+1]&&c[a+1].config||{},k&&I?(k=D.value,c=c.value,D=z.value):(k=D.setValue,c=c.setValue,D=z.setValue),c=a?k>D?1:(null==c&&c)>D?1:0:0}k=z.displayValue;I=z.showValue;a=n.label;void 0!==k&&null!==k&&k!==J&&null!==D&&I?(d={text:k,"class":"fusioncharts-label",
fill:d.color,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash],"font-weight":d.fontWeight,"font-style":d.fontStyle,"font-family":d.fontFamily,"font-size":d.fontSize,"line-height":d.lineHeight,visibility:"visible"},a||(A.label&&A.label.length?(n.label=a=A.label.shift(),n.label.show()):n.label=a=e.text(s),B=!0),a.attr(d),d=n.label.getBBox(),t?(z._state={labelWidth:!0===z._rotated?d.width:d.height,labelHeight:!0===z._rotated?d.height:d.width},
z._rotated=!0):(z._state={labelWidth:!0===z._rotated?d.height:d.width,labelHeight:!0===z._rotated?d.width:d.height},z._rotated=!1),d=s=z._state.labelHeight,s=.5*s+g,A=F-w,r=w+r-F,w=F,d=d+g+4,c?r>d?(w+=s,z._valueBelowPoint=1):A>d&&(w-=s,z._valueBelowPoint=0):A>d?(w-=s,z._valueBelowPoint=0):r>d&&(w+=s,z._valueBelowPoint=1),B&&(a.attr({x:h,y:w,transform:e.getSuggestiveRotation(t,h,w)}),f&&!0!==G&&(B=C.getPixel(H+0),B instanceof Object&&(B=B.x),n.label.attr({x:B,y:w,transform:e.getSuggestiveRotation(t,
B,w)}))),a.data("isBelow",z._valueBelowPoint),a.data("rotation",e.getSuggestiveRotation(t,h,w)),a.show().animateWith(m,M,{x:h,y:w,transform:e.getSuggestiveRotation(t,h,w)},p,q)):a&&a.hide().attr({"text-bound":[]})},getAxisValuePadding:function(){var a=(this.chart||{}).hasScroll;return{left:a?.5:0,right:a?.5:0}},hidingPosition:function(){return function(){return{polypath:[[2,0,0,0,0,0]],text:""}}},_hoverFunc:function(a,f,g,d){if(d)return this._hoverPlotAnchor(a,f,g)}},"column"]);FusionCharts.register("component",
["dataset","scrollarea2d",{},"area"]);FusionCharts.register("component",["dataset","realtimearea",{init:function(a){var f=this.chart,g=f.components,d=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0;this.yAxis=g=g.yAxis[d];if(!a)return!1;this.JSONData=a;this.yAxis=g;this.chartGraphics=f.chartGraphics;this.components={};this.graphics={};this.visible=1===l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_realTimeConfigure:function(a){var f=this.chart,
g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"area"]);FusionCharts.register("component",["datasetGroup","realtimearea",{},"area"]);FusionCharts.register("component",["datasetGroup","radar",{},"area"]);FusionCharts.register("component",["dataset","radar",{type:"radar",configure:function(){var a=this.config,f=this.chart,g=f.jsonData.chart,
c=this.JSONData,e=f.components.colorManager.getPlotColor(this.index);this.__base__.configure.call(this);a.plotFillColor=d(c.color,g.plotfillcolor,e);a.plotBorderColor=d(c.plotbordercolor,g.plotbordercolor,g.areabordercolor,e).split(",")[0];a.fillColor.color=a.plotFillColor;a.legendSymbolColor=a.plotFillColor;f.config.radarRadius=l(g.radarradius,0);f.config.radarBorderThickness=l(g.radarborderthickness,2)},_addLegend:function(){var a=this.chart,f=a.jsonData.chart,g,d;d=this.config;var a=a.components.legend,
c=d.legendSymbolColor;g=l(f.us3dlighting,f.useplotgradientcolor,1);f=Pa(c,60).replace(Ja,R);g?(g=Pa(c,40),g={FCcolor:{color:c+","+c+","+g+","+c+","+c,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):g={FCcolor:{color:c,angle:0,ratio:"0",alpha:"100"}};d={enabled:d.includeInLegend,type:this.type,fillColor:F(g),strokeColor:F(f),rawFillColor:c,label:da(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,d)},draw:function(){var b=this,f=b.chart,g=f.graphics,c=
f.config,e=f.components,l=b.JSONData,k=f.jsonData.chart,n=b.config,p=f.isStacked,q=b.groupManager.stackSumValue[0],w=b.index,r=l.data||[],E,z,D,s,v=e.paper,A=e.xAxis[0],B=b.yAxis,h,C,H,G,I=n.showTooltip,J,M=b.components.data,P,Q,T,R,V,U,e=c.style,$={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle,color:e.color},ba=B.getAxisBase(),Z,e=n.plotBorderColor,fa=n.plotBorderAlpha,ca=n.plotBorderDashStyle,ya=n.plotBorderThickness,Aa=b.graphics.container,
ma=b.graphics.trackerContainer,ia=g.trackerGroup,da=[],la=m.parseUnsafeString,va=!1,ka=n.fillColor,sa=f.is3D,oa=g.areaGroup,ha=f.get("config","animationObj"),ra=ha.duration,qa=ha.dummyObj,ua=ha.animObj,ha=ha.animType,Ca=function(){!1===b.visible&&(Aa.areaGroup.hide(),Ja.hide(),Aa.lineShadowGroup.hide(),Aa.anchorShadowGroup.hide(),Aa.anchorGroup.hide(),ma.hide(),Na&&Na.hide(),b._conatinerHidden=!0)},Ba=function(){Aa.areaGroup.attr({"clip-rect":null});!1!==b.visible&&(Aa.lineShadowGroup.show(),Aa.anchorShadowGroup.show(),
Aa.anchorGroup.show(),Na.show());f._animCallBack()},n=n.shadow,wa,za=b.visible,Ha=function(a){ea.call(this,f,a)},Fa=function(a,g){return function(d){g&&b._hoverPlotAnchor(a,"DataPlotRollOver",k);ea.call(this,f,d,"DataPlotRollOver")}},Ia=function(a,g){return function(d){g&&b._hoverPlotAnchor(a,"DataPlotRollOut",k);ea.call(this,f,d,"DataPlotRollOut")}},Ja=Aa&&Aa.shadowContainer,Ea,Da={},Da=g.datalabelsGroup,Na=b.graphics.dataLabelContainer,Oa=sa?10:0,g=b.components.removeDataArr||[],sa=g.length,Pa=
b.components.pool||{},Ta,ab=!0,yb,bb=0,cb;Aa||(Aa=b.graphics.container={lineShadowGroup:v.group("connector-shadow",oa.areaConnector),anchorShadowGroup:v.group("anchor-shadow",oa.areaConnector),areaGroup:v.group("area",oa.area),anchorGroup:v.group("anchors",oa.areaConnector)},za||(Aa.lineShadowGroup.hide(),Aa.anchorShadowGroup.hide(),Aa.areaGroup.hide(),Aa.anchorGroup.hide()));Ja||(Ja=b.graphics.shadowContainer=oa.shadows||(oa.shadows=v.group("shadows",Aa.areaGroup).toBack()),za||Ja.hide());ma||(ma=
b.graphics.trackerContainer=v.group("area-hot"),za||ma.hide());M||(M=b.components.data);ia&&ia.appendChild(ma);Na||(Na=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||v.group("datalabel",Da),za||Na.hide());za&&(Aa.lineShadowGroup.show(),Aa.anchorShadowGroup.show(),Aa.areaGroup.show(),Aa.anchorGroup.show(),Na.show(),ma.show());f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",$);E=A.getCategoryLen();$=A.config.centerX;ia=A.config.centerY;for(s=0;s<E;s++)z=r[s]||{},J=(P=
M[s])&&P.config,R=A.getLabel(s).label,G=J.showValue,T=J.setValue,D=J.setLink,Da=J.anchorProps,Ea=Da.shadow,h=ga(la(d(z.tooltext,l.plottooltext,k.plottooltext))),P.graphics||(P.graphics={}),J&&(Z=0<=T?J.previousPositiveY:J.previousNegativeY),p&&T&&(Z=b._parseValues(s,Z,q[s],h),T=J.value),yb=!1,Ta=P.graphics,z=Ta.element,Q=Ta.hotElement,cb=Ta.image,Ta=Ta.label,null===T?(!1!==va?da.push("L",$,",",ia):da.push("M",$,",",ia),va=!1):(C=B.getAxisPosition(Z||ba)+Oa,H=b.visible?B.getAxisPosition(T+(Z||0))+
Oa:C,C=A.getAxisPosition(s,c.canvasTop+c.canvasHeight/2-H),H=C.y,C=C.x,wa=J.hoverEffects,h=I?J.toolText+(h?"":J.toolTipValue):"",R={index:s,link:D,value:T,displayValue:J.displayValue,categoryLabel:R,toolText:h,id:b.userID,datasetIndex:w||0,datasetName:l.seriesname,visible:za},wa.enabled&&(J.setRolloverAttr={polypath:[wa.anchorSides||2,C,H,wa.anchorRadius,wa.startAngle,wa.dip],fill:F({color:wa.anchorColor,alpha:wa.anchorBgAlpha}),stroke:F({color:wa.anchorBorderColor,alpha:wa.anchorBorderAlpha}),"stroke-width":wa.anchorBorderThickness},
J.setRolloutAttr={polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0],fill:F({color:Da.bgColor,alpha:Da.bgAlpha}),stroke:F({color:Da.borderColor,alpha:Da.borderAlpha}),"stroke-width":Da.borderThickness},U=J.setRolloverAttr,V=J.setRolloutAttr),Da.imageUrl?(D=new a,D.onload=b._onAnchorImageLoad(b,s,R,C,H),D.onerror=b._onErrorSetter(C,H,s,b),D.src=Da.imageUrl):(cb&&cb.hide(),z||(Pa.element&&Pa.element.length?z=P.graphics.element=Pa.element.shift():(z=P.graphics.element=v.polypath(Aa.anchorGroup),
z.attr({polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0]}),yb=!0)),z.show().animateWith(qa,ua,{polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0]},ra,ha,ab&&Ca),ab=!1,z.attr({fill:F({color:Da.bgColor,alpha:Da.bgAlpha}),stroke:F({color:Da.borderColor,alpha:Da.borderAlpha}),"stroke-width":Da.borderThickness,visibility:Da.radius?za:"hidden"}).shadow(Ea,Aa.anchorShadowGroup).data("anchorRadius",Da.radius).data("anchorHoverRadius",wa.anchorRadius).data("setRolloverAttr",U).data("setRolloutAttr",
V),wa.enabled&&z&&z.data("anchorRadius",Da.radius).data("anchorHoverRadius",wa.anchorRadius).data("setRolloverAttr",U).data("setRolloutAttr",V),J=na(Da.radius,wa&&!p&&wa.anchorRadius||0,X),D={cx:C,cy:H,r:J,cursor:D?"pointer":"",stroke:t,"stroke-width":Da.borderThickness,fill:t,ishot:!0,visibility:"visible"},Q||(Pa.hotElement&&Pa.hotElement.length?Q=P.graphics.hotElement=Pa.hotElement.shift():(Q=P.graphics.hotElement=v.circle(ma),yb=!0)),Q.show().attr(D),yb&&(Q||z).click(Ha).hover(Fa(P,wa.enabled),
Ia(P,wa.enabled)),(Q||z).data("eventArgs",R).data("groupId",void 0).data("hoverEnabled",wa.enabled).tooltip(h)),P._xPos=C,P._yPos=H,va?(da.push("L",C,",",H),bb++):(0===s?da.push("M",C,",",H):da.push("L",C,",",H),va=!0)),G&&!Da.imageUrl&&this.drawLabel(s),null===T&&(z&&z.hide(),Q&&Q.hide()),0!==G&&null!==T||!Ta||(Ta.hide(),Ta.attr({"text-bound":[]}));da.push("Z");l=da.concat([]);c=b.graphics.lineElement;c||(c=b.graphics.lineElement=v.path(Aa.areaGroup),c.attr({path:da}),ra&&za&&(Aa.anchorGroup.hide(),
Aa.anchorShadowGroup.hide(),Na.hide(),oa.scale(.01,.01,$,ia).animateWith(qa,ua,{transform:"s1,1"},ra,ha,Ba)));c.show().animateWith(qa,ua,{path:l},ra,ha,ab&&Ca).attr({stroke:F({color:e,alpha:fa}),"stroke-width":ya,fill:F(ka),"stroke-linecap":"round","stroke-linejoin":2<ya?"round":"miter","stroke-dasharray":ca}).shadow(n,Ja);b.drawn=!0;for(s=0;s<sa;s++)b._removeDataVisuals(g.shift())}},"area"]);FusionCharts.register("component",["dataset","Line",{type:"line",init:function(a){var f=this.chart,g=f.components,
d=f.hasLineSet,c=a.parentyaxis,d=f.isDual&&(c&&"s"===c.toLowerCase()||d)?1:0;this.chart=f;this.yAxis=g.yAxis[d];this.components={};this.graphics={};this.JSONData=a;this.visible=1===l(a.visible,!Number(a.initiallyhidden),1);this.configure()},_parseShadowOptions:function(){var a=this.chart,f=this.config,g=a.jsonData.chart,a=l(a.defaultPlotShadow,a.components.colorManager.getColor("showShadow"));return{opacity:l(g.showshadow,a)?f.lineAlpha/100:0}},_addLegend:function(){var a=this.config,f=this.chart.components.legend,
g=l(a.drawAnchors,1),a={enabled:a.includeInLegend,type:this.type,drawLine:d(a.drawLine,!0),fillColor:F({color:a.anchorBgColor,alpha:a.anchorBgAlpha}),strokeColor:F({color:a.anchorBorderColor,alpha:"100"}),rawFillColor:a.anchorBgColor,rawStrokeColor:a.anchorBorderColor,anchorSide:g?a.anchorSides:0,strokeWidth:a.anchorBorderThickness,label:da(this.JSONData.seriesname)};this.legendItemId=f.addItems(this,this.legendInteractivity,a)},draw:function(){var b,f,g=this,c=g.JSONData,e=g.chart,l=e.components,
k=l.canvas.config.clip,m=g.config,n=g.index,p=e.config,q=g.components,w=g.graphics,E=q.data,r=E.length,z=l.paper,s=l.xAxis[0],v=g.yAxis,A=q.removeDataArr||[],D=e.graphics,h=D.datalabelsGroup,B,H,G,J=p.style,I={fontFamily:J.fontFamily,fontSize:J.fontSize,lineHeight:J.lineHeight,fontWeight:J.fontWeight,fontStyle:J.fontStyle,color:J.color},M=m.lineThickness,P=w.container,Q=w.trackerContainer,T=D.trackerGroup,R=m.showTooltip,V,U=D.lineGroup,$,ba=m.shadow,Z,fa=w.dataLabelContainer,ea={},ya,Aa,ma,ia=e.is3D,
ga=m.use3dlineshift,da=m.transposeanimation,va=g.graphics.errorGroupContainer,ka=g.graphics.errorTrackerContainer,sa=g.graphics.errorShadowContainer,la=function(){!1!==g.visible||!1!==g._conatinerHidden&&void 0!==g._conatinerHidden||(P.lineGroup.hide(),P.lineShadowGroup.hide(),P.anchorShadowGroup.hide(),P.anchorGroup.hide(),Q.hide(),fa&&fa.hide(),va&&va.hide(),ka&&ka.hide(),sa&&sa.hide(),g._conatinerHidden=!0)},oa=function(){U.lineConnector.attr({"clip-rect":null});U.lineConnector.node&&U.lineConnector.node.removeAttribute("clip-path");
!1!==g.visible&&(P.lineShadowGroup.show(),P.anchorShadowGroup.show(),P.anchorGroup.show(),Q.show(),fa&&fa.show())},ha=!0,ra,qa,ua,Ba=v.getAxisBase(),wa=v.yBasePos=v.getAxisPosition(Ba),za=s.getPVR(),Ca,Da=ia?10:0,Ha=ia&&ga?10:0,Fa=k["clip-canvas"].slice(0),Ea=k["clip-canvas-init"].slice(0),Ja=l.scrollBar,Ia=e.hasScroll||!1,Na,Pa=m.lineDashStyle,Oa={color:m.lineColor,alpha:m.lineAlpha},Ta=[F(Oa),Pa].join(":"),ab,bb,cb,$a,Sa,Ra=w.lineElement,Ya=g.visible,db,fb,Za=0,Xa=!0!==g.drawn,hb=g.components.pool||
(g.components.pool={}),nb,pb,pc=g.startPosition,ib={},gb=r,Wa,rb={},kb=m.anchorRadius,ob=m.lastPath||{},Cb=!Xa&&da,Db,qb,sb=0,Eb=e.config.viewPortConfig,Pb=Eb.x,Hb=Eb.scaleX,wb,jb,lb,xb,Ib,mb,tb,Lb,ub,Nb,Gb,Mb,Jb,$b,Wb,tc,ac,cc,ic,uc=m.noOfImages=m.noOfImages||(m.noOfImages=0),qc,jc=e.get("config","animationObj"),Xb=jc.duration,kc=jc.dummyObj,lc=jc.animObj,mc=jc.animType,vc,Ac=p.height,wc=p.realTimeConfig&&p.realTimeConfig.clear,Bc=gb;g.noOfNewDataAtEnd=0;m.hideAnimFlag=!1;U.lineConnector=U.lineConnector||
z.group("line-connector",U);P||(P=g.graphics.container={lineShadowGroup:z.group("connector-shadow",U.lineConnector),anchorShadowGroup:z.group("anchor-shadow",U.lineConnector),lineGroup:z.group("line",U.lineConnector),anchorGroup:z.group("anchors",U.lineConnector)},Ya||(P.lineShadowGroup.hide(),P.anchorShadowGroup.hide(),P.lineGroup.hide(),P.anchorGroup.hide()));Q||(Q=g.graphics.trackerContainer=z.group("line-hot",T),Ya||Q.hide());E||(E=g.components.data=[]);e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",
I);fa||(fa=g.graphics.dataLabelContainer=g.graphics.dataLabelContainer||z.group("datalabel",h),Ya||fa.hide());Ya&&(P.lineShadowGroup&&P.lineShadowGroup.show(),P.lineGroup&&P.lineGroup.show(),P.anchorGroup&&P.anchorGroup.show(),Q&&Q.show(),g._conatinerHidden=!1,fa.show());Ca=za*gb;e.isRealTime&&(Fa[1]=0,Fa[3]=Ac,fa.attr({"clip-rect":Fa}),P.anchorGroup.attr({"clip-rect":Fa}),P.anchorShadowGroup.attr({"clip-rect":Fa}),P.lineGroup.attr({"clip-rect":Fa}),P.lineShadowGroup.attr({"clip-rect":Fa}));if(wc)for(Wa=
0,gb=A.length;Wa<gb;Wa++)g._removeDataVisuals(A.shift());else g._shiftOffRemovedPoints();ib=m.removePath||{};tc=P.anchorShadowGroup;for(Wa=0;Wa<Bc;Wa++)if(B=E[Wa])ma=B.config||{},mb=ma.setValue,void 0!==mb&&(xb=B.graphics,Ib=ma.setLink,db=ma.x||Wa,ra=ma.setLevelTooltext,ea=ma.anchorProps,Aa=ea.symbol,ub=ea.radius,Z=ea.shadow,Nb=ea.startAngle,Gb=ea.bgColor,Mb=ea.bgAlpha,Jb=ea.borderColor,$b=ea.borderAlpha,Wb=ea.borderThickness,Lb=ma.displayValue,fb=ma.dip||0,B||(B=E[Wa]={graphics:{}}),b=ma.setColor,
f=ma.setAlpha,ua=ma.dashStyle,$a=ma.xPos||s.getAxisPosition(db)-Da+Pb*Hb,Sa=!g.visible&&Xb?wa:v.getAxisPosition(mb)+Ha,$a=ca($a,m.lineThickness,m.lineThickness).position,Sa=ca(Sa,m.lineThickness,m.lineThickness).position,$=ma.hoverEffects,ea.isAnchorHoverRadius=$.anchorRadius,Db=s.getLabel(Wa)||{},wb=R?ma.toolText+(ra?"":ma.toolTipValue):"",tb={index:Wa,link:Ib,value:mb,displayValue:Lb,categoryLabel:Db.label,toolText:wb,id:m.userID,datasetIndex:n||0,datasetName:c.seriesname,visible:Ya},ic=!1,jb=B.graphics.element,
cc=B.graphics.image,lb=B.graphics.hotElement,qc={polypath:[Aa[1]||2,$a,Sa,ub,Nb,ma.dip||0]},null!==mb?(!jb&&Cb&&!0!==pc&&(pb=gb+Za,nb=s.getPixel(pb),B._xPos=nb,B._yPos=Sa,ob=g.getLinePath([B],ob),Za++),ea.imageUrl?(ya=new a,ya.onload=g._onAnchorImageLoad(g,Wa,tb,$a,Sa,B),ya.onerror=g._onErrorSetter($a,Sa,Wa,g),ya.src=ea.imageUrl,uc++):(cc&&cc.hide(),jb||(hb.element&&hb.element.length?(jb=xb.element=hb.element.shift(),jb.show()):(jb=xb.element=z.polypath(P.anchorGroup),jb.attr(qc),ic=!0),Cb&&jb.attr({polypath:[Aa[1]||
2,nb,Sa,ub,Nb,0]})),jb.show().attr({transform:""}).animateWith(kc,lc,qc,Xb,mc,ha&&la),Xb||ha&&la(),ha=!1,jb.attr({fill:F({color:Gb,alpha:Mb}),stroke:F({color:Jb,alpha:$b}),"stroke-width":Wb,visibility:ub?Ya:"hidden"}).shadow(Z,tc).data("anchorRadius",ub).data("anchorHoverRadius",$.anchorRadius),$.enabled&&(G={polypath:[$.anchorSides||2,$a,Sa,$.anchorRadius,$.startAngle,$.dip],fill:F({color:$.anchorColor,alpha:$.anchorBgAlpha}),stroke:F({color:$.anchorBorderColor,alpha:$.anchorBorderAlpha}),"stroke-width":$.anchorBorderThickness},
H={polypath:[ea.sides,$a,Sa,ea.radius,ea.startAngle,fb],fill:F({color:ea.bgColor,alpha:ea.bgAlpha}),stroke:F({color:ea.borderColor,alpha:ea.borderAlpha}),"stroke-width":ea.borderThickness},jb&&jb.data("anchorRadius",ea.radius).data("anchorHoverRadius",$.anchorRadius).data("setRolloverAttr",G).data("setRolloutAttr",H)),kb=na(ub,$&&$.anchorRadius||0,X),V={cx:$a,cy:Sa,r:kb,cursor:Ib?"pointer":"",stroke:t,"stroke-width":Wb,fill:t,ishot:!0,visibility:Ya,transform:""},lb||(hb.hotElement&&hb.hotElement.length?
lb=xb.hotElement=hb.hotElement.shift():(lb=xb.hotElement=z.circle(Q),ic=!0)),lb.show().attr(V),(lb||jb).data("eventArgs",tb).data("groupId",void 0).data("hoverEnabled",$.enabled).data("dataset",g).tooltip(wb),ic&&(lb||jb).click(g.getPlotClickFn(e)).hover(g.rolloverResponseSetter(B,e),g.rolloutResponseSetter(B,e)))):(jb&&jb.hide(),cc&&cc.hide(),lb&&lb.hide()),B._xPos=$a,B._yPos=Sa,!ea.imageUrl&&g.drawLabel(Wa),cb=Ta!==[F({color:d(b,Oa.color),alpha:d(f,Oa.alpha)}),ua||Pa].join(":"),qa=B.graphics.connector,
qb=[],cb&&(ac=Wa,rb=g.getLinePath(E,{},{begin:sb,end:ac+1}),ma.connStartIndex=sb,ma.connEndIndex=ac,qb=rb.getPathArr(),qb.length&&(vc=C.animation({path:qb},Xb,mc,ha&&la),qa||(hb.connector&&hb.connector.length?qa=B.graphics.connector=hb.connector.shift():(qa=B.graphics.connector=z.path(P.lineGroup),qa.attr({path:qb}))),qa.show().animateWith(kc,lc,vc),qa.attr({"stroke-dasharray":bb,"stroke-width":M,stroke:ab,"stroke-linecap":"round","stroke-linejoin":2<M?"round":"miter"}).shadow(ba,P.lineShadowGroup),
sb=Wa,rb={}),ac=null),cb||qb.length||qa&&qa.hide(),null!==mb&&(ab=F({color:d(b,Oa.color),alpha:d(f,Oa.alpha)}),bb=ua||Pa),Ta=[ab,bb].join(":"));m.pathStartIndex=sb;m.pathEndIndex=ac;m.noOfImages=uc;rb=g.getLinePath(E,{},{begin:sb,end:ac});A&&e.isRealTime&&(ib=g.getLinePath(E,ib));e.isRealTime&&(m.lastPath=rb);Ra?Xb&&e.isRealTime&&Ra.attr({path:ob.getPathArr()}):Ra=w.lineElement=z.path({path:rb.getPathArr()},P.lineGroup);wc?Ra.hide():Ra.show().animateWith(kc,lc,{path:ib.getPathArr&&e.isRealTime?ib.getPathArr():
rb.getPathArr()},Xb,mc,ha&&la);Ra.attr({"stroke-width":M,"stroke-dasharray":bb,stroke:ab,"stroke-linecap":"round","stroke-linejoin":2<=M?"round":"miter"}).shadow(ba,P.lineShadowGroup);Ia&&(Na=Ja.conf.startPercent,Fa[2]=Ca+Ea[0],1===Na&&(Ea[0]=Fa[2],Fa[0]=0));Fa[3]+=Ha;g._drawTracker&&g._drawTracker();Xb&&Ya&&!g.drawn&&(P.anchorGroup.hide(),P.anchorShadowGroup.hide(),fa.hide(),U.lineConnector.attr({"clip-rect":Ea}).animateWith(kc,lc,{"clip-rect":Fa},Xb,mc,oa));g.drawn=!0;g.drawErrorValue&&g.drawErrorValue()},
getDataLimits:function(){var a=this.config,f=a.maxValue,a=a.minValue,g=this.chart.config.transposeAxis;!1===this.visible&&g&&(f=-Infinity,a=Infinity);return{max:f,min:a}},pointValueWatcher:function(a,f,g){var d=g.obj||(g.obj={}),c=g.objX||(g.objX={});null!==f&&(d.max=d.max>f?d.max:f,d.min=d.min<f?d.min:f);null!==a&&(c.max=c.max>a?c.max:a,c.min=c.min<a?c.min:a);g.isRegression&&(a=a||0,f=f||0,g.sumX+=a,g.sumY+=f,g.sumXY+=a*f,g.sumXsqure+=Ia(a,2),g.xValues.push(a),g.sumYsqure+=Ia(f,2),g.yValues.push(f))}},
"area"]);FusionCharts.register("component",["dataset","Realtimeline",{_realTimeConfigure:function(a){var f=this.chart,g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"line"]);FusionCharts.register("component",["quadrant","cartesian",{pIndex:1,init:function(){var a=this.chart.components,f=a.xAxis[0];this.yAxis=a.yAxis[0];this.xAxis=f;this.components=
{};this.conf={};this.graphics={};this.configure()},configure:function(){var a,f,g,c,e,k,m,n,p,q,t=this.conf;p=this.chart;k=p.config;var r=p.jsonData.chart;f=p.components.canvas.config;var E=k.dataLabelStyle;a=p.linkedItems.smartLabel;if(t.enabled=l(r.drawquadrant,0))p=l(r.quadrantxval),q=l(r.quadrantyval),n=T(d(r.quadrantlinecolor,f.canvasBorderColor),d(r.quadrantlinealpha,r.quadrantlinealpha,ba)),f=l(r.quadrantlinethickness,f.canvasBorderThickness),c=l(r.quadrantlinedashed,r.quadrantlineisdashed,
0),g=l(r.quadrantlinedashlen,4),e=l(r.quadrantlinedashgap,2),g=c?ia(g,e,f):"none",t.xVal=p,t.yVal=q,t.quadrantLineColor=n,t.quadrantLineThickness=f,t.dashStyle=g,f=ga(r.quadrantlabeltl,""),n=ga(r.quadrantlabeltr,""),p=ga(r.quadrantlabelbl,""),q=ga(r.quadrantlabelbr,""),t.quadrantLabelPadding=l(r.quadrantlabelpadding,3),a.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),a.setStyle(E),""!==f&&(a=da(r.quadrantlabeltlbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabeltlbgcolor,r.quadrantlabelbgcolor),
k=l(r.quadrantlabeltlborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabeltlborderalpha,r.quadrantlabelborderalpha,r.quadrantlabeltlalpha,r.quadrantlabelalpha,100)):"",m=t.tlConfig,m||(m=t.tlConfig={enabled:!0,styleObj:{}}),m.label=f,m.styleObj.fontSize=d(l(r.quadrantlabeltlfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",m.styleObj.lineHeight=E.lineHeight,m.styleObj.fontFamily=d(r.quadrantlabeltlfont,r.quadrantlabelfont,E.fontFamily),m.styleObj.color=T(d(r.quadrantlabeltlfontcolor,
r.quadrantlabelfontcolor,E.color),l(r.quadrantlabeltlfontalpha,r.quadrantlabelfontalpha,100)),m.styleObj.fontWeight=l(r.quadrantlabeltlfontbold,r.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=l(r.quadrantlabeltlfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(m.styleObj),f=l(r.quadrantlabeltlborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabeltlborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabeltlbgalpha,r.quadrantlabelbgalpha,r.quadrantlabeltlalpha,
r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabeltlborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabeltlborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabeltlborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[c,a,k,f,g,e]),""!==n&&(a=da(r.quadrantlabeltrbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabeltrbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabeltrborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabeltrborderalpha,
r.quadrantlabelborderalpha,r.quadrantlabeltralpha,r.quadrantlabelalpha,100)):"",n=t.trConfig,n||(n=t.trConfig={enabled:!0,styleObj:{}}),n.label=ga(r.quadrantlabeltr,""),n.styleObj.fontSize=d(l(r.quadrantlabeltrfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",n.styleObj.lineHeight=E.lineHeight,n.styleObj.fontFamily=d(r.quadrantlabeltrfont,r.quadrantlabelfont,E.fontFamily),n.styleObj.color=T(d(r.quadrantlabeltrfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabeltrfontalpha,r.quadrantrabelfontalpha,
100)),n.styleObj.fontWeight=l(r.quadrantlabeltrfontbold,r.quadrantlabelfontbold)?"bold":"normal",n.styleObj.fontStyle=l(r.quadrantlabeltrfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(n.styleObj),f=l(r.quadrantlabeltrborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabeltrborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabeltrbgalpha,r.quadrantlabelbgalpha,r.quadrantlabeltralpha,r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabeltrborderdashed,r.quadrantlabelborderdashed,
0)?ia(l(r.quadrantlabeltrborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabeltrborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",n["text-bound"]=[c,a,k,f,g,e]),""!==p&&(a=da(r.quadrantlabelblbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabelblbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabelblborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabelblborderalpha,r.quadrantlabelborderalpha,r.quadrantlabelblalpha,r.quadrantlabelalpha,100)):"",n=t.blConfig,
n||(n=t.blConfig={enabled:!0,styleObj:{}}),n.label=p,n.styleObj.fontSize=d(l(r.quadrantlabelblfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",n.styleObj.lineHeight=E.lineHeight,n.styleObj.fontFamily=d(r.quadrantlabelblfont,r.quadrantlabelfont,E.fontFamily),n.styleObj.color=T(d(r.quadrantlabelblfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabelblfontalpha,r.quadrantlabelfontalpha,100)),n.styleObj.fontWeight=l(r.quadrantlabelblfontbold,r.quadrantlabelfontbold)?"bold":"normal",
n.styleObj.fontStyle=l(r.quadrantlabelblfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(n.styleObj),f=l(r.quadrantlabelblborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabelblborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabelblbgalpha,r.quadrantlabelbgalpha,r.quadrantlabelblalpha,r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabelblborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabelblborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabelblborderdashgap,
r.quadrantlabelborderdashgap,2),k):"none",n["text-bound"]=[c,a,k,f,g,e]),""!==q&&(a=da(r.quadrantlabelbrbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabelbrbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabelbrborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabelbrborderalpha,r.quadrantlabelborderalpha,r.quadrantlabelbralpha,r.quadrantlabelalpha,100)):"",p=t.brConfig,p||(p=t.brConfig={enabled:!0,styleObj:{}}),p.label=ga(r.quadrantlabelbr,""),p.styleObj.fontSize=d(l(r.quadrantlabelbrfontsize,
r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",p.styleObj.lineHeight=E.lineHeight,p.styleObj.fontFamily=d(r.quadrantlabelbrfont,r.quadrantlabelfont,E.fontFamily),p.styleObj.color=T(d(r.quadrantlabelbrfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabelbrfontalpha,r.quadrantrabelfontalpha,100)),p.styleObj.fontWeight=l(r.quadrantlabelbrfontbold,r.quadrantlabelfontbold)?"bold":"normal",p.styleObj.fontStyle=l(r.quadrantlabelbrfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(p.styleObj),
c=c?T(c,l(r.quadrantlabelbrbgalpha,r.quadrantlabelbgalpha,r.quadrantlabelbralpha,r.quadrantlabelalpha,100)):"",f=l(r.quadrantlabelbrborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabelbrborderradius,r.quadrantlabelborderradius,0),e=l(r.quadrantlabelbrborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabelbrborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabelbrborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",p["text-bound"]=[c,a,k,f,g,e])},_preDraw:function(){var a,
f,g,c,d,e;g=this.conf;var l=this.chart;c=l.components;e=c.yAxis[0];d=c.xAxis[0].getLimit();var k=e.getLimit();c=d.max;e=k.max;var m=d.min;d=k.min;var l=l.config,n=l.canvasWidth,p=l.canvasHeight,l=g.quadrantLabelPadding,k=g.tlConfig,q=g.trConfig,w=g.blConfig,t=g.brConfig;a=g.xVal||(g.xVal=(m+c)/2);f=g.yVal||(g.yVal=(d+e)/2);if(f>=d&&f<=e&&a>=m&&a<=c){g=n/(c-m)*(a-m);c=n-g;e=p/(e-d)*(f-d);g-=l;d=p-e-l;e-=l;if(0>d||0>g)k.enabled=!1;if(0>d||0>c-l)q.enabled=!1;if(0>e||0>g)w.enabled=!1;if(0>e||0>g)t.enabled=
!1}else g.enabled=!1;return this},draw:function(){var a=this._preDraw(),f=a.conf,g=a.chart,d=g.graphics,c=g.config,e=g.components,l=g.linkedItems.smartLabel,a=a.graphics,k=a.tlLabel,m=a.trLabel,n=a.blLabel,p=a.brLabel,q=c.textDirection,w=e.xAxis[0],t=e.yAxis[0],e=e.paper,r=a.container,s=f.tlConfig||{},v=f.trConfig||{},A=f.blConfig||{},z=f.brConfig||{},s=s.enabled&&s.label,v=v.enabled&&v.label,A=A.enabled&&A.label,z=z.enabled&&z.label,h=c.canvasLeft,F=c.canvasTop,B=f.quadrantLabelPadding,D=w.getLimit(),
C=t.getLimit(),H=D.max,G=C.max,C=C.min,D=w.getPixel(D.min)+B,H=w.getPixel(H)-B,C=t.getPixel(C)-B,B=t.getPixel(G)+B,w=w.getPixel(f.xVal),J=t.getPixel(f.yVal),t=w-D,G=H-w,I=J-B,P=C-J,M=a.horizontalQuadLine,Q=a.verticalQuadLine,T=g.get("config","animationObj"),g=T.duration||0,R=T.dummyObj,T=T.animObj,V=!1;f.enabled?(r||(V=!0,r=a.container=e.group("quadrant").insertBefore(d.datasetGroup)),r.animateWith(R,T,{"clip-rect":c.canvasLeft+","+c.canvasTop+","+c.canvasWidth+","+c.canvasHeight},V?0:g),M||(M=a.horizontalQuadLine=
e.path(r)),M.animateWith(R,T,{path:"M"+h+" "+J+"h"+c.canvasWidth},g).attr({stroke:f.quadrantLineColor,"stroke-dasharray":f.dashStyle,"stroke-width":f.quadrantLineThickness,"stroke-linecap":"butt"}),Q||(Q=a.verticalQuadLine=e.path(r)),Q.animateWith(R,T,{path:"M"+w+" "+F+"v"+c.canvasHeight},g).attr({stroke:f.quadrantLineColor,"stroke-width":f.quadrantLineThickness,"stroke-dasharray":f.dashStyle,"stroke-linecap":"butt"}),s?(k||(k=a.tlLabel=e.text(r).attr({"text-anchor":"start","vertical-align":"top"}).css(f.tlConfig.styleObj)),
l.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),l.setStyle(f.tlConfig.styleObj),d=l.getSmartText(s,t,I),s&&k.animateWith(R,T,{x:D,y:B},V?0:g).attr({text:d.text,direction:q,"text-bound":f.tlConfig["text-bound"]}).show()):k&&k.hide(),v?(m||(m=a.trLabel=e.text(r).attr({"text-anchor":"end","vertical-align":"top",direction:q}).css(f.trConfig.styleObj)),l.setStyle(f.trConfig.styleObj),d=l.getSmartText(v,G,I),v&&m.animateWith(R,T,{x:H,y:B},V?0:g).attr({text:d.text,"text-bound":f.trConfig["text-bound"]}).show()):
m&&m.hide(),A?(n||(n=a.blLabel=e.text(r).attr({"text-anchor":"start","vertical-align":"bottom",direction:q}).css(f.blConfig.styleObj)),l.setStyle(f.blConfig.styleObj),d=l.getSmartText(A,t,P),A&&n.animateWith(R,T,{x:D,y:C},V?0:g).attr({text:d.text,"text-bound":f.blConfig["text-bound"]}).show()):n&&n.hide(),z?(p||(p=a.brLabel=e.text(r).attr({"text-anchor":"end","vertical-align":"bottom",direction:q}).css(f.brConfig.styleObj)),l.setStyle(f.brConfig.styleObj),d=l.getSmartText(z,G,P),z&&p.animateWith(R,
T,{x:H,y:C},V?0:g).attr({text:d.text,"text-bound":f.brConfig["text-bound"]}).show()):p&&p.hide()):r&&r.hide()}}]);FusionCharts.register("component",["dataset","Scatter",{type:"scatter",manageSpace:function(){},configure:function(){var a,f,g,c=this.chart,e=m.parseUnsafeString,k=this.config,n=this.JSONData,p=c.areaAlpha,q=c.jsonData.chart,w=c.components.colorManager;a=l(n.showplotborder,q.showplotborder||1);var t=w.getPlotColor(this.index),r=k.lineDashed=l(n.linedashed,n.dashed,q.linedashed,0);f=this.isLineSet;
k.plotColor=t;g=l(c.defaultPlotShadow,w.getColor("showShadow"));k.xAxisLabelMode=d(q.xaxislabelmode,"categories");k.toolTipSepChar=d(q.tooltipsepchar,", ");k.parentYAxis=f?1:"s"===d(n.parentyaxis&&n.parentyaxis.toLowerCase(),"p")?1:0;k.connectNullData=l(q.connectnulldata,0);k.includeInLegend=l(n.includeinlegend,1);k.enableAnimation=f=l(q.animation,q.defaultanimation,1);k.animation=f?{duration:1E3*l(q.animationduration,1)}:!1;k.transposeanimation=l(q.transposeanimation,f);k.transposeanimduration=1E3*
l(q.transposeanimduration,.2);k.showValues=l(n.showvalues,q.showvalues);k.valuePadding=l(q.valuepadding,2);k.valuePosition=d(n.valueposition,q.valueposition,"auto");k.showTooltip=l(q.showtooltip,1);k.seriesNameInTooltip=l(q.seriesnameintooltip,1);k.showRegressionLine=l(n.showregressionline,q.showregressionline,0);k.plotFillColor=d(n.color,q.plotfillcolor,t);k.plotFillAngle=d(q.plotfillangle,270);k.plotFillAlpha=d(n.alpha,q.plotfillalpha,p,"70");p=l(q.useplotgradientcolor,1);k.plotGradientColor=0!==
p?m.getDefinedColor(q.plotgradientcolor,w.getColor("plotGradientColor")):"";k.fillColor={color:k.plotFillColor+(k.plotGradientColor?","+k.plotGradientColor:J),alpha:k.plotFillAlpha,angle:k.plotFillAngle};k.plotBorderAlpha=a?d(n.plotborderalpha,q.plotborderalpha,n.alpha,"95"):0;k.plotBorderColor=d(n.plotbordercolor,q.plotbordercolor,q.areabordercolor,"666666");k.dashed=a=l(n.dashed,q.plotborderdashed);k.plotBorderDashLen=d(n.plotborderdashlen,q.plotborderdashlen,5);k.plotBorderDashGap=d(n.plotborderdashgap,
q.plotborderdashgap,4);k.plotBorderThickness=l(n.plotborderthickness,q.plotborderthickness,1);k.plotBorderDashStyle=a?m.getDashStyle(k.plotBorderDashLen,k.plotBorderDashGap,k.plotBorderThickness):"none";k.showHoverEffect=l(q.plothovereffect,q.anchorhovereffect,q.showhovereffect,void 0);k.rotateValues=l(q.rotatevalues)?270:0;k.drawLine=l(n.drawline,q.drawlines,0);k.lineThickness=l(n.linethickness,q.linethickness,2);k.lineDashLen=l(n.linedashlen,q.linedashlen,5);k.lineDashGap=l(n.linedashgap,q.linedashgap,
4);k.lineAlpha=l(n.linealpha,q.linealpha,n.alpha,ba);k.lineColor=d(n.linecolor,q.linecolor,n.color,k.plotColor);k.lineDashStyle=m.getDashStyle(k.lineDashLen,k.lineDashGap,k.lineThickness);k.lineDashStyle=r?k.lineDashStyle:"none";k.shadow={opacity:l(q.showshadow,g)?k.lineAlpha/100:0};k.drawAnchors=l(n.drawanchors,n.showanchors,q.drawanchors,q.showanchors);k.anchorBgColor=Oa(d(n.anchorbgcolor,q.anchorbgcolor,w.getColor("anchorBgColor")));k.anchorBorderColor=Oa(d(n.anchorbordercolor,n.color,q.anchorbordercolor,
k.lineColor));k.anchorRadius=l(n.anchorradius,q.anchorradius,3);k.anchorAlpha=d(n.anchoralpha,n.alpha,q.anchoralpha,ba);k.anchorBgAlpha=d(n.anchorbgalpha,n.alpha,q.anchorbgalpha,ba);k.anchorBorderThickness=d(n.anchorborderthickness,q.anchorborderthickness,1);k.anchorSides=l(n.anchorsides,q.anchorsides,this.index+3);k.anchorImageUrl=d(n.anchorimageurl,q.anchorimageurl);k.anchorImageAlpha=l(n.anchorimagealpha,q.anchorimagealpha,100);k.anchorImageScale=l(n.anchorimagescale,q.anchorimagescale,100);k.anchorImagePadding=
l(n.anchorimagepadding,q.anchorimagepadding,1);k.anchorStartAngle=l(n.anchorstartangle,q.anchorstartangle,90);k.anchorShadow=l(n.anchorshadow,q.anchorshadow,0);k.plotToolText=m.getValidValue(e(d(n.plottooltext,q.plottooltext)));k.showRegressionLine&&(k.regressionObj={isRegression:!0,sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},k.showYOnX=l(n.showyonx,q.showyonx,1),k.regressionLineColor=Oa(d(n.regressionlinecolor,q.regressionlinecolor,k.anchorBorderColor)),k.regressionLineThickness=
l(n.regressionlinethickness,q.regressionlinethickness,k.anchorBorderThickness),k.regressionLineAlpha=$(l(n.regressionlinealpha,q.regressionlinealpha,k.anchorAlpha)),k.regLineColor=T(k.regressionLineColor,k.regressionLineAlpha));k.seriesNameInTooltip&&(k.seriesname=m.getFirstValue(n&&n.seriesname));this.visible=1===l(n.visible,!Number(n.initiallyhidden),1);this._setConfigure();!1!==c.hasLegend&&this._addLegend()},_setConfigure:function(){var a,f,g,c,e,k,n,p,q,w=-Infinity,t=Infinity,r=Infinity,E=-Infinity,
z=this.components.data||(this.components.data=[]);a=this.chart;var F=m.parseUnsafeString,s=this.config,v=this.JSONData,A=a.jsonData.chart,B=v.data||[],h=B.length,D=a.components.numberFormatter,C=F(A.yaxisname),H=F(A.xaxisname),G=s.lineDashed,I=s.lineDashStyle,P=s.parentYAxis,M=s.toolTipSepChar,Q=s.seriesname;for(a=0;a<h;a+=1)c=B[a],g=z[a]||(z[a]={}),f=g.config||(g.config={}),f.setValue=e={x:D.getCleanValue(c.x),y:D.getCleanValue(c.y)},null!==e.x&&null!==e.y&&(E=na(E,e.x),r=Fa(r,e.x),w=na(w,e.y),t=
Fa(t,e.y)),s.showRegressionLine&&this.pointValueWatcher(e.x,e.y,s.regressionObj),f.setLink=d(c.link),f.anchorProps=this._parseAnchorProperties(a),f.showValue=l(c.showvalue,s.showValues),f.dashed=l(c.dashed,G),f.color=d(c.color,s.lineColor),f.alpha=d(c.alpha,s.lineAlpha),f.dashStyle=f.dashed?I:"none",f.toolTipValue=k=D.dataLabels(e.y,P),f.setDisplayValue=q=F(c.displayvalue),p=f.formatedVal=d(c.toolTipValue,D.dataLabels(e.y,P)),n=D.xAxis(e.x),f.displayValue=d(q,k),f.setTooltext=m.getValidValue(F(d(c.tooltext,
s.plotToolText))),s.showTooltip?void 0!==f.setTooltext?(e=[4,5,6,7,8,9,10,11],n={yaxisName:C,xaxisName:H,yDataValue:p,xDataValue:n},c=Z(f.setTooltext,e,n,c,A,v)):null===p?c=!1:(c=Q?Q+M:J,c+=e.x?n+M:J,c+=k):c=!1,f.toolText=c,g?g.graphics||(z[a].graphics={}):g=z[a]={graphics:{}},f.hoverEffects=this._parseHoverEffectOptions(g),f.anchorProps.isAnchorHoverRadius=f.hoverEffects.anchorRadius;s.xMax=E;s.xMin=r;s.yMin=t;s.yMax=w;s.showRegressionLine&&(s.regressionData=this.getRegressionLineSeries(s.regressionObj,
s.showYOnX,h));this.ErrorValueConfigure&&this.ErrorValueConfigure()},sortFN:function(a,f){return a-f},getRegressionLineSeries:function(a,f,g){var c,d,e,k;k=a.sumXY;var l=a.sumX,m=a.sumY;d=a.xValues;e=a.sumXsqure;c=a.yValues;a=a.sumYsqure;f?(d.sort(this.sortFN),c=d[0],d=d[d.length-1],k=(g*k-l*m)/(g*e-Ia(l,2)),e=!isNaN(k)&&isFinite(k)?k*(c-l/g)+m/g:m/g,g=!isNaN(k)&&isFinite(k)?k*(d-l/g)+m/g:m/g,g=[{x:c,y:e},{x:d,y:g}]):(c.sort(this.sortFN),e=c[0],c=c[c.length-1],k=(g*k-l*m)/(g*a-Ia(m,2)),d=isNaN(k)?
l/g:k*(e-m/g)+l/g,g=isNaN(k)?l/g:k*(c-m/g)+l/g,g=[{x:d,y:e},{x:g,y:c}]);return g},draw:function(){var b,f,g,c,e,k,l,n,p,q,w,r,E,z,B,s=this.JSONData,v=this.chart,A=v.components,D=this.components.removeDataArr,D=D&&D.length,h=v.jsonData.chart,C=this.config,H=this.index,G=s.data||[],J=v.config,I=A.paper,P=A.xAxis[0],A=A.yAxis[0],M=m.parseUnsafeString,Q=m.getValidValue,T=this.components.data,R=T.length;z={};var V={},$=C.lineThickness,V=v.graphics;c=V.datalabelsGroup;var X=this.graphics.container,U=this.graphics.trackerContainer;
w=V.trackerGroup;var ba=this.pool||(this.pool={}),Z=C.connectNullData,fa=C.showTooltip;e=V.datasetGroup;var ca=C.shadow,ea=this.graphics.dataLabelContainer;g={};var ma=[na(0,J.canvasLeft),na(0,J.canvasTop),na(1,J.canvasWidth),na(1,J.canvasHeight)],J=[na(0,J.canvasLeft),na(0,J.canvasTop),1,na(1,J.canvasHeight)],ia=C.lineDashStyle,ga={color:C.lineColor,alpha:C.lineAlpha},da=[],la=[],ka=null,sa=[],oa=!1,ha=this.graphics.lineElement;g=this.graphics.regressionLineElement;var ra=this.visible,qa=v.get("config",
"animationObj"),ua=qa.duration||0,wa=qa.dummyObj,Ba=qa.animObj,qa=qa.animType,Ca;p=!1;e.line=e.line||I.group("line",e);e.lineConnector=e.lineConnector||I.group("line-connector",e);X||(X=this.graphics.container={lineShadowGroup:I.group("connector-shadow",e.lineConnector),anchorShadowGroup:I.group("anchor-shadow",e.lineConnector),lineGroup:I.group("connector",e.lineConnector),anchorGroup:I.group("anchors",e.lineConnector)});U||(U=this.graphics.trackerContainer=I.group("line-hot"));T||(T=this.components.data=
[]);w&&w.appendChild(U);ea||(ea=this.graphics.dataLabelContainer=I.group("datalabel",c).attr("class","fusioncharts-datalabels"));C.showRegressionLine&&ra?(c=C.regressionData[0],w=C.regressionData[1],g?g.attr({path:"M "+P.getAxisPosition(c.x)+","+A.getAxisPosition(c.y)+" L "+P.getAxisPosition(w.x)+","+A.getAxisPosition(w.y)}).show():g=this.graphics.regressionLineElement=I.path("M "+P.getAxisPosition(c.x)+","+A.getAxisPosition(c.y)+" L "+P.getAxisPosition(w.x)+","+A.getAxisPosition(w.y),X.lineGroup).attr({stroke:F({color:C.regressionLineColor,
alpha:C.regressionLineAlpha}),"stroke-width":C.regressionLineThickness})):g&&g.hide();for(c=0;c<R;c+=1)if(g=G[c],w=T[c],E=w.config,V=w.graphics,p=E.setValue,n=E.setLink,Q(M(d(g.tooltext,s.plottooltext,h.plottooltext))),g=E.anchorProps,z=g.symbol,r=g.shadow,q=E.displayValue,w||(w=T[c]={graphics:{}}),f=p.y,b=p.x,e=E.toolText,null!==f&&null!==b){E=E.hoverEffects;b=P.getAxisPosition(b);f=A.getAxisPosition(f);q={index:c,link:n,value:p,displayValue:q,toolText:e,id:C.userID,datasetIndex:H||0,datasetName:s.seriesname,
visible:ra};p=!1;g.imageUrl?(r=new a,ra||V.image&&V.image.animateWith(wa,Ba,{opacity:0},ua,qa),r.onload=this._onAnchorImageLoad(this,c,q,b,f),r.onerror=this._onErrorSetter(b,f,c,this),r.src=g.imageUrl):(k=V.element,(Ca=V.image)&&Ca.hide(),k||(ba.element&&ba.element.length?k=V.element=ba.element.shift():(k=V.element=I.polypath(X.anchorGroup),p=!0),oa=!0,ua&&oa&&k.attr({polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],opacity:0,"fill-opacity":0,"stroke-opacity":0})),k.attr({fill:F({color:g.bgColor,alpha:g.bgAlpha}),
stroke:F({color:g.borderColor,alpha:g.borderAlpha}),"stroke-width":g.borderThickness,cursor:n?"pointer":"",visibility:g.radius?ra:"hidden"}).shadow(r,X.anchorShadowGroup).animateWith(wa,Ba,{polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],opacity:ra?g.bgAlpha/100:0,"fill-opacity":ra?g.bgAlpha/100:0,"stroke-opacity":ra?g.borderAlpha/100:0},ua,qa));E.enabled&&(V={polypath:[E.anchorSides||2,b,f,E.anchorRadius,E.startAngle,E.dip],fill:F({color:E.anchorColor,alpha:E.anchorBgAlpha}),stroke:F({color:E.anchorBorderColor,
alpha:E.anchorBorderAlpha}),"stroke-width":E.anchorBorderThickness},z={polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],fill:F({color:g.bgColor,alpha:g.bgAlpha}),stroke:F({color:g.borderColor,alpha:g.borderAlpha}),"stroke-width":g.borderThickness},k&&k.data("anchorRadius",g.radius).data("anchorHoverRadius",E.anchorRadius).data("setRolloverAttr",V).data("setRolloutAttr",z));if(n||fa||E)l=na(g.radius,E.anchorRadius||0),n={cx:b,cy:f,r:l,cursor:n?"pointer":"",stroke:t,"stroke-width":g.borderThickness,fill:t,
ishot:!0,visibility:ra},l=w.graphics.hotElement,w.graphics.hotElement||(l=w.graphics.hotElement=I.circle(U),p=!0),l.attr(n);(l||k).data("eventArgs",q).data("groupId",void 0).tooltip(e).data("hoverEnabled",E.enabled).data("dataset",this);p&&(l||k).click(this.getPlotClickFn(v)).hover(this.rolloverResponseSetter(w,v),this.rolloutResponseSetter(w,v));g.isAnchorHoverRadius=E.anchorRadius;null!==ka?(sa.length&&(da=da.concat(sa),sa.length=0),da.join("")||da.push("M",B,ka),da.push("L",b,f)):sa.push("M",b,
f);B=b;ka=f;w._xPos=b;w._yPos=f;!g.imageUrl&&this.drawLabel(c)}else sa.length=0,Z||(ka=null);da.length&&(la=la.concat(da));C.drawLine&&la.join("")?(ha||(ha=this.graphics.lineElement=I.path({path:la},X.lineGroup),oa=!0),ra&&ha.attr({"stroke-dasharray":ia,"stroke-width":$,stroke:F(ga),"stroke-linecap":"round","stroke-linejoin":2<=$?"round":"miter"}),ra?ha.animateWith(wa,Ba,{path:la,"stroke-opacity":1},ua,qa,function(){this.shadow(ca,X.lineShadowGroup)}):ha.animateWith(wa,Ba,{path:la,"stroke-opacity":0},
oa?0:ua,qa).shadow(!1)):ha&&ha.animateWith(wa,Ba,{"stroke-opacity":0},ua,qa).shadow(!1);X.lineShadowGroup.hide();X.anchorShadowGroup.hide();ea.hide();oa&&X.lineGroup.attr({"clip-rect":J});X.lineGroup.animateWith(wa,Ba,{"clip-rect":ma},ua,qa,function(){X.lineGroup.attr({"clip-rect":null});ra?(X.lineShadowGroup.show(),X.anchorShadowGroup.show(),X.anchorGroup.show(),U.show(),ea&&ea.show()):(X.lineShadowGroup.hide(),X.anchorShadowGroup.hide(),X.anchorGroup.hide(),U.hide(),ea&&ea.hide())});D&&this.remove();
this.drawErrorValue&&this.drawErrorValue()},getDataLimits:function(){var a=this.config,f=a.yMax,c=a.yMin,d=a.xMax,a=a.xMin,e=this.chart.config.transposeAxis;!1===this.visible&&e&&(f=-Infinity,c=Infinity,d=-Infinity,a=Infinity);return{max:f,min:c,xMax:d,xMin:a}},getAxisValuePadding:function(){return{left:0,right:0}},_addLegend:function(){var a,f=this.config,c=this.chart.components.legend,e=l(f.drawAnchors,1);a=this.getPointColor(f.anchorBgColor,ba);var k={FCcolor:{color:f.anchorBorderColor,alpha:f.anchorAlpha}};
c.config.symbol3DLighting?a&&a.FCcolor?(a=p({},a),a.FCcolor.alpha="100"):a=d(a):a={FCcolor:{color:d(a&&(a.FCcolor&&a.FCcolor.color.split(",")[0]||a)),angle:0,ratio:"0",alpha:"100"}};this.legendItemId=c.addItems(this,this.legendInteractivity,{enabled:f.includeInLegend,type:this.type,drawLine:d(f.drawLine,!0),fillColor:F(a),strokeColor:F(d(k&&(k.FCcolor&&k.FCcolor.color.split(",")[0]||k))),rawFillColor:f.anchorBgColor,rawStrokeColor:f.anchorBorderColor,anchorSide:e?f.anchorSides:0,strokeWidth:f.anchorBorderThickness,
label:da(this.JSONData.seriesname)})},getPointColor:function(a,f){var c,d;a=Oa(a);f=$(f);c=Pa(a,70);d=P(a,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:c+","+d,alpha:f+","+f,ratio:G,radialGradient:!0}}}},"Line"]);FusionCharts.register("component",["dataset","Pareto",{configure:function(){var a=this.chart,f=this.config,c=a.components,e=c.xAxis[0],k=this.JSONData,n=k.data,q=n&&n.length,w=a.jsonData.chart,t=c.colorManager,r,z=t.getPlotColor(this.index||this.positionIndex),
B=l(k.dashed,w.plotborderdashed),E=l(w.useplotgradientcolor,1),D=l(w.showtooltip,1),C=m.parseUnsafeString,s=C(w.yaxisname),v=C(w.xaxisname),A=m.parseTooltext,H,h,G,J,I,P,M,Q,R,V,X,$,U,Z,fa,ca=m.getDashStyle,ea=this.components.data,c=c.numberFormatter,ia,da=a.is3D,ya,Aa,ma,la,oa,ha,va,ka,sa=-Infinity,qa=Infinity,ua=this.type.toLowerCase(),wa,Ca,Da=0,Ha=[],Ba=0,Ja,za=f.tootipSepChar=d(w.tooltipsepchar,", ");f.enableAnimation=M=l(w.animation,w.defaultanimation,1);f.animation=M?{duration:1E3*l(w.animationduration,
1)}:!1;f.showTooltip=l(w.showtooltip,1);f.valuePadding=l(w.valuepadding,2);f.rotateValues=l(w.rotatevalues)?270:0;f.showHoverEffect=M=l(w.plothovereffect,w.showhovereffect,void 0);f.showShadow=P||da?l(w.showshadow,1):l(w.showshadow,t.getColor("showShadow"));f.useDataPlotColorForLabels=Ja=l(w.usedataplotcolorforlabels,0);f.use3dlineshift=l(w.use3dlineshift,a.use3dlineshift);/column/.test(ua)&&(r=f.showPlotBorder=l(w.showplotborder,da?0:1),f.plotDashLen=G=l(w.plotborderdashlen,5),f.plotDashGap=J=l(w.plotborderdashgap,
4),f.plotfillAngle=Q=l(360-w.plotfillangle,90),f.plotFillAlpha=R=d(w.plotfillalpha,ba),f.plotColor=z,f.isRoundEdges=P=l(w.useroundedges,0),f.plotRadius=l(w.useRoundEdges,f.isRoundEdges?1:0),f.plotFillRatio=V=d(w.plotfillratio),f.plotgradientcolor=X=m.getDefinedColor(w.plotgradientcolor,t.getColor("plotGradientColor")),!E&&(X=""),f.plotBorderAlpha=$=r&&!da?d(w.plotborderalpha,R,ba):0,f.plotBorderColor=U=d(w.plotbordercolor,da?"#ffffff":t.getColor("plotBorderColor")),f.plotBorderThickness=I=l(w.plotborderthickness,
1),f.plotBorderDashStyle=Z=B?ca(G,J,I):"none",f.showValues=l(w.showvalues,1),f.definedGroupPadding=na(l(w.plotspacepercent),0),f.plotSpacePercent=na(l(w.plotspacepercent,20)%100,0),f.maxColWidth=l(w.maxcolwidth,50),f.plotPaddingPercent=l(w.plotpaddingpercent),f.placeValuesInside=l(w.placevaluesinside,0),f.use3DLighting=l(w.use3dlighting,1),f.parentYAxis=0);"line"===ua&&(f.lineColor=Oa(d(w.linecolor,t.getColor("plotBorderColor"))),f.lineThickness=l(w.linethickness,2),f.lineAlpha=d(w.linealpha,ba),
f.lineDashed=l(w.linedashed,0),f.lineDashLen=l(k.linedashlen,w.linedashlen,5),f.lineDashGap=l(k.linedashgap,w.linedashgap,4),B=m.getDashStyle(f.lineDashLen,f.lineDashGap,f.lineThickness),f.lineDashStyle=f.lineDashed?B:"none",f.drawAnchors=l(w.drawanchors,w.showanchors),f.anchorBgColor=d(w.anchorbgcolor,t.getColor("anchorBgColor")),f.anchorBorderColor=d(w.anchorbordercolor,f.lineColor),f.anchorRadius=l(w.anchorradius,3),f.anchorAlpha=d(w.anchoralpha),f.anchorBgAlpha=d(w.anchorbgalpha,100),f.anchorBorderThickness=
d(w.anchorborderthickness,1),f.anchorSides=d(w.anchorsides,0),f.anchorImageUrl=d(w.anchorimageurl),f.anchorImageAlpha=l(w.anchorimagealpha,100),f.anchorImageScale=l(w.anchorimagescale,100),f.anchorImagePadding=l(w.anchorimagepadding,1),f.anchorStartAngle=l(w.anchorstartangle,90),f.parentYAxis=1,f.valuePosition=d(w.valueposition,"auto"),f.showValues=l(w.showlinevalues,w.showvalues,1),f.showShadow&&(f.shadow={opacity:f.lineAlpha/100}),f.showCumulativeLine=l(w.showcumulativeline,1));ea||(ea=this.components.data=
[]);for(B=0;B<q;B++)E=ra(c.getCleanValue(n[B].value)),Da+=E,Ha[B]=p({},n[B]),Ha[B].value=E;Ha.sort(function(a,b){return b.value-a.value});for(B=0;B<q;B++)E=Ha[B],(z=ea[B])||(z=ea[B]={graphics:{}}),z.config||(n=ea[B].config={}),a=ra(c.getCleanValue(E.value)),null!==a&&(n=z&&z.config,ia=e.getLabel(B),n.label=ga(C(d(ia.label))),n.showValue=l(E.showvalue,f.showValues),n.setValue=a,n.setLink=d(E.link),n.setDisplayValue=ia=C(E.displayvalue),Ba+=n.setValue,wa=c.dataLabels(a),/column/.test(ua)?(z=l(E.dashed),
H=l(E.dashlen,G),fa=J=l(E.dashgap,J),n.plotBorderDashStyle=H=1===z?ca(H,fa,I):0===z?"none":Z,z=t.getPlotColor(B),z=d(E.color,z),V=d(E.ratio,f.plotFillRatio),R=d(E.alpha,f.plotFillAlpha),$=d(R,f.plotBorderAlpha),0>a&&!P&&(h=Q,Q=360-Q),n.colorArr=fa=m.graphics.getColumnColor(z+","+X,R,V,Q,P,U,$.toString(),0,da?!0:!1),0!==M&&(ya=d(E.hovercolor,w.plotfillhovercolor,w.columnhovercolor,z),Aa=d(E.hoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,R),ma=d(E.hovergradientcolor,w.plothovergradientcolor,X),
!ma&&(ma=""),V=d(E.hoverratio,w.plothoverratio,V),la=l(360-E.hoverangle,360-k.hoverangle,360-w.plothoverangle,Q),oa=d(E.borderhovercolor,w.plotborderhovercolor,U),$=d(E.borderhoveralpha,k.borderhoveralpha,w.plotborderhoveralpha,w.plotfillhoveralpha,$,R),R=l(E.borderhoverthickness,k.borderhoverthickness,w.plotborderhoverthickness,I),ha=l(E.borderhoverdashed,w.plotborderhoverdashed),va=l(E.borderhoverdashgap,w.plotborderhoverdashgap,G),ka=l(E.borderhoverdashlen,w.plotborderhoverdashlen,J),ha=ha?ca(ka,
va,R):H,1==M&&ya===z&&(ya=Pa(ya,70)),ya=m.graphics.getColumnColor(ya+","+ma,Aa,V,la,P,oa,$.toString(),0,da?!0:!1),n.setRolloutAttr={fill:da?[F(fa[0]),!f.use3DLighting]:F(fa[0]),stroke:r&&F(fa[1]),"stroke-width":I,"stroke-dasharray":H},n.setRolloverAttr={fill:da?[F(ya[0]),!f.use3DLighting]:F(ya[0]),stroke:r&&F(ya[1]),"stroke-width":R,"stroke-dasharray":ha}),Ja&&e.updateCategory(B,{labelfontcolor:T(z)}),n.displayValue=d(ia,wa),H=n.setTooltext=n.origToolText=ga(C(d(E.tooltext,w.plottooltext))),n.toolTipValue=
c.dataLabels(a,f.parentYAxis)):(a=n.setValue=Ba/Da*100,Ca=c.percentValue(a),n.toolTipValue=Ca,n.displayValue=Ca,n.valuePosition=d(E.valueposition,f.valuePosition),n.anchorProps=this._parseAnchorProperties(B,Ha),n.hoverEffects=this._parseHoverEffectOptions(z)),z=n.toolTipValue,sa=na(sa,a),qa=Fa(qa,a),D?(f.showTooltip?void 0!==H?(z={formattedValue:z,label:n.label,yaxisName:s,xaxisName:v,cumulativeValue:Ba,cumulativeDataValue:c.dataLabels(Ba),cumulativePercentValue:Ca,sum:c.dataLabels(Da),unformattedSum:Da},
a=[1,2,3,5,6,7,20,21,22,23,24,25],E=A(H,a,z,E,w)):E=n.label?n.label+za:"":E=!1,n.toolText=E):E=!1,n.toolText=E,n.tooltext=H,n.setTooltext=E,h&&(Q=h));f.maxValue=sa;f.minValue=qa},init:function(a,f,c){var d=a.chart.components;a.JSONData={data:f};a.type=c;a.yAxis="line"===c?d.yAxis[1]:d.yAxis[0];a.components={};a.graphics={};a.visible=!0;this.configure.call(a)}}]);FusionCharts.register("component",["datasetGroup","MSSplineArea",{},"area"]);FusionCharts.register("component",["dataset","MSSplineArea",
{configure:function(){FusionCharts.get("component",["dataset","area"]).prototype.configure.call(this);this._calculateMaxMin()},_calculateMaxMin:function(){var a=this.config,f=this.chart,c=f.origRenderWidth,d=a.connectNullData,e=this.components.data,k=Number.MIN_VALUE,l=Number.MAX_VALUE;0===a.minimizeTendency&&(f=f.getSplineExtremities(e,c,d),a.maxValue=na(a.maxValue,f.max),a.minValue=Fa(a.minValue,f.min),a.maxValue===k&&(a.maxValue=0),a.minValue===l&&(a.minValue=0))},getSplinePath:function(a,f,c,
d){var e=function(a,b,f,c){b=(c-b)/Na((f-a)*(f-a)+(c-b)*(c-b));b=ra(.5*b);return a*b+f*(1-b)},k=function(a,b,f,c){var d=a.length,g=a[d-1],h=g.length,e=g[0],g=g[h-2];3>h||("R"!==e&&"C"!==e||3!==h||(a[d-1][0]="L"),b&&a.push(["L",g,c,f,c,"Z"]))},l=/area/ig.test(this.defaultDatasetType),m=[null],n=[],p=[],q=f.getAxisBase();f=f.getAxisPosition(q);var w,t,r,z,s,v,A,F,h,B,D,C,H,G,J,I;J=0;for(I=a.length;J<I;J+=1)if(h=a[J],r=a[J-1]||{},z=a[J+1]||{},s=h.x,q=h.y,w=r.x,r=r.y,v=z.x,z=z.y,A=h.lastYPos,F=h.lastXPos,
D=n.length,h=p.length,d)if(null!==A)if(t=H,J===a.length-1){A=m[J-C-1];h=v=(s+w)/2;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,(q+r)/2,s,q);n.push(H);p.push(H);l&&k(n,!0,G,f);l&&k(p,!1)}else{A=m[J-C-1];if(r>q&&z>=q||r<q&&z<=q)if(B=0,v=e(w,r,s,q),z=q,1!==J-C){h=v;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,z,s,q)}else H.push((s+w)/2,(q+r)/2,v,z,s,q);else if(r===q)B=0,H.push(w,r,s,q,s,q);else if(r>q&&q>z||r<q&&q<z){B=(z-r)/(v-w);v=e(w,r,s,q);z=(v-s)*B+q;if(r>q&&
z>r||r<q&&z<r)z=r,v=(z-q)/B+s;if(1!==J-C){h=v;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,z,s,q)}else H.push((s+w)/2,(q+r)/2,v,z,s,q)}m.push(B)}else null===A&&0!==J?(t||(t=[]),"C"===t[0]&&(n.push(H),p.push(H),l&&k(n,!0,G,f),l&&k(p,!1)),n.push(["M",s,q]),p.push(["M",s,q]),G=s,H=["C"],C=J,m=[null]):(n.push(["M",s,q]),p.push(["M",s,q]),G=s,H=["C"],C=J);else null!==A?2<=D?("M"===n[D-1][0]&&n.push(["R"]),"M"===p[h-1][0]&&p.push(["R"]),D=n.length,h=p.length,t=n[D-1],w=t.length,n[D-1].push(s),
n[D-1].push(q),p[h-1].push(s),p[h-1].push(q),J===c-1&&"R"===t[0]&&(k(n,!0,G,f),k(p,!1))):(n.push(["M",F,A]),n.push(["R",s,q]),p.push(["M",F,A]),p.push(["R",s,q]),G=F):null===A&&2<=D&&(t=n[D-1],"R"===t[0]&&(k(n,!0,G,f),k(p,!1)),n.push(["M",s,q]),p.push(["M",s,q]),G=s);t=n[n.length-1];l&&t&&(w=t.length,"Z"===t[w-1]||"R"!==t[0]&&"C"!==t[0]||(k(n,!0,G,f),k(p,!1)));l||(n=d?n:p,2<=n.length&&k(n,!1));return{closedPath:n,openPath:p}},draw:function(){var b=this,f=b.config,c=b.chart,d=b.JSONData,e=c.components,
k=e.canvas.config,l=b.index,m,n,p,q=e.paper,e=e.xAxis[0],w=b.yAxis,r,z,B,s,v=null,A=[],D=[],h=c.graphics,C=f.showTooltip,H,G=b.components.data,J,I,P,M,Q=f.connectNullData,T,R,V=c.config.style,$={fontFamily:V.fontFamily,fontSize:V.fontSize,lineHeight:V.lineHeight,fontWeight:V.fontWeight,fontStyle:V.fontStyle,color:V.color},V=f.minimizeTendency,U=w.getAxisBase(),fa,ba=f.plotBorderColor,Z=f.plotBorderAlpha,ca=f.plotBorderDashStyle,ea=f.plotBorderThickness,ia=b.graphics.container,ma=b.graphics.trackerContainer,
da=[],ga,la=f.fillColor,ha=h.areaGroup,ka=c.get("config","animationObj"),oa=ka.duration,ra=ka.animType,qa=b.components.removeDataArr||[],ua=qa.length,wa=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(ia.areaGroup.hide(),za.hide(),ia.lineShadowGroup.hide(),ia.anchorShadowGroup.hide(),ia.anchorGroup.hide(),ma.hide(),Ha&&Ha.hide(),b._conatinerHidden=!0)},Ca=function(){ha.area.attr({"clip-rect":null});ha.area.node&&ha.area.node.removeAttribute("clip-path");!1!==b.visible&&
(ia.lineShadowGroup.show(),ia.anchorShadowGroup.show(),ia.anchorGroup.show(),Ha.show(),za.show());c._animCallBack()},Da=f.shadow,Ba,Fa=b.visible;m=h.trackerGroup;var za=ia&&ia.shadowContainer,da={},da=h.datalabelsGroup,Ha=b.graphics.dataLabelContainer,Ja,h=k.clip["clip-canvas"].slice(0),k=k.clip["clip-canvas-init"].slice(0),f=!f.drawFullAreaBorder,Ia=!0,Na=b.components.pool||[],Ea=ka.dummyObj,Oa,ka=ka.animObj,Pa=b.graphics.connector,Ta;ia||(ia=b.graphics.container={lineShadowGroup:q.group("connector-shadow",
ha.areaConnector),anchorShadowGroup:q.group("anchor-shadow",ha.areaConnector),areaGroup:q.group("area",ha.area),anchorGroup:q.group("anchors",ha.areaConnector)},Fa||(ia.lineShadowGroup.hide(),ia.anchorShadowGroup.hide(),ia.areaGroup.hide(),ia.anchorGroup.hide()));za||(za=b.graphics.shadowContainer=q.group("shadows",ha.shadows),Fa||za.hide());ma||(ma=b.graphics.trackerContainer=q.group("area-hot",m),Fa||ma.hide());G||(G=b.components.data);Ha||(Ha=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||
q.group("datalabel",da),Fa||Ha.hide());Fa&&(ia.lineShadowGroup.show(),ia.anchorShadowGroup.show(),ia.areaGroup.show(),ia.anchorGroup.show(),Ha.show(),za.show(),ma.show());c._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",$);m=e.getCategoryLen();$=b.graphics.splineElement;for(p=0;p<m;p++)if(J=G[p])H=J&&J.config,Ja=H.showValue,M=H.setValue,n=H.setLink,da=H.anchorProps,ga=da.shadow,r=H.setLevelTooltext,H&&(fa=0<=M?H.previousPositiveY:H.previousNegativeY),I=J.graphics.element,P=J.graphics.hotElement,
Oa=J.graphics.label,Ta=J.graphics.image,null===M?(I&&I.hide(),P&&P.hide(),Ta&&Ta.hide(),Q||(v=null)):(w.getAxisPosition(fa||U),B=w.getAxisPosition(M+(fa||0)),z=e.getAxisPosition(p),!1===Fa&&oa&&(B=w.getPixel(w.getAxisBase())),Ba=H.hoverEffects,r=C?H.toolText+(r?"":H.toolTipValue):"",M={index:p,link:n,value:M,displayValue:H.displayValue,categoryLabel:e.getLabel(p).label,toolText:r,id:b.userID,datasetIndex:l||0,datasetName:d.seriesname,visible:Fa},Ba.enabled&&(H.setRolloverAttr={polypath:[Ba.anchorSides||
2,z,B,Ba.anchorRadius,Ba.startAngle,Ba.dip],fill:F({color:Ba.anchorColor,alpha:Ba.anchorBgAlpha}),stroke:F({color:Ba.anchorBorderColor,alpha:Ba.anchorBorderAlpha}),"stroke-width":Ba.anchorBorderThickness},H.setRolloutAttr={polypath:[da.symbol[1]||2,z,B,da.radius,da.startAngle,0],fill:F({color:da.bgColor,alpha:da.bgAlpha}),stroke:F({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness},R=H.setRolloverAttr,T=H.setRolloutAttr),H=[da.symbol[1]||2,z,B,da.radius,da.startAngle,0],
da.imageUrl?(I=new a,I.onload=b._onAnchorImageLoad(b,p,M,z,B),I.onerror=b._onErrorSetter(z,B,p,b),I.src=da.imageUrl):(Ta&&Ta.hide(),I||(Na.element&&Na.element.length?I=J.graphics.element=Na.element.shift():(I=J.graphics.element=q.polypath(ia.anchorGroup),I.attr({polypath:H}))),Ta&&Ta.hide(),I.show().animateWith(Ea,ka,{polypath:H},oa,ra,Ia&&void 0).attr({fill:F({color:da.bgColor,alpha:da.bgAlpha}),stroke:F({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness,visibility:da.radius?
Fa:"hidden"}).shadow(ga,ia.anchorShadowGroup).data("anchorRadius",da.radius).data("anchorHoverRadius",Ba.anchorRadius).data("setRolloverAttr",R).data("setRolloutAttr",T),Ba.enabled&&I&&I.data("anchorRadius",da.radius).data("anchorHoverRadius",Ba.anchorRadius).data("setRolloverAttr",R).data("setRolloutAttr",T),ga=na(da.radius,Ba&&Ba.anchorRadius||0,X),n={cx:z,cy:B,r:ga,cursor:n?"pointer":"",stroke:t,"stroke-width":da.borderThickness,fill:t,ishot:!0,visibility:"visible"},P?P.attr(n):P=J.graphics.hotElement=
q.circle(n,ma),(P||I).data("eventArgs",M).data("groupId",void 0).click(b.getPlotClickFn(c)).data("dataset",b).data("hoverEnabled",Ba.enabled).tooltip(r).hover(b.rolloverResponseSetter(J,c),b.rolloutResponseSetter(J,c))),J._xPos=z,J._yPos=B,D.push({x:z,y:B,lastXPos:s,lastYPos:v}),s=z,v=B),Ja&&!da.imageUrl&&this.drawLabel(p),Ja||Oa&&Oa.hide().attr({"text-bound":[]});da=this.getSplinePath.call(c,D,w,m,V).closedPath;da=da.join();$||($=b.graphics.splineElement=q.path(ia.areaGroup),$.attr({path:da}),oa&&
Fa&&(ia.anchorGroup.hide(),ia.anchorShadowGroup.hide(),Ha.hide(),za.hide(),ha.area.attr({"clip-rect":k}).animateWith(Ea,ka,{"clip-rect":h},oa,ra,Ca)));""===da?$.hide():$.show().animateWith(Ea,ka,{path:da},oa,ra,Ia&&wa);Ia=!1;$.attr({stroke:F({color:ba,alpha:Z}),"stroke-width":f?0:ea,fill:F(la),"stroke-linecap":"round","stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ca}).shadow(Da,za);f&&(Pa||(Pa=b.graphics.connector=q.path(ia.areaGroup)),Pa.animateWith(Ea,ka,{path:A},oa,ra),Pa.attr({stroke:F({color:ba,
alpha:Z}),"stroke-width":ea,"stroke-linecap":"round","stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ca}));for(p=0;p<ua;p++)b._removeDataVisuals(qa.shift())}},"area"]);FusionCharts.register("component",["dataset","MSSpline",{type:"spline",configure:function(){var a=FusionCharts.get("component",["dataset","line"]),f=FusionCharts.get("component",["dataset","MSSplineArea"]);a.prototype.configure.call(this);f.prototype._calculateMaxMin.call(this)},getSplinePath:function(a,f,c){var d=function(a,
b,f,c){b=(c-b)/Na((f-a)*(f-a)+(c-b)*(c-b));b=ra(.5*b);return a*b+f*(1-b)},e=function(a,b,f,c){var d=a.length,g=a[d-1],h=g.length,e=g[0],g=g[h-2];3>h||("R"!==e&&"C"!==e||3!==h||(a[d-1][0]="L"),b&&a.push(["L",g,c,f,c,"Z"]))},k=/area/ig.test(this.chart.defaultSeriesType);f=f.getAxisPosition(f.getAxisBase());var l=this.config.minimizeTendency,m=[null],n=[],p=[],q,w,t,r,z,s,v,A,B,h,F,D,C,H,G,J,I;J=0;for(I=a.length;J<I;J+=1)if(h=a[J],r=a[J-1]||{},z=a[J+1]||{},s=h.x,t=h.y,q=r.x,r=r.y,v=z.x,z=z.y,A=h.lastYPos,
B=h.lastXPos,D=n.length,h=p.length,l)if(null!==A)if(w=H,J===a.length-1){A=m[J-C-1];h=v=(s+q)/2;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,(t+r)/2,s,t);n.push(H);p.push(H);k&&e(n,!0,G,f);k&&e(p,!1)}else{A=m[J-C-1];if(r>t&&z>=t||r<t&&z<=t)if(F=0,v=d(q,r,s,t),z=t,1!==J-C){h=v;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,z,s,t)}else H.push((s+q)/2,(t+r)/2,v,z,s,t);else if(r===t)F=0,H.push(q,r,s,t,s,t);else if(r>t&&t>z||r<t&&t<z){F=(z-r)/(v-q);v=d(q,r,s,t);z=(v-s)*
F+t;if(r>t&&z>r||r<t&&z<r)z=r,v=(z-t)/F+s;if(1!==J-C){h=v;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,z,s,t)}else H.push((s+q)/2,(t+r)/2,v,z,s,t)}m.push(F)}else null===A&&0!==J?(w||(w=[]),"C"===w[0]&&(n.push(H),p.push(H),k&&e(n,!0,G,f),k&&e(p,!1)),n.push(["M",s,t]),p.push(["M",s,t]),G=s,H=["C"],C=J,m=[null]):(n.push(["M",s,t]),p.push(["M",s,t]),G=s,H=["C"],C=J);else null!==A?2<=D?("M"===n[D-1][0]&&n.push(["R"]),"M"===p[h-1][0]&&p.push(["R"]),D=n.length,h=p.length,w=n[D-1],q=w.length,
n[D-1].push(s),n[D-1].push(t),p[h-1].push(s),p[h-1].push(t),J===c-1&&"R"===w[0]&&(e(n,!0,G,f),e(p,!1))):(n.push(["M",B,A]),n.push(["R",s,t]),p.push(["M",B,A]),p.push(["R",s,t]),G=B):null===A&&2<=D&&(w=n[D-1],"R"===w[0]&&(e(n,!0,G,f),e(p,!1)),n.push(["M",s,t]),p.push(["M",s,t]),G=s);w=n[n.length-1];k&&w&&(q=w.length,"Z"===w[q-1]||"R"!==w[0]&&"C"!==w[0]||(e(n,!0,G,f),e(p,!1)));k||(n=l?n:p,2<=n.length&&e(n,!1));return{closedPath:n,openPath:p}},draw:function(){var b=this,f=b.JSONData,c=[],e=[],k=b.chart,
l=k.components,n=l.canvas.config,e=b.config,p=k.config,q=b.index||b.positionIndex,w=p.categories,r=l.paper,l=l.xAxis[0],z=b.yAxis,E,D,B=k.graphics;E=B.datalabelsGroup;var s=m.parseUnsafeString,v=m.getValidValue,A,H,h,C,G,J,I=b.components.data,P,M,p=p.style;D={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle,color:p.color};var p=e.lineThickness,Q=b.graphics.container,T=b.graphics.trackerContainer;P=B.trackerGroup;var R=e.connectNullData,
V=e.showTooltip,$=B.datasetGroup,U,B=e.shadow,fa=b.graphics.dataLabelContainer,ba={},Z,ca=k.get("config","animationObj"),ea=ca.duration,da=ca.animType,ia=b.components.removeDataArr||[],ma=ia.length,ga=b.components.pool||[],ha,la=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(Q.lineGroup.hide(),Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.anchorGroup.hide(),T.hide(),fa&&fa.hide())},oa=function(){$.lineConnector.attr({"clip-rect":null});$.lineConnector.node&&
$.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(Q.lineShadowGroup.show(),Q.anchorShadowGroup.show(),Q.anchorGroup.show(),T.show(),fa&&fa.show());k._animCallBack()},ka=b.config.animFlag=b.config.animFlag||(b.config.animFlag=!0),sa,ra=n.clip["clip-canvas"].slice(0),n=n.clip["clip-canvas-init"].slice(0),qa=null,ua,wa=!1,Ca=e.lineDashStyle,Fa={color:e.lineColor,alpha:e.lineAlpha},Ba,Ha,za,Da,Ja=ca.dummyObj,ca=ca.animObj,ba=b.graphics.SplineElement,Ia=b.visible;$.lineConnector=$.lineConnector||
r.group("line-connector",$);Q||(Q=b.graphics.container={lineShadowGroup:r.group("connector-shadow",$.lineConnector),anchorShadowGroup:r.group("anchor-shadow",$.lineConnector),lineGroup:r.group("spline",$.lineConnector),anchorGroup:r.group("anchors",$.lineConnector)},Ia||(Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.lineGroup.hide(),Q.anchorGroup.hide()));T||(T=b.graphics.trackerContainer=r.group("line-hot"),Ia||T.hide());I||(I=b.components.data=[]);P&&P.appendChild(T);k._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",
D);fa||(fa=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||r.group("datalabel",E),Ia||fa.hide());Ia&&(Q.lineShadowGroup.show(),Q.anchorShadowGroup.show(),Q.lineGroup.show(),Q.anchorGroup.show(),fa.show(),T.show());Ha=l.getCategoryLen();for(Ba=0;Ba<Ha;Ba++)if(P=I[Ba])A=P.config,G=A.setValue,C=A.setLink,sa=A.setLevelTooltext,ha=A.showValue,ba=A.anchorProps,Z=ba.symbol,M=ba.shadow,J=A.displayValue,P||(P=I[Ba]={graphics:{}}),H=P.graphics.element,Da=P.graphics.image,za=P.graphics.label,h=
P.graphics.hotElement,null===G?(H&&H.hide(),za&&za.hide(),h&&h.hide(),Da&&Da.hide(),R||(qa=null)):(E=l.getAxisPosition(Ba),D=z.getAxisPosition(G),U=A.hoverEffects,ba.isAnchorHoverRadius=U.anchorRadius,!1===Ia&&ea&&(D=z.getPixel(z.getAxisBase())),v(s(d(w[Ba].tooltext,w[Ba].label))),A=V?A.toolText+(sa?"":A.toolTipValue):"",G={index:Ba,link:C,value:G,displayValue:J,categoryLabel:l.getLabel(Ba).label,toolText:A,id:e.userID,datasetIndex:q||0,datasetName:f.seriesname,visible:Ia},J=!1,ba.imageUrl?(H=new a,
H.onload=b._onAnchorImageLoad(b,Ba,G,E,D),H.onerror=b._onErrorSetter(E,D,Ba,b),H.src=ba.imageUrl):(Da&&Da.hide(),h=[Z[1]||2,E,D,ba.radius,ba.startAngle,0],H||(ga.element&&ga.element.length?H=P.graphics.element=ga.element.shift():(H=P.graphics.element=r.polypath(Q.anchorGroup),H.attr({polypath:h}),J=!0)),H.show().animateWith(Ja,ca,{polypath:h},ea,da,ka&&la),H.attr({fill:F({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:F({color:ba.borderColor,alpha:ba.borderAlpha}),"stroke-width":ba.borderThickness,visibility:ba.radius?
Ia:"hidden"}).shadow(M,Q.anchorShadowGroup),ka=!1,U.enabled&&(M={polypath:[U.anchorSides||2,E,D,U.anchorRadius,U.startAngle,U.dip],fill:F({color:U.anchorColor,alpha:U.anchorBgAlpha}),stroke:F({color:U.anchorBorderColor,alpha:U.anchorBorderAlpha}),"stroke-width":U.anchorBorderThickness},h={polypath:[ba.sides,E,D,ba.radius,ba.startAngle,0],fill:F({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:F({color:ba.borderColor,alpha:ba.borderAlpha}),"stroke-width":ba.borderThickness},H&&H.data("anchorRadius",ba.radius).data("anchorHoverRadius",
U.anchorRadius).data("setRolloverAttr",M).data("setRolloutAttr",h)),h=na(ba.radius,U&&U.anchorRadius||0,X),C={cx:E,cy:D,r:h,cursor:C?"pointer":"",stroke:t,"stroke-width":ba.borderThickness,fill:t,ishot:!0,visibility:Ia},h=P.graphics.hotElement,h||(ga.hotElement&&ga.hotElement.length?h=P.graphics.hotElement=ga.hotElement.shift():(h=P.graphics.hotElement=r.circle(T),J=!0)),h.show().attr(C),J&&(h||H).click(b.getPlotClickFn(k)).hover(b.rolloverResponseSetter(P,k),b.rolloutResponseSetter(P,k)),(h||H).data("eventArgs",
G).data("groupId",void 0).data("hoverEnabled",U.enabled).data("dataset",b).tooltip(A)),c.push({x:E,y:D,lastXPos:ua,lastYPos:qa}),ua=E,qa=D,P._xPos=E,P._yPos=D,ha&&!ba.imageUrl&&this.drawLabel(Ba),ha||za&&za.hide().attr({"text-bound":[]}));e=b.getSplinePath(c,z).closedPath;ba=b.graphics.SplineElement;2<=e.length?(ba||(ba=b.graphics.SplineElement=r.path(e,Q.lineGroup),wa=!0),ba.show().animateWith(Ja,ca,{path:e},ea,da,ka&&la),ba.attr({"stroke-dasharray":Ca,"stroke-width":p,stroke:F(Fa),"stroke-linecap":"round"}).shadow(B,
Q.lineShadowGroup),ka=!1):ba&&ba.hide();ea&&Ia&&wa&&(Q.anchorGroup.hide(),Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),fa.hide(),$.lineConnector.attr({"clip-rect":n}).animateWith(Ja,ca,{"clip-rect":ra},ea,da,oa));b.drawn=!0;for(Ba=0;Ba<ma;Ba++)b._removeDataVisuals(ia.shift())}},"Line"]);FusionCharts.register("component",["dataset","Bubble",{type:"bubble",configure:function(){var a=this.chart,f=a.components,a=a.jsonData.chart,c=this.JSONData,e=this.config,k=c.data||[],n,p,q,w,t;n=f.colorManager;
p=this.index;var f=f.numberFormatter,r,z=m.parseUnsafeString,E=d(z(a.tooltipsepchar),", "),D,B,s,v,A,H,h=-Infinity,C=Infinity,G=-Infinity,J=Infinity,I=-Infinity,P=Infinity,M,Q=m.graphics.getPointColor;e.includeInLegend=l(c.includeinlegend,1);e.seriesname=z(c.seriesname);e.anchorBgColor=d(c.color,c.plotfillcolor,a.plotfillcolor,n.getPlotColor(p));e.showPlotBorder=l(c.showplotborder,a.showplotborder,1);e.anchorBorderThickness=e.showPlotBorder?d(c.plotborderthickness,a.plotborderthickness,1):0;e.anchorBorderColor=
Oa(d(c.plotbordercolor,a.plotbordercolor,"666666"));e.plotFillAlpha=d(c.plotfillalpha,c.bubblefillalpha,a.plotfillalpha,"100");e.plotBorderAlpha=d(c.plotborderalpha,a.plotborderalpha,"95");e.negativeColor=d(a.negativecolor,"FF0000");e.is3d=0!==l(a.use3dlighting,c.is3d,a.is3d);e.bubbleScale=l(a.bubblescale,1);e.minBubbleRadius=l(a.minbubbleradius);e.clipBubbles=l(a.clipbubbles,1);e.showRegressionLine=l(c.showregressionline,a.showregressionline,0);e.enableAnimation=n=l(a.animation,a.defaultanimation,
1);e.animation=n?{duration:1E3*l(a.animationduration,1)}:!1;e.showTooltip=l(a.showtooltip,1);e.transposeAnimation=l(a.transposeanimation,n);e.transposeAnimDuration=1E3*l(a.transposeanimduration,.2);e.seriesNameInTooltip=l(a.seriesnameintooltip,1);e.rotateValues=l(a.rotatevalues)?270:0;e.showHoverEffect=l(a.plothovereffect,a.showhovereffect,void 0);e.showValues=l(c.showvalues,a.showvalues,0);w=this.components.data=this.components.data||(this.components.data=[]);n=k.length;e.showRegressionLine&&(this.events=
{hide:this.hideRLine,show:this.showRLine},r={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[],isRegression:!0},e.showYOnX=l(c.showyonx,a.showyonx,1),e.regressionLineColor=Oa(d(c.regressionlinecolor,a.regressionlinecolor,e.anchorBgColor)),e.regressionLineThickness=l(c.regressionlinethickness,a.regressionlinethickness,1),e.regressionLineAlpha=$(l(c.regressionlinealpha,a.regressionlinealpha,100)),e.regLineColor=T(e.regressionLineColor,e.regressionLineAlpha));e.fillColor=e.is3d?F(Q(e.anchorBgColor,
e.plotFillAlpha)):F({color:e.anchorBgColor,alpha:e.plotFillAlpha});e.strokeColor=F({color:e.anchorBorderColor,alpha:e.plotFillAlpha});for(p=0;p<n;p++)if(B=k[p],q=w[p]=w[p]||(w[p]={}),!q.graphics&&(q.graphics={}),s=q.config={},s.x=f.getCleanValue(B.x),s.y=f.getCleanValue(B.y),s.z=f.getCleanValue(B.z,!0),s.showValue=l(B.showvalue,e.showValues),s.anchorProps={},H=s.label=s.x,s.setLink=ga(B.link),e.max=I=na(I,s.z||0),e.min=P=Fa(P,s.z||0),s.is3d=0!==l(B.is3d,e.is3d),h=na(h,s.x),C=Fa(C,s.x),G=na(G,s.y),
J=Fa(J,s.y),q=s.color=Oa(d(B.color,0>B.z?e.negativeColor:e.anchorBgColor)),t=s.alpha=d(B.alpha,e.plotFillAlpha),s.colorObj=M=s.is3d?Q(q,t):{color:q,alpha:t},s.setDisplayValue=v=z(d(B.displayvalue,B.name,B.label)),D=s.formatedVal=null===s.y?s.y:f.dataLabels(s.y),s.displayValue=d(v,s.formatedVal),s.setTooltext=m.getValidValue(z(d(B.tooltext,c.plottooltext,a.plottooltext))),e.showTooltip?null===D?v=!1:void 0!==s.setTooltext?(v=[4,5,6,7,8,9,10,11,12,13,118],D={yDataValue:D,xDataValue:f.xAxis(H),yaxisName:z(a.yaxisname),
xaxisName:z(a.xaxisname),zDataValue:f.dataLabels(s.z)},v=m.parseTooltext(s.setTooltext,v,D,B,a,c)):(e.seriesNameInTooltip&&(A=m.getFirstValue(c&&c.seriesname)),v=A?A+E:"",v+=H?f.xAxis(H)+E:"",v+=D,v+=B.z?E+f.dataLabels(B.z):""):v=!1,s.toolText=v,this.pointValueWatcher(s.x,s.y,e.showRegressionLine&&r),D=s.hoverEffects={},0!==e.showHoverEffect){H=D.enabled=void 0!==d(B.hoveralpha,c.hoveralpha,a.bubblehoveralpha,B.hovercolor,c.hovercolor,c.bubblehovercolor,a.bubblehovercolor,B.borderhovercolor,c.borderhovercolor,
a.plotborderhovercolor,B.borderhoveralpha,c.borderhoveralpha,a.plotborderhoveralpha,B.hoverscale,c.bubblehoverscale,a.bubblehoverscale,B.borderhovercolor,c.borderhovercolor,a.plotborderhovercolor,B.borderhoverthickness,c.borderhoverthickness,a.plotborderhoverthickness,B.negativehovercolor,c.negativeColor,a.negativecolor,B.is3donhover,a.plotfillhovercolor,c.is3donhover,a.is3donhover,void 0);D.negativeColor=d(B.negativehovercolor,c.negativehovercolor,a.negativehovercolor,e.negativeColor);D.is3d=l(B.is3donhover,
c.is3donhover,a.is3donhover,s.is3d);D.color=d(B.hovercolor,c.hovercolor,c.bubblehovercolor,a.plotfillhovercolor,a.bubblehovercolor,s.is3d?M.FCcolor.color:q);D.color=D.negativeColor&&0>B.z?D.negativeColor:D.color;D.scale=d(B.hoverscale,c.hoverscale,c.bubblehoverscale,a.bubblehoverscale,1);D.color=Oa(D.color);D.alpha=d(B.hoveralpha,c.hoveralpha,a.plotfillhoveralpha,a.bubblehoveralpha,t);D.borderColor=d(B.borderhovercolor,c.borderhovercolor,a.plotborderhovercolor,e.anchorBorderColor);D.borderAlpha=d(B.borderhoveralpha,
c.borderhoveralpha,a.plotborderhoveralpha,D.alpha,e.plotBorderAlpha);D.borderThickness=l(B.borderhoverthickness,c.borderhoverthickness,a.plotborderhoverthickness,e.anchorBorderThickness);D.color=D.is3d?Q(D.color,D.alpha):{FCcolor:{color:D.color,alpha:D.alpha}};B=H||1===e.showHoverEffect&&D.color?0:e.showHoverEffect;if(1===B){s=(B="string"==typeof D.color)?D.color.split(/\s{0,},\s{0,}/):D.color.FCcolor.color.split(/\s{0,},\s{0,}/);t=s.length;for(q=0;q<t;q++)s[q]=Pa(s[q],70);B?D.color=s.join(","):D.color.FCcolor.color=
s.join(",")}!1===H&&(D.enabled=Boolean(e.showHoverEffect))}else D.enabled=!1;e.xMax=h;e.xMin=C;e.yMin=J;e.yMax=G;e.regressionData=e.showRegressionLine&&this.getRegressionLineSeries(r,e.showYOnX,n);this.visible=1===l(c.visible,!Number(c.initiallyhidden),1);this._addLegend()},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.configure()},_addLegend:function(){var a=this.config;this.legendItemId=this.chart.components.legend.addItems(this,
this.legendInteractivity,{enabled:a.includeInLegend,fillColor:a.fillColor,strokeColor:a.strokeColor,rawFillColor:a.anchorBgColor,rawStrokeColor:a.anchorBorderColor,anchorSide:1,type:this.type,label:a.seriesname})},draw:function(){var a=this,c=a.JSONData,d=U.sqrt,e=a.chart,k=e.components,m=k.canvas.config,n=k.paper,p=e.config,q=e.graphics,w=p.style,r={fontFamily:w.fontFamily,fontSize:w.fontSize,lineHeight:w.lineHeight,fontWeight:w.fontWeight,fontStyle:w.fontStyle},p=Fa(p.canvasHeight,p.canvasWidth)/
8,z=q.datasetGroup,D,w=a.yAxis,k=k.xAxis[0],B=a.config,H,s,v,A;D=m.clip["clip-canvas"].slice(0);A=m.clip["clip-canvas-init"].slice(0);var C,h,m=a.components.data,G=a.components.removeDataArr||[],J=G.length,I=a.graphics.container,P=function(){!1===a.visible&&(I.bubbleGroup.hide(),I.regLineGroup.hide(),ha.hide(),la.hide(),a._containerHidden=!0)};C=function(){a.visible&&(ha.attr({"clip-rect":null}),I.regLineGroup.attr({"clip-rect":null}));e._animCallBack()};var M=function(a){ea.call(this,e,a)},Q=function(a,
b){return function(c){var f="DataPlotRollOut"===b?this.data("setRolloutAttr"):this.data("setRolloverAttr");this.data("hoverEnabled")&&a.attr(f);ea.call(this,e,c,b)}},T=B.minBubbleRadius,R=B.bubbleScale,V=e.getDataLimits().zMax||0,V=d(V),$=B.clipBubbles,ba=e.get("config","animationObj"),fa=ba.duration;h=a.graphics.regressionLineElement;var Z=B.showRegressionLine,ca=a.visible,da=B.showTooltip,ia=q.trackerGroup,ga=q.datalabelsGroup,ha=a.graphics.dataLabelContainer,la=a.graphics.trackerContainer,ma,oa;
ma={};var ra,qa,q=!0,va=ba.dummyObj,ka=ba.animObj,ba=ba.animType,sa=a.components.pool||{},ua;ma=a.drawn;e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",r);I||(I=a.graphics.container={bubbleGroup:n.group("bubble",z),regLineGroup:n.group("regLine",z)},ca||(I.bubbleGroup.hide(),I.regLineGroup.hide()));la||(la=a.graphics.trackerContainer=n.group("bubble-hot"),ca||la.hide());ha||(ha=a.graphics.dataLabelContainer=n.group("datalabel",ga),ha.attr({"clip-rect":A}).animateWith(va,ka,{"clip-rect":D},
fa,ba,C),ca||ha.hide());$?ma?I.bubbleGroup.animateWith(va,ka,{"clip-rect":D},fa,ba):I.bubbleGroup.attr({"clip-rect":D}):(I.bubbleGroup.attr({"clip-rect":null}),I.bubbleGroup.node&&I.bubbleGroup.node.removeAttribute&&I.bubbleGroup.node.removeAttribute("clip-path"));ia&&ia.appendChild(la);ca&&(I.bubbleGroup.show(),I.regLineGroup.show(),ha.show(),la.show());Z?(ma=B.regressionData[0],r=B.regressionData[1],h?h.animateWith(va,ka,{path:"M "+k.getAxisPosition(ma.x)+","+w.getAxisPosition(ma.y)+" L "+k.getAxisPosition(r.x)+
","+w.getAxisPosition(r.y)},fa,ba):(h=a.graphics.regressionLineElement=n.path("M "+k.getAxisPosition(ma.x)+","+w.getAxisPosition(ma.y)+" L "+k.getAxisPosition(r.x)+","+w.getAxisPosition(r.y),I.regLineGroup).attr({stroke:F({color:B.regressionLineColor,alpha:B.regressionLineAlpha}),"stroke-width":B.regressionLineThickness,"stroke-linecap":"round","stroke-linejoin":2<B.regressionLineThickness?"round":"miter"}),I.regLineGroup.attr({"clip-rect":A}),I.regLineGroup.animateWith(va,ka,{"clip-rect":D},fa,ba,
C))):h&&h.hide();A=0;for(C=m.length;A<C;A+=1)if(z=m[A],h=z.config,v=l(h.x,A),s=h.y,H=h.z,r=z.graphics.element,ia=h.setLink,oa=h.displayValue,$=h.toolText,Z=h.showValue,ma=h.hoverEffects,r=z.graphics.element,D=z.graphics.hotElement,qa=z.graphics.label,ga=!1,null!==s){oa={index:A,link:ia,value:s,y:s,x:v,z:H,displayValue:oa,toolText:$,id:a.userID,datasetIndex:a.index||0,datasetName:c.seriesname,visible:ca};s=w.getAxisPosition(s);v=k.getAxisPosition(v);H=d(H);H=Ca(H*p/V)*R||0;T&&(H=na(H,T));ua=h.setRolloutAttr=
{fill:F(h.colorObj),"stroke-width":B.anchorBorderThickness,stroke:F({color:B.anchorBorderColor,alpha:B.plotBorderAlpha}),r:H};!1!==ma.enabled&&(ra=h.setRolloverAttr={fill:F(ma.color),"stroke-width":ma.borderThickness,stroke:F({color:ma.borderColor,alpha:ma.borderAlpha}),r:H*ma.scale});a.visible||(H=0);r||(sa.element&&sa.element.length?r=z.graphics.element=sa.element.shift():(r=z.graphics.element=n.circle(I.bubbleGroup),ga=!0,r.attr({cx:v,cy:s,r:fa?0:H})));r.show().animateWith(va,ka,{cx:v,cy:s,r:H||
0},fa,ba,q&&P).attr({fill:F(h.colorObj),ishot:!da,"stroke-width":B.anchorBorderThickness,stroke:ua.stroke,visibility:ca});q=!1;if(ia||da)H<X&&(H=X),D||(D=sa.hotElement&&sa.hotElement.length?z.graphics.hotElement=sa.hotElement.shift():z.graphics.hotElement=n.circle(la)),D.attr({cx:v,cy:s,r:H,cursor:ia?"pointer":"",stroke:t,"stroke-width":B.anchorBorderThickness,fill:t,ishot:!!ia,visibility:ca});(D||r).data("eventArgs",oa).data("setRolloverAttr",ra).data("setRolloutAttr",ua).data("hoverEnabled",ma.enabled).tooltip($);
ga&&(D||r).click(M).hover(Q(r,"DataPlotRollOver"),Q(r,"DataPlotRollOut"));z._xPos=v;z._yPos=s;Z?this.drawLabel(A):qa&&qa.hide()}else r&&r.hide(),D&&D.hide(),qa&&qa.hide();a.drawn=!0;for(A=0;A<J;A++)a._removeDataVisuals(G.shift())},show:function(){var a=this.chart,c=this.graphics.container,d=this.graphics.dataLabelContainer,e=this.graphics.trackerContainer;this.visible=!0;c.bubbleGroup.show();c.regLineGroup&&c.regLineGroup.show();d.show();e.show();a._setAxisLimits();a._drawAxis();a._drawDataset()},
hide:function(){var a=this.chart;this.visible=!1;a._setAxisLimits();a._drawAxis();a._drawDataset()},getDataLimits:function(){var a=this.config,c=a.yMax,d=a.yMin,e=this.chart.config.transposeAxis,k=a.xMin,l=a.xMax,m=a.max,a=a.min;!1===this.visible&&e&&(c=-Infinity,k=d=Infinity,l=-Infinity);return{max:c,min:d,xMin:k,xMax:l,zMax:m,zMin:a}},drawLabel:function(a){var c=this.chart,d=c.config.dataLabelStyle,e=this.components.data,k=c.components.paper,l;l="";var m=this.config,n=c.get("config","animationObj"),
c=n.duration,p=n.animType,q=n.animObj,n=n.dummyObj,m=m.rotateValues,w=this.graphics.dataLabelContainer,t,r,z,D,s=this.components.pool||{};l=e[a];t=l.config;a=l.graphics;e=l._yPos;r=l._xPos;l=t.displayValue;D=a.label;void 0!==l&&null!==l&&l!==J&&null!==t.z&&(D||(D=s.label&&s.label.length?a.label=s.label.shift():a.label=k.text(w),z=!0),d={text:l,"class":"fusioncharts-label",fill:d.color,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash],"font-weight":d.fontWeight,
"font-style":d.fontStyle,"font-family":d.fontFamily,"font-size":d.fontSize,"line-height":d.lineHeight,visibility:"visible"},a.label.attr(d),z&&D.attr({x:r,y:e,transform:k.getSuggestiveRotation(m,r,e)}),D.show().animateWith(n,q,{x:r,y:e,transform:k.getSuggestiveRotation(m,r,e)},c,p))}},"scatter"]);FusionCharts.register("component",["dataset","Pie2D",{type:"pie2d",configure:function(){var a=this.chart,c=a.config,g=c.dataLabelStyle,e=this.config,k=this.JSONData,p=a.jsonData.chart,q=m.parseUnsafeString,
w=a.is3D,t,z;this.__setDefaultConfig();r({},this.config,a&&a.config);z=e.enableAnimation=l(p.animation,p.defaultanimation,1);e.animation=z?{duration:1E3*l(p.animationduration,p.moveduration,1)}:!1;e.transposeAnim=z||l(e.transposeanimation,1)?{duration:1E3*l(p.transposeanimduration,.2)}:!1;e.showPlotBorder=l(p.showplotborder,1);e.showHoverEffect=l(p.plothovereffect,p.showhovereffect,void 0);e.showTooltip=l(p.showtooltip,1);e.toolText=ga(q(d(k.plottooltext,p.plottooltext)));z=e.enableMultiSlicing=l(p.enablemultislicing,
1);t=e.use3DLighting=l(p.use3dlighting,1);e.radius3D=t?l(p.radius3d,90):100;e.showZeroPies=l(p.showzeropies,1);e.showPercentInToolTip=l(p.showpercentintooltip,1);e.showLabels=l(p.showlabels,1);e.showValues=l(k.showvalues,p.showvalues,1);e.showPercentValues=l(p.showpercentvalues,p.showpercentagevalues,0);t=e.toolTipSepChar=d(p.tooltipsepchar,p.hovercapsepchar,n);e.labelSepChar=d(p.labelsepchar,t);e.pieBorderColor=d(p.plotbordercolor,p.piebordercolor);e.pieBorderAlpha=l(p.plotborderalpha,p.pieborderalpha);
e.pieBorderThickness=e.showPlotBorder?l(p.plotborderthickness,p.pieborderthickness,c.plotborderthickness,1):0;e.plotDashLen=l(p.plotborderdashlen,5);e.plotDashGap=l(p.plotborderdashgap,4);e.showValueInLegend=l(p.showvalueinlegend,0);e.showLabelInLegend=l(p.showlabelinlegend,1);e.valueBeforeLabelInLegend=l(p.valuebeforelabelinlegend,0);e.showValueAsPercentInLegend=l(p.showvalueaspercentinlegend,1);e.legendSepChar=d(p.legendsepchar,", ");e.showvalues=l(p.showvalues,1);e.chartPosition=I(a.linkedItems.container);
e.timerThreshold=30;e.centerLabelConfig={label:q(d(p.defaultcenterlabel,"")),font:d(p.centerlabelfont,g.fontFamily),fontSize:l(p.centerlabelfontsize,parseInt(g.fontSize,10)),color:Oa(d(p.centerlabelcolor,p.valuefontcolor,c.style.inCanvasStyle.color,"555555")),alpha:l(p.centerlabelalpha,100),bold:l(p.centerlabelbold,g.fontWeight),italic:l(p.centerlabelitalic,g.style),bgColor:d(p.centerlabelbgcolor,""),bgAlpha:l(p.centerlabelbgalpha,100),borderColor:d(p.centerlabelbordercolor,g.borderColor),borderAlpha:l(p.centerlabelborderalpha,
100),borderThickness:l(p.centerlabelborderthickness,g.borderThickness),borderRadius:l(p.centerlabelborderradius,g.borderRadius),textPadding:l(p.centerlabeltextpadding,g.borderPadding),padding:l(p.centerlabelpadding,2),bgOval:l(p.centerlabelbgoval,0),shadow:l(p.showcenterlabelshadow,0),hoverColor:p.centerlabelhovercolor&&Oa(d(p.centerlabelhovercolor)),hoverAlpha:l(p.centerlabelhoveralpha),toolText:q(d(p.centerlabeltooltext,""))};e.showLegend=l(p.showlegend,0);e.reverselegend=!Boolean(l(p.reverselegend,
0));a.is3D=w;e.pieYScale=l(p.pieyscale,40);1>e.pieYScale&&(e.pieYScale=1);100<=e.pieYScale&&(e.pieYScale=80);e.pieYScale/=100;e.pieSliceDepth=l(p.pieslicedepth,15);1>e.pieSliceDepth&&(e.pieSliceDepth=1);e.managedPieSliceDepth=e.pieSliceDepth;e.enableMultiSlicing=!!z;e.startAngle=l(p.startingangle,0)*-(Ta/180);e.usePerPointLabelColor=p.colorlabelsfromplot==fa;e.reversePlotOrder=l(p.reverseplotorder,0);e.animateClockWise=l(p.animateclockwise,e.reversePlotOrder);e.showShadow=l(p.showshadow,1);e.singletonCase=
1===k.data.length;e.valueTotal=0;this._setConfigure();this._addLegend()},_parseDisplayProperties:function(a,c){var g,e,k="",m,n,p,q,w,t,r;g=this.chart;var z=g.components.numberFormatter,B=g.jsonData.chart;q=this.config;n=l(c.y,z.getCleanValue(a.value,!0));var F=q.valueTotal;p=q.showLabels;var s=D(d(c.seriesName,a.label,a.name,""));t=q.showPercentValues;m=q.showPercentInToolTip;var v=q.labelSepChar,A=q.toolTipSepChar,H=q.showTooltip;g=ga(D(d(a.tooltext,q.toolText)));e=c.pValue=z.percentValue(n/F*100);
n=c.value=z.dataLabels(n)||"";p=1===l(a.showlabel,p)?s:"";q=1===(r=l(a.showvalue,q.showValues))?1===t?e:n:"";m=m?e:n;w=ga(D(a.displayvalue));t=d(w,s+v+(t?e:n),"");q=void 0!==w&&r?w:""!==q&&""!==p?p+v+q:d(p,q);H&&(void 0!==g?k=Z(g,[1,2,3,5,6,7,14,24,25],{formattedValue:n,label:s,yaxisName:D(B.yaxisname),xaxisName:D(B.xaxisname),percentValue:e,sum:z.dataLabels(F),unformattedSum:F},a,B):(k=s,k=""!=k?k+A+m:m));c.displayValue=q;c.displayValueArgs=t;c.toolText=k;c.seriesName=s;c.categoryLabel=p},foldingFn:function(a){a=
a.data("plotItem");return{ringpath:[a.center[0],a.center[1],a.radius,a.innerDiameter/2,a.angle,a.angle]}},_setConfigure:function(a,c){var g,e,k,m,n,p,q,w,t,r,z,F,H,s,v,A,C,h;n=this.chart;var G=n.jsonData.chart,J=n.components;m=J.legend;var I=this.config,P=this.JSONData;e=(r=(a||P).data)&&r.length;F=I.showZeroPies;var P=I.valueTotal||0,M=[],Q=n.config.dataLabelStyle,R=l(G.plotborderdashed,0),V=this.components.data||(this.components.data=[]),$=J.numberFormatter,J=J.colorManager,U=I.labelInLeg,X=I.valInLeg,
Z=I.centerLabelConfig,ca=I.pieBorderThickness,ea=I.reversePlotOrder,da=I.radius3D,ha=I.enableMultiSlicing,la=I.lastSlicedid||0,oa=l(G.plotBorderDashed,5),ra=l(G.plotborderdashgap,4),ma=l(G.valuebeforelabelinlegend,0),qa=l(G.showvalueaspercentinlegend,1);h=0;var ua=d(G.legendsepchar,", ");n=n.get("config","animationObj");t=n.duration||0;p=n.dummyObj;w=n.animObj;z=n.animType;for(n=0;n<e;n+=1)q=r[n],k=$.getCleanValue(q.value,!0),null===k||!F&&0===k?h+=1:(M.push(q),P+=k);if(h&&V.length>e-h)for(m&&m.emptyItems(V.length-
h),n=V.length-1;0<h;--n,--h)if(V[n]){q=V[n];e=q.config;k=q.graphics;for(g in k)m=k[g],m.animateWith(p,w,this.foldingFn.call(this,m),t,z,this.hideFn.call(this,k,g));e.y=null;q.legendItemId=void 0}0===P&&(M=[]);I.valueTotal=P;I.dataLabelCounter=0;for(n=(e=M.length)-1;0<=n;--n){k=n;a?(h=M[n],k=void 0!==c?c+n:V.length-e+n,q=V[k]):(q=V[n]||(V[n]={graphics:{},config:{}}),h=M[n]);g=q&&q.config;g||(g=V[k].config={});q.graphics||(V[k].graphics={});g.y=k=$.getCleanValue(h.value,!0);g.seriesName=p=D(d(h.label,
h.name,""));q=d(h.color,J.getPlotColor(n));m=d(h.alpha,G.plotfillalpha,ba);w=g.borderConfig=this._parseBorderConfig(q,m,h);t=w.setPlotBorderColor;w=w.setPlotBorderAlpha;r={opacity:na(m,w)/100};if(F=Boolean(l(h.issliced,G.issliced,0)))ha||(-1!==la&&(V[V.length-la-1].sliced=!1),I.lastSlicedid=n),I.preSliced=F;s=(z=l(h.dashed,R))?ia(d(h.dashlen,oa),d(h.dashgap,ra),ca):"none";this._parseDisplayProperties(h,g);z=U?p:"";X&&(k=qa?$.legendPercentValue(k/P*100):$.legendValue(k),z=ma?k+(z&&ua+z):(z&&z+ua)+
k);(k=g.displayValue)&&(I.dataLabelCounter+=1);A=g.value;v=g.pValue;k={label:d((H=h.centerlabel||G.centerlabel)&&this.replaceMacros(H,["\\$value","\\$percentValue","\\$displayValue","\\$label"],[A,v,void 0===k?"":k,p]),""),font:Z.font,fontSize:l(h.centerlabelfontsize,Z.fontSize),color:Oa(d(h.centerlabelcolor,Z.color)),alpha:l(h.centerlabelalpha,Z.alpha),bold:l(h.centerlabelbold,Z.bold),italic:l(h.centerlabelitalic,Z.italic),bgColor:d(h.centerlabelbgcolor,Z.bgColor),bgAlpha:l(h.centerlabelbgalpha,
Z.bgAlpha),borderColor:d(h.centerlabelbordercolor,Z.borderColor),borderAlpha:l(h.centerlabelborderalpha,Z.borderAlpha),borderThickness:Z.borderThickness,borderRadius:Z.borderRadius,textPadding:Z.textPadding,padding:Z.padding,bgOval:Z.bgOval,shadow:Z.shadow,hoverColor:(C=d(h.centerlabelhovercolor,Z.hoverColor))&&Oa(C),hoverAlpha:l(h.centerlabelhoveralpha,Z.hoverAlpha),toolText:d(h.centerlabeltooltext,"")};g.style=B(h,{},G,Q,q);g.showInLegend=""!==z;g.isVisible=!0;g.name=z;g.shadow=r;g.setColor=q;g.color=
this._getPointColor(q,m,da);g._3dAlpha=m;g.borderColor=T(t,w);g.borderWidth=ca;g.link=ga(h.link);g.sliced=F;g.dashStyle=s;g.doNotSlice=d(G.enableslicing,fa)!=fa;this._parseHoverEffectOptions(n);g.centerLabelConfig=k;g.radius3D=da}ea&&V&&V.reverse();I.dataArr=M;I.enableRotation=1<V.length?l(G.enablerotation,1):0},_parseHoverEffectOptions:function(a){var c,g,e,k,m,n,p,q,w;n=this.chart.jsonData.chart;g=this.config;var t=this.components.data[a].config;p=this.JSONData;q=p.data[a];e=t.setColor;k=t._3dAlpha;
a=g.radius3D;w=t.borderConfig;m=w.setPlotBorderAlpha;var r=w.setPlotBorderColor;w=g.setBorderWidth;g=l(t.hovereffect,g.showHoverEffect);t=t.hoverEffects={enabled:g};void 0===g&&(g=t.enabled=void 0!==d(q.hovercolor,p.hovercolor,n.plotfillhovercolor,q.hoveralpha,p.hoveralpha,n.plotfillhoveralpha,q.borderhovercolor,p.borderhovercolor,n.plotborderhovercolor,q.borderhoveralpha,p.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,q.borderhoverthickness,p.borderhoverthickness,n.plotborderhoverthickness,
void 0));if(g){c=l(q.highlightonhover,p.highlight,n.highlight,1);(g=d(q.hovercolor,p.hovercolor,n.plotfillhovercolor))&&c&&(c=0);g=d(g,e);e=d(q.hoveralpha,p.hoveralpha,n.plotfillhoveralpha,k);k=d(q.borderhovercolor,p.borderhovercolor,n.plotborderhovercolor,r);m=d(q.borderhoveralpha,p.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,m);n=l(q.borderhoverthickness,p.borderhoverthickness,n.plotborderhoverthickness,w);g.replace(/,+?$/,"");if(1===c){q=(p="string"==typeof g)?g.split(/\s{0,},\s{0,}/):
g.color.split(/\s{0,},\s{0,}/);w=q.length;for(c=0;c<w;c++)q[c]=Pa(q[c],70);p?g=q.join(","):g.color=q.join(",")}this._setHoverColor(t,g,e,a);t.borderColor=T(k,m);t.borderWidth=n}else t.enabled=!1},_setHoverColor:function(a,c,d,e){a.color=this._getPointColor(c,d,e)},replaceMacros:function(a,c,d){for(var e=c.length||0,k;e--;)k=new RegExp(c[e],"gi"),a=a.replace(k,d[e]);return a},containsMacro:function(a,c){for(var d=c.length||0,e;d--;)if(e=new RegExp(c[d],"gi"),e=a.match(e))return!0;return!1},updateData:function(a,
c){this.config.valueTotal-=this.components.data[c].config.y;this.__base__.updateData.apply(this,arguments)},_parsePiePlotOptions:function(){var a=this.config;return{size:a.pieMinRadius,slicedOffset:a.slicingDistance}},_parseDataLabelOptions:function(){return{style:this.chart.config.style,enabled:!0}},_addLegend:function(){var a,c,d,e=this.chart.components.legend,k=this.components.data;for(a=0;a<k.length;a+=1)d=k[a],c=d.config,null!==c.y&&(d.legendItemId=e.addItems(this,this.legendInteractivity,{index:a,
fillColor:F(c.setColor),strokeColor:F(c.borderColor),type:this.type,label:c.seriesName,enabled:l(c.includeInLegend,1),legendItemId:d.legendItemId}))},_parseBorderConfig:function(a,c,g){var e=this.chart.jsonData.chart,k=d(g.bordercolor,this.config.pieBorderColor);g=d(g.borderalpha,e.plotborderalpha,e.pieborderalpha);k=d(k,Pa(a,25)).split(",")[0];g=e.showplotborder==z?z:d(g,c,"80");return{setPlotBorderColor:k,setPlotBorderAlpha:g}},_getPointColor:function(a,c,d){var e,k;a=Oa(a);c=$(c);100>d&&q?(e=Math.floor(85*
(100-.35*d))/100,e=P(a,e),k=Math.floor(50*(100+d))/100,a=Pa(a,k),c={color:a+","+e,alpha:c+","+c,ratio:d+","+(100-d),radialGradient:!0,gradientUnits:"userSpaceOnUse"}):c={color:a+","+a,alpha:c+","+c,ratio:"0,100"};return c},hideElements:function(){var a=this.data&&this.data("plotItem").chart,c=0,d=this._&&this._.shadows||[];if(a&&a.components.dataset[0])for(this.hide();c<d.length;c+=1)d[c].hide()},hideFn:function(a,c){return function(){a[c].hide()}},singleFillColor:function(a){return F({color:Oa(a.color),
alpha:$(a.alpha)})},draw:function(){var a,c,d=this.chart,e=d.graphics,k=d.config,l=d.graphics,m=this.config,n=m.showShadow,p,q=d.components.paper,w=this.components,t=w.data;p=w.removeDataArr||[];var r,z,D,s,v;r=k.style;var A=e.datasetGroup.trackTooltip(!0),B=this.graphics,h=this.pool,H=B.container,C=this.visible,G=B.shadowContainer;z=e.datalabelsGroup;var J=B.dataLabelContainer,I,P,Q,T,R,V,$,U,X,ba=w.data||[],Z=ba.length,w=k.canvasLeft+.5*k.canvasWidth,e=k.canvasTop+.5*k.canvasHeight,fa=l.datasetGroup;
s=k.alphaanimation;var ca=!1,l=function(){ca||(ca=!0,J.show(),d.placeDataLabels(!1,t,m),fa.animateWith(Pa,Oa,{opacity:1},Da,Ta))},ea=function(){var a,b;if(c)for(a=0;a<Z;a+=1)b=ba[a],b.graphics.element&&b.graphics.element.attr({fill:F(b.config.color)})};P=function(){var a=m.pieCenter||[],b={cx:a[0],cy:a[1],r:(m.piePlotOptions||[]).size,r2:.5*(m.innerSize||0)};return function(a){var c,d=!1;for(c in a)if(5<ra(a[c]-b[c])){d=!0;break}return d}}();D=function(){ca||ea()};var da=d._plotDragMove,ia=d._plotDragStart,
ga=d._plotDragEnd,ha=d._plotRollOver,na=d._plotRollOut,va=!!m.enableRotation,ka=m.piePlotOptions=this._parsePiePlotOptions(),k=k.textDirection,sa=m.dataLabelOptions,ua=ka.slicedOffset,wa,ka=ka.size,Ca=.5*(m.innerSize||0),Fa=(m.startAngle||0)%qa,Da,Ja,Ba,Ia,za=Fa-qa,Na=m.animateClockWise;I=d.get("config","animationObj");v=I.duration||0;var Pa=I.dummyObj,Oa=I.animObj,Ta=I.animType;H?(Ia=!0,v&&(Da=v,Ja=D),c=P({cx:w,cy:e,r:ka,r2:Ca})):(A.pie=q.group("pie",A),A.pieLabels=q.group("pie",A),H=B.container=
{lineShadowGroup:q.group("connector-shadow",A.pieLabels),anchorShadowGroup:q.group("anchor-shadow",A.pieLabels),pieGroup:B.pieContainer=q.group("pie",A.pie),dataLabel:q.group("dataLabel",A.pie)},G=B.shadowContainer=A.shadows||(A.shadows=q.group("shadows",H.pieGroup).toBack()),J=B.dataLabelContainer=this.graphics.dataLabelContainer||q.group("datalabel",z).trackTooltip(!0),v&&(Da=v,Ja=l,J.hide()));C||(H.lineShadowGroup.hide(),H.anchorShadowGroup.hide(),H.pieGroup.hide(),H.dataLabel.hide(),G.hide(),
J.hide());s&&fa.attr({opacity:0});p.length&&this.remove();H=m.valueTotal;C=qa/H;d._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",r);m.pieCenter=[w,e];I=A=Fa;for(p=0;p<Z;p+=1)if(r=ba[p],v=r.graphics,P=r.config,Q=P.y,T=P.displayValue,R=P.sliced,z=P.toolText,s=!!P.link,r=P.style,V=s||va||!P.doNotSlice,null!==Q&&void 0!==Q&&!1!==P.isVisible){D=P.color;D.r=ka;D.cx=w;D.cy=e;I=A;A-=m.singletonCase?qa:Q*C;$=.5*(A+I);D=v.element;U=v.label;wa=v.connector;if(!D){D=h&&h.element.length?v.element=
h.element.splice(0,1)[0].show():v.element=q.ringpath(B.pieContainer).attr({"stroke-linejoin":"round",ishot:V}).drag(da,ia,ga).hover(ha,na);if(Ia){if(p<Z)for(Ba=void 0,a=p+1;a<Z&&void 0===Ba;a+=1)Ba=ba[a].config.endAngle;void 0===Ba&&(Ba=za)}else Ba=Na?za:Fa;D.attr({ringpath:[w,e,ka,Ca,Ba,Ba]})}void 0!==T?(U||(U=h&&h.label.length?v.label=h.label.splice(0,1)[0]:v.label=q.text(J).drag(da,ia,ga).hover(ha,na).attr({ishot:V})),U.css({fontFamily:r.fontFamily,fontSize:r.fontSize,lineHeight:r.lineHeight,fontWeight:r.fontWeight,
fontStyle:r.fontStyle}).show().attr({text:T,fill:r.color||"#000000","text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash],direction:k}),0<sa.distance&&(X=sa.connectorWidth)&&sa.enableSmartLabels?(wa||(wa=h&&h.connector.length?v.connector=h.connector.splice(0,1)[0]:v.connector=q.path("M 0 0 l 0 0",J).attr({visibility:Ha,ishot:!0}).drag(da,ia,ga).hover(ha,na)),wa.attr({"stroke-width":X,stroke:sa.connectorColor||"#606060"}).show()):wa&&wa.hide()):
(U&&U.hide(),wa&&wa.hide());r=P.plotItem={chart:d,index:p,seriesData:m,value:Q,angle:P.angle=$,angle1:P.startAngle=A,angle2:P.endAngle=I,slicedX:oa($)*ua,slicedY:la($)*ua,sliced:R,labelText:T,toolText:z,name:P.name,link:P.link,percentage:H?Q*H/100:0,originalIndex:Z-p-1,style:P.style,color:F(P.color),borderColor:P.borderColor,borderWidth:P.borderWidth,rolloverProperties:P.hoverEffects,radius:ka,center:[w,e],innerDiameter:2*Ca,centerLabelConfig:P.centerLabelConfig,graphic:D,isVisible:P.isVisible,label:U,
connector:wa,transX:P.transX=oa($)*ua,transY:P.transY=la($)*ua,slicedTranslation:P.slicedTranslation="t"+oa($)*ua+","+la($)*ua};v={index:m.reversePlotOrder?Z-1-p:p,link:P.link,value:P.y,displayValue:P.displayValueArgs,categoryLabel:P.categoryLabel,isSliced:R,toolText:z};D.animateWith(Pa,Oa,{ringpath:[w,e,ka,Ca,A,I]},Da,Ta,Ja);D.attr({"stroke-width":P.borderWidth,stroke:P.borderColor,fill:M||Ia&&c?this.singleFillColor(P.color):F(P.color),"stroke-dasharray":P.dashStyle,redrawDataLabels:Fa,cursor:s?
"pointer":"",transform:r.sliced?r.slicedTranslation:""}).show().shadow(n&&P.shadow,G).tooltip(z).data("plotItem",r).data("eventArgs",v);U&&U.data("plotItem",r).data("eventArgs",v);wa&&wa.data("plotItem",r).data("eventArgs",v)}Da?Ia&&d.placeDataLabels(!1,t,m):(ea(),l())},remove:function(){var a=this.components.removeDataArr||[],c=this.pool=this.pool={},d=a.length,e=this.config,k,l=e.pieCenter,m,n=l[0],l=l[1],p=this.hideElements,q=e.pieMinRadius,w=.5*(e.innerSize||0),t,e=e.startAngle-qa;t=this.chart.get("config",
"animationObj");var r=t.duration||0,z=t.dummyObj,D=t.animObj,s=t.animType;for(t=0;t<d;t++){k=a[0];k=k.graphics;for(m in k)k[m].data("plotItem"),k[m].animateWith(z,D,{ringpath:[n,l,q,w,e,e+.01]},r,s,p),c[m]||(c[m]=[]),c[m].push(k[m]);a.splice(0,1)}},legendInteractivity:function(a,c){a.chart._plotGraphicClick.call(a.components.data[c.configuration.index].graphics.element)},init:function(a){var c=this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=c.chartGraphics;this.components={};this.graphics=
{};this.visible=1===l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_getInnerSize:function(){var a,c=this.config,d=this.chart.jsonData.chart;a=l(d.doughnutradius,0);var d=l(d.use3dlighting,1)?l(d.radius3d,d["3dradius"],50):100,e,k,m;e=c.pieMinRadius;100<d&&(d=100);0>d&&(d=0);a=0>=a||a>=e?e/2:a;c.innerRadius=a;if(0<d&&q&&(c=parseInt(a/e*100,10),e=(100-c)/2,d=parseInt(e*d/100,10),d=c+","+d+","+2*(e-d)+","+d,this&&(m=this.components.data)))for(c=0,e=m.length;c<e;c+=
1)k=m[c],k=k.config,k.color&&(k.color.ratio=d,k.hoverEffects&&k.hoverEffects.color&&(k.hoverEffects.color.ratio=d));return 2*a},getEventArgs:function(a){a=a.configuration.index;var c=this.components.data[a].config||{};return{datasetName:c.seriesName,datasetIndex:a,id:c.userID,visible:c.isVisible,label:c.seriesName,value:c.value,percentValue:c.pValue,tooltext:c.toolText,link:c.link,sliced:c.sliced}}},"area"]);FusionCharts.register("component",["dataset","Pie3D",{type:"pie3d",_parsePie3DOptions:function(){var a=
this.config;return{size:2*a.pieMinRadius,slicedOffset:a.slicingDistance,allowPointSelect:!0,cursor:"pointer",innerSize:"pie3d"===this.type?0:this._getInnerSize()}},_parseBorderConfig:function(a,c,g){var e=this.chart.jsonData.chart,k=d(g.bordercolor,this.config.pieBorderColor);g=d(g.borderalpha,e.plotborderalpha,e.pieborderalpha);k=d(k,Pa(a,90)).split(",")[0];g=e.showplotborder==z?z:d(g,c,"80");return{setPlotBorderColor:k,setPlotBorderAlpha:g}},_setHoverColor:function(a,c,d){a.color=c;a.alpha=d},draw:function(){var a,
c,d=this.pool||(this.pool={}),e=this.components,k=this.config,l=this.chart,m=l.get("config","animationObj"),n=m.duration||0,p=m.dummyObj,q=m.animObj,w=m.animType;c=l.config;a=l.graphics;var t=e.data,m=k.dataLabelOptions,r=m.style,z=l.components.paper,D=c.tooltip||{},D=D&&!1!==D.enabled,s=k.slicingDistance,v=k.slicedOffsetY||(k.slicedOffsetY=s*k.pieYScale),A=l._plotDragMove,B=l._plotDragStart,h=l._plotDragEnd,H=l._plotRollOver,C=l._plotRollOut,G=!!k.enableRotation,I=k.showBorderEffect,P=t.length,M=
k.usePerPointLabelColor,Q=c.textDirection,T,R,V,$,U,X,ba,Z,fa,ca,ea,da,ia,r=e.removeDataArr||[],ga;$=this.visible;var ha,na,ra=!1,ka=this.graphics.dataLabelContainer,sa=(k.startAngle||0)%qa,ua,wa,Ca,Da,Fa=sa-qa,Ha=k.animateClockWise,Ba,Ia=a.datasetGroup;c=c.alphaanimation;var za=function(){ra||(ra=!0,Ia.animateWith(p,q,{opacity:1},n,w,function(){ka.show()}))};fa=function(){var a,b;if(!ra)for(za(),a=0;a<P;a+=1)b=t[a],b.graphics.element&&b.graphics.element.attr({fill:F(b.config.color)})};ka?(Da=!0,
n&&(ua=n,wa=fa)):(ka=this.graphics.dataLabelContainer=z.group("datalabel",a.datalabelsGroup).trackTooltip(!0),n&&(ua=n,wa=za,ka.hide(),c&&Ia.attr({opacity:0})));$||ka.hide();r.length&&this.remove();l._preDrawCalculate();a=k.center;c=k.pieYScale;t&&P||(t=[]);for(ha=-1;++ha<P;)if(T=t[ha],ea=T.config,da=T.graphics,R=ea.y,V=ea.displayValue,U=ea.sliced,fa=ea.shapeArgs,ba=ea.centerAngle,ca=ea.toolText,$=!!ea.link,r=ea.style,X=$||G||!ea.doNotSlice,null!==R&&void 0!==R){Ba=da.element;ia=da.label;ga=da.connector;
if(!Ba){Ba=da.element=e.Pie3DManager.useSliceFromPool();if(Da){if(ha<P)for(Ca=void 0,na=ha+1;na<P&&void 0===Ca;na+=1)Ca=t[na].config.shapeArgs.end;void 0===Ca&&(Ca=sa)}else Ca=Ha?sa:Fa;Ba||(Ba=da.element=e.Pie3DManager.createSlice().drag(A,B,h).mouseover(H).mouseout(C).attr({ishot:X}));Ba.attr({start:-Ca,end:-Ca,cx:a[0],cy:a[1],r:a[2],innerR:a[3],radiusYFactor:c})}void 0!==V?(ia||(ia=d&&d.graphics&&d.graphics.label&&d.graphics.label.length?da.label=d.graphics.label.splice(0,1):da.label=z.text(ka).drag(A,
B,h).hover(H,C).attr({ishot:X})),ia.attr({text:V,title:T.originalText||"",fill:(M?F(T.color):r.color)||"#000000","text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash],visibility:"hidden",direction:Q,cursor:$?"pointer":""}).show().css({fontFamily:r.fontFamily,fontSize:r.fontSize,lineHeight:r.lineHeight,fontWeight:r.fontWeight,fontStyle:r.fontStyle}),0<m.distance&&(Z=m.connectorWidth)&&m.enableSmartLabels?(ga||(ga=d&&d.graphics&&d.graphics.connector&&
d.graphics.connector.length?da.connector=d.graphics.connector.splice(0,1):da.connector=z.path("M 0 0 l 0 0",ka).attr({visibility:"hidden",ishot:X}).drag(A,B,h).hover(H,C)),ga.attr({"stroke-width":Z,stroke:m.connectorColor||"#606060",cursor:$?"pointer":""}).show()):ga&&ga.hide()):(ia&&ia.hide(),ga&&ga.hide());T={chart:l,index:ha,seriesData:k,value:R,angle:ea.angle=ba,link:ea.link,shapeArgs:fa,slicedX:U&&!k.singletonCase?oa(ba)*s:0,slicedY:U&&!k.singletonCase?la(ba)*v:0,sliced:U,labelText:V,name:ea.name,
percentage:ea.percentage,toolText:ca,originalIndex:P-ha-1,style:ea.style,graphic:Ba,transX:ea.transX=oa(ba)*s,transY:ea.transY=la(ba)*v,slicedTranslation:ea.slicedTranslation="t"+ea.transX+","+ea.transY,label:ia,connector:ga};r={index:k.reversePlotOrder?ha:P-1-ha,link:ea.link,value:ea.y,displayValue:ea.displayValueArgs,categoryLabel:ea.categoryLabel,isSliced:ea.sliced,toolText:ea.toolText};Ba.attr({transform:"t"+T.slicedX+","+T.slicedY,cursor:$?"pointer":"",color:ea.color.color.split(",")[0],alpha:ea._3dAlpha,
borderWidth:ea.borderWidth,borderColor:ea.borderColor,showBorderEffect:I}).animateWith(p,q,{start:fa.start,end:fa.end,r:a[2],innerR:a[3],cx:a[0],cy:a[1],radiusYFactor:c},ua,w,wa).tooltip(D?ca:J).data("groupId",ha).data("plotItem",T).data("eventArgs",r);ia&&ia.data("plotItem",T).data("eventArgs",r);ga&&ga.data("plotItem",T).data("eventArgs",r)}l.placeDataLabels(!1)},hideFn:function(a,c,d){var e=d&&d.components||{};return function(){"element"===c?(e.Pie3DManager.removeSlice(a.element),delete a.element):
a[c].hide()}},remove:function(){var a=this.chart,c=this.config,d=this.components.removeDataArr||[],e=this.pool=this.pool=[],k=d.length,l,m,n,p,q=this.hideFn,c=c.startAngle;n=a.get("config","animationObj");var a=n.duration||0,w=n.dummyObj,t=n.animObj,r=n.animType;for(n=0;n<k;n++){l=d[0];l=l.graphics;for(m in l)p=l[m],e[m]||(e[m]=[]),"element"===m?p.animateWith(w,t,{start:-c,end:-c+.01},a,r,q(l,m,this)):e[m].push(p.hide());d.splice(0,1)}},foldingFn:function(){var a=this.config.startAngle;return{start:-a,
end:-a+.01}},_getPointColor:function(a,c){a=Oa(a);c=$(c);return{color:a+","+a,alpha:c+","+c,ratio:"0,100"}}},"pie2D",{setBorderWidth:void 0,showBorderEffect:void 0}]);FusionCharts.register("component",["dataset","Doughnut2D",{type:"doughnut2d",_getPointColor:function(a,c,d){var e;a=Oa(a);c=$(c);100>d&&q?(e=P(a,ha(100*(85-.2*(100-d)))/100),a=Pa(a,ha(100*(100-.5*d))/100),c={color:e+","+a+","+a+","+e,alpha:c+","+c+","+c+","+c,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:d}):c={color:a+","+a,alpha:c+
","+c,ratio:"0,100"};return c},_parsePiePlotOptions:function(){var a=this.__base__._parsePiePlotOptions.call(this);a.innerSize=this._getInnerSize();return a},draw:function(){var a=this.chart,c=a.config,d=this.config,e=c.canvasLeft+.5*c.canvasWidth,c=c.canvasTop+.5*c.canvasHeight,k,l=d.centerLabelConfig,m=l.label;k=.5*((d.innerSize=this._getInnerSize())||0);this.__base__.draw.call(this);m&&k&&a.drawDoughnutCenterLabel(m,e,c,2*k,2*k,l,!0);d.lastCenterLabelConfig=l},singleFillColor:function(a){return F({color:Oa(a.color,
1),alpha:$(a.alpha,1)})}},"Pie2D"]);FusionCharts.register("component",["dataset","Doughnut3D",{type:"doughnut3d"},"Pie3D"]);FusionCharts.register("component",["datasetGroup","marimekko",{init:function(){this.__base__.init.call(this);this.stackConf=[]},getDataSetPosition:function(a,c){var d=this.numVisiblePositions,e=this.stackConfig[a.positionIndex||0],k=this.stackConf[c],l;if(!a.visible&&e.visible||0===d)l=0;return{columnWidth:k.columnWidth,height:l,x:k.x}},draw:function(){var a=this.positionStackArr,
c=a.length,d,e,k,l;this.preDrawCalculate();this.drawLabel();this.drawSumValueFlag=!0;for(d=0;d<c;d++)for(e=a[d],k=e.length,this.manageClip=!0,e=0;e<k;e++)l=a[d][e].dataSet,l.draw()},preDrawCalculate:function(){var a=this.chart,c=this.stackSumValue,d,e=a.isBar,k=a.jsonData.chart,m=a.components.xAxis[0];d=l(e?k.overlapbars:k.overlapcolumns,a.is3D?0:1);var n=m.getAxisPosition(0),p=m.getAxisPosition(1),q=ra(p-n),w=na(l(k.plotspacepercent),0),t=l(k.plotpaddingpercent),r,n=a.config.canvasWidth,z,D=p=0,
B=m.config.axisRange.min,m=m.config.axisRange.max-B,s=a.config.categories,v;z=0;var A=a.components.numberFormatter;this.__base__.preDrawCalculate.call(this);a=B;r=this.numVisiblePositions;e=l(e?k.maxbarheight:k.maxcolwidth,Infinity);e=(1-.01*w)*q||Fa(1*q,e*(r||1));e=0===r?e:e/r;Fa(e-1,1<r?d||void 0!==t?0<t?e*t/100:0:4:0);d=0;for(t=c[0].length;d<t;d++)p+=c[0][d];this.totalSumValue=p;for(d=0;d<s.length;d++)e=s[d],e.widthpercent&&(z+=A.getCleanValue(e.widthpercent));100===z&&(v=this.setUserWidth=1);
d=0;for(t=c[0].length;d<t;d++)e=s[d],this.stackConf[d]||(this.stackConf[d]={}),z=this.stackConf[d],e=v?A.getCleanValue(e.widthpercent)/100:c[0][d]/p,z.columnWidth=e*n,D+=e,e=e*m/2+a,a=D*m+B,z.x=e;this.isCrisp=!0},getStackSumPercent:function(){var a=this.stackSumValue,c=this.totalSumValue,d,e=this.chart.components.numberFormatter,k=this.chart.config.categories,l=this.setUserWidth,m=[];for(d=0;d<a[0].length;d++)m[d]=l?e.getCleanValue(k[d].widthpercent):a[0][d]/c*100;return m},drawLabel:function(){var a=
this.chart,c=a.components,e=this.getStackSumPercent(),k=this.stackConf,m,n,p,q=a.graphics.datalabelsGroup,w=c.numberFormatter,t=a.get("config","animationObj"),r=t.transposeAnimDuration,t=t.animType,z=0,D,B=c.paper,F=a.config.canvasBottom,s=c.xAxis[0];m=a.config.style;var v=a.config.dataLabelStyle,A=e.length,H,h=this.sumValues[0],C,G;n=a.jsonData.chart;a=c.canvas.config.clip["clip-canvas"];q=this.labelContainer=this.labelContainer||B.group("labelGroup",q);n=l(n.showxaxispercentvalues,1);c=this.xLabels=
this.xLabels||[];q.attr({"clip-rect":a});if(n)for(a=d(v.backgroundColor,"#ffffff"),C=d(""===v.borderColor?"#"+m.inCancolor:v.borderColor,"#000000"),G=d(v.borderThickness,1),p=0;p<A-1;p++)z+=e[p],D=w.percentValue(z),m=s.getAxisPosition(k[p].x)+k[p].columnWidth/2,n=F,H=c[p],h[p].positive===h[p].negative?H&&H.hide().attr({"text-bound":[]}):(D={text:D,"class":"fusioncharts-label",fill:v.color,"text-bound":[a,C,G,v.borderPadding,v.borderRadius,v.borderDash],"font-weight":v.fontWeight,"font-style":v.fontStyle,
"font-family":v.fontFamily,"font-size":v.fontSize,"line-height":v.lineHeight,visibility:"visible"},H||(c[p]=H=B.text(q)),H.show().attr(D),H._state&&H._state.labelWidth||(D=H.getBBox(),c[p]._state={labelWidth:D.width,labelHeight:D.height}),n=n-c[p]._state.labelHeight/2-G,0===H.attrs.x&&0===H.attrs.y?H.attr({x:m,y:n}):(D={x:m,y:n},r?H.animate(D,r,t):H.attr(D)))},getSumValueConfig:function(a){var c=a.yAxis,d=a.stack100percent,e=a.sumValue;a=this.chart.components.xAxis[0].getAxisPosition(this.stackConf[a.xValue].x);
c=c.getAxisPosition(d?100:e);return{xPos:a,yPos:c}}},"column"]);FusionCharts.register("component",["dataset","marimekko",{type:"marimekko",configure:function(){var a=this.config,c=this.chart,d=c.jsonData.chart,e=l(d.usepercentdistribution,1);m.each(this.JSONData.data,function(a){a&&(a.value=ra(a.value))});c.stack100percent=e;this.__base__.configure.call(this);c.config.stack100Percent=l(e,1);a.stack100Percent=c.config.stack100Percent;a.showPercentValues=l(d.showpercentvalues,0);a.showSum=l(d.showsum,
1)},_addLegend:function(){var a=this.chart,c=a.jsonData.chart,d,e;e=this.config;var a=a.components.legend,k=e.legendSymbolColor;d=l(c.us3dlighting,c.useplotgradientcolor,1);c=Pa(k,60).replace(Ja,R);d?(d=Pa(k,40),d={FCcolor:{color:k+","+k+","+d+","+k+","+k,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):d={FCcolor:{color:k,angle:0,ratio:"0",alpha:"100"}};e={enabled:e.includeInLegend,type:this.type,fillColor:F(d),strokeColor:F(c),rawFillColor:k,label:da(this.JSONData.seriesname)};this.legendItemId=
a.addItems(this,this.legendInteractivity,e)},draw:function(){var a=this,c=a.JSONData,e=a.chart,k=e.jsonData.chart,n=e.config,p=a.config,q=a.groupManager,w=a.index,r,z,D=a.visible,B=e.components,H=B.canvas.config.clip,C=B.paper,G=B.xAxis[0],s=G.getCategoryLen(),v=a.yAxis,A=e.graphics.datasetGroup,J=e.isStacked,h,I,P,Q=e.graphics,T=m.parseUnsafeString,R=m.getValidValue,V=m.Raphael,$=p.showTooltip,U=e.get("config","animationObj"),ba=U.duration,Z=U.dummyObj,fa=U.animObj,ca=U.animType,da=G.getAxisPosition(0),
ia=G.getAxisPosition(1),ga=p.groupMaxWidth=ia-da,ha=q.stackSumValue[a.positionIndex],la=p.maxColWidth,na=p.transposeAnimation,oa=(1-.01*p.definedGroupPadding)*ga||Fa(1*ga,1*la),ma,qa,ua,wa=a.components,va=wa.data,ka,sa,Da,Ha,Ia,Ja,Na,Pa,Ba,Oa=a.drawn,za=wa.removeDataArr,Ta=za&&za.length,ab=wa.addDataArr,Zb=ab&&ab.length,Ub={},Ea={},Fb=e.config.dataLabelStyle,Vb={fontFamily:Fb.fontFamily,fontSize:Fb.fontSize,lineHeight:Fb.lineHeight,fontWeight:Fb.fontWeight,fontStyle:Fb.fontStyle,color:Fb.color},bc,
hc=v.getAxisBase(),Qb=v.yBasePos=v.getAxisPosition(hc),Rb,yb,bb=0,cb=p.showShadow,$a=p.plotBorderThickness,Sa=p.plotRadius,Ra=a.graphics,Ya=Ra.container,db=Ra.trackerContainer,fb=Ra.dataLabelContainer,Za=Ra.shadowContainer,Xa=Ra.pool,hb=Q.trackerGroup,nb,pb=1,pc=G.getAxisPosition(s-1)+0,ib=G.getAxisPosition(0)+0,gb,Wa=!0,rb=!1,kb=!1,ob,Cb,Db=a.startPosition,qb=q.stackConf,sb=p.showPlotBorder,Eb=function(a){ea.call(this,e,a)},Pb=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloverAttr");
b.attr(c);ea.call(this,e,a,"DataPlotRollOver")},Hb=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloutAttr");b.attr(c);ea.call(this,e,a,"DataPlotRollOut")},wb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Ya.hide(),db.hide(),Za.hide(),fb&&fb.hide(),a._conatinerHidden=!0)},jb=function(){Wa&&wb();this.show()},lb=function(){a.drawLabel();q.drawSumValueFlag&&q.drawSumValue()},xb=function(){return Db?function(a,b){a.x=ib-ga*(Zb-b);a.y=I;a.height=
qa}:!1===Db?function(a){a.x=pc+ga*pb++;a.y=I;a.height=qa}:function(a){a.width=0}},Ib,mb,tb=e.components.canvas.config,Lb=tb.oriCanvasBorderThickness,ub=0<tb.canvasBorderWidth,Nb=n.canvasRight,Gb=n.canvasTop,Mb=n.canvasLeft,Jb;Oa&&(xb=xb());Ya||(Ya=a.graphics.container=C.group("columns",A),D||Ya.hide());db||(db=a.graphics.trackerContainer=C.group("col-hot",hb),D||db.hide());e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Vb);Za||(Za=a.graphics.shadowContainer=C.group("shadow",A).toBack(),
D||Za.hide());mb=H["clip-canvas"];ub||(mb[3]+=Lb/2,M&&(mb[2]+=2*Lb));Oa?(Ya.animateWith(Z,fa,{"clip-rect":mb},ba,ca),Za.animateWith(Z,fa,{"clip-rect":mb},ba,ca)):(Ya.attr({"clip-rect":mb}),Za.attr({"clip-rect":mb}));for(z=0;z<s;z++)if(Ja=(Ba=(ka=va[z])&&ka.config)&&Ba.setValue,void 0!==ka&&null!==Ja){bc=q.getDataSetPosition(a,z);ob=l(bc.columnWidth,oa/1);Cb=bc.height;Ia=Ba.setLink;nb=Ba.colorArr;ka.graphics||(va[z].graphics={});Pa=Ba.displayValue;Rb=Ba.previousPositiveY;sa=R(T(d(Ba.origToolText,c.plottooltext,
k.plottooltext)));J&&(Rb=a._parseValues(z,Rb,ha[z],sa),Ja=Ba.value);Ib=qb[z].x;yb=v.getAxisPosition(Rb||hc);h=G.getAxisPosition(Ib)-ob/2;0!==Cb?(I=v.getAxisPosition(Ja+(Rb||0)),qa=ra(yb-I)):(qa=0,I=yb);I=Fa(I,yb);parseInt(I)<=Gb&&(qa-=Gb-I-+ub,I=Gb-+ub);1>=$a&&(Ca(h)<=Mb&&(ob+=h,h=Mb-$a/2+ +!!$a-+ub,ob-=h),Ca(h+ob)>=Nb&&(ob=Nb-h+$a/2-+!!$a+ +ub));q.isCrisp?(P=V.crispBound(h,I,ob,qa,$a),h=P.x,I=P.y,ma=P.width,qa=P.height):ma=ob;ua=Ba.toolText+(sa?"":Ba.toolTipValue);gb=Ba.plotBorderDashStyle;Na={index:z,
link:Ia,value:Ja,displayValue:Pa,categoryLabel:Ba.label,toolText:ua,id:"",datasetIndex:w||0,datasetName:c.seriesname,visible:D};Ub=Ba.setRolloutAttr;Ea=Ba.setRolloverAttr;ba||(Qb=I,bb=qa);r={x:h,y:Qb,width:ma,height:bb||1,r:Sa,ishot:!$,fill:F(nb[0]),stroke:F(nb[1]),"stroke-width":sb?$a:0,"stroke-dasharray":gb,"stroke-linejoin":"miter",visibility:D};ka._xPos=h;ka._yPos=I;ka._height=qa;ka._width=ma;ka._index=z;Jb=!1;!ka.graphics.element&&Oa&&(xb(r,z),Xa&&Xa[0].graphics.element?(Da=Xa[0].graphics.element,
Da.attr(r)):(Da=ka.graphics.element=C.rect(r,Ya),Jb=!0),Xa&&Xa[0].graphics.hotElement&&(ka.graphics.hotElement=Xa[0].graphics.hotElement),Xa&&Xa.splice(0,1));ka.graphics.element?(kb=rb=!0,r={x:h,y:I,width:ma,height:qa||1},na?Da=ka.graphics.element.animateWith(Z,fa,r,ba,ca,jb):(Da=ka.graphics.element.attr(r),Wa&&wb())):(Da=ka.graphics.element=C.rect(r,Ya),ba?(Da.animateWith(Z,fa,{y:I,height:qa||1},ba,ca,Wa&&lb),Wa=!1):kb=rb=!0);Da.attr({r:Sa,ishot:!$,fill:F(nb[0]),stroke:F(nb[1]),"stroke-width":sb?
$a:0,"stroke-dasharray":gb,"stroke-linejoin":"miter"}).shadow({opacity:cb},Za).data("BBox",P);if(Ia||$)qa<X&&(I-=(X-qa)/2,qa=X),r={x:h,y:I,width:ma,height:qa,r:Sa,cursor:Ia?"pointer":"",stroke:t,"stroke-width":$a,fill:t,ishot:!0,visibility:D},ka.graphics.hotElement?ka.graphics.hotElement.attr(r):(Ha=ka.graphics.hotElement=C.rect(r,db),Jb=!0);Ha=ka.graphics.hotElement;(Ha||Da).data("eventArgs",Na).data("groupId",void 0).tooltip(ua).data("dataObj",ka).data("setRolloutAttr",Ub).data("setRolloverAttr",
Ea);Jb&&(Ha||Da).click(Eb).hover(Pb,Hb)}rb&&a.drawLabel();q.drawSumValueFlag&&kb&&q.drawSumValueFlag&&q.drawSumValue();a.drawn=!0;Ta&&a.remove()},getDataLimits:function(){var a=this.conf;return{max:a.yMax,min:a.yMin,xMax:100,xMin:0}}},"column"])}]);
FusionCharts.register("module",["private","modules.renderer.js-interface",function(){var k=this,m=k.hcLib,C=k.renderer.getRenderer("javascript"),r=m.hasModule,e=m.loadModule,a=m.getMetaSentence,M=m.moduleCmdQueue,J=m.executeWaitingCommands,I=m.injectModuleDependency,n=m.moduleDependencies,z=m.getDependentModuleName,G,q;G=function(e){var c,n,d,q={},r;e=a(e);for(c in k.core.items)c=k.core.items[c],n=c.chartType(),d=c.options.chartTypeSourcePath+n,(n=c.jsVars)&&n.waitingModule&&c.__state.rendering&&
m.needsModule(e.predicate,d)&&(n.waitingModuleError=!0,n=z(d).concat(n.userModules),n.length&&(n=n[n.length-1],q[n]=m.moduleCmdQueue[n]));for(r in q)J(q[r]);k.raiseError(k.core,"11171116151","run","HC-interface~renderer.load","Unable to load required modules and resources: "+e.key)};q=function(a,c,e){var d=a.args,m=a.options;a._chartMessageImageStyle={imageHAlign:d.typeNotSupportedMessageImageHAlign||m.baseChartMessageImageHAlign,imageVAlign:d.typeNotSupportedMessageImageVAlign||m.baseChartMessageImageVAlign,
imageAlpha:d.typeNotSupportedMessageImageAlpha||m.baseChartMessageImageAlpha,imageScale:d.typeNotSupportedMessageImageScale||m.baseChartMessageImageScale};a._chartMessageStyle={color:d.typeNotSupportedMessageColor||m.baseChartMessageColor,fontFamily:d.typeNotSupportedMessageFont||m.baseChartMessageFont,fontSize:d.typeNotSupportedMessageFontSize||m.baseChartMessageFontSize};k.hcLib.createChart(a,c,"base",e,m.typeNotSupportedMessage)};m.eventList=k.extend(k.legacyEventList,{loaded:"FC_Loaded",dataloaded:"FC_DataLoaded",
rendered:"FC_Rendered",drawcomplete:"FC_DrawComplete",dataxmlinvalid:"FC_DataXMLInvalid",nodatatodisplay:"FC_NoDataToDisplay",exported:"FC_Exported"});m.raiseEvent=k.raiseEventWithLegacy;n.charts=k.extend(n.charts||{},{column2d:0,column3d:0,bar2d:0,bar3d:0,pie2d:0,pie3d:0,line:0,area2d:0,doughnut2d:0,doughnut3d:0,pareto2d:0,pareto3d:0,mscolumn2d:0,mscolumn3d:0,msline:0,msarea:0,msbar2d:0,msbar3d:0,stackedcolumn2d:0,marimekko:0,stackedcolumn3d:0,stackedarea2d:0,stackedcolumn2dline:0,stackedcolumn3dline:0,
stackedbar2d:0,stackedbar3d:0,msstackedcolumn2d:0,mscombi2d:0,mscombi3d:0,mscolumnline3d:0,mscombidy2d:0,mscolumn3dlinedy:0,stackedcolumn3dlinedy:0,msstackedcolumn2dlinedy:0,scatter:0,bubble:0,ssgrid:0,scrollcolumn2d:0,scrollcolumn3d:0,scrollline2d:0,scrollarea2d:0,scrollstackedcolumn2d:0,scrollcombi2d:0,scrollcombidy2d:0,zoomline:0,zoomlinedy:0,zoomscatter:0});n.powercharts=k.extend(n.powercharts||{},{spline:0,splinearea:0,msspline:0,mssplinearea:0,mssplinedy:0,multiaxisline:0,multilevelpie:0,waterfall2d:0,
msstepline:0,inversemsline:0,inversemscolumn2d:0,inversemsarea:0,errorbar2d:0,errorscatter:0,errorline:0,logmsline:0,logmscolumn2d:0,logstackedcolumn2d:0,radar:0,dragnode:0,candlestick:0,selectscatter:0,dragcolumn2d:0,dragline:0,dragarea:0,boxandwhisker2d:0,kagi:0,heatmap:0,treemap:0});n.widgets=k.extend(n.widgets||{},{angulargauge:0,bulb:0,cylinder:0,drawingpad:0,funnel:0,hbullet:0,hled:0,hlineargauge:0,vlineargauge:0,pyramid:0,realtimearea:0,realtimecolumn:0,realtimeline:0,realtimelinedy:0,realtimestackedarea:0,
realtimestackedcolumn:0,sparkcolumn:0,sparkline:0,sparkwinloss:0,thermometer:0,vbullet:0,gantt:0,vled:0});n.maps=k.extend(n.maps||{},{});k.extend(C,{render:function(a,c){var e=this.chartType(),d=this.options.chartTypeSourcePath+e,n=this.jsVars,G=this.__state,l=m.chartAPI,w=this.options,H=this.args,F=this.options.showChartLoadingMessage,J,D;J=z(d).concat(n.userModules);n.isResizing&&(n.isResizing=clearTimeout(n.isResizing));n.hcObj&&n.hcObj.destroy&&n.hcObj.destroy();if(l[e]){if(l[G.lastRenderedType]&&
G.lastRenderedType!==e)for(D in k.raiseEvent("chartTypeChanged",{previousType:G.lastRenderedType,newType:e},this),l[G.lastRenderedType].eiMethods)delete this[D];G.lastRenderedType=e;G.lastRenderedSrc=this.src;!n.waitingModuleError&&m.raiseEvent("internal.loaded",{type:e,triggeredModuleLoad:n.drLoadAttempted||n.waitingModule},this,[this.id]);delete n.waitingModule;delete n.waitingModuleError;delete n.drLoadAttempted;k.hcLib.createChart(this,a,e,c)}else{if(e&&r(J)){if(n.drLoadAttempted){k.raiseError(this,
11112822001,"run","HC-interface~renderer.render","Chart runtimes not loaded even when resource is present");q(this,a,c);return}I(d)&&(J=z(d).concat(n.userModules));n.drLoadAttempted=!0}else{if(!J.length){q(this,a,c);return}if(n.waitingModuleError){q(this,a,c);delete n.waitingModule;delete n.waitingModuleError;return}}(e=M[J[J.length-1]])?(e.push({cmd:"render",obj:this,args:arguments}),n.waitingModule||(n=F?w.PBarLoadingText||w.loadMessage:"",this._chartMessageImageStyle={imageHAlign:H.loadMessageImageHAlign||
w.baseChartMessageImageHAlign,imageVAlign:H.loadMessageImageVAlign||w.baseChartMessageImageVAlign,imageAlpha:H.loadMessageImageAlpha||w.baseChartMessageImageAlpha,imageScale:H.loadMessageImageScale||w.baseChartMessageImageScale},this._chartMessageStyle={color:H.loadMessageColor||w.baseChartMessageColor,fontFamily:H.loadMessageFont||w.baseChartMessageFont,fontSize:H.loadMessageFontSize||w.baseChartMessageFontSize},k.hcLib.createChart(this,a,"base",void 0,n),C.load.call(this,a,c))):(k.raiseError(this,
12080515551,"run","HC-interface~renderer.render","Unregistered module in dependentModule definition."),this._chartMessageImageStyle={imageHAlign:H.renderErrorMessageImageHAlign||w.baseChartMessageImageHAlign,imageVAlign:H.renderErrorMessageImageVAlign||w.baseChartMessageImageVAlign,imageAlpha:H.renderErrorMessageImageAlpha||w.baseChartMessageImageAlpha,imageScale:H.renderErrorMessageImageScale||w.baseChartMessageImageScale},this._chartMessageStyle={color:H.renderErrorMessageColor||w.baseChartMessageColor,
fontFamily:H.renderErrorMessageFont||w.baseChartMessageFont,fontSize:H.renderErrorMessageFontSize||w.baseChartMessageFontSize},k.hcLib.createChart(this,a,"base",void 0,w.renderErrorMessage))}},update:function(a){var c=this.ref,e=this.jsVars,d=e&&e.fcObj,d=e.container||d&&d.options&&d.options.containerElement&&d.options.containerElement.childNodes[0];e.hcObj&&e.hcObj.destroy&&e.hcObj.destroy();e.isResizing&&(e.isResizing=clearTimeout(e.isResizing));void 0===a.error?(delete e.stallLoad,delete e.loadError,
this.isActive()?this.src!==this.__state.lastRenderedSrc?this.render():k.hcLib.createChart(this,d):this.__state.rendering&&!e.waitingModule&&k.hcLib.createChart(this,d)):(this.isActive()&&"function"===typeof c.showChartMessage&&c.showChartMessage("InvalidXMLText"),delete e.loadError)},resize:function(a){var c=this.ref,e,d=this.jsVars;c&&c.resize&&(d.isResizing&&(d.isResizing=clearTimeout(d.isResizing)),d.isResizing=setTimeout(function(){e=k.normalizeCSSDimension(a.width,a.height,c);void 0!==a.width&&
(c.style.width=e.width);void 0!==a.height&&(c.style.height=e.height);c.resize();delete d.isResizing},0))},dispose:function(){var a,c=this.jsVars;c.isResizing&&(c.isResizing=clearTimeout(c.isResizing));c.instanceAPI&&c.instanceAPI.dispose&&(c.instanceAPI.dispose(),delete c.instanceAPI);if(a=this.ref)k.purgeDOM(a),a.parentNode&&a.parentNode.removeChild(a);c.container=null;m.cleanupWaitingCommands(this)},load:function(a,c){var n=this.jsVars,d=this.chartType(),r=k.hcLib.chartAPI[d],d=z(d).concat(n.userModules),
C=d[d.length-1];r||!d||d&&0===d.length?(delete n.waitingModule,a&&q(this,a||this.ref,c)):n.waitingModule||(n.waitingModule=!0,delete n.waitingModuleError,e(d,function(){delete n.waitingModule;J(m.moduleCmdQueue[C])},G,this))}})}]);
FusionCharts.register("module",["private","modules.api.dynamicchartattributes",function(){var k=this;k.extend(k.core,{setChartAttribute:function(m,C){var r,e,a,M;if("string"===typeof m)r=m,m={},m[r]=C;else if(null===m||"object"!==typeof m)return;M=0;if(a=(r=this.getChartData(k.dataFormats.JSON))&&(r.chart||r.graph||r.map)){for(e in m)M+=1,null===m[e]?delete a[e.toLowerCase()]:a[e.toLowerCase()]=m[e];0<M&&("undefined"===typeof a.animation&&(a.animation="0"),this.setChartData(r,k.dataFormats.JSON))}else k.raiseError(this,
"2105141421","run","#setChartAttribute()","Could not retrieve attribute list. Is data ready?")},getChartAttribute:function(m){var C=this.getChartData(k.dataFormats.JSON),C=C&&(C.chart||C.graph||C.map),r,e;if(0===arguments.length||void 0===m||void 0===C)return C;if("string"===typeof m)r=C[m.toString().toLowerCase()];else if(m instanceof Array)for(r={},e=0;e<m.length;e+=1)r[m[e]]=C[m[e].toString().toLowerCase()];else k.raiseError(this,"25081429","param","~getChartAttribute()",'Unexpected value of "attribute"');
return r}},!0)}]);
FusionCharts.register("module",["private","api.linkmanager",function(){var k=this,m=k.FusionChartsDOMInsertModes,C={},r=function(a,e){this.items={};this.root=a;this.parent=e;e instanceof k.core?this.level=this.parent.link.level+1:(C[a.id]=[{}],this.level=0)},e=function(a,e){return(a.options.containerElement===e.options.containerElement||a.options.containerElementId===e.options.containerElementId)&&a.options.insertMode===m.REPLACE};k.policies.link=["link",void 0];r.prototype.configuration=function(){return C[this.root.id][this.level]||
(C[this.root.id][this.level]={})};k.extend(k.core,{configureLink:function(a,e){var m;if(a instanceof Array){for(m=0;m<a.length;m+=1)"object"!==typeof C[this.link.root.id][m]&&(C[this.link.root.id][m]={}),k.extend(C[this.link.root.id][m],a[m]);C[this.link.root.id].splice(a.length)}else"object"===typeof a?("number"!==typeof e&&(e=this.link.level),void 0===C[this.link.root.id][e]&&(C[this.link.root.id][e]={}),k.extend(C[this.link.root.id][e],a)):k.raiseError(this,"25081731","param","~configureLink()",
"Unable to update link configuration from set parameters")}},!0);k.addEventListener("beforeInitialize",function(a){a.sender.link instanceof r?a.sender.link.parent instanceof k.core&&(a.sender.link.parent.link.items[a.sender.id]=a.sender):a.sender.link=new r(a.sender)});k.addEventListener("linkedChartInvoked",function(a,m){var C=a.sender,I=C.clone({dataSource:m.data,dataFormat:m.linkType,link:new r(C.link.root,C)},!0),n=m.alias,z;n&&(!I.typeSource&&I.swfUrl&&(I.typeSource=I.swfUrl.replace(/(.*?)?[^\/]*\.swf.*?/ig,
"$1")),I.type=n);C.args&&0!==parseInt(C.args.animate,10)&&delete I.animate;k.extend(I,C.link.configuration());k.raiseEvent("beforeLinkedItemOpen",{level:C.link.level},C.link.root,void 0,function(){k.core.items[I.id]instanceof k.core&&k.core.items[I.id].dispose();z=new k.core(I);e(z,C)||C.options.overlayButton&&C.options.overlayButton.message||("object"!==typeof C.options.overlayButton&&(C.options.overlayButton={}),C.options.overlayButton.message="Close");z.render();k.raiseEvent("linkedItemOpened",
{level:C.link.level,item:z},C.link.root)})});k.addEventListener("overlayButtonClick",function(a,m){if("LinkManager"===m.id){var r=a.sender,C=r.link.level-1,n=r.link.parent,z=r.link.root;k.raiseEvent("beforeLinkedItemClose",{level:C,item:r},z,r,function(){setTimeout(function(){k.core.items[r.id]&&r.dispose();k.raiseEvent("linkedItemClosed",{level:C},z)},0);n.disposed||n.isActive()||!e(r,n)||n.render()})}});k.addEventListener("Loaded",function(a){a=a.sender;var e;a&&void 0!==a.link&&a.link.root!==a&&
a.link.parent instanceof k.core&&(a.ref&&"function"===typeof a.ref.drawOverlayButton?(e=k.extend({show:!0,id:"LinkManager"},a.link.parent.options.overlayButton),k.extend(e,a.link.parent.link.configuration().overlayButton||{}),a.ref.drawOverlayButton(e)):k.raiseWarning(a,"04091602","run","::LinkManager^Loaded","Unable to draw overlay button on object. -"+a.id))});k.addEventListener("beforeDispose",function(a){var e=a.sender;e&&e.link instanceof r&&(e&&e.link&&e.link.parent instanceof k.core&&e.link.parent.link&&
e.link.parent.link.items&&delete e.link.parent.link.items[a.sender.id],delete C[e.id])})}]);
FusionCharts.register("module",["private","modules.renderer.js-thememanager",function(){var k=this,m,C,r,e=/\s+!important$/,a=/\\!important$/,M=function(a,e){for(var d=e.length,k=-1;d--;)if(a===e[d]){k=d;break}return k},J=function(a,e,d,k,m){var l,n,q,r;m?(k.push(a),m.push(e)):(k=[a],m=[e]);if(e instanceof Array)for(l=0;l<e.length;l+=1){try{n=a[l],q=e[l]}catch(t){continue}if("object"!==typeof q)d&&void 0===q||(a[l]=q);else{if(null===n||"object"!==typeof n)n=a[l]=q instanceof Array?[]:{};r=M(q,m);
-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)}}else for(l in e){try{n=a[l],q=e[l]}catch(z){continue}if(null!==q&&"object"===typeof q)if(r=Object.prototype.toString.call(q),"[object Object]"===r){if(null===n||"object"!==typeof n)n=a[l]={};r=M(q,m);-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)}else"[object Array]"===r?(null!==n&&n instanceof Array||(n=a[l]=[]),r=M(q,m),-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)):a[l]=q;else a[l]=q}return a},I=function(a,e,d){if("object"!==typeof a&&"object"!==typeof e)return null;if("object"!==typeof e||
null===e)return a;"object"!==typeof a&&(a=e instanceof Array?[]:{});J(a,e,d);return a},n=function(c){var k={important:!1,str:""};if(!c)return k;c=c.toString();e.test(c)?(c=c.replace(e,""),k.important=!0):(c=c.replace(a,"!imporant"),k.important=!1);k.str=c;return k},z=function(a,e){var d,k,m,l,n,q,r=0,t=0;for(d in a)if(k=a[d],k instanceof Array)for(q=k.length,n=0;n<q;n+=1){if(l=k[n],"object"===typeof l)if("category"===d)if("true"===l.vline){if(m=e.component("vline",r,l))G(l,m),r+=1}else{if(m=e.component("category",
t,l,q))G(l,m),t+=1}else if(m=e.component(d,n,l,q))G(l,m),z(l,m)}else"object"===typeof k&&(m=e.component(d,null,k))&&(G(k,m),z(k,m))},G=function(a,e){var d=e.getAll(),k,m;for(k in d)m=d[k].toString(),m=n(m),m.important?a[k.toLowerCase()]=m.str:void 0===a[k.toLowerCase()]&&(a[k.toLowerCase()]=m.str)},q=function(a,e){"geo"===e.defaultSeriesType&&t.call(this,a,e)},t=function(a,e){var d=a.sender,m=d.getChartData(k.dataFormats.JSON,!0),n;m.error||((n=m.data.chart.theme)?r.themify(n,d,d.chartType(),m.data,
"geo"===e.defaultSeriesType&&"geo"):d.jsVars&&d.jsVars.themeObject&&d.jsVars.themeObject.dispose())};m=function(){this.themeStore={}};m.prototype={constructor:m,add:function(a){for(var e=0,d=a.length,k;e<d;e+=1)(k=a[e].name)&&(this.themeStore[k]=a[e])},themify:function(a,e,d,m,n){var l=e.jsVars,w=a.split(","),r=[],z=w.length,G,D;if(z){for(D=0;D<z;D+=1){G=this.themeStore;var I;I=w[D];I=I.replace(/^\s\s*/,"");for(var J=/\s/,M=I.length;J.test(I.charAt(--M)););I=I.slice(0,M+1);(G=G[I])&&r.push(this.evaluateThemeJSON(G.theme,
e,d,n))}r.length?(l.themeObject=new C(r,e,!1,m),this.applyTheme(e),e.addEventListener("chartTypeChanged",t),e.addEventListener("internal.drawstart",q)):k.raiseWarning(e,"14051100501","run","api.themes~themify()",'The theme "'+a+'" requested has not been registered.')}},evaluateThemeJSON:function(a,e,d,k){var m={},l=e.jsVars,n=function(a){var c,d;for(c in a)d=a[c],m[c]=d instanceof Array?I(m[c]||[],d):"object"===typeof d?I(m[c]||{},d):d};d=d||e.chartType();l.themeObject&&a!==l.themeObject&&(l.themeObject.dispose(),
delete l.themeObject);n(a.base);k&&a[k]&&n(a[k]);d&&a[d]&&n(a[d]);return m},applyTheme:function(a){a=a.jsVars.themeObject;var e=a.getThemedJSONData().data;e&&z(e,a)}};C=function(a,e,d,k){this.themeArray=a;this.themeComponents={};this.base={};this.chartInstance=e;this.isChildInstance=Boolean(d);this.themedData=d?null:I({},k);this.length=a.length;e=0;for(d=a.length;e<d;e+=1)this.parse(a[e])};C.prototype={constructor:C,pushTheme:function(a){a&&(this.themeArray.push(a),this.parse(a),this.length+=1)},
popTheme:function(){},parse:function(a){var e=this.themeComponents,d=this.chartInstance,k=this.base,m,l,q;for(l in a)if("string"===typeof a[l]||"number"===typeof a[l])if(k[l]){if(m=n(a[l]),q=n(k[l]),m.important||!q.important)k[l]=a[l]}else k[l]=a[l];else e[l]||(e[l]=[]),m=e[l],a[l]instanceof Array?m.push(I([],a[l])):"object"===typeof a[l]?m.push(new C([a[l]],d,!0)):"function"===typeof a[l]&&m.push(a[l])},merge:function(a){var e=this.base,d=a.base,k=this.themeComponents,m=a.themeComponents,l,q,r;for(r in d)if(l=
n(e[r]),q=n(d[r]),!l.important||q.important)e[r]=d[r];for(r in m)k[r]=k[r]?k[r].concat(m[r]):[].concat(m[r]);this.length+=a.length},get:function(a){return this.base[a]},getAll:function(){return I({},this.base)},component:function(a,e,d,k){var m=this.themeComponents,l=this.chartInstance,n=new C([],l,!0),q,r,t;r=m[a];if(!r)return null;a=0;for(m=r.length;a<m;a+=1)t=r[a],"function"===typeof t?(e=e||0,n.pushTheme(t.call(l,e,d,k))):t instanceof Array?(e=e||0,q=t.length,e%=q,q=t[e],q instanceof C?n.merge(q):
"function"===typeof q?n.pushTheme(q.call(l,e,d,k)):n.pushTheme(q)):t instanceof C?n.merge(t):n.pushTheme(t);return n},getThemedJSONData:function(){return{data:this.themedData}},dispose:function(){var a=this.themeComponents,e=this.chartInstance,d,k;for(d in a)if(k=a[d].length){for(;k--;)a[d][k].dispose&&a[d][k].dispose();delete a[d]}this.isChildInstance||(e.removeEventListener("chartTypeChanged",t),e.removeEventListener("internal.drawstart",q));this.dataWithoutTheme=this.isChildInstance=this.themeArray=
this.base=this.chartInstance=this.themeComponents=null}};r=new m;k.registrars.theme=k.registerTheme=function(a){a&&("[object Array]"!==Object.prototype.toString.call(a)&&(a=[a]),r.add(a))};k.addEventListener("beforeDataUpdate",function(a,e){var d=a.sender,m=k.core.transcodeData(e.data,e.format,k.dataFormats.JSON),n=m.chart&&m.chart.theme;n?r.themify(n,d,d.args.type,m):d.jsVars&&d.jsVars.themeObject&&(d.jsVars&&d.jsVars.themeObject.dispose(),d.jsVars&&delete d.jsVars.themeObject)})}]);
FusionCharts.register("theme",{name:"default",theme:{base:{chart:{labelDisplay:"stagger !important",caption:"Theme Caption \\!important",canvasBgColor:"#56EF22",borderThickness:"5 !important",borderColor:"#E60539",baseFontColor:"#781129"},categories:[{fontColor:"#0F4F40",fontSize:15,category:function(k){return{showLabel:k%2?0:1}},vline:{color:"#000000",thickness:2}}],dataset:[{color:"#8C3146",data:function(k,m){8==k&&(m.value="");return{color:32E3>Number(m.value)?"#8C3146":"#FF0000",alpha:"100"}}}],
trendlines:[{line:function(k){return k?{color:"#ff0000",thickness:3}:{color:"#ffff00",thickness:3}}}]},pie2d:{chart:{bgColor:"#FF0000"}},msline:{chart:{canvasBgColor:"#ff0000"}},geo:{chart:{canvasBgColor:"#0000ff"}},world:{chart:{canvasBgColor:"#00ff00"}}}});
FusionCharts.register("module",["private","modules.renderer.js-highlightmanager",function(){var k=this,m=k.hcLib,C=m.extend2,r=m.pluckNumber,e=m.toRaphaelColor,a=/^#?[0-9a-f]{6}/i,M=/FFFFFF/i,J=/255,255,255/,I=m.getFirstAlpha,n=function(a){a=a.replace("rgba(","").split(",");return"#"+("000000"+(a[0]<<16|a[1]<<8|a[2]).toString(16)).slice(-6)},z=m.pluck,G=function(a){if(/rgb/.test(a))return a=a.match(/[\d\.]+\)/g),parseFloat(a&&a[0]);if(a.FCcolor)return I(a.FCcolor.alpha)},q=function(a){a=a.split(",");
var c,d,e,k={},l;c=0;for(d=a.length;c<d;c++)e=a[c].split("="),l=e[0],e=e[1],k[l]=e;return k},t=function(c,d,k){var l,m=d.color;if(/rgb/.test(c))d=z(d.alpha,100*G(c)),/rgb/.test(m)&&(m=n(m)),l=k?e({color:z(m,n(c)),alpha:d}):c;else if(c.FCcolor){if(k){c=c.FCcolor;var p;k={};var q;for(p in c)if("alpha"===p){m=p;if(d.alpha){l=c[p];var r=d.alpha,t=void 0,B=void 0,C=[];if("number"===typeof l)l=r;else{B=l.split&&l.split(",");for(t=0;t<B.length;t++)C.push(r);l=C.join()}}else l=c[p];k[m]=l}else"color"===p?
(-1!==c[p].indexOf(",")&&d.color&&(q=d.color+","+c[p].substring(c[p].indexOf(",")+1)),k[p]=z(q||d.color,c[p])):k[p]=c[p];d=e(k)}else d=e(c.FCcolor);l=d}else a.test(c.color||c)&&(l=k?e({color:z(d.color,c.color,c),alpha:z(d.alpha,c.alpha)}):e({color:c.color||c,alpha:c.alpha}));return l},c=function(a,c,d){var k,l,m,n=a.chart;k=n.config;n=n.config.dataLabelStyle;a=a.components.data;var p,q,r,t,B,C;p=0;for(q=a.length;p<q;p++)if(k=a[p])for(t in r=k.graphics,k=k.config,m=k.anchorProps,k={FCcolor:{alpha:d?
z(c.anchorbgalpha,c.alpha,m.bgAlpha):m.bgAlpha,color:d?z(c.anchorbgcolor,c.color,m.bgColor):m.bgColor}},l={FCcolor:{alpha:d?z(c.borderalpha,c.alpha,m.borderAlpha):m.borderAlpha,color:d?z(c.anchorbordercolor,c.color,m.borderColor):m.borderColor}},m=d?c.alpha:m.imageAlpha,d||G(n.color),r)switch(C=(B=r[t])&&B.type,C){case "path":B.attr({fill:e(k),stroke:e(l)});break;case "image":B.attr({opacity:m/100});break;case "text":Q(B,c,n,d)}},p=function(c,d,k,l){var m=d.symbolAttr||{},p=m.fill,m=m.stroke,q=d.textAttr||
{},q=l?z(k.color,n(q.fill)):n(q.fill),r=c.legendItemText,B=c.legendItemSymbol;c=c.legendItemLine;d=(d.lineAttr||{}).stroke;c&&d&&(a.test(d)?c.attr({stroke:l?e({color:z(k.color,d),alpha:k.alpha}):d}):(d=t(d,k,l),c.attr({stroke:d})));B&&(p&&(p=p.match(a)?l&&!M.test(p)?e({color:k.color||p,alpha:k.alpha}):p:J.test(p)?p:t(p,k,l)),m&&(m=a.test(m)?l&&!M.test(m)?e({color:k.color||m,alpha:k.alpha}):m:l&&!J.test(m)?k.color?e({color:k.color,alpha:k.alpha}):m:m),B.attr({fill:p||"none",stroke:m||"none"}));r&&
r.attr({fill:e({color:q,alpha:l?k.alpha:100})})},d={area:function(a,d,k){var l=this.chart,m=l.config,n=l.components.legend.components.items,r,t=this.legendItemId,B=n.length,l=m.showShadow;a=q(a);var C=this.graphics||{},I=C.legendGraphics,J=m.dataLabelStyle,M=C.dataLabelContainer,m=this.config,Q;if(!k){a.alpha=a.alpha||30;for(k=0;k<B&&(r=n[k]||{},r.legendItemId!==t);k++);M&&M.attr({opacity:d?a.alpha/100:G(J.color)});n=m.plotBorderColor;J=m.plotFillColor;k=m.plotBorderAlpha;t=m.plotFillAlpha;B=m.plotGradientColor;
C=z(C.lineElement,C.splineElement);n=d?z(a.bordercolor,a.color,n):n;a.color&&(Q=a.color+(B?","+B:""));B=J+(B?","+B:"");Q=d?z(Q,B):B;m=m.plotFillAngle;t=d?a.alpha:t;k=d?z(a.borderalpha,a.alpha):k;C.attr({fill:e({color:Q,alpha:t,angle:m}),stroke:e({color:n,alpha:k})}).shadow({opacity:l?d?a.alpha/100:t/100:0});I&&!0===this.visible&&p(I,r.config,a,d);c(this,a,d)}},bubble:function(a,c,d){var k=this.chart,l=k.components.legend.components.items||[],n,r=l.length,t=this.legendItemId,k=k.config.dataLabelStyle,
B=this.graphics,C=B.legendGraphics,J=m.graphics.getPointColor,M=B.dataLabelContainer;a=q(a);if(!1===d){a.alpha||(a.alpha=30);B=this.components.data||[];for(d=0;d<r&&(n=l[d]||{},n.legendItemId!==t);d++);p(C,n.config,a,c);M&&M.attr({opacity:c?a.alpha/100:G(k.color)});d=0;for(r=B.length;d<r;d++)if(l=B[d])t=l.graphics,n=l.config,l=n.colorObj,C=n.is3d,n=t.element,t=t.label,C?(C=c?J(z(a.color,l.FCcolor.color),z(a.alpha,I(l.alpha))):l,C=e(C)):(C=c?z(a.color,l.color):l.color,l=c?a.alpha:l.alpha,C=e({color:C,
alpha:l})),n&&n.attr({fill:C}),t&&Q(t,a,k,c)}},pie:function(a,c,d,k){var l=k.chart,m;k=k._getPointColor;var n=this,r,t,B,I;B={};var n=this.legendItemId,J;t=l.components.legend.getItems()||[];a=q(a);if(!1===d){a.alpha||(a.alpha=30);d=this.graphics.element;r=this.config;I=0;for(l=t.length;I<l&&(m=t[I],J=m.legendItemId,J!==n);I++);n=m.graphics;p(n,m.config,a,c);t=r.color.color;n=d.data("plotItem");l=n.chart;m=n.style;l=l.is3D;if(I=n.center)B=I[0],I=I[1],n=n.radius,B={cx:B,cy:I,r:n};t=c?k(z(a.color,t),
a.alpha,90):r.color;k=c?a.alpha:t.alpha;t=C(t,B);l?d&&d.attr({color:t.color.split(",")[0],alpha:k}):d&&d.attr({fill:e(t)});k=this.graphics.label;d=this.graphics.connector;k&&Q(k,a,m,c);d&&d.attr({opacity:c?a.alpha/100:G(m.color)})}},line:function(a,d,k){var l=this.chart,m=l.components.legend.components.items||[],n=m.length,r,t=this.legendItemId,l=l.config.dataLabelStyle;a=q(a);var B=this.graphics||{},C=B.legendGraphics,I=B.dataLabelContainer,J=B.errorGroupContainer,M=this.config,Q=M.showShadow,ga=
M.lineColor,da=M.lineAlpha;if(!k){a.alpha||(a.alpha=30);for(k=0;k<n&&(r=m[k]||{},r.legendItemId!==t);k++);J&&(m=G(M.errorBarColor),m=d?z(a.alpha/100,m):m,J.attr({opacity:m}));I&&I.attr({opacity:d?a.alpha/100:G(l.color)});l=z(B.lineElement,B.SplineElement);ga=d?z(a.color,ga):ga;da=d?z(a.alpha,da):da;l&&l.attr({stroke:e({color:ga,alpha:da})}).shadow({opacity:Q?d?a.alpha/100:da/100:0});C&&!0===this.visible&&p(C,r.config,a,d);c(this,a,d)}},boxandwhisker2d:function(a,c,d){var k=this.config.isRoundEdges,
l=this.graphics,r=l.legendGraphics,z=l.lowerWhiskerContainer,B=l.upperWhiskerContainer,C=l.dataLabelContainer,I=this.legendItemId,J=this.chart.components.legend.components.items||[],l=J.length,M;a=q(a);if(!1===d){a.alpha||(a.alpha=30);for(d=0;d<l&&(M=J[d]||{},M.legendItemId!==I);d++);p(r,M.config,a,c);z&&z.attr({opacity:c?a.alpha/100:1});B&&B.attr({opacity:c?a.alpha/100:1});C&&C.attr({opacity:c?a.alpha/100:1});r=this.components.data;d=0;for(l=r.length;d<l;d++){z=r[d];B=z.config;z=z.graphics;M=a;var C=
c,I=k,Q={},ca={},ga=Q=ca=void 0,da=J=void 0,Z=void 0,Ja=void 0,R=void 0;C?(ca=m.graphics.getColumnColor(M.color||B.upperColorArr[0].FCcolor.color,M.alpha.toString(),B.upperColorArr[0].FCcolor.ratio,B.upperColorArr[0].FCcolor.angle,I,M.bordercolor||n(B.upperBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(B.lowerBoxBorder.color)).toString()),ca=e(ca[0]),Q=m.graphics.getColumnColor(M.color||B.lowerColorArr[0].FCcolor.color,M.alpha.toString(),B.lowerColorArr[0].FCcolor.ratio,B.lowerColorArr[0].FCcolor.angle,
I,M.bordercolor||n(B.lowerBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(B.lowerBoxBorder.color)).toString()),Q=e(Q[0]),ga=t(B.median.color,M,C),Z=t(B.lowerQuartile.color,M,C),Ja=t(B.upperQuartile.color,M,C)):(ca=e(B.upperColorArr[0]),Q=e(B.lowerColorArr[0]),ga=B.median.color,J=B.upperBoxBorder.color,da=B.lowerBoxBorder.color,Ja=B.upperQuartile.color,Z=B.lowerQuartile.color);R=z.upperBoxElem;R.attr({fill:ca,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,
1,3,"rgba(64,64,64,"+G(ca)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:"none"});R=z.lowerBoxElem;R.attr({fill:Q,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,1,3,"rgba(64,64,64,"+G(Q)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:"none"});R=z.lowerBoxBorderEle;R.attr({stroke:da});z.upperBoxBorderEle&&z.upperBoxBorderEle.attr({stroke:J});z.lowerQuartileEle&&z.lowerQuartileEle.attr({stroke:Z});z.upperQuartileEle&&z.upperQuartileEle.attr({stroke:Ja});z.midLineElem&&z.midLineElem.attr({stroke:ga})}}},
heatmap:function(a,c,d,k){var l=k.chart,m=l.config;k=m.dataLabelStyle;var m=l.components.legend,r,t,l=this.legendItemId,B,C;a=q(a);var I=m.getItems()||[];if(!d){a.alpha||(a.alpha=30);m=this.config;B=0;for(d=I.length;B<d&&(r=I[B],C=r.legendItemId,C!==l);B++);l=r.graphics;p(l,r.config,a,c);r=n(m.color);m=G(m.color);r=c?z(a.color,r):r;m=c?a.alpha:100*m;d=this.graphics;l=d.element;l.attr({fill:e({color:r,alpha:m})});c||G(k.color);for(t in d)l=d[t],"text"===l.type&&Q(l,a,k,c)}},funnelpyramid:function(a,
c,d,k){k=k.chart.components.legend;var l,m,r,t,B;a=q(a);k=k.getItems()||[];m=this.legendItemId;if(!1===d){a.alpha||(a.alpha=30);r=0;for(d=k.length;r<d&&(l=k[r],t=l.legendItemId,t!==m);r++);d=l.graphics;p(d,l.config,a,c);l=this.style;k=this.color;d=n(k);k=G(k);d=c?z(a.color,d):d;r=c?a.alpha:100*k;m=this.plot.graphic;t=this.plot.dataLabel;B=this.plot.connector;k=this.plot.point.style;m&&m.attr({fill:e({color:d,alpha:r})});t&&Q(t,a,k,c);B&&B.attr({opacity:c?a.alpha/100:G(l.color)})}},"default":function(a,
c,d){var k=this.config,l=this.chart,n=l.config,t=n.dataLabelStyle,B=k.useRoundEdges,C=l.is3D,J,M,ea;a=q(a);var X=this.graphics,ca=X.legendGraphics,ga=X.dataLabelContainer;ea=X.errorGroupContainer;var da,Z,n="",n=this.legendItemId,Ja=l.components.legend.components.items||[];da=Ja.length;l=k.showShadow;X=m.graphics.getColumnColor;if(!1===d){a.alpha||(a.alpha="30");d=this.components.data||[];for(J=0;J<da&&(M=Ja[J]||{},M.legendItemId!==n);J++);ca&&p(ca,M.config,a,c);ga&&ga.attr({opacity:c?a.alpha/100:
G(t.color)});ea&&(da=G(k.errorBarColor),da=c?z(a.alpha/100,da):da,ea.attr({opacity:da}));J=0;for(da=d.length;J<da;J++)if(k=d[J]){n=k.config;ea=n.colorArr[0];M=n.colorArr[1];ca=M.FCcolor.alpha;n=ea.FCcolor.color;n=-1!==(Z=n.indexOf(","))&&a.color?a.color+n.substring(Z):z(a.color,n);ga=C?ca:z(a.borderalpha,a.alpha,ca);0===r(ca)&&(ga="0");ca=c?X(n,a.alpha,ea.FCcolor.ratio,ea.FCcolor.angle,B,z(a.bordercolor,M.FCcolor.color),ga,!1,C):[ea,M];if(ea=k.graphics.element)n=e(ca[0]),M=e(ca[1]),ea.attr({stroke:M,
fill:n}).shadow({opacity:l?I(ca[0].alpha)/100:0});k=k.graphics.label;Q(k,a,t,c)}}}},B=function(){this.effectStore={};this.eventHandlers={}},Q=function(a,c,d,k){var l,m,p,q,r;l=n(d.color);p=100*G(d.color);m=k?z(c.valuefontcolor,l):l;q=k?z(c.valuefontalpha,c.alpha,p):p;l=""===d.backgroundColor?"":n(d.backgroundColor);p=""===d.backgroundColor?0:100*G(d.backgroundColor);isNaN(p)&&(p=0);r=k?z(c.valuebgcolor,l):l;p=k?z(c.valuebgalpha,c.alpha,p):p;r=e({color:r,alpha:p});l=""===d.borderColor?"":n(d.borderColor);
p=""===d.borderColor?"":100*G(d.borderColor);isNaN(p)&&(p=0);l=k?z(c.valuebordercolor,l):l;c=k?z(c.valueborderalpha,c.alpha,p):p;c=e({color:l,alpha:c});a&&a.attr({fill:e({color:m,alpha:q}),"text-bound":[r,c,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash]})},l=new B;B.prototype.add=function(a){this.effectStore[a.name]=a};B.prototype.attachEventHandlers=function(a,c){this.eventHandlers[a]||(this.eventHandlers[a]={},this.eventHandlers[a].listenerFn=k.addEventListener(a,c))};B.prototype.applyEffect=
function(a,c,d){var e=this.effectStore,k=a.jsonData.chart,l=a.defaultDatasetType,m=k.plothighlighteffect&&k.plothighlighteffect.toLowerCase(),k=a.components.dataset;a=a.isSingleSeries?k[0].components.data:k;c=z(c.itemId,c.legendItemId,c.legendItemIndex);var n,p,q,r="",t;m&&(m=m.replace(/\s+/g,"").split("|"),t=m[0],r=m[1]||"");if(t&&e[t])for(p=0,q=a.length;p<q;p++)m=a[p],l=m.type||l,l=l.toLowerCase(),n=z(m.itemId,m.legendItemId),void 0!==n&&(n=n===c,e[t][l]?e[t][l].call(m,r,d,n,k[0]):e[t]["default"].call(m,
r,d,n,k[0]))};k.registrars.highlighteffect=function(a){a&&l.add(a)};l.attachEventHandlers("legenditemrollover",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&l.applyEffect(d,c,!0)});l.attachEventHandlers("legenditemrollout",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&l.applyEffect(d,c,!1)});FusionCharts.register("highlightEffect",{name:"fadeout",area:d.area,radar:d.area,bubble:d.bubble,pie2d:d.pie,line:d.line,spline:d.line,areaspline:d.area,
pie3d:d.pie,zoomline:d.line,funnel:d.funnelpyramid,pyramid:d.funnelpyramid,scatter:d.line,doughnut2d:d.pie,doughnut3d:d.pie,heatmap:d.heatmap,boxandwhisker2d:d.boxandwhisker2d,multiaxisline:d.line,"default":d["default"]})}]);