(function(F){function D(AI,b,c){var P=[];var l={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null},yaxis:{autoscaleMargin:0.02},points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{show:false,lineWidth:2,fill:false,fillColor:null},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null},grid:{color:"#545454",backgroundColor:null,tickColor:"#dddddd",labelMargin:3,borderWidth:2,clickable:null,coloredAreas:null,coloredAreasColor:"#f4f4f4"},selection:{mode:null,color:"#e8cfac"},shadowSize:4};var Q=null,AJ=null,AK=null,d=null,AQ=null,J=AI,s={},a={},j={left:0,right:0,top:0,bottom:0},p=0,AP=0,AR=0,AF=0,T=0,L=0,AB=0,AA=0,z=0,N={};this.setData=k;this.setupGrid=o;this.draw=AM;this.clearSelection=H;this.setSelection=AD;this.getCanvas=function(){return Q};this.getPlotOffset=function(){return j};this.getData=function(){return P};this.getAxes=function(){return{xaxis:s,yaxis:a}};y(c);k(b);g();o();AM();function k(AS){P=O(AS);X();q()}function O(AW){var AU=[];for(var AT=0;AT<AW.length;++AT){var AV;if(AW[AT].data){AV={};for(var AS in AW[AT]){AV[AS]=AW[AT][AS]}}else{AV={data:AW[AT]}}AU.push(AV)}return AU}function y(AS){F.extend(true,l,AS);if(l.xaxis.noTicks&&l.xaxis.ticks==null){l.xaxis.ticks=l.xaxis.noTicks}if(l.yaxis.noTicks&&l.yaxis.ticks==null){l.yaxis.ticks=l.yaxis.noTicks}}function X(){var AX;var Ac=P.length;var AS=[];var AV=[];for(AX=0;AX<P.length;++AX){var Ab=P[AX].color;if(Ab!=null){--Ac;if(typeof Ab=="number"){AV.push(Ab)}else{AS.push(E(P[AX].color))}}}for(AX=0;AX<AV.length;++AX){Ac=Math.max(Ac,AV[AX]+1)}var AT=[];var AW=0;AX=0;while(AT.length<Ac){var Aa;if(l.colors.length==AX){Aa=new G(100,100,100)}else{Aa=E(l.colors[AX])}var AU=AW%2==1?-1:1;var AZ=1+AU*Math.ceil(AW/2)*0.2;Aa.scale(AZ,AZ,AZ);AT.push(Aa);++AX;if(AX>=l.colors.length){AX=0;++AW}}var AY=0,Ad;for(AX=0;AX<P.length;++AX){Ad=P[AX];if(Ad.color==null){Ad.color=AT[AY].toString();++AY}else{if(typeof Ad.color=="number"){Ad.color=AT[Ad.color].toString()}}Ad.lines=F.extend(true,{},l.lines,Ad.lines);Ad.points=F.extend(true,{},l.points,Ad.points);Ad.bars=F.extend(true,{},l.bars,Ad.bars);if(Ad.shadowSize==null){Ad.shadowSize=l.shadowSize}}}function q(){s.datamin=a.datamin=Number.MAX_VALUE;s.datamax=a.datamax=Number.MIN_VALUE;for(var AU=0;AU<P.length;++AU){var AV=P[AU].data;for(var AT=0;AT<AV.length;++AT){if(AV[AT]==null){continue}var AS=AV[AT][0],AW=AV[AT][1];if(AS==null||AW==null||isNaN(AS=+AS)||isNaN(AW=+AW)){AV[AT]=null;continue}if(AS<s.datamin){s.datamin=AS}if(AS>s.datamax){s.datamax=AS}if(AW<a.datamin){a.datamin=AW}if(AW>a.datamax){a.datamax=AW}}}if(s.datamin==Number.MAX_VALUE){s.datamin=0}if(a.datamin==Number.MAX_VALUE){a.datamin=0}if(s.datamax==Number.MIN_VALUE){s.datamax=1}if(a.datamax==Number.MIN_VALUE){a.datamax=1}}function g(){AF=J.width();T=J.height();J.html("");J.css("position","relative");if(AF<=0||T<=0){throw"Invalid dimensions for plot, width = "+AF+", height = "+T}Q=F('<canvas width="'+AF+'" height="'+T+'"></canvas>').appendTo(J).get(0);if(F.browser.msie){Q=window.G_vmlCanvasManager.initElement(Q)}d=Q.getContext("2d");AJ=F('<canvas style="position:absolute;left:0px;top:0px;" width="'+AF+'" height="'+T+'"></canvas>').appendTo(J).get(0);if(F.browser.msie){AJ=window.G_vmlCanvasManager.initElement(AJ)}AQ=AJ.getContext("2d");AK=F([AJ,Q]);if(l.selection.mode!=null){AK.mousedown(AH);AK.each(function(){this.onmousemove=I})}if(l.grid.clickable){AK.click(h)}}function o(){M(s,l.xaxis);K(s,l.xaxis);v(s,l.xaxis);Y();M(a,l.yaxis);K(a,l.yaxis);v(a,l.yaxis);AO();m();AN()}function M(AV,AX){var AU=AX.min!=null?AX.min:AV.datamin;var AS=AX.max!=null?AX.max:AV.datamax;if(AS-AU==0){var AT;if(AS==0){AT=1}else{AT=0.01}AU-=AT;AS+=AT}else{var AW=AX.autoscaleMargin;if(AW!=null){if(AX.min==null){AU-=(AS-AU)*AW;if(AU<0&&AV.datamin>=0){AU=0}}if(AX.max==null){AS+=(AS-AU)*AW;if(AS>0&&AV.datamax<=0){AS=0}}}}AV.min=AU;AV.max=AS}function K(AX,Aa){var AW;if(typeof Aa.ticks=="number"&&Aa.ticks>0){AW=Aa.ticks}else{if(AX==s){AW=AF/100}else{AW=T/60}}var Af=(AX.max-AX.min)/AW;var Ai,Ab,Ad,Ae,AZ,AU,AT;if(Aa.mode=="time"){function Ah(Ap,Aj,Al){var Ak=function(Ar){Ar=""+Ar;return Ar.length==1?"0"+Ar:Ar};var Ao=[];var An=false;if(Al==null){Al=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}for(var Am=0;Am<Aj.length;++Am){var Aq=Aj.charAt(Am);if(An){switch(Aq){case"h":Aq=""+Ap.getHours();break;case"H":Aq=Ak(Ap.getHours());break;case"M":Aq=Ak(Ap.getMinutes());break;case"S":Aq=Ak(Ap.getSeconds());break;case"d":Aq=""+Ap.getDate();break;case"m":Aq=""+(Ap.getMonth()+1);break;case"y":Aq=""+Ap.getFullYear();break;case"b":Aq=""+Al[Ap.getMonth()];break}Ao.push(Aq);An=false}else{if(Aq=="%"){An=true}else{Ao.push(Aq)}}}return Ao.join("")}var Ac={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var Ag=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var AV=0;if(Aa.minTickSize!=null){if(typeof Aa.tickSize=="number"){AV=Aa.tickSize}else{AV=Aa.minTickSize[0]*Ac[Aa.minTickSize[1]]}}for(AZ=0;AZ<Ag.length-1;++AZ){if(Af<(Ag[AZ][0]*Ac[Ag[AZ][1]]+Ag[AZ+1][0]*Ac[Ag[AZ+1][1]])/2&&Ag[AZ][0]*Ac[Ag[AZ][1]]>=AV){break}}Ai=Ag[AZ][0];Ad=Ag[AZ][1];if(Ad=="year"){AU=Math.pow(10,Math.floor(Math.log(Af/Ac.year)/Math.LN10));AT=(Af/Ac.year)/AU;if(AT<1.5){Ai=1}else{if(AT<3){Ai=2}else{if(AT<7.5){Ai=5}else{Ai=10}}}Ai*=AU}if(Aa.tickSize){Ai=Aa.tickSize[0];Ad=Aa.tickSize[1]}Ab=function(Al){var Ap=[],An=Al.tickSize[0],Aq=Al.tickSize[1],Ao=new Date(Al.min);var Ak=An*Ac[Aq];if(Aq=="second"){Ao.setSeconds(C(Ao.getSeconds(),An))}if(Aq=="minute"){Ao.setMinutes(C(Ao.getMinutes(),An))}if(Aq=="hour"){Ao.setHours(C(Ao.getHours(),An))}if(Aq=="month"){Ao.setMonth(C(Ao.getMonth(),An))}if(Aq=="year"){Ao.setFullYear(C(Ao.getFullYear(),An))}Ao.setMilliseconds(0);if(Ak>=Ac.minute){Ao.setSeconds(0)}if(Ak>=Ac.hour){Ao.setMinutes(0)}if(Ak>=Ac.day){Ao.setHours(0)}if(Ak>=Ac.day*4){Ao.setDate(1)}if(Ak>=Ac.year){Ao.setMonth(0)}var As=0,Ar;do{Ar=Ao.getTime();Ap.push({v:Ar,label:Al.tickFormatter(Ar,Al)});if(Aq=="month"){if(An<1){Ao.setDate(1);var Aj=Ao.getTime();Ao.setMonth(Ao.getMonth()+1);var Am=Ao.getTime();Ao.setTime(Ar+As*Ac.hour+(Am-Aj)*An);As=Ao.getHours();Ao.setHours(0)}else{Ao.setMonth(Ao.getMonth()+An)}}else{if(Aq=="year"){Ao.setFullYear(Ao.getFullYear()+An)}else{Ao.setTime(Ar+Ak)}}}while(Ar<Al.max);return Ap};Ae=function(Aj,Am){var An=new Date(Aj);if(Aa.timeformat!=null){return Ah(An,Aa.timeformat,Aa.monthNames)}var Ak=Am.tickSize[0]*Ac[Am.tickSize[1]];var Al=Am.max-Am.min;if(Ak<Ac.minute){fmt="%h:%M:%S"}else{if(Ak<Ac.day){if(Al<2*Ac.day){fmt="%h:%M"}else{fmt="%b %d %h:%M"}}else{if(Ak<Ac.month){fmt="%b %d"}else{if(Ak<Ac.year){if(Al<Ac.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return Ah(An,fmt,Aa.monthNames)}}else{var AS=Aa.tickDecimals;var AY=-Math.floor(Math.log(Af)/Math.LN10);if(AS!=null&&AY>AS){AY=AS}AU=Math.pow(10,-AY);AT=Af/AU;if(AT<1.5){Ai=1}else{if(AT<3){Ai=2;if(AT>2.25&&(AS==null||AY+1<=AS)){Ai=2.5;++AY}}else{if(AT<7.5){Ai=5}else{Ai=10}}}Ai*=AU;if(Aa.minTickSize!=null&&Ai<Aa.minTickSize){Ai=Aa.minTickSize}if(Aa.tickSize!=null){Ai=Aa.tickSize}AX.tickDecimals=Math.max(0,(AS!=null)?AS:AY);Ab=function(Al){var Am=[];var An=C(Al.min,Al.tickSize);var Ak=0,Aj;do{Aj=An+Ak*Al.tickSize;Am.push({v:Aj,label:Al.tickFormatter(Aj,Al)});++Ak}while(Aj<Al.max);return Am};Ae=function(Aj,Ak){return Aj.toFixed(Ak.tickDecimals)}}AX.tickSize=Ad?[Ai,Ad]:Ai;AX.tickGenerator=Ab;if(F.isFunction(Aa.tickFormatter)){AX.tickFormatter=function(Aj,Ak){return""+Aa.tickFormatter(Aj,Ak)}}else{AX.tickFormatter=Ae}}function Y(){if(l.xaxis.max==null){var AT=s.max;for(var AS=0;AS<P.length;++AS){if(P[AS].bars.show&&P[AS].bars.barWidth+s.datamax>AT){AT=s.datamax+P[AS].bars.barWidth}}s.max=AT}}function v(AW,AY){AW.ticks=[];if(AY.ticks==null){AW.ticks=AW.tickGenerator(AW)}else{if(typeof AY.ticks=="number"){if(AY.ticks>0){AW.ticks=AW.tickGenerator(AW)}}else{if(AY.ticks){var AX=AY.ticks;if(F.isFunction(AX)){AX=AX({min:AW.min,max:AW.max})}var AV,AS;for(AV=0;AV<AX.length;++AV){var AT=null;var AU=AX[AV];if(typeof AU=="object"){AS=AU[0];if(AU.length>1){AT=AU[1]}}else{AS=AU}if(AT==null){AT=AW.tickFormatter(AS,AW)}AW.ticks[AV]={v:AS,label:AT}}}}}if(AY.autoscaleMargin!=null&&AW.ticks.length>0){if(AY.min==null){AW.min=Math.min(AW.min,AW.ticks[0].v)}if(AY.max==null&&AW.ticks.length>1){AW.max=Math.min(AW.max,AW.ticks[AW.ticks.length-1].v)}}}function AO(){var AU,AX=[],AT;for(AU=0;AU<a.ticks.length;++AU){AT=a.ticks[AU].label;if(AT){AX.push('<div class="tickLabel">'+AT+"</div>")}}if(AX.length>0){var AS=F('<div style="position:absolute;top:-10000px;font-size:smaller">'+AX.join("")+"</div>").appendTo(J);p=AS.width();AP=AS.find("div").height();AS.remove()}var AW=l.grid.borderWidth;if(l.points.show){AW=Math.max(AW,l.points.radius+l.points.lineWidth/2)}for(AU=0;AU<P.length;++AU){if(P[AU].points.show){AW=Math.max(AW,P[AU].points.radius+P[AU].points.lineWidth/2)}}j.left=j.right=j.top=j.bottom=AW;j.left+=p+l.grid.labelMargin;L=AF-j.left-j.right;AR=L/6;AX=[];for(AU=0;AU<s.ticks.length;++AU){AT=s.ticks[AU].label;if(AT){AX.push('<span class="tickLabel" width="'+AR+'">'+AT+"</span>")}}var AV=0;if(AX.length>0){var AS=F('<div style="position:absolute;top:-10000px;font-size:smaller">'+AX.join("")+"</div>").appendTo(J);AV=AS.height();AS.remove()}j.bottom+=AV+l.grid.labelMargin;AB=T-j.bottom-j.top;AA=L/(s.max-s.min);z=AB/(a.max-a.min)}function AM(){U();for(var AS=0;AS<P.length;AS++){AG(P[AS])}}function AC(AS){return(AS-s.min)*AA}function f(AS){return AB-(AS-a.min)*z}function U(){var AW;d.save();d.clearRect(0,0,AF,T);d.translate(j.left,j.top);if(l.grid.backgroundColor!=null){d.fillStyle=l.grid.backgroundColor;d.fillRect(0,0,L,AB)}if(l.grid.coloredAreas){var AU=l.grid.coloredAreas;if(F.isFunction(AU)){AU=AU({xmin:s.min,xmax:s.max,ymin:a.min,ymax:a.max})}for(AW=0;AW<AU.length;++AW){var AS=AU[AW];if(AS.x1==null||AS.x1<s.min){AS.x1=s.min}if(AS.x2==null||AS.x2>s.max){AS.x2=s.max}if(AS.y1==null||AS.y1<a.min){AS.y1=a.min}if(AS.y2==null||AS.y2>a.max){AS.y2=a.max}var AV;if(AS.x1>AS.x2){AV=AS.x1;AS.x1=AS.x2;AS.x2=AV}if(AS.y1>AS.y2){AV=AS.y1;AS.y1=AS.y2;AS.y2=AV}if(AS.x1>=s.max||AS.x2<=s.min||AS.x1==AS.x2||AS.y1>=a.max||AS.y2<=a.min||AS.y1==AS.y2){continue}d.fillStyle=AS.color||l.grid.coloredAreasColor;d.fillRect(Math.floor(AC(AS.x1)),Math.floor(f(AS.y2)),Math.floor(AC(AS.x2)-AC(AS.x1)),Math.floor(f(AS.y1)-f(AS.y2)))}}d.lineWidth=1;d.strokeStyle=l.grid.tickColor;d.beginPath();var AT;for(AW=0;AW<s.ticks.length;++AW){AT=s.ticks[AW].v;if(AT<=s.min||AT>=s.max){continue}d.moveTo(Math.floor(AC(AT))+d.lineWidth/2,0);d.lineTo(Math.floor(AC(AT))+d.lineWidth/2,AB)}for(AW=0;AW<a.ticks.length;++AW){AT=a.ticks[AW].v;if(AT<=a.min||AT>=a.max){continue}d.moveTo(0,Math.floor(f(AT))+d.lineWidth/2);d.lineTo(L,Math.floor(f(AT))+d.lineWidth/2)}d.stroke();if(l.grid.borderWidth){d.lineWidth=l.grid.borderWidth;d.strokeStyle=l.grid.color;d.lineJoin="round";d.strokeRect(0,0,L,AB);d.restore()}}function m(){J.find(".tickLabels").remove();var AU,AT;var AS='<div class="tickLabels" style="font-size:smaller;color:'+l.grid.color+'">';for(AU=0;AU<s.ticks.length;++AU){AT=s.ticks[AU];if(!AT.label||AT.v<s.min||AT.v>s.max){continue}AS+='<div style="position:absolute;top:'+(j.top+AB+l.grid.labelMargin)+"px;left:"+(j.left+AC(AT.v)-AR/2)+"px;width:"+AR+'px;text-align:center" class="tickLabel">'+AT.label+"</div>"}for(AU=0;AU<a.ticks.length;++AU){AT=a.ticks[AU];if(!AT.label||AT.v<a.min||AT.v>a.max){continue}AS+='<div style="position:absolute;top:'+(j.top+f(AT.v)-AP/2)+"px;left:0;width:"+p+'px;text-align:right" class="tickLabel">'+AT.label+"</div>"}AS+="</div>";J.append(AS)}function AG(AS){if(AS.lines.show||(!AS.bars.show&&!AS.points.show)){e(AS)}if(AS.bars.show){t(AS)}if(AS.points.show){u(AS)}}function e(AU){function AT(Ac,Ab){var Aa,Ag=null,AX=null,Ah=null;d.beginPath();for(var Ad=0;Ad<Ac.length;++Ad){Aa=Ag;Ag=Ac[Ad];if(Aa==null||Ag==null){continue}var AZ=Aa[0],Af=Aa[1],AY=Ag[0],Ae=Ag[1];if(Af<=Ae&&Af<a.min){if(Ae<a.min){continue}AZ=(a.min-Af)/(Ae-Af)*(AY-AZ)+AZ;Af=a.min}else{if(Ae<=Af&&Ae<a.min){if(Af<a.min){continue}AY=(a.min-Af)/(Ae-Af)*(AY-AZ)+AZ;Ae=a.min}}if(Af>=Ae&&Af>a.max){if(Ae>a.max){continue}AZ=(a.max-Af)/(Ae-Af)*(AY-AZ)+AZ;Af=a.max}else{if(Ae>=Af&&Ae>a.max){if(Af>a.max){continue}AY=(a.max-Af)/(Ae-Af)*(AY-AZ)+AZ;Ae=a.max}}if(AZ<=AY&&AZ<s.min){if(AY<s.min){continue}Af=(s.min-AZ)/(AY-AZ)*(Ae-Af)+Af;AZ=s.min}else{if(AY<=AZ&&AY<s.min){if(AZ<s.min){continue}Ae=(s.min-AZ)/(AY-AZ)*(Ae-Af)+Af;AY=s.min}}if(AZ>=AY&&AZ>s.max){if(AY>s.max){continue}Af=(s.max-AZ)/(AY-AZ)*(Ae-Af)+Af;AZ=s.max}else{if(AY>=AZ&&AY>s.max){if(AZ>s.max){continue}Ae=(s.max-AZ)/(AY-AZ)*(Ae-Af)+Af;AY=s.max}}if(AX!=AC(AZ)||Ah!=f(Af)+Ab){d.moveTo(AC(AZ),f(Af)+Ab)}AX=AC(AY);Ah=f(Ae)+Ab;d.lineTo(AX,Ah)}d.stroke()}function AV(Ac){var Ab,Aj=null;var AX=Math.min(Math.max(0,a.min),a.max);var Ag,Aa=0;var Ai=false;for(var Ad=0;Ad<Ac.length;++Ad){Ab=Aj;Aj=Ac[Ad];if(Ai&&Ab!=null&&Aj==null){d.lineTo(AC(Aa),f(AX));d.fill();Ai=false;continue}if(Ab==null||Aj==null){continue}var AZ=Ab[0],Ah=Ab[1],AY=Aj[0],Af=Aj[1];if(AZ<=AY&&AZ<s.min){if(AY<s.min){continue}Ah=(s.min-AZ)/(AY-AZ)*(Af-Ah)+Ah;AZ=s.min}else{if(AY<=AZ&&AY<s.min){if(AZ<s.min){continue}Af=(s.min-AZ)/(AY-AZ)*(Af-Ah)+Ah;AY=s.min}}if(AZ>=AY&&AZ>s.max){if(AY>s.max){continue}Ah=(s.max-AZ)/(AY-AZ)*(Af-Ah)+Ah;AZ=s.max}else{if(AY>=AZ&&AY>s.max){if(AZ>s.max){continue}Af=(s.max-AZ)/(AY-AZ)*(Af-Ah)+Ah;AY=s.max}}if(!Ai){d.beginPath();d.moveTo(AC(AZ),f(AX));Ai=true}if(Ah>=a.max&&Af>=a.max){d.lineTo(AC(AZ),f(a.max));d.lineTo(AC(AY),f(a.max));continue}else{if(Ah<=a.min&&Af<=a.min){d.lineTo(AC(AZ),f(a.min));d.lineTo(AC(AY),f(a.min));continue}}var Ak=AZ,Ae=AY;if(Ah<=Af&&Ah<a.min&&Af>=a.min){AZ=(a.min-Ah)/(Af-Ah)*(AY-AZ)+AZ;Ah=a.min}else{if(Af<=Ah&&Af<a.min&&Ah>=a.min){AY=(a.min-Ah)/(Af-Ah)*(AY-AZ)+AZ;Af=a.min}}if(Ah>=Af&&Ah>a.max&&Af<=a.max){AZ=(a.max-Ah)/(Af-Ah)*(AY-AZ)+AZ;Ah=a.max}else{if(Af>=Ah&&Af>a.max&&Ah<=a.max){AY=(a.max-Ah)/(Af-Ah)*(AY-AZ)+AZ;Af=a.max}}if(AZ!=Ak){if(Ah<=a.min){Ag=a.min}else{Ag=a.max}d.lineTo(AC(Ak),f(Ag));d.lineTo(AC(AZ),f(Ag))}d.lineTo(AC(AZ),f(Ah));d.lineTo(AC(AY),f(Af));if(AY!=Ae){if(Af<=a.min){Ag=a.min}else{Ag=a.max}d.lineTo(AC(Ae),f(Ag));d.lineTo(AC(AY),f(Ag))}Aa=Math.max(AY,Ae)}if(Ai){d.lineTo(AC(Aa),f(AX));d.fill()}}d.save();d.translate(j.left,j.top);d.lineJoin="round";var AW=AU.lines.lineWidth;var AS=AU.shadowSize;if(AS>0){d.lineWidth=AS/2;d.strokeStyle="rgba(0,0,0,0.1)";AT(AU.data,AW/2+AS/2+d.lineWidth/2);d.lineWidth=AS/2;d.strokeStyle="rgba(0,0,0,0.2)";AT(AU.data,AW/2+d.lineWidth/2)}d.lineWidth=AW;d.strokeStyle=AU.color;if(AU.lines.fill){d.fillStyle=AU.lines.fillColor!=null?AU.lines.fillColor:E(AU.color).scale(null,null,null,0.4).toString();AV(AU.data,0)}AT(AU.data,0);d.restore()}function u(AT){function AW(Aa,AY,Ab){for(var AZ=0;AZ<Aa.length;++AZ){if(Aa[AZ]==null){continue}var AX=Aa[AZ][0],Ac=Aa[AZ][1];if(AX<s.min||AX>s.max||Ac<a.min||Ac>a.max){continue}d.beginPath();d.arc(AC(AX),f(Ac),AY,0,2*Math.PI,true);if(Ab){d.fill()}d.stroke()}}function AV(Aa,Ab,AY){for(var AZ=0;AZ<Aa.length;++AZ){if(Aa[AZ]==null){continue}var AX=Aa[AZ][0],Ac=Aa[AZ][1];if(AX<s.min||AX>s.max||Ac<a.min||Ac>a.max){continue}d.beginPath();d.arc(AC(AX),f(Ac)+Ab,AY,0,Math.PI,false);d.stroke()}}d.save();d.translate(j.left,j.top);var AU=AT.lines.lineWidth;var AS=AT.shadowSize;if(AS>0){d.lineWidth=AS/2;d.strokeStyle="rgba(0,0,0,0.1)";AV(AT.data,AS/2+d.lineWidth/2,AT.points.radius);d.lineWidth=AS/2;d.strokeStyle="rgba(0,0,0,0.2)";AV(AT.data,d.lineWidth/2,AT.points.radius)}d.lineWidth=AT.points.lineWidth;d.strokeStyle=AT.color;d.fillStyle=AT.points.fillColor!=null?AT.points.fillColor:AT.color;AW(AT.data,AT.points.radius,AT.points.fill);d.restore()}function t(AT){function AS(Aa,Aj,AY,Ai){for(var Ab=0;Ab<Aa.length;Ab++){if(Aa[Ab]==null){continue}var Af=Aa[Ab][0],Ae=Aa[Ab][1];var Ah=true,AZ=true,Ac=true;var AX=Af,Ag=Af+Aj,AW=0,Ad=Ae;if(Ag<s.min||AX>s.max||Ad<a.min||AW>a.max){continue}if(AX<s.min){AX=s.min;Ah=false}if(Ag>s.max){Ag=s.max;Ac=false}if(AW<a.min){AW=a.min}if(Ad>a.max){Ad=a.max;AZ=false}if(Ai){d.beginPath();d.moveTo(AC(AX),f(AW)+AY);d.lineTo(AC(AX),f(Ad)+AY);d.lineTo(AC(Ag),f(Ad)+AY);d.lineTo(AC(Ag),f(AW)+AY);d.fill()}if(Ah||Ac||AZ){d.beginPath();d.moveTo(AC(AX),f(AW)+AY);if(Ah){d.lineTo(AC(AX),f(Ad)+AY)}else{d.moveTo(AC(AX),f(Ad)+AY)}if(AZ){d.lineTo(AC(Ag),f(Ad)+AY)}else{d.moveTo(AC(Ag),f(Ad)+AY)}if(Ac){d.lineTo(AC(Ag),f(AW)+AY)}else{d.moveTo(AC(Ag),f(AW)+AY)}d.stroke()}}}d.save();d.translate(j.left,j.top);d.lineJoin="round";var AV=AT.bars.barWidth;var AU=Math.min(AT.bars.lineWidth,AV);d.lineWidth=AU;d.strokeStyle=AT.color;if(AT.bars.fill){d.fillStyle=AT.bars.fillColor!=null?AT.bars.fillColor:E(AT.color).scale(null,null,null,0.4).toString()}AS(AT.data,AV,0,AT.bars.fill);d.restore()}function AN(){J.find(".legend").remove();if(!l.legend.show){return }var AY=[];var AW=false;for(i=0;i<P.length;++i){if(!P[i].label){continue}if(i%l.legend.noColumns==0){if(AW){AY.push("</tr>")}AY.push("<tr>");AW=true}var Aa=P[i].label;if(l.legend.labelFormatter!=null){Aa=l.legend.labelFormatter(Aa)}AY.push('<td class="legendColorBox"><div style="border:1px solid '+l.legend.labelBoxBorderColor+';padding:1px"><div style="width:14px;height:10px;background-color:'+P[i].color+';overflow:hidden"></div></div></td><td class="legendLabel">'+Aa+"</td>")}if(AW){AY.push("</tr>")}if(AY.length>0){var Ac='<table style="font-size:smaller;color:'+l.grid.color+'">'+AY.join("")+"</table>";if(l.legend.container!=null){l.legend.container.append(Ac)}else{var AZ="";var AT=l.legend.position,AU=l.legend.margin;if(AT.charAt(0)=="n"){AZ+="top:"+(AU+j.top)+"px;"}else{if(AT.charAt(0)=="s"){AZ+="bottom:"+(AU+j.bottom)+"px;"}}if(AT.charAt(1)=="e"){AZ+="right:"+(AU+j.right)+"px;"}else{if(AT.charAt(1)=="w"){AZ+="left:"+(AU+j.bottom)+"px;"}}var Ab=F('<div class="legend">'+Ac.replace('style="','style="position:absolute;'+AZ+";")+"</div>").appendTo(J);if(l.legend.backgroundOpacity!=0){var AX=l.legend.backgroundColor;if(AX==null){var AV;if(l.grid.backgroundColor!=null){AV=l.grid.backgroundColor}else{AV=A(Ab)}AX=E(AV).adjust(null,null,null,1).toString()}var AS=Ab.children();F('<div style="position:absolute;width:'+AS.width()+"px;height:"+AS.height()+"px;"+AZ+"background-color:"+AX+';"> </div>').prependTo(Ab).css("opacity",l.legend.backgroundOpacity)}}}}var AE={pageX:null,pageY:null};var Z={first:{x:-1,y:-1},second:{x:-1,y:-1}};var R=null;var w=null;var r=false;function I(AT){var AU=AT||window.event;if(AU.pageX==null&&AU.clientX!=null){var AV=document.documentElement,AS=document.body;AE.pageX=AU.clientX+(AV&&AV.scrollLeft||AS.scrollLeft||0);AE.pageY=AU.clientY+(AV&&AV.scrollTop||AS.scrollTop||0)}else{AE.pageX=AU.pageX;AE.pageY=AU.pageY}}function AH(AS){if(AS.which!=1){return }document.body.focus();if(document.onselectstart!==undefined&&N.onselectstart==null){N.onselectstart=document.onselectstart;document.onselectstart=function(){return false}}if(document.ondrag!==undefined&&N.ondrag==null){N.ondrag=document.ondrag;document.ondrag=function(){return false}}AL(Z.first,AS);if(w!=null){clearInterval(w)}AE.pageX=null;w=setInterval(x,200);F(document).one("mouseup",S)}function h(AS){if(r){r=false;return }var AT=AK.offset();var AU={};AU.x=AS.pageX-AT.left-j.left;AU.x=s.min+AU.x/AA;AU.y=AS.pageY-AT.top-j.top;AU.y=a.max-AU.y/z;J.trigger("plotclick",[AU])}function n(){var AT,AS,AV,AU;if(Z.first.x<=Z.second.x){AT=Z.first.x;AS=Z.second.x}else{AT=Z.second.x;AS=Z.first.x}if(Z.first.y>=Z.second.y){AV=Z.first.y;AU=Z.second.y}else{AV=Z.second.y;AU=Z.first.y}AT=s.min+AT/AA;AS=s.min+AS/AA;AV=a.max-AV/z;AU=a.max-AU/z;J.trigger("selected",[{x1:AT,y1:AV,x2:AS,y2:AU}])}function S(AS){if(document.onselectstart!==undefined){document.onselectstart=N.onselectstart}if(document.ondrag!==undefined){document.ondrag=N.ondrag}if(w!=null){clearInterval(w);w=null}AL(Z.second,AS);H();if(!V()||AS.which!=1){return false}W();n();r=true;return false}function AL(AU,AS){var AT=F(AJ).offset();if(l.selection.mode=="y"){if(AU==Z.first){AU.x=0}else{AU.x=L}}else{AU.x=AS.pageX-AT.left-j.left;AU.x=Math.min(Math.max(0,AU.x),L)}if(l.selection.mode=="x"){if(AU==Z.first){AU.y=0}else{AU.y=AB}}else{AU.y=AS.pageY-AT.top-j.top;AU.y=Math.min(Math.max(0,AU.y),AB)}}function x(){if(AE.pageX==null){return }AL(Z.second,AE);H();if(V()){W()}}function H(){if(R==null){return }var AS=Math.min(R.first.x,R.second.x),AV=Math.min(R.first.y,R.second.y),AT=Math.abs(R.second.x-R.first.x),AU=Math.abs(R.second.y-R.first.y);AQ.clearRect(AS+j.left-AQ.lineWidth,AV+j.top-AQ.lineWidth,AT+AQ.lineWidth*2,AU+AQ.lineWidth*2);R=null}function AD(AS){H();if(l.selection.mode=="x"){Z.first.y=0;Z.second.y=AB}else{Z.first.y=(a.max-AS.y1)*z;Z.second.y=(a.max-AS.y2)*z}if(l.selection.mode=="y"){Z.first.x=0;Z.second.x=L}else{Z.first.x=(AS.x1-s.min)*AA;Z.second.x=(AS.x2-s.min)*AA}W();n()}function W(){if(R!=null&&Z.first.x==R.first.x&&Z.first.y==R.first.y&&Z.second.x==R.second.x&&Z.second.y==R.second.y){return }AQ.strokeStyle=E(l.selection.color).scale(null,null,null,0.8).toString();AQ.lineWidth=1;d.lineJoin="round";AQ.fillStyle=E(l.selection.color).scale(null,null,null,0.4).toString();R={first:{x:Z.first.x,y:Z.first.y},second:{x:Z.second.x,y:Z.second.y}};var AS=Math.min(Z.first.x,Z.second.x),AV=Math.min(Z.first.y,Z.second.y),AT=Math.abs(Z.second.x-Z.first.x),AU=Math.abs(Z.second.y-Z.first.y);AQ.fillRect(AS+j.left,AV+j.top,AT,AU);AQ.strokeRect(AS+j.left,AV+j.top,AT,AU)}function V(){var AS=5;return Math.abs(Z.second.x-Z.first.x)>=AS&&Math.abs(Z.second.y-Z.first.y)>=AS}}F.plot=function(K,I,H){var J=new D(K,I,H);return J};function C(I,H){return H*Math.floor(I/H)}function G(N,M,I,K){var L=["r","g","b","a"];var H=4;while(-1<--H){this[L[H]]=arguments[H]||((H==3)?1:0)}this.toString=function(){if(this.a>=1){return"rgb("+[this.r,this.g,this.b].join(",")+")"}else{return"rgba("+[this.r,this.g,this.b,this.a].join(",")+")"}};this.scale=function(Q,P,R,O){H=4;while(-1<--H){if(arguments[H]!=null){this[L[H]]*=arguments[H]}}return this.normalize()};this.adjust=function(Q,P,R,O){H=4;while(-1<--H){if(arguments[H]!=null){this[L[H]]+=arguments[H]}}return this.normalize()};this.clone=function(){return new G(this.r,this.b,this.g,this.a)};var J=function(P,O,Q){return Math.max(Math.min(P,Q),O)};this.normalize=function(){this.r=J(parseInt(this.r),0,255);this.g=J(parseInt(this.g),0,255);this.b=J(parseInt(this.b),0,255);this.a=J(this.a,0,1);return this};this.normalize()}var B={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]};function A(I){var H,J=I;do{H=J.css("background-color").toLowerCase();if(H!=""&&H!="transparent"){break}J=J.parent()}while(!F.nodeName(J.get(0),"body"));if(H=="rgba(0, 0, 0, 0)"){return"transparent"}return H}function E(J){var H;if(H=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(J)){return new G(parseInt(H[1],10),parseInt(H[2],10),parseInt(H[3],10))}if(H=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(J)){return new G(parseInt(H[1],10),parseInt(H[2],10),parseInt(H[3],10),parseFloat(H[4]))}if(H=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(J)){return new G(parseFloat(H[1])*2.55,parseFloat(H[2])*2.55,parseFloat(H[3])*2.55)}if(H=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(J)){return new G(parseFloat(H[1])*2.55,parseFloat(H[2])*2.55,parseFloat(H[3])*2.55,parseFloat(H[4]))}if(H=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(J)){return new G(parseInt(H[1],16),parseInt(H[2],16),parseInt(H[3],16))}if(H=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(J)){return new G(parseInt(H[1]+H[1],16),parseInt(H[2]+H[2],16),parseInt(H[3]+H[3],16))}var I=F.trim(J).toLowerCase();if(I=="transparent"){return new G(255,255,255,0)}else{H=B[I];return new G(H[0],H[1],H[2])}}})(jQuery);
