function RGBColorParser(n){var u,f,i,t,r;this.ok=!1;"#"==n.charAt(0)&&(n=n.substr(1,6));n=n.replace(/ /g,"");n=n.toLowerCase();u={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(f in u)n==f&&(n=u[f]);for(i=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(n){return[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}}],t=0;t<i.length;t++){var o=i[t].re,s=i[t].process,e=o.exec(n);e&&(r=s(e),this.r=r[0],this.g=r[1],this.b=r[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r;this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g;this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b;this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var n=this.r.toString(16),t=this.g.toString(16),i=this.b.toString(16);return 1==n.length&&(n="0"+n),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),"#"+n+t+i}}function printStackTrace(n){n=n||{guess:!0};var r=n.e||null,u=!!n.guess,t=new printStackTrace.implementation,i=t.run(r);return u?t.guessAnonymousFunctions(i):i}var DygraphOptions,DygraphLayout,DygraphCanvasRenderer,Dygraph,DateGraph;!function(n,t){"object"==typeof exports?module.exports=t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(n.jQuery)}(this,function(n){var t=function(n,t){var f,r=document.createElement("canvas"),i,u,e;n.appendChild(r);"undefined"!=typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(r);i=r.getContext("2d");r.width=r.height=t.size;u=1;window.devicePixelRatio>1&&(u=window.devicePixelRatio,r.style.width=r.style.height=[t.size,"px"].join(""),r.width=r.height=t.size*u,i.scale(u,u));i.translate(t.size/2,t.size/2);i.rotate((-.5+t.rotate/180)*Math.PI);e=(t.size-t.lineWidth)/2;t.scaleColor&&t.scaleLength&&(e-=t.scaleLength+2);Date.now=Date.now||function(){return+new Date};var o=function(n,t,r){r=Math.min(Math.max(-1,r||0),1);var u=0>=r?!0:!1;i.beginPath();i.arc(0,0,e,0,2*Math.PI*r,u);i.strokeStyle=n;i.lineWidth=t;i.stroke()},c=function(){var u,n,r;for(i.lineWidth=1,i.fillStyle=t.scaleColor,i.save(),r=24;r>0;--r)r%6==0?(n=t.scaleLength,u=0):(n=.6*t.scaleLength,u=t.scaleLength-n),i.fillRect(-t.size/2+u,0,n,1),i.rotate(Math.PI/12);i.restore()},s=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(n){window.setTimeout(n,1e3/60)}}(),h=function(){t.scaleColor&&c();t.trackColor&&o(t.trackColor,t.trackWidth||t.lineWidth,1)};this.getCanvas=function(){return r};this.getCtx=function(){return i};this.clear=function(){i.clearRect(t.size/-2,t.size/-2,t.size,t.size)};this.draw=function(n){t.scaleColor||t.trackColor?i.getImageData&&i.putImageData?f?i.putImageData(f,0,0):(h(),f=i.getImageData(0,0,t.size*u,t.size*u)):(this.clear(),h()):this.clear();i.lineCap=t.lineCap;var r;r="function"==typeof t.barColor?t.barColor(n):t.barColor;o(r,t.lineWidth,n/100)}.bind(this);this.animate=function(n,i){var u=Date.now(),r;t.onStart(n,i);r=function(){var f=Math.min(Date.now()-u,t.animate.duration),e=t.easing(this,f,n,i-n,t.animate.duration);this.draw(e);t.onStep(n,i,e);f>=t.animate.duration?t.onStop(n,i):s(r)}.bind(this);s(r)}.bind(this)},i=function(n,i){var u={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(n,t,i,r,u){return t/=u/2,1>t?r/2*t*t+i:-r/2*(--t*(t-2)-1)+i},onStart:function(){},onStep:function(){},onStop:function(){}};if("undefined"!=typeof t)u.renderer=t;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");u.renderer=SVGRenderer}var r={},f=0,e=function(){this.el=n;this.options=r;for(var t in u)u.hasOwnProperty(t)&&(r[t]=i&&"undefined"!=typeof i[t]?i[t]:u[t],"function"==typeof r[t]&&(r[t]=r[t].bind(this)));r.easing="string"==typeof r.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[r.easing])?jQuery.easing[r.easing]:u.easing;"number"==typeof r.animate&&(r.animate={duration:r.animate,enabled:!0});"boolean"!=typeof r.animate||r.animate||(r.animate={duration:1e3,enabled:r.animate});this.renderer=new r.renderer(n,r);this.renderer.draw(f);n.dataset&&n.dataset.percent?this.update(parseFloat(n.dataset.percent)):n.getAttribute&&n.getAttribute("data-percent")&&this.update(parseFloat(n.getAttribute("data-percent")))}.bind(this);this.update=function(n){return n=parseFloat(n),r.animate.enabled?this.renderer.animate(f,n):this.renderer.draw(n),f=n,this}.bind(this);this.disableAnimation=function(){return r.animate.enabled=!1,this};this.enableAnimation=function(){return r.animate.enabled=!0,this};e()};n.fn.easyPieChart=function(t){return this.each(function(){var r;n.data(this,"easyPieChart")||(r=n.extend({},t,n(this).data()),n.data(this,"easyPieChart",new i(this,r)))})}});$.blue="#2e7bcc";$.green="#3FB618";$.red="#FF0039";$.yellow="#FFA500";$.orange="#FF7518";$.pink="#E671B8";$.purple="#9954BB";$.black="#333333",function(n,t,i){!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):jQuery&&!jQuery.fn.sparkline&&n(jQuery)}(function(r){"use strict";var tt,u,e,s,c,o,v,it,rt,y,pt,ut,ft,et,h,ot,st,l,p,ht,ct,lt,w,b,k,at,vt,yt,d,g,nt,f,a={},wt=0;tt=function(){return{common:{type:"line",lineColor:"#00f",fillColor:"#cdf",defaultPixelsPerValue:3,width:"auto",height:"auto",composite:!1,tagValuesAttribute:"values",tagOptionsPrefix:"spark",enableTagOptions:!1,enableHighlight:!0,highlightLighten:1.4,tooltipSkipNull:!0,tooltipPrefix:"",tooltipSuffix:"",disableHiddenCheck:!1,numberFormatter:!1,numberDigitGroupCount:3,numberDigitGroupSep:",",numberDecimalMark:".",disableTooltips:!1,disableInteraction:!1},line:{spotColor:"#f80",highlightSpotColor:"#5f5",highlightLineColor:"#f22",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",lineWidth:1,normalRangeMin:i,normalRangeMax:i,normalRangeColor:"#ccc",drawNormalOnTop:!1,chartRangeMin:i,chartRangeMax:i,chartRangeMinX:i,chartRangeMaxX:i,tooltipFormat:new e('<span style="color: {{color}}">&#9679;<\/span> {{prefix}}{{y}}{{suffix}}')},bar:{barColor:r.blue,negBarColor:"#f44",stackedBarColor:[r.blue,r.red,r.yellow,r.green,"#66aa00",r.pink,"#0099c6",r.purple],zeroColor:i,nullColor:i,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMax:i,chartRangeMin:i,chartRangeClip:!1,colorMap:i,tooltipFormat:new e('<span style="color: {{color}}">&#9679;<\/span> {{prefix}}{{value}}{{suffix}}')},tristate:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{},tooltipFormat:new e('<span style="color: {{color}}">&#9679;<\/span> {{value:map}}'),tooltipValueLookups:{map:{"-1":"Loss","0":"Draw","1":"Win"}}},discrete:{lineHeight:"auto",thresholdColor:i,thresholdValue:0,chartRangeMax:i,chartRangeMin:i,chartRangeClip:!1,tooltipFormat:new e("{{prefix}}{{value}}{{suffix}}")},bullet:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:i,tooltipFormat:new e("{{fieldkey:fields}} - {{value}}"),tooltipValueLookups:{fields:{r:"Range",p:"Performance",t:"Target"}}},pie:{offset:0,sliceColors:[r.blue,r.red,r.yellow,r.green,"#66aa00",r.pink,"#0099c6",r.purple],borderWidth:0,borderColor:"#000",tooltipFormat:new e('<span style="color: {{color}}">&#9679;<\/span> {{value}} ({{percent.1}}%)')},box:{raw:!1,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:i,targetColor:"#4a2",chartRangeMax:i,chartRangeMin:i,tooltipFormat:new e("{{field:fields}}: {{value}}"),tooltipFormatFieldlistKey:"field",tooltipValueLookups:{fields:{lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"}}}}};at='.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}';u=function(){var n,t;return n=function(){this.init.apply(this,arguments)},arguments.length>1?(arguments[0]?(n.prototype=r.extend(new arguments[0],arguments[arguments.length-1]),n._super=arguments[0].prototype):n.prototype=arguments[arguments.length-1],arguments.length>2&&(t=Array.prototype.slice.call(arguments,1,-1),t.unshift(n.prototype),r.extend.apply(r,t))):n.prototype=arguments[0],n.prototype.cls=n,n};r.SPFormatClass=e=u({fre:/\{\{([\w.]+?)(:(.+?))?\}\}/g,precre:/(\w+)\.(\d+)/,init:function(n,t){this.format=n;this.fclass=t},render:function(n,t,r){var e,o,f,u,s,h=this,c=n;return this.format.replace(this.fre,function(){var n;return o=arguments[1],f=arguments[3],e=h.precre.exec(o),e?(s=e[2],o=e[1]):s=!1,u=c[o],u===i?"":f&&t&&t[f]?(n=t[f],n.get?t[f].get(u)||u:t[f][u]||u):(rt(u)&&(u=r.get("numberFormatter")?r.get("numberFormatter")(u):et(u,s,r.get("numberDigitGroupCount"),r.get("numberDigitGroupSep"),r.get("numberDecimalMark"))),u)})}});r.spformat=function(n,t){return new e(n,t)};s=function(n,t,i){return t>n?t:n>i?i:n};c=function(n,i){var r;return 2===i?(r=t.floor(n.length/2),n.length%2?n[r]:(n[r-1]+n[r])/2):n.length%2?(r=(n.length*i+i)/4,r%1?(n[t.floor(r)]+n[t.floor(r)-1])/2:n[r-1]):(r=(n.length*i+2)/4,r%1?(n[t.floor(r)]+n[t.floor(r)-1])/2:n[r-1])};o=function(n){var t;switch(n){case"undefined":n=i;break;case"null":n=null;break;case"true":n=!0;break;case"false":n=!1;break;default:t=parseFloat(n);n==t&&(n=t)}return n};v=function(n){for(var i=[],t=n.length;t--;)i[t]=o(n[t]);return i};it=function(n,t){for(var u=[],i=0,r=n.length;r>i;i++)n[i]!==t&&u.push(n[i]);return u};rt=function(n){return!isNaN(parseFloat(n))&&isFinite(n)};et=function(n,t,i,u,f){var e,o;for(n=(t===!1?parseFloat(n).toString():n.toFixed(t)).split(""),e=(e=r.inArray(".",n))<0?n.length:e,e<n.length&&(n[e]=f),o=e-i;o>0;o-=i)n.splice(o,0,u);return n.join("")};y=function(n,t,i){for(var r=t.length;r--;)if((!i||null!==t[r])&&t[r]!==n)return!1;return!0};pt=function(n){for(var i=0,t=n.length;t--;)i+="number"==typeof n[t]?n[t]:0;return i};ft=function(n){return r.isArray(n)?n:[n]};ut=function(t){var i;n.createStyleSheet?n.createStyleSheet().cssText=t:(i=n.createElement("style"),i.type="text/css",n.getElementsByTagName("head")[0].appendChild(i),i["string"==typeof n.body.style.WebkitAppearance?"innerText":"innerHTML"]=t)};r.fn.simpledraw=function(t,u,f,e){var o,s,h;if(f&&(o=this.data("_jqs_vcanvas")))return o;if(r.fn.sparkline.canvas===!1)return!1;if(r.fn.sparkline.canvas===i)if(h=n.createElement("canvas"),h.getContext&&h.getContext("2d"))r.fn.sparkline.canvas=function(n,t,i,r){return new g(n,t,i,r)};else{if(!n.namespaces||n.namespaces.v)return r.fn.sparkline.canvas=!1,!1;n.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML");r.fn.sparkline.canvas=function(n,t,i){return new nt(n,t,i)}}return t===i&&(t=r(this).innerWidth()),u===i&&(u=r(this).innerHeight()),o=r.fn.sparkline.canvas(t,u,this,e),s=r(this).data("_jqs_mhandler"),s&&s.registerCanvas(o),o};r.fn.cleardraw=function(){var n=this.data("_jqs_vcanvas");n&&n.reset()};r.RangeMapClass=h=u({init:function(n){var i,t,r=[];for(i in n)n.hasOwnProperty(i)&&"string"==typeof i&&i.indexOf(":")>-1&&(t=i.split(":"),t[0]=0===t[0].length?-(1/0):parseFloat(t[0]),t[1]=0===t[1].length?1/0:parseFloat(t[1]),t[2]=n[i],r.push(t));this.map=n;this.rangelist=r||!1},get:function(n){var r,t,f,u=this.rangelist;if((f=this.map[n])!==i)return f;if(u)for(r=u.length;r--;)if(t=u[r],t[0]<=n&&t[1]>=n)return t[2];return i}});r.range_map=function(n){return new h(n)};ot=u({init:function(n,t){var i=r(n);this.$el=i;this.options=t;this.currentPageX=0;this.currentPageY=0;this.el=n;this.splist=[];this.tooltip=null;this.over=!1;this.displayTooltips=!t.get("disableTooltips");this.highlightEnabled=!t.get("disableHighlight")},registerSparkline:function(n){this.splist.push(n);this.over&&this.updateDisplay()},registerCanvas:function(n){var t=r(n.canvas);this.canvas=n;this.$canvas=t;t.mouseenter(r.proxy(this.mouseenter,this));t.mouseleave(r.proxy(this.mouseleave,this));t.click(r.proxy(this.mouseclick,this))},reset:function(n){this.splist=[];this.tooltip&&n&&(this.tooltip.remove(),this.tooltip=i)},mouseclick:function(n){var t=r.Event("sparklineClick");t.originalEvent=n;t.sparklines=this.splist;this.$el.trigger(t)},mouseenter:function(t){r(n.body).unbind("mousemove.jqs");r(n.body).bind("mousemove.jqs",r.proxy(this.mousemove,this));this.over=!0;this.currentPageX=t.pageX;this.currentPageY=t.pageY;this.currentEl=t.target;!this.tooltip&&this.displayTooltips&&(this.tooltip=new st(this.options),this.tooltip.updatePosition(t.pageX,t.pageY));this.updateDisplay()},mouseleave:function(){r(n.body).unbind("mousemove.jqs");var i,t,u=this.splist,e=u.length,f=!1;for(this.over=!1,this.currentEl=null,this.tooltip&&(this.tooltip.remove(),this.tooltip=null),t=0;e>t;t++)i=u[t],i.clearRegionHighlight()&&(f=!0);f&&this.canvas.render()},mousemove:function(n){this.currentPageX=n.pageX;this.currentPageY=n.pageY;this.currentEl=n.target;this.tooltip&&this.tooltip.updatePosition(n.pageX,n.pageY);this.updateDisplay()},updateDisplay:function(){var i,t,n,u,f,e=this.splist,o=e.length,s=!1,h=this.$canvas.offset(),c=this.currentPageX-h.left,l=this.currentPageY-h.top;if(this.over){for(n=0;o>n;n++)t=e[n],u=t.setRegionHighlight(this.currentEl,c,l),u&&(s=!0);if(s){if(f=r.Event("sparklineRegionChange"),f.sparklines=this.splist,this.$el.trigger(f),this.tooltip){for(i="",n=0;o>n;n++)t=e[n],i+=t.getCurrentRegionTooltip();this.tooltip.setContent(i)}this.disableHighlight||this.canvas.render()}null===u&&this.mouseleave()}}});st=u({sizeStyle:"position: static !important;display: block !important;visibility: hidden !important;float: left !important;",init:function(t){var i,u=t.get("tooltipClassname","jqstooltip"),f=this.sizeStyle;this.container=t.get("tooltipContainer")||n.body;this.tooltipOffsetX=t.get("tooltipOffsetX",10);this.tooltipOffsetY=t.get("tooltipOffsetY",12);r("#jqssizetip").remove();r("#jqstooltip").remove();this.sizetip=r("<div/>",{id:"jqssizetip",style:f,"class":u});this.tooltip=r("<div/>",{id:"jqstooltip","class":u}).appendTo(this.container);i=this.tooltip.offset();this.offsetLeft=i.left;this.offsetTop=i.top;this.hidden=!0;r(window).unbind("resize.jqs scroll.jqs");r(window).bind("resize.jqs scroll.jqs",r.proxy(this.updateWindowDims,this));this.updateWindowDims()},updateWindowDims:function(){this.scrollTop=r(window).scrollTop();this.scrollLeft=r(window).scrollLeft();this.scrollRight=this.scrollLeft+r(window).width();this.updatePosition()},getSize:function(n){this.sizetip.html(n).appendTo(this.container);this.width=this.sizetip.width()+1;this.height=this.sizetip.height();this.sizetip.remove()},setContent:function(n){return n?(this.getSize(n),this.tooltip.html(n).css({width:this.width,height:this.height,visibility:"visible"}),void(this.hidden&&(this.hidden=!1,this.updatePosition()))):(this.tooltip.css("visibility","hidden"),void(this.hidden=!0))},updatePosition:function(n,t){if(n===i){if(this.mousex===i)return;n=this.mousex-this.offsetLeft;t=this.mousey-this.offsetTop}else this.mousex=n-=this.offsetLeft,this.mousey=t-=this.offsetTop;this.height&&this.width&&!this.hidden&&(t-=this.height+this.tooltipOffsetY,n+=this.tooltipOffsetX,t<this.scrollTop&&(t=this.scrollTop),n<this.scrollLeft?n=this.scrollLeft:n+this.width>this.scrollRight&&(n=this.scrollRight-this.width),this.tooltip.css({left:n,top:t}))},remove:function(){this.tooltip.remove();this.sizetip.remove();this.sizetip=this.tooltip=i;r(window).unbind("resize.jqs scroll.jqs")}});vt=function(){ut(at)};r(vt);f=[];r.fn.sparkline=function(t,u){return this.each(function(){var s,o,e=new r.fn.sparkline.options(this,u),h=r(this);if(s=function(){var s,a,c,f,u,l,o;return"html"===t||t===i?(o=this.getAttribute(e.get("tagValuesAttribute")),(o===i||null===o)&&(o=h.html()),s=o.replace(/(^\s*<!--)|(-->\s*$)|\s+/g,"").split(",")):s=t,a="auto"===e.get("width")?s.length*e.get("defaultPixelsPerValue"):e.get("width"),"auto"===e.get("height")?e.get("composite")&&r.data(this,"_jqs_vcanvas")||(f=n.createElement("span"),f.innerHTML="a",h.html(f),c=r(f).innerHeight()||r(f).height(),r(f).remove(),f=null):c=e.get("height"),e.get("disableInteraction")?u=!1:(u=r.data(this,"_jqs_mhandler"),u?e.get("composite")||u.reset():(u=new ot(this,e),r.data(this,"_jqs_mhandler",u))),e.get("composite")&&!r.data(this,"_jqs_vcanvas")?void(r.data(this,"_jqs_errnotify")||(alert("Attempted to attach a composite sparkline to an element with no existing sparkline"),r.data(this,"_jqs_errnotify",!0))):(l=new r.fn.sparkline[e.get("type")](this,s,e,a,c),l.render(),void(u&&u.registerSparkline(l)))},r(this).html()&&!e.get("disableHiddenCheck")&&r(this).is(":hidden")||!r(this).parents("body").length){if(!e.get("composite")&&r.data(this,"_jqs_pending"))for(o=f.length;o;o--)f[o-1][0]==this&&f.splice(o-1,1);f.push([this,s]);r.data(this,"_jqs_pending",!0)}else s.call(this)})};r.fn.sparkline.defaults=tt();r.sparkline_display_visible=function(){for(var t,i=[],n=0,u=f.length;u>n;n++)t=f[n][0],r(t).is(":visible")&&!r(t).parents().is(":hidden")?(f[n][1].call(t),r.data(f[n][0],"_jqs_pending",!1),i.push(n)):r(t).closest("html").length||r.data(t,"_jqs_pending")||(r.data(f[n][0],"_jqs_pending",!1),i.push(n));for(n=i.length;n;n--)f.splice(i[n-1],1)};r.fn.sparkline.options=u({init:function(n,t){var e,i,u,f;this.userOptions=t=t||{};this.tag=n;this.tagValCache={};i=r.fn.sparkline.defaults;u=i.common;this.tagOptionsPrefix=t.enableTagOptions&&(t.tagOptionsPrefix||u.tagOptionsPrefix);f=this.getTagSetting("type");e=f===a?i[t.type||u.type]:i[f];this.mergedOptions=r.extend({},u,e,t)},getTagSetting:function(n){var t,r,u,f,e=this.tagOptionsPrefix;if(e===!1||e===i)return a;if(this.tagValCache.hasOwnProperty(n))t=this.tagValCache.key;else{if(t=this.tag.getAttribute(e+n),t===i||null===t)t=a;else if("["===t.substr(0,1))for(t=t.substr(1,t.length-2).split(","),r=t.length;r--;)t[r]=o(t[r].replace(/(^\s*)|(\s*$)/g,""));else if("{"===t.substr(0,1))for(u=t.substr(1,t.length-2).split(","),t={},r=u.length;r--;)f=u[r].split(":",2),t[f[0].replace(/(^\s*)|(\s*$)/g,"")]=o(f[1].replace(/(^\s*)|(\s*$)/g,""));else t=o(t);this.tagValCache.key=t}return t},get:function(n,t){var r,u=this.getTagSetting(n);return u!==a?u:(r=this.mergedOptions[n])===i?t:r}});r.fn.sparkline._base=u({disabled:!1,init:function(n,t,u,f,e){this.el=n;this.$el=r(n);this.values=t;this.options=u;this.width=f;this.height=e;this.currentRegion=i},initTarget:function(){var n=!this.options.get("disableInteraction");(this.target=this.$el.simpledraw(this.width,this.height,this.options.get("composite"),n))?(this.canvasWidth=this.target.pixelWidth,this.canvasHeight=this.target.pixelHeight):this.disabled=!0},render:function(){return this.disabled?(this.el.innerHTML="",!1):!0},getRegion:function(){},setRegionHighlight:function(n,t,r){var u,f=this.currentRegion,e=!this.options.get("disableHighlight");return t>this.canvasWidth||r>this.canvasHeight||0>t||0>r?null:(u=this.getRegion(n,t,r),f!==u?(f!==i&&e&&this.removeHighlight(),this.currentRegion=u,u!==i&&e&&this.renderHighlight(),!0):!1)},clearRegionHighlight:function(){return this.currentRegion!==i?(this.removeHighlight(),this.currentRegion=i,!0):!1},renderHighlight:function(){this.changeHighlight(!0)},removeHighlight:function(){this.changeHighlight(!1)},changeHighlight:function(){},getCurrentRegionTooltip:function(){var n,o,v,y,p,u,h,c,l,w,b,s,k,f,t=this.options,d="",a=[];if(this.currentRegion===i)return"";if(n=this.getCurrentRegionFields(),b=t.get("tooltipFormatter"))return b(this,t,n);if(t.get("tooltipChartTitle")&&(d+='<div class="jqs jqstitle">'+t.get("tooltipChartTitle")+"<\/div>\n"),o=this.options.get("tooltipFormat"),!o)return"";if(r.isArray(o)||(o=[o]),r.isArray(n)||(n=[n]),h=this.options.get("tooltipFormatFieldlist"),c=this.options.get("tooltipFormatFieldlistKey"),h&&c){for(l=[],u=n.length;u--;)w=n[u][c],-1!=(f=r.inArray(w,h))&&(l[f]=n[u]);n=l}for(v=o.length,k=n.length,u=0;v>u;u++)for(s=o[u],"string"==typeof s&&(s=new e(s)),y=s.fclass||"jqsfield",f=0;k>f;f++)n[f].isNull&&t.get("tooltipSkipNull")||(r.extend(n[f],{prefix:t.get("tooltipPrefix"),suffix:t.get("tooltipSuffix")}),p=s.render(n[f],t.get("tooltipValueLookups"),t),a.push('<div class="'+y+'">'+p+"<\/div>"));return a.length?d+a.join("\n"):""},getCurrentRegionFields:function(){},calcHighlightColor:function(n,i){var f,e,u,r,o=i.get("highlightColor"),h=i.get("highlightLighten");if(o)return o;if(h&&(f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(n)||/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(n))){for(u=[],e=4===n.length?16:1,r=0;3>r;r++)u[r]=s(t.round(parseInt(f[r+1],16)*e*h),0,255);return"rgb("+u.join(",")+")"}return n}});l={changeHighlight:function(n){var t,i=this.currentRegion,f=this.target,u=this.regionShapes[i];u&&(t=this.renderRegion(i,n),r.isArray(t)||r.isArray(u)?(f.replaceWithShapes(u,t),this.regionShapes[i]=r.map(t,function(n){return n.id})):(f.replaceWithShape(u,t),this.regionShapes[i]=t.id))},render:function(){var n,u,t,i,e=this.values,o=this.target,f=this.regionShapes;if(this.cls._super.render.call(this)){for(t=e.length;t--;)if(n=this.renderRegion(t))if(r.isArray(n)){for(u=[],i=n.length;i--;)n[i].append(),u.push(n[i].id);f[t]=u}else n.append(),f[t]=n.id;else f[t]=null;o.render()}}};r.fn.sparkline.line=p=u(r.fn.sparkline._base,{type:"line",init:function(n,t,i,r,u){p._super.init.call(this,n,t,i,r,u);this.vertices=[];this.regionMap=[];this.xvalues=[];this.yvalues=[];this.yminmax=[];this.hightlightSpotId=null;this.lastShapeId=null;this.initTarget()},getRegion:function(n,t){for(var u=this.regionMap,r=u.length;r--;)if(null!==u[r]&&t>=u[r][0]&&t<=u[r][1])return u[r][2];return i},getCurrentRegionFields:function(){var n=this.currentRegion;return{isNull:null===this.yvalues[n],x:this.xvalues[n],y:this.yvalues[n],color:this.options.get("lineColor"),fillColor:this.options.get("fillColor"),offset:n}},renderHighlight:function(){var r,u,h=this.currentRegion,t=this.target,n=this.vertices[h],f=this.options,e=f.get("spotRadius"),o=f.get("highlightSpotColor"),s=f.get("highlightLineColor");n&&(e&&o&&(r=t.drawCircle(n[0],n[1],e,i,o),this.highlightSpotId=r.id,t.insertAfterShape(this.lastShapeId,r)),s&&(u=t.drawLine(n[0],this.canvasTop,n[0],this.canvasTop+this.canvasHeight,s),this.highlightLineId=u.id,t.insertAfterShape(this.lastShapeId,u)))},removeHighlight:function(){var n=this.target;this.highlightSpotId&&(n.removeShapeId(this.highlightSpotId),this.highlightSpotId=null);this.highlightLineId&&(n.removeShapeId(this.highlightLineId),this.highlightLineId=null)},scanValues:function(){for(var u,s,h,e,i=this.values,c=i.length,r=this.xvalues,o=this.yvalues,f=this.yminmax,n=0;c>n;n++)u=i[n],s="string"==typeof i[n],h="object"==typeof i[n]&&i[n]instanceof Array,e=s&&i[n].split(":"),s&&2===e.length?(r.push(Number(e[0])),o.push(Number(e[1])),f.push(Number(e[1]))):h?(r.push(u[0]),o.push(u[1]),f.push(u[1])):(r.push(n),null===i[n]||"null"===i[n]?o.push(null):(o.push(Number(u)),f.push(Number(u))));this.options.get("xvalues")&&(r=this.options.get("xvalues"));this.maxy=this.maxyorg=t.max.apply(t,f);this.miny=this.minyorg=t.min.apply(t,f);this.maxx=t.max.apply(t,r);this.minx=t.min.apply(t,r);this.xvalues=r;this.yvalues=o;this.yminmax=f},processRangeOptions:function(){var n=this.options,t=n.get("normalRangeMin"),r=n.get("normalRangeMax");t!==i&&(t<this.miny&&(this.miny=t),r>this.maxy&&(this.maxy=r));n.get("chartRangeMin")!==i&&(n.get("chartRangeClip")||n.get("chartRangeMin")<this.miny)&&(this.miny=n.get("chartRangeMin"));n.get("chartRangeMax")!==i&&(n.get("chartRangeClip")||n.get("chartRangeMax")>this.maxy)&&(this.maxy=n.get("chartRangeMax"));n.get("chartRangeMinX")!==i&&(n.get("chartRangeClipX")||n.get("chartRangeMinX")<this.minx)&&(this.minx=n.get("chartRangeMinX"));n.get("chartRangeMaxX")!==i&&(n.get("chartRangeClipX")||n.get("chartRangeMaxX")>this.maxx)&&(this.maxx=n.get("chartRangeMaxX"))},drawNormalRange:function(n,r,u,f,e){var s=this.options.get("normalRangeMin"),o=this.options.get("normalRangeMax"),h=r+t.round(u-u*((o-this.miny)/e)),c=t.round(u*(o-s)/e);this.target.drawRect(n,h,f,c,i,this.options.get("normalRangeColor")).append()},render:function(){var b,v,k,c,a,ht,f,ut,g,d,at,tt,vt,ct,ft,et,ot,st,nt,it,rt,lt,y,s,n,u=this.options,w=this.target,l=this.canvasWidth,o=this.canvasHeight,yt=this.vertices,e=u.get("spotRadius"),pt=this.regionMap;if(p._super.render.call(this)&&(this.scanValues(),this.processRangeOptions(),y=this.xvalues,s=this.yvalues,this.yminmax.length&&!(this.yvalues.length<2))){for(c=a=0,b=this.maxx-this.minx==0?1:this.maxx-this.minx,v=this.maxy-this.miny==0?1:this.maxy-this.miny,k=this.yvalues.length-1,e&&(4*e>l||4*e>o)&&(e=0),e&&(rt=u.get("highlightSpotColor")&&!u.get("disableInteraction"),(rt||u.get("minSpotColor")||u.get("spotColor")&&s[k]===this.miny)&&(o-=t.ceil(e)),(rt||u.get("maxSpotColor")||u.get("spotColor")&&s[k]===this.maxy)&&(o-=t.ceil(e),c+=t.ceil(e)),(rt||(u.get("minSpotColor")||u.get("maxSpotColor"))&&(s[0]===this.miny||s[0]===this.maxy))&&(a+=t.ceil(e),l-=t.ceil(e)),(rt||u.get("spotColor")||u.get("minSpotColor")||u.get("maxSpotColor")&&(s[k]===this.miny||s[k]===this.maxy))&&(l-=t.ceil(e))),o--,u.get("normalRangeMin")===i||u.get("drawNormalOnTop")||this.drawNormalRange(a,c,o,l,v),f=[],ut=[f],ct=ft=null,et=s.length,n=0;et>n;n++)g=y[n],at=y[n+1],d=s[n],tt=a+t.round((g-this.minx)*(l/b)),vt=et-1>n?a+t.round((at-this.minx)*(l/b)):l,ft=tt+(vt-tt)/2,pt[n]=[ct||0,ft,n],ct=ft,null===d?n&&(null!==s[n-1]&&(f=[],ut.push(f)),yt.push(null)):(d<this.miny&&(d=this.miny),d>this.maxy&&(d=this.maxy),f.length||f.push([tt,c+o]),ht=[tt,c+t.round(o-o*((d-this.miny)/v))],f.push(ht),yt.push(ht));for(ot=[],st=[],nt=ut.length,n=0;nt>n;n++)f=ut[n],f.length&&(u.get("fillColor")&&(f.push([f[f.length-1][0],c+o]),st.push(f.slice(0)),f.pop()),f.length>2&&(f[0]=[f[0][0],f[1][1]]),ot.push(f));for(nt=st.length,n=0;nt>n;n++)w.drawShape(st[n],u.get("fillColor"),u.get("fillColor")).append();for(u.get("normalRangeMin")!==i&&u.get("drawNormalOnTop")&&this.drawNormalRange(a,c,o,l,v),nt=ot.length,n=0;nt>n;n++)w.drawShape(ot[n],u.get("lineColor"),i,u.get("lineWidth")).append();if(e&&u.get("valueSpots"))for(it=u.get("valueSpots"),it.get===i&&(it=new h(it)),n=0;et>n;n++)lt=it.get(s[n]),lt&&w.drawCircle(a+t.round((y[n]-this.minx)*(l/b)),c+t.round(o-o*((s[n]-this.miny)/v)),e,i,lt).append();e&&u.get("spotColor")&&null!==s[k]&&w.drawCircle(a+t.round((y[y.length-1]-this.minx)*(l/b)),c+t.round(o-o*((s[k]-this.miny)/v)),e,i,u.get("spotColor")).append();this.maxy!==this.minyorg&&(e&&u.get("minSpotColor")&&(g=y[r.inArray(this.minyorg,s)],w.drawCircle(a+t.round((g-this.minx)*(l/b)),c+t.round(o-o*((this.minyorg-this.miny)/v)),e,i,u.get("minSpotColor")).append()),e&&u.get("maxSpotColor")&&(g=y[r.inArray(this.maxyorg,s)],w.drawCircle(a+t.round((g-this.minx)*(l/b)),c+t.round(o-o*((this.maxyorg-this.miny)/v)),e,i,u.get("maxSpotColor")).append()));this.lastShapeId=w.getLastShapeId();this.canvasTop=c;w.render()}}});r.fn.sparkline.bar=ht=u(r.fn.sparkline._base,l,{type:"bar",init:function(n,u,f,e,c){var ct,lt,at,nt,b,a,rt,vt,ut,ft,y,p,yt,pt,w,et,d,dt,gt,l,k,ni,wt=parseInt(f.get("barWidth"),10),bt=parseInt(f.get("barSpacing"),10),ti=f.get("chartRangeMin"),ii=f.get("chartRangeMax"),kt=f.get("chartRangeClip"),tt=1/0,g=-(1/0),ot,st;for(ht._super.init.call(this,n,u,f,e,c),a=0,rt=u.length;rt>a;a++)l=u[a],ct="string"==typeof l&&l.indexOf(":")>-1,(ct||r.isArray(l))&&(w=!0,ct&&(l=u[a]=v(l.split(":"))),l=it(l,null),lt=t.min.apply(t,l),at=t.max.apply(t,l),tt>lt&&(tt=lt),at>g&&(g=at));for(this.stacked=w,this.regionShapes={},this.barWidth=wt,this.barSpacing=bt,this.totalBarWidth=wt+bt,this.width=e=u.length*wt+(u.length-1)*bt,this.initTarget(),kt&&(yt=ti===i?-(1/0):ti,pt=ii===i?1/0:ii),b=[],nt=w?[]:b,ot=[],st=[],a=0,rt=u.length;rt>a;a++)if(w)for(et=u[a],u[a]=gt=[],ot[a]=0,nt[a]=st[a]=0,d=0,dt=et.length;dt>d;d++)l=gt[d]=kt?s(et[d],yt,pt):et[d],null!==l&&(l>0&&(ot[a]+=l),0>tt&&g>0?0>l?st[a]+=t.abs(l):nt[a]+=l:nt[a]+=t.abs(l-(0>l?g:tt)),b.push(l));else l=kt?s(u[a],yt,pt):u[a],l=u[a]=o(l),null!==l&&b.push(l);this.max=p=t.max.apply(t,b);this.min=y=t.min.apply(t,b);this.stackMax=g=w?t.max.apply(t,ot):p;this.stackMin=tt=w?t.min.apply(t,b):y;f.get("chartRangeMin")!==i&&(f.get("chartRangeClip")||f.get("chartRangeMin")<y)&&(y=f.get("chartRangeMin"));f.get("chartRangeMax")!==i&&(f.get("chartRangeClip")||f.get("chartRangeMax")>p)&&(p=f.get("chartRangeMax"));this.zeroAxis=ut=f.get("zeroAxis",!0);ft=0>=y&&p>=0&&ut?0:0==ut?y:y>0?y:p;this.xaxisOffset=ft;vt=w?t.max.apply(t,nt)+t.max.apply(t,st):p-y;this.canvasHeightEf=ut&&0>y?this.canvasHeight-2:this.canvasHeight-1;ft>y?(ni=w&&p>=0?g:p,k=(ni-ft)/vt*this.canvasHeight,k!==t.ceil(k)&&(this.canvasHeightEf-=2,k=t.ceil(k))):k=this.canvasHeight;this.yoffset=k;r.isArray(f.get("colorMap"))?(this.colorMapByIndex=f.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=f.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===i&&(this.colorMapByValue=new h(this.colorMapByValue)));this.range=vt},getRegion:function(n,r){var u=t.floor(r/this.totalBarWidth);return 0>u||u>=this.values.length?i:u},getCurrentRegionFields:function(){for(var n,i=this.currentRegion,r=ft(this.values[i]),u=[],t=r.length;t--;)n=r[t],u.push({isNull:null===n,value:n,color:this.calcColor(t,n,i),offset:i});return u},calcColor:function(n,t,u){var f,s,o=this.colorMapByIndex,h=this.colorMapByValue,e=this.options;return f=this.stacked?e.get("stackedBarColor"):0>t?e.get("negBarColor"):e.get("barColor"),0===t&&e.get("zeroColor")!==i&&(f=e.get("zeroColor")),h&&(s=h.get(t))?f=s:o&&o.length>u&&(f=o[u]),r.isArray(f)?f[n%f.length]:f},renderRegion:function(n,u){var h,c,e,b,w,l,k,o,d,g,f=this.values[n],a=this.options,v=this.xaxisOffset,p=[],nt=this.range,rt=this.stacked,tt=this.target,it=n*this.totalBarWidth,ut=this.canvasHeightEf,s=this.yoffset;if(f=r.isArray(f)?f:[f],k=f.length,o=f[0],b=y(null,f),g=y(v,f,!0),b)return a.get("nullColor")?(e=u?a.get("nullColor"):this.calcHighlightColor(a.get("nullColor"),a),h=s>0?s-1:s,tt.drawRect(it,h,this.barWidth-1,0,e,e)):i;for(w=s,l=0;k>l;l++){if(o=f[l],rt&&o===v){if(!g||d)continue;d=!0}c=nt>0?t.floor(ut*(t.abs(o-v)/nt))+1:1;v>o||o===v&&0===s?(h=w,w+=c):(h=s-c,s-=c);e=this.calcColor(l,o,n);u&&(e=this.calcHighlightColor(e,a));p.push(tt.drawRect(it,h,this.barWidth-1,c-1,e,e))}return 1===p.length?p[0]:p}});r.fn.sparkline.tristate=ct=u(r.fn.sparkline._base,l,{type:"tristate",init:function(n,t,u,f,e){var o=parseInt(u.get("barWidth"),10),s=parseInt(u.get("barSpacing"),10);ct._super.init.call(this,n,t,u,f,e);this.regionShapes={};this.barWidth=o;this.barSpacing=s;this.totalBarWidth=o+s;this.values=r.map(t,Number);this.width=f=t.length*o+(t.length-1)*s;r.isArray(u.get("colorMap"))?(this.colorMapByIndex=u.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=u.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===i&&(this.colorMapByValue=new h(this.colorMapByValue)));this.initTarget()},getRegion:function(n,i){return t.floor(i/this.totalBarWidth)},getCurrentRegionFields:function(){var n=this.currentRegion;return{isNull:this.values[n]===i,value:this.values[n],color:this.calcColor(this.values[n],n),offset:n}},calcColor:function(n,t){var u,f=this.values,i=this.options,r=this.colorMapByIndex,e=this.colorMapByValue;return e&&(u=e.get(n))?u:r&&r.length>t?r[t]:f[t]<0?i.get("negBarColor"):f[t]>0?i.get("posBarColor"):i.get("zeroBarColor")},renderRegion:function(n,i){var s,f,u,h,e,r,o=this.values,l=this.options,c=this.target;return s=c.pixelHeight,u=t.round(s/2),h=n*this.totalBarWidth,o[n]<0?(e=u,f=u-1):o[n]>0?(e=0,f=u-1):(e=u-1,f=2),r=this.calcColor(o[n],n),null!==r?(i&&(r=this.calcHighlightColor(r,l)),c.drawRect(h,e,this.barWidth-1,f-1,r,r)):void 0}});r.fn.sparkline.discrete=lt=u(r.fn.sparkline._base,l,{type:"discrete",init:function(n,u,f,e,o){lt._super.init.call(this,n,u,f,e,o);this.regionShapes={};this.values=u=r.map(u,Number);this.min=t.min.apply(t,u);this.max=t.max.apply(t,u);this.range=this.max-this.min;this.width=e="auto"===f.get("width")?2*u.length:this.width;this.interval=t.floor(e/u.length);this.itemWidth=e/u.length;f.get("chartRangeMin")!==i&&(f.get("chartRangeClip")||f.get("chartRangeMin")<this.min)&&(this.min=f.get("chartRangeMin"));f.get("chartRangeMax")!==i&&(f.get("chartRangeClip")||f.get("chartRangeMax")>this.max)&&(this.max=f.get("chartRangeMax"));this.initTarget();this.target&&(this.lineHeight="auto"===f.get("lineHeight")?t.round(.3*this.canvasHeight):f.get("lineHeight"))},getRegion:function(n,i){return t.floor(i/this.itemWidth)},getCurrentRegionFields:function(){var n=this.currentRegion;return{isNull:this.values[n]===i,value:this.values[n],offset:n}},renderRegion:function(n,i){var f,e,u,o,a=this.values,r=this.options,h=this.min,v=this.max,y=this.range,p=this.interval,w=this.target,b=this.canvasHeight,c=this.lineHeight,l=b-c;return e=s(a[n],h,v),o=n*p,f=t.round(l-l*((e-h)/y)),u=r.get("thresholdColor")&&e<r.get("thresholdValue")?r.get("thresholdColor"):r.get("lineColor"),i&&(u=this.calcHighlightColor(u,r)),w.drawLine(o,f,o,f+c,u)}});r.fn.sparkline.bullet=w=u(r.fn.sparkline._base,{type:"bullet",init:function(n,r,u,f,e){var s,h,o;w._super.init.call(this,n,r,u,f,e);this.values=r=v(r);o=r.slice();o[0]=null===o[0]?o[2]:o[0];o[1]=null===r[1]?o[2]:o[1];s=t.min.apply(t,r);h=t.max.apply(t,r);s=u.get("base")===i?0>s?s:0:u.get("base");this.min=s;this.max=h;this.range=h-s;this.shapes={};this.valueShapes={};this.regiondata={};this.width=f="auto"===u.get("width")?"4.0em":f;this.target=this.$el.simpledraw(f,e,u.get("composite"));r.length||(this.disabled=!0);this.initTarget()},getRegion:function(n,t,r){var u=this.target.getShapeAt(n,t,r);return u!==i&&this.shapes[u]!==i?this.shapes[u]:i},getCurrentRegionFields:function(){var n=this.currentRegion;return{fieldkey:n.substr(0,1),value:this.values[n.substr(1)],region:n}},changeHighlight:function(n){var t,i=this.currentRegion,r=this.valueShapes[i];switch(delete this.shapes[r],i.substr(0,1)){case"r":t=this.renderRange(i.substr(1),n);break;case"p":t=this.renderPerformance(n);break;case"t":t=this.renderTarget(n)}this.valueShapes[i]=t.id;this.shapes[t.id]=i;this.target.replaceWithShape(r,t)},renderRange:function(n,i){var u=this.values[n],f=t.round(this.canvasWidth*((u-this.min)/this.range)),r=this.options.get("rangeColors")[n-2];return i&&(r=this.calcHighlightColor(r,this.options)),this.target.drawRect(0,0,f-1,this.canvasHeight-1,r,r)},renderPerformance:function(n){var r=this.values[1],u=t.round(this.canvasWidth*((r-this.min)/this.range)),i=this.options.get("performanceColor");return n&&(i=this.calcHighlightColor(i,this.options)),this.target.drawRect(0,t.round(.3*this.canvasHeight),u-1,t.round(.4*this.canvasHeight)-1,i,i)},renderTarget:function(n){var u=this.values[0],f=t.round(this.canvasWidth*((u-this.min)/this.range)-this.options.get("targetWidth")/2),r=t.round(.1*this.canvasHeight),e=this.canvasHeight-2*r,i=this.options.get("targetColor");return n&&(i=this.calcHighlightColor(i,this.options)),this.target.drawRect(f,r,this.options.get("targetWidth")-1,e-1,i,i)},render:function(){var t,n,i=this.values.length,r=this.target;if(w._super.render.call(this)){for(t=2;i>t;t++)n=this.renderRange(t).append(),this.shapes[n.id]="r"+t,this.valueShapes["r"+t]=n.id;null!==this.values[1]&&(n=this.renderPerformance().append(),this.shapes[n.id]="p1",this.valueShapes.p1=n.id);null!==this.values[0]&&(n=this.renderTarget().append(),this.shapes[n.id]="t0",this.valueShapes.t0=n.id);r.render()}}});r.fn.sparkline.pie=b=u(r.fn.sparkline._base,{type:"pie",init:function(n,i,u,f,e){var o,s=0;if(b._super.init.call(this,n,i,u,f,e),this.shapes={},this.valueShapes={},this.values=i=r.map(i,Number),"auto"===u.get("width")&&(this.width=this.height),i.length>0)for(o=i.length;o--;)s+=i[o];this.total=s;this.initTarget();this.radius=t.floor(t.min(this.canvasWidth,this.canvasHeight)/2)},getRegion:function(n,t,r){var u=this.target.getShapeAt(n,t,r);return u!==i&&this.shapes[u]!==i?this.shapes[u]:i},getCurrentRegionFields:function(){var n=this.currentRegion;return{isNull:this.values[n]===i,value:this.values[n],percent:this.values[n]/this.total*100,color:this.options.get("sliceColors")[n%this.options.get("sliceColors").length],offset:n}},changeHighlight:function(n){var t=this.currentRegion,i=this.renderSlice(t,n),r=this.valueShapes[t];delete this.shapes[r];this.target.replaceWithShape(r,i);this.valueShapes[t]=i.id;this.shapes[i.id]=t},renderSlice:function(n,r){for(var c,e,o,p=this.target,f=this.options,h=this.radius,w=f.get("borderWidth"),a=f.get("offset"),b=2*t.PI,v=this.values,y=this.total,s=a?2*t.PI*(a/360):0,l=v.length,u=0;l>u;u++){if(c=s,e=s,y>0&&(e=s+b*(v[u]/y)),n===u)return o=f.get("sliceColors")[u%f.get("sliceColors").length],r&&(o=this.calcHighlightColor(o,f)),p.drawPieSlice(h,h,h-w,c,e,i,o);s=e}},render:function(){var r,n,e=this.target,o=this.values,s=this.options,u=this.radius,f=s.get("borderWidth");if(b._super.render.call(this)){for(f&&e.drawCircle(u,u,t.floor(u-f/2),s.get("borderColor"),i,f).append(),n=o.length;n--;)o[n]&&(r=this.renderSlice(n).append(),this.valueShapes[n]=r.id,this.shapes[r.id]=n);e.render()}}});r.fn.sparkline.box=k=u(r.fn.sparkline._base,{type:"box",init:function(n,t,i,u,f){k._super.init.call(this,n,t,i,u,f);this.values=r.map(t,Number);this.width="auto"===i.get("width")?"4.0em":u;this.initTarget();this.values.length||(this.disabled=1)},getRegion:function(){return 1},getCurrentRegionFields:function(){var n=[{field:"lq",value:this.quartiles[0]},{field:"med",value:this.quartiles[1]},{field:"uq",value:this.quartiles[2]}];return this.loutlier!==i&&n.push({field:"lo",value:this.loutlier}),this.routlier!==i&&n.push({field:"ro",value:this.routlier}),this.lwhisker!==i&&n.push({field:"lw",value:this.lwhisker}),this.rwhisker!==i&&n.push({field:"rw",value:this.rwhisker}),n},render:function(){var s,w,g,a,p,v,l,b,y,d,u,h=this.target,r=this.values,nt=r.length,n=this.options,tt=this.canvasWidth,f=this.canvasHeight,e=n.get("chartRangeMin")===i?t.min.apply(t,r):n.get("chartRangeMin"),it=n.get("chartRangeMax")===i?t.max.apply(t,r):n.get("chartRangeMax"),o=0;if(k._super.render.call(this)){if(n.get("raw"))n.get("showOutliers")&&r.length>5?(w=r[0],s=r[1],a=r[2],p=r[3],v=r[4],l=r[5],b=r[6]):(s=r[0],a=r[1],p=r[2],v=r[3],l=r[4]);else if(r.sort(function(n,t){return n-t}),a=c(r,1),p=c(r,2),v=c(r,3),g=v-a,n.get("showOutliers")){for(s=l=i,y=0;nt>y;y++)s===i&&r[y]>a-g*n.get("outlierIQR")&&(s=r[y]),r[y]<v+g*n.get("outlierIQR")&&(l=r[y]);w=r[0];b=r[nt-1]}else s=r[0],l=r[nt-1];this.quartiles=[a,p,v];this.lwhisker=s;this.rwhisker=l;this.loutlier=w;this.routlier=b;u=tt/(it-e+1);n.get("showOutliers")&&(o=t.ceil(n.get("spotRadius")),tt-=2*t.ceil(n.get("spotRadius")),u=tt/(it-e+1),s>w&&h.drawCircle((w-e)*u+o,f/2,n.get("spotRadius"),n.get("outlierLineColor"),n.get("outlierFillColor")).append(),b>l&&h.drawCircle((b-e)*u+o,f/2,n.get("spotRadius"),n.get("outlierLineColor"),n.get("outlierFillColor")).append());h.drawRect(t.round((a-e)*u+o),t.round(.1*f),t.round((v-a)*u),t.round(.8*f),n.get("boxLineColor"),n.get("boxFillColor")).append();h.drawLine(t.round((s-e)*u+o),t.round(f/2),t.round((a-e)*u+o),t.round(f/2),n.get("lineColor")).append();h.drawLine(t.round((s-e)*u+o),t.round(f/4),t.round((s-e)*u+o),t.round(f-f/4),n.get("whiskerColor")).append();h.drawLine(t.round((l-e)*u+o),t.round(f/2),t.round((v-e)*u+o),t.round(f/2),n.get("lineColor")).append();h.drawLine(t.round((l-e)*u+o),t.round(f/4),t.round((l-e)*u+o),t.round(f-f/4),n.get("whiskerColor")).append();h.drawLine(t.round((p-e)*u+o),t.round(.1*f),t.round((p-e)*u+o),t.round(.9*f),n.get("medianColor")).append();n.get("target")&&(d=t.ceil(n.get("spotRadius")),h.drawLine(t.round((n.get("target")-e)*u+o),t.round(f/2-d),t.round((n.get("target")-e)*u+o),t.round(f/2+d),n.get("targetColor")).append(),h.drawLine(t.round((n.get("target")-e)*u+o-d),t.round(f/2),t.round((n.get("target")-e)*u+o+d),t.round(f/2),n.get("targetColor")).append());h.render()}}});yt=u({init:function(n,t,i,r){this.target=n;this.id=t;this.type=i;this.args=r},append:function(){return this.target.appendShape(this),this}});d=u({_pxregex:/(\d+)(px)?\s*$/i,init:function(n,t,i){n&&(this.width=n,this.height=t,this.target=i,this.lastShapeId=null,i[0]&&(i=i[0]),r.data(i,"_jqs_vcanvas",this))},drawLine:function(n,t,i,r,u,f){return this.drawShape([[n,t],[i,r]],u,f)},drawShape:function(n,t,i,r){return this._genShape("Shape",[n,t,i,r])},drawCircle:function(n,t,i,r,u,f){return this._genShape("Circle",[n,t,i,r,u,f])},drawPieSlice:function(n,t,i,r,u,f,e){return this._genShape("PieSlice",[n,t,i,r,u,f,e])},drawRect:function(n,t,i,r,u,f){return this._genShape("Rect",[n,t,i,r,u,f])},getElement:function(){return this.canvas},getLastShapeId:function(){return this.lastShapeId},reset:function(){alert("reset not implemented")},_insert:function(n,t){r(t).html(n)},_calculatePixelDims:function(n,t,i){var u;u=this._pxregex.exec(t);this.pixelHeight=u?u[1]:r(i).height();u=this._pxregex.exec(n);this.pixelWidth=u?u[1]:r(i).width()},_genShape:function(n,t){var i=wt++;return t.unshift(i),new yt(this,i,n,t)},appendShape:function(){alert("appendShape not implemented")},replaceWithShape:function(){alert("replaceWithShape not implemented")},insertAfterShape:function(){alert("insertAfterShape not implemented")},removeShapeId:function(){alert("removeShapeId not implemented")},getShapeAt:function(){alert("getShapeAt not implemented")},render:function(){alert("render not implemented")}});g=u(d,{init:function(t,u,f,e){g._super.init.call(this,t,u,f);this.canvas=n.createElement("canvas");f[0]&&(f=f[0]);r.data(f,"_jqs_vcanvas",this);r(this.canvas).css({display:"inline-block",width:t,height:u,verticalAlign:"top"});this._insert(this.canvas,f);this._calculatePixelDims(t,u,this.canvas);this.canvas.width=this.pixelWidth;this.canvas.height=this.pixelHeight;this.interact=e;this.shapes={};this.shapeseq=[];this.currentTargetShapeId=i;r(this.canvas).css({width:this.pixelWidth,height:this.pixelHeight})},_getContext:function(n,t,r){var u=this.canvas.getContext("2d");return n!==i&&(u.strokeStyle=n),u.lineWidth=r===i?1:r,t!==i&&(u.fillStyle=t),u},reset:function(){var n=this._getContext();n.clearRect(0,0,this.pixelWidth,this.pixelHeight);this.shapes={};this.shapeseq=[];this.currentTargetShapeId=i},_drawShape:function(n,t,r,u,f){var o,s,e=this._getContext(r,u,f);for(e.beginPath(),e.moveTo(t[0][0]+.5,t[0][1]+.5),o=1,s=t.length;s>o;o++)e.lineTo(t[o][0]+.5,t[o][1]+.5);r!==i&&e.stroke();u!==i&&e.fill();this.targetX!==i&&this.targetY!==i&&e.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=n)},_drawCircle:function(n,r,u,f,e,o,s){var h=this._getContext(e,o,s);h.beginPath();h.arc(r,u,f,0,2*t.PI,!1);this.targetX!==i&&this.targetY!==i&&h.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=n);e!==i&&h.stroke();o!==i&&h.fill()},_drawPieSlice:function(n,t,r,u,f,e,o,s){var h=this._getContext(o,s);h.beginPath();h.moveTo(t,r);h.arc(t,r,u,f,e,!1);h.lineTo(t,r);h.closePath();o!==i&&h.stroke();s&&h.fill();this.targetX!==i&&this.targetY!==i&&h.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=n)},_drawRect:function(n,t,i,r,u,f,e){return this._drawShape(n,[[t,i],[t+r,i],[t+r,i+u],[t,i+u],[t,i]],f,e)},appendShape:function(n){return this.shapes[n.id]=n,this.shapeseq.push(n.id),this.lastShapeId=n.id,n.id},replaceWithShape:function(n,t){var i,r=this.shapeseq;for(this.shapes[t.id]=t,i=r.length;i--;)r[i]==n&&(r[i]=t.id);delete this.shapes[n]},replaceWithShapes:function(n,t){for(var u,f,r=this.shapeseq,e={},i=n.length;i--;)e[n[i]]=!0;for(i=r.length;i--;)u=r[i],e[u]&&(r.splice(i,1),delete this.shapes[u],f=i);for(i=t.length;i--;)r.splice(f,0,t[i].id),this.shapes[t[i].id]=t[i]},insertAfterShape:function(n,t){for(var r=this.shapeseq,i=r.length;i--;)if(r[i]===n)return r.splice(i+1,0,t.id),void(this.shapes[t.id]=t)},removeShapeId:function(n){for(var i=this.shapeseq,t=i.length;t--;)if(i[t]===n){i.splice(t,1);break}delete this.shapes[n]},getShapeAt:function(n,t,i){return this.targetX=t,this.targetY=i,this.render(),this.currentTargetShapeId},render:function(){var i,t,n,r=this.shapeseq,u=this.shapes,f=r.length,e=this._getContext();for(e.clearRect(0,0,this.pixelWidth,this.pixelHeight),n=0;f>n;n++)i=r[n],t=u[i],this["_draw"+t.type].apply(this,t.args);this.interact||(this.shapes={},this.shapeseq=[])}});nt=u(d,{init:function(t,i,u){var f;nt._super.init.call(this,t,i,u);u[0]&&(u=u[0]);r.data(u,"_jqs_vcanvas",this);this.canvas=n.createElement("span");r(this.canvas).css({display:"inline-block",position:"relative",overflow:"hidden",width:t,height:i,margin:"0px",padding:"0px",verticalAlign:"top"});this._insert(this.canvas,u);this._calculatePixelDims(t,i,this.canvas);this.canvas.width=this.pixelWidth;this.canvas.height=this.pixelHeight;f='<v:group coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" style="position:absolute;top:0;left:0;width:'+this.pixelWidth+"px;height="+this.pixelHeight+'px;"><\/v:group>';this.canvas.insertAdjacentHTML("beforeEnd",f);this.group=r(this.canvas).children()[0];this.rendered=!1;this.prerender=""},_drawShape:function(n,t,r,u,f){for(var s,h,c,l,v,o=[],e=0,a=t.length;a>e;e++)o[e]=""+t[e][0]+","+t[e][1];return s=o.splice(0,1),f=f===i?1:f,h=r===i?' stroked="false" ':' strokeWeight="'+f+'px" strokeColor="'+r+'" ',c=u===i?' filled="false"':' fillColor="'+u+'" filled="true" ',l=o[0]===o[o.length-1]?"x ":"",v='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'"  id="jqsshape'+n+'" '+h+c+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;"  path="m '+s+" l "+o.join(", ")+" "+l+'e"> <\/v:shape>'},_drawCircle:function(n,t,r,u,f,e,o){var s,h,c;return t-=u,r-=u,s=f===i?' stroked="false" ':' strokeWeight="'+o+'px" strokeColor="'+f+'" ',h=e===i?' filled="false"':' fillColor="'+e+'" filled="true" ',c='<v:oval  id="jqsshape'+n+'" '+s+h+' style="position:absolute;top:'+r+"px; left:"+t+"px; width:"+2*u+"px; height:"+2*u+'px"><\/v:oval>'},_drawPieSlice:function(n,r,u,f,e,o,s,h){var y,c,l,a,v,p,w,b;if(e===o)return"";if(o-e==2*t.PI&&(e=0,o=2*t.PI),c=r+t.round(t.cos(e)*f),l=u+t.round(t.sin(e)*f),a=r+t.round(t.cos(o)*f),v=u+t.round(t.sin(o)*f),c===a&&l===v){if(o-e<t.PI)return"";c=a=r+f;l=v=u}return c===a&&l===v&&o-e<t.PI?"":(y=[r-f,u-f,r+f,u+f,c,l,a,v],p=s===i?' stroked="false" ':' strokeWeight="1px" strokeColor="'+s+'" ',w=h===i?' filled="false"':' fillColor="'+h+'" filled="true" ',b='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'"  id="jqsshape'+n+'" '+p+w+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;"  path="m '+r+","+u+" wa "+y.join(", ")+' x e"> <\/v:shape>')},_drawRect:function(n,t,i,r,u,f,e){return this._drawShape(n,[[t,i],[t,i+u],[t+r,i+u],[t+r,i],[t,i]],f,e)},reset:function(){this.group.innerHTML=""},appendShape:function(n){var t=this["_draw"+n.type].apply(this,n.args);return this.rendered?this.group.insertAdjacentHTML("beforeEnd",t):this.prerender+=t,this.lastShapeId=n.id,n.id},replaceWithShape:function(n,t){var i=r("#jqsshape"+n),u=this["_draw"+t.type].apply(this,t.args);i[0].outerHTML=u},replaceWithShapes:function(n,t){for(var f=r("#jqsshape"+n[0]),u="",e=t.length,i=0;e>i;i++)u+=this["_draw"+t[i].type].apply(this,t[i].args);for(f[0].outerHTML=u,i=1;i<n.length;i++)r("#jqsshape"+n[i]).remove()},insertAfterShape:function(n,t){var i=r("#jqsshape"+n),u=this["_draw"+t.type].apply(this,t.args);i[0].insertAdjacentHTML("afterEnd",u)},removeShapeId:function(n){var t=r("#jqsshape"+n);this.group.removeChild(t[0])},getShapeAt:function(n){return n.id.substr(8)},render:function(){this.rendered||(this.group.innerHTML=this.prerender,this.rendered=!0)}})})}(document,Math),function(){var t,n,r,u,e=[].slice,o={}.hasOwnProperty,f=function(n,t){function r(){this.constructor=n}for(var i in t)o.call(t,i)&&(n[i]=t[i]);return r.prototype=t.prototype,n.prototype=new r,n.__super__=t.prototype,n},i=function(n,t){return function(){return n.apply(t,arguments)}},s=[].indexOf||function(n){for(var t=0,i=this.length;i>t;t++)if(t in this&&this[t]===n)return t;return-1};n=window.Morris={};t=jQuery;n.EventEmitter=function(){function n(){}return n.prototype.on=function(n,t){return null==this.handlers&&(this.handlers={}),null==this.handlers[n]&&(this.handlers[n]=[]),this.handlers[n].push(t)},n.prototype.fire=function(){var u,f,t,n,o,i,r;if(t=arguments[0],u=2<=arguments.length?e.call(arguments,1):[],null!=this.handlers&&null!=this.handlers[t]){for(i=this.handlers[t],r=[],n=0,o=i.length;o>n;n++)f=i[n],r.push(f.apply(null,u));return r}},n}();n.commas=function(n){var r,t,i,u;return null!=n?(i=0>n?"-":"",r=Math.abs(n),t=Math.floor(r).toFixed(0),i+=t.replace(/(?=(?:\d{3})+$)(?!^)/g,","),u=r.toString(),u.length>t.length&&(i+=u.slice(t.length)),i):"-"};n.pad2=function(n){return(10>n?"0":"")+n};n.Grid=function(i){function r(n){var i=this;if(this.el="string"==typeof n.element?t(document.getElementById(n.element)):t(n.element),null==this.el||0===this.el.length)throw new Error("Graph container element not found");"static"===this.el.css("position")&&this.el.css("position","relative");this.options=t.extend({},this.gridDefaults,this.defaults||{},n);"string"==typeof this.options.units&&(this.options.postUnits=n.units);this.raphael=new Raphael(this.el[0]);this.elementWidth=null;this.elementHeight=null;this.dirty=!1;this.init&&this.init();this.setData(this.options.data);this.el.bind("mousemove",function(n){var t;return t=i.el.offset(),i.fire("hovermove",n.pageX-t.left,n.pageY-t.top)});this.el.bind("mouseout",function(){return i.fire("hoverout")});this.el.bind("touchstart touchmove touchend",function(n){var r,t;return t=n.originalEvent.touches[0]||n.originalEvent.changedTouches[0],r=i.el.offset(),i.fire("hover",t.pageX-r.left,t.pageY-r.top),t});this.postInit&&this.postInit()}return f(r,i),r.prototype.gridDefaults={dateFormat:null,axes:!0,grid:!0,gridLineColor:"#aaa",gridStrokeWidth:.5,gridTextColor:"#888",gridTextSize:12,hideHover:!1,yLabelFormat:null,numLines:5,padding:25,parseTime:!0,postUnits:"",preUnits:"",ymax:"auto",ymin:"auto 0",goals:[],goalStrokeWidth:1,goalLineColors:["#666633","#999966","#cc6666","#663333"],events:[],eventStrokeWidth:1,eventLineColors:["#005a04","#ccffbb","#3a5f0b","#005502"]},r.prototype.setData=function(t,i){var v,h,s,c,l,u,a,o,y,f,e,r;return null==i&&(i=!0),null==t||0===t.length?(this.data=[],this.raphael.clear(),void(null!=this.hover&&this.hover.hide())):(f=this.cumulative?0:null,e=this.cumulative?0:null,this.options.goals.length>0&&(l=Math.min.apply(null,this.options.goals),c=Math.max.apply(null,this.options.goals),e=null!=e?Math.min(e,l):l,f=null!=f?Math.max(f,c):c),this.data=function(){var i,l,c;for(c=[],s=i=0,l=t.length;l>i;s=++i)a=t[s],u={},u.label=a[this.options.xkey],this.options.parseTime?(u.x=n.parseDate(u.label),this.options.dateFormat?u.label=this.options.dateFormat(u.x):"number"==typeof u.label&&(u.label=new Date(u.label).toString())):u.x=s,o=0,u.y=function(){var n,u,t,i;for(t=this.options.ykeys,i=[],h=n=0,u=t.length;u>n;h=++n)y=t[h],r=a[y],"string"==typeof r&&(r=parseFloat(r)),null!=r&&"number"!=typeof r&&(r=null),null!=r&&(this.cumulative?o+=r:null!=f?(f=Math.max(r,f),e=Math.min(r,e)):f=e=r),this.cumulative&&null!=o&&(f=Math.max(o,f),e=Math.min(o,e)),i.push(r);return i}.call(this),c.push(u);return c}.call(this),this.options.parseTime&&(this.data=this.data.sort(function(n,t){return(n.x>t.x)-(t.x>n.x)})),this.xmin=this.data[0].x,this.xmax=this.data[this.data.length-1].x,this.events=[],this.options.parseTime&&this.options.events.length>0&&(this.events=function(){var t,u,i,r;for(i=this.options.events,r=[],t=0,u=i.length;u>t;t++)v=i[t],r.push(n.parseDate(v));return r}.call(this),this.xmax=Math.max(this.xmax,Math.max.apply(null,this.events)),this.xmin=Math.min(this.xmin,Math.min.apply(null,this.events))),this.xmin===this.xmax&&(this.xmin-=1,this.xmax+=1),this.ymin=this.yboundary("min",e),this.ymax=this.yboundary("max",f),this.ymin===this.ymax&&(e&&(this.ymin-=1),this.ymax+=1),this.yInterval=(this.ymax-this.ymin)/(this.options.numLines-1),this.precision=this.yInterval>0&&this.yInterval<1?-Math.floor(Math.log(this.yInterval)/Math.log(10)):0,this.dirty=!0,i?this.redraw():void 0)},r.prototype.yboundary=function(n,t){var i,r;return i=this.options["y"+n],"string"==typeof i?"auto"===i.slice(0,4)?i.length>5?(r=parseInt(i.slice(5),10),null==t?r:Math[n](t,r)):null!=t?t:0:parseInt(i,10):i},r.prototype._calc=function(){var n,i,t;return t=this.el.width(),n=this.el.height(),(this.elementWidth!==t||this.elementHeight!==n||this.dirty)&&(this.elementWidth=t,this.elementHeight=n,this.dirty=!1,this.left=this.options.padding,this.right=this.elementWidth-this.options.padding,this.top=this.options.padding,this.bottom=this.elementHeight-this.options.padding,this.options.axes&&(i=Math.max(this.measureText(this.yAxisFormat(this.ymin),this.options.gridTextSize).width,this.measureText(this.yAxisFormat(this.ymax),this.options.gridTextSize).width),this.left+=i,this.bottom-=1.5*this.options.gridTextSize),this.width=this.right-this.left,this.height=this.bottom-this.top,this.dx=this.width/(this.xmax-this.xmin),this.dy=this.height/(this.ymax-this.ymin),this.calc)?this.calc():void 0},r.prototype.transY=function(n){return this.bottom-(n-this.ymin)*this.dy},r.prototype.transX=function(n){return 1===this.data.length?(this.left+this.right)/2:this.left+(n-this.xmin)*this.dx},r.prototype.redraw=function(){return this.raphael.clear(),this._calc(),this.drawGrid(),this.drawGoals(),this.drawEvents(),this.draw?this.draw():void 0},r.prototype.measureText=function(n,t){var r,i;return null==t&&(t=12),i=this.raphael.text(100,100,n).attr("font-size",t),r=i.getBBox(),i.remove(),r},r.prototype.yAxisFormat=function(n){return this.yLabelFormat(n)},r.prototype.yLabelFormat=function(t){return"function"==typeof this.options.yLabelFormat?this.options.yLabelFormat(t):""+this.options.preUnits+n.commas(t)+this.options.postUnits},r.prototype.updateHover=function(n,t){var i,r;return i=this.hitTest(n,t),null!=i?(r=this.hover).update.apply(r,i):void 0},r.prototype.drawGrid=function(){var r,n,u,f,e,t,o,i;if(this.options.grid!==!1||this.options.axes!==!1){for(r=this.ymin,n=this.ymax,i=[],u=t=r,o=this.yInterval;n>=r?n>=t:t>=n;u=t+=o)f=parseFloat(u.toFixed(this.precision)),e=this.transY(f),this.options.axes&&this.drawYAxisLabel(this.left-this.options.padding/2,e,this.yAxisFormat(f)),this.options.grid?i.push(this.drawGridLine("M"+this.left+","+e+"H"+(this.left+this.width))):i.push(void 0);return i}},r.prototype.drawGoals=function(){var u,f,n,t,e,i,r;for(i=this.options.goals,r=[],n=t=0,e=i.length;e>t;n=++t)f=i[n],u=this.options.goalLineColors[n%this.options.goalLineColors.length],r.push(this.drawGoal(f,u));return r},r.prototype.drawEvents=function(){var u,f,n,t,e,i,r;for(i=this.events,r=[],n=t=0,e=i.length;e>t;n=++t)f=i[n],u=this.options.eventLineColors[n%this.options.eventLineColors.length],r.push(this.drawEvent(f,u));return r},r.prototype.drawGoal=function(n,t){return this.raphael.path("M"+this.left+","+this.transY(n)+"H"+this.right).attr("stroke",t).attr("stroke-width",this.options.goalStrokeWidth)},r.prototype.drawEvent=function(n,t){return this.raphael.path("M"+this.transX(n)+","+this.bottom+"V"+this.top).attr("stroke",t).attr("stroke-width",this.options.eventStrokeWidth)},r.prototype.drawYAxisLabel=function(n,t,i){return this.raphael.text(n,t,i).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor).attr("text-anchor","end")},r.prototype.drawGridLine=function(n){return this.raphael.path(n).attr("stroke",this.options.gridLineColor).attr("stroke-width",this.options.gridStrokeWidth)},r}(n.EventEmitter);n.parseDate=function(n){var e,o,c,s,u,r,h,i,t,f,l;return"number"==typeof n?n:(o=n.match(/^(\d+) Q(\d)$/),s=n.match(/^(\d+)-(\d+)$/),u=n.match(/^(\d+)-(\d+)-(\d+)$/),h=n.match(/^(\d+) W(\d+)$/),i=n.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+)(Z|([+-])(\d\d):?(\d\d))?$/),t=n.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+):(\d+(\.\d+)?)(Z|([+-])(\d\d):?(\d\d))?$/),o?new Date(parseInt(o[1],10),3*parseInt(o[2],10)-1,1).getTime():s?new Date(parseInt(s[1],10),parseInt(s[2],10)-1,1).getTime():u?new Date(parseInt(u[1],10),parseInt(u[2],10)-1,parseInt(u[3],10)).getTime():h?(f=new Date(parseInt(h[1],10),0,1),4!==f.getDay()&&f.setMonth(0,1+(11-f.getDay())%7),f.getTime()+6048e5*parseInt(h[2],10)):i?i[6]?(r=0,"Z"!==i[6]&&(r=60*parseInt(i[8],10)+parseInt(i[9],10),"+"===i[7]&&(r=0-r)),Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10),parseInt(i[4],10),parseInt(i[5],10)+r)):new Date(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10),parseInt(i[4],10),parseInt(i[5],10)).getTime():t?(l=parseFloat(t[6]),e=Math.floor(l),c=Math.round(1e3*(l-e)),t[8]?(r=0,"Z"!==t[8]&&(r=60*parseInt(t[10],10)+parseInt(t[11],10),"+"===t[9]&&(r=0-r)),Date.UTC(parseInt(t[1],10),parseInt(t[2],10)-1,parseInt(t[3],10),parseInt(t[4],10),parseInt(t[5],10)+r,e,c)):new Date(parseInt(t[1],10),parseInt(t[2],10)-1,parseInt(t[3],10),parseInt(t[4],10),parseInt(t[5],10),e,c).getTime()):new Date(parseInt(n,10),0,1).getTime())};n.Hover=function(){function i(i){null==i&&(i={});this.options=t.extend({},n.Hover.defaults,i);this.el=t("<div class='"+this.options["class"]+"'><\/div>");this.el.hide();this.options.parent.append(this.el)}return i.defaults={"class":"morris-hover morris-default-style"},i.prototype.update=function(n,t,i){return this.html(n),this.show(),this.moveTo(t,i)},i.prototype.html=function(n){return this.el.html(n)},i.prototype.moveTo=function(n,t){var r,f,e,u,o,i;return o=this.options.parent.innerWidth(),u=this.options.parent.innerHeight(),f=this.el.outerWidth(),r=this.el.outerHeight(),e=Math.min(Math.max(0,n-f/2),o-f),null!=t?(i=t-r-10,0>i&&(i=t+10,i+r>u&&(i=u/2-r/2))):i=u/2-r/2,this.el.css({left:e+"px",top:i+"px"})},i.prototype.show=function(){return this.el.show()},i.prototype.hide=function(){return this.el.hide()},i}();n.Line=function(t){function r(t){return this.hilight=i(this.hilight,this),this.onHoverOut=i(this.onHoverOut,this),this.onHoverMove=i(this.onHoverMove,this),this instanceof n.Line?void r.__super__.constructor.call(this,t):new n.Line(t)}return f(r,t),r.prototype.init=function(){return this.pointGrow=Raphael.animation({r:this.options.pointSize+3},25,"linear"),this.pointShrink=Raphael.animation({r:this.options.pointSize},25,"linear"),"always"!==this.options.hideHover?(this.hover=new n.Hover({parent:this.el}),this.on("hovermove",this.onHoverMove),this.on("hoverout",this.onHoverOut)):void 0},r.prototype.defaults={lineWidth:3,pointSize:4,lineColors:["#57889c","#71843f","#92a2a8","#afd8f8","#edc240","#cb4b4b","#9440ed"],pointWidths:[1],pointStrokeColors:["#ffffff"],pointFillColors:[],smooth:!0,xLabels:"auto",xLabelFormat:null,xLabelMargin:50,continuousLine:!0,hideHover:!1},r.prototype.calc=function(){return this.calcPoints(),this.generatePaths()},r.prototype.calcPoints=function(){var n,t,i,f,r,u;for(r=this.data,u=[],i=0,f=r.length;f>i;i++)n=r[i],n._x=this.transX(n.x),n._y=function(){var i,f,u,r;for(u=n.y,r=[],i=0,f=u.length;f>i;i++)t=u[i],null!=t?r.push(this.transY(t)):r.push(t);return r}.call(this),u.push(n._ymax=Math.min.apply(null,[this.bottom].concat(function(){var i,f,r,u;for(r=n._y,u=[],i=0,f=r.length;f>i;i++)t=r[i],null!=t&&u.push(t);return u}())));return u},r.prototype.hitTest=function(n){var t,u,i,f,r;if(0===this.data.length)return null;for(r=this.data.slice(1),t=i=0,f=r.length;f>i&&(u=r[t],!(n<(u._x+this.data[t]._x)/2));t=++i);return t},r.prototype.onHoverMove=function(n,t){var i;return i=this.hitTest(n,t),this.displayHoverForRow(i)},r.prototype.onHoverOut=function(){if("auto"===this.options.hideHover)return this.displayHoverForRow(null)},r.prototype.displayHoverForRow=function(n){var t;return null!=n?((t=this.hover).update.apply(t,this.hoverContentForRow(n)),this.hilight(n)):(this.hover.hide(),this.hilight())},r.prototype.hoverContentForRow=function(n){var r,i,t,e,u,o,f;if(t=this.data[n],"function"==typeof this.options.hoverCallback)r=this.options.hoverCallback(n,this.options);else for(r="<div class='morris-hover-row-label'>"+t.label+"<\/div>",f=t.y,i=u=0,o=f.length;o>u;i=++u)e=f[i],r+="<div class='morris-hover-point' style='color: "+this.colorFor(t,i,"label")+"'>\n  "+this.options.labels[i]+":\n  "+this.yLabelFormat(e)+"\n<\/div>";return[r,t._x,t._ymax]},r.prototype.generatePaths=function(){var u,t,i,r,f;return this.paths=function(){var e,o,c,h;for(h=[],i=e=0,o=this.options.ykeys.length;o>=0?o>e:e>o;i=o>=0?++e:--e)f=this.options.smooth===!0||(c=this.options.ykeys[i],s.call(this.options.smooth,c)>=0),t=function(){var n,f,t,u;for(t=this.data,u=[],n=0,f=t.length;f>n;n++)r=t[n],void 0!==r._y[i]&&u.push({x:r._x,y:r._y[i]});return u}.call(this),this.options.continuousLine&&(t=function(){var n,r,i;for(i=[],n=0,r=t.length;r>n;n++)u=t[n],null!==u.y&&i.push(u);return i}()),t.length>1?h.push(n.Line.createPath(t,f,this.bottom)):h.push(null);return h}.call(this)},r.prototype.draw=function(){return this.options.axes&&this.drawXAxis(),this.drawSeries(),this.options.hideHover===!1?this.displayHoverForRow(this.data.length-1):void 0},r.prototype.drawXAxis=function(){var s,f,t,i,e,h,r,c,o,u=this;for(h=this.bottom+1.25*this.options.gridTextSize,i=null,s=function(n,t){var f,r;return f=u.drawXAxisLabel(u.transX(t),h,n),r=f.getBBox(),(null==i||i>=r.x+r.width)&&r.x>=0&&r.x+r.width<u.el.width()?i=r.x-u.options.xLabelMargin:f.remove()},t=this.options.parseTime?1===this.data.length&&"auto"===this.options.xLabels?[[this.data[0].label,this.data[0].x]]:n.labelSeries(this.xmin,this.xmax,this.width,this.options.xLabels,this.options.xLabelFormat):function(){var n,r,t,i;for(t=this.data,i=[],n=0,r=t.length;r>n;n++)e=t[n],i.push([e.label,e.x]);return i}.call(this),t.reverse(),o=[],r=0,c=t.length;c>r;r++)f=t[r],o.push(s(f[0],f[1]));return o},r.prototype.drawSeries=function(){for(var s,u,t,i,r,f,e,o,n=i=f=this.options.ykeys.length-1;0>=f?0>=i:i>=0;n=0>=f?++i:--i)u=this.paths[n],null!==u&&this.drawLinePath(u,this.colorFor(t,n,"line"));for(this.seriesPoints=function(){var t,i,r;for(r=[],n=t=0,i=this.options.ykeys.length;i>=0?i>t:t>i;n=i>=0?++t:--t)r.push([]);return r}.call(this),o=[],n=r=e=this.options.ykeys.length-1;0>=e?0>=r:r>=0;n=0>=e?++r:--r)o.push(function(){var i,f,r,u;for(r=this.data,u=[],i=0,f=r.length;f>i;i++)t=r[i],s=null!=t._y[n]?this.drawLinePoint(t._x,t._y[n],this.options.pointSize,this.colorFor(t,n,"point"),n):null,u.push(this.seriesPoints[n].push(s));return u}.call(this));return o},r.createPath=function(t,i,r){var u,l,h,f,o,a,s,e,v,y,p,w,c,b;for(s="",i&&(h=n.Line.gradients(t)),e={y:null},f=c=0,b=t.length;b>c;f=++c)u=t[f],null!=u.y&&(null!=e.y?i?(l=h[f],a=h[f-1],o=(u.x-e.x)/4,v=e.x+o,p=Math.min(r,e.y+o*a),y=u.x-o,w=Math.min(r,u.y-o*l),s+="C"+v+","+p+","+y+","+w+","+u.x+","+u.y):s+="L"+u.x+","+u.y:i&&null==h[f]||(s+="M"+u.x+","+u.y)),e=u;return s},r.gradients=function(n){var f,e,i,r,u,o,s,t;for(e=function(n,t){return(n.y-t.y)/(n.x-t.x)},t=[],i=o=0,s=n.length;s>o;i=++o)f=n[i],null!=f.y?(r=n[i+1]||{y:null},u=n[i-1]||{y:null},null!=u.y&&null!=r.y?t.push(e(u,r)):null!=u.y?t.push(e(u,f)):null!=r.y?t.push(e(f,r)):t.push(null)):t.push(null);return t},r.prototype.hilight=function(n){var t,i,r,u,f;if(null!==this.prevHilight&&this.prevHilight!==n)for(t=i=0,u=this.seriesPoints.length-1;u>=0?u>=i:i>=u;t=u>=0?++i:--i)this.seriesPoints[t][this.prevHilight]&&this.seriesPoints[t][this.prevHilight].animate(this.pointShrink);if(null!==n&&this.prevHilight!==n)for(t=r=0,f=this.seriesPoints.length-1;f>=0?f>=r:r>=f;t=f>=0?++r:--r)this.seriesPoints[t][n]&&this.seriesPoints[t][n].animate(this.pointGrow);return this.prevHilight=n},r.prototype.colorFor=function(n,t,i){return"function"==typeof this.options.lineColors?this.options.lineColors.call(this,n,t,i):"point"===i?this.options.pointFillColors[t%this.options.pointFillColors.length]||this.options.lineColors[t%this.options.lineColors.length]:this.options.lineColors[t%this.options.lineColors.length]},r.prototype.drawXAxisLabel=function(n,t,i){return this.raphael.text(n,t,i).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor)},r.prototype.drawLinePath=function(n,t){return this.raphael.path(n).attr("stroke",t).attr("stroke-width",this.options.lineWidth)},r.prototype.drawLinePoint=function(n,t,i,r,u){return this.raphael.circle(n,t,i).attr("fill",r).attr("stroke-width",this.strokeWidthForSeries(u)).attr("stroke",this.strokeForSeries(u))},r.prototype.strokeWidthForSeries=function(n){return this.options.pointWidths[n%this.options.pointWidths.length]},r.prototype.strokeForSeries=function(n){return this.options.pointStrokeColors[n%this.options.pointStrokeColors.length]},r}(n.Grid);n.labelSeries=function(i,r,u,f,e){var s,y,p,w,c,l,o,a,h,b,v;if(p=200*(r-i)/u,y=new Date(i),o=n.LABEL_SPECS[f],void 0===o)for(v=n.AUTO_LABEL_ORDER,h=0,b=v.length;b>h;h++)if(w=v[h],l=n.LABEL_SPECS[w],p>=l.span){o=l;break}for(void 0===o&&(o=n.LABEL_SPECS.second),e&&(o=t.extend({},o,{fmt:e})),s=o.start(y),c=[];(a=s.getTime())<=r;)a>=i&&c.push([o.fmt(s),a]),o.incr(s);return c};r=function(t){return{span:6e4*t,start:function(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours())},fmt:function(t){return""+n.pad2(t.getHours())+":"+n.pad2(t.getMinutes())},incr:function(n){return n.setMinutes(n.getMinutes()+t)}}};u=function(t){return{span:1e3*t,start:function(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes())},fmt:function(t){return""+n.pad2(t.getHours())+":"+n.pad2(t.getMinutes())+":"+n.pad2(t.getSeconds())},incr:function(n){return n.setSeconds(n.getSeconds()+t)}}};n.LABEL_SPECS={decade:{span:1728e8,start:function(n){return new Date(n.getFullYear()-n.getFullYear()%10,0,1)},fmt:function(n){return""+n.getFullYear()},incr:function(n){return n.setFullYear(n.getFullYear()+10)}},year:{span:1728e7,start:function(n){return new Date(n.getFullYear(),0,1)},fmt:function(n){return""+n.getFullYear()},incr:function(n){return n.setFullYear(n.getFullYear()+1)}},month:{span:24192e5,start:function(n){return new Date(n.getFullYear(),n.getMonth(),1)},fmt:function(t){return""+t.getFullYear()+"-"+n.pad2(t.getMonth()+1)},incr:function(n){return n.setMonth(n.getMonth()+1)}},day:{span:864e5,start:function(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate())},fmt:function(t){return""+t.getFullYear()+"-"+n.pad2(t.getMonth()+1)+"-"+n.pad2(t.getDate())},incr:function(n){return n.setDate(n.getDate()+1)}},hour:r(60),"30min":r(30),"15min":r(15),"10min":r(10),"5min":r(5),minute:r(1),"30sec":u(30),"15sec":u(15),"10sec":u(10),"5sec":u(5),second:u(1)};n.AUTO_LABEL_ORDER=["decade","year","month","day","hour","30min","15min","10min","5min","minute","30sec","15sec","10sec","5sec","second"];n.Area=function(t){function i(t){return this instanceof n.Area?(this.cumulative=!0,void i.__super__.constructor.call(this,t)):new n.Area(t)}return f(i,t),i.prototype.calcPoints=function(){var n,i,f,t,e,r,u;for(r=this.data,u=[],t=0,e=r.length;e>t;t++)n=r[t],n._x=this.transX(n.x),i=0,n._y=function(){var t,e,r,u;for(r=n.y,u=[],t=0,e=r.length;e>t;t++)f=r[t],i+=f||0,u.push(this.transY(i));return u}.call(this),u.push(n._ymax=n._y[n._y.length-1]);return u},i.prototype.drawSeries=function(){for(var r,n,u,t=n=u=this.options.ykeys.length-1;0>=u?0>=n:n>=0;t=0>=u?++n:--n)r=this.paths[t],null!==r&&(r+="L"+this.transX(this.xmax)+","+this.bottom+"L"+this.transX(this.xmin)+","+this.bottom+"Z",this.drawFilledPath(r,this.fillForSeries(t)));return i.__super__.drawSeries.call(this)},i.prototype.fillForSeries=function(n){var t;return t=Raphael.rgb2hsl(this.colorFor(this.data[n],n,"line")),Raphael.hsl(t.h,Math.min(255,.75*t.s),Math.min(255,1.25*t.l))},i.prototype.drawFilledPath=function(n,t){return this.raphael.path(n).attr("fill",t).attr("stroke-width",0)},i}(n.Line);n.Bar=function(r){function u(r){return this.onHoverOut=i(this.onHoverOut,this),this.onHoverMove=i(this.onHoverMove,this),this instanceof n.Bar?void u.__super__.constructor.call(this,t.extend({},r,{parseTime:!1})):new n.Bar(r)}return f(u,r),u.prototype.init=function(){return this.cumulative=this.options.stacked,"always"!==this.options.hideHover?(this.hover=new n.Hover({parent:this.el}),this.on("hovermove",this.onHoverMove),this.on("hoverout",this.onHoverOut)):void 0},u.prototype.defaults={barSizeRatio:.75,barGap:3,barColors:["#57889c","#71843f","#92a2a8","#afd8f8","#edc240","#cb4b4b","#9440ed"],xLabelMargin:50},u.prototype.calc=function(){var n;return this.calcBars(),this.options.hideHover===!1?(n=this.hover).update.apply(n,this.hoverContentForRow(this.data.length-1)):void 0},u.prototype.calcBars=function(){var n,t,i,r,e,u,f;for(u=this.data,f=[],n=r=0,e=u.length;e>r;n=++r)t=u[n],t._x=this.left+this.width*(n+.5)/this.data.length,f.push(t._y=function(){var n,f,u,r;for(u=t.y,r=[],n=0,f=u.length;f>n;n++)i=u[n],null!=i?r.push(this.transY(i)):r.push(null);return r}.call(this));return f},u.prototype.draw=function(){return this.options.axes&&this.drawXAxis(),this.drawSeries()},u.prototype.drawXAxis=function(){var f,e,n,r,o,s,t,i,u;for(s=this.bottom+1.25*this.options.gridTextSize,r=null,u=[],f=t=0,i=this.data.length;i>=0?i>t:t>i;f=i>=0?++t:--t)o=this.data[this.data.length-1-f],e=this.drawXAxisLabel(o._x,s,o.label),n=e.getBBox(),(null==r||r>=n.x+n.width)&&n.x>=0&&n.x+n.width<this.el.width()?u.push(r=n.x-this.options.xLabelMargin):u.push(e.remove());return u},u.prototype.drawSeries=function(){var e,o,r,u,s,h,v,c,l,n,a,t,i,f;return r=this.width/this.options.data.length,c=null!=this.options.stacked?1:this.options.ykeys.length,e=(r*this.options.barSizeRatio-this.options.barGap*(c-1))/c,v=r*(1-this.options.barSizeRatio)/2,f=this.ymin<=0&&this.ymax>=0?this.transY(0):null,this.bars=function(){var c,w,y,p;for(y=this.data,p=[],u=c=0,w=y.length;w>c;u=++c)l=y[u],s=0,p.push(function(){var y,w,p,c;for(p=l._y,c=[],n=y=0,w=p.length;w>y;n=++y)i=p[n],null!==i?(f?(t=Math.min(i,f),o=Math.max(i,f)):(t=i,o=this.bottom),h=this.left+u*r+v,this.options.stacked||(h+=n*(e+this.options.barGap)),a=o-t,this.options.stacked&&(t-=s),this.drawBar(h,t,e,a,this.colorFor(l,n,"bar")),c.push(s+=a)):c.push(null);return c}.call(this));return p}.call(this)},u.prototype.colorFor=function(n,t,i){var r,u;return"function"==typeof this.options.barColors?(r={x:n.x,y:n.y[t],label:n.label},u={index:t,key:this.options.ykeys[t],label:this.options.labels[t]},this.options.barColors.call(this,r,u,i)):this.options.barColors[t%this.options.barColors.length]},u.prototype.hitTest=function(n){return 0===this.data.length?null:(n=Math.max(Math.min(n,this.right),this.left),Math.min(this.data.length-1,Math.floor((n-this.left)/(this.width/this.data.length))))},u.prototype.onHoverMove=function(n,t){var i,r;return i=this.hitTest(n,t),(r=this.hover).update.apply(r,this.hoverContentForRow(i))},u.prototype.onHoverOut=function(){if("auto"===this.options.hideHover)return this.hover.hide()},u.prototype.hoverContentForRow=function(n){var i,t,r,e,o,u,s,f;if("function"==typeof this.options.hoverCallback)i=this.options.hoverCallback(n,this.options);else for(r=this.data[n],i="<div class='morris-hover-row-label'>"+r.label+"<\/div>",f=r.y,t=u=0,s=f.length;s>u;t=++u)o=f[t],i+="<div class='morris-hover-point' style='color: "+this.colorFor(r,t,"label")+"'>\n  "+this.options.labels[t]+":\n  "+this.yLabelFormat(o)+"\n<\/div>";return e=this.left+(n+.5)*this.width/this.data.length,[i,e]},u.prototype.drawXAxisLabel=function(n,t,i){return this.raphael.text(n,t,i).attr("font-size",this.options.gridTextSize).attr("fill",this.options.gridTextColor)},u.prototype.drawBar=function(n,t,i,r,u){return this.raphael.rect(n,t,i,r).attr("fill",u).attr("stroke-width",0)},u}(n.Grid);n.Donut=function(){function r(r){if(this.select=i(this.select,this),!(this instanceof n.Donut))return new n.Donut(r);if(this.el="string"==typeof r.element?t(document.getElementById(r.element)):t(r.element),this.options=t.extend({},this.defaults,r),null===this.el||0===this.el.length)throw new Error("Graph placeholder not found.");void 0!==r.data&&0!==r.data.length&&(this.data=r.data,this.redraw())}return r.prototype.defaults={colors:["#57889c","#3980B5","#679DC6","#95BBD7","#B0CCE1","#095791","#095085","#083E67","#052C48","#042135"],backgroundColor:"#FFFFFF",labelColor:"#000000",formatter:n.commas},r.prototype.redraw=function(){var k,r,u,t,i,f,d,l,a,e,v,o,g,s,h,c,nt,tt,it,y,p,w,b;for(this.el.empty(),this.raphael=new Raphael(this.el[0]),r=this.el.width()/2,u=this.el.height()/2,o=(Math.min(r,u)-10)/3,v=0,y=this.data,s=0,nt=y.length;nt>s;s++)g=y[s],v+=g.value;for(l=5/(2*o),k=1.9999*Math.PI-l*this.data.length,f=0,i=0,this.segments=[],p=this.data,h=0,tt=p.length;tt>h;h++)t=p[h],a=f+l+k*(t.value/v),e=new n.DonutSegment(r,u,2*o,o,f,a,this.options.colors[i%this.options.colors.length],this.options.backgroundColor,t,this.raphael),e.render(),this.segments.push(e),e.on("hover",this.select),f=a,i+=1;for(this.text1=this.drawEmptyDonutLabel(r,u-10,this.options.labelColor,15,800),this.text2=this.drawEmptyDonutLabel(r,u+10,this.options.labelColor,14),d=Math.max.apply(null,function(){var n,u,i,r;for(i=this.data,r=[],n=0,u=i.length;u>n;n++)t=i[n],r.push(t.value);return r}.call(this)),i=0,w=this.data,b=[],c=0,it=w.length;it>c;c++){if(t=w[c],t.value===d){this.select(i);break}b.push(i+=1)}return b},r.prototype.select=function(n){var u,t,i,f,r;for(r=this.segments,i=0,f=r.length;f>i;i++)u=r[i],u.deselect();return t="number"==typeof n?this.segments[n]:n,t.select(),this.setLabels(t.data.label,this.options.formatter(t.data.value,t.data))},r.prototype.setLabels=function(n,t){var u,s,h,f,i,e,r,o;return u=2*(Math.min(this.el.width()/2,this.el.height()/2)-10)/3,f=1.8*u,h=u/2,s=u/3,this.text1.attr({text:n,transform:""}),i=this.text1.getBBox(),e=Math.min(f/i.width,h/i.height),this.text1.attr({transform:"S"+e+","+e+","+(i.x+i.width/2)+","+(i.y+i.height)}),this.text2.attr({text:t,transform:""}),r=this.text2.getBBox(),o=Math.min(f/r.width,s/r.height),this.text2.attr({transform:"S"+o+","+o+","+(r.x+r.width/2)+","+r.y})},r.prototype.drawEmptyDonutLabel=function(n,t,i,r,u){var f;return f=this.raphael.text(n,t,"").attr("font-size",r).attr("fill",i),null!=u&&f.attr("font-weight",u),f},r}();n.DonutSegment=function(n){function t(n,t,r,u,f,e,o,s,h,c){this.cx=n;this.cy=t;this.inner=r;this.outer=u;this.color=o;this.backgroundColor=s;this.data=h;this.raphael=c;this.deselect=i(this.deselect,this);this.select=i(this.select,this);this.sin_p0=Math.sin(f);this.cos_p0=Math.cos(f);this.sin_p1=Math.sin(e);this.cos_p1=Math.cos(e);this.is_long=e-f>Math.PI?1:0;this.path=this.calcSegment(this.inner+3,this.inner+this.outer-5);this.selectedPath=this.calcSegment(this.inner+3,this.inner+this.outer);this.hilight=this.calcArc(this.inner)}return f(t,n),t.prototype.calcArcPoints=function(n){return[this.cx+n*this.sin_p0,this.cy+n*this.cos_p0,this.cx+n*this.sin_p1,this.cy+n*this.cos_p1]},t.prototype.calcSegment=function(n,t){var u,f,e,o,s,h,c,l,i,r;return i=this.calcArcPoints(n),u=i[0],e=i[1],f=i[2],o=i[3],r=this.calcArcPoints(t),s=r[0],c=r[1],h=r[2],l=r[3],"M"+u+","+e+("A"+n+","+n+",0,"+this.is_long+",0,"+f+","+o)+("L"+h+","+l)+("A"+t+","+t+",0,"+this.is_long+",1,"+s+","+c)+"Z"},t.prototype.calcArc=function(n){var i,r,u,f,t;return t=this.calcArcPoints(n),i=t[0],u=t[1],r=t[2],f=t[3],"M"+i+","+u+("A"+n+","+n+",0,"+this.is_long+",0,"+r+","+f)},t.prototype.render=function(){var n=this;return this.arc=this.drawDonutArc(this.hilight,this.color),this.seg=this.drawDonutSegment(this.path,this.color,this.backgroundColor,function(){return n.fire("hover",n)})},t.prototype.drawDonutArc=function(n,t){return this.raphael.path(n).attr({stroke:t,"stroke-width":2,opacity:0})},t.prototype.drawDonutSegment=function(n,t,i,r){return this.raphael.path(n).attr({fill:t,stroke:i,"stroke-width":3}).hover(r)},t.prototype.select=function(){if(!this.selected)return(this.seg.animate({path:this.selectedPath},150,"<>"),this.arc.animate({opacity:1},150,"<>"),this.selected=!0)},t.prototype.deselect=function(){if(this.selected)return(this.seg.animate({path:this.path},150,"<>"),this.arc.animate({opacity:0},150,"<>"),this.selected=!1)},t}(n.EventEmitter)}.call(this);!function(n){var r,i,o="0.4.2",e="hasOwnProperty",f=/[\.\/]/,s="*",h=function(){},c=function(n,t){return n-t},u={n:{}},t=function(n,u){var e,y;n=String(n);var f,p=i,a=Array.prototype.slice.call(arguments,2),o=t.listeners(n),l=0,h=[],v={},s=[],w=r;for(r=n,i=0,e=0,y=o.length;y>e;e++)"zIndex"in o[e]&&(h.push(o[e].zIndex),o[e].zIndex<0&&(v[o[e].zIndex]=o[e]));for(h.sort(c);h[l]<0;)if(f=v[h[l++]],s.push(f.apply(u,a)),i)return i=p,s;for(e=0;y>e;e++)if(f=o[e],"zIndex"in f)if(f.zIndex==h[l]){if(s.push(f.apply(u,a)),i)break;do if(l++,f=v[h[l]],f&&s.push(f.apply(u,a)),i)break;while(f)}else v[f.zIndex]=f;else if(s.push(f.apply(u,a)),i)break;return i=p,r=w,s.length?s:null};t._events=u;t.listeners=function(n){for(var t,a,o,r,y,h,p=n.split(f),e=u,c=[e],l=[],i=0,v=p.length;v>i;i++){for(h=[],r=0,y=c.length;y>r;r++)for(e=c[r].n,a=[e[p[i]],e[s]],o=2;o--;)t=a[o],t&&(h.push(t),l=l.concat(t.f||[]));c=h}return l};t.on=function(n,t){if(n=String(n),"function"!=typeof t)return function(){};for(var e=n.split(f),i=u,r=0,o=e.length;o>r;r++)i=i.n,i=i.hasOwnProperty(e[r])&&i[e[r]]||(i[e[r]]={n:{}});for(i.f=i.f||[],r=0,o=i.f.length;o>r;r++)if(i.f[r]==t)return h;return i.f.push(t),function(n){+n==+n&&(t.zIndex=+n)}};t.f=function(n){var i=[].slice.call(arguments,1);return function(){t.apply(null,[n,null].concat(i).concat([].slice.call(arguments,0)))}};t.stop=function(){i=1};t.nt=function(n){return n?new RegExp("(?:\\.|\\/|^)"+n+"(?:\\.|\\/|$)").test(r):r};t.nts=function(){return r.split(f)};t.off=t.unbind=function(n,i){var r,h,a,c,p,o,w,v,l,y;if(!n)return void(t._events=u={n:{}});for(v=n.split(f),l=[u],c=0,p=v.length;p>c;c++)for(o=0;o<l.length;o+=a.length-2){if(a=[o,1],r=l[o].n,v[c]!=s)r[v[c]]&&a.push(r[v[c]]);else for(h in r)r[e](h)&&a.push(r[h]);l.splice.apply(l,a)}for(c=0,p=l.length;p>c;c++)for(r=l[c];r.n;){if(i){if(r.f){for(o=0,w=r.f.length;w>o;o++)if(r.f[o]==i){r.f.splice(o,1);break}r.f.length||delete r.f}for(h in r.n)if(r.n[e](h)&&r.n[h].f){for(y=r.n[h].f,o=0,w=y.length;w>o;o++)if(y[o]==i){y.splice(o,1);break}y.length||delete r.n[h].f}}else{delete r.f;for(h in r.n)r.n[e](h)&&r.n[h].f&&delete r.n[h].f}r=r.n}};t.once=function(n,i){var r=function(){return t.unbind(n,r),i.apply(this,arguments)};return t.on(n,r)};t.version=o;t.toString=function(){return"You are running Eve "+o};"undefined"!=typeof module&&module.exports?module.exports=t:"undefined"!=typeof define?define("eve",[],function(){return t}):n.eve=t}(window||this),function(n,t){"function"==typeof define&&define.amd?define(["eve"],function(i){return t(n,i)}):t(n,n.eve)}(this,function(n,t){function i(n){var r,u;return i.is(n,"function")?vi?n():t.on("raphael.DOMload",n):i.is(n,tt)?i._engine.create[v](i,n.splice(0,3+i.is(n[0],p))).add(n):(r=Array.prototype.slice.call(arguments,0),i.is(r[r.length-1],"function"))?(u=r.pop(),vi?u.call(i._engine.create[v](i,r)):t.on("raphael.DOMload",function(){u.call(i._engine.create[v](i,r))})):i._engine.create[v](i,arguments)}function yt(n){var i,t;if("function"==typeof n||Object(n)!==n)return n;i=new n.constructor;for(t in n)n[a](t)&&(i[t]=yt(n[t]));return i}function cu(n,t){for(var i=0,r=n.length;r>i;i++)if(n[i]===t)return n.push(n.splice(i,1)[0])}function it(n,t,i){function r(){var o=Array.prototype.slice.call(arguments,0),u=o.join("␀"),f=r.cache=r.cache||{},e=r.count=r.count||[];return f[a](u)?(cu(e,u),i?i(f[u]):f[u]):(e.length>=1e3&&delete f[e.shift()],e.push(u),f[u]=n[v](t,o),i?i(f[u]):f[u])}return r}function dt(){return this.hex}function or(n,t){for(var i,f=[],r=0,u=n.length;u-2*!t>r;r+=2)i=[{x:+n[r-2],y:+n[r-1]},{x:+n[r],y:+n[r+1]},{x:+n[r+2],y:+n[r+3]},{x:+n[r+4],y:+n[r+5]}],t?r?u-4==r?i[3]={x:+n[0],y:+n[1]}:u-2==r&&(i[2]={x:+n[0],y:+n[1]},i[3]={x:+n[2],y:+n[3]}):i[0]={x:+n[u-2],y:+n[u-1]}:u-4==r?i[3]=i[2]:r||(i[0]={x:+n[r],y:+n[r+1]}),f.push(["C",(-i[0].x+6*i[1].x+i[2].x)/6,(-i[0].y+6*i[1].y+i[2].y)/6,(i[1].x+6*i[2].x-i[3].x)/6,(i[1].y+6*i[2].y-i[3].y)/6,i[2].x,i[2].y]);return f}function sr(n,t,i,r,u){var f=-3*t+9*i-9*r+3*u,e=n*f+6*t-12*i+6*r;return n*e-3*t+3*i}function lt(n,t,i,r,f,e,o,s,h){null==h&&(h=1);h=h>1?1:0>h?0:h;for(var l=h/2,w=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],b=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],a=0,c=0;12>c;c++){var v=l*w[c]+l,y=sr(v,n,i,f,o),p=sr(v,t,r,e,s),k=y*y+p*p;a+=b[c]*u.sqrt(k)}return l*a}function lu(n,t,i,r,u,f,e,o,s){if(!(0>s||lt(n,t,i,r,u,f,e,o)<s)){for(var a=1,l=a/2,c=a-l,h=lt(n,t,i,r,u,f,e,o,c);y(h-s)>.01;)l/=2,c+=(s>h?1:-1)*l,h=lt(n,t,i,r,u,f,e,o,c);return c}}function au(n,t,i,r,u,f,e,s){if(!(o(n,i)<l(u,e)||l(n,i)>o(u,e)||o(t,r)<l(f,s)||l(t,r)>o(f,s))){var p=(n*r-t*i)*(u-e)-(n-i)*(u*s-f*e),w=(n*r-t*i)*(f-s)-(t-r)*(u*s-f*e),a=(n-i)*(f-s)-(t-r)*(u-e);if(a){var v=p/a,y=w/a,h=+v.toFixed(2),c=+y.toFixed(2);if(!(h<+l(n,i).toFixed(2)||h>+o(n,i).toFixed(2)||h<+l(u,e).toFixed(2)||h>+o(u,e).toFixed(2)||c<+l(t,r).toFixed(2)||c>+o(t,r).toFixed(2)||c<+l(f,s).toFixed(2)||c>+o(f,s).toFixed(2)))return{x:v,y:y}}}}function vu(n,t,r){var ut=i.bezierBBox(n),ft=i.bezierBBox(t),h,c,d,g;if(!i.isBBoxIntersect(ut,ft))return r?0:[];for(var et=lt.apply(0,n),ot=lt.apply(0,t),p=o(~~(et/5),1),w=o(~~(ot/5),1),nt=[],tt=[],rt={},it=r?0:[],u=0;p+1>u;u++)h=i.findDotsAtSegment.apply(i,n.concat(u/p)),nt.push({x:h.x,y:h.y,t:u/p});for(u=0;w+1>u;u++)h=i.findDotsAtSegment.apply(i,t.concat(u/w)),tt.push({x:h.x,y:h.y,t:u/w});for(u=0;p>u;u++)for(c=0;w>c;c++){var e=nt[u],a=nt[u+1],s=tt[c],v=tt[c+1],b=y(a.x-e.x)<.001?"y":"x",k=y(v.x-s.x)<.001?"y":"x",f=au(e.x,e.y,a.x,a.y,s.x,s.y,v.x,v.y);if(f){if(rt[f.x.toFixed(4)]==f.y.toFixed(4))continue;rt[f.x.toFixed(4)]=f.y.toFixed(4);d=e.t+y((f[b]-e[b])/(a[b]-e[b]))*(a.t-e.t);g=s.t+y((f[k]-s[k])/(v[k]-s[k]))*(v.t-s.t);d>=0&&1.001>=d&&g>=0&&1.001>=g&&(r?it++:it.push({x:f.x,y:f.y,t1:l(d,1),t2:l(g,1)}))}}return it}function ai(n,t,r){var a,y,nt,v,u,f,tt;n=i._path2curve(n);t=i._path2curve(t);for(var e,o,s,h,p,w,b,k,c,l,d=r?0:[],g=0,it=n.length;it>g;g++)if(a=n[g],"M"==a[0])e=p=a[1],o=w=a[2];else for("C"==a[0]?(c=[e,o].concat(a.slice(1)),e=c[6],o=c[7]):(c=[e,o,e,o,p,w,p,w],e=p,o=w),y=0,nt=t.length;nt>y;y++)if(v=t[y],"M"==v[0])s=b=v[1],h=k=v[2];else if("C"==v[0]?(l=[s,h].concat(v.slice(1)),s=l[6],h=l[7]):(l=[s,h,s,h,b,k,b,k],s=b,h=k),u=vu(c,l,r),r)d+=u;else{for(f=0,tt=u.length;tt>f;f++)u[f].segment1=g,u[f].segment2=y,u[f].bez1=c,u[f].bez2=l;d=d.concat(u)}return d}function st(n,t,i,r,u,f){null!=n?(this.a=+n,this.b=+t,this.c=+i,this.d=+r,this.e=+u,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function hr(){return this.x+wt+this.y+wt+this.width+" × "+this.height}function yu(n,t,i,r,u,f){function h(n){return((c*n+o)*n+e)*n}function a(n,t){var i=v(n,t);return((p*i+l)*i+s)*i}function v(n,t){for(var r,u,f,s,i=n,l=0;8>l;l++){if(f=h(i)-n,y(f)<t)return i;if(s=(3*c*i+2*o)*i+e,y(s)<1e-6)break;i-=f/s}if(r=0,u=1,i=n,r>i)return r;if(i>u)return u;for(;u>r;){if(f=h(i),y(f-n)<t)return i;n>f?r=i:u=i;i=(u-r)/2+r}return i}var e=3*t,o=3*(r-t)-e,c=1-e-o,s=3*i,l=3*(u-i)-s,p=1-s-l;return a(n,1/(200*f))}function ft(n,t){var i=[],u={},r;if(this.ms=t,this.times=1,n){for(r in n)n[a](r)&&(u[h(r)]=n[r],i.push(h(r)));i.sort(ef)}this.anim=u;this.top=i[i.length-1];this.percents=i}function pt(n,r,u,e,o,c){var nt,v,et,l,at,dt,ii,tt,vt,gt,yt,d,rt,ht,ct,ni,ft,lt;u=h(u);var it,ot,pt,ti,wt,kt,w=n.ms,y={},g={},k={};if(e){for(v=0,et=f.length;et>v;v++)if(nt=f[v],nt.el.id==r.id&&nt.anim==n){nt.percent!=u?(f.splice(v,1),pt=1):ot=nt;r.attr(nt.totalOrigin);break}}else e=+g;for(v=0,et=n.percents.length;et>v;v++){if(n.percents[v]==u||n.percents[v]>e*n.top){u=n.percents[v];wt=n.percents[v-1]||0;w=w/n.top*(u-wt);ti=n.percents[v+1];it=n.anim[u];break}e&&r.attr(n.anim[n.percents[v]])}if(it){if(ot)ot.initstatus=e,ot.start=new Date-ot.ms*e;else{for(l in it)if(it[a](l)&&(bi[a](l)||r.paper.customAttributes[a](l)))switch(y[l]=r.attr(l),null==y[l]&&(y[l]=nf[l]),g[l]=it[l],bi[l]){case p:k[l]=(g[l]-y[l])/w;break;case"colour":y[l]=i.getRGB(y[l]);at=i.getRGB(g[l]);k[l]={r:(at.r-y[l].r)/w,g:(at.g-y[l].g)/w,b:(at.b-y[l].b)/w};break;case"path":for(dt=bt(y[l],g[l]),ii=dt[1],y[l]=dt[0],k[l]=[],v=0,et=y[l].length;et>v;v++)for(k[l][v]=[0],tt=1,vt=y[l][v].length;vt>tt;tt++)k[l][v][tt]=(ii[v][tt]-y[l][v][tt])/w;break;case"transform":if(gt=r._,yt=vf(gt[l],g[l]),yt)for(y[l]=yt.from,g[l]=yt.to,k[l]=[],k[l].real=!0,v=0,et=y[l].length;et>v;v++)for(k[l][v]=[y[l][v][0]],tt=1,vt=y[l][v].length;vt>tt;tt++)k[l][v][tt]=(g[l][v][tt]-y[l][v][tt])/w;else d=r.matrix||new st,rt={_:{transform:gt.transform},getBBox:function(){return r.getBBox(1)}},y[l]=[d.a,d.b,d.c,d.d,d.e,d.f],iu(rt,g[l]),g[l]=rt._.transform,k[l]=[(rt.matrix.a-d.a)/w,(rt.matrix.b-d.b)/w,(rt.matrix.c-d.c)/w,(rt.matrix.d-d.d)/w,(rt.matrix.e-d.e)/w,(rt.matrix.f-d.f)/w];break;case"csv":if(ht=b(it[l])[ut](yi),ct=b(y[l])[ut](yi),"clip-rect"==l)for(y[l]=ct,k[l]=[],v=ct.length;v--;)k[l][v]=(ht[v]-y[l][v])/w;g[l]=ht;break;default:for(ht=[][s](it[l]),ct=[][s](y[l]),k[l]=[],v=r.paper.customAttributes[l].length;v--;)k[l][v]=((ht[v]||0)-(ct[v]||0))/w}if(ni=it.easing,ft=i.easing_formulas[ni],ft||((ft=b(ni).match(gu),ft&&5==ft.length)?(lt=ft,ft=function(n){return yu(n,+lt[1],+lt[2],+lt[3],+lt[4],w)}):ft=sf),kt=it.start||n.start||+new Date,nt={anim:n,percent:u,timestamp:kt,start:kt+(n.del||0),status:0,initstatus:e||0,stop:!1,ms:w,easing:ft,from:y,diff:k,to:g,el:r,callback:it.callback,prev:wt,next:ti,repeat:c||n.times,origin:r.attr(),totalOrigin:o},f.push(nt),e&&!ot&&!pt&&(nt.stop=!0,nt.start=new Date-w*e,1==f.length))return fr();pt&&(nt.start=new Date-nt.ms*e);1==f.length&&hu(fr)}t("raphael.anim.start."+r.id,r,n)}}function cr(n){for(var t=0;t<f.length;t++)f[t].el.paper==n&&f.splice(t--,1)}var fi,ei,et,kt,ct,eu,g,vt,w,li;i.version="2.1.2";i.eve=t;var vi,c,yi=/[, ]+/,pu={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},wu=/\{(\d+)\}/g,a="hasOwnProperty",r={doc:document,win:n},pi={was:Object.prototype[a].call(r.win,"Raphael"),is:r.win.Raphael},lr=function(){this.ca=this.customAttributes={}},v="apply",s="concat",gt="ontouchstart"in r.win||r.win.DocumentTouch&&r.doc instanceof DocumentTouch,d="",wt=" ",b=String,ut="split",ar="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[ut](wt),ni={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},ti=b.prototype.toLowerCase,u=Math,o=u.max,l=u.min,y=u.abs,nt=u.pow,k=u.PI,p="number",ii="string",tt="array",bu=Object.prototype.toString,ku=(i._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i,/^\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),du={NaN:1,Infinity:1,"-Infinity":1},gu=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,wi=u.round,h=parseFloat,ht=parseInt,vr=b.prototype.toUpperCase,nf=i._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",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:"http://raphaeljs.com/","letter-spacing":0,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",title:"Raphael",transform:"",width:0,x:0,y:0},bi=i._availableAnimAttrs={blur:p,"clip-rect":"csv",cx:p,cy:p,fill:"colour","fill-opacity":p,"font-size":p,height:p,opacity:p,path:"path",r:p,rx:p,ry:p,stroke:"colour","stroke-opacity":p,"stroke-width":p,transform:"transform",width:p,x:p,y:p},ki=/[\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]*/,tf={hs:1,rg:1},rf=/,?([achlmqrstvxz]),?/gi,uf=/([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]*)+)/gi,ff=/([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]*)+)/gi,yr=/(-?\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]*/gi,at=(i._radial_gradient=/^r(?:\(([^,]+?)[\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]*([^\)]+?)\))?/,{}),ef=function(n,t){return h(n)-h(t)},of=function(){},sf=function(n){return n},ri=i._rectPath=function(n,t,i,r,u){return u?[["M",n+u,t],["l",i-2*u,0],["a",u,u,0,0,1,u,u],["l",0,r-2*u],["a",u,u,0,0,1,-u,u],["l",2*u-i,0],["a",u,u,0,0,1,-u,-u],["l",0,2*u-r],["a",u,u,0,0,1,u,-u],["z"]]:[["M",n,t],["l",i,0],["l",0,r],["l",-i,0],["z"]]},pr=function(n,t,i,r){return null==r&&(r=i),[["M",n,t],["m",0,-r],["a",i,r,0,1,1,0,2*r],["a",i,r,0,1,1,0,-2*r],["z"]]},ui=i._getPath={path:function(n){return n.attr("path")},circle:function(n){var t=n.attrs;return pr(t.cx,t.cy,t.r)},ellipse:function(n){var t=n.attrs;return pr(t.cx,t.cy,t.rx,t.ry)},rect:function(n){var t=n.attrs;return ri(t.x,t.y,t.width,t.height,t.r)},image:function(n){var t=n.attrs;return ri(t.x,t.y,t.width,t.height)},text:function(n){var t=n._getBBox();return ri(t.x,t.y,t.width,t.height)},set:function(n){var t=n._getBBox();return ri(t.x,t.y,t.width,t.height)}},di=i.mapPath=function(n,t){if(!t)return n;var f,e,u,i,o,s,r;for(n=bt(n),u=0,o=n.length;o>u;u++)for(r=n[u],i=1,s=r.length;s>i;i+=2)f=t.x(r[i],r[i+1]),e=t.y(r[i],r[i+1]),r[i]=f,r[i+1]=e;return n};if(i._g=r,i.type=r.win.SVGAngle||r.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML","VML"==i.type){if(ei=r.doc.createElement("div"),ei.innerHTML='<v:shape adj="1"/>',fi=ei.firstChild,fi.style.behavior="url(#default#VML)",!fi||"object"!=typeof fi.adj)return i.type=d;ei=null}i.svg=!(i.vml="VML"==i.type);i._Paper=lr;i.fn=c=lr.prototype=i.prototype;i._id=0;i._oid=0;i.is=function(n,t){return t=ti.call(t),"finite"==t?!du[a](+n):"array"==t?n instanceof Array:"null"==t&&null===n||t==typeof n&&null!==n||"object"==t&&n===Object(n)||"array"==t&&Array.isArray&&Array.isArray(n)||bu.call(n).slice(8,-1).toLowerCase()==t};i.angle=function(n,t,r,f,e,o){if(null==e){var s=n-r,h=t-f;return s||h?(180+180*u.atan2(-h,-s)/k+360)%360:0}return i.angle(n,t,e,o)-i.angle(r,f,e,o)};i.rad=function(n){return n%360*k/180};i.deg=function(n){return 180*n/k%360};i.snapTo=function(n,t,r){var f,u;if(r=i.is(r,"finite")?r:10,i.is(n,tt)){for(f=n.length;f--;)if(y(n[f]-t)<=r)return n[f]}else{if(n=+n,u=t%n,r>u)return t-u;if(u>n-r)return t-u+n}return t};i.createUUID=function(n,t){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(n,t).toUpperCase()}}(/[xy]/g,function(n){var t=16*u.random()|0,i="x"==n?t:3&t|8;return i.toString(16)});i.setWindow=function(n){t("raphael.setWindow",i,r.win,n);r.win=n;r.doc=r.win.document;i._engine.initWin&&i._engine.initWin(r.win)};var oi=function(n){var u,e,f,o,t;if(i.vml){e=/^\s+|\s+$/g;try{f=new ActiveXObject("htmlfile");f.write("<body>");f.close();u=f.body}catch(s){u=createPopup().document.body}o=u.createTextRange();oi=it(function(n){try{u.style.color=b(n).replace(e,d);var t=o.queryCommandValue("ForeColor");return t=(255&t)<<16|65280&t|(16711680&t)>>>16,"#"+("000000"+t.toString(16)).slice(-6)}catch(i){return"none"}})}else t=r.doc.createElement("i"),t.title="Raphaël Colour Picker",t.style.display="none",r.doc.body.appendChild(t),oi=it(function(n){return t.style.color=n,r.doc.defaultView.getComputedStyle(t,d).getPropertyValue("color")});return oi(n)},hf=function(){return"hsb("+[this.h,this.s,this.b]+")"},cf=function(){return"hsl("+[this.h,this.s,this.l]+")"},wr=function(){return this.hex},br=function(n,t,r){if(null==t&&i.is(n,"object")&&"r"in n&&"g"in n&&"b"in n&&(r=n.b,t=n.g,n=n.r),null==t&&i.is(n,ii)){var u=i.getRGB(n);n=u.r;t=u.g;r=u.b}return(n>1||t>1||r>1)&&(n/=255,t/=255,r/=255),[n,t,r]},kr=function(n,t,r,u){n*=255;t*=255;r*=255;var f={r:n,g:t,b:r,hex:i.rgb(n,t,r),toString:wr};return i.is(u,"finite")&&(f.opacity=u),f};i.color=function(n){var t;return i.is(n,"object")&&"h"in n&&"s"in n&&"b"in n?(t=i.hsb2rgb(n),n.r=t.r,n.g=t.g,n.b=t.b,n.hex=t.hex):i.is(n,"object")&&"h"in n&&"s"in n&&"l"in n?(t=i.hsl2rgb(n),n.r=t.r,n.g=t.g,n.b=t.b,n.hex=t.hex):(i.is(n,"string")&&(n=i.getRGB(n)),i.is(n,"object")&&"r"in n&&"g"in n&&"b"in n?(t=i.rgb2hsl(n),n.h=t.h,n.s=t.s,n.l=t.l,t=i.rgb2hsb(n),n.v=t.b):(n={hex:"none"},n.r=n.g=n.b=n.h=n.s=n.v=n.l=-1)),n.toString=wr,n};i.hsb2rgb=function(n,t,i,r){this.is(n,"object")&&"h"in n&&"s"in n&&"b"in n&&(i=n.b,t=n.s,n=n.h,r=n.o);n*=360;var e,o,s,f,u;return n=n%360/60,u=i*t,f=u*(1-y(n%2-1)),e=o=s=i-u,n=~~n,e+=[u,f,0,0,f,u][n],o+=[f,u,u,f,0,0][n],s+=[0,0,f,u,u,f][n],kr(e,o,s,r)};i.hsl2rgb=function(n,t,i,r){this.is(n,"object")&&"h"in n&&"s"in n&&"l"in n&&(i=n.l,t=n.s,n=n.h);(n>1||t>1||i>1)&&(n/=360,t/=100,i/=100);n*=360;var e,o,s,f,u;return n=n%360/60,u=2*t*(.5>i?i:1-i),f=u*(1-y(n%2-1)),e=o=s=i-u/2,n=~~n,e+=[u,f,0,0,f,u][n],o+=[f,u,u,f,0,0][n],s+=[0,0,f,u,u,f][n],kr(e,o,s,r)};i.rgb2hsb=function(n,t,i){i=br(n,t,i);n=i[0];t=i[1];i=i[2];var f,e,u,r;return u=o(n,t,i),r=u-l(n,t,i),f=0==r?null:u==n?(t-i)/r:u==t?(i-n)/r+2:(n-t)/r+4,f=(f+360)%6/6,e=0==r?0:r/u,{h:f,s:e,b:u,toString:hf}};i.rgb2hsl=function(n,t,i){i=br(n,t,i);n=i[0];t=i[1];i=i[2];var e,h,u,f,s,r;return f=o(n,t,i),s=l(n,t,i),r=f-s,e=0==r?null:f==n?(t-i)/r:f==t?(i-n)/r+2:(n-t)/r+4,e=(e+360)%6/6,u=(f+s)/2,h=0==r?0:.5>u?r/(2*u):r/(2-2*u),{h:e,s:h,l:u,toString:cf}};i._path2string=function(){return this.join(",").replace(rf,"$1")};i._preload=function(n,t){var i=r.doc.createElement("img");i.style.cssText="position:absolute;left:-9999em;top:-9999em";i.onload=function(){t.call(this);this.onload=null;r.doc.body.removeChild(this)};i.onerror=function(){r.doc.body.removeChild(this)};r.doc.body.appendChild(i);i.src=n};i.getRGB=it(function(n){if(!n||(n=b(n)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:dt};if("none"==n)return{r:-1,g:-1,b:-1,hex:"none",toString:dt};tf[a](n.toLowerCase().substring(0,2))||"#"==n.charAt()||(n=oi(n));var u,f,e,o,s,t,r=n.match(ku);return r?(r[2]&&(e=ht(r[2].substring(5),16),f=ht(r[2].substring(3,5),16),u=ht(r[2].substring(1,3),16)),r[3]&&(e=ht((s=r[3].charAt(3))+s,16),f=ht((s=r[3].charAt(2))+s,16),u=ht((s=r[3].charAt(1))+s,16)),r[4]&&(t=r[4][ut](ki),u=h(t[0]),"%"==t[0].slice(-1)&&(u*=2.55),f=h(t[1]),"%"==t[1].slice(-1)&&(f*=2.55),e=h(t[2]),"%"==t[2].slice(-1)&&(e*=2.55),"rgba"==r[1].toLowerCase().slice(0,4)&&(o=h(t[3])),t[3]&&"%"==t[3].slice(-1)&&(o/=100)),r[5]?(t=r[5][ut](ki),u=h(t[0]),"%"==t[0].slice(-1)&&(u*=2.55),f=h(t[1]),"%"==t[1].slice(-1)&&(f*=2.55),e=h(t[2]),"%"==t[2].slice(-1)&&(e*=2.55),("deg"==t[0].slice(-3)||"°"==t[0].slice(-1))&&(u/=360),"hsba"==r[1].toLowerCase().slice(0,4)&&(o=h(t[3])),t[3]&&"%"==t[3].slice(-1)&&(o/=100),i.hsb2rgb(u,f,e,o)):r[6]?(t=r[6][ut](ki),u=h(t[0]),"%"==t[0].slice(-1)&&(u*=2.55),f=h(t[1]),"%"==t[1].slice(-1)&&(f*=2.55),e=h(t[2]),"%"==t[2].slice(-1)&&(e*=2.55),("deg"==t[0].slice(-3)||"°"==t[0].slice(-1))&&(u/=360),"hsla"==r[1].toLowerCase().slice(0,4)&&(o=h(t[3])),t[3]&&"%"==t[3].slice(-1)&&(o/=100),i.hsl2rgb(u,f,e,o)):(r={r:u,g:f,b:e,toString:dt},r.hex="#"+(16777216|e|f<<8|u<<16).toString(16).slice(1),i.is(o,"finite")&&(r.opacity=o),r)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:dt}},i);i.hsb=it(function(n,t,r){return i.hsb2rgb(n,t,r).hex});i.hsl=it(function(n,t,r){return i.hsl2rgb(n,t,r).hex});i.rgb=it(function(n,t,i){return"#"+(16777216|i|t<<8|n<<16).toString(16).slice(1)});i.getColor=function(n){var t=this.getColor.start=this.getColor.start||{h:0,s:1,b:n||.75},i=this.hsb2rgb(t.h,t.s,t.b);return t.h+=.075,t.h>1&&(t.h=0,t.s-=.2,t.s<=0&&(this.getColor.start={h:0,s:1,b:t.b})),i.hex};i.getColor.reset=function(){delete this.start};i.parsePathString=function(n){var r,u,t;return n?(r=et(n),r.arr)?rt(r.arr):(u={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},t=[],i.is(n,tt)&&i.is(n[0],tt)&&(t=rt(n)),t.length||b(n).replace(uf,function(n,i,r){var f=[],e=i.toLowerCase();if(r.replace(yr,function(n,t){t&&f.push(+t)}),"m"==e&&f.length>2&&(t.push([i][s](f.splice(0,2))),e="l",i="m"==i?"l":"L"),"r"==e)t.push([i][s](f));else for(;f.length>=u[e]&&(t.push([i][s](f.splice(0,u[e]))),u[e]););}),t.toString=i._path2string,r.arr=rt(t),t):null};i.parseTransformString=it(function(n){if(!n)return null;var t=[];return i.is(n,tt)&&i.is(n[0],tt)&&(t=rt(n)),t.length||b(n).replace(ff,function(n,i,r){var u=[];ti.call(i);r.replace(yr,function(n,t){t&&u.push(+t)});t.push([i][s](u))}),t.toString=i._path2string,t});et=function(n){var t=et.ps=et.ps||{};return t[n]?t[n].sleep=100:t[n]={sleep:100},setTimeout(function(){for(var i in t)t[a](i)&&i!=n&&(t[i].sleep--,!t[i].sleep&&delete t[i])}),t[n]};i.findDotsAtSegment=function(n,t,i,r,f,e,o,s,h){var c=1-h,w=nt(c,3),b=nt(c,2),l=h*h,d=l*h,tt=w*n+3*b*h*i+3*c*h*h*f+d*o,it=w*t+3*b*h*r+3*c*h*h*e+d*s,a=n+2*h*(i-n)+l*(f-2*i+n),v=t+2*h*(r-t)+l*(e-2*r+t),y=i+2*h*(f-i)+l*(o-2*f+i),p=r+2*h*(e-r)+l*(s-2*e+r),rt=c*n+h*i,ut=c*t+h*r,ft=c*f+h*o,et=c*e+h*s,g=90-180*u.atan2(a-y,v-p)/k;return(a>y||p>v)&&(g+=180),{x:tt,y:it,m:{x:a,y:v},n:{x:y,y:p},start:{x:rt,y:ut},end:{x:ft,y:et},alpha:g}};i.bezierBBox=function(n,t,r,u,f,e,o,s){i.is(n,"array")||(n=[n,t,r,u,f,e,o,s]);var h=tu.apply(null,n);return{x:h.min.x,y:h.min.y,x2:h.max.x,y2:h.max.y,width:h.max.x-h.min.x,height:h.max.y-h.min.y}};i.isPointInsideBBox=function(n,t,i){return t>=n.x&&t<=n.x2&&i>=n.y&&i<=n.y2};i.isBBoxIntersect=function(n,t){var r=i.isPointInsideBBox;return r(t,n.x,n.y)||r(t,n.x2,n.y)||r(t,n.x,n.y2)||r(t,n.x2,n.y2)||r(n,t.x,t.y)||r(n,t.x2,t.y)||r(n,t.x,t.y2)||r(n,t.x2,t.y2)||(n.x<t.x2&&n.x>t.x||t.x<n.x2&&t.x>n.x)&&(n.y<t.y2&&n.y>t.y||t.y<n.y2&&t.y>n.y)};i.pathIntersection=function(n,t){return ai(n,t)};i.pathIntersectionNumber=function(n,t){return ai(n,t,1)};i.isPointInsidePath=function(n,t,r){var u=i.pathBBox(n);return i.isPointInsideBBox(u,t,r)&&ai(n,[["M",t,r],["H",u.x2+10]],1)%2==1};i._removedFactory=function(n){return function(){t("raphael.log",null,"Raphaël: you are calling to method “"+n+"” of removed object",n)}};var gi=i.pathBBox=function(n){var h=et(n),u;if(h.bbox)return yt(h.bbox);if(!n)return{x:0,y:0,width:0,height:0,x2:0,y2:0};n=bt(n);for(var t,f=0,e=0,i=[],r=[],c=0,g=n.length;g>c;c++)(t=n[c],"M"==t[0])?(f=t[1],e=t[2],i.push(f),r.push(e)):(u=tu(f,e,t[1],t[2],t[3],t[4],t[5],t[6]),i=i[s](u.min.x,u.max.x),r=r[s](u.min.y,u.max.y),f=t[5],e=t[6]);var a=l[v](0,i),y=l[v](0,r),p=o[v](0,i),w=o[v](0,r),b=p-a,k=w-y,d={x:a,y:y,x2:p,y2:w,width:b,height:k,cx:a+b/2,cy:y+k/2};return h.bbox=yt(d),d},rt=function(n){var t=yt(n);return t.toString=i._path2string,t},lf=i._pathToRelative=function(n){var v=et(n),u,p,f,t,s,w,h,b,c;if(v.rel)return rt(v.rel);i.is(n,tt)&&i.is(n&&n[0],tt)||(n=i.parsePathString(n));var r=[],o=0,e=0,l=0,a=0,y=0;for("M"==n[0][0]&&(o=n[0][1],e=n[0][2],l=o,a=e,y++,r.push(["M",o,e])),u=y,p=n.length;p>u;u++){if(f=r[u]=[],t=n[u],t[0]!=ti.call(t[0]))switch(f[0]=ti.call(t[0]),f[0]){case"a":f[1]=t[1];f[2]=t[2];f[3]=t[3];f[4]=t[4];f[5]=t[5];f[6]=+(t[6]-o).toFixed(3);f[7]=+(t[7]-e).toFixed(3);break;case"v":f[1]=+(t[1]-e).toFixed(3);break;case"m":l=t[1];a=t[2];default:for(s=1,w=t.length;w>s;s++)f[s]=+(t[s]-(s%2?o:e)).toFixed(3)}else for(f=r[u]=[],"m"==t[0]&&(l=t[1]+o,a=t[2]+e),h=0,b=t.length;b>h;h++)r[u][h]=t[h];c=r[u].length;switch(r[u][0]){case"z":o=l;e=a;break;case"h":o+=+r[u][c-1];break;case"v":e+=+r[u][c-1];break;default:o+=+r[u][c-2];e+=+r[u][c-1]}}return r.toString=i._path2string,v.rel=rt(r),r},dr=i._pathToAbsolute=function(n){var v=et(n),c,k;if(v.abs)return rt(v.abs);if(i.is(n,tt)&&i.is(n&&n[0],tt)||(n=i.parsePathString(n)),!n||!n.length)return[["M",0,0]];var o=[],u=0,f=0,l=0,a=0,w=0;"M"==n[0][0]&&(u=+n[0][1],f=+n[0][2],l=u,a=f,w++,o[0]=["M",u,f]);for(var t,r,b=3==n.length&&"M"==n[0][0]&&"R"==n[1][0].toUpperCase()&&"Z"==n[2][0].toUpperCase(),y=w,d=n.length;d>y;y++){if(o.push(t=[]),r=n[y],r[0]!=vr.call(r[0]))switch(t[0]=vr.call(r[0]),t[0]){case"A":t[1]=r[1];t[2]=r[2];t[3]=r[3];t[4]=r[4];t[5]=r[5];t[6]=+(r[6]+u);t[7]=+(r[7]+f);break;case"V":t[1]=+r[1]+f;break;case"H":t[1]=+r[1]+u;break;case"R":for(var h=[u,f][s](r.slice(1)),e=2,p=h.length;p>e;e++)h[e]=+h[e]+u,h[++e]=+h[e]+f;o.pop();o=o[s](or(h,b));break;case"M":l=+r[1]+u;a=+r[2]+f;default:for(e=1,p=r.length;p>e;e++)t[e]=+r[e]+(e%2?u:f)}else if("R"==r[0])h=[u,f][s](r.slice(1)),o.pop(),o=o[s](or(h,b)),t=["R"][s](r.slice(-2));else for(c=0,k=r.length;k>c;c++)t[c]=r[c];switch(t[0]){case"Z":u=l;f=a;break;case"H":u=t[1];break;case"V":f=t[1];break;case"M":l=t[t.length-2];a=t[t.length-1];default:u=t[t.length-2];f=t[t.length-1]}}return o.toString=i._path2string,v.abs=rt(o),o},si=function(n,t,i,r){return[n,t,i,r,i,r]},gr=function(n,t,i,r,u,f){var e=1/3,o=2/3;return[e*n+o*i,e*t+o*r,e*u+o*i,e*f+o*r,u,f]},nu=function(n,t,i,r,f,e,o,h,c,l){var g,lt=120*k/180,et=k/180*(+f||0),p=[],ot=it(function(n,t,i){var r=n*u.cos(i)-t*u.sin(i),f=n*u.sin(i)+t*u.cos(i);return{x:r,y:f}}),st;if(l)v=l[0],a=l[1],rt=l[2],ft=l[3];else{g=ot(n,t,-et);n=g.x;t=g.y;g=ot(h,c,-et);h=g.x;c=g.y;var b=(u.cos(k/180*f),u.sin(k/180*f),(n-h)/2),d=(t-c)/2,tt=b*b/(i*i)+d*d/(r*r);tt>1&&(tt=u.sqrt(tt),i=tt*i,r=tt*r);var ht=i*i,ct=r*r,at=(e==o?-1:1)*u.sqrt(y((ht*ct-ht*d*d-ct*b*b)/(ht*d*d+ct*b*b))),rt=at*i*d/r+(n+h)/2,ft=at*-r*b/i+(t+c)/2,v=u.asin(((t-ft)/r).toFixed(9)),a=u.asin(((c-ft)/r).toFixed(9));v=rt>n?k-v:v;a=rt>h?k-a:a;0>v&&(v=2*k+v);0>a&&(a=2*k+a);o&&v>a&&(v-=2*k);!o&&a>v&&(a-=2*k)}if(st=a-v,y(st)>lt){var gt=a,ni=h,ti=c;a=v+lt*(o&&a>v?1:-1);h=rt+i*u.cos(a);c=ft+r*u.sin(a);p=nu(h,c,i,r,f,0,o,ni,ti,[a,gt,rt,ft])}st=a-v;var ii=u.cos(v),ri=u.sin(v),ui=u.cos(a),fi=u.sin(a),vt=u.tan(st/4),yt=4/3*i*vt,pt=4/3*r*vt,wt=[n,t],nt=[n+yt*ri,t-pt*ii],bt=[h+yt*fi,c-pt*ui],kt=[h,c];if(nt[0]=2*wt[0]-nt[0],nt[1]=2*wt[1]-nt[1],l)return[nt,bt,kt][s](p);p=[nt,bt,kt][s](p).join()[ut](",");for(var dt=[],w=0,ei=p.length;ei>w;w++)dt[w]=w%2?ot(p[w-1],p[w],et).y:ot(p[w],p[w+1],et).x;return dt},hi=function(n,t,i,r,u,f,e,o,s){var h=1-s;return{x:nt(h,3)*n+3*nt(h,2)*s*i+3*h*s*s*u+nt(s,3)*e,y:nt(h,3)*t+3*nt(h,2)*s*r+3*h*s*s*f+nt(s,3)*o}},tu=it(function(n,t,i,r,f,e,s,h){var a,b=f-2*i+n-(s-2*f+i),c=2*(i-n)-2*(f-i),g=n-i,p=(-c+u.sqrt(c*c-4*b*g))/2/b,w=(-c-u.sqrt(c*c-4*b*g))/2/b,k=[t,h],d=[n,s];return y(p)>"1e12"&&(p=.5),y(w)>"1e12"&&(w=.5),p>0&&1>p&&(a=hi(n,t,i,r,f,e,s,h,p),d.push(a.x),k.push(a.y)),w>0&&1>w&&(a=hi(n,t,i,r,f,e,s,h,w),d.push(a.x),k.push(a.y)),b=e-2*r+t-(h-2*e+r),c=2*(r-t)-2*(e-r),g=t-r,p=(-c+u.sqrt(c*c-4*b*g))/2/b,w=(-c-u.sqrt(c*c-4*b*g))/2/b,y(p)>"1e12"&&(p=.5),y(w)>"1e12"&&(w=.5),p>0&&1>p&&(a=hi(n,t,i,r,f,e,s,h,p),d.push(a.x),k.push(a.y)),w>0&&1>w&&(a=hi(n,t,i,r,f,e,s,h,w),d.push(a.x),k.push(a.y)),{min:{x:l[v](0,d),y:l[v](0,k)},max:{x:o[v](0,d),y:o[v](0,k)}}}),bt=i._path2curve=it(function(n,t){var p=!t&&et(n);if(!t&&p.curve)return rt(p.curve);for(var r=dr(n),i=t&&dr(t),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},b=function(n,t,i){var r,u;if(!n)return["C",t.x,t.y,t.x,t.y,t.x,t.y];switch(!(n[0]in{T:1,Q:1})&&(t.qx=t.qy=null),n[0]){case"M":t.X=n[1];t.Y=n[2];break;case"A":n=["C"][s](nu[v](0,[t.x,t.y][s](n.slice(1))));break;case"S":"C"==i||"S"==i?(r=2*t.x-t.bx,u=2*t.y-t.by):(r=t.x,u=t.y);n=["C",r,u][s](n.slice(1));break;case"T":"Q"==i||"T"==i?(t.qx=2*t.x-t.qx,t.qy=2*t.y-t.qy):(t.qx=t.x,t.qy=t.y);n=["C"][s](gr(t.x,t.y,t.qx,t.qy,n[1],n[2]));break;case"Q":t.qx=n[1];t.qy=n[2];n=["C"][s](gr(t.x,t.y,n[1],n[2],n[3],n[4]));break;case"L":n=["C"][s](si(t.x,t.y,n[1],n[2]));break;case"H":n=["C"][s](si(t.x,t.y,n[1],t.y));break;case"V":n=["C"][s](si(t.x,t.y,t.x,n[1]));break;case"Z":n=["C"][s](si(t.x,t.y,t.X,t.Y))}return n},k=function(n,t){if(n[t].length>7){n[t].shift();for(var u=n[t];u.length;)n.splice(t++,0,["C"][s](u.splice(0,6)));n.splice(t,1);w=o(r.length,i&&i.length||0)}},d=function(n,t,u,f,e){n&&t&&"M"==n[e][0]&&"M"!=t[e][0]&&(t.splice(e,0,["M",f.x,f.y]),u.bx=0,u.by=0,u.x=n[e][1],u.y=n[e][2],w=o(r.length,i&&i.length||0))},u=0,w=o(r.length,i&&i.length||0);w>u;u++){r[u]=b(r[u],f);k(r,u);i&&(i[u]=b(i[u],e));i&&k(i,u);d(r,i,f,e,u);d(i,r,e,f,u);var c=r[u],l=i&&i[u],a=c.length,y=i&&l.length;f.x=c[a-2];f.y=c[a-1];f.bx=h(c[a-4])||f.x;f.by=h(c[a-3])||f.y;e.bx=i&&(h(l[y-4])||e.x);e.by=i&&(h(l[y-3])||e.y);e.x=i&&l[y-2];e.y=i&&l[y-1]}return i||(p.curve=rt(r)),i?[r,i]:r},null,rt),ci=(i._parseDots=it(function(n){for(var u,s,l,r=[],t=0,o=n.length;o>t;t++){if(u={},s=n[t].match(/^([^:]*):?([\d\.]*)/),u.color=i.getRGB(s[1]),u.color.error)return null;u.color=u.color.hex;s[2]&&(u.offset=s[2]+"%");r.push(u)}for(t=1,o=r.length-1;o>t;t++)if(!r[t].offset){for(var c=h(r[t-1].offset||0),e=0,f=t+1;o>f;f++)if(r[f].offset){e=r[f].offset;break}for(e||(e=100,f=o),e=h(e),l=(e-c)/(f-t+1);f>t;t++)c+=l,r[t].offset=c+"%"}return r}),i._tear=function(n,t){n==t.top&&(t.top=n.prev);n==t.bottom&&(t.bottom=n.next);n.next&&(n.next.prev=n.prev);n.prev&&(n.prev.next=n.next)}),af=(i._tofront=function(n,t){t.top!==n&&(ci(n,t),n.next=null,n.prev=t.top,t.top.next=n,t.top=n)},i._toback=function(n,t){t.bottom!==n&&(ci(n,t),n.next=t.bottom,n.prev=null,t.bottom.prev=n,t.bottom=n)},i._insertafter=function(n,t,i){ci(n,i);t==i.top&&(i.top=n);t.next&&(t.next.prev=n);n.next=t.next;n.prev=t;t.next=n},i._insertbefore=function(n,t,i){ci(n,i);t==i.bottom&&(i.bottom=n);t.prev&&(t.prev.next=n);n.prev=t.prev;t.prev=n;n.next=t},i.toMatrix=function(n,t){var r=gi(n),i={_:{transform:d},getBBox:function(){return r}};return iu(i,t),i.matrix}),iu=(i.transformPath=function(n,t){return di(n,af(n,t))},i._extractTransform=function(n,t){var w,tt;if(null==t)return n._.transform;t=b(t).replace(/\.{3}|\u2026/g,n._.transform||d);var a=i.parseTransformString(t),v=0,g=0,nt=0,y=1,p=1,e=n._,u=new st;if(e.transform=a||[],a)for(w=0,tt=a.length;tt>w;w++){var it,rt,h,c,f,r=a[w],o=r.length,l=b(r[0]).toLowerCase(),k=r[0]!=l,s=k?u.invert():0;"t"==l&&3==o?k?(it=s.x(0,0),rt=s.y(0,0),h=s.x(r[1],r[2]),c=s.y(r[1],r[2]),u.translate(h-it,c-rt)):u.translate(r[1],r[2]):"r"==l?2==o?(f=f||n.getBBox(1),u.rotate(r[1],f.x+f.width/2,f.y+f.height/2),v+=r[1]):4==o&&(k?(h=s.x(r[2],r[3]),c=s.y(r[2],r[3]),u.rotate(r[1],h,c)):u.rotate(r[1],r[2],r[3]),v+=r[1]):"s"==l?2==o||3==o?(f=f||n.getBBox(1),u.scale(r[1],r[o-1],f.x+f.width/2,f.y+f.height/2),y*=r[1],p*=r[o-1]):5==o&&(k?(h=s.x(r[3],r[4]),c=s.y(r[3],r[4]),u.scale(r[1],r[2],h,c)):u.scale(r[1],r[2],r[3],r[4]),y*=r[1],p*=r[2]):"m"==l&&7==o&&u.add(r[1],r[2],r[3],r[4],r[5],r[6]);e.dirtyT=1;n.matrix=u}n.matrix=u;e.sx=y;e.sy=p;e.deg=v;e.dx=g=u.e;e.dy=nt=u.f;1==y&&1==p&&!v&&e.bbox?(e.bbox.x+=+g,e.bbox.y+=+nt):e.dirtyT=1}),ru=function(n){var t=n[0];switch(t.toLowerCase()){case"t":return[t,0,0];case"m":return[t,1,0,0,1,0,0];case"r":return 4==n.length?[t,0,n[2],n[3]]:[t,0];case"s":return 5==n.length?[t,1,1,n[3],n[4]]:3==n.length?[t,1,1]:[t,1]}},vf=i._equaliseTransform=function(n,t){t=b(t).replace(/\.{3}|\u2026/g,n);n=i.parseTransformString(n)||[];t=i.parseTransformString(t)||[];for(var u,c,r,f,l=o(n.length,t.length),s=[],h=[],e=0;l>e;e++){if(r=n[e]||ru(t[e]),f=t[e]||ru(r),r[0]!=f[0]||"r"==r[0].toLowerCase()&&(r[2]!=f[2]||r[3]!=f[3])||"s"==r[0].toLowerCase()&&(r[3]!=f[3]||r[4]!=f[4]))return;for(s[e]=[],h[e]=[],u=0,c=o(r.length,f.length);c>u;u++)u in r&&(s[e][u]=r[u]),u in f&&(h[e][u]=f[u])}return{from:s,to:h}};i._getContainer=function(n,t,u,f){var e;return e=null!=f||i.is(n,"object")?n:r.doc.getElementById(n),null!=e?e.tagName?null==t?{container:e,width:e.style.pixelWidth||e.offsetWidth,height:e.style.pixelHeight||e.offsetHeight}:{container:e,width:t,height:u}:{container:1,x:n,y:t,width:u,height:f}:void 0};i.pathToRelative=lf;i._engine={};i.path2curve=bt;i.matrix=function(n,t,i,r,u,f){return new st(n,t,i,r,u,f)},function(n){function t(n){return n[0]*n[0]+n[1]*n[1]}function r(n){var i=u.sqrt(t(n));n[0]&&(n[0]/=i);n[1]&&(n[1]/=i)}n.add=function(n,t,i,r,u,f){var o,s,h,c,e=[[],[],[]],a=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],l=[[n,i,u],[t,r,f],[0,0,1]];for(n&&n instanceof st&&(l=[[n.a,n.c,n.e],[n.b,n.d,n.f],[0,0,1]]),o=0;3>o;o++)for(s=0;3>s;s++){for(c=0,h=0;3>h;h++)c+=a[o][h]*l[h][s];e[o][s]=c}this.a=e[0][0];this.b=e[1][0];this.c=e[0][1];this.d=e[1][1];this.e=e[0][2];this.f=e[1][2]};n.invert=function(){var n=this,t=n.a*n.d-n.b*n.c;return new st(n.d/t,-n.b/t,-n.c/t,n.a/t,(n.c*n.f-n.d*n.e)/t,(n.b*n.e-n.a*n.f)/t)};n.clone=function(){return new st(this.a,this.b,this.c,this.d,this.e,this.f)};n.translate=function(n,t){this.add(1,0,0,1,n,t)};n.scale=function(n,t,i,r){null==t&&(t=n);(i||r)&&this.add(1,0,0,1,i,r);this.add(n,0,0,t,0,0);(i||r)&&this.add(1,0,0,1,-i,-r)};n.rotate=function(n,t,r){n=i.rad(n);t=t||0;r=r||0;var f=+u.cos(n).toFixed(9),e=+u.sin(n).toFixed(9);this.add(f,e,-e,f,t,r);this.add(1,0,0,1,-t,-r)};n.x=function(n,t){return n*this.a+t*this.c+this.e};n.y=function(n,t){return n*this.b+t*this.d+this.f};n.get=function(n){return+this[b.fromCharCode(97+n)].toFixed(4)};n.toString=function(){return i.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()};n.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')"};n.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};n.split=function(){var n={},f,e,o;return n.dx=this.e,n.dy=this.f,f=[[this.a,this.c],[this.b,this.d]],n.scalex=u.sqrt(t(f[0])),r(f[0]),n.shear=f[0][0]*f[1][0]+f[0][1]*f[1][1],f[1]=[f[1][0]-f[0][0]*n.shear,f[1][1]-f[0][1]*n.shear],n.scaley=u.sqrt(t(f[1])),r(f[1]),n.shear/=n.scaley,e=-f[0][1],o=f[1][1],0>o?(n.rotate=i.deg(u.acos(o)),0>e&&(n.rotate=360-n.rotate)):n.rotate=i.deg(u.asin(e)),n.isSimple=!(+n.shear.toFixed(9)||n.scalex.toFixed(9)!=n.scaley.toFixed(9)&&n.rotate),n.isSuperSimple=!+n.shear.toFixed(9)&&n.scalex.toFixed(9)==n.scaley.toFixed(9)&&!n.rotate,n.noRotation=!+n.shear.toFixed(9)&&!n.rotate,n};n.toTransformString=function(n){var t=n||this[ut]();return t.isSimple?(t.scalex=+t.scalex.toFixed(4),t.scaley=+t.scaley.toFixed(4),t.rotate=+t.rotate.toFixed(4),(t.dx||t.dy?"t"+[t.dx,t.dy]:d)+(1!=t.scalex||1!=t.scaley?"s"+[t.scalex,t.scaley,0,0]:d)+(t.rotate?"r"+[t.rotate,0,0]:d)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(st.prototype);kt=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);c.safari="Apple Computer, Inc."==navigator.vendor&&(kt&&kt[1]<4||"iP"==navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&kt&&kt[1]<8?function(){var n=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){n.remove()})}:of;for(var yf=function(){this.returnValue=!1},pf=function(){return this.originalEvent.preventDefault()},wf=function(){this.cancelBubble=!0},bf=function(){return this.originalEvent.stopPropagation()},uu=function(n){var t=r.doc.documentElement.scrollTop||r.doc.body.scrollTop,i=r.doc.documentElement.scrollLeft||r.doc.body.scrollLeft;return{x:n.clientX+i,y:n.clientY+t}},kf=function(){return r.doc.addEventListener?function(n,t,i,r){var u=function(n){var t=uu(n);return i.call(r,n,t.x,t.y)},f;return(n.addEventListener(t,u,!1),gt&&ni[t])&&(f=function(t){for(var f=uu(t),e=t,u=0,o=t.targetTouches&&t.targetTouches.length;o>u;u++)if(t.targetTouches[u].target==n){t=t.targetTouches[u];t.originalEvent=e;t.preventDefault=pf;t.stopPropagation=bf;break}return i.call(r,t,f.x,f.y)},n.addEventListener(ni[t],f,!1)),function(){return n.removeEventListener(t,u,!1),gt&&ni[t]&&n.removeEventListener(ni[t],u,!1),!0}}:r.doc.attachEvent?function(n,t,i,u){var f=function(n){n=n||r.win.event;var t=r.doc.documentElement.scrollTop||r.doc.body.scrollTop,f=r.doc.documentElement.scrollLeft||r.doc.body.scrollLeft,e=n.clientX+f,o=n.clientY+t;return n.preventDefault=n.preventDefault||yf,n.stopPropagation=n.stopPropagation||wf,i.call(u,n,e,o)};return n.attachEvent("on"+t,f),function(){return n.detachEvent("on"+t,f),!0}}:void 0}(),ot=[],nr=function(n){for(var o,s,i,f=n.clientX,e=n.clientY,v=r.doc.documentElement.scrollTop||r.doc.body.scrollTop,y=r.doc.documentElement.scrollLeft||r.doc.body.scrollLeft,l=ot.length;l--;){if(i=ot[l],gt&&n.touches){for(s=n.touches.length;s--;)if(o=n.touches[s],o.identifier==i.el._drag.id){f=o.clientX;e=o.clientY;(n.originalEvent?n.originalEvent:n).preventDefault();break}}else n.preventDefault();var h,u=i.el.node,a=u.nextSibling,c=u.parentNode,p=u.style.display;r.win.opera&&c.removeChild(u);u.style.display="none";h=i.el.paper.getElementByPoint(f,e);u.style.display=p;r.win.opera&&(a?c.insertBefore(u,a):c.appendChild(u));h&&t("raphael.drag.over."+i.el.id,i.el,h);f+=y;e+=v;t("raphael.drag.move."+i.el.id,i.move_scope||i.el,f-i.el._drag.x,e-i.el._drag.y,f,e,n)}},tr=function(n){i.unmousemove(nr).unmouseup(tr);for(var r,u=ot.length;u--;)r=ot[u],r.el._drag={},t("raphael.drag.end."+r.el.id,r.end_scope||r.start_scope||r.move_scope||r.el,n);ot=[]},e=i.el={},fu=ar.length;fu--;)!function(n){i[n]=e[n]=function(t,u){return i.is(t,"function")&&(this.events=this.events||[],this.events.push({name:n,f:t,unbind:kf(this.shape||this.node||r.doc,n,t,u||this)})),this};i["un"+n]=e["un"+n]=function(t){for(var r=this.events||[],u=r.length;u--;)r[u].name==n&&(i.is(t,"undefined")||r[u].f==t)&&(r[u].unbind(),r.splice(u,1),!r.length&&delete this.events);return this}}(ar[fu]);e.data=function(n,r){var u=at[this.id]=at[this.id]||{},f;if(0==arguments.length)return u;if(1==arguments.length){if(i.is(n,"object")){for(f in n)n[a](f)&&this.data(f,n[f]);return this}return t("raphael.data.get."+this.id,this,u[n],n),u[n]}return u[n]=r,t("raphael.data.set."+this.id,this,r,n),this};e.removeData=function(n){return null==n?at[this.id]={}:at[this.id]&&delete at[this.id][n],this};e.getData=function(){return yt(at[this.id]||{})};e.hover=function(n,t,i,r){return this.mouseover(n,i).mouseout(t,r||i)};e.unhover=function(n,t){return this.unmouseover(n).unmouseout(t)};ct=[];e.drag=function(n,u,f,e,o,s){function h(h){var c,l;(h.originalEvent||h).preventDefault();var a=h.clientX,v=h.clientY,y=r.doc.documentElement.scrollTop||r.doc.body.scrollTop,p=r.doc.documentElement.scrollLeft||r.doc.body.scrollLeft;if(this._drag.id=h.identifier,gt&&h.touches)for(l=h.touches.length;l--;)if(c=h.touches[l],this._drag.id=c.identifier,c.identifier==this._drag.id){a=c.clientX;v=c.clientY;break}this._drag.x=a+p;this._drag.y=v+y;!ot.length&&i.mousemove(nr).mouseup(tr);ot.push({el:this,move_scope:e,start_scope:o,end_scope:s});u&&t.on("raphael.drag.start."+this.id,u);n&&t.on("raphael.drag.move."+this.id,n);f&&t.on("raphael.drag.end."+this.id,f);t("raphael.drag.start."+this.id,o||e||this,h.clientX+p,h.clientY+y,h)}return this._drag={},ct.push({el:this,start:h}),this.mousedown(h),this};e.onDragOver=function(n){n?t.on("raphael.drag.over."+this.id,n):t.unbind("raphael.drag.over."+this.id)};e.undrag=function(){for(var n=ct.length;n--;)ct[n].el==this&&(this.unmousedown(ct[n].start),ct.splice(n,1),t.unbind("raphael.drag.*."+this.id));ct.length||i.unmousemove(nr).unmouseup(tr);ot=[]};c.circle=function(n,t,r){var u=i._engine.circle(this,n||0,t||0,r||0);return this.__set__&&this.__set__.push(u),u};c.rect=function(n,t,r,u,f){var e=i._engine.rect(this,n||0,t||0,r||0,u||0,f||0);return this.__set__&&this.__set__.push(e),e};c.ellipse=function(n,t,r,u){var f=i._engine.ellipse(this,n||0,t||0,r||0,u||0);return this.__set__&&this.__set__.push(f),f};c.path=function(n){!n||i.is(n,ii)||i.is(n[0],tt)||(n+=d);var t=i._engine.path(i.format[v](i,arguments),this);return this.__set__&&this.__set__.push(t),t};c.image=function(n,t,r,u,f){var e=i._engine.image(this,n||"about:blank",t||0,r||0,u||0,f||0);return this.__set__&&this.__set__.push(e),e};c.text=function(n,t,r){var u=i._engine.text(this,n||0,t||0,b(r));return this.__set__&&this.__set__.push(u),u};c.set=function(n){i.is(n,"array")||(n=Array.prototype.splice.call(arguments,0,arguments.length));var t=new vt(n);return this.__set__&&this.__set__.push(t),t.paper=this,t.type="set",t};c.setStart=function(n){this.__set__=n||this.set()};c.setFinish=function(){var n=this.__set__;return delete this.__set__,n};c.setSize=function(n,t){return i._engine.setSize.call(this,n,t)};c.setViewBox=function(n,t,r,u,f){return i._engine.setViewBox.call(this,n,t,r,u,f)};c.top=c.bottom=null;c.raphael=i;eu=function(n){var u=n.getBoundingClientRect(),f=n.ownerDocument,t=f.body,i=f.documentElement,e=i.clientTop||t.clientTop||0,o=i.clientLeft||t.clientLeft||0,s=u.top+(r.win.pageYOffset||i.scrollTop||t.scrollTop)-e,h=u.left+(r.win.pageXOffset||i.scrollLeft||t.scrollLeft)-o;return{y:s,x:h}};c.getElementByPoint=function(n,t){var o=this,f=o.canvas,i=r.doc.elementFromPoint(n,t),s,u,e;if(r.win.opera&&"svg"==i.tagName&&(s=eu(f),u=f.createSVGRect(),u.x=n-s.x,u.y=t-s.y,u.width=u.height=1,e=f.getIntersectionList(u,null),e.length&&(i=e[e.length-1])),!i)return null;for(;i.parentNode&&i!=f.parentNode&&!i.raphael;)i=i.parentNode;return i==o.canvas.parentNode&&(i=f),i=i&&i.raphael?o.getById(i.raphaelid):null};c.getElementsByBBox=function(n){var t=this.set();return this.forEach(function(r){i.isBBoxIntersect(r.getBBox(),n)&&t.push(r)}),t};c.getById=function(n){for(var t=this.bottom;t;){if(t.id==n)return t;t=t.next}return null};c.forEach=function(n,t){for(var i=this.bottom;i;){if(n.call(t,i)===!1)return this;i=i.next}return this};c.getElementsByPoint=function(n,t){var i=this.set();return this.forEach(function(r){r.isPointInside(n,t)&&i.push(r)}),i};e.isPointInside=function(n,t){var r=this.realPath=ui[this.type](this);return this.attr("transform")&&this.attr("transform").length&&(r=i.transformPath(r,this.attr("transform"))),i.isPointInsidePath(r,n,t)};e.getBBox=function(n){if(this.removed)return{};var t=this._;return n?((t.dirty||!t.bboxwt)&&(this.realPath=ui[this.type](this),t.bboxwt=gi(this.realPath),t.bboxwt.toString=hr,t.dirty=0),t.bboxwt):((t.dirty||t.dirtyT||!t.bbox)&&((t.dirty||!this.realPath)&&(t.bboxwt=0,this.realPath=ui[this.type](this)),t.bbox=gi(di(this.realPath,this.matrix)),t.bbox.toString=hr,t.dirty=t.dirtyT=0),t.bbox)};e.clone=function(){if(this.removed)return null;var n=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(n),n};e.glow=function(n){var r;if("text"==this.type)return null;n=n||{};var t={width:(n.width||10)+(+this.attr("stroke-width")||1),fill:n.fill||!1,opacity:n.opacity||.5,offsetx:n.offsetx||0,offsety:n.offsety||0,color:n.color||"#000"},u=t.width/2,f=this.paper,e=f.set(),i=this.realPath||ui[this.type](this);for(i=this.matrix?di(i,this.matrix):i,r=1;u+1>r;r++)e.push(f.path(i).attr({stroke:t.color,fill:t.fill?t.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(t.width/u*r).toFixed(3),opacity:+(t.opacity/u).toFixed(3)}));return e.insertBefore(this).translate(t.offsetx,t.offsety)};var ir=function(n,t,r,u,f,e,o,s,h){return null==h?lt(n,t,r,u,f,e,o,s):i.findDotsAtSegment(n,t,r,u,f,e,o,s,lu(n,t,r,u,f,e,o,s,h))},rr=function(n,t){return function(r,u,f){r=bt(r);for(var s,h,e,a,o,c="",v={},l=0,y=0,p=r.length;p>y;y++){if(e=r[y],"M"==e[0])s=+e[1],h=+e[2];else{if(a=ir(s,h,e[1],e[2],e[3],e[4],e[5],e[6]),l+a>u){if(t&&!v.start){if(o=ir(s,h,e[1],e[2],e[3],e[4],e[5],e[6],u-l),c+=["C"+o.start.x,o.start.y,o.m.x,o.m.y,o.x,o.y],f)return c;v.start=c;c=["M"+o.x,o.y+"C"+o.n.x,o.n.y,o.end.x,o.end.y,e[5],e[6]].join();l+=a;s=+e[5];h=+e[6];continue}if(!n&&!t)return o=ir(s,h,e[1],e[2],e[3],e[4],e[5],e[6],u-l),{x:o.x,y:o.y,alpha:o.alpha}}l+=a;s=+e[5];h=+e[6]}c+=e.shift()+e}return v.end=c,o=n?l:t?v:i.findDotsAtSegment(s,h,e[0],e[1],e[2],e[3],e[4],e[5],1),o.alpha&&(o={x:o.x,y:o.y,alpha:o.alpha}),o}},ou=rr(1),su=rr(),ur=rr(0,1);i.getTotalLength=ou;i.getPointAtLength=su;i.getSubpath=function(n,t,i){if(this.getTotalLength(n)-i<1e-6)return ur(n,t).end;var r=ur(n,i,1);return t?ur(r,t).end:r};e.getTotalLength=function(){var n=this.getPath();if(n)return this.node.getTotalLength?this.node.getTotalLength():ou(n)};e.getPointAtLength=function(n){var t=this.getPath();if(t)return su(t,n)};e.getPath=function(){var n,t=i._getPath[this.type];if("text"!=this.type&&"set"!=this.type)return t&&(n=t(this)),n};e.getSubpath=function(n,t){var r=this.getPath();if(r)return i.getSubpath(r,n,t)};g=i.easing_formulas={linear:function(n){return n},"<":function(n){return nt(n,1.7)},">":function(n){return nt(n,.48)},"<>":function(n){var i=.48-n/1.04,r=u.sqrt(.1734+i*i),f=r-i,o=nt(y(f),1/3)*(0>f?-1:1),e=-r-i,s=nt(y(e),1/3)*(0>e?-1:1),t=o+s+.5;return 3*(1-t)*t*t+t*t*t},backIn:function(n){var t=1.70158;return n*n*((t+1)*n-t)},backOut:function(n){n-=1;var t=1.70158;return n*n*((t+1)*n+t)+1},elastic:function(n){return n==!!n?n:nt(2,-10*n)*u.sin((n-.075)*2*k/.3)+1},bounce:function(n){var i,r=7.5625,t=2.75;return 1/t>n?i=r*n*n:2/t>n?(n-=1.5/t,i=r*n*n+.75):2.5/t>n?(n-=2.25/t,i=r*n*n+.9375):(n-=2.625/t,i=r*n*n+.984375),i}};g.easeIn=g["ease-in"]=g["<"];g.easeOut=g["ease-out"]=g[">"];g.easeInOut=g["ease-in-out"]=g["<>"];g["back-in"]=g.backIn;g["back-out"]=g.backOut;var f=[],hu=n.requestAnimationFrame||n.webkitRequestAnimationFrame||n.mozRequestAnimationFrame||n.oRequestAnimationFrame||n.msRequestAnimationFrame||function(n){setTimeout(n,16)},fr=function(){for(var n,v,r,u,g,c,nt,w,ft,it=+new Date,b=0;b<f.length;b++)if(n=f[b],!n.el.removed&&!n.paused){var e,d,k=it-n.start,h=n.ms,et=n.easing,o=n.from,l=n.diff,tt=n.to,y=(n.t,n.el),rt={},ut={};if(n.initstatus?(k=(n.initstatus*n.anim.top-n.prev)/(n.percent-n.prev)*h,n.status=n.initstatus,delete n.initstatus,n.stop&&f.splice(b--,1)):n.status=(n.prev+(n.percent-n.prev)*(k/h))/n.anim.top,!(0>k))if(h>k){v=et(k/h);for(r in o)if(o[a](r)){switch(bi[r]){case p:e=+o[r]+v*h*l[r];break;case"colour":e="rgb("+[er(wi(o[r].r+v*h*l[r].r)),er(wi(o[r].g+v*h*l[r].g)),er(wi(o[r].b+v*h*l[r].b))].join(",")+")";break;case"path":for(e=[],u=0,g=o[r].length;g>u;u++){for(e[u]=[o[r][u][0]],c=1,nt=o[r][u].length;nt>c;c++)e[u][c]=+o[r][u][c]+v*h*l[r][u][c];e[u]=e[u].join(wt)}e=e.join(wt);break;case"transform":if(l[r].real)for(e=[],u=0,g=o[r].length;g>u;u++)for(e[u]=[o[r][u][0]],c=1,nt=o[r][u].length;nt>c;c++)e[u][c]=o[r][u][c]+v*h*l[r][u][c];else w=function(n){return+o[r][n]+v*h*l[r][n]},e=[["m",w(0),w(1),w(2),w(3),w(4),w(5)]];break;case"csv":if("clip-rect"==r)for(e=[],u=4;u--;)e[u]=+o[r][u]+v*h*l[r][u];break;default:for(ft=[][s](o[r]),e=[],u=y.paper.customAttributes[r].length;u--;)e[u]=+ft[u]+v*h*l[r][u]}rt[r]=e}y.attr(rt),function(n,i,r){setTimeout(function(){t("raphael.anim.frame."+n,i,r)})}(y.id,y,n.anim)}else{if(function(n,r,u){setTimeout(function(){t("raphael.anim.frame."+r.id,r,u);t("raphael.anim.finish."+r.id,r,u);i.is(n,"function")&&n.call(r)})}(n.callback,y,n.anim),y.attr(tt),f.splice(b--,1),n.repeat>1&&!n.next){for(d in tt)tt[a](d)&&(ut[d]=n.totalOrigin[d]);n.el.attr(ut);pt(n.anim,n.el,n.anim.percents[0],null,n.totalOrigin,n.repeat-1)}n.next&&!n.stop&&pt(n.anim,n.el,n.next,null,n.totalOrigin,n.repeat)}}i.svg&&y&&y.paper&&y.paper.safari();f.length&&hu(fr)},er=function(n){return n>255?255:0>n?0:n};e.animateWith=function(n,t,r,u,e,o){var s=this,c,h,l;if(s.removed)return o&&o.call(s),s;for(c=r instanceof ft?r:i.animation(r,u,e,o),pt(c,s,c.percents[0],null,s.attr()),h=0,l=f.length;l>h;h++)if(f[h].anim==t&&f[h].el==n){f[l-1].start=f[h].start;break}return s};e.onAnimation=function(n){return n?t.on("raphael.anim.frame."+this.id,n):t.unbind("raphael.anim.frame."+this.id),this};ft.prototype.delay=function(n){var t=new ft(this.anim,this.ms);return t.times=this.times,t.del=+n||0,t};ft.prototype.repeat=function(n){var t=new ft(this.anim,this.ms);return t.del=this.del,t.times=u.floor(o(n,0))||1,t};i.animation=function(n,t,r,u){if(n instanceof ft)return n;(i.is(r,"function")||!r)&&(u=u||r||null,r=null);n=Object(n);t=+t||0;var o,f,e={};for(f in n)n[a](f)&&h(f)!=f&&h(f)+"%"!=f&&(o=!0,e[f]=n[f]);return o?(r&&(e.easing=r),u&&(e.callback=u),new ft({"100":e},t)):new ft(n,t)};e.animate=function(n,t,r,u){var f=this,e;return f.removed?(u&&u.call(f),f):(e=n instanceof ft?n:i.animation(n,t,r,u),pt(e,f,e.percents[0],null,f.attr()),f)};e.setTime=function(n,t){return n&&null!=t&&this.status(n,l(t,n.ms)/n.ms),this};e.status=function(n,t){var u,i,e=[],r=0;if(null!=t)return pt(n,this,-1,l(t,1)),this;for(u=f.length;u>r;r++)if(i=f[r],i.el.id==this.id&&(!n||i.anim==n)){if(n)return i.status;e.push({anim:i.anim,status:i.status})}return n?0:e};e.pause=function(n){for(var i=0;i<f.length;i++)f[i].el.id!=this.id||n&&f[i].anim!=n||t("raphael.anim.pause."+this.id,this,f[i].anim)!==!1&&(f[i].paused=!0);return this};e.resume=function(n){for(var r,i=0;i<f.length;i++)f[i].el.id!=this.id||n&&f[i].anim!=n||(r=f[i],t("raphael.anim.resume."+this.id,this,r.anim)!==!1&&(delete r.paused,this.status(r.anim,r.status)));return this};e.stop=function(n){for(var i=0;i<f.length;i++)f[i].el.id!=this.id||n&&f[i].anim!=n||t("raphael.anim.stop."+this.id,this,f[i].anim)!==!1&&f.splice(i--,1);return this};t.on("raphael.remove",cr);t.on("raphael.clear",cr);e.toString=function(){return"Raphaël’s object"};vt=function(n){if(this.items=[],this.length=0,this.type="set",n)for(var t=0,i=n.length;i>t;t++)n[t]&&(n[t].constructor==e.constructor||n[t].constructor==vt)&&(this[this.items.length]=this.items[this.items.length]=n[t],this.length++)};w=vt.prototype;w.push=function(){for(var n,t,i=0,r=arguments.length;r>i;i++)n=arguments[i],n&&(n.constructor==e.constructor||n.constructor==vt)&&(t=this.items.length,this[t]=this.items[t]=n,this.length++);return this};w.pop=function(){return this.length&&delete this[this.length--],this.items.pop()};w.forEach=function(n,t){for(var i=0,r=this.items.length;r>i;i++)if(n.call(t,this.items[i],i)===!1)return this;return this};for(li in e)e[a](li)&&(w[li]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n][v](i,t)})}}(li));return w.attr=function(n,t){var r,f,u,e;if(n&&i.is(n,tt)&&i.is(n[0],"object"))for(r=0,f=n.length;f>r;r++)this.items[r].attr(n[r]);else for(u=0,e=this.items.length;e>u;u++)this.items[u].attr(n,t);return this},w.clear=function(){for(;this.length;)this.pop()},w.splice=function(n,t){var r;n=0>n?o(this.length+n,0):n;t=o(0,l(this.length-n,t));for(var u=[],e=[],f=[],i=2;i<arguments.length;i++)f.push(arguments[i]);for(i=0;t>i;i++)e.push(this[n+i]);for(;i<this.length-n;i++)u.push(this[n+i]);for(r=f.length,i=0;i<r+u.length;i++)this.items[n+i]=this[n+i]=r>i?f[i]:u[i-r];for(i=this.items.length=this.length-=t-r;this[i];)delete this[i++];return new vt(e)},w.exclude=function(n){for(var t=0,i=this.length;i>t;t++)if(this[t]==n)return this.splice(t,1),!0},w.animate=function(n,t,r,u){var o;(i.is(r,"function")||!r)&&(u=r||null);var h,s,e=this.items.length,f=e,c=this;if(!e)return this;for(u&&(s=function(){--e||u.call(c)}),r=i.is(r,ii)?r:s,o=i.animation(n,t,r,s),h=this.items[--f].animate(o);f--;)this.items[f]&&!this.items[f].removed&&this.items[f].animateWith(h,o,o),this.items[f]&&!this.items[f].removed||e--;return this},w.insertAfter=function(n){for(var t=this.items.length;t--;)this.items[t].insertAfter(n);return this},w.getBBox=function(){for(var n,t=[],i=[],r=[],u=[],f=this.items.length;f--;)this.items[f].removed||(n=this.items[f].getBBox(),t.push(n.x),i.push(n.y),r.push(n.x+n.width),u.push(n.y+n.height));return t=l[v](0,t),i=l[v](0,i),r=o[v](0,r),u=o[v](0,u),{x:t,y:i,x2:r,y2:u,width:r-t,height:u-i}},w.clone=function(n){n=this.paper.set();for(var t=0,i=this.items.length;i>t;t++)n.push(this.items[t].clone());return n},w.toString=function(){return"Raphaël‘s set"},w.glow=function(n){var t=this.paper.set();return this.forEach(function(i){var r=i.glow(n);null!=r&&r.forEach(function(n){t.push(n)})}),t},w.isPointInside=function(n,t){var i=!1;return this.forEach(function(r){if(r.isPointInside(n,t))return(i=!0,!1)}),i},i.registerFont=function(n){var i,u,f,r,t,e;if(!n.face)return n;this.fonts=this.fonts||{};i={w:n.w,face:{},glyphs:{}};u=n.face["font-family"];for(f in n.face)n.face[a](f)&&(i.face[f]=n.face[f]);if(this.fonts[u]?this.fonts[u].push(i):this.fonts[u]=[i],!n.svg){i.face["units-per-em"]=ht(n.face["units-per-em"],10);for(r in n.glyphs)if(n.glyphs[a](r)&&(t=n.glyphs[r],i.glyphs[r]={w:t.w,k:{},d:t.d&&"M"+t.d.replace(/[mlcxtrv]/g,function(n){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[n]||"M"})+"z"},t.k))for(e in t.k)t[a](e)&&(i.glyphs[r].k[e]=t.k[e])}return n},c.getFont=function(n,t,r,u){var f,h,o,e,s,c;if(u=u||"normal",r=r||"normal",t=+t||{normal:400,bold:700,lighter:300,bolder:800}[t]||400,i.fonts){if(f=i.fonts[n],!f){h=new RegExp("(^|\\s)"+n.replace(/[^\w\d\s+!~.:_-]/g,d)+"(\\s|$)","i");for(o in i.fonts)if(i.fonts[a](o)&&h.test(o)){f=i.fonts[o];break}}if(f)for(s=0,c=f.length;c>s&&(e=f[s],e.face["font-weight"]!=t||e.face["font-style"]!=r&&e.face["font-style"]||e.face["font-stretch"]!=u);s++);return e}},c.print=function(n,t,r,u,f,e,s,h){var k,y;e=e||"middle";s=o(l(s||0,1),-1);h=o(l(h||1,3),1);var c,v=b(r)[ut](d),g=0,p=0,tt=d;if(i.is(u,"string")&&(u=this.getFont(u)),u){c=(f||16)/u.face["units-per-em"];for(var w=u.face.bbox[ut](yi),it=+w[0],nt=w[3]-w[1],rt=0,ft=+w[1]+("baseline"==e?nt+ +u.face.descent:nt/2),a=0,et=v.length;et>a;a++)"\n"==v[a]?(g=0,y=0,p=0,rt+=nt*h):(k=p&&u.glyphs[v[a-1]]||{},y=u.glyphs[v[a]],g+=p?(k.w||u.w)+(k.k&&k.k[v[a]]||0)+u.w*s:0,p=1),y&&y.d&&(tt+=i.transformPath(y.d,["t",g*c,rt*c,"s",c,c,it,ft,"t",(n-it)/c,(t-ft)/c]))}return this.path(tt).attr({fill:"#000",stroke:"none"})},c.add=function(n){if(i.is(n,"array"))for(var t,u=this.set(),r=0,f=n.length;f>r;r++)t=n[r]||{},pu[a](t.type)&&u.push(this[t.type]().attr(t));return u},i.format=function(n,t){var r=i.is(t,tt)?[0][s](t):arguments;return n&&i.is(n,ii)&&r.length-1&&(n=n.replace(wu,function(n,t){return null==r[++t]?d:r[t]})),n||d},i.fullfill=function(){var n=/\{([^\}]+)\}/g,t=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,i=function(n,i,r){var u=r;return i.replace(t,function(n,t,i,r,f){t=t||r;u&&(t in u&&(u=u[t]),"function"==typeof u&&f&&(u=u()))}),u=(null==u||u==r?n:u)+""};return function(t,r){return String(t).replace(n,function(n,t){return i(n,t,r)})}}(),i.ninja=function(){return pi.was?r.win.Raphael=pi.is:delete Raphael,i},i.st=w,function(n,t,r){function u(){/in/.test(n.readyState)?setTimeout(u,9):i.eve("raphael.DOMload")}null==n.readyState&&n.addEventListener&&(n.addEventListener(t,r=function(){n.removeEventListener(t,r,!1);n.readyState="complete"},!1),n.readyState="loading");u()}(document,"DOMContentLoaded"),t.on("raphael.DOMload",function(){vi=!0}),function(){var nt,v;if(i.svg){var t="hasOwnProperty",u=String,f=parseFloat,tt=parseInt,c=Math,k=c.max,y=c.abs,d=c.pow,l=/[, ]+/,p=i.eve,o="",w=" ",a="http://www.w3.org/1999/xlink",ft={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"},e={};i.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var n=function(r,f){if(f){"string"==typeof r&&(r=n(r));for(var e in f)f[t](e)&&("xlink:"==e.substring(0,6)?r.setAttributeNS(a,e.substring(6),u(f[e])):r.setAttribute(e,u(f[e])))}else r=i._g.doc.createElementNS("http://www.w3.org/2000/svg",r),r.style&&(r.style.webkitTapHighlightColor="rgba(0,0,0,0)");return r},it=function(t,r){var w="linear",l=t.id+r,b=.5,s=.5,tt=t.node,it=t.paper,g=tt.style,a=i._g.doc.getElementById(l),v,e,nt,p,h,rt;if(!a){if(r=u(r).replace(i._radial_gradient,function(n,t,i){if(w="radial",t&&i){b=f(t);s=f(i);var r=2*(s>.5)-1;d(b-.5,2)+d(s-.5,2)>.25&&(s=c.sqrt(.25-d(b-.5,2))*r+.5)&&.5!=s&&(s=s.toFixed(5)-1e-5*r)}return o}),r=r.split(/\s*\-\s*/),"linear"==w){if(v=r.shift(),v=-f(v),isNaN(v))return null;e=[0,0,c.cos(i.rad(v)),c.sin(i.rad(v))];nt=1/(k(y(e[2]),y(e[3]))||1);e[2]*=nt;e[3]*=nt;e[2]<0&&(e[0]=-e[2],e[2]=0);e[3]<0&&(e[1]=-e[3],e[3]=0)}if(p=i._parseDots(r),!p)return null;if(l=l.replace(/[\(\)\s,\xb0#]/g,"_"),t.gradient&&l!=t.gradient.id&&(it.defs.removeChild(t.gradient),delete t.gradient),!t.gradient)for(a=n(w+"Gradient",{id:l}),t.gradient=a,n(a,"radial"==w?{fx:b,fy:s}:{x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientTransform:t.matrix.invert()}),it.defs.appendChild(a),h=0,rt=p.length;rt>h;h++)a.appendChild(n("stop",{offset:p[h].offset?p[h].offset:h?"100%":"0%","stop-color":p[h].color||"#fff"}))}return n(tt,{fill:"url(#"+l+")",opacity:1,"fill-opacity":1}),g.fill=o,g.opacity=1,g.fillOpacity=1,1},b=function(t){var i=t.getBBox(1);n(t.pattern,{patternTransform:t.matrix.invert()+" translate("+i.x+","+i.y+")"})},s=function(r,f,s){var b,k,tt,g,it,rt;if("path"==r.type){for(var p,w,ut,et,c,ot=u(f).toLowerCase().split("-"),ht=r.paper,h=s?"end":"start",ct=r.node,l=r.attrs,d=l["stroke-width"],st=ot.length,a="classic",v=3,y=3,nt=5;st--;)switch(ot[st]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":a=ot[st];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":v=5;break;case"short":v=2}("open"==a?(v+=2,y+=2,nt+=2,ut=1,et=s?4:1,c={fill:"none",stroke:l.stroke}):(et=ut=v/2,c={fill:l.stroke,stroke:"none"}),r._.arrows?s?(r._.arrows.endPath&&e[r._.arrows.endPath]--,r._.arrows.endMarker&&e[r._.arrows.endMarker]--):(r._.arrows.startPath&&e[r._.arrows.startPath]--,r._.arrows.startMarker&&e[r._.arrows.startMarker]--):r._.arrows={},"none"!=a)?(b="raphael-marker-"+a,k="raphael-marker-"+h+a+v+y,i._g.doc.getElementById(b)?e[b]++:(ht.defs.appendChild(n(n("path"),{"stroke-linecap":"round",d:ft[a],id:b})),e[b]=1),g=i._g.doc.getElementById(k),g?(e[k]++,tt=g.getElementsByTagName("use")[0]):(g=n(n("marker"),{id:k,markerHeight:y,markerWidth:v,orient:"auto",refX:et,refY:y/2}),tt=n(n("use"),{"xlink:href":"#"+b,transform:(s?"rotate(180 "+v/2+" "+y/2+") ":o)+"scale("+v/nt+","+y/nt+")","stroke-width":(2/(v/nt+y/nt)).toFixed(4)}),g.appendChild(tt),ht.defs.appendChild(g),e[k]=1),n(tt,c),it=ut*("diamond"!=a&&"oval"!=a),s?(p=r._.arrows.startdx*d||0,w=i.getTotalLength(l.path)-it*d):(p=it*d,w=i.getTotalLength(l.path)-(r._.arrows.enddx*d||0)),c={},c["marker-"+h]="url(#"+k+")",(w||p)&&(c.d=i.getSubpath(l.path,p,w)),n(ct,c),r._.arrows[h+"Path"]=b,r._.arrows[h+"Marker"]=k,r._.arrows[h+"dx"]=it,r._.arrows[h+"Type"]=a,r._.arrows[h+"String"]=f):(s?(p=r._.arrows.startdx*d||0,w=i.getTotalLength(l.path)-p):(p=0,w=i.getTotalLength(l.path)-(r._.arrows.enddx*d||0)),r._.arrows[h+"Path"]&&n(ct,{d:i.getSubpath(l.path,p,w)}),delete r._.arrows[h+"Path"],delete r._.arrows[h+"Marker"],delete r._.arrows[h+"dx"],delete r._.arrows[h+"Type"],delete r._.arrows[h+"String"]);for(c in e)e[t](c)&&!e[c]&&(rt=i._g.doc.getElementById(c),rt&&rt.parentNode.removeChild(rt))}},et={"":[0],none:[0],"-":[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]},rt=function(t,i,r){if(i=et[u(i).toLowerCase()]){for(var e=t.attrs["stroke-width"]||"1",s={round:e,square:e,butt:0}[t.attrs["stroke-linecap"]||r["stroke-linecap"]]||0,o=[],f=i.length;f--;)o[f]=i[f]*e+(f%2?1:-1)*s;n(t.node,{"stroke-dasharray":o.join(",")})}},g=function(r,f){var h=r.node,c=r.attrs,pt=h.style.visibility,v,e,d,vt,g,et,nt,p,st,at,ht,ct,lt,w,ut,ft,yt;h.style.visibility="hidden";for(v in f)if(f[t](v)){if(!i._availableAttrs[t](v))continue;e=f[v];switch(c[v]=e,v){case"blur":r.blur(e);break;case"title":d=h.getElementsByTagName("title");d.length&&(d=d[0])?d.firstChild.nodeValue=e:(d=n("title"),vt=i._g.doc.createTextNode(e),d.appendChild(vt),h.appendChild(d));break;case"href":case"target":g=h.parentNode;"a"!=g.tagName.toLowerCase()&&(et=n("a"),g.insertBefore(et,h),et.appendChild(h),g=et);"target"==v?g.setAttributeNS(a,"show","blank"==e?"new":e):g.setAttributeNS(a,v,e);break;case"cursor":h.style.cursor=e;break;case"transform":r.transform(e);break;case"arrow-start":s(r,e);break;case"arrow-end":s(r,e,1);break;case"clip-rect":nt=u(e).split(l);4==nt.length&&(r.clip&&r.clip.parentNode.parentNode.removeChild(r.clip.parentNode),p=n("clipPath"),st=n("rect"),p.id=i.createUUID(),n(st,{x:nt[0],y:nt[1],width:nt[2],height:nt[3]}),p.appendChild(st),r.paper.defs.appendChild(p),n(h,{"clip-path":"url(#"+p.id+")"}),r.clip=st);e||(at=h.getAttribute("clip-path"),at&&(ht=i._g.doc.getElementById(at.replace(/(^url\(#|\)$)/g,o)),ht&&ht.parentNode.removeChild(ht),n(h,{"clip-path":o}),delete r.clip));break;case"path":"path"==r.type&&(n(h,{d:e?c.path=i._pathToAbsolute(e):"M0,0"}),r._.dirty=1,r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1)));break;case"width":if(h.setAttribute(v,e),r._.dirty=1,!c.fx)break;v="x";e=c.x;case"x":c.fx&&(e=-c.x-(c.width||0));case"rx":if("rx"==v&&"rect"==r.type)break;case"cx":h.setAttribute(v,e);r.pattern&&b(r);r._.dirty=1;break;case"height":if(h.setAttribute(v,e),r._.dirty=1,!c.fy)break;v="y";e=c.y;case"y":c.fy&&(e=-c.y-(c.height||0));case"ry":if("ry"==v&&"rect"==r.type)break;case"cy":h.setAttribute(v,e);r.pattern&&b(r);r._.dirty=1;break;case"r":"rect"==r.type?n(h,{rx:e,ry:e}):h.setAttribute(v,e);r._.dirty=1;break;case"src":"image"==r.type&&h.setAttributeNS(a,"href",e);break;case"stroke-width":(1!=r._.sx||1!=r._.sy)&&(e/=k(y(r._.sx),y(r._.sy))||1);r.paper._vbSize&&(e*=r.paper._vbSize);h.setAttribute(v,e);c["stroke-dasharray"]&&rt(r,c["stroke-dasharray"],f);r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1));break;case"stroke-dasharray":rt(r,e,f);break;case"fill":if(ct=u(e).match(i._ISURL),ct){p=n("pattern");lt=n("image");p.id=i.createUUID();n(p,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});n(lt,{x:0,y:0,"xlink:href":ct[1]});p.appendChild(lt),function(t){i._preload(ct[1],function(){var i=this.offsetWidth,u=this.offsetHeight;n(t,{width:i,height:u});n(lt,{width:i,height:u});r.paper.safari()})}(p);r.paper.defs.appendChild(p);n(h,{fill:"url(#"+p.id+")"});r.pattern=p;r.pattern&&b(r);break}if(w=i.getRGB(e),w.error){if(("circle"==r.type||"ellipse"==r.type||"r"!=u(e).charAt())&&it(r,e)){("opacity"in c||"fill-opacity"in c)&&(ut=i._g.doc.getElementById(h.getAttribute("fill").replace(/^url\(#|\)$/g,o)),ut&&(ft=ut.getElementsByTagName("stop"),n(ft[ft.length-1],{"stop-opacity":("opacity"in c?c.opacity:1)*("fill-opacity"in c?c["fill-opacity"]:1)})));c.gradient=e;c.fill="none";break}}else delete f.gradient,delete c.gradient,!i.is(c.opacity,"undefined")&&i.is(f.opacity,"undefined")&&n(h,{opacity:c.opacity}),!i.is(c["fill-opacity"],"undefined")&&i.is(f["fill-opacity"],"undefined")&&n(h,{"fill-opacity":c["fill-opacity"]});w[t]("opacity")&&n(h,{"fill-opacity":w.opacity>1?w.opacity/100:w.opacity});case"stroke":w=i.getRGB(e);h.setAttribute(v,w.hex);"stroke"==v&&w[t]("opacity")&&n(h,{"stroke-opacity":w.opacity>1?w.opacity/100:w.opacity});"stroke"==v&&r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1));break;case"gradient":("circle"==r.type||"ellipse"==r.type||"r"!=u(e).charAt())&&it(r,e);break;case"opacity":c.gradient&&!c[t]("stroke-opacity")&&n(h,{"stroke-opacity":e>1?e/100:e});case"fill-opacity":if(c.gradient){ut=i._g.doc.getElementById(h.getAttribute("fill").replace(/^url\(#|\)$/g,o));ut&&(ft=ut.getElementsByTagName("stop"),n(ft[ft.length-1],{"stop-opacity":e}));break}default:"font-size"==v&&(e=tt(e,10)+"px");yt=v.replace(/(\-.)/g,function(n){return n.substring(1).toUpperCase()});h.style[yt]=e;r._.dirty=1;h.setAttribute(v,e)}}ot(r,f);h.style.visibility=pt},ut=1.2,ot=function(r,f){var y,a;if("text"==r.type&&(f[t]("text")||f[t]("font")||f[t]("font-size")||f[t]("x")||f[t]("y"))){var h=r.attrs,s=r.node,p=s.firstChild?tt(i._g.doc.defaultView.getComputedStyle(s.firstChild,o).getPropertyValue("font-size"),10):10;if(f[t]("text")){for(h.text=f.text;s.firstChild;)s.removeChild(s.firstChild);for(var l,w=u(f.text).split("\n"),c=[],e=0,v=w.length;v>e;e++)l=n("tspan"),e&&n(l,{dy:p*ut,x:h.x}),l.appendChild(i._g.doc.createTextNode(w[e])),s.appendChild(l),c[e]=l}else for(c=s.getElementsByTagName("tspan"),e=0,v=c.length;v>e;e++)e?n(c[e],{dy:p*ut,x:h.x}):n(c[0],{dy:0});n(s,{x:h.x,y:h.y});r._.dirty=1;y=r._getBBox();a=h.y-(y.y+y.height/2);a&&i.is(a,"finite")&&n(c[0],{dy:a})}},h=function(n,t){this[0]=this.node=n;n.raphael=!0;this.id=i._oid++;n.raphaelid=this.id;this.matrix=i.matrix();this.realPath=null;this.paper=t;this.attrs=this.attrs||{};this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};!t.bottom&&(t.bottom=this);this.prev=t.top;t.top&&(t.top.next=this);t.top=this;this.next=null},r=i.el;h.prototype=r;r.constructor=h;i._engine.path=function(t,i){var u=n("path"),r;return i.canvas&&i.canvas.appendChild(u),r=new h(u,i),r.type="path",g(r,{fill:"none",stroke:"#000",path:t}),r};r.rotate=function(n,t,i){if(this.removed)return this;if(n=u(n).split(l),n.length-1&&(t=f(n[1]),i=f(n[2])),n=f(n[0]),null==i&&(t=i),null==t||null==i){var r=this.getBBox(1);t=r.x+r.width/2;i=r.y+r.height/2}return this.transform(this._.transform.concat([["r",n,t,i]])),this};r.scale=function(n,t,i,r){if(this.removed)return this;if(n=u(n).split(l),n.length-1&&(t=f(n[1]),i=f(n[2]),r=f(n[3])),n=f(n[0]),null==t&&(t=n),null==r&&(i=r),null==i||null==r)var e=this.getBBox(1);return i=null==i?e.x+e.width/2:i,r=null==r?e.y+e.height/2:r,this.transform(this._.transform.concat([["s",n,t,i,r]])),this};r.translate=function(n,t){return this.removed?this:(n=u(n).split(l),n.length-1&&(t=f(n[1])),n=f(n[0])||0,t=+t||0,this.transform(this._.transform.concat([["t",n,t]])),this)};r.transform=function(r){var u=this._,f;return null==r?u.transform:((i._extractTransform(this,r),this.clip&&n(this.clip,{transform:this.matrix.invert()}),this.pattern&&b(this),this.node&&n(this.node,{transform:this.matrix}),1!=u.sx||1!=u.sy)&&(f=this.attrs[t]("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":f})),this)};r.hide=function(){return!this.removed&&this.paper.safari(this.node.style.display="none"),this};r.show=function(){return!this.removed&&this.paper.safari(this.node.style.display=""),this};r.remove=function(){var n,t;if(!this.removed&&this.node.parentNode){n=this.paper;n.__set__&&n.__set__.exclude(this);p.unbind("raphael.*.*."+this.id);this.gradient&&n.defs.removeChild(this.gradient);i._tear(this,n);"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(t in this)this[t]="function"==typeof this[t]?i._removedFactory(t):null;this.removed=!0}};r._getBBox=function(){var t,n;"none"==this.node.style.display&&(this.show(),t=!0);n={};try{n=this.node.getBBox()}catch(i){}finally{n=n||{}}return t&&this.hide(),n};r.attr=function(n,r){var e,h,f,u,a,v;if(this.removed)return this;if(null==n){e={};for(h in this.attrs)this.attrs[t](h)&&(e[h]=this.attrs[h]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==r&&i.is(n,"string")){if("fill"==n&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==n)return this._.transform;for(var y=n.split(l),s={},o=0,c=y.length;c>o;o++)n=y[o],s[n]=n in this.attrs?this.attrs[n]:i.is(this.paper.customAttributes[n],"function")?this.paper.customAttributes[n].def:i._availableAttrs[n];return c-1?s:s[y[0]]}if(null==r&&i.is(n,"array")){for(s={},o=0,c=n.length;c>o;o++)s[n[o]]=this.attr(n[o]);return s}null!=r?(f={},f[n]=r):null!=n&&i.is(n,"object")&&(f=n);for(u in f)p("raphael.attr."+u+"."+this.id,this,f[u]);for(u in this.paper.customAttributes)if(this.paper.customAttributes[t](u)&&f[t](u)&&i.is(this.paper.customAttributes[u],"function")){a=this.paper.customAttributes[u].apply(this,[].concat(f[u]));this.attrs[u]=f[u];for(v in a)a[t](v)&&(f[v]=a[v])}return g(this,f),this};r.toFront=function(){if(this.removed)return this;"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var n=this.paper;return n.top!=this&&i._tofront(this,n),this};r.toBack=function(){if(this.removed)return this;var n=this.node.parentNode;return"a"==n.tagName.toLowerCase()?n.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):n.firstChild!=this.node&&n.insertBefore(this.node,this.node.parentNode.firstChild),i._toback(this,this.paper),this.paper,this};r.insertAfter=function(n){if(this.removed)return this;var t=n.node||n[n.length-1].node;return t.nextSibling?t.parentNode.insertBefore(this.node,t.nextSibling):t.parentNode.appendChild(this.node),i._insertafter(this,n,this.paper),this};r.insertBefore=function(n){if(this.removed)return this;var t=n.node||n[0].node;return t.parentNode.insertBefore(this.node,t),i._insertbefore(this,n,this.paper),this};r.blur=function(t){var r=this,u,f;return 0!=+t?(u=n("filter"),f=n("feGaussianBlur"),r.attrs.blur=t,u.id=i.createUUID(),n(f,{stdDeviation:+t||1.5}),u.appendChild(f),r.paper.defs.appendChild(u),r._blur=u,n(r.node,{filter:"url(#"+u.id+")"})):(r._blur&&(r._blur.parentNode.removeChild(r._blur),delete r._blur,delete r.attrs.blur),r.node.removeAttribute("filter")),r};i._engine.circle=function(t,i,r,u){var e=n("circle"),f;return t.canvas&&t.canvas.appendChild(e),f=new h(e,t),f.attrs={cx:i,cy:r,r:u,fill:"none",stroke:"#000"},f.type="circle",n(e,f.attrs),f};i._engine.rect=function(t,i,r,u,f,e){var s=n("rect"),o;return t.canvas&&t.canvas.appendChild(s),o=new h(s,t),o.attrs={x:i,y:r,width:u,height:f,r:e||0,rx:e||0,ry:e||0,fill:"none",stroke:"#000"},o.type="rect",n(s,o.attrs),o};i._engine.ellipse=function(t,i,r,u,f){var o=n("ellipse"),e;return t.canvas&&t.canvas.appendChild(o),e=new h(o,t),e.attrs={cx:i,cy:r,rx:u,ry:f,fill:"none",stroke:"#000"},e.type="ellipse",n(o,e.attrs),e};i._engine.image=function(t,i,r,u,f,e){var o=n("image"),s;return n(o,{x:r,y:u,width:f,height:e,preserveAspectRatio:"none"}),o.setAttributeNS(a,"href",i),t.canvas&&t.canvas.appendChild(o),s=new h(o,t),s.attrs={x:r,y:u,width:f,height:e,src:i},s.type="image",s};i._engine.text=function(t,r,u,f){var o=n("text"),e;return t.canvas&&t.canvas.appendChild(o),e=new h(o,t),e.attrs={x:r,y:u,"text-anchor":"middle",text:f,font:i._availableAttrs.font,stroke:"none",fill:"#000"},e.type="text",g(e,e.attrs),e};i._engine.setSize=function(n,t){return this.width=n||this.width,this.height=t||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this};i._engine.create=function(){var u=i._getContainer.apply(0,arguments),t=u&&u.container,o=u.x,s=u.y,f=u.width,e=u.height,c,r,h;if(!t)throw new Error("SVG container not found.");return r=n("svg"),h="overflow:hidden;",o=o||0,s=s||0,f=f||512,e=e||342,n(r,{height:e,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg"}),1==t?(r.style.cssText=h+"position:absolute;left:"+o+"px;top:"+s+"px",i._g.doc.body.appendChild(r),c=1):(r.style.cssText=h+"position:relative",t.firstChild?t.insertBefore(r,t.firstChild):t.appendChild(r)),t=new i._Paper,t.width=f,t.height=e,t.canvas=r,t.clear(),t._left=t._top=0,c&&(t.renderfix=function(){}),t.renderfix(),t};i._engine.setViewBox=function(t,i,r,u,f){p("raphael.setViewBox",this,this._viewBox,[t,i,r,u,f]);var o,h,s=k(r/this.width,u/this.height),e=this.top,c=f?"xMidYMid meet":"xMinYMin";for(null==t?(this._vbSize&&(s=1),delete this._vbSize,o="0 0 "+this.width+w+this.height):(this._vbSize=s,o=t+w+i+w+r+w+u),n(this.canvas,{viewBox:o,preserveAspectRatio:c});s&&e;)h="stroke-width"in e.attrs?e.attrs["stroke-width"]:1,e.attr({"stroke-width":h}),e._.dirty=1,e._.dirtyT=1,e=e.prev;return this._viewBox=[t,i,r,u,!!f],this};i.prototype.renderfix=function(){var n,t=this.canvas,u=t.style,i,r;try{n=t.getScreenCTM()||t.createSVGMatrix()}catch(f){n=t.createSVGMatrix()}i=-n.e%1;r=-n.f%1;(i||r)&&(i&&(this._left=(this._left+i)%1,u.left=this._left+"px"),r&&(this._top=(this._top+r)%1,u.top=this._top+"px"))};i.prototype.clear=function(){i.eve("raphael.clear",this);for(var t=this.canvas;t.firstChild;)t.removeChild(t.firstChild);this.bottom=this.top=null;(this.desc=n("desc")).appendChild(i._g.doc.createTextNode("Created with Raphaël "+i.version));t.appendChild(this.desc);t.appendChild(this.defs=n("defs"))};i.prototype.remove=function(){p("raphael.remove",this);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var n in this)this[n]="function"==typeof this[n]?i._removedFactory(n):null};nt=i.st;for(v in r)r[t](v)&&!nt[t](v)&&(nt[v]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n].apply(i,t)})}}(v))}}(),function(){var s,d,y;if(i.vml){var h="hasOwnProperty",t=String,f=parseFloat,c=Math,e=c.round,k=c.max,g=c.min,p=c.abs,l="fill",a=/[, ]+/,ut=i.eve,ft=" progid:DXImageTransform.Microsoft",o=" ",u="",nt={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},et=/([clmz]),?([^clmz]*)/gi,ot=/ progid:\S+Blur\([^\)]+\)/g,st=/-?[^,\s-]+/g,tt="position:absolute;left:0;top:0;width:1px;height:1px",n=21600,ht={path:1,rect:1,image:1},ct={circle:1,ellipse:1},lt=function(r){var l=/[ahqstv]/gi,a=i._pathToAbsolute,v,y,f,c,s,w,h,p;if(t(r).match(l)&&(a=i._path2curve),l=/[clmz]/g,a==i._pathToAbsolute&&!t(r).match(l))return t(r).replace(et,function(t,i,r){var u=[],o="m"==i.toLowerCase(),f=nt[i];return r.replace(st,function(t){o&&2==u.length&&(f+=u+nt["m"==i?"l":"L"],u=[]);u.push(e(t*n))}),f+u});for(c=a(r),v=[],s=0,w=c.length;w>s;s++){for(y=c[s],f=c[s][0].toLowerCase(),"z"==f&&(f="x"),h=1,p=y.length;p>h;h++)f+=e(y[h]*n)+(h!=p-1?",":u);v.push(f)}return v.join(o)},it=function(n,t,r){var u=i.matrix();return u.rotate(-n,.5,.5),{dx:u.x(t,r),dy:u.y(t,r)}},w=function(t,i,r,u,f,e){var v=t._,k=t.matrix,h=v.fillpos,c=t.node,y=c.style,w=1,b="",d=n/i,g=n/r,a,s;(y.visibility="hidden",i&&r)&&((c.coordsize=p(d)+o+p(g),y.rotation=e*(0>i*r?-1:1),e)&&(a=it(e,u,f),u=a.dx,f=a.dy),(0>i&&(b+="x"),0>r&&(b+=" y")&&(w=-1),y.flip=b,c.coordorigin=u*-d+o+f*-g,h||v.fillsize)&&(s=c.getElementsByTagName(l),s=s&&s[0],c.removeChild(s),h&&(a=it(e,k.x(h[0],h[1]),k.y(h[0],h[1])),s.position=a.dx*w+o+a.dy*w),v.fillsize&&(s.size=v.fillsize[0]*p(i)+o+v.fillsize[1]*p(r)),c.appendChild(s)),y.visibility="visible")};i.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var rt=function(n,i,r){for(var e,u=t(i).toLowerCase().split("-"),o=r?"end":"start",f=u.length,s="classic",h="medium",c="medium";f--;)switch(u[f]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":s=u[f];break;case"wide":case"narrow":c=u[f];break;case"long":case"short":h=u[f]}e=n.node.getElementsByTagName("stroke")[0];e[o+"arrow"]=s;e[o+"arrowlength"]=h;e[o+"arrowwidth"]=c},v=function(r,c){var yt,nt,ot,ut,ft,y,oi,pt,st,tt,d,kt,dt,et,gt,vt;r.attrs=r.attrs||{};var b=r.node,v=r.attrs,it=b.style,ri=ht[r.type]&&(c.x!=v.x||c.y!=v.y||c.width!=v.width||c.height!=v.height||c.cx!=v.cx||c.cy!=v.cy||c.rx!=v.rx||c.ry!=v.ry||c.r!=v.r),hi=ct[r.type]&&(v.cx!=c.cx||v.cy!=c.cy||v.r!=c.r||v.rx!=c.rx||v.ry!=c.ry),p=r;for(yt in c)c[h](yt)&&(v[yt]=c[yt]);if(ri&&(v.path=i._getPath[r.type](r),r._.dirty=1),c.href&&(b.href=c.href),c.title&&(b.title=c.title),c.target&&(b.target=c.target),c.cursor&&(it.cursor=c.cursor),"blur"in c&&r.blur(c.blur),(c.path&&"path"==r.type||ri)&&(b.path=lt(~t(v.path).toLowerCase().indexOf("r")?i._pathToAbsolute(v.path):v.path),"image"==r.type&&(r._.fillpos=[v.x,v.y],r._.fillsize=[v.width,v.height],w(r,1,1,0,0,0))),"transform"in c&&r.transform(c.transform),hi){var bt=+v.cx,ui=+v.cy,fi=+v.rx||+v.r||0,ei=+v.ry||+v.r||0;b.path=i.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",e((bt-fi)*n),e((ui-ei)*n),e((bt+fi)*n),e((ui+ei)*n),e(bt*n));r._.dirty=1}if("clip-rect"in c&&(nt=t(c["clip-rect"]).split(a),4==nt.length&&(nt[2]=+nt[2]+ +nt[0],nt[3]=+nt[3]+ +nt[1],ot=b.clipRect||i._g.doc.createElement("div"),ut=ot.style,ut.clip=i.format("rect({1}px {2}px {3}px {0}px)",nt),b.clipRect||(ut.position="absolute",ut.top=0,ut.left=0,ut.width=r.paper.width+"px",ut.height=r.paper.height+"px",b.parentNode.insertBefore(ot,b),ot.appendChild(b),b.clipRect=ot)),c["clip-rect"]||b.clipRect&&(b.clipRect.style.clip="auto")),r.textpath&&(ft=r.textpath.style,c.font&&(ft.font=c.font),c["font-family"]&&(ft.fontFamily='"'+c["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,u)+'"'),c["font-size"]&&(ft.fontSize=c["font-size"]),c["font-weight"]&&(ft.fontWeight=c["font-weight"]),c["font-style"]&&(ft.fontStyle=c["font-style"])),("arrow-start"in c&&rt(p,c["arrow-start"]),"arrow-end"in c&&rt(p,c["arrow-end"],1),null!=c.opacity||null!=c["stroke-width"]||null!=c.fill||null!=c.src||null!=c.stroke||null!=c["stroke-width"]||null!=c["stroke-opacity"]||null!=c["fill-opacity"]||null!=c["stroke-dasharray"]||null!=c["stroke-miterlimit"]||null!=c["stroke-linejoin"]||null!=c["stroke-linecap"])&&(y=b.getElementsByTagName(l),oi=!1,(y=y&&y[0],!y&&(oi=y=s(l)),"image"==r.type&&c.src&&(y.src=c.src),c.fill&&(y.on=!0),(null==y.on||"none"==c.fill||null===c.fill)&&(y.on=!1),y.on&&c.fill)&&(pt=t(c.fill).match(i._ISURL),pt?(y.parentNode==b&&b.removeChild(y),y.rotate=!0,y.src=pt[1],y.type="tile",st=r.getBBox(1),y.position=st.x+o+st.y,r._.fillpos=[st.x,st.y],i._preload(pt[1],function(){r._.fillsize=[this.offsetWidth,this.offsetHeight]})):(y.color=i.getRGB(c.fill).hex,y.src=u,y.type="solid",i.getRGB(c.fill).error&&(p.type in{circle:1,ellipse:1}||"r"!=t(c.fill).charAt())&&at(p,c.fill,y)&&(v.fill="none",v.gradient=c.fill,y.rotate=!1))),("fill-opacity"in c||"opacity"in c)&&(tt=((+v["fill-opacity"]+1||2)-1)*((+v.opacity+1||2)-1)*((+i.getRGB(c.fill).o+1||2)-1),tt=g(k(tt,0),1),y.opacity=tt,y.src&&(y.color="none")),b.appendChild(y),d=b.getElementsByTagName("stroke")&&b.getElementsByTagName("stroke")[0],kt=!1,d||(kt=d=s("stroke")),(c.stroke&&"none"!=c.stroke||c["stroke-width"]||null!=c["stroke-opacity"]||c["stroke-dasharray"]||c["stroke-miterlimit"]||c["stroke-linejoin"]||c["stroke-linecap"])&&(d.on=!0),("none"==c.stroke||null===c.stroke||null==d.on||0==c.stroke||0==c["stroke-width"])&&(d.on=!1),dt=i.getRGB(c.stroke),d.on&&c.stroke&&(d.color=dt.hex),tt=((+v["stroke-opacity"]+1||2)-1)*((+v.opacity+1||2)-1)*((+dt.o+1||2)-1),et=.75*(f(c["stroke-width"])||1),(tt=g(k(tt,0),1),null==c["stroke-width"]&&(et=v["stroke-width"]),c["stroke-width"]&&(d.weight=et),et&&1>et&&(tt*=et)&&(d.weight=1),d.opacity=tt,c["stroke-linejoin"]&&(d.joinstyle=c["stroke-linejoin"]||"miter"),d.miterlimit=c["stroke-miterlimit"]||8,c["stroke-linecap"]&&(d.endcap="butt"==c["stroke-linecap"]?"flat":"square"==c["stroke-linecap"]?"square":"round"),"stroke-dasharray"in c)&&(gt={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},d.dashstyle=gt[h](c["stroke-dasharray"])?gt[c["stroke-dasharray"]]:u),kt&&b.appendChild(d)),"text"==p.type){p.paper.canvas.style.display=u;var ni=p.paper.span,ti=100,wt=v.font&&v.font.match(/\d+(?:\.\d*)?(?=px)/);it=ni.style;v.font&&(it.font=v.font);v["font-family"]&&(it.fontFamily=v["font-family"]);v["font-weight"]&&(it.fontWeight=v["font-weight"]);v["font-style"]&&(it.fontStyle=v["font-style"]);wt=f(v["font-size"]||wt&&wt[0])||10;it.fontSize=wt*ti+"px";p.textpath.string&&(ni.innerHTML=t(p.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));vt=ni.getBoundingClientRect();p.W=v.w=(vt.right-vt.left)/ti;p.H=v.h=(vt.bottom-vt.top)/ti;p.X=v.x;p.Y=v.y+p.H/2;("x"in c||"y"in c)&&(p.path.v=i.format("m{0},{1}l{2},{1}",e(v.x*n),e(v.y*n),e(v.x*n)+1));for(var si=["x","y","text","font","font-family","font-weight","font-style","font-size"],ii=0,ci=si.length;ci>ii;ii++)if(si[ii]in c){p._.dirty=1;break}switch(v["text-anchor"]){case"start":p.textpath.style["v-text-align"]="left";p.bbx=p.W/2;break;case"end":p.textpath.style["v-text-align"]="right";p.bbx=-p.W/2;break;default:p.textpath.style["v-text-align"]="center";p.bbx=0}p.textpath.style["v-text-kern"]=!0}},at=function(n,r,e){var h,s;n.attrs=n.attrs||{};var a=(n.attrs,Math.pow),v="linear",p=".5 .5";if((n.attrs.gradient=r,r=t(r).replace(i._radial_gradient,function(n,t,i){return v="radial",t&&i&&(t=f(t),i=f(i),a(t-.5,2)+a(i-.5,2)>.25&&(i=c.sqrt(.25-a(t-.5,2))*(2*(i>.5)-1)+.5),p=t+o+i),u}),r=r.split(/\s*\-\s*/),"linear"==v)&&(h=r.shift(),h=-f(h),isNaN(h))||(s=i._parseDots(r),!s))return null;if(n=n.shape||n.node,s.length){n.removeChild(e);e.on=!0;e.method="none";e.color=s[0].color;e.color2=s[s.length-1].color;for(var y=[],l=0,w=s.length;w>l;l++)s[l].offset&&y.push(s[l].offset+o+s[l].color);e.colors=y.length?y.join():"0% "+e.color;"radial"==v?(e.type="gradientTitle",e.focus="100%",e.focussize="0 0",e.focusposition=p,e.angle=0):(e.type="gradient",e.angle=(270-h)%360);n.appendChild(e)}return 1},b=function(n,t){this[0]=this.node=n;n.raphael=!0;this.id=i._oid++;n.raphaelid=this.id;this.X=0;this.Y=0;this.attrs={};this.paper=t;this.matrix=i.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};!t.bottom&&(t.bottom=this);this.prev=t.top;t.top&&(t.top.next=this);t.top=this;this.next=null},r=i.el;b.prototype=r;r.constructor=b;r.transform=function(r){var l,e,a;if(null==r)return this._.transform;e=this.paper._viewBoxShift;a=e?"s"+[e.scale,e.scale]+"-1-1t"+[e.dx,e.dy]:u;e&&(l=r=t(r).replace(/\.{3}|\u2026/g,this._.transform||u));i._extractTransform(this,a+r);var f,s=this.matrix.clone(),h=this.skew,c=this.node,v=~t(this.attrs.fill).indexOf("-"),d=!t(this.attrs.fill).indexOf("url(");if(s.translate(1,1),d||v||"image"==this.type)if(h.matrix="1 0 0 1",h.offset="0 0",f=s.split(),v&&f.noRotation||!f.isSimple){c.style.filter=s.toFilter();var y=this.getBBox(),p=this.getBBox(1),b=y.x-p.x,k=y.y-p.y;c.coordorigin=b*-n+o+k*-n;w(this,1,1,b,k,0)}else c.style.filter=u,w(this,f.scalex,f.scaley,f.dx,f.dy,f.rotate);else c.style.filter=u,h.matrix=t(s),h.offset=s.offset();return l&&(this._.transform=l),this};r.rotate=function(n,i,r){if(this.removed)return this;if(null!=n){if(n=t(n).split(a),n.length-1&&(i=f(n[1]),r=f(n[2])),n=f(n[0]),null==r&&(i=r),null==i||null==r){var u=this.getBBox(1);i=u.x+u.width/2;r=u.y+u.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([["r",n,i,r]])),this}};r.translate=function(n,i){return this.removed?this:(n=t(n).split(a),n.length-1&&(i=f(n[1])),n=f(n[0])||0,i=+i||0,this._.bbox&&(this._.bbox.x+=n,this._.bbox.y+=i),this.transform(this._.transform.concat([["t",n,i]])),this)};r.scale=function(n,i,r,u){if(this.removed)return this;if(n=t(n).split(a),n.length-1&&(i=f(n[1]),r=f(n[2]),u=f(n[3]),isNaN(r)&&(r=null),isNaN(u)&&(u=null)),n=f(n[0]),null==i&&(i=n),null==u&&(r=u),null==r||null==u)var e=this.getBBox(1);return r=null==r?e.x+e.width/2:r,u=null==u?e.y+e.height/2:u,this.transform(this._.transform.concat([["s",n,i,r,u]])),this._.dirtyT=1,this};r.hide=function(){return!this.removed&&(this.node.style.display="none"),this};r.show=function(){return!this.removed&&(this.node.style.display=u),this};r._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}};r.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this);i.eve.unbind("raphael.*.*."+this.id);i._tear(this,this.paper);this.node.parentNode.removeChild(this.node);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var n in this)this[n]="function"==typeof this[n]?i._removedFactory(n):null;this.removed=!0}};r.attr=function(n,t){var f,s,r,u,y,p;if(this.removed)return this;if(null==n){f={};for(s in this.attrs)this.attrs[h](s)&&(f[s]=this.attrs[s]);return f.gradient&&"none"==f.fill&&(f.fill=f.gradient)&&delete f.gradient,f.transform=this._.transform,f}if(null==t&&i.is(n,"string")){if(n==l&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var w=n.split(a),o={},e=0,c=w.length;c>e;e++)n=w[e],o[n]=n in this.attrs?this.attrs[n]:i.is(this.paper.customAttributes[n],"function")?this.paper.customAttributes[n].def:i._availableAttrs[n];return c-1?o:o[w[0]]}if(this.attrs&&null==t&&i.is(n,"array")){for(o={},e=0,c=n.length;c>e;e++)o[n[e]]=this.attr(n[e]);return o}null!=t&&(r={},r[n]=t);null==t&&i.is(n,"object")&&(r=n);for(u in r)ut("raphael.attr."+u+"."+this.id,this,r[u]);if(r){for(u in this.paper.customAttributes)if(this.paper.customAttributes[h](u)&&r[h](u)&&i.is(this.paper.customAttributes[u],"function")){y=this.paper.customAttributes[u].apply(this,[].concat(r[u]));this.attrs[u]=r[u];for(p in y)y[h](p)&&(r[p]=y[p])}r.text&&"text"==this.type&&(this.textpath.string=r.text);v(this,r)}return this};r.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&i._tofront(this,this.paper),this};r.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),i._toback(this,this.paper)),this)};r.insertAfter=function(n){return this.removed?this:(n.constructor==i.st.constructor&&(n=n[n.length-1]),n.node.nextSibling?n.node.parentNode.insertBefore(this.node,n.node.nextSibling):n.node.parentNode.appendChild(this.node),i._insertafter(this,n,this.paper),this)};r.insertBefore=function(n){return this.removed?this:(n.constructor==i.st.constructor&&(n=n[0]),n.node.parentNode.insertBefore(this.node,n.node),i._insertbefore(this,n,this.paper),this)};r.blur=function(n){var t=this.node.runtimeStyle,r=t.filter;return r=r.replace(ot,u),0!=+n?(this.attrs.blur=n,t.filter=r+o+ft+".Blur(pixelradius="+(+n||1.5)+")",t.margin=i.format("-{0}px 0 0 -{0}px",e(+n||1.5))):(t.filter=r,t.margin=0,delete this.attrs.blur),this};i._engine.path=function(t,i){var f=s("shape"),r,h,e;return f.style.cssText=tt,f.coordsize=n+o+n,f.coordorigin=i.coordorigin,r=new b(f,i),h={fill:"none",stroke:"#000"},t&&(h.path=t),r.type="path",r.path=[],r.Path=u,v(r,h),i.canvas.appendChild(f),e=s("skew"),e.on=!0,f.appendChild(e),r.skew=e,r.transform(u),r};i._engine.rect=function(n,t,r,u,f,e){var h=i._rectPath(t,r,u,f,e),o=n.path(h),s=o.attrs;return o.X=s.x=t,o.Y=s.y=r,o.W=s.width=u,o.H=s.height=f,s.r=e,s.path=h,o.type="rect",o};i._engine.ellipse=function(n,t,i,r,u){var f=n.path();return f.attrs,f.X=t-r,f.Y=i-u,f.W=2*r,f.H=2*u,f.type="ellipse",v(f,{cx:t,cy:i,rx:r,ry:u}),f};i._engine.circle=function(n,t,i,r){var u=n.path();return u.attrs,u.X=t-r,u.Y=i-r,u.W=u.H=2*r,u.type="circle",v(u,{cx:t,cy:i,r:r}),u};i._engine.image=function(n,t,r,u,f,e){var a=i._rectPath(r,u,f,e),o=n.path(a).attr({stroke:"none"}),s=o.attrs,c=o.node,h=c.getElementsByTagName(l)[0];return s.src=t,o.X=s.x=r,o.Y=s.y=u,o.W=s.width=f,o.H=s.height=e,s.path=a,o.type="image",h.parentNode==c&&c.removeChild(h),h.rotate=!0,h.src=t,h.type="tile",o._.fillpos=[r,u],o._.fillsize=[f,e],c.appendChild(h),w(o,1,1,0,0,0),o};i._engine.text=function(r,f,h,c){var a=s("shape"),y=s("path"),p=s("textpath"),l,k,w;return f=f||0,h=h||0,c=c||"",y.v=i.format("m{0},{1}l{2},{1}",e(f*n),e(h*n),e(f*n)+1),y.textpathok=!0,p.string=t(c),p.on=!0,a.style.cssText=tt,a.coordsize=n+o+n,a.coordorigin="0 0",l=new b(a,r),k={fill:"#000",stroke:"none",font:i._availableAttrs.font,text:c},l.shape=a,l.path=y,l.textpath=p,l.type="text",l.attrs.text=t(c),l.attrs.x=f,l.attrs.y=h,l.attrs.w=1,l.attrs.h=1,v(l,k),a.appendChild(p),a.appendChild(y),r.canvas.appendChild(a),w=s("skew"),w.on=!0,a.appendChild(w),l.skew=w,l.transform(u),l};i._engine.setSize=function(n,t){var r=this.canvas.style;return this.width=n,this.height=t,n==+n&&(n+="px"),t==+t&&(t+="px"),r.width=n,r.height=t,r.clip="rect(0 "+n+" "+t+" 0)",this._viewBox&&i._engine.setViewBox.apply(this,this._viewBox),this};i._engine.setViewBox=function(n,t,r,u,f){i.eve("raphael.setViewBox",this,this._viewBox,[n,t,r,u,f]);var e,o,s=this.width,h=this.height,c=1/k(r/s,u/h);return f&&(e=h/u,o=s/r,s>r*e&&(n-=(s-r*e)/2/e),h>u*o&&(t-=(h-u*o)/2/o)),this._viewBox=[n,t,r,u,!!f],this._viewBoxShift={dx:-n,dy:-t,scale:c},this.forEach(function(n){n.transform("...")}),this};i._engine.initWin=function(n){var t=n.document;t.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{t.namespaces.rvml||t.namespaces.add("rvml","urn:schemas-microsoft-com:vml");s=function(n){return t.createElement("<rvml:"+n+' class="rvml">')}}catch(i){s=function(n){return t.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};i._engine.initWin(i._g.win);i._engine.create=function(){var e=i._getContainer.apply(0,arguments),f=e.container,r=e.height,u=e.width,c=e.x,l=e.y;if(!f)throw new Error("VML container not found.");var t=new i._Paper,s=t.canvas=i._g.doc.createElement("div"),h=s.style;return c=c||0,l=l||0,u=u||512,r=r||342,t.width=u,t.height=r,u==+u&&(u+="px"),r==+r&&(r+="px"),t.coordsize=1e3*n+o+1e3*n,t.coordorigin="0 0",t.span=i._g.doc.createElement("span"),t.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",s.appendChild(t.span),h.cssText=i.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",u,r),1==f?(i._g.doc.body.appendChild(s),h.left=c+"px",h.top=l+"px",h.position="absolute"):f.firstChild?f.insertBefore(s,f.firstChild):f.appendChild(s),t.renderfix=function(){},t};i.prototype.clear=function(){i.eve("raphael.clear",this);this.canvas.innerHTML=u;this.span=i._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};i.prototype.remove=function(){i.eve("raphael.remove",this);this.canvas.parentNode.removeChild(this.canvas);for(var n in this)this[n]="function"==typeof this[n]?i._removedFactory(n):null;return!0};d=i.st;for(y in r)r[h](y)&&!d[h](y)&&(d[y]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n].apply(i,t)})}}(y))}}(),pi.was?r.win.Raphael=i:Raphael=i,i});!function(n){n.color={};n.color.make=function(t,i,r,u){var f={};return f.r=t||0,f.g=i||0,f.b=r||0,f.a=null!=u?u:1,f.add=function(n,t){for(var i=0;i<n.length;++i)f[n.charAt(i)]+=t;return f.normalize()},f.scale=function(n,t){for(var i=0;i<n.length;++i)f[n.charAt(i)]*=t;return f.normalize()},f.toString=function(){return f.a>=1?"rgb("+[f.r,f.g,f.b].join(",")+")":"rgba("+[f.r,f.g,f.b,f.a].join(",")+")"},f.normalize=function(){function n(n,t,i){return n>t?n:t>i?i:t}return f.r=n(0,parseInt(f.r),255),f.g=n(0,parseInt(f.g),255),f.b=n(0,parseInt(f.b),255),f.a=n(0,f.a,1),f},f.clone=function(){return n.color.make(f.r,f.b,f.g,f.a)},f.normalize()};n.color.extract=function(t,i){var r;do{if(r=t.css(i).toLowerCase(),""!=r&&"transparent"!=r)break;t=t.parent()}while(t.length&&!n.nodeName(t.get(0),"body"));return"rgba(0, 0, 0, 0)"==r&&(r="transparent"),n.color.parse(r)};n.color.parse=function(i){var r,u=n.color.make,f;return(r=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(i))?u(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)):(r=/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(i))?u(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseFloat(r[4])):(r=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(i))?u(2.55*parseFloat(r[1]),2.55*parseFloat(r[2]),2.55*parseFloat(r[3])):(r=/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(i))?u(2.55*parseFloat(r[1]),2.55*parseFloat(r[2]),2.55*parseFloat(r[3]),parseFloat(r[4])):(r=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(i))?u(parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)):(r=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(i))?u(parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)):(f=n.trim(i).toLowerCase(),"transparent"==f?u(255,255,255,0):(r=t[f]||[0,0,0],u(r[0],r[1],r[2])))};var t={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]}}(jQuery),function(n){function t(t,i){var r=i.children("."+t)[0];if(null==r&&(r=document.createElement("canvas"),r.className=t,n(r).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(i),!r.getContext)){if(!window.G_vmlCanvasManager)throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");r=window.G_vmlCanvasManager.initElement(r)}this.element=r;var u=this.context=r.getContext("2d"),f=window.devicePixelRatio||1,e=u.webkitBackingStorePixelRatio||u.mozBackingStorePixelRatio||u.msBackingStorePixelRatio||u.oBackingStorePixelRatio||u.backingStorePixelRatio||1;this.pixelRatio=f/e;this.resize(i.width(),i.height());this.textContainer=null;this.text={};this._textCache={}}function r(i,r,f,e){function nt(n,t){t=[l].concat(t);for(var i=0;i<n.length;++i)n[i].apply(this,t)}function ui(){for(var r,u={Canvas:t},i=0;i<e.length;++i)r=e[i],r.init(l,u),r.options&&n.extend(!0,o,r.options)}function fi(t){var f;n.extend(!0,o,t);t&&t.colors&&(o.colors=t.colors);null==o.xaxis.color&&(o.xaxis.color=n.color.parse(o.grid.color).scale("a",.22).toString());null==o.yaxis.color&&(o.yaxis.color=n.color.parse(o.grid.color).scale("a",.22).toString());null==o.xaxis.tickColor&&(o.xaxis.tickColor=o.grid.tickColor||o.xaxis.color);null==o.yaxis.tickColor&&(o.yaxis.tickColor=o.grid.tickColor||o.yaxis.color);null==o.grid.borderColor&&(o.grid.borderColor=o.grid.color);null==o.grid.tickColor&&(o.grid.tickColor=n.color.parse(o.grid.color).scale("a",.22).toString());for(var r,s=i.css("font-size"),c=s?+s.replace("px",""):13,h={style:i.css("font-style"),size:Math.round(.8*c),variant:i.css("font-variant"),weight:i.css("font-weight"),family:i.css("font-family")},e=o.xaxes.length||1,u=0;e>u;++u)r=o.xaxes[u],r&&!r.tickColor&&(r.tickColor=r.color),r=n.extend(!0,{},o.xaxis,r),o.xaxes[u]=r,r.font&&(r.font=n.extend({},h,r.font),r.font.color||(r.font.color=r.color),r.font.lineHeight||(r.font.lineHeight=Math.round(1.15*r.font.size)));for(e=o.yaxes.length||1,u=0;e>u;++u)r=o.yaxes[u],r&&!r.tickColor&&(r.tickColor=r.color),r=n.extend(!0,{},o.yaxis,r),o.yaxes[u]=r,r.font&&(r.font=n.extend({},h,r.font),r.font.color||(r.font.color=r.color),r.font.lineHeight||(r.font.lineHeight=Math.round(1.15*r.font.size)));for(o.xaxis.noTicks&&null==o.xaxis.ticks&&(o.xaxis.ticks=o.xaxis.noTicks),o.yaxis.noTicks&&null==o.yaxis.ticks&&(o.yaxis.ticks=o.yaxis.noTicks),o.x2axis&&(o.xaxes[1]=n.extend(!0,{},o.xaxis,o.x2axis),o.xaxes[1].position="top",null==o.x2axis.min&&(o.xaxes[1].min=null),null==o.x2axis.max&&(o.xaxes[1].max=null)),o.y2axis&&(o.yaxes[1]=n.extend(!0,{},o.yaxis,o.y2axis),o.yaxes[1].position="right",null==o.y2axis.min&&(o.yaxes[1].min=null),null==o.y2axis.max&&(o.yaxes[1].max=null)),o.grid.coloredAreas&&(o.grid.markings=o.grid.coloredAreas),o.grid.coloredAreasColor&&(o.grid.markingsColor=o.grid.coloredAreasColor),o.lines&&n.extend(!0,o.series.lines,o.lines),o.points&&n.extend(!0,o.series.points,o.points),o.bars&&n.extend(!0,o.series.bars,o.bars),null!=o.shadowSize&&(o.series.shadowSize=o.shadowSize),null!=o.highlightColor&&(o.series.highlightColor=o.highlightColor),u=0;u<o.xaxes.length;++u)et(y,u+1).options=o.xaxes[u];for(u=0;u<o.yaxes.length;++u)et(w,u+1).options=o.yaxes[u];for(f in p)o.hooks[f]&&o.hooks[f].length&&(p[f]=p[f].concat(o.hooks[f]));nt(p.processOptions,[o])}function ht(n){c=ei(n);si();hi()}function ei(t){for(var r,u=[],i=0;i<t.length;++i)r=n.extend(!0,{},o.series),null!=t[i].data?(r.data=t[i].data,delete t[i].data,n.extend(!0,r,t[i]),t[i].data=r.data):r.data=t[i],u.push(r);return u}function ft(n,t){var i=n[t+"axis"];return"object"==typeof i&&(i=i.n),"number"!=typeof i&&(i=1),i}function tt(){return n.grep(y.concat(w),function(n){return n})}function ct(n){for(var t,i={},r=0;r<y.length;++r)t=y[r],t&&t.used&&(i["x"+t.n]=t.c2p(n.left));for(r=0;r<w.length;++r)t=w[r],t&&t.used&&(i["y"+t.n]=t.c2p(n.top));return void 0!==i.x1&&(i.x=i.x1),void 0!==i.y1&&(i.y=i.y1),i}function oi(n){for(var t,i,u={},r=0;r<y.length;++r)if(t=y[r],t&&t.used&&(i="x"+t.n,null==n[i]&&1==t.n&&(i="x"),null!=n[i])){u.left=t.p2c(n[i]);break}for(r=0;r<w.length;++r)if(t=w[r],t&&t.used&&(i="y"+t.n,null==n[i]&&1==t.n&&(i="y"),null!=n[i])){u.top=t.p2c(n[i]);break}return u}function et(t,i){return t[i-1]||(t[i-1]={n:i,direction:t==y?"x":"y",options:n.extend(!0,{},t==y?o.xaxis:o.yaxis)}),t[i-1]}function si(){for(var f=c.length,e=-1,u,t,h,l,a,i=0;i<c.length;++i)u=c[i].color,null!=u&&(f--,"number"==typeof u&&u>e&&(e=u));e>=f&&(f=e+1);var v,s=[],p=o.colors,b=p.length,r=0;for(i=0;f>i;i++)v=n.color.parse(p[i%b]||"#666"),i%b==0&&i&&(r=r>=0?.5>r?-r-.2:0:-r),s[i]=v.scale("rgb",1+r);for(h=0,i=0;i<c.length;++i){if(t=c[i],null==t.color?(t.color=s[h].toString(),++h):"number"==typeof t.color&&(t.color=s[t.color].toString()),null==t.lines.show){a=!0;for(l in t)if(t[l]&&t[l].show){a=!1;break}a&&(t.lines.show=!0)}null==t.lines.zero&&(t.lines.zero=!!t.lines.fill);t.xaxis=et(y,ft(t,"x"));t.yaxis=et(w,ft(t,"y"))}}function hi(){function y(n,t,i){t<n.datamin&&t!=-v&&(n.datamin=t);i>n.datamax&&i!=v&&(n.datamax=i)}var f,l,e,r,t,u,h,i,s,ut,ft,o,w=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,v=Number.MAX_VALUE,et,ot,k,a;for(n.each(tt(),function(n,t){t.datamin=w;t.datamax=b;t.used=!1}),f=0;f<c.length;++f)t=c[f],t.datapoints={points:[]},nt(p.processRawData,[t,t.data,t.datapoints]);for(f=0;f<c.length;++f)if((t=c[f],ft=t.data,o=t.datapoints.format,o)||((o=[],o.push({x:!0,number:!0,required:!0}),o.push({y:!0,number:!0,required:!0}),t.bars.show||t.lines.show&&t.lines.fill)&&(et=!!(t.bars.show&&t.bars.zero||t.lines.show&&t.lines.zero),o.push({y:!0,number:!0,required:!1,defaultValue:0,autoscale:et}),t.bars.horizontal&&(delete o[o.length-1].y,o[o.length-1].x=!0)),t.datapoints.format=o),null==t.datapoints.pointsize)for(t.datapoints.pointsize=o.length,h=t.datapoints.pointsize,u=t.datapoints.points,ot=t.lines.show&&t.lines.steps,t.xaxis.used=t.yaxis.used=!0,l=e=0;l<ft.length;++l,e+=h){if(ut=ft[l],k=null==ut,!k)for(r=0;h>r;++r)i=ut[r],s=o[r],s&&(s.number&&null!=i&&(i=+i,isNaN(i)?i=null:i==1/0?i=v:i==-(1/0)&&(i=-v)),null==i&&(s.required&&(k=!0),null!=s.defaultValue&&(i=s.defaultValue))),u[e+r]=i;if(k)for(r=0;h>r;++r)i=u[e+r],null!=i&&(s=o[r],s.autoscale!==!1&&(s.x&&y(t.xaxis,i,i),s.y&&y(t.yaxis,i,i))),u[e+r]=null;else if(ot&&e>0&&null!=u[e-h]&&u[e-h]!=u[e]&&u[e-h+1]!=u[e+1]){for(r=0;h>r;++r)u[e+h+r]=u[e+r];u[e+1]=u[e-h+1];e+=h}}for(f=0;f<c.length;++f)t=c[f],nt(p.processDatapoints,[t,t.datapoints]);for(f=0;f<c.length;++f){t=c[f];u=t.datapoints.points;h=t.datapoints.pointsize;o=t.datapoints.format;var d=w,g=w,it=b,rt=b;for(l=0;l<u.length;l+=h)if(null!=u[l])for(r=0;h>r;++r)i=u[l+r],s=o[r],s&&s.autoscale!==!1&&i!=v&&i!=-v&&(s.x&&(d>i&&(d=i),i>it&&(it=i)),s.y&&(g>i&&(g=i),i>rt&&(rt=i)));if(t.bars.show){switch(t.bars.align){case"left":a=0;break;case"right":a=-t.bars.barWidth;break;default:a=-t.bars.barWidth/2}t.bars.horizontal?(g+=a,rt+=a+t.bars.barWidth):(d+=a,it+=a+t.bars.barWidth)}y(t.xaxis,d,it);y(t.yaxis,g,rt)}n.each(tt(),function(n,t){t.datamin==w&&(t.datamin=null);t.datamax==b&&(t.datamax=null)})}function ci(){i.css("padding",0).children().filter(function(){return!n(this).hasClass("flot-overlay")&&!n(this).hasClass("flot-base")}).remove();"static"==i.css("position")&&i.css("position","relative");a=new t("flot-base",i);it=new t("flot-overlay",i);s=a.context;v=it.context;k=n(it.element).unbind();var r=i.data("plot");r&&(r.shutdown(),it.clear());i.data("plot",l)}function li(){o.grid.hoverable&&(k.mousemove(bt),k.bind("mouseleave",kt));o.grid.clickable&&k.click(dt);nt(p.bindEvents,[k])}function lt(){rt&&clearTimeout(rt);k.unbind("mousemove",bt);k.unbind("mouseleave",kt);k.unbind("click",dt);nt(p.shutdown,[k])}function ai(n){function u(n){return n}var i,r,t=n.options.transform||u,f=n.options.inverseTransform;"x"==n.direction?(i=n.scale=d/Math.abs(t(n.max)-t(n.min)),r=Math.min(t(n.max),t(n.min))):(i=n.scale=b/Math.abs(t(n.max)-t(n.min)),i=-i,r=Math.max(t(n.max),t(n.min)));n.p2c=t==u?function(n){return(n-r)*i}:function(n){return(t(n)-r)*i};n.c2p=f?function(n){return f(r+n/i)}:function(n){return r+n/i}}function vi(n){for(var e,o,t=n.options,r=n.ticks||[],i=t.labelWidth||0,u=t.labelHeight||0,s=i||("x"==n.direction?Math.floor(a.width/(r.length||1)):null),h=n.direction+"Axis "+n.direction+n.n+"Axis",c="flot-"+n.direction+"-axis flot-"+n.direction+n.n+"-axis "+h,l=t.font||"flot-tick-label tickLabel",f=0;f<r.length;++f)e=r[f],e.label&&(o=a.getTextInfo(c,e.label,l,null,s),i=Math.max(i,o.width),u=Math.max(u,o.height));n.labelWidth=t.labelWidth||i;n.labelHeight=t.labelHeight||u}function yi(t){var r=t.labelWidth,u=t.labelHeight,e=t.options.position,l="x"===t.direction,f=t.options.tickLength,i=o.grid.axisMargin,s=o.grid.labelMargin,v=!0,p=!0,b=!0,c=!1;n.each(l?y:w,function(n,i){i&&(i.show||i.reserveSpace)&&(i===t?c=!0:i.options.position===e&&(c?p=!1:v=!1),c||(b=!1))});p&&(i=0);null==f&&(f=b?"full":5);isNaN(+f)||(s+=+f);l?(u+=s,"bottom"==e?(h.bottom+=u+i,t.box={top:a.height-h.bottom,height:u}):(t.box={top:h.top+i,height:u},h.top+=u+i)):(r+=s,"left"==e?(t.box={left:h.left+i,width:r},h.left+=r+i):(h.right+=r+i,t.box={left:a.width-h.right,width:r}));t.position=e;t.tickLength=f;t.box.padding=s;t.innermost=v}function pi(n){"x"==n.direction?(n.box.left=h.left-n.labelWidth/2,n.box.width=a.width-h.left-h.right+n.labelWidth):(n.box.top=h.top-n.labelHeight/2,n.box.height=a.height-h.bottom-h.top+n.labelHeight)}function wi(){var r,i=o.grid.minBorderMargin,t;if(null==i)for(i=0,r=0;r<c.length;++r)i=Math.max(i,2*(c[r].points.radius+c[r].points.lineWidth/2));t={left:i,right:i,top:i,bottom:i};n.each(tt(),function(n,i){i.reserveSpace&&i.ticks&&i.ticks.length&&("x"===i.direction?(t.left=Math.max(t.left,i.labelWidth/2),t.right=Math.max(t.right,i.labelWidth/2)):(t.bottom=Math.max(t.bottom,i.labelHeight/2),t.top=Math.max(t.top,i.labelHeight/2)))});h.left=Math.ceil(Math.max(t.left,h.left));h.right=Math.ceil(Math.max(t.right,h.right));h.top=Math.ceil(Math.max(t.top,h.top));h.bottom=Math.ceil(Math.max(t.bottom,h.bottom))}function at(){var r,e=tt(),u=o.grid.show,f,t,i;for(t in h)f=o.grid.margin||0,h[t]="number"==typeof f?f:f[t]||0;nt(p.processOffset,[h]);for(t in h)h[t]+="object"==typeof o.grid.borderWidth?u?o.grid.borderWidth[t]:0:u?o.grid.borderWidth:0;if(n.each(e,function(n,t){var i=t.options;t.show=null==i.show?t.used:i.show;t.reserveSpace=null==i.reserveSpace?t.show:i.reserveSpace;bi(t)}),u){for(i=n.grep(e,function(n){return n.show||n.reserveSpace}),n.each(i,function(n,t){ki(t);di(t);gi(t,t.ticks);vi(t)}),r=i.length-1;r>=0;--r)yi(i[r]);wi();n.each(i,function(n,t){pi(t)})}d=a.width-h.left-h.right;b=a.height-h.bottom-h.top;n.each(e,function(n,t){ai(t)});u&&tr();er()}function bi(n){var t=n.options,r=+(null!=t.min?t.min:n.datamin),i=+(null!=t.max?t.max:n.datamax),f=i-r,e,u;0==f?(e=0==i?1:.01,null==t.min&&(r-=e),(null==t.max||null!=t.min)&&(i+=e)):(u=t.autoscaleMargin,null!=u&&(null==t.min&&(r-=f*u,0>r&&null!=n.datamin&&n.datamin>=0&&(r=0)),null==t.max&&(i+=f*u,i>0&&null!=n.datamax&&n.datamax<=0&&(i=0))));n.min=r;n.max=i}function ki(t){var b,i=t.options,f,v,h,r,s,p,c;b="number"==typeof i.ticks&&i.ticks>0?i.ticks:.3*Math.sqrt("x"==t.direction?a.width:a.height);var l=(t.max-t.min)/b,o=-Math.floor(Math.log(l)/Math.LN10),e=i.tickDecimals;if(null!=e&&o>e&&(o=e),v=Math.pow(10,-o),h=l/v,1.5>h?f=1:3>h?(f=2,h>2.25&&(null==e||e>=o+1)&&(f=2.5,++o)):f=7.5>h?5:10,f*=v,null!=i.minTickSize&&f<i.minTickSize&&(f=i.minTickSize),t.delta=l,t.tickDecimals=Math.max(0,null!=e?e:o),t.tickSize=i.tickSize||f,"time"==i.mode&&!t.tickGenerator)throw new Error("Time mode requires the flot.time plugin.");(t.tickGenerator||(t.tickGenerator=function(n){var i,r=[],e=u(n.min,n.tickSize),f=0,t=Number.NaN;do i=t,t=e+f*n.tickSize,r.push(t),++f;while(t<n.max&&t!=i);return r},t.tickFormatter=function(n,t){var u=t.tickDecimals?Math.pow(10,t.tickDecimals):1,i=""+Math.round(n*u)/u,f,r;return null!=t.tickDecimals&&(f=i.indexOf("."),r=-1==f?0:i.length-f-1,r<t.tickDecimals)?(r?i:i+".")+(""+u).substr(1,t.tickDecimals-r):i}),n.isFunction(i.tickFormatter)&&(t.tickFormatter=function(n,t){return""+i.tickFormatter(n,t)}),null!=i.alignTicksWithAxis)&&(r=("x"==t.direction?y:w)[i.alignTicksWithAxis-1],r&&r.used&&r!=t&&(s=t.tickGenerator(t),(s.length>0&&(null==i.min&&(t.min=Math.min(t.min,s[0])),null==i.max&&s.length>1&&(t.max=Math.max(t.max,s[s.length-1]))),t.tickGenerator=function(n){for(var t,u=[],i=0;i<r.ticks.length;++i)t=(r.ticks[i].v-r.min)/(r.max-r.min),t=n.min+t*(n.max-n.min),u.push(t);return u},t.mode||null!=i.tickDecimals)||(p=Math.max(0,-Math.floor(Math.log(t.delta)/Math.LN10)+1),c=t.tickGenerator(t),c.length>1&&/\..*0$/.test((c[1]-c[0]).toFixed(p))||(t.tickDecimals=p))))}function di(t){var i=t.options.ticks,e=[],o,u,f,r;for(null==i||"number"==typeof i&&i>0?e=t.tickGenerator(t):i&&(e=n.isFunction(i)?i(t):i),t.ticks=[],o=0;o<e.length;++o)f=null,r=e[o],"object"==typeof r?(u=+r[0],r.length>1&&(f=r[1])):u=+r,null==f&&(f=t.tickFormatter(u,t)),isNaN(u)||t.ticks.push({v:u,label:f})}function gi(n,t){n.options.autoscaleMargin&&t.length>0&&(null==n.options.min&&(n.min=Math.min(n.min,t[0].v)),null==n.options.max&&t.length>1&&(n.max=Math.max(n.max,t[t.length-1].v)))}function vt(){var n,t;for(a.clear(),nt(p.drawBackground,[s]),n=o.grid,n.show&&n.backgroundColor&&nr(),n.show&&!n.aboveData&&pt(),t=0;t<c.length;++t)nt(p.drawSeries,[s,c[t]]),ir(c[t]);nt(p.draw,[s]);n.show&&n.aboveData&&pt();a.render();ut()}function yt(n,t){for(var f,i,r,u,s,o=tt(),e=0;e<o.length;++e)if(f=o[e],f.direction==t&&(u=t+f.n+"axis",n[u]||1!=f.n||(u=t+"axis"),n[u])){i=n[u].from;r=n[u].to;break}return(n[u]||(f="x"==t?y[0]:w[0],i=n[t+"1"],r=n[t+"2"]),null!=i&&null!=r&&i>r)&&(s=i,i=r,r=s),{from:i,to:r,axis:f}}function nr(){s.save();s.translate(h.left,h.top);s.fillStyle=ri(o.grid.backgroundColor,b,0,"rgba(255, 255, 255, 0)");s.fillRect(0,0,d,b);s.restore()}function pt(){var v,f,t,e,k,rt,et,ot,it,ut,w;if(s.save(),s.translate(h.left,h.top),k=o.grid.markings,k)for(n.isFunction(k)&&(f=l.getAxes(),f.xmin=f.xaxis.min,f.xmax=f.xaxis.max,f.ymin=f.yaxis.min,f.ymax=f.yaxis.max,k=k(f)),v=0;v<k.length;++v){var nt=k[v],i=yt(nt,"x"),r=yt(nt,"y");(null==i.from&&(i.from=i.axis.min),null==i.to&&(i.to=i.axis.max),null==r.from&&(r.from=r.axis.min),null==r.to&&(r.to=r.axis.max),i.to<i.axis.min||i.from>i.axis.max||r.to<r.axis.min||r.from>r.axis.max)||(i.from=Math.max(i.from,i.axis.min),i.to=Math.min(i.to,i.axis.max),r.from=Math.max(r.from,r.axis.min),r.to=Math.min(r.to,r.axis.max),rt=i.from===i.to,et=r.from===r.to,rt&&et||((i.from=Math.floor(i.axis.p2c(i.from)),i.to=Math.floor(i.axis.p2c(i.to)),r.from=Math.floor(r.axis.p2c(r.from)),r.to=Math.floor(r.axis.p2c(r.to)),rt||et)?(ot=nt.lineWidth||o.grid.markingsLineWidth,it=ot%2?.5:0,s.beginPath(),s.strokeStyle=nt.color||o.grid.markingsColor,s.lineWidth=ot,rt?(s.moveTo(i.to+it,r.from),s.lineTo(i.to+it,r.to)):(s.moveTo(i.from,r.to+it),s.lineTo(i.to,r.to+it)),s.stroke()):(s.fillStyle=nt.color||o.grid.markingsColor,s.fillRect(i.from,r.to,i.to-i.from,r.from-r.to))))}for(f=tt(),t=o.grid.borderWidth,ut=0;ut<f.length;++ut){var c,a,y,p,u=f[ut],ft=u.box,g=u.tickLength;if(u.show&&0!=u.ticks.length){for(s.lineWidth=1,"x"==u.direction?(c=0,a="full"==g?"top"==u.position?0:b:ft.top-h.top+("top"==u.position?ft.height:0)):(a=0,c="full"==g?"left"==u.position?0:d:ft.left-h.left+("left"==u.position?ft.width:0)),u.innermost||(s.strokeStyle=u.options.color,s.beginPath(),y=p=0,"x"==u.direction?y=d+1:p=b+1,1==s.lineWidth&&("x"==u.direction?a=Math.floor(a)+.5:c=Math.floor(c)+.5),s.moveTo(c,a),s.lineTo(c+y,a+p),s.stroke()),s.strokeStyle=u.options.tickColor,s.beginPath(),v=0;v<u.ticks.length;++v)w=u.ticks[v].v,y=p=0,isNaN(w)||w<u.min||w>u.max||"full"==g&&("object"==typeof t&&t[u.position]>0||t>0)&&(w==u.min||w==u.max)||("x"==u.direction?(c=u.p2c(w),p="full"==g?-b:g,"top"==u.position&&(p=-p)):(a=u.p2c(w),y="full"==g?-d:g,"left"==u.position&&(y=-y)),1==s.lineWidth&&("x"==u.direction?c=Math.floor(c)+.5:a=Math.floor(a)+.5),s.moveTo(c,a),s.lineTo(c+y,a+p));s.stroke()}}t&&(e=o.grid.borderColor,"object"==typeof t||"object"==typeof e?("object"!=typeof t&&(t={top:t,right:t,bottom:t,left:t}),"object"!=typeof e&&(e={top:e,right:e,bottom:e,left:e}),t.top>0&&(s.strokeStyle=e.top,s.lineWidth=t.top,s.beginPath(),s.moveTo(0-t.left,0-t.top/2),s.lineTo(d,0-t.top/2),s.stroke()),t.right>0&&(s.strokeStyle=e.right,s.lineWidth=t.right,s.beginPath(),s.moveTo(d+t.right/2,0-t.top),s.lineTo(d+t.right/2,b),s.stroke()),t.bottom>0&&(s.strokeStyle=e.bottom,s.lineWidth=t.bottom,s.beginPath(),s.moveTo(d+t.right,b+t.bottom/2),s.lineTo(0,b+t.bottom/2),s.stroke()),t.left>0&&(s.strokeStyle=e.left,s.lineWidth=t.left,s.beginPath(),s.moveTo(0-t.left/2,b+t.bottom),s.lineTo(0-t.left/2,0),s.stroke())):(s.lineWidth=t,s.strokeStyle=o.grid.borderColor,s.strokeRect(-t/2,-t/2,d+t,b+t)));s.restore()}function tr(){n.each(tt(),function(n,t){var r,u,f,o,s,i=t.box,l=t.direction+"Axis "+t.direction+t.n+"Axis",c="flot-"+t.direction+"-axis flot-"+t.direction+t.n+"-axis "+l,v=t.options.font||"flot-tick-label tickLabel",e;if(a.removeText(c),t.show&&0!=t.ticks.length)for(e=0;e<t.ticks.length;++e)r=t.ticks[e],!r.label||r.v<t.min||r.v>t.max||("x"==t.direction?(o="center",u=h.left+t.p2c(r.v),"bottom"==t.position?f=i.top+i.padding:(f=i.top+i.height-i.padding,s="bottom")):(s="middle",f=h.top+t.p2c(r.v),"left"==t.position?(u=i.left+i.width-i.padding,o="right"):u=i.left+i.padding),a.addText(c,u,f,r.label,v,null,null,o,s))})}function ir(n){n.lines.show&&rr(n);n.bars.show&&fr(n);n.points.show&&ur(n)}function rr(n){function u(n,t,i,r,u){var l=n.points,a=n.pointsize,v=null,y=null,c;for(s.beginPath(),c=a;c<l.length;c+=a){var f=l[c-a],e=l[c-a+1],o=l[c],h=l[c+1];if(null!=f&&null!=o){if(h>=e&&e<u.min){if(h<u.min)continue;f=(u.min-e)/(h-e)*(o-f)+f;e=u.min}else if(e>=h&&h<u.min){if(e<u.min)continue;o=(u.min-e)/(h-e)*(o-f)+f;h=u.min}if(e>=h&&e>u.max){if(h>u.max)continue;f=(u.max-e)/(h-e)*(o-f)+f;e=u.max}else if(h>=e&&h>u.max){if(e>u.max)continue;o=(u.max-e)/(h-e)*(o-f)+f;h=u.max}if(o>=f&&f<r.min){if(o<r.min)continue;e=(r.min-f)/(o-f)*(h-e)+e;f=r.min}else if(f>=o&&o<r.min){if(f<r.min)continue;h=(r.min-f)/(o-f)*(h-e)+e;o=r.min}if(f>=o&&f>r.max){if(o>r.max)continue;e=(r.max-f)/(o-f)*(h-e)+e;f=r.max}else if(o>=f&&o>r.max){if(f>r.max)continue;h=(r.max-f)/(o-f)*(h-e)+e;o=r.max}(f!=v||e!=y)&&s.moveTo(r.p2c(f)+t,u.p2c(e)+i);v=o;y=h;s.lineTo(r.p2c(o)+t,u.p2c(h)+i)}}s.stroke()}function e(n,t,i){for(var v,y,c=n.points,o=n.pointsize,b=Math.min(Math.max(0,i.min),i.max),h=0,l=!1,a=1,p=0,w=0;;){if(o>0&&h>c.length+o)break;h+=o;var r=c[h-o],u=c[h-o+a],f=c[h],e=c[h+a];if(l){if(o>0&&null!=r&&null==f){w=h;o=-o;a=2;continue}if(0>o&&h==p+o){s.fill();l=!1;o=-o;a=1;h=p=w+o;continue}}if(null!=r&&null!=f){if(f>=r&&r<t.min){if(f<t.min)continue;u=(t.min-r)/(f-r)*(e-u)+u;r=t.min}else if(r>=f&&f<t.min){if(r<t.min)continue;e=(t.min-r)/(f-r)*(e-u)+u;f=t.min}if(r>=f&&r>t.max){if(f>t.max)continue;u=(t.max-r)/(f-r)*(e-u)+u;r=t.max}else if(f>=r&&f>t.max){if(r>t.max)continue;e=(t.max-r)/(f-r)*(e-u)+u;f=t.max}(l||(s.beginPath(),s.moveTo(t.p2c(r),i.p2c(b)),l=!0),u>=i.max&&e>=i.max)?(s.lineTo(t.p2c(r),i.p2c(i.max)),s.lineTo(t.p2c(f),i.p2c(i.max))):u<=i.min&&e<=i.min?(s.lineTo(t.p2c(r),i.p2c(i.min)),s.lineTo(t.p2c(f),i.p2c(i.min))):(v=r,y=f,e>=u&&u<i.min&&e>=i.min?(r=(i.min-u)/(e-u)*(f-r)+r,u=i.min):u>=e&&e<i.min&&u>=i.min&&(f=(i.min-u)/(e-u)*(f-r)+r,e=i.min),u>=e&&u>i.max&&e<=i.max?(r=(i.max-u)/(e-u)*(f-r)+r,u=i.max):e>=u&&e>i.max&&u<=i.max&&(f=(i.max-u)/(e-u)*(f-r)+r,e=i.max),r!=v&&s.lineTo(t.p2c(v),i.p2c(u)),s.lineTo(t.p2c(r),i.p2c(u)),s.lineTo(t.p2c(f),i.p2c(e)),f!=y&&(s.lineTo(t.p2c(f),i.p2c(e)),s.lineTo(t.p2c(y),i.p2c(e))))}}}var t,i,r,f;s.save();s.translate(h.left,h.top);s.lineJoin="round";t=n.lines.lineWidth;i=n.shadowSize;t>0&&i>0&&(s.lineWidth=i,s.strokeStyle="rgba(0,0,0,0.1)",r=Math.PI/18,u(n.datapoints,Math.sin(r)*(t/2+i/2),Math.cos(r)*(t/2+i/2),n.xaxis,n.yaxis),s.lineWidth=i/2,u(n.datapoints,Math.sin(r)*(t/2+i/4),Math.cos(r)*(t/2+i/4),n.xaxis,n.yaxis));s.lineWidth=t;s.strokeStyle=n.color;f=ot(n.lines,n.color,0,b);f&&(s.fillStyle=f,e(n.datapoints,n.xaxis,n.yaxis));t>0&&u(n.datapoints,0,0,n.xaxis,n.yaxis);s.restore()}function ur(n){function r(n,t,i,r,u,f,e,o){for(var h,c,a=n.points,v=n.pointsize,l=0;l<a.length;l+=v)h=a[l],c=a[l+1],null==h||h<f.min||h>f.max||c<e.min||c>e.max||(s.beginPath(),h=f.p2c(h),c=e.p2c(c)+r,"circle"==o?s.arc(h,c,t,0,u?Math.PI:2*Math.PI,!1):o(s,h,c,t,u),s.closePath(),i&&(s.fillStyle=i,s.fill()),s.stroke())}var t;s.save();s.translate(h.left,h.top);var i=n.points.lineWidth,e=n.shadowSize,u=n.points.radius,f=n.points.symbol;(0==i&&(i=.0001),i>0&&e>0)&&(t=e/2,s.lineWidth=t,s.strokeStyle="rgba(0,0,0,0.1)",r(n.datapoints,u,null,t+t/2,!0,n.xaxis,n.yaxis,f),s.strokeStyle="rgba(0,0,0,0.2)",r(n.datapoints,u,null,t/2,!0,n.xaxis,n.yaxis,f));s.lineWidth=i;s.strokeStyle=n.color;r(n.datapoints,u,ot(n.points,n.color),0,!1,n.xaxis,n.yaxis,f);s.restore()}function wt(n,t,i,r,u,f,e,o,s,h,c){var l,y,a,v,p,w,b,k,d;h?(k=w=b=!0,p=!1,l=i,y=n,v=t+r,a=t+u,l>y&&(d=y,y=l,l=d,p=!0,w=!1)):(p=w=b=!0,k=!1,l=n+r,y=n+u,a=i,v=t,a>v&&(d=v,v=a,a=d,k=!0,b=!1));y<e.min||l>e.max||v<o.min||a>o.max||(l<e.min&&(l=e.min,p=!1),y>e.max&&(y=e.max,w=!1),a<o.min&&(a=o.min,k=!1),v>o.max&&(v=o.max,b=!1),l=e.p2c(l),a=o.p2c(a),y=e.p2c(y),v=o.p2c(v),f&&(s.fillStyle=f(a,v),s.fillRect(l,v,y-l,a-v)),c>0&&(p||w||b||k)&&(s.beginPath(),s.moveTo(l,a),p?s.lineTo(l,v):s.moveTo(l,v),b?s.lineTo(y,v):s.moveTo(y,v),w?s.lineTo(y,a):s.moveTo(y,a),k?s.lineTo(l,a):s.moveTo(l,a),s.stroke()))}function fr(n){function r(t,i,r,u,f,e){for(var h=t.points,c=t.pointsize,o=0;o<h.length;o+=c)null!=h[o]&&wt(h[o],h[o+1],h[o+2],i,r,u,f,e,s,n.bars.horizontal,n.bars.lineWidth)}var t,i;s.save();s.translate(h.left,h.top);s.lineWidth=n.bars.lineWidth;s.strokeStyle=n.color;switch(n.bars.align){case"left":t=0;break;case"right":t=-n.bars.barWidth;break;default:t=-n.bars.barWidth/2}i=n.bars.fill?function(t,i){return ot(n.bars,n.color,t,i)}:null;r(n.datapoints,t,t+n.bars.barWidth,i,n.xaxis,n.yaxis);s.restore()}function ot(t,i,r,u){var e=t.fill,f;return e?t.fillColor?ri(t.fillColor,r,u,i):(f=n.color.parse(i),f.a="number"==typeof e?e:.4,f.normalize(),f.toString()):null}function er(){var g,r,w,b,v,t,k;if(null!=o.legend.container?n(o.legend.container).html(""):i.find(".legend").remove(),o.legend.show){for(var f,y,e=[],s=[],p=!1,d=o.legend.labelFormatter,r=0;r<c.length;++r)f=c[r],f.label&&(y=d?d(f.label,f):f.label,y&&s.push({label:y,color:f.color}));for(o.legend.sorted&&(n.isFunction(o.legend.sorted)?s.sort(o.legend.sorted):"reverse"==o.legend.sorted?s.reverse():(g="descending"!=o.legend.sorted,s.sort(function(n,t){return n.label==t.label?0:n.label<t.label!=g?1:-1}))),r=0;r<s.length;++r)w=s[r],r%o.legend.noColumns==0&&(p&&e.push("<\/tr>"),e.push("<tr>"),p=!0),e.push('<td class="legendColorBox"><div style="'+o.legend.labelBoxBorderColor+'"><div style="border:2px solid '+w.color+';overflow:hidden"><\/div><\/div><\/td><td class="legendLabel"><span>'+w.label+"<\/span><\/td>");if(p&&e.push("<\/tr>"),0!=e.length)if(b='<table style="font-size:smaller;color:'+o.grid.color+'">'+e.join("")+"<\/table>",null!=o.legend.container)n(o.legend.container).html(b);else{var l="",a=o.legend.position,u=o.legend.margin;null==u[0]&&(u=[u,u]);"n"==a.charAt(0)?l+="top:"+(u[1]+h.top)+"px;":"s"==a.charAt(0)&&(l+="bottom:"+(u[1]+h.bottom)+"px;");"e"==a.charAt(1)?l+="right:"+(u[0]+h.right)+"px;":"w"==a.charAt(1)&&(l+="left:"+(u[0]+h.left)+"px;");v=n('<div class="legend">'+b.replace('style="','style="position:absolute;'+l+";")+"<\/div>").appendTo(i);0!=o.legend.backgroundOpacity&&(t=o.legend.backgroundColor,null==t&&(t=o.grid.backgroundColor,t=t&&"string"==typeof t?n.color.parse(t):n.color.extract(v,"background-color"),t.a=1,t=t.toString()),k=v.children(),n('<div style="position:absolute;width:'+k.width()+"px;height:"+k.height()+"px;"+l+"background-color:"+t+';"> <\/div>').prependTo(v).css("opacity",o.legend.backgroundOpacity))}}}function or(n,t,i){for(var r,s,w=o.grid.mouseActiveRadius,it=w*w+1,a=null,e,h,p,tt,u=c.length-1;u>=0;--u)if(i(c[u])){var f=c[u],b=f.xaxis,k=f.yaxis,l=f.datapoints.points,v=b.c2p(n),y=k.c2p(t),g=w/b.scale,nt=w/k.scale;if(s=f.datapoints.pointsize,b.options.inverseTransform&&(g=Number.MAX_VALUE),k.options.inverseTransform&&(nt=Number.MAX_VALUE),f.lines.show||f.points.show)for(r=0;r<l.length;r+=s)if(e=l[r],h=l[r+1],null!=e&&!(e-v>g||-g>e-v||h-y>nt||-nt>h-y)){var rt=Math.abs(b.p2c(e)-n),ut=Math.abs(k.p2c(h)-t),ft=rt*rt+ut*ut;it>ft&&(it=ft,a=[u,r/s])}if(f.bars.show&&!a){switch(f.bars.align){case"left":p=0;break;case"right":p=-f.bars.barWidth;break;default:p=-f.bars.barWidth/2}for(tt=p+f.bars.barWidth,r=0;r<l.length;r+=s){var e=l[r],h=l[r+1],d=l[r+2];null!=e&&(c[u].bars.horizontal?v<=Math.max(d,e)&&v>=Math.min(d,e)&&y>=h+p&&h+tt>=y:v>=e+p&&e+tt>=v&&y>=Math.min(d,h)&&y<=Math.max(d,h))&&(a=[u,r/s])}}}return a?(u=a[0],r=a[1],s=c[u].datapoints.pointsize,{datapoint:c[u].datapoints.points.slice(r*s,(r+1)*s),dataIndex:r,series:c[u],seriesIndex:u}):null}function bt(n){o.grid.hoverable&&st("plothover",n,function(n){return 0!=n.hoverable})}function kt(n){o.grid.hoverable&&st("plothover",n,function(){return!1})}function dt(n){st("plotclick",n,function(n){return 0!=n.clickable})}function st(n,t,r){var e=k.offset(),l=t.pageX-e.left-h.left,a=t.pageY-e.top-h.top,c=ct({left:l,top:a}),u,s,f;if(c.pageX=t.pageX,c.pageY=t.pageY,u=or(l,a,r),u&&(u.pageX=parseInt(u.series.xaxis.p2c(u.datapoint[0])+e.left+h.left,10),u.pageY=parseInt(u.series.yaxis.p2c(u.datapoint[1])+e.top+h.top,10)),o.grid.autoHighlight){for(s=0;s<g.length;++s)f=g[s],f.auto!=n||u&&f.series==u.series&&f.point[0]==u.datapoint[0]&&f.point[1]==u.datapoint[1]||ti(f.series,f.point);u&&ni(u.series,u.datapoint,n)}i.trigger(n,[c,u])}function ut(){var n=o.interaction.redrawOverlayInterval;return-1==n?void gt():void(rt||(rt=setTimeout(gt,n)))}function gt(){rt=null;v.save();it.clear();v.translate(h.left,h.top);for(var n,t=0;t<g.length;++t)n=g[t],n.series.bars.show?hr(n.series,n.point):sr(n.series,n.point);v.restore();nt(p.drawOverlay,[v])}function ni(n,t,i){var r,u;("number"==typeof n&&(n=c[n]),"number"==typeof t)&&(r=n.datapoints.pointsize,t=n.datapoints.points.slice(r*t,r*(t+1)));u=ii(n,t);-1==u?(g.push({series:n,point:t,auto:i}),ut()):i||(g[u].auto=!1)}function ti(n,t){var i,r;if(null==n&&null==t)return g=[],void ut();("number"==typeof n&&(n=c[n]),"number"==typeof t)&&(i=n.datapoints.pointsize,t=n.datapoints.points.slice(i*t,i*(t+1)));r=ii(n,t);-1!=r&&(g.splice(r,1),ut())}function ii(n,t){for(var r,i=0;i<g.length;++i)if(r=g[i],r.series==n&&r.point[0]==t[0]&&r.point[1]==t[1])return i;return-1}function sr(t,i){var r=i[0],u=i[1],f=t.xaxis,e=t.yaxis,h="string"==typeof t.highlightColor?t.highlightColor:n.color.parse(t.color).scale("a",.5).toString(),o,s;r<f.min||r>f.max||u<e.min||u>e.max||(o=t.points.radius+t.points.lineWidth/2,v.lineWidth=o,v.strokeStyle=h,s=1.5*o,r=f.p2c(r),u=e.p2c(u),v.beginPath(),"circle"==t.points.symbol?v.arc(r,u,s,0,2*Math.PI,!1):t.points.symbol(v,r,u,s,!1),v.closePath(),v.stroke())}function hr(t,i){var r,u="string"==typeof t.highlightColor?t.highlightColor:n.color.parse(t.color).scale("a",.5).toString(),f=u;switch(t.bars.align){case"left":r=0;break;case"right":r=-t.bars.barWidth;break;default:r=-t.bars.barWidth/2}v.lineWidth=t.bars.lineWidth;v.strokeStyle=u;wt(i[0],i[1],i[2]||0,r,r+t.bars.barWidth,function(){return f},t.xaxis,t.yaxis,v,t.bars.horizontal,t.bars.lineWidth)}function ri(t,i,r,u){var f,e;if("string"==typeof t)return t;for(var h=s.createLinearGradient(0,r,0,i),o=0,c=t.colors.length;c>o;++o)f=t.colors[o],"string"!=typeof f&&(e=n.color.parse(u),null!=f.brightness&&(e=e.scale("rgb",f.brightness)),null!=f.opacity&&(e.a*=f.opacity),f=e.toString()),h.addColorStop(o/(c-1),f);return h}var c=[],o={colors:n.flot_colors||["#931313","#638167","#65596B","#60747C","#B09B5B"],legend:{show:!0,noColumns:n.flot_noColumns||0,labelFormatter:null,labelBoxBorderColor:"",container:null,position:"ne",margin:n.flot_margin||[-5,-32],backgroundColor:n.flot_backgroundColor||"",backgroundOpacity:n.flot_backgroundOpacity||1,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:!1,radius:3,lineWidth:2,fill:!0,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:!1,fillColor:null,steps:!1},bars:{show:!1,lineWidth:n.flot_bars_lineWidth||1,barWidth:1,fill:!0,fillColor:n.flot_bars_fillColor||{colors:[{opacity:.7},{opacity:1}]},align:"left",horizontal:!1,zero:!0},shadowSize:n.flot_shadowSize||0,highlightColor:null},grid:{show:!0,aboveData:!1,color:n.flot_grid_color||"#545454",backgroundColor:null,borderColor:n.flot_grid_borderColor||"#efefef",tickColor:n.flot_grid_tickColor||"rgba(0,0,0,0.06)",margin:0,labelMargin:n.flot_grid_labelMargin||10,axisMargin:8,borderWidth:n.flot_grid_borderWidth||0,minBorderMargin:n.flot_grid_minBorderMargin||10,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:!1,hoverable:!1,autoHighlight:!0,mouseActiveRadius:n.flot_grid_mouseActiveRadius||5},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},a=null,it=null,k=null,s=null,v=null,y=[],w=[],h={left:0,right:0,top:0,bottom:0},d=0,b=0,p={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},l=this,g,rt;l.setData=ht;l.setupGrid=at;l.draw=vt;l.getPlaceholder=function(){return i};l.getCanvas=function(){return a.element};l.getPlotOffset=function(){return h};l.width=function(){return d};l.height=function(){return b};l.offset=function(){var n=k.offset();return n.left+=h.left,n.top+=h.top,n};l.getData=function(){return c};l.getAxes=function(){var t={};return n.each(y.concat(w),function(n,i){i&&(t[i.direction+(1!=i.n?i.n:"")+"axis"]=i)}),t};l.getXAxes=function(){return y};l.getYAxes=function(){return w};l.c2p=ct;l.p2c=oi;l.getOptions=function(){return o};l.highlight=ni;l.unhighlight=ti;l.triggerRedrawOverlay=ut;l.pointOffset=function(n){return{left:parseInt(y[ft(n,"x")-1].p2c(+n.x)+h.left,10),top:parseInt(w[ft(n,"y")-1].p2c(+n.y)+h.top,10)}};l.shutdown=lt;l.destroy=function(){lt();i.removeData("plot").empty();c=[];o=null;a=null;it=null;k=null;s=null;v=null;y=[];w=[];p=null;g=[];l=null};l.resize=function(){var n=i.width(),t=i.height();a.resize(n,t);it.resize(n,t)};l.hooks=p;ui(l);fi(f);ci();ht(r);at();vt();li();g=[];rt=null}function u(n,t){return t*Math.floor(n/t)}var i=Object.prototype.hasOwnProperty;n.fn.detach||(n.fn.detach=function(){return this.each(function(){this.parentNode&&this.parentNode.removeChild(this)})});t.prototype.resize=function(n,t){if(0>=n||0>=t)throw new Error("Invalid dimensions for plot, width = "+n+", height = "+t);var i=this.element,u=this.context,r=this.pixelRatio;this.width!=n&&(i.width=n*r,i.style.width=n+"px",this.width=n);this.height!=t&&(i.height=t*r,i.style.height=t+"px",this.height=t);u.restore();u.save();u.scale(r,r)};t.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)};t.prototype.render=function(){var h=this._textCache,r,u,f,c,t,e,n,o,s;for(r in h)if(i.call(h,r)){u=this.getTextLayer(r);f=h[r];u.hide();for(c in f)if(i.call(f,c)){t=f[c];for(e in t)if(i.call(t,e)){for(o=t[e].positions,s=0;n=o[s];s++)n.active?n.rendered||(u.append(n.element),n.rendered=!0):(o.splice(s--,1),n.rendered&&n.element.detach());0==o.length&&delete t[e]}}u.show()}};t.prototype.getTextLayer=function(t){var i=this.text[t];return null==i&&(null==this.textContainer&&(this.textContainer=n("<div class='flot-text'><\/div>").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)),i=this.text[t]=n("<div><\/div>").addClass(t).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)),i};t.prototype.getTextInfo=function(t,i,r,u,f){var h,o,s,c,e;return(i=""+i,h="object"==typeof r?r.style+" "+r.variant+" "+r.weight+" "+r.size+"px/"+r.lineHeight+"px "+r.family:r,o=this._textCache[t],null==o&&(o=this._textCache[t]={}),s=o[h],null==s&&(s=o[h]={}),c=s[i],null==c)&&(e=n("<div><\/div>").html(i).css({position:"absolute","max-width":f,top:-9999}).appendTo(this.getTextLayer(t)),"object"==typeof r?e.css({font:h,color:r.color}):"string"==typeof r&&e.addClass(r),c=s[i]={width:e.outerWidth(!0),height:e.outerHeight(!0),element:e,positions:[]},e.detach()),c};t.prototype.addText=function(n,t,i,r,u,f,e,o,s){var h=this.getTextInfo(n,r,u,f,e),l=h.positions,c,a;for("center"==o?t-=h.width/2:"right"==o&&(t-=h.width),"middle"==s?i-=h.height/2:"bottom"==s&&(i-=h.height),a=0;c=l[a];a++)if(c.x==t&&c.y==i)return void(c.active=!0);c={active:!0,rendered:!1,element:l.length?h.element.clone():h.element,x:t,y:i};l.push(c);c.element.css({top:Math.round(i),left:Math.round(t),"text-align":o})};t.prototype.removeText=function(n,t,r,u,f,e){var h,a,c,v,o,l,s;if(null==u){if(h=this._textCache[n],null!=h)for(a in h)if(i.call(h,a)){c=h[a];for(v in c)if(i.call(c,v))for(l=c[v].positions,s=0;o=l[s];s++)o.active=!1}}else for(l=this.getTextInfo(n,u,f,e).positions,s=0;o=l[s];s++)o.x==t&&o.y==r&&(o.active=!1)};n.plot=function(t,i,u){return new r(n(t),i,u,n.plot.plugins)};n.plot.version="0.8.3";n.plot.plugins=[];n.fn.plot=function(t,i){return this.each(function(){n.plot(this,t,i)})}}(jQuery);!function(n,t,i){function h(i){e===!0&&(e=i||1);for(var v=r.length-1;v>=0;v--){var c=n(r[v]);if(c[0]==t||c.is(":visible")){var y=c.width(),p=c.height(),s=c.data(o);s&&(y!==s.w||p!==s.h)&&(c.trigger(l,[s.w=y,s.h=p]),e=i||!0)}else s=c.data(o),s.w=0,s.h=0}null!==f&&(e&&(null==i||1e3>i-e)?f=t.requestAnimationFrame(h):(f=setTimeout(h,u[a]),e=!1))}var f,r=[],u=n.resize=n.extend(n.resize,{}),e=!1,c="setTimeout",l="resize",o=l+"-special-event",a="pendingDelay",v="activeDelay",s="throttleWindow";u[a]=200;u[v]=20;u[s]=!0;n.event.special[l]={setup:function(){if(!u[s]&&this[c])return!1;var t=n(this);r.push(this);t.data(o,{w:t.width(),h:t.height()});1===r.length&&(f=i,h())},teardown:function(){if(!u[s]&&this[c])return!1;for(var i=n(this),t=r.length-1;t>=0;t--)if(r[t]==this){r.splice(t,1);break}i.removeData(o);r.length||(e?cancelAnimationFrame(f):clearTimeout(f),f=null)},add:function(t){function f(t,u,f){var e=n(this),s=e.data(o)||{};s.w=u!==i?u:e.width();s.h=f!==i?f:e.height();r.apply(this,arguments)}if(!u[s]&&this[c])return!1;var r;return n.isFunction(t)?(r=t,f):(r=t.handler,void(t.handler=f))}};t.requestAnimationFrame||(t.requestAnimationFrame=function(){return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(n){return t.setTimeout(function(){n((new Date).getTime())},u[v])}}());t.cancelAnimationFrame||(t.cancelAnimationFrame=function(){return t.webkitCancelRequestAnimationFrame||t.mozCancelRequestAnimationFrame||t.oCancelRequestAnimationFrame||t.msCancelRequestAnimationFrame||clearTimeout}())}(jQuery,this),function(n){function t(n){function t(){var t=n.getPlaceholder();0!=t.width()&&0!=t.height()&&(n.resize(),n.setupGrid(),n.draw())}function i(n){n.getPlaceholder().resize(t)}function r(n){n.getPlaceholder().unbind("resize",t)}n.hooks.bindEvents.push(i);n.hooks.shutdown.push(r)}n.plot.plugins.push({init:t,options:{},name:"resize",version:"1.0"})}(jQuery);!function(n){function i(n,t){return t*Math.floor(n/t)}function r(n,t,i,r){var c,o,u;if("function"==typeof n.strftime)return n.strftime(t);var f=function(n,t){return n=""+n,t=""+(null==t?"0":t),1==n.length?t+n:n},s=[],h=!1,e=n.getHours(),l=12>e;for(null==i&&(i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==r&&(r=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),c=e>12?e-12:0==e?12:e,o=0;o<t.length;++o)if(u=t.charAt(o),h){switch(u){case"a":u=""+r[n.getDay()];break;case"b":u=""+i[n.getMonth()];break;case"d":u=f(n.getDate());break;case"e":u=f(n.getDate()," ");break;case"h":case"H":u=f(e);break;case"I":u=f(c);break;case"l":u=f(c," ");break;case"m":u=f(n.getMonth()+1);break;case"M":u=f(n.getMinutes());break;case"q":u=""+(Math.floor(n.getMonth()/3)+1);break;case"S":u=f(n.getSeconds());break;case"y":u=f(n.getFullYear()%100);break;case"Y":u=""+n.getFullYear();break;case"p":u=l?"am":"pm";break;case"P":u=l?"AM":"PM";break;case"w":u=""+n.getDay()}s.push(u);h=!1}else"%"==u?h=!0:s.push(u);return s.join("")}function f(n){function u(n,t,i,r){n[t]=function(){return i[r].apply(i,arguments)}}var i={date:n},r,t;for(void 0!=n.strftime&&u(i,"strftime",n,"strftime"),u(i,"getTime",n,"getTime"),u(i,"setTime",n,"setTime"),r=["Date","Day","FullYear","Hours","Milliseconds","Minutes","Month","Seconds"],t=0;t<r.length;t++)u(i,"get"+r[t],n,"getUTC"+r[t]),u(i,"set"+r[t],n,"setUTC"+r[t]);return i}function u(n,t){if("browser"==t.timezone)return new Date(n);if(t.timezone&&"utc"!=t.timezone){if("undefined"!=typeof timezoneJS&&"undefined"!=typeof timezoneJS.Date){var i=new timezoneJS.Date;return i.setTimezone(t.timezone),i.setTime(n),i}return f(new Date(n))}return f(new Date(n))}function o(f){f.hooks.processOptions.push(function(f){n.each(f.getAxes(),function(n,f){var e=f.options;"time"==e.mode&&(f.tickGenerator=function(n){var k=[],r=u(n.min,e),d=0,l=e.tickSize&&"quarter"===e.tickSize[1]||e.minTickSize&&"quarter"===e.minTickSize[1]?h:s,c,y,f,w,p,o,a,g,b,v,nt,tt;for(null!=e.minTickSize&&(d="number"==typeof e.tickSize?e.tickSize:e.minTickSize[0]*t[e.minTickSize[1]]),c=0;c<l.length-1&&!(n.delta<(l[c][0]*t[l[c][1]]+l[c+1][0]*t[l[c+1][1]])/2&&l[c][0]*t[l[c][1]]>=d);++c);y=l[c][0];f=l[c][1];"year"==f&&(null!=e.minTickSize&&"year"==e.minTickSize[1]?y=Math.floor(e.minTickSize[0]):(w=Math.pow(10,Math.floor(Math.log(n.delta/t.year)/Math.LN10)),p=n.delta/t.year/w,y=1.5>p?1:3>p?2:7.5>p?5:10,y*=w),1>y&&(y=1));n.tickSize=e.tickSize||[y,f];o=n.tickSize[0];f=n.tickSize[1];a=o*t[f];"second"==f?r.setSeconds(i(r.getSeconds(),o)):"minute"==f?r.setMinutes(i(r.getMinutes(),o)):"hour"==f?r.setHours(i(r.getHours(),o)):"month"==f?r.setMonth(i(r.getMonth(),o)):"quarter"==f?r.setMonth(3*i(r.getMonth()/3,o)):"year"==f&&r.setFullYear(i(r.getFullYear(),o));r.setMilliseconds(0);a>=t.minute&&r.setSeconds(0);a>=t.hour&&r.setMinutes(0);a>=t.day&&r.setHours(0);a>=4*t.day&&r.setDate(1);a>=2*t.month&&r.setMonth(i(r.getMonth(),3));a>=2*t.quarter&&r.setMonth(i(r.getMonth(),6));a>=t.year&&r.setMonth(0);b=0;v=Number.NaN;do(g=v,v=r.getTime(),k.push(v),"month"==f||"quarter"==f)?1>o?(r.setDate(1),nt=r.getTime(),r.setMonth(r.getMonth()+("quarter"==f?3:1)),tt=r.getTime(),r.setTime(v+b*t.hour+(tt-nt)*o),b=r.getHours(),r.setHours(0)):r.setMonth(r.getMonth()+o*("quarter"==f?3:1)):"year"==f?r.setFullYear(r.getFullYear()+o):r.setTime(v+a);while(v<n.max&&v!=g);return k},f.tickFormatter=function(n,i){var l=u(n,i.options);if(null!=e.timeformat)return r(l,e.timeformat,e.monthNames,e.dayNames);var a,o=i.options.tickSize&&"quarter"==i.options.tickSize[1]||i.options.minTickSize&&"quarter"==i.options.minTickSize[1],f=i.tickSize[0]*t[i.tickSize[1]],s=i.max-i.min,h=e.twelveHourClock?" %p":"",c=e.twelveHourClock?"%I":"%H";return a=f<t.minute?c+":%M:%S"+h:f<t.day?s<2*t.day?c+":%M"+h:"%b %d "+c+":%M"+h:f<t.month?"%b %d":o&&f<t.quarter||!o&&f<t.year?s<t.year?"%b":"%b %Y":o&&f<t.year?s<t.year?"Q%q":"Q%q %Y":"%Y",r(l,a,e.monthNames,e.dayNames)})})})}var t={second:1e3,minute:6e4,hour:36e5,day:864e5,month:2592e6,quarter:7776e6,year:525949.2*6e4},e=[[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"],[.25,"month"],[.5,"month"],[1,"month"],[2,"month"]],s=e.concat([[3,"month"],[6,"month"],[1,"year"]]),h=e.concat([[1,"quarter"],[2,"quarter"],[1,"year"]]);n.plot.plugins.push({init:o,options:{xaxis:{timezone:null,timeformat:null,twelveHourClock:!1,monthNames:null}},name:"time",version:"1.0"});n.plot.formatDate=r;n.plot.dateGenerator=u}(jQuery);!function(n){function t(n){function t(n,t){for(var i=0;i<t.length;++i)if(t[i].id===n.fillBetween)return t[i];return"number"==typeof n.fillBetween?n.fillBetween<0||n.fillBetween>=t.length?null:t[n.fillBetween]:null}function i(n,i,r){var k;if(null!=i.fillBetween&&(k=t(i,n.getData()),k)){for(var v,d,nt,l,p,w,s,u,e=r.pointsize,h=r.points,y=k.datapoints.pointsize,a=k.datapoints.points,f=[],b=i.lines.show,tt=e>2&&r.format[2].y,it=b&&i.lines.steps,g=!0,o=0,c=0;;){if(o>=h.length)break;if(s=f.length,null==h[o]){for(u=0;e>u;++u)f.push(h[o+u]);o+=e}else if(c>=a.length){if(!b)for(u=0;e>u;++u)f.push(h[o+u]);o+=e}else if(null==a[c]){for(u=0;e>u;++u)f.push(null);g=!0;c+=y}else{if(v=h[o],d=h[o+1],l=a[c],p=a[c+1],w=0,v===l){for(u=0;e>u;++u)f.push(h[o+u]);w=p;o+=e;c+=y}else if(v>l){if(b&&o>0&&null!=h[o-e]){for(nt=d+(h[o-e+1]-d)*(l-v)/(h[o-e]-v),f.push(l),f.push(nt),u=2;e>u;++u)f.push(h[o+u]);w=p}c+=y}else{if(g&&b){o+=e;continue}for(u=0;e>u;++u)f.push(h[o+u]);b&&c>0&&null!=a[c-y]&&(w=p+(a[c-y+1]-p)*(v-l)/(a[c-y]-l));o+=e}g=!1;s!==f.length&&tt&&(f[s+2]=w)}if(it&&s!==f.length&&s>0&&null!==f[s]&&f[s]!==f[s-e]&&f[s+1]!==f[s-e+1]){for(u=0;e>u;++u)f[s+e+u]=f[s+u];f[s+1]=f[s-e+1]}}r.points=f}}n.hooks.processDatapoints.push(i)}n.plot.plugins.push({init:t,options:{series:{fillBetween:null}},name:"fillbetween",version:"1.0"})}(jQuery);!function(n){function t(n){function h(n,r,f){var o=null;if(c(r)&&(w(r),l(n),a(n),p(r),i>=2)){var s=b(r),h=0,v=k();h=d(s)?-1*e(t,s-1,Math.floor(i/2)-1)-v:e(t,Math.ceil(i/2),s-2)+v+2*u;o=g(f,r,h);f.points=o}return o}function c(n){return null!=n.bars&&n.bars.show&&null!=n.bars.order}function l(n){var i=r?n.getPlaceholder().innerHeight():n.getPlaceholder().innerWidth(),t=r?f(n.getData(),1):f(n.getData(),0),u=t[1]-t[0];s=u/i}function f(n,t){for(var r=[],i=0;i<n.length;i++)r[0]=n[i].data[0][t],r[1]=n[i].data[n[i].data.length-1][t];return r}function a(n){t=v(n.getData());i=t.length}function v(n){for(var i=[],t=0;t<n.length;t++)null!=n[t].bars.order&&n[t].bars.show&&i.push(n[t]);return i.sort(y)}function y(n,t){var i=n.bars.order,r=t.bars.order;return r>i?-1:i>r?1:0}function p(n){o=n.bars.lineWidth?n.bars.lineWidth:2;u=o*s}function w(n){n.bars.horizontal&&(r=!0)}function b(n){for(var r=0,i=0;i<t.length;++i)if(n==t[i]){r=i;break}return r+1}function k(){var n=0;return i%2!=0&&(n=t[Math.ceil(i/2)].bars.barWidth/2),n}function d(n){return n<=Math.ceil(i/2)}function e(n,t,i){for(var f=0,r=t;i>=r;r++)f+=n[r].bars.barWidth+2*u;return f}function g(n,t,i){for(var o=n.pointsize,u=n.points,e=0,f=r?1:0;f<u.length;f+=o)u[f]+=i,t.data[e][3]=u[f],e++;return u}var t,i,o,u,s=1,r=!1;n.hooks.processDatapoints.push(h)}n.plot.plugins.push({init:t,options:{series:{bars:{order:null}}},name:"orderBars",version:"0.2"})}(jQuery);!function(n){function i(i){function w(t){l||(l=!0,p=t.getCanvas(),h=n(p).parent(),u=t.getOptions(),t.setData(b(t.getData())))}function b(t){for(var i,f=0,e=0,o=0,s=u.series.pie.combine.color,h=[],r=0;r<t.length;++r)i=t[r].data,n.isArray(i)&&1==i.length&&(i=i[0]),n.isArray(i)?i[1]=!isNaN(parseFloat(i[1]))&&isFinite(i[1])?+i[1]:0:i=!isNaN(parseFloat(i))&&isFinite(i)?[1,+i]:[1,0],t[r].data=[i];for(r=0;r<t.length;++r)f+=t[r].data[0][1];for(r=0;r<t.length;++r)i=t[r].data[0][1],i/f<=u.series.pie.combine.threshold&&(e+=i,o++,s||(s=t[r].color));for(r=0;r<t.length;++r)i=t[r].data[0][1],(2>o||i/f>u.series.pie.combine.threshold)&&h.push(n.extend(t[r],{data:[[1,i]],color:t[r].color,label:t[r].label,angle:i*Math.PI*2/f,percent:i/(f/100)}));return o>1&&h.push({data:[[1,e]],color:s,label:u.series.pie.combine.label,angle:e*Math.PI*2/f,percent:e/(f/100)}),h}function k(i,s){function b(){f.clearRect(0,0,y,p);h.children().filter(".pieLabel, .pieLabelBackground").remove()}function d(){var i=u.series.pie.shadow.left,r=u.series.pie.shadow.top,s=10,h=u.series.pie.shadow.alpha,n=u.series.pie.radius>1?u.series.pie.radius:o*u.series.pie.radius,t;if(!(n>=y/2-i||n*u.series.pie.tilt>=p/2-r||s>=n)){for(f.save(),f.translate(i,r),f.globalAlpha=h,f.fillStyle="#000",f.translate(e,c),f.scale(1,u.series.pie.tilt),t=1;s>=t;t++)f.beginPath(),f.arc(0,0,n,0,2*Math.PI,!1),f.fill(),n-=t;f.restore()}}function g(){function s(n,t,r){0>=n||isNaN(n)||(r?f.fillStyle=t:(f.strokeStyle=t,f.lineJoin="round"),f.beginPath(),Math.abs(n-2*Math.PI)>1e-9&&f.moveTo(0,0),f.arc(0,0,l,i,i+n/2,!1),f.arc(0,0,l,i+n/2,i+n,!1),f.closePath(),i+=n,r?f.fill():f.stroke())}function w(){function s(t,i,r){var s,w,b,v,nt;if(0==t.data[0][1])return!0;w=u.legend.labelFormatter;b=u.series.pie.label.formatter;s=w?w(t.label,t):t.label;b&&(s=b(s,t));var k=(i+t.angle+i)/2,d=e+Math.round(Math.cos(k)*f),g=c+Math.round(Math.sin(k)*f)*u.series.pie.tilt,tt="<span class='pieLabel' id='pieLabel"+r+"' style='position:absolute;top:"+g+"px;left:"+d+"px;'>"+s+"<\/span>";h.append(tt);var o=h.children("#pieLabel"+r),l=g-o.height()/2,a=d-o.width()/2;return(o.css("top",l),o.css("left",a),0-l>0||0-a>0||p-(l+o.height())<0||y-(a+o.width())<0)?!1:(0!=u.series.pie.label.background.opacity&&(v=u.series.pie.label.background.color,null==v&&(v=t.color),nt="top:"+l+"px;left:"+a+"px;",n("<div class='pieLabelBackground' style='position:absolute;width:"+o.width()+"px;height:"+o.height()+"px;"+nt+"background-color:"+v+";'><\/div>").css("opacity",u.series.pie.label.background.opacity).insertBefore(o)),!0)}for(var i=r,f=u.series.pie.label.radius>1?u.series.pie.label.radius:o*u.series.pie.label.radius,t=0;t<v.length;++t){if(v[t].percent>=100*u.series.pie.label.threshold&&!s(v[t],i,t))return!1;i+=v[t].angle}return!0}var r=Math.PI*u.series.pie.startAngle,l=u.series.pie.radius>1?u.series.pie.radius:o*u.series.pie.radius,i,t;for(f.save(),f.translate(e,c),f.scale(1,u.series.pie.tilt),f.save(),i=r,t=0;t<v.length;++t)v[t].startAngle=i,s(v[t].angle,v[t].color,!0);if(f.restore(),u.series.pie.stroke.width>0){for(f.save(),f.lineWidth=u.series.pie.stroke.width,i=r,t=0;t<v.length;++t)s(v[t].angle,u.series.pie.stroke.color,!1);f.restore()}return a(f),f.restore(),u.series.pie.label.show?w():!0}var v,w;if(h){var y=i.getPlaceholder().width(),p=i.getPlaceholder().height(),k=h.children().filter(".legend").children().width()||0;f=s;l=!1;o=Math.min(y,p/u.series.pie.tilt)/2;c=p/2+u.series.pie.offset.top;e=y/2;"auto"==u.series.pie.offset.left?(u.legend.position.match("w")?e+=k/2:e-=k/2,o>e?e=o:e>y-o&&(e=y-o)):e+=u.series.pie.offset.left;v=i.getData();w=0;do w>0&&(o*=r),w+=1,b(),u.series.pie.tilt<=.8&&d();while(!g()&&t>w);w>=t&&(b(),h.prepend("<div class='error'>Could not draw pie with labels contained inside canvas<\/div>"));i.setSeries&&i.insertLegend&&(i.setSeries(v),i.insertLegend())}}function a(n){if(u.series.pie.innerRadius>0){n.save();var t=u.series.pie.innerRadius>1?u.series.pie.innerRadius:o*u.series.pie.innerRadius;n.globalCompositeOperation="destination-out";n.beginPath();n.fillStyle=u.series.pie.stroke.color;n.arc(0,0,t,0,2*Math.PI,!1);n.fill();n.closePath();n.restore();n.save();n.beginPath();n.strokeStyle=u.series.pie.stroke.color;n.arc(0,0,t,0,2*Math.PI,!1);n.stroke();n.closePath();n.restore()}}function d(n,t){for(var u=!1,i=-1,f=n.length,r=f-1;++i<f;r=i)(n[i][1]<=t[1]&&t[1]<n[r][1]||n[r][1]<=t[1]&&t[1]<n[i][1])&&t[0]<(n[r][0]-n[i][0])*(t[1]-n[i][1])/(n[r][1]-n[i][1])+n[i][0]&&(u=!u);return u}function g(n,t){for(var r,l,a,v=i.getData(),h=i.getOptions(),u=h.series.pie.radius>1?h.series.pie.radius:o*h.series.pie.radius,s=0;s<v.length;++s)if(r=v[s],r.pie.show){if(f.save(),f.beginPath(),f.moveTo(0,0),f.arc(0,0,u,r.startAngle,r.startAngle+r.angle/2,!1),f.arc(0,0,u,r.startAngle+r.angle/2,r.startAngle+r.angle,!1),f.closePath(),l=n-e,a=t-c,f.isPointInPath){if(f.isPointInPath(n-e,t-c))return f.restore(),{datapoint:[r.percent,r.data],dataIndex:0,series:r,seriesIndex:s}}else{var y=u*Math.cos(r.startAngle),p=u*Math.sin(r.startAngle),w=u*Math.cos(r.startAngle+r.angle/4),b=u*Math.sin(r.startAngle+r.angle/4),k=u*Math.cos(r.startAngle+r.angle/2),g=u*Math.sin(r.startAngle+r.angle/2),nt=u*Math.cos(r.startAngle+r.angle/1.5),tt=u*Math.sin(r.startAngle+r.angle/1.5),it=u*Math.cos(r.startAngle+r.angle),rt=u*Math.sin(r.startAngle+r.angle),ut=[[0,0],[y,p],[w,b],[k,g],[nt,tt],[it,rt]],ft=[l,a];if(d(ut,ft))return f.restore(),{datapoint:[r.percent,r.data],dataIndex:0,series:r,seriesIndex:s}}f.restore()}return null}function nt(n){v("plothover",n)}function tt(n){v("plotclick",n)}function v(n,t){var o=i.offset(),l=parseInt(t.pageX-o.left),a=parseInt(t.pageY-o.top),r=g(l,a),f,e,c;if(u.grid.autoHighlight)for(f=0;f<s.length;++f)e=s[f],e.auto!=n||r&&e.series==r.series||rt(e.series);r&&it(r.series,n);c={pageX:t.pageX,pageY:t.pageY};h.trigger(n,[c,r])}function it(n,t){var r=y(n);-1==r?(s.push({series:n,auto:t}),i.triggerRedrawOverlay()):t||(s[r].auto=!1)}function rt(n){null==n&&(s=[],i.triggerRedrawOverlay());var t=y(n);-1!=t&&(s.splice(t,1),i.triggerRedrawOverlay())}function y(n){for(var i,t=0;t<s.length;++t)if(i=s[t],i.series==n)return t;return-1}function ut(n,t){function f(n){n.angle<=0||isNaN(n.angle)||(t.fillStyle="rgba(255, 255, 255, "+i.series.pie.highlight.opacity+")",t.beginPath(),Math.abs(n.angle-2*Math.PI)>1e-9&&t.moveTo(0,0),t.arc(0,0,u,n.startAngle,n.startAngle+n.angle/2,!1),t.arc(0,0,u,n.startAngle+n.angle/2,n.startAngle+n.angle,!1),t.closePath(),t.fill())}var i=n.getOptions(),u=i.series.pie.radius>1?i.series.pie.radius:o*i.series.pie.radius,r;for(t.save(),t.translate(e,c),t.scale(1,i.series.pie.tilt),r=0;r<s.length;++r)f(s[r].series);a(t);t.restore()}var p=null,h=null,u=null,o=null,e=null,c=null,l=!1,f=null,s=[];i.hooks.processOptions.push(function(n,t){t.series.pie.show&&(t.grid.show=!1,"auto"==t.series.pie.label.show&&(t.series.pie.label.show=t.legend.show?!1:!0),"auto"==t.series.pie.radius&&(t.series.pie.radius=t.series.pie.label.show?.75:1),t.series.pie.tilt>1?t.series.pie.tilt=1:t.series.pie.tilt<0&&(t.series.pie.tilt=0))});i.hooks.bindEvents.push(function(n,t){var i=n.getOptions();i.series.pie.show&&(i.grid.hoverable&&t.unbind("mousemove").mousemove(nt),i.grid.clickable&&t.unbind("click").click(tt))});i.hooks.processDatapoints.push(function(n,t,i,r){var u=n.getOptions();u.series.pie.show&&w(n,t,i,r)});i.hooks.drawOverlay.push(function(n,t){var i=n.getOptions();i.series.pie.show&&ut(n,t)});i.hooks.draw.push(function(n,t){var i=n.getOptions();i.series.pie.show&&k(n,t)})}var t=10,r=.95,u={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(n,t){return"<div style='font-size:x-small;text-align:center;padding:2px;color:"+t.color+";'>"+n+"<br/>"+Math.round(t.percent)+"%<\/div>"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};n.plot.plugins.push({init:i,options:u,name:"pie",version:"1.1"})}(jQuery);!function(n){var t=function(t){var r={x:0,y:0},i=t.getOptions(),e=function(n){r.x=n.x;r.y=n.y},o=function(n){var t={x:0,y:0};t.x=n.pageX;t.y=n.pageY;e(t)},s=function(t){var r=new Date(t);return n.plot.formatDate(r,i.tooltipOpts.dateFormat)},f,u;t.hooks.bindEvents.push(function(t,u){var e,h=i.tooltipOpts,c=t.getPlaceholder();i.tooltip!==!1&&(n("#flotTip").length>0?e=n("#flotTip"):(e=n("<div />").attr("id","flotTip"),e.appendTo("body").hide().css({position:"absolute"}),h.defaultTheme&&e.css({background:"#fff","z-index":"100",padding:"0.4em 0.6em","border-radius":"0.5em","font-size":"0.8em",border:"1px solid #111"})),n(c).bind("plothover",function(n,t,u){if(u){var o;o="time"===i.xaxis.mode||"time"===i.xaxes[0].mode?f(h.content,u,s):f(h.content,u);e.html(o).css({left:r.x+h.shifts.x,top:r.y+h.shifts.y}).show()}else e.hide().html("")}),u.mousemove(o))});f=function(n,t,i){var r=/%x\.{0,1}(\d{0,})/;return"undefined"!=typeof t.series.percent&&(n=u(/%p\.{0,1}(\d{0,})/,n,t.series.percent)),"undefined"!=typeof t.series.label&&(n=n.replace(/%s/,t.series.label)),"function"==typeof i?n=n.replace(r,i(t.series.data[t.dataIndex][0])):"number"==typeof t.series.data[t.dataIndex][0]&&(n=u(r,n,t.series.data[t.dataIndex][0])),"number"==typeof t.series.data[t.dataIndex][1]&&(n=u(/%y\.{0,1}(\d{0,})/,n,t.series.data[t.dataIndex][1])),n};u=function(n,t,i){var r;return"null"!==t.match(n)&&(""!==RegExp.$1&&(r=RegExp.$1,i=i.toFixed(r)),t=t.replace(n,i)),t}};n.plot.plugins.push({init:t,options:{tooltip:!1,tooltipOpts:{content:"%s | X: %x | Y: %y.2",dateFormat:"%y-%0m-%0d",shifts:{x:10,y:20},defaultTheme:!0}},name:"tooltip",version:"0.4.4"})}(jQuery);Date.ext={};Date.ext.util={};Date.ext.util.xPad=function(n,t,i){for("undefined"==typeof i&&(i=10);parseInt(n,10)<i&&i>1;i/=10)n=t.toString()+n;return n.toString()};Date.prototype.locale="en-GB";document.getElementsByTagName("html")&&document.getElementsByTagName("html")[0].lang&&(Date.prototype.locale=document.getElementsByTagName("html")[0].lang);Date.ext.locales={};Date.ext.locales.en={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],x:"%d/%m/%y",X:"%T"};Date.ext.locales["en-US"]=Date.ext.locales.en;Date.ext.locales["en-US"].c="%a %d %b %Y %r %Z";Date.ext.locales["en-US"].x="%D";Date.ext.locales["en-US"].X="%r";Date.ext.locales["en-GB"]=Date.ext.locales.en;Date.ext.locales["en-AU"]=Date.ext.locales["en-GB"];Date.ext.formats={a:function(n){return Date.ext.locales[n.locale].a[n.getDay()]},A:function(n){return Date.ext.locales[n.locale].A[n.getDay()]},b:function(n){return Date.ext.locales[n.locale].b[n.getMonth()]},B:function(n){return Date.ext.locales[n.locale].B[n.getMonth()]},c:"toLocaleString",C:function(n){return Date.ext.util.xPad(parseInt(n.getFullYear()/100,10),0)},d:["getDate","0"],e:["getDate"," "],g:function(n){return Date.ext.util.xPad(parseInt(Date.ext.util.G(n)/100,10),0)},G:function(n){var t=n.getFullYear(),i=parseInt(Date.ext.formats.V(n),10),r=parseInt(Date.ext.formats.W(n),10);return r>i?t++:0===r&&i>=52&&t--,t},H:["getHours","0"],I:function(n){var t=n.getHours()%12;return Date.ext.util.xPad(0===t?12:t,0)},j:function(n){var t=n-new Date(""+n.getFullYear()+"/1/1 GMT"),i;return t+=6e4*n.getTimezoneOffset(),i=parseInt(t/864e5,10)+1,Date.ext.util.xPad(i,0,100)},m:function(n){return Date.ext.util.xPad(n.getMonth()+1,0)},M:["getMinutes","0"],p:function(n){return Date.ext.locales[n.locale].p[n.getHours()>=12?1:0]},P:function(n){return Date.ext.locales[n.locale].P[n.getHours()>=12?1:0]},S:["getSeconds","0"],u:function(n){var t=n.getDay();return 0===t?7:t},U:function(n){var t=parseInt(Date.ext.formats.j(n),10),i=6-n.getDay(),r=parseInt((t+i)/7,10);return Date.ext.util.xPad(r,0)},V:function(n){var r=parseInt(Date.ext.formats.W(n),10),i=new Date(""+n.getFullYear()+"/1/1").getDay(),t=r+(i>4||1>=i?0:1);return 53==t&&new Date(""+n.getFullYear()+"/12/31").getDay()<4?t=1:0===t&&(t=Date.ext.formats.V(new Date(""+(n.getFullYear()-1)+"/12/31"))),Date.ext.util.xPad(t,0)},w:"getDay",W:function(n){var t=parseInt(Date.ext.formats.j(n),10),i=7-Date.ext.formats.u(n),r=parseInt((t+i)/7,10);return Date.ext.util.xPad(r,0,10)},y:function(n){return Date.ext.util.xPad(n.getFullYear()%100,0)},Y:"getFullYear",z:function(n){var t=n.getTimezoneOffset(),i=Date.ext.util.xPad(parseInt(Math.abs(t/60),10),0),r=Date.ext.util.xPad(t%60,0);return(t>0?"-":"+")+i+r},Z:function(n){return n.toString().replace(/^.*\(([^)]+)\)$/,"$1")},"%":function(){return"%"}};Date.ext.aggregates={c:"locale",D:"%m/%d/%y",h:"%b",n:"\n",r:"%I:%M:%S %p",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"};Date.ext.aggregates.z=Date.ext.formats.z(new Date);Date.ext.aggregates.Z=Date.ext.formats.Z(new Date);Date.ext.unsupported={};Date.prototype.strftime=function(n){var t,i;for((this.locale in Date.ext.locales)||(this.locale=(this.locale.replace(/-[a-zA-Z]+$/,"")in Date.ext.locales)?this.locale.replace(/-[a-zA-Z]+$/,""):"en-GB"),t=this;n.match(/%[cDhnrRtTxXzZ]/);)n=n.replace(/%([cDhnrRtTxXzZ])/g,function(n,i){var r=Date.ext.aggregates[i];return"locale"==r?Date.ext.locales[t.locale][i]:r});return i=n.replace(/%([aAbBCdegGHIjmMpPSuUVwWyY%])/g,function(n,i){var r=Date.ext.formats[i];return"string"==typeof r?t[r]():"function"==typeof r?r.call(t,t):"object"==typeof r&&"string"==typeof r[0]?Date.ext.util.xPad(t[r[0]](),r[1]):i}),t=null,i};printStackTrace.implementation=function(){};printStackTrace.implementation.prototype={run:function(n,t){return n=n||this.createException(),t=t||this.mode(n),"other"===t?this.other(arguments.callee):this[t](n)},createException:function(){try{this.undef()}catch(n){return n}},mode:function(n){return n.arguments&&n.stack?"chrome":"string"==typeof n.message&&"undefined"!=typeof window&&window.opera?n.stacktrace?n.message.indexOf("\n")>-1&&n.message.split("\n").length>n.stacktrace.split("\n").length?"opera9":n.stack?n.stacktrace.indexOf("called from line")<0?"opera10b":"opera11":"opera10a":"opera9":n.stack?"firefox":"other"},instrumentFunction:function(n,t,i){n=n||window;var r=n[t];n[t]=function(){return i.call(this,printStackTrace().slice(4)),n[t]._instrumented.apply(this,arguments)};n[t]._instrumented=r},deinstrumentFunction:function(n,t){n[t].constructor===Function&&n[t]._instrumented&&n[t]._instrumented.constructor===Function&&(n[t]=n[t]._instrumented)},chrome:function(n){var t=(n.stack+"\n").replace(/^\S[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}()@$1$2").replace(/^Object.<anonymous>\s*\(([^\)]+)\)/gm,"{anonymous}()@$1").split("\n");return t.pop(),t},firefox:function(n){return n.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^\(/gm,"{anonymous}(").split("\n")},opera11:function(n){for(var t,e,r,u=n.stacktrace.split("\n"),f=[],i=0,o=u.length;o>i;i+=2)t=/^.*line (\d+), column (\d+)(?: in (.+))? in (\S+):$/.exec(u[i]),t&&(e=t[4]+":"+t[1]+":"+t[2],r=t[3]||"global code",r=r.replace(/<anonymous function: (\S+)>/,"$1").replace(/<anonymous function>/,"{anonymous}"),f.push(r+"@"+e+" -- "+u[i+1].replace(/^\s+/,"")));return f},opera10b:function(n){for(var t,f,r=n.stacktrace.split("\n"),u=[],i=0,e=r.length;e>i;i++)t=/^(.*)@(.+):(\d+)$/.exec(r[i]),t&&(f=t[1]?t[1]+"()":"global code",u.push(f+"@"+t[2]+":"+t[3]));return u},opera10a:function(n){for(var t,f,r=n.stacktrace.split("\n"),u=[],i=0,e=r.length;e>i;i+=2)t=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i.exec(r[i]),t&&(f=t[3]||"{anonymous}",u.push(f+"()@"+t[2]+":"+t[1]+" -- "+r[i+1].replace(/^\s+/,"")));return u},opera9:function(n){for(var i,r=n.message.split("\n"),u=[],t=2,f=r.length;f>t;t+=2)i=/Line (\d+).*script (?:in )?(\S+)/i.exec(r[t]),i&&u.push("{anonymous}()@"+i[2]+":"+i[1]+" -- "+r[t+1].replace(/^\s+/,""));return u},other:function(n){for(var i,r,u="{anonymous}",t=[];n&&t.length<10;)i=/function\s*([\w\-$]+)?\s*\(/i.test(n.toString())?RegExp.$1||u:u,r=Array.prototype.slice.call(n.arguments||[]),t[t.length]=i+"("+this.stringifyArguments(r)+")",n=n.caller;return t},stringifyArguments:function(n){for(var t,r=[],u=Array.prototype.slice,i=0;i<n.length;++i)t=n[i],void 0===t?r[i]="undefined":null===t?r[i]="null":t.constructor&&(t.constructor===Array?r[i]=t.length<3?"["+this.stringifyArguments(t)+"]":"["+this.stringifyArguments(u.call(t,0,1))+"..."+this.stringifyArguments(u.call(t,-1))+"]":t.constructor===Object?r[i]="#object":t.constructor===Function?r[i]="#function":t.constructor===String?r[i]='"'+t+'"':t.constructor===Number&&(r[i]=t));return r.join(",")},sourceCache:{},ajax:function(n){var t=this.createXMLHTTPObject();if(t)try{return t.open("GET",n,!1),t.send(null),t.responseText}catch(i){}return""},createXMLHTTPObject:function(){for(var i,t=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],n=0;n<t.length;n++)try{return i=t[n](),this.createXMLHTTPObject=t[n],i}catch(r){}},isSameDomain:function(n){return-1!==n.indexOf(location.hostname)},getSource:function(n){return n in this.sourceCache||(this.sourceCache[n]=this.ajax(n).split("\n")),this.sourceCache[n]},guessAnonymousFunctions:function(n){for(var o,t=0;t<n.length;++t){var u=n[t],f=/\{anonymous\}\(.*\)@(.*)/.exec(u);if(f){var i=/^(.*?)(?::(\d+))(?::(\d+))?(?: -- .+)?$/.exec(f[1]),r=i[1],e=i[2],s=i[3]||0;r&&this.isSameDomain(r)&&e&&(o=this.guessAnonymousFunction(r,e,s),n[t]=u.replace("{anonymous}",o))}}return n},guessAnonymousFunction:function(n,t){var i;try{i=this.findFunctionName(this.getSource(n),t)}catch(r){i="getSource failed with url: "+n+", exception: "+r.toString()}return i},findFunctionName:function(n,t){for(var r,i,f,u="",o=Math.min(t,20),e=0;o>e;++e)if((r=n[t-e-1],f=r.indexOf("//"),f>=0&&(r=r.substr(0,f)),r)&&((u=r+u,i=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*function\b/.exec(u),i&&i[1])||(i=/function\s+([^(]*?)\s*\(([^)]*)\)/.exec(u),i&&i[1])||(i=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*(?:eval|new Function)\b/.exec(u),i&&i[1])))return i[1];return"(?)"}};CanvasRenderingContext2D.prototype.installPattern=function(n){if("undefined"!=typeof this.isPatternInstalled)throw"Must un-install old line pattern before installing a new one.";this.isPatternInstalled=!0;var i=[0,0],t=[],f=this.beginPath,e=this.lineTo,r=this.moveTo,u=this.stroke;this.uninstallPattern=function(){this.beginPath=f;this.lineTo=e;this.moveTo=r;this.stroke=u;this.uninstallPattern=void 0;this.isPatternInstalled=void 0};this.beginPath=function(){t=[];f.call(this)};this.moveTo=function(n,i){t.push([[n,i]]);r.call(this,n,i)};this.lineTo=function(n,i){var r=t[t.length-1];r.push([n,i])};this.stroke=function(){var h,y,p,o,f,k;if(0===t.length)return void u.call(this);for(h=0;h<t.length;h++)for(var s=t[h],a=s[0][0],v=s[0][1],c=1;c<s.length;c++){y=s[c][0];p=s[c][1];this.save();var w=y-a,b=p-v,l=Math.sqrt(w*w+b*b),d=Math.atan2(b,w);for(this.translate(a,v),r.call(this,0,0),this.rotate(d),o=i[0],f=0;l>f;)k=n[o],f+=i[1]?i[1]:k,f>l?(i=[o,f-l],f=l):i=[(o+1)%n.length,0],o%2==0?e.call(this,f,0):r.call(this,f,0),o=(o+1)%n.length;this.restore();a=y;v=p}u.call(this);t=[]}};CanvasRenderingContext2D.prototype.uninstallPattern=function(){throw"Must install a line pattern before uninstalling it.";};DygraphOptions=function(){var n=function(n){this.dygraph_=n;this.yAxes_=[];this.xAxis_={};this.series_={};this.global_=this.dygraph_.attrs_;this.user_=this.dygraph_.user_attrs_||{};this.labels_=[];this.highlightSeries_=this.get("highlightSeriesOpts")||{};this.reparseSeries()};return n.AXIS_STRING_MAPPINGS_={y:0,Y:0,y1:0,Y1:0,y2:1,Y2:1},n.axisToIndex_=function(t){if("string"==typeof t){if(n.AXIS_STRING_MAPPINGS_.hasOwnProperty(t))return n.AXIS_STRING_MAPPINGS_[t];throw"Unknown axis : "+t;}if("number"==typeof t){if(0===t||1===t)return t;throw"Dygraphs only supports two y-axes, indexed from 0-1.";}if(t)throw"Unknown axis : "+t;return 0},n.prototype.reparseSeries=function(){var o=this.get("labels"),s,h,r,t,e;if(o){if(this.labels_=o.slice(1),this.yAxes_=[{series:[],options:{}}],this.xAxis_={options:{}},this.series_={},s=!this.user_.series,s){for(h=0,t=0;t<this.labels_.length;t++){var i=this.labels_[t],f=this.user_[i]||{},r=0,u=f.axis;"object"==typeof u&&(r=++h,this.yAxes_[r]={series:[i],options:u});u||this.yAxes_[0].series.push(i);this.series_[i]={idx:t,yAxis:r,options:f}}for(t=0;t<this.labels_.length;t++){var i=this.labels_[t],f=this.series_[i].options,u=f.axis;if("string"==typeof u){if(!this.series_.hasOwnProperty(u))return void Dygraph.error("Series "+i+" wants to share a y-axis with series "+u+", which does not define its own axis.");r=this.series_[u].yAxis;this.series_[i].yAxis=r;this.yAxes_[r].series.push(i)}}}else for(t=0;t<this.labels_.length;t++){var i=this.labels_[t],f=this.user_.series[i]||{},r=n.axisToIndex_(f.axis);this.series_[i]={idx:t,yAxis:r,options:f};this.yAxes_[r]?this.yAxes_[r].series.push(i):this.yAxes_[r]={series:[i],options:{}}}e=this.user_.axes||{};Dygraph.update(this.yAxes_[0].options,e.y||{});this.yAxes_.length>1&&Dygraph.update(this.yAxes_[1].options,e.y2||{});Dygraph.update(this.xAxis_.options,e.x||{})}},n.prototype.get=function(n){var t=this.getGlobalUser_(n);return null!==t?t:this.getGlobalDefault_(n)},n.prototype.getGlobalUser_=function(n){return this.user_.hasOwnProperty(n)?this.user_[n]:null},n.prototype.getGlobalDefault_=function(n){return this.global_.hasOwnProperty(n)?this.global_[n]:Dygraph.DEFAULT_ATTRS.hasOwnProperty(n)?Dygraph.DEFAULT_ATTRS[n]:null},n.prototype.getForAxis=function(n,t){var i,r,u,f,e,o;if("number"==typeof t)i=t,r=0===i?"y":"y2";else{if("y1"==t&&(t="y"),"y"==t)i=0;else if("y2"==t)i=1;else{if("x"!=t)throw"Unknown axis "+t;i=-1}r=t}return(u=-1==i?this.xAxis_:this.yAxes_[i],u&&(f=u.options,f.hasOwnProperty(n)))?f[n]:(e=this.getGlobalUser_(n),null!==e)?e:(o=Dygraph.DEFAULT_ATTRS.axes[r],o.hasOwnProperty(n)?o[n]:this.getGlobalDefault_(n))},n.prototype.getForSeries=function(n,t){if(t===this.dygraph_.getHighlightSeries()&&this.highlightSeries_.hasOwnProperty(n))return this.highlightSeries_[n];if(!this.series_.hasOwnProperty(t))throw"Unknown series: "+t;var i=this.series_[t],r=i.options;return r.hasOwnProperty(n)?r[n]:this.getForAxis(n,i.yAxis)},n.prototype.numAxes=function(){return this.yAxes_.length},n.prototype.axisForSeries=function(n){return this.series_[n].yAxis},n.prototype.axisOptions=function(n){return this.yAxes_[n].options},n.prototype.seriesForAxis=function(n){return this.yAxes_[n].series},n.prototype.seriesNames=function(){return this.labels_},n}();DygraphLayout=function(n){this.dygraph_=n;this.points=[];this.setNames=[];this.annotations=[];this.yAxes_=null;this.xTicks_=null;this.yTicks_=null};DygraphLayout.prototype.attr_=function(n){return this.dygraph_.attr_(n)};DygraphLayout.prototype.addDataset=function(n,t){this.points.push(t);this.setNames.push(n)};DygraphLayout.prototype.getPlotArea=function(){return this.area_};DygraphLayout.prototype.computePlotArea=function(){var n={x:0,y:0},t;n.w=this.dygraph_.width_-n.x-this.attr_("rightGap");n.h=this.dygraph_.height_;t={chart_div:this.dygraph_.graphDiv,reserveSpaceLeft:function(t){var i={x:n.x,y:n.y,w:t,h:n.h};return n.x+=t,n.w-=t,i},reserveSpaceRight:function(t){var i={x:n.x+n.w-t,y:n.y,w:t,h:n.h};return n.w-=t,i},reserveSpaceTop:function(t){var i={x:n.x,y:n.y,w:n.w,h:t};return n.y+=t,n.h-=t,i},reserveSpaceBottom:function(t){var i={x:n.x,y:n.y+n.h-t,w:n.w,h:t};return n.h-=t,i},chartRect:function(){return{x:n.x,y:n.y,w:n.w,h:n.h}}};this.dygraph_.cascadeEvents_("layout",t);this.area_=n};DygraphLayout.prototype.setAnnotations=function(n){var r,t,i;for(this.annotations=[],r=this.attr_("xValueParser")||function(n){return n},t=0;t<n.length;t++){if(i={},!n[t].xval&&void 0===n[t].x)return void this.dygraph_.error("Annotations must have an 'x' property");if(n[t].icon&&(!n[t].hasOwnProperty("width")||!n[t].hasOwnProperty("height")))return void this.dygraph_.error("Must set width and height when setting annotation.icon property");Dygraph.update(i,n[t]);i.xval||(i.xval=r(i.x));this.annotations.push(i)}};DygraphLayout.prototype.setXTicks=function(n){this.xTicks_=n};DygraphLayout.prototype.setYAxes=function(n){this.yAxes_=n};DygraphLayout.prototype.evaluate=function(){this._evaluateLimits();this._evaluateLineCharts();this._evaluateLineTicks();this._evaluateAnnotations()};DygraphLayout.prototype._evaluateLimits=function(){var i=this.dygraph_.xAxisRange(),r,t,n;for(this.minxval=i[0],this.maxxval=i[1],r=i[1]-i[0],this.xscale=0!==r?1/r:1,t=0;t<this.yAxes_.length;t++)n=this.yAxes_[t],n.minyval=n.computedValueRange[0],n.maxyval=n.computedValueRange[1],n.yrange=n.maxyval-n.minyval,n.yscale=0!==n.yrange?1/n.yrange:1,n.g.attr_("logscale")&&(n.ylogrange=Dygraph.log10(n.maxyval)-Dygraph.log10(n.minyval),n.ylogscale=0!==n.ylogrange?1/n.ylogrange:1,(!isFinite(n.ylogrange)||isNaN(n.ylogrange))&&n.g.error("axis "+t+" of graph at "+n.g+" can't be displayed in log scale for range ["+n.minyval+" - "+n.maxyval+"]"))};DygraphLayout._calcYNormal=function(n,t,i){return i?1-(Dygraph.log10(t)-Dygraph.log10(n.minyval))*n.ylogscale:1-(t-n.minyval)*n.yscale};DygraphLayout.prototype._evaluateLineCharts=function(){for(var n,t,s=this.attr_("connectSeparatedPoints"),h=this.attr_("stackedGraph"),c=this.attr_("errorBars")||this.attr_("customBars"),i=0;i<this.points.length;i++)for(var e=this.points[i],o=this.setNames[i],r=this.dygraph_.axisPropertiesForSeries(o),u=this.dygraph_.attributes_.getForSeries("logscale",o),f=0;f<e.length;f++)n=e[f],n.x=(n.xval-this.minxval)*this.xscale,t=n.yval,h&&(n.y_stacked=DygraphLayout._calcYNormal(r,n.yval_stacked,u),null===t||isNaN(t)||(t=n.yval_stacked)),null===t&&(t=NaN,s||(n.yval=NaN)),n.y=DygraphLayout._calcYNormal(r,t,u),c&&(n.y_top=DygraphLayout._calcYNormal(r,t-n.yval_minus,u),n.y_bottom=DygraphLayout._calcYNormal(r,t+n.yval_plus,u))};DygraphLayout.parseFloat_=function(n){return null===n?NaN:n};DygraphLayout.prototype._evaluateLineTicks=function(){var n,i,r,t,f,u;for(this.xticks=[],n=0;n<this.xTicks_.length;n++)i=this.xTicks_[n],r=i.label,t=this.xscale*(i.v-this.minxval),t>=0&&1>=t&&this.xticks.push([t,r]);for(this.yticks=[],n=0;n<this.yAxes_.length;n++)for(f=this.yAxes_[n],u=0;u<f.ticks.length;u++)i=f.ticks[u],r=i.label,t=this.dygraph_.toPercentYCoord(i.v,n),t>=0&&1>=t&&this.yticks.push([n,t,r])};DygraphLayout.prototype._evaluateAnnotations=function(){for(var u={},i,r,f,t,e,n=0;n<this.annotations.length;n++)i=this.annotations[n],u[i.xval+","+i.series]=i;if(this.annotated_points=[],this.annotations&&this.annotations.length)for(r=0;r<this.points.length;r++)for(f=this.points[r],n=0;n<f.length;n++)t=f[n],e=t.xval+","+t.name,e in u&&(t.annotation=u[e],this.annotated_points.push(t))};DygraphLayout.prototype.removeAllDatasets=function(){delete this.points;delete this.setNames;delete this.setPointsLengths;delete this.setPointsOffsets;this.points=[];this.setNames=[];this.setPointsLengths=[];this.setPointsOffsets=[]};DygraphCanvasRenderer=function(n,t,i,r){if(this.dygraph_=n,this.layout=r,this.element=t,this.elementContext=i,this.container=this.element.parentNode,this.height=this.element.height,this.width=this.element.width,!this.isIE&&!DygraphCanvasRenderer.isSupported(this.element))throw"Canvas is not supported.";if(this.area=r.getPlotArea(),this.container.style.position="relative",this.container.style.width=this.width+"px",this.dygraph_.isUsingExcanvas_)this._createIEClipArea();else if(!Dygraph.isAndroid()){var u=this.dygraph_.canvas_ctx_;u.beginPath();u.rect(this.area.x,this.area.y,this.area.w,this.area.h);u.clip();u=this.dygraph_.hidden_ctx_;u.beginPath();u.rect(this.area.x,this.area.y,this.area.w,this.area.h);u.clip()}};DygraphCanvasRenderer.prototype.attr_=function(n,t){return this.dygraph_.attr_(n,t)};DygraphCanvasRenderer.prototype.clear=function(){var n;if(this.isIE)try{this.clearDelay&&(this.clearDelay.cancel(),this.clearDelay=null);n=this.elementContext}catch(t){return}n=this.elementContext;n.clearRect(0,0,this.width,this.height)};DygraphCanvasRenderer.isSupported=function(n){var i=null,t,r;try{i="undefined"==typeof n||null===n?document.createElement("canvas"):n;i.getContext("2d")}catch(u){return t=navigator.appVersion.match(/MSIE (\d\.\d)/),r=-1!=navigator.userAgent.toLowerCase().indexOf("opera"),!t||t[1]<6||r?!1:!0}return!0};DygraphCanvasRenderer.prototype.render=function(){this._updatePoints();this._renderLineChart()};DygraphCanvasRenderer.prototype._createIEClipArea=function(){function r(n){if(0!==n.w&&0!==n.h){var i=document.createElement("div");i.className=o;i.style.backgroundColor=e;i.style.position="absolute";i.style.left=n.x+"px";i.style.top=n.y+"px";i.style.width=n.w+"px";i.style.height=n.h+"px";t.appendChild(i)}}for(var e,i,f,n,o="dygraph-clip-div",t=this.dygraph_.graphDiv,u=t.childNodes.length-1;u>=0;u--)t.childNodes[u].className==o&&t.removeChild(t.childNodes[u]);for(e=document.bgColor,i=this.dygraph_.graphDiv;i!=document;){if(f=i.currentStyle.backgroundColor,f&&"transparent"!=f){e=f;break}i=i.parentNode}n=this.area;r({x:0,y:0,w:n.x,h:this.height});r({x:n.x,y:0,w:this.width-n.x,h:n.y});r({x:n.x+n.w,y:0,w:this.width-n.x-n.w,h:this.height});r({x:n.x,y:n.y+n.h,w:this.width-n.x,h:this.height-n.h-n.y})};DygraphCanvasRenderer._getIteratorPredicate=function(n){return n?DygraphCanvasRenderer._predicateThatSkipsEmptyPoints:null};DygraphCanvasRenderer._predicateThatSkipsEmptyPoints=function(n,t){return null!==n[t].yval};DygraphCanvasRenderer._drawStyledLine=function(n,t,i,r,u,f,e){var s=n.dygraph,a=s.getOption("stepPlot",n.setName),l;Dygraph.isArrayLike(r)||(r=null);var v=s.getOption("drawGapEdgePoints",n.setName),h=n.points,y=Dygraph.createIterator(h,0,h.length,DygraphCanvasRenderer._getIteratorPredicate(s.getOption("connectSeparatedPoints"))),c=r&&r.length>=2,o=n.drawingContext;o.save();c&&o.installPattern(r);l=DygraphCanvasRenderer._drawSeries(n,y,i,e,u,v,a,t);DygraphCanvasRenderer._drawPointsOnLine(n,l,f,t,e);c&&o.uninstallPattern();o.restore()};DygraphCanvasRenderer._drawSeries=function(n,t,i,r,u,f,e,o){var v,s,c=null,a=null,y=null,k=[],d=!0,h=n.drawingContext,b;h.beginPath();h.strokeStyle=o;h.lineWidth=i;for(var p=t.array_,w=t.end_,g=t.predicate_,l=t.start_;w>l;l++){if(s=p[l],g){for(;w>l&&!g(p,l);)l++;if(l==w)break;s=p[l]}null===s.canvasy||s.canvasy!=s.canvasy?(e&&null!==c&&(h.moveTo(c,a),h.lineTo(s.canvasx,a)),c=a=null):((v=!1,f||!c)&&(t.nextIdx_=l,t.next(),y=t.hasNext?t.peek.canvasy:null,b=null===y||y!=y,v=!c&&b,f&&(!d&&!c||t.hasNext&&b)&&(v=!0)),null!==c?i&&(e&&(h.moveTo(c,a),h.lineTo(s.canvasx,a)),h.lineTo(s.canvasx,s.canvasy)):h.moveTo(s.canvasx,s.canvasy),(u||v)&&k.push([s.canvasx,s.canvasy,s.idx]),c=s.canvasx,a=s.canvasy);d=!1}return h.stroke(),k};DygraphCanvasRenderer._drawPointsOnLine=function(n,t,i,r,u){for(var o,f=n.drawingContext,e=0;e<t.length;e++)o=t[e],f.save(),i(n.dygraph,n.setName,f,o[0],o[1],r,u,o[2]),f.restore()};DygraphCanvasRenderer.prototype._updatePoints=function(){for(var r,u,n,t=this.layout.points,i=t.length;i--;)for(r=t[i],u=r.length;u--;)n=r[u],n.canvasx=this.area.w*n.x+this.area.x,n.canvasy=this.area.h*n.y+this.area.y};DygraphCanvasRenderer.prototype._renderLineChart=function(n,t){var r,i,f=t||this.elementContext,o=this.layout.points,h=this.layout.setNames,c,u,s,l,p,a,v,y;for(this.colors=this.dygraph_.colorsMap_,c=this.attr_("plotter"),u=c,Dygraph.isArrayLike(u)||(u=[u]),s={},r=0;r<h.length;r++)i=h[r],l=this.attr_("plotter",i),l!=c&&(s[i]=l);for(r=0;r<u.length;r++)for(var w=u[r],b=r==u.length-1,e=0;e<o.length;e++)if(i=h[e],!n||i==n){if(p=o[e],a=w,i in s){if(!b)continue;a=s[i]}v=this.colors[i];y=this.dygraph_.getOption("strokeWidth",i);f.save();f.strokeStyle=v;f.lineWidth=y;a({points:p,setName:i,drawingContext:f,color:v,strokeWidth:y,dygraph:this.dygraph_,axis:this.dygraph_.axisPropertiesForSeries(i),plotArea:this.area,seriesIndex:e,seriesCount:o.length,singleSeriesName:n,allSeriesPoints:o});f.restore()}};DygraphCanvasRenderer._Plotters={linePlotter:function(n){DygraphCanvasRenderer._linePlotter(n)},fillPlotter:function(n){DygraphCanvasRenderer._fillPlotter(n)},errorPlotter:function(n){DygraphCanvasRenderer._errorPlotter(n)}};DygraphCanvasRenderer._linePlotter=function(n){var t=n.dygraph,i=n.setName,r=n.strokeWidth,u=t.getOption("strokeBorderWidth",i),f=t.getOption("drawPointCallback",i)||Dygraph.Circles.DEFAULT,e=t.getOption("strokePattern",i),o=t.getOption("drawPoints",i),s=t.getOption("pointSize",i);u&&r&&DygraphCanvasRenderer._drawStyledLine(n,t.getOption("strokeBorderColor",i),r+2*u,e,o,f,s);DygraphCanvasRenderer._drawStyledLine(n,n.color,r,e,o,f,s)};DygraphCanvasRenderer._errorPlotter=function(n){var u=n.dygraph,s=n.setName,p=u.getOption("errorBars")||u.getOption("customBars"),a,l,t;if(p){a=u.getOption("fillGraph",s);a&&u.warn("Can't use fillGraph option with error bars");var r,i=n.drawingContext,w=n.color,b=u.getOption("fillAlpha",s),o=u.getOption("stepPlot",s),v=n.points,y=Dygraph.createIterator(v,0,v.length,DygraphCanvasRenderer._getIteratorPredicate(u.getOption("connectSeparatedPoints"))),f=NaN,h=NaN,e=[-1,-1],c=new RGBColorParser(w),k="rgba("+c.r+","+c.g+","+c.b+","+b+")";for(i.fillStyle=k,i.beginPath(),l=function(n){return null===n||void 0===n||isNaN(n)};y.hasNext;)t=y.next(),!o&&l(t.y)||o&&!isNaN(h)&&l(h)?f=NaN:(o?(r=[t.y_bottom,t.y_top],h=t.y):r=[t.y_bottom,t.y_top],r[0]=n.plotArea.h*r[0]+n.plotArea.y,r[1]=n.plotArea.h*r[1]+n.plotArea.y,isNaN(f)||(o?(i.moveTo(f,e[0]),i.lineTo(t.canvasx,e[0]),i.lineTo(t.canvasx,e[1])):(i.moveTo(f,e[0]),i.lineTo(t.canvasx,r[0]),i.lineTo(t.canvasx,r[1])),i.lineTo(f,e[1]),i.closePath()),e=r,f=t.canvasx);i.fill()}};DygraphCanvasRenderer._fillPlotter=function(n){var d,v,rt,k,t,ut;if(!n.singleSeriesName&&0===n.seriesIndex){for(var i=n.dygraph,o=i.getLabels().slice(1),l=o.length;l>=0;l--)i.visibility()[l]||o.splice(l,1);if(d=function(){for(var n=0;n<o.length;n++)if(i.getOption("fillGraph",o[n]))return!0;return!1}(),d)for(var f,y,r=n.drawingContext,a=n.plotArea,g=n.allSeriesPoints,ft=g.length,et=i.getOption("fillAlpha"),ot=i.getOption("stackedGraph"),st=i.getColors(),p={},s=ft-1;s>=0;s--)if(v=o[s],i.getOption("fillGraph",v)){var w=i.getOption("stepPlot",v),ht=st[s],nt=i.axisPropertiesForSeries(v),u=1+nt.minyval*nt.yscale;0>u?u=0:u>1&&(u=1);u=a.h*u+a.y;var h,tt=g[s],it=Dygraph.createIterator(tt,0,tt.length,DygraphCanvasRenderer._getIteratorPredicate(i.getOption("connectSeparatedPoints"))),c=NaN,e=[-1,-1],b=new RGBColorParser(ht),ct="rgba("+b.r+","+b.g+","+b.b+","+et+")";for(r.fillStyle=ct,r.beginPath(),k=!0;it.hasNext;)if(t=it.next(),Dygraph.isOK(t.y)){if(ot){if(!k&&rt==t.xval)continue;k=!1;rt=t.xval;f=p[t.canvasx];ut=void 0===f?u:y?f[0]:f;h=[t.canvasy,ut];p[t.canvasx]=w?-1===e[0]?[t.canvasy,u]:[t.canvasy,e[0]]:t.canvasy}else h=[t.canvasy,u];isNaN(c)||(r.moveTo(c,e[0]),w?r.lineTo(t.canvasx,e[0]):r.lineTo(t.canvasx,h[0]),y&&f?r.lineTo(t.canvasx,f[1]):r.lineTo(t.canvasx,h[1]),r.lineTo(c,e[1]),r.closePath());e=h;c=t.canvasx}else c=NaN,null===t.y_stacked||isNaN(t.y_stacked)||(p[t.canvasx]=a.h*t.y_stacked+a.y);y=w;r.fill()}}};Dygraph=function(n,t,i,r){this.is_initial_draw_=!0;this.readyFns_=[];void 0!==r?(this.warn("Using deprecated four-argument dygraph constructor"),this.__old_init__(n,t,i,r)):this.__init__(n,t,i)};Dygraph.NAME="Dygraph";Dygraph.VERSION="1.0.1";Dygraph.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};Dygraph.toString=function(){return this.__repr__()};Dygraph.DEFAULT_ROLL_PERIOD=1;Dygraph.DEFAULT_WIDTH=480;Dygraph.DEFAULT_HEIGHT=320;Dygraph.ANIMATION_STEPS=12;Dygraph.ANIMATION_DURATION=200;Dygraph.KMB_LABELS=["K","M","B","T","Q"];Dygraph.KMG2_BIG_LABELS=["k","M","G","T","P","E","Z","Y"];Dygraph.KMG2_SMALL_LABELS=["m","u","n","p","f","a","z","y"];Dygraph.numberValueFormatter=function(n,t){var a=t("sigFigs"),e,r,h,i;if(null!==a)return Dygraph.floatFormat(n,a);var u,f=t("digitsAfterDecimal"),v=t("maxNumberWidth"),o=t("labelsKMB"),s=t("labelsKMG2");if(u=0!==n&&(Math.abs(n)>=Math.pow(10,v)||Math.abs(n)<Math.pow(10,-f))?n.toExponential(f):""+Dygraph.round_(n,f),o||s){r=[];h=[];o&&(e=1e3,r=Dygraph.KMB_LABELS);s&&(o&&Dygraph.warn("Setting both labelsKMB and labelsKMG2. Pick one!"),e=1024,r=Dygraph.KMG2_BIG_LABELS,h=Dygraph.KMG2_SMALL_LABELS);for(var y=Math.abs(n),c=Dygraph.pow(e,r.length),l=r.length-1;l>=0;l--,c/=e)if(y>=c){u=Dygraph.round_(n/c,f)+r[l];break}s&&(i=String(n.toExponential()).split("e-"),2===i.length&&i[1]>=3&&i[1]<=24&&(u=i[1]%3>0?Dygraph.round_(i[0]/Dygraph.pow(10,i[1]%3),f):Number(i[0]).toFixed(2),u+=h[Math.floor(i[1]/3)-1]))}return u};Dygraph.numberAxisLabelFormatter=function(n,t,i,r){return Dygraph.numberValueFormatter(n,i,r)};Dygraph.dateString_=function(n){var i=Dygraph.zeropad,t=new Date(n),u=""+t.getFullYear(),f=i(t.getMonth()+1),e=i(t.getDate()),r="",o=3600*t.getHours()+60*t.getMinutes()+t.getSeconds();return o&&(r=" "+Dygraph.hmsString_(n)),u+"/"+f+"/"+e+r};Dygraph.dateAxisFormatter=function(n,t){if(t>=Dygraph.DECADAL)return n.strftime("%Y");if(t>=Dygraph.MONTHLY)return n.strftime("%b %y");var i=3600*n.getHours()+60*n.getMinutes()+n.getSeconds()+n.getMilliseconds();return 0===i||t>=Dygraph.DAILY?new Date(n.getTime()+36e5).strftime("%d%b"):Dygraph.hmsString_(n.getTime())};Dygraph.Plotters=DygraphCanvasRenderer._Plotters;Dygraph.DEFAULT_ATTRS={highlightCircleSize:3,highlightSeriesOpts:null,highlightSeriesBackgroundAlpha:.5,labelsDivWidth:250,labelsDivStyles:{},labelsSeparateLines:!1,labelsShowZeroValues:!0,labelsKMB:!1,labelsKMG2:!1,showLabelsOnHighlight:!0,digitsAfterDecimal:2,maxNumberWidth:6,sigFigs:null,strokeWidth:1,strokeBorderWidth:0,strokeBorderColor:"white",axisTickSize:3,axisLabelFontSize:14,xAxisLabelWidth:50,yAxisLabelWidth:50,rightGap:5,showRoller:!1,xValueParser:Dygraph.dateParser,delimiter:",",sigma:2,errorBars:!1,fractions:!1,wilsonInterval:!0,customBars:!1,fillGraph:!1,fillAlpha:.15,connectSeparatedPoints:!1,stackedGraph:!1,stackedGraphNaNFill:"all",hideOverlayOnMouseOut:!0,legend:"onmouseover",stepPlot:!1,avoidMinZero:!1,xRangePad:0,yRangePad:null,drawAxesAtZero:!1,titleHeight:28,xLabelHeight:18,yLabelWidth:18,drawXAxis:!0,drawYAxis:!0,axisLineColor:"black",axisLineWidth:.3,gridLineWidth:.3,axisLabelColor:"black",axisLabelFont:"Arial",axisLabelWidth:50,drawYGrid:!0,drawXGrid:!0,gridLineColor:"rgb(128,128,128)",interactionModel:null,animatedZooms:!1,showRangeSelector:!1,rangeSelectorHeight:40,rangeSelectorPlotStrokeColor:"#808FAB",rangeSelectorPlotFillColor:"#A7B1C4",plotter:[Dygraph.Plotters.fillPlotter,Dygraph.Plotters.errorPlotter,Dygraph.Plotters.linePlotter],plugins:[],axes:{x:{pixelsPerLabel:60,axisLabelFormatter:Dygraph.dateAxisFormatter,valueFormatter:Dygraph.dateString_,drawGrid:!0,independentTicks:!0,ticker:null},y:{pixelsPerLabel:30,valueFormatter:Dygraph.numberValueFormatter,axisLabelFormatter:Dygraph.numberAxisLabelFormatter,drawGrid:!0,independentTicks:!0,ticker:null},y2:{pixelsPerLabel:30,valueFormatter:Dygraph.numberValueFormatter,axisLabelFormatter:Dygraph.numberAxisLabelFormatter,drawGrid:!1,independentTicks:!1,ticker:null}}};Dygraph.HORIZONTAL=1;Dygraph.VERTICAL=2;Dygraph.PLUGINS=[];Dygraph.addedAnnotationCSS=!1;Dygraph.prototype.__old_init__=function(n,t,i,r){if(null!==i){for(var f=["Date"],u=0;u<i.length;u++)f.push(i[u]);Dygraph.update(r,{labels:f})}this.__init__(n,t,r)};Dygraph.prototype.__init__=function(n,t,i){var s,e,u,f,r,a,o;if(/MSIE/.test(navigator.userAgent)&&!window.opera&&"undefined"!=typeof G_vmlCanvasManager&&"complete"!=document.readyState)return s=this,void setTimeout(function(){s.__init__(n,t,i)},100);if((null===i||void 0===i)&&(i={}),i=Dygraph.mapLegacyOptions_(i),"string"==typeof n&&(n=document.getElementById(n)),!n)return void Dygraph.error("Constructing dygraph with a non-existent div!");for(this.isUsingExcanvas_="undefined"!=typeof G_vmlCanvasManager,this.maindiv_=n,this.file_=t,this.rollPeriod_=i.rollPeriod||Dygraph.DEFAULT_ROLL_PERIOD,this.previousVerticalX_=-1,this.fractions_=i.fractions||!1,this.dateWindow_=i.dateWindow||null,this.annotations_=[],this.zoomed_x_=!1,this.zoomed_y_=!1,n.innerHTML="",""===n.style.width&&i.width&&(n.style.width=i.width+"px"),""===n.style.height&&i.height&&(n.style.height=i.height+"px"),""===n.style.height&&0===n.clientHeight&&(n.style.height=Dygraph.DEFAULT_HEIGHT+"px",""===n.style.width&&(n.style.width=Dygraph.DEFAULT_WIDTH+"px")),this.width_=n.clientWidth||i.width||0,this.height_=n.clientHeight||i.height||0,i.stackedGraph&&(i.fillGraph=!0),this.user_attrs_={},Dygraph.update(this.user_attrs_,i),this.attrs_={},Dygraph.updateDeep(this.attrs_,Dygraph.DEFAULT_ATTRS),this.boundaryIds_=[],this.setIndexByName_={},this.datasetIndex_=[],this.registeredEvents_=[],this.eventListeners_={},this.attributes_=new DygraphOptions(this),this.createInterface_(),this.plugins_=[],e=Dygraph.PLUGINS.concat(this.getOption("plugins")),u=0;u<e.length;u++){var v=e[u],h=new v,c={plugin:h,events:{},options:{},pluginOptions:{}},l=h.activate(this);for(r in l)c.events[r]=l[r];this.plugins_.push(c)}for(u=0;u<this.plugins_.length;u++){f=this.plugins_[u];for(r in f.events)f.events.hasOwnProperty(r)&&(a=f.events[r],o=[f.plugin,a],r in this.eventListeners_?this.eventListeners_[r].push(o):this.eventListeners_[r]=[o])}this.createDragInterface_();this.start_()};Dygraph.prototype.cascadeEvents_=function(n,t){var i,r,u,f,e;if(!(n in this.eventListeners_))return!0;if(i={dygraph:this,cancelable:!1,defaultPrevented:!1,preventDefault:function(){if(!i.cancelable)throw"Cannot call preventDefault on non-cancelable event.";i.defaultPrevented=!0},propagationStopped:!1,stopPropagation:function(){i.propagationStopped=!0}},Dygraph.update(i,t),r=this.eventListeners_[n],r)for(u=r.length-1;u>=0;u--)if(f=r[u][0],e=r[u][1],e.call(f,i),i.propagationStopped)break;return i.defaultPrevented};Dygraph.prototype.isZoomed=function(n){if(null===n||void 0===n)return this.zoomed_x_||this.zoomed_y_;if("x"===n)return this.zoomed_x_;if("y"===n)return this.zoomed_y_;throw"axis parameter is ["+n+"] must be null, 'x' or 'y'.";};Dygraph.prototype.toString=function(){var n=this.maindiv_,t=n&&n.id?n.id:n;return"[Dygraph "+t+"]"};Dygraph.prototype.attr_=function(n,t){return t?this.attributes_.getForSeries(n,t):this.attributes_.get(n)};Dygraph.prototype.getOption=function(n,t){return this.attr_(n,t)};Dygraph.prototype.getOptionForAxis=function(n,t){return this.attributes_.getForAxis(n,t)};Dygraph.prototype.optionsViewForAxis_=function(n){var t=this;return function(i){var r=t.user_attrs_.axes;return r&&r[n]&&r[n].hasOwnProperty(i)?r[n][i]:"undefined"!=typeof t.user_attrs_[i]?t.user_attrs_[i]:(r=t.attrs_.axes,r&&r[n]&&r[n].hasOwnProperty(i)?r[n][i]:"y"==n&&t.axes_[0].hasOwnProperty(i)?t.axes_[0][i]:"y2"==n&&t.axes_[1].hasOwnProperty(i)?t.axes_[1][i]:t.attr_(i))}};Dygraph.prototype.rollPeriod=function(){return this.rollPeriod_};Dygraph.prototype.xAxisRange=function(){return this.dateWindow_?this.dateWindow_:this.xAxisExtremes()};Dygraph.prototype.xAxisExtremes=function(){var n=this.attr_("xRangePad")/this.plotter_.area.w,t,i,r;return 0===this.numRows()?[0-n,1+n]:(t=this.rawData_[0][0],i=this.rawData_[this.rawData_.length-1][0],n&&(r=i-t,t-=r*n,i+=r*n),[t,i])};Dygraph.prototype.yAxisRange=function(n){if("undefined"==typeof n&&(n=0),0>n||n>=this.axes_.length)return null;var t=this.axes_[n];return[t.computedValueRange[0],t.computedValueRange[1]]};Dygraph.prototype.yAxisRanges=function(){for(var t=[],n=0;n<this.axes_.length;n++)t.push(this.yAxisRange(n));return t};Dygraph.prototype.toDomCoords=function(n,t,i){return[this.toDomXCoord(n),this.toDomYCoord(t,i)]};Dygraph.prototype.toDomXCoord=function(n){if(null===n)return null;var i=this.plotter_.area,t=this.xAxisRange();return i.x+(n-t[0])/(t[1]-t[0])*i.w};Dygraph.prototype.toDomYCoord=function(n,t){var r=this.toPercentYCoord(n,t),i;return null===r?null:(i=this.plotter_.area,i.y+r*i.h)};Dygraph.prototype.toDataCoords=function(n,t,i){return[this.toDataXCoord(n),this.toDataYCoord(t,i)]};Dygraph.prototype.toDataXCoord=function(n){if(null===n)return null;var i=this.plotter_.area,t=this.xAxisRange();return t[0]+(n-i.x)/i.w*(t[1]-t[0])};Dygraph.prototype.toDataYCoord=function(n,t){var i,r;if(null===n)return null;if(i=this.plotter_.area,r=this.yAxisRange(t),"undefined"==typeof t&&(t=0),this.attributes_.getForAxis("logscale",t)){var f=(n-i.y)/i.h,u=Dygraph.log10(r[1]),e=u-f*(u-Dygraph.log10(r[0]));return Math.pow(Dygraph.LOG_SCALE,e)}return r[0]+(i.y+i.h-n)/i.h*(r[1]-r[0])};Dygraph.prototype.toPercentYCoord=function(n,t){var r,i,f,u;return null===n?null:("undefined"==typeof t&&(t=0),i=this.yAxisRange(t),f=this.attributes_.getForAxis("logscale",t),f?(u=Dygraph.log10(i[1]),r=(u-Dygraph.log10(n))/(u-Dygraph.log10(i[0]))):r=(i[1]-n)/(i[1]-i[0]),r)};Dygraph.prototype.toPercentXCoord=function(n){if(null===n)return null;var t=this.xAxisRange();return(n-t[0])/(t[1]-t[0])};Dygraph.prototype.numColumns=function(){return this.rawData_?this.rawData_[0]?this.rawData_[0].length:this.attr_("labels").length:0};Dygraph.prototype.numRows=function(){return this.rawData_?this.rawData_.length:0};Dygraph.prototype.getValue=function(n,t){return 0>n||n>this.rawData_.length?null:0>t||t>this.rawData_[n].length?null:this.rawData_[n][t]};Dygraph.prototype.createInterface_=function(){var t=this.maindiv_,n;this.graphDiv=document.createElement("div");this.graphDiv.style.textAlign="left";t.appendChild(this.graphDiv);this.canvas_=Dygraph.createCanvas();this.canvas_.style.position="absolute";this.hidden_=this.createPlotKitCanvas_(this.canvas_);this.resizeElements_();this.canvas_ctx_=Dygraph.getContext(this.canvas_);this.hidden_ctx_=Dygraph.getContext(this.hidden_);this.graphDiv.appendChild(this.hidden_);this.graphDiv.appendChild(this.canvas_);this.mouseEventElement_=this.createMouseEventElement_();this.layout_=new DygraphLayout(this);n=this;this.mouseMoveHandler_=function(t){n.mouseMove_(t)};this.mouseOutHandler_=function(t){var i=t.target||t.fromElement,r=t.relatedTarget||t.toElement;Dygraph.isNodeContainedBy(i,n.graphDiv)&&!Dygraph.isNodeContainedBy(r,n.graphDiv)&&n.mouseOut_(t)};this.addAndTrackEvent(window,"mouseout",this.mouseOutHandler_);this.addAndTrackEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_);this.resizeHandler_||(this.resizeHandler_=function(){n.resize()},this.addAndTrackEvent(window,"resize",this.resizeHandler_))};Dygraph.prototype.resizeElements_=function(){this.graphDiv.style.width=this.width_+"px";this.graphDiv.style.height=this.height_+"px";this.canvas_.width=this.width_;this.canvas_.height=this.height_;this.canvas_.style.width=this.width_+"px";this.canvas_.style.height=this.height_+"px";this.hidden_.width=this.width_;this.hidden_.height=this.height_;this.hidden_.style.width=this.width_+"px";this.hidden_.style.height=this.height_+"px"};Dygraph.prototype.destroy=function(){var t,n;this.canvas_ctx_.restore();this.hidden_ctx_.restore();t=function(n){for(;n.hasChildNodes();)t(n.firstChild),n.removeChild(n.firstChild)};this.removeTrackedEvents_();Dygraph.removeEvent(window,"mouseout",this.mouseOutHandler_);Dygraph.removeEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_);Dygraph.removeEvent(window,"resize",this.resizeHandler_);this.resizeHandler_=null;t(this.maindiv_);n=function(n){for(var t in n)"object"==typeof n[t]&&(n[t]=null)};n(this.layout_);n(this.plotter_);n(this)};Dygraph.prototype.createPlotKitCanvas_=function(n){var t=Dygraph.createCanvas();return t.style.position="absolute",t.style.top=n.style.top,t.style.left=n.style.left,t.width=this.width_,t.height=this.height_,t.style.width=this.width_+"px",t.style.height=this.height_+"px",t};Dygraph.prototype.createMouseEventElement_=function(){if(this.isUsingExcanvas_){var n=document.createElement("div");return n.style.position="absolute",n.style.backgroundColor="white",n.style.filter="alpha(opacity=0)",n.style.width=this.width_+"px",n.style.height=this.height_+"px",this.graphDiv.appendChild(n),n}return this.canvas_};Dygraph.prototype.setColors_=function(){var u=this.getLabels(),i=u.length-1,n,r,t;if(this.colors_=[],this.colorsMap_={},r=this.attr_("colors"),r)for(n=0;i>n;n++)this.visibility()[n]&&(t=r[n%r.length],this.colors_.push(t),this.colorsMap_[u[1+n]]=t);else{var f=this.attr_("colorSaturation")||1,e=this.attr_("colorValue")||.5,o=Math.ceil(i/2);for(n=1;i>=n;n++)if(this.visibility()[n-1]){var s=n%2?Math.ceil(n/2):o+n/2,h=1*s/(1+i),t=Dygraph.hsvToRGB(h,f,e);this.colors_.push(t);this.colorsMap_[u[n]]=t}}};Dygraph.prototype.getColors=function(){return this.colors_};Dygraph.prototype.getPropertiesForSeries=function(n){for(var t=-1,r=this.getLabels(),i=1;i<r.length;i++)if(r[i]==n){t=i;break}return-1==t?null:{name:n,column:t,visible:this.visibility()[t-1],color:this.colorsMap_[n],axis:1+this.attributes_.axisForSeries(n)}};Dygraph.prototype.createRollInterface_=function(){var n,r;this.roller_||(this.roller_=document.createElement("input"),this.roller_.type="text",this.roller_.style.display="none",this.graphDiv.appendChild(this.roller_));var u=this.attr_("showRoller")?"block":"none",t=this.plotter_.area,i={position:"absolute",zIndex:10,top:t.y+t.h-25+"px",left:t.x+1+"px",display:u};this.roller_.size="2";this.roller_.value=this.rollPeriod_;for(n in i)i.hasOwnProperty(n)&&(this.roller_.style[n]=i[n]);r=this;this.roller_.onchange=function(){r.adjustRoll(r.roller_.value)}};Dygraph.prototype.dragGetX_=function(n,t){return Dygraph.pageX(n)-t.px};Dygraph.prototype.dragGetY_=function(n,t){return Dygraph.pageY(n)-t.py};Dygraph.prototype.createDragInterface_=function(){var n={isZooming:!1,isPanning:!1,is2DPan:!1,dragStartX:null,dragStartY:null,dragEndX:null,dragEndY:null,dragDirection:null,prevEndX:null,prevEndY:null,prevDragDirection:null,cancelNextDblclick:!1,initialLeftmostDate:null,xUnitsPerPixel:null,dateRange:null,px:0,py:0,boundedDates:null,boundedValues:null,tarp:new Dygraph.IFrameTarp,initializeMouseDown:function(n,t,i){n.preventDefault?n.preventDefault():(n.returnValue=!1,n.cancelBubble=!0);i.px=Dygraph.findPosX(t.canvas_);i.py=Dygraph.findPosY(t.canvas_);i.dragStartX=t.dragGetX_(n,i);i.dragStartY=t.dragGetY_(n,i);i.cancelNextDblclick=!1;i.tarp.cover()}},r=this.attr_("interactionModel"),t=this,f=function(i){return function(r){i(r,t,n)}},i,u;for(i in r)r.hasOwnProperty(i)&&this.addAndTrackEvent(this.mouseEventElement_,i,f(r[i]));u=function(){if((n.isZooming||n.isPanning)&&(n.isZooming=!1,n.dragStartX=null,n.dragStartY=null),n.isPanning){n.isPanning=!1;n.draggingDate=null;n.dateRange=null;for(var i=0;i<t.axes_.length;i++)delete t.axes_[i].draggingValue,delete t.axes_[i].dragValueRange}n.tarp.uncover()};this.addAndTrackEvent(document,"mouseup",u)};Dygraph.prototype.drawZoomRect_=function(n,t,i,r,u,f,e,o){var s=this.canvas_ctx_;f==Dygraph.HORIZONTAL?s.clearRect(Math.min(t,e),this.layout_.getPlotArea().y,Math.abs(t-e),this.layout_.getPlotArea().h):f==Dygraph.VERTICAL&&s.clearRect(this.layout_.getPlotArea().x,Math.min(r,o),this.layout_.getPlotArea().w,Math.abs(r-o));n==Dygraph.HORIZONTAL?i&&t&&(s.fillStyle="rgba(128,128,128,0.33)",s.fillRect(Math.min(t,i),this.layout_.getPlotArea().y,Math.abs(i-t),this.layout_.getPlotArea().h)):n==Dygraph.VERTICAL&&u&&r&&(s.fillStyle="rgba(128,128,128,0.33)",s.fillRect(this.layout_.getPlotArea().x,Math.min(r,u),this.layout_.getPlotArea().w,Math.abs(u-r)));this.isUsingExcanvas_&&(this.currentZoomRectArgs_=[n,t,i,r,u,0,0,0])};Dygraph.prototype.clearZoomRect_=function(){this.currentZoomRectArgs_=null;this.canvas_ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height)};Dygraph.prototype.doZoomX_=function(n,t){this.currentZoomRectArgs_=null;var i=this.toDataXCoord(n),r=this.toDataXCoord(t);this.doZoomXDates_(i,r)};Dygraph.zoomAnimationFunction=function(n,t){var i=1.5;return(1-Math.pow(i,-n))/(1-Math.pow(i,-t))};Dygraph.prototype.doZoomXDates_=function(n,t){var r=this.xAxisRange(),u=[n,t],i;this.zoomed_x_=!0;i=this;this.doAnimatedZoom(r,u,null,null,function(){i.attr_("zoomCallback")&&i.attr_("zoomCallback")(n,t,i.yAxisRanges())})};Dygraph.prototype.doZoomY_=function(n,t){var f,e,i;this.currentZoomRectArgs_=null;for(var o=this.yAxisRanges(),u=[],r=0;r<this.axes_.length;r++)f=this.toDataYCoord(n,r),e=this.toDataYCoord(t,r),u.push([e,f]);this.zoomed_y_=!0;i=this;this.doAnimatedZoom(null,null,o,u,function(){if(i.attr_("zoomCallback")){var n=i.xAxisRange();i.attr_("zoomCallback")(n[0],n[1],i.yAxisRanges())}})};Dygraph.prototype.resetZoom=function(){var f=!1,o=!1,s=!1,n,r,u,a,v,i,t;for(null!==this.dateWindow_&&(f=!0,o=!0),n=0;n<this.axes_.length;n++)"undefined"!=typeof this.axes_[n].valueWindow&&null!==this.axes_[n].valueWindow&&(f=!0,s=!0);if(this.clearSelection(),f){if(this.zoomed_x_=!1,this.zoomed_y_=!1,r=this.rawData_[0][0],u=this.rawData_[this.rawData_.length-1][0],!this.attr_("animatedZooms")){for(this.dateWindow_=null,n=0;n<this.axes_.length;n++)null!==this.axes_[n].valueWindow&&delete this.axes_[n].valueWindow;return this.drawGraph_(),void(this.attr_("zoomCallback")&&this.attr_("zoomCallback")(r,u,this.yAxisRanges()))}var h=null,c=null,l=null,e=null;if(o&&(h=this.xAxisRange(),c=[r,u]),s)for(l=this.yAxisRanges(),a=this.gatherDatasets_(this.rolledSeries_,null),v=a.extremes,this.computeYAxisRanges_(v),e=[],n=0;n<this.axes_.length;n++)i=this.axes_[n],e.push(null!==i.valueRange&&void 0!==i.valueRange?i.valueRange:i.extremeRange);t=this;this.doAnimatedZoom(h,c,l,e,function(){t.dateWindow_=null;for(var n=0;n<t.axes_.length;n++)null!==t.axes_[n].valueWindow&&delete t.axes_[n].valueWindow;t.attr_("zoomCallback")&&t.attr_("zoomCallback")(r,u,t.yAxisRanges())})}};Dygraph.prototype.doAnimatedZoom=function(n,t,i,r,u){var f,e,s=this.attr_("animatedZooms")?Dygraph.ANIMATION_STEPS:1,c=[],l=[],a,o,h;if(null!==n&&null!==t)for(f=1;s>=f;f++)e=Dygraph.zoomAnimationFunction(f,s),c[f-1]=[n[0]*(1-e)+e*t[0],n[1]*(1-e)+e*t[1]];if(null!==i&&null!==r)for(f=1;s>=f;f++){for(e=Dygraph.zoomAnimationFunction(f,s),a=[],o=0;o<this.axes_.length;o++)a.push([i[o][0]*(1-e)+e*r[o][0],i[o][1]*(1-e)+e*r[o][1]]);l[f-1]=a}h=this;Dygraph.repeatAndCleanup(function(n){var t,i;if(l.length)for(t=0;t<h.axes_.length;t++)i=l[n][t],h.axes_[t].valueWindow=[i[0],i[1]];c.length&&(h.dateWindow_=c[n]);h.drawGraph_()},s,Dygraph.ANIMATION_DURATION/s,u)};Dygraph.prototype.getArea=function(){return this.plotter_.area};Dygraph.prototype.eventToDomCoords=function(n){if(n.offsetX&&n.offsetY)return[n.offsetX,n.offsetY];var t=Dygraph.pageX(n)-Dygraph.findPosX(this.mouseEventElement_),i=Dygraph.pageY(n)-Dygraph.findPosY(this.mouseEventElement_);return[t,i]};Dygraph.prototype.findClosestRow=function(n){for(var t,u,f=1/0,e=-1,o=this.layout_.points,i=0;i<o.length;i++)for(var s=o[i],h=s.length,r=0;h>r;r++)t=s[r],Dygraph.isValidPoint(t,!0)&&(u=Math.abs(t.canvasx-n),f>u&&(f=u,e=t.idx));return e};Dygraph.prototype.findClosestPoint=function(n,t){for(var f,e,o,i,c,l,a,h,u,v,s=1/0,r=this.layout_.points.length-1;r>=0;--r)for(h=this.layout_.points[r],u=0;u<h.length;++u)i=h[u],Dygraph.isValidPoint(i)&&(e=i.canvasx-n,o=i.canvasy-t,f=e*e+o*o,s>f&&(s=f,c=i,l=r,a=i.idx));return v=this.layout_.setNames[l],{row:a,seriesName:v,point:c}};Dygraph.prototype.findStackedPoint=function(n,t){for(var a,v,i,o,s,c,f,h,y,l=this.findClosestRow(n),r=0;r<this.layout_.points.length;++r){var p=this.getLeftBoundary_(r),u=l-p,e=this.layout_.points[r];u>=e.length||(i=e[u],Dygraph.isValidPoint(i)&&(o=i.canvasy,n>i.canvasx&&u+1<e.length?(s=e[u+1],Dygraph.isValidPoint(s)&&(f=s.canvasx-i.canvasx,f>0&&(h=(n-i.canvasx)/f,o+=h*(s.canvasy-i.canvasy)))):n<i.canvasx&&u>0&&(c=e[u-1],Dygraph.isValidPoint(c)&&(f=i.canvasx-c.canvasx,f>0&&(h=(i.canvasx-n)/f,o+=h*(c.canvasy-i.canvasy)))),(0===r||t>o)&&(a=i,v=r)))}return y=this.layout_.setNames[v],{row:l,seriesName:y,point:a}};Dygraph.prototype.mouseMove_=function(n){var f=this.layout_.points,r,s,u;if(void 0!==f&&null!==f){var e=this.eventToDomCoords(n),t=e[0],o=e[1],h=this.attr_("highlightSeriesOpts"),i=!1;h&&!this.isSeriesLocked()?(r=this.attr_("stackedGraph")?this.findStackedPoint(t,o):this.findClosestPoint(t,o),i=this.setSelection(r.row,r.seriesName)):(s=this.findClosestRow(t),i=this.setSelection(s));u=this.attr_("highlightCallback");u&&i&&u(n,this.lastx_,this.selPoints_,this.lastRow_,this.highlightSet_)}};Dygraph.prototype.getLeftBoundary_=function(n){if(this.boundaryIds_[n])return this.boundaryIds_[n][0];for(var t=0;t<this.boundaryIds_.length;t++)if(void 0!==this.boundaryIds_[t])return this.boundaryIds_[t][0];return 0};Dygraph.prototype.animateSelection_=function(n){var u=10,i,r,f,t;if(void 0===this.fadeLevel&&(this.fadeLevel=0),void 0===this.animateId&&(this.animateId=0),i=this.fadeLevel,r=0>n?i:u-i,0>=r)return void(this.fadeLevel&&this.updateSelection_(1));f=++this.animateId;t=this;Dygraph.repeatAndCleanup(function(){t.animateId==f&&(t.fadeLevel+=n,0===t.fadeLevel?t.clearSelection():t.updateSelection_(t.fadeLevel/u))},r,30,function(){})};Dygraph.prototype.updateSelection_=function(n){var r,t,f,l,u,e,o,a,s,i;if(this.cascadeEvents_("select",{selectedX:this.lastx_,selectedPoints:this.selPoints_}),t=this.canvas_ctx_,this.attr_("highlightSeriesOpts")){if(t.clearRect(0,0,this.width_,this.height_),f=1-this.attr_("highlightSeriesBackgroundAlpha"),f){if(l=!0,l){if(void 0===n)return void this.animateSelection_(1);f*=n}t.fillStyle="rgba(255,255,255,"+f+")";t.fillRect(0,0,this.width_,this.height_)}this.plotter_._renderLineChart(this.highlightSet_,t)}else if(this.previousVerticalX_>=0){for(u=0,e=this.attr_("labels"),r=1;r<e.length;r++)o=this.attr_("highlightCircleSize",e[r]),o>u&&(u=o);a=this.previousVerticalX_;t.clearRect(a-u-1,0,2*u+2,this.height_)}if(this.isUsingExcanvas_&&this.currentZoomRectArgs_&&Dygraph.prototype.drawZoomRect_.apply(this,this.currentZoomRectArgs_),this.selPoints_.length>0){for(s=this.selPoints_[0].canvasx,t.save(),r=0;r<this.selPoints_.length;r++)if(i=this.selPoints_[r],Dygraph.isOK(i.canvasy)){var v=this.attr_("highlightCircleSize",i.name),h=this.attr_("drawHighlightPointCallback",i.name),c=this.plotter_.colors[i.name];h||(h=Dygraph.Circles.DEFAULT);t.lineWidth=this.attr_("strokeWidth",i.name);t.strokeStyle=c;t.fillStyle=c;h(this.g,i.name,t,s,i.canvasy,c,v,i.idx)}t.restore();this.previousVerticalX_=s}};Dygraph.prototype.setSelection=function(n,t,i){var r,u,f,e,o;if(this.selPoints_=[],r=!1,n!==!1&&n>=0)for(n!=this.lastRow_&&(r=!0),this.lastRow_=n,u=0;u<this.layout_.points.length;++u)f=this.layout_.points[u],e=n-this.getLeftBoundary_(u),e<f.length&&(o=f[e],null!==o.yval&&this.selPoints_.push(o));else this.lastRow_>=0&&(r=!0),this.lastRow_=-1;return this.lastx_=this.selPoints_.length?this.selPoints_[0].xval:-1,void 0!==t&&(this.highlightSet_!==t&&(r=!0),this.highlightSet_=t),void 0!==i&&(this.lockedSet_=i),r&&this.updateSelection_(void 0),r};Dygraph.prototype.mouseOut_=function(n){this.attr_("unhighlightCallback")&&this.attr_("unhighlightCallback")(n);this.attr_("hideOverlayOnMouseOut")&&!this.lockedSet_&&this.clearSelection()};Dygraph.prototype.clearSelection=function(){return this.cascadeEvents_("deselect",{}),this.lockedSet_=!1,this.fadeLevel?void this.animateSelection_(-1):(this.canvas_ctx_.clearRect(0,0,this.width_,this.height_),this.fadeLevel=0,this.selPoints_=[],this.lastx_=-1,this.lastRow_=-1,void(this.highlightSet_=null))};Dygraph.prototype.getSelection=function(){var t,i,n;if(!this.selPoints_||this.selPoints_.length<1)return-1;for(t=0;t<this.layout_.points.length;t++)for(i=this.layout_.points[t],n=0;n<i.length;n++)if(i[n].x==this.selPoints_[0].x)return i[n].idx;return-1};Dygraph.prototype.getHighlightSeries=function(){return this.highlightSet_};Dygraph.prototype.isSeriesLocked=function(){return this.lockedSet_};Dygraph.prototype.loadedEvent_=function(n){this.rawData_=this.parseCSV_(n);this.predraw_()};Dygraph.prototype.addXTicks_=function(){var n,t,i;n=this.dateWindow_?[this.dateWindow_[0],this.dateWindow_[1]]:this.xAxisExtremes();t=this.optionsViewForAxis_("x");i=t("ticker")(n[0],n[1],this.width_,t,this);this.layout_.setXTicks(i)};Dygraph.prototype.extremeValues_=function(n){var i,t,r=null,u=null,o=this.attr_("errorBars")||this.attr_("customBars"),f,e;if(o)for(i=0;i<n.length;i++)(t=n[i][1][0],null===t||isNaN(t))||(f=t-n[i][1][1],e=t+n[i][1][2],f>t&&(f=t),t>e&&(e=t),(null===u||e>u)&&(u=e),(null===r||r>f)&&(r=f));else for(i=0;i<n.length;i++)t=n[i][1],null===t||isNaN(t)||((null===u||t>u)&&(u=t),(null===r||r>t)&&(r=t));return[r,u]};Dygraph.prototype.predraw_=function(){var u=new Date,n,i,t,r;for(this.layout_.computePlotArea(),this.computeYAxes_(),this.plotter_&&(this.cascadeEvents_("clearChart"),this.plotter_.clear()),this.is_initial_draw_||(this.canvas_ctx_.restore(),this.hidden_ctx_.restore()),this.canvas_ctx_.save(),this.hidden_ctx_.save(),this.plotter_=new DygraphCanvasRenderer(this,this.hidden_,this.hidden_ctx_,this.layout_),this.createRollInterface_(),this.cascadeEvents_("predraw"),this.rolledSeries_=[null],n=1;n<this.numColumns();n++)i=this.attr_("logscale"),t=this.extractSeries_(this.rawData_,n,i),t=this.rollingAverage(t,this.rollPeriod_),this.rolledSeries_.push(t);this.drawGraph_();r=new Date;this.drawingTimeMs_=r-u};Dygraph.PointType=void 0;Dygraph.seriesToPoints_=function(n,t,i,r){for(var o=[],u=0;u<n.length;++u){var f=n[u],s=t?f[1][0]:f[1],h=null===s?null:DygraphLayout.parseFloat_(s),e={x:NaN,y:NaN,xval:DygraphLayout.parseFloat_(f[0]),yval:h,name:i,idx:u+r};t&&(e.y_top=NaN,e.y_bottom=NaN,e.yval_minus=DygraphLayout.parseFloat_(f[1][1]),e.yval_plus=DygraphLayout.parseFloat_(f[1][2]));o.push(e)}return o};Dygraph.stackPoints_=function(n,t,i,r){for(var s,f,h,e,l=null,u=null,o=null,a=-1,v=function(t){if(!(a>=t))for(var i=t;i<n.length;++i)if(o=null,!isNaN(n[i].yval)&&null!==n[i].yval){a=i;o=n[i];break}},c=0;c<n.length;++c)s=n[c],f=s.xval,void 0===t[f]&&(t[f]=0),h=s.yval,isNaN(h)||null===h?(v(c),h=u&&o&&"none"!=r?u.yval+(o.yval-u.yval)*((f-u.xval)/(o.xval-u.xval)):u&&"all"==r?u.yval:o&&"all"==r?o.yval:0):u=s,e=t[f],l!=f&&(e+=h,t[f]=e),l=f,s.yval_stacked=e,e>i[1]&&(i[1]=e),e<i[0]&&(i[0]=e)};Dygraph.prototype.gatherDatasets_=function(n,t){for(var e,i,c=[],l=[],g=[],a={},v=this.attr_("errorBars"),y=this.attr_("customBars"),p=v||y,w=function(n){return p?y?null===n[1][1]:v?null===n[1][0]:!1:null===n[1]},nt=n.length-1,o,s,h,r=nt;r>=1;r--)if(this.visibility()[r-1]){if(t){i=n[r];var tt=t[0],it=t[1],u=null,f=null;for(e=0;e<i.length;e++)i[e][0]>=tt&&null===u&&(u=e),i[e][0]<=it&&(f=e);for(null===u&&(u=0),o=u,s=!0;s&&o>0;)o--,s=w(i[o]);for(null===f&&(f=i.length-1),h=f,s=!0;s&&h<i.length-1;)h++,s=w(i[h]);o!==u&&(u=o);h!==f&&(f=h);c[r-1]=[u,f];i=i.slice(u,f+1)}else i=n[r],c[r-1]=[0,i.length-1];var b=this.attr_("labels")[r],k=this.extremeValues_(i),d=Dygraph.seriesToPoints_(i,p,b,c[r-1][0]);this.attr_("stackedGraph")&&Dygraph.stackPoints_(d,g,k,this.attr_("stackedGraphNaNFill"));a[b]=k;l[r]=d}return{points:l,extremes:a,boundaryIds:c}};Dygraph.prototype.drawGraph_=function(){var o=new Date,s=this.is_initial_draw_,t,u,n,f,e;this.is_initial_draw_=!1;this.layout_.removeAllDatasets();this.setColors_();this.attrs_.pointSize=.5*this.attr_("highlightCircleSize");var i=this.gatherDatasets_(this.rolledSeries_,this.dateWindow_),r=i.points,h=i.extremes;for(this.boundaryIds_=i.boundaryIds,this.setIndexByName_={},t=this.attr_("labels"),t.length>0&&(this.setIndexByName_[t[0]]=0),u=0,n=1;n<r.length;n++)this.setIndexByName_[t[n]]=n,this.visibility()[n-1]&&(this.layout_.addDataset(t[n],r[n]),this.datasetIndex_[n]=u++);this.computeYAxisRanges_(h);this.layout_.setYAxes(this.axes_);this.addXTicks_();f=this.zoomed_x_;(this.zoomed_x_=f,this.layout_.evaluate(),this.renderGraph_(s),this.attr_("timingName"))&&(e=new Date,Dygraph.info(this.attr_("timingName")+" - drawGraph: "+(e-o)+"ms"))};Dygraph.prototype.renderGraph_=function(n){var t,i;if(this.cascadeEvents_("clearChart"),this.plotter_.clear(),this.attr_("underlayCallback")&&this.attr_("underlayCallback")(this.hidden_ctx_,this.layout_.getPlotArea(),this,this),t={canvas:this.hidden_,drawingContext:this.hidden_ctx_},this.cascadeEvents_("willDrawChart",t),this.plotter_.render(),this.cascadeEvents_("didDrawChart",t),this.lastRow_=-1,this.canvas_.getContext("2d").clearRect(0,0,this.canvas_.width,this.canvas_.height),null!==this.attr_("drawCallback")&&this.attr_("drawCallback")(this,n),n)for(this.readyFired_=!0;this.readyFns_.length>0;)i=this.readyFns_.pop(),i(this)};Dygraph.prototype.computeYAxes_=function(){var r,n,t,u,i,e,f;if(void 0!==this.axes_&&this.user_attrs_.hasOwnProperty("valueRange")===!1)for(r=[],t=0;t<this.axes_.length;t++)r.push(this.axes_[t].valueWindow);for(this.axes_=[],n=0;n<this.attributes_.numAxes();n++)u={g:this},Dygraph.update(u,this.attributes_.axisOptions(n)),this.axes_[n]=u;if(i=this.attr_("valueRange"),i&&(this.axes_[0].valueRange=i),void 0!==r)for(e=Math.min(r.length,this.axes_.length),t=0;e>t;t++)this.axes_[t].valueWindow=r[t];for(n=0;n<this.axes_.length;n++)0===n?(u=this.optionsViewForAxis_("y"+(n?"2":"")),i=u("valueRange"),i&&(this.axes_[n].valueRange=i)):(f=this.user_attrs_.axes,f&&f.y2&&(i=f.y2.valueRange,i&&(this.axes_[n].valueRange=i)))};Dygraph.prototype.numAxes=function(){return this.attributes_.numAxes()};Dygraph.prototype.axisPropertiesForSeries=function(n){return this.axes_[this.attributes_.axisForSeries(n)]};Dygraph.prototype.computeYAxisRanges_=function(n){for(var h,c,y,p,l,w,d,t,et,ot,a,u,s,e,o,nt=function(n){return isNaN(parseFloat(n))},tt=this.attributes_.numAxes(),r=0;tt>r;r++){var t=this.axes_[r],it=this.attributes_.getForAxis("logscale",r),st=this.attributes_.getForAxis("includeZero",r),rt=this.attributes_.getForAxis("independentTicks",r);if(s=this.attributes_.seriesForAxis(r),a=!0,e=.1,null!==this.attr_("yRangePad")&&(a=!1,e=this.attr_("yRangePad")/this.plotter_.area.h),0===s.length)t.extremeRange=[0,1];else{for(var b,k,f=1/0,i=-(1/0),v=0;v<s.length;v++)n.hasOwnProperty(s[v])&&(b=n[s[v]][0],null!==b&&(f=Math.min(b,f)),k=n[s[v]][1],null!==k&&(i=Math.max(k,i)));st&&!it&&(f>0&&(f=0),0>i&&(i=0));f==1/0&&(f=0);i==-(1/0)&&(i=1);u=i-f;0===u&&(0!==i?u=Math.abs(i):(i=1,u=1));it?a?(h=i+e*u,c=f):(l=Math.exp(Math.log(u)*e),h=i*l,c=f/l):(h=i+e*u,c=f-e*u,a&&!this.attr_("avoidMinZero")&&(0>c&&f>=0&&(c=0),h>0&&0>=i&&(h=0)));t.extremeRange=[c,h]}t.valueWindow?t.computedValueRange=[t.valueWindow[0],t.valueWindow[1]]:t.valueRange?(y=nt(t.valueRange[0])?t.extremeRange[0]:t.valueRange[0],p=nt(t.valueRange[1])?t.extremeRange[1]:t.valueRange[1],a||(t.logscale?(l=Math.exp(Math.log(u)*e),y*=l,p/=l):(u=p-y,y-=u*e,p+=u*e)),t.computedValueRange=[y,p]):t.computedValueRange=t.extremeRange;rt&&(t.independentTicks=rt,w=this.optionsViewForAxis_("y"+(r?"2":"")),d=w("ticker"),t.ticks=d(t.computedValueRange[0],t.computedValueRange[1],this.height_,w,this),o||(o=t))}if(void 0===o)throw'Configuration Error: At least one axis has to have the "independentTicks" option activated.';for(r=0;tt>r;r++)if(t=this.axes_[r],!t.independentTicks){for(var w=this.optionsViewForAxis_("y"+(r?"2":"")),d=w("ticker"),ut=o.ticks,ht=o.computedValueRange[1]-o.computedValueRange[0],ct=t.computedValueRange[1]-t.computedValueRange[0],ft=[],g=0;g<ut.length;g++)et=(ut[g].v-o.computedValueRange[0])/ht,ot=t.computedValueRange[0]+et*ct,ft.push(ot);t.ticks=d(t.computedValueRange[0],t.computedValueRange[1],this.height_,w,this,ft)}};Dygraph.prototype.extractSeries_=function(n,t,i){for(var o,r,f,e=[],s=this.attr_("errorBars"),h=this.attr_("customBars"),u=0;u<n.length;u++){if(o=n[u][0],r=n[u][t],i)if(s||h){for(f=0;f<r.length;f++)if(r[f]<=0){r=null;break}}else 0>=r&&(r=null);null!==r?e.push([o,r]):e.push([o,s?[null,null]:h?[null,null,null]:r])}return e};Dygraph.prototype.rollingAverage=function(n,t){var v,y,i,f,r,p,s,w,e,u,g,c,b,a,k,d,rt,nt;if(t=Math.min(t,n.length),e=[],u=this.attr_("sigma"),this.fractions_){var tt=0,o=0,h=100;for(i=0;i<n.length;i++)if(tt+=n[i][1][0],o+=n[i][1][1],i-t>=0&&(tt-=n[i-t][1][0],o-=n[i-t][1][1]),g=n[i][0],c=o?tt/o:0,this.attr_("errorBars"))if(this.attr_("wilsonInterval"))if(o){var l=0>c?0:c,it=o,ut=u*Math.sqrt(l*(1-l)/it+u*u/(4*it*it)),ft=1+u*u/o;v=(l+u*u/(2*o)-ut)/ft;y=(l+u*u/(2*o)+ut)/ft;e[i]=[g,[l*h,(l-v)*h,(y-l)*h]]}else e[i]=[g,[0,0,0]];else w=o?u*Math.sqrt(c*(1-c)/o):1,e[i]=[g,[h*c,h*w,h*w]];else e[i]=[g,h*c]}else if(this.attr_("customBars"))for(v=0,b=0,y=0,a=0,i=0;i<n.length;i++)k=n[i][1],(r=k[1],e[i]=[n[i][0],[r,r-k[0],k[2]-r]],null===r||isNaN(r)||(v+=k[0],b+=r,y+=k[2],a+=1),i-t>=0)&&(d=n[i-t],null===d[1][1]||isNaN(d[1][1])||(v-=d[1][0],b-=d[1][1],y-=d[1][2],a-=1)),e[i]=a?[n[i][0],[1*b/a,1*(b-v)/a,1*(y-b)/a]]:[n[i][0],[null,null,null]];else if(this.attr_("errorBars"))for(i=0;i<n.length;i++){for(p=0,rt=0,s=0,f=Math.max(0,i-t+1);i+1>f;f++)r=n[f][1][0],null===r||isNaN(r)||(s++,p+=n[f][1][0],rt+=Math.pow(n[f][1][1],2));s?(w=Math.sqrt(rt)/s,e[i]=[n[i][0],[p/s,u*w,u*w]]):(nt=1==t?n[i][1][0]:null,e[i]=[n[i][0],[nt,nt,nt]])}else{if(1==t)return n;for(i=0;i<n.length;i++){for(p=0,s=0,f=Math.max(0,i-t+1);i+1>f;f++)r=n[f][1],null===r||isNaN(r)||(s++,p+=n[f][1]);e[i]=s?[n[i][0],p/s]:[n[i][0],null]}}return e};Dygraph.prototype.detectTypeFromString_=function(n){var t=!1,i=n.indexOf("-");i>0&&"e"!=n[i-1]&&"E"!=n[i-1]||n.indexOf("/")>=0||isNaN(parseFloat(n))?t=!0:8==n.length&&n>"19700101"&&"20371231">n&&(t=!0);this.setXAxisOptions_(t)};Dygraph.prototype.setXAxisOptions_=function(n){n?(this.attrs_.xValueParser=Dygraph.dateParser,this.attrs_.axes.x.valueFormatter=Dygraph.dateString_,this.attrs_.axes.x.ticker=Dygraph.dateTicker,this.attrs_.axes.x.axisLabelFormatter=Dygraph.dateAxisFormatter):(this.attrs_.xValueParser=function(n){return parseFloat(n)},this.attrs_.axes.x.valueFormatter=function(n){return n},this.attrs_.axes.x.ticker=Dygraph.numericLinearTicks,this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter)};Dygraph.prototype.parseFloat_=function(n,t,i){var u=parseFloat(n),r;return isNaN(u)?/^ *$/.test(n)?null:/^ *nan *$/i.test(n)?NaN:(r="Unable to parse '"+n+"' as a number",null!==i&&null!==t&&(r+=" on line "+(1+t)+" ('"+i+"') of CSV."),this.error(r),null):u};Dygraph.prototype.parseCSV_=function(n){var e,t,o=[],b=Dygraph.detectLineDelimiter(n),s=n.split(b||"\n"),h=this.attr_("delimiter"),a,r,u,f,c,l;-1==s[0].indexOf(h)&&s[0].indexOf("\t")>=0&&(h="\t");a=0;"labels"in this.user_attrs_||(a=1,this.attrs_.labels=s[0].split(h),this.attributes_.reparseSeries());for(var v,k=0,y=!1,p=this.attr_("labels").length,w=!1,i=a;i<s.length;i++)if(r=s[i],(k=i,0!==r.length&&"#"!=r[0])&&(u=r.split(h),!(u.length<2))){if(f=[],y||(this.detectTypeFromString_(u[0]),v=this.attr_("xValueParser"),y=!0),f[0]=v(u[0],this),this.fractions_)for(t=1;t<u.length;t++)e=u[t].split("/"),2!=e.length?(this.error('Expected fractional "num/den" values in CSV data but found a value \''+u[t]+"' on line "+(1+i)+" ('"+r+"') which is not of this form."),f[t]=[0,0]):f[t]=[this.parseFloat_(e[0],i,r),this.parseFloat_(e[1],i,r)];else if(this.attr_("errorBars"))for(u.length%2!=1&&this.error("Expected alternating (value, stdev.) pairs in CSV data but line "+(1+i)+" has an odd number of values ("+(u.length-1)+"): '"+r+"'"),t=1;t<u.length;t+=2)f[(t+1)/2]=[this.parseFloat_(u[t],i,r),this.parseFloat_(u[t+1],i,r)];else if(this.attr_("customBars"))for(t=1;t<u.length;t++)c=u[t],/^ *$/.test(c)?f[t]=[null,null,null]:(e=c.split(";"),3==e.length?f[t]=[this.parseFloat_(e[0],i,r),this.parseFloat_(e[1],i,r),this.parseFloat_(e[2],i,r)]:this.warn('When using customBars, values must be either blank or "low;center;high" tuples (got "'+c+'" on line '+(1+i)));else for(t=1;t<u.length;t++)f[t]=this.parseFloat_(u[t],i,r);if(o.length>0&&f[0]<o[o.length-1][0]&&(w=!0),f.length!=p&&this.error("Number of columns in line "+i+" ("+f.length+") does not agree with number of labels ("+p+") "+r),0===i&&this.attr_("labels")){for(l=!0,t=0;l&&t<f.length;t++)f[t]&&(l=!1);if(l){this.warn("The dygraphs 'labels' option is set, but the first row of CSV data ('"+r+"') appears to also contain labels. Will drop the CSV labels and use the option labels.");continue}}o.push(f)}return w&&(this.warn("CSV is out of order; order it correctly to speed loading."),o.sort(function(n,t){return n[0]-t[0]})),o};Dygraph.prototype.parseArray_=function(n){var t,r,i;if(0===n.length)return this.error("Can't plot empty data set"),null;if(0===n[0].length)return this.error("Data set cannot contain an empty row"),null;if(null===this.attr_("labels")){for(this.warn("Using default labels. Set labels explicitly via 'labels' in the options parameter"),this.attrs_.labels=["X"],t=1;t<n[0].length;t++)this.attrs_.labels.push("Y"+t);this.attributes_.reparseSeries()}else if(r=this.attr_("labels"),r.length!=n[0].length)return this.error("Mismatch between number of labels ("+r+") and number of columns in array ("+n[0].length+")"),null;if(Dygraph.isDateLike(n[0][0])){for(this.attrs_.axes.x.valueFormatter=Dygraph.dateString_,this.attrs_.axes.x.ticker=Dygraph.dateTicker,this.attrs_.axes.x.axisLabelFormatter=Dygraph.dateAxisFormatter,i=Dygraph.clone(n),t=0;t<n.length;t++){if(0===i[t].length)return this.error("Row "+(1+t)+" of data is empty"),null;if(null===i[t][0]||"function"!=typeof i[t][0].getTime||isNaN(i[t][0].getTime()))return this.error("x value in row "+(1+t)+" is not a Date"),null;i[t][0]=i[t][0].getTime()}return i}return this.attrs_.axes.x.valueFormatter=function(n){return n},this.attrs_.axes.x.ticker=Dygraph.numericLinearTicks,this.attrs_.axes.x.axisLabelFormatter=Dygraph.numberAxisLabelFormatter,n};Dygraph.prototype.parseDataTable_=function(n){var k=function(n){var t=String.fromCharCode(65+n%26);for(n=Math.floor(n/26);n>0;)t=String.fromCharCode(65+(n-1)%26)+t.toLowerCase(),n=Math.floor((n-1)/26);return t},y=n.getNumberOfColumns(),d=n.getNumberOfRows(),s=n.getColumnType(0),p,l,a,r,o,u,c;if("date"==s||"datetime"==s)this.attrs_.xValueParser=Dygraph.dateParser,this.attrs_.axes.x.valueFormatter=Dygraph.dateString_,this.attrs_.axes.x.ticker=Dygraph.dateTicker,this.attrs_.axes.x.axisLabelFormatter=Dygraph.dateAxisFormatter;else{if("number"!=s)return this.error("only 'date', 'datetime' and 'number' types are supported for column 1 of DataTable input (Got '"+s+"')"),null;this.attrs_.xValueParser=function(n){return parseFloat(n)};this.attrs_.axes.x.valueFormatter=function(n){return n};this.attrs_.axes.x.ticker=Dygraph.numericLinearTicks;this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter}for(var i,f=[],e={},w=!1,t=1;y>t;t++)p=n.getColumnType(t),"number"==p?f.push(t):"string"==p&&this.attr_("displayAnnotations")?(l=f[f.length-1],e.hasOwnProperty(l)?e[l].push(t):e[l]=[t],w=!0):this.error("Only 'number' is supported as a dependent type with Gviz. 'string' is only supported if displayAnnotations is true");for(a=[n.getColumnLabel(0)],t=0;t<f.length;t++)a.push(n.getColumnLabel(f[t])),this.attr_("errorBars")&&(t+=1);this.attrs_.labels=a;y=a.length;var h=[],b=!1,v=[];for(t=0;d>t;t++)if(r=[],"undefined"!=typeof n.getValue(t,0)&&null!==n.getValue(t,0)){if("date"==s||"datetime"==s?r.push(n.getValue(t,0).getTime()):r.push(n.getValue(t,0)),this.attr_("errorBars"))for(i=0;y-1>i;i++)r.push([n.getValue(t,1+2*i),n.getValue(t,2+2*i)]);else{for(i=0;i<f.length;i++)if(o=f[i],r.push(n.getValue(t,o)),w&&e.hasOwnProperty(o)&&null!==n.getValue(t,e[o][0])){for(u={},u.series=n.getColumnLabel(o),u.xval=r[0],u.shortText=k(v.length),u.text="",c=0;c<e[o].length;c++)c&&(u.text+="\n"),u.text+=n.getValue(t,e[o][c]);v.push(u)}for(i=0;i<r.length;i++)isFinite(r[i])||(r[i]=null)}h.length>0&&r[0]<h[h.length-1][0]&&(b=!0);h.push(r)}else this.warn("Ignoring row "+t+" of DataTable because of undefined or null first column.");b&&(this.warn("DataTable is out of order; order it correctly to speed loading."),h.sort(function(n,t){return n[0]-t[0]}));this.rawData_=h;v.length>0&&this.setAnnotations(v,!0);this.attributes_.reparseSeries()};Dygraph.prototype.start_=function(){var n=this.file_,i,t,r;("function"==typeof n&&(n=n()),Dygraph.isArrayLike(n))?(this.rawData_=this.parseArray_(n),this.predraw_()):"object"==typeof n&&"function"==typeof n.getColumnRange?(this.parseDataTable_(n),this.predraw_()):"string"==typeof n?(i=Dygraph.detectLineDelimiter(n),i?this.loadedEvent_(n):(t=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),r=this,t.onreadystatechange=function(){4==t.readyState&&(200===t.status||0===t.status)&&r.loadedEvent_(t.responseText)},t.open("GET",n,!0),t.send(null))):this.error("Unknown data format: "+typeof n)};Dygraph.prototype.updateOptions=function(n,t){var r,i,u;"undefined"==typeof t&&(t=!1);r=n.file;i=Dygraph.mapLegacyOptions_(n);"rollPeriod"in i&&(this.rollPeriod_=i.rollPeriod);"dateWindow"in i&&(this.dateWindow_=i.dateWindow,"isZoomedIgnoreProgrammaticZoom"in i||(this.zoomed_x_=null!==i.dateWindow));"valueRange"in i&&!("isZoomedIgnoreProgrammaticZoom"in i)&&(this.zoomed_y_=null!==i.valueRange);u=Dygraph.isPixelChangingOptionList(this.attr_("labels"),i);Dygraph.updateDeep(this.user_attrs_,i);this.attributes_.reparseSeries();r?(this.file_=r,t||this.start_()):t||(u?this.predraw_():this.renderGraph_(!1))};Dygraph.mapLegacyOptions_=function(n){var i={},r,u,t;for(r in n)"file"!=r&&n.hasOwnProperty(r)&&(i[r]=n[r]);return u=function(n,t,r){i.axes||(i.axes={});i.axes[n]||(i.axes[n]={});i.axes[n][t]=r},t=function(t,r,f){"undefined"!=typeof n[t]&&(Dygraph.warn("Option "+t+" is deprecated. Use the "+f+" option for the "+r+" axis instead. (e.g. { axes : { "+r+" : { "+f+" : ... } } } (see http://dygraphs.com/per-axis.html for more information."),u(r,f,n[t]),delete i[t])},t("xValueFormatter","x","valueFormatter"),t("pixelsPerXLabel","x","pixelsPerLabel"),t("xAxisLabelFormatter","x","axisLabelFormatter"),t("xTicker","x","ticker"),t("yValueFormatter","y","valueFormatter"),t("pixelsPerYLabel","y","pixelsPerLabel"),t("yAxisLabelFormatter","y","axisLabelFormatter"),t("yTicker","y","ticker"),i};Dygraph.prototype.resize=function(n,t){if(!this.resize_lock){this.resize_lock=!0;null===n!=(null===t)&&(this.warn("Dygraph.resize() should be called with zero parameters or two non-NULL parameters. Pretending it was zero."),n=t=null);var i=this.width_,r=this.height_;n?(this.maindiv_.style.width=n+"px",this.maindiv_.style.height=t+"px",this.width_=n,this.height_=t):(this.width_=this.maindiv_.clientWidth,this.height_=this.maindiv_.clientHeight);(i!=this.width_||r!=this.height_)&&(this.resizeElements_(),this.predraw_());this.resize_lock=!1}};Dygraph.prototype.adjustRoll=function(n){this.rollPeriod_=n;this.predraw_()};Dygraph.prototype.visibility=function(){for(this.attr_("visibility")||(this.attrs_.visibility=[]);this.attr_("visibility").length<this.numColumns()-1;)this.attrs_.visibility.push(!0);return this.attr_("visibility")};Dygraph.prototype.setVisibility=function(n,t){var i=this.visibility();0>n||n>=i.length?this.warn("invalid series number in setVisibility: "+n):(i[n]=t,this.predraw_())};Dygraph.prototype.size=function(){return{width:this.width_,height:this.height_}};Dygraph.prototype.setAnnotations=function(n,t){return Dygraph.addAnnotationRule(),this.annotations_=n,this.layout_?(this.layout_.setAnnotations(this.annotations_),void(t||this.predraw_())):void this.warn("Tried to setAnnotations before dygraph was ready. Try setting them in a ready() block. See dygraphs.com/tests/annotation.html")};Dygraph.prototype.annotations=function(){return this.annotations_};Dygraph.prototype.getLabels=function(){var n=this.attr_("labels");return n?n.slice():null};Dygraph.prototype.indexFromSetName=function(n){return this.setIndexByName_[n]};Dygraph.prototype.ready=function(n){this.is_initial_draw_?this.readyFns_.push(n):n(this)};Dygraph.addAnnotationRule=function(){var i,r,t,n,u;if(!Dygraph.addedAnnotationCSS){for(i="border: 1px solid black; background-color: white; text-align: center;",r=document.createElement("style"),r.type="text/css",document.getElementsByTagName("head")[0].appendChild(r),t=0;t<document.styleSheets.length;t++)if(!document.styleSheets[t].disabled){n=document.styleSheets[t];try{return n.insertRule?(u=n.cssRules?n.cssRules.length:0,n.insertRule(".dygraphDefaultAnnotation { "+i+" }",u)):n.addRule&&n.addRule(".dygraphDefaultAnnotation",i),void(Dygraph.addedAnnotationCSS=!0)}catch(f){}}this.warn("Unable to add default annotation CSS rule; display may be off.")}};DateGraph=Dygraph;Dygraph.LOG_SCALE=10;Dygraph.LN_TEN=Math.log(Dygraph.LOG_SCALE);Dygraph.log10=function(n){return Math.log(n)/Dygraph.LN_TEN};Dygraph.DEBUG=1;Dygraph.INFO=2;Dygraph.WARNING=3;Dygraph.ERROR=3;Dygraph.LOG_STACK_TRACES=!1;Dygraph.DOTTED_LINE=[2,2];Dygraph.DASHED_LINE=[7,3];Dygraph.DOT_DASH_LINE=[7,2,2,2];Dygraph.log=function(n,t){var i,u,e,r,f;if("undefined"!=typeof printStackTrace)try{for(i=printStackTrace({guess:!1});-1!=i[0].indexOf("stacktrace");)i.splice(0,1);for(i.splice(0,2),u=0;u<i.length;u++)i[u]=i[u].replace(/\([^)]*\/(.*)\)/,"@$1").replace(/\@.*\/([^\/]*)/,"@$1").replace("[object Object].","");e=i.splice(0,1)[0];t+=" ("+e.replace(/^.*@ ?/,"")+")"}catch(o){}if("undefined"!=typeof console){r=window.console;f=function(n,t,i){t&&"function"==typeof t?t.call(n,i):n.log(i)};switch(n){case Dygraph.DEBUG:f(r,r.debug,"dygraphs: "+t);break;case Dygraph.INFO:f(r,r.info,"dygraphs: "+t);break;case Dygraph.WARNING:f(r,r.warn,"dygraphs: "+t);break;case Dygraph.ERROR:f(r,r.error,"dygraphs: "+t)}}Dygraph.LOG_STACK_TRACES&&window.console.log(i.join("\n"))};Dygraph.info=function(n){Dygraph.log(Dygraph.INFO,n)};Dygraph.prototype.info=Dygraph.info;Dygraph.warn=function(n){Dygraph.log(Dygraph.WARNING,n)};Dygraph.prototype.warn=Dygraph.warn;Dygraph.error=function(n){Dygraph.log(Dygraph.ERROR,n)};Dygraph.prototype.error=Dygraph.error;Dygraph.getContext=function(n){return n.getContext("2d")};Dygraph.addEvent=function(n,t,i){n.addEventListener?n.addEventListener(t,i,!1):(n[t+i]=function(){i(window.event)},n.attachEvent("on"+t,n[t+i]))};Dygraph.prototype.addAndTrackEvent=function(n,t,i){Dygraph.addEvent(n,t,i);this.registeredEvents_.push({elem:n,type:t,fn:i})};Dygraph.removeEvent=function(n,t,i){if(n.removeEventListener)n.removeEventListener(t,i,!1);else{try{n.detachEvent("on"+t,n[t+i])}catch(r){}n[t+i]=null}};Dygraph.prototype.removeTrackedEvents_=function(){var n,t;if(this.registeredEvents_)for(n=0;n<this.registeredEvents_.length;n++)t=this.registeredEvents_[n],Dygraph.removeEvent(t.elem,t.type,t.fn);this.registeredEvents_=[]};Dygraph.cancelEvent=function(n){return n=n?n:window.event,n.stopPropagation&&n.stopPropagation(),n.preventDefault&&n.preventDefault(),n.cancelBubble=!0,n.cancel=!0,n.returnValue=!1,!1};Dygraph.hsvToRGB=function(n,t,i){var r,u,f;if(0===t)r=i,u=i,f=i;else{var h=Math.floor(6*n),c=6*n-h,e=i*(1-t),o=i*(1-t*c),s=i*(1-t*(1-c));switch(h){case 1:r=o;u=i;f=e;break;case 2:r=e;u=i;f=s;break;case 3:r=e;u=o;f=i;break;case 4:r=s;u=e;f=i;break;case 5:r=i;u=e;f=o;break;case 6:case 0:r=i;u=s;f=e}}return r=Math.floor(255*r+.5),u=Math.floor(255*u+.5),f=Math.floor(255*f+.5),"rgb("+r+","+u+","+f+")"};Dygraph.findPosX=function(n){var i=0,t,r;if(n.offsetParent)for(t=n;;){if(r="0",window.getComputedStyle&&(r=window.getComputedStyle(t,null).borderLeft||"0"),i+=parseInt(r,10),i+=t.offsetLeft,!t.offsetParent)break;t=t.offsetParent}else n.x&&(i+=n.x);for(;n&&n!=document.body;)i-=n.scrollLeft,n=n.parentNode;return i};Dygraph.findPosY=function(n){var i=0,t,r;if(n.offsetParent)for(t=n;;){if(r="0",window.getComputedStyle&&(r=window.getComputedStyle(t,null).borderTop||"0"),i+=parseInt(r,10),i+=t.offsetTop,!t.offsetParent)break;t=t.offsetParent}else n.y&&(i+=n.y);for(;n&&n!=document.body;)i-=n.scrollTop,n=n.parentNode;return i};Dygraph.pageX=function(n){if(n.pageX)return!n.pageX||n.pageX<0?0:n.pageX;var t=document.documentElement,i=document.body;return n.clientX+(t.scrollLeft||i.scrollLeft)-(t.clientLeft||0)};Dygraph.pageY=function(n){if(n.pageY)return!n.pageY||n.pageY<0?0:n.pageY;var t=document.documentElement,i=document.body;return n.clientY+(t.scrollTop||i.scrollTop)-(t.clientTop||0)};Dygraph.isOK=function(n){return!!n&&!isNaN(n)};Dygraph.isValidPoint=function(n,t){return n?null===n.yval?!1:null===n.x||void 0===n.x?!1:null===n.y||void 0===n.y?!1:isNaN(n.x)||!t&&isNaN(n.y)?!1:!0:!1};Dygraph.floatFormat=function(n,t){var i=Math.min(Math.max(1,t||2),21);return Math.abs(n)<.001&&0!==n?n.toExponential(i-1):n.toPrecision(i)};Dygraph.zeropad=function(n){return 10>n?"0"+n:""+n};Dygraph.hmsString_=function(n){var i=Dygraph.zeropad,t=new Date(n);return t.getSeconds()?i(t.getHours())+":"+i(t.getMinutes())+":"+i(t.getSeconds()):i(t.getHours())+":"+i(t.getMinutes())};Dygraph.round_=function(n,t){var i=Math.pow(10,t);return Math.round(n*i)/i};Dygraph.binarySearch=function(n,t,i,r,u){if((null===r||void 0===r||null===u||void 0===u)&&(r=0,u=t.length-1),r>u)return-1;(null===i||void 0===i)&&(i=0);var e,s=function(n){return n>=0&&n<t.length},f=parseInt((r+u)/2,10),o=t[f];return o==n?f:o>n?i>0&&(e=f-1,s(e)&&t[e]<n)?f:Dygraph.binarySearch(n,t,i,r,f-1):n>o?0>i&&(e=f+1,s(e)&&t[e]>n)?f:Dygraph.binarySearch(n,t,i,f+1,u):-1};Dygraph.dateParser=function(n){var i,t;if((-1==n.search("-")||-1!=n.search("T")||-1!=n.search("Z"))&&(t=Dygraph.dateStrToMillis(n),t&&!isNaN(t)))return t;if(-1!=n.search("-")){for(i=n.replace("-","/","g");-1!=i.search("-");)i=i.replace("-","/");t=Dygraph.dateStrToMillis(i)}else 8==n.length?(i=n.substr(0,4)+"/"+n.substr(4,2)+"/"+n.substr(6,2),t=Dygraph.dateStrToMillis(i)):t=Dygraph.dateStrToMillis(n);return(!t||isNaN(t))&&Dygraph.error("Couldn't parse "+n+" as a date"),t};Dygraph.dateStrToMillis=function(n){return new Date(n).getTime()};Dygraph.update=function(n,t){if("undefined"!=typeof t&&null!==t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n};Dygraph.updateDeep=function(n,t){function r(n){return"object"==typeof Node?n instanceof Node:"object"==typeof n&&"number"==typeof n.nodeType&&"string"==typeof n.nodeName}if("undefined"!=typeof t&&null!==t)for(var i in t)t.hasOwnProperty(i)&&(null===t[i]?n[i]=null:Dygraph.isArrayLike(t[i])?n[i]=t[i].slice():r(t[i])?n[i]=t[i]:"object"==typeof t[i]?(("object"!=typeof n[i]||null===n[i])&&(n[i]={}),Dygraph.updateDeep(n[i],t[i])):n[i]=t[i]);return n};Dygraph.isArrayLike=function(n){var t=typeof n;return"object"!=t&&("function"!=t||"function"!=typeof n.item)||null===n||"number"!=typeof n.length||3===n.nodeType?!1:!0};Dygraph.isDateLike=function(n){return"object"!=typeof n||null===n||"function"!=typeof n.getTime?!1:!0};Dygraph.clone=function(n){for(var i=[],t=0;t<n.length;t++)Dygraph.isArrayLike(n[t])?i.push(Dygraph.clone(n[t])):i.push(n[t]);return i};Dygraph.createCanvas=function(){var n=document.createElement("canvas"),t=/MSIE/.test(navigator.userAgent)&&!window.opera;return t&&"undefined"!=typeof G_vmlCanvasManager&&(n=G_vmlCanvasManager.initElement(n)),n};Dygraph.isAndroid=function(){return/Android/.test(navigator.userAgent)};Dygraph.Iterator=function(n,t,i,r){t=t||0;i=i||n.length;this.hasNext=!0;this.peek=null;this.start_=t;this.array_=n;this.predicate_=r;this.end_=Math.min(n.length,t+i);this.nextIdx_=t-1;this.next()};Dygraph.Iterator.prototype.next=function(){if(!this.hasNext)return null;for(var i=this.peek,n=this.nextIdx_+1,t=!1;n<this.end_;){if(!this.predicate_||this.predicate_(this.array_,n)){this.peek=this.array_[n];t=!0;break}n++}return this.nextIdx_=n,t||(this.hasNext=!1,this.peek=null),i};Dygraph.createIterator=function(n,t,i,r){return new Dygraph.Iterator(n,t,i,r)};Dygraph.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTimeout(n,1e3/60)}}();Dygraph.repeatAndCleanup=function(n,t,i,r){var e,u=0,o=(new Date).getTime(),f;if(n(u),1==t)return void r();f=t-1;!function s(){u>=t||Dygraph.requestAnimFrame.call(window,function(){var c=(new Date).getTime(),l=c-o,t,h;e=u;u=Math.floor(l/i);t=u-e;h=u+t>f;h||u>=f?(n(f),r()):(0!==t&&n(u),s())})}()};Dygraph.isPixelChangingOptionList=function(n,t){var e={annotationClickHandler:!0,annotationDblClickHandler:!0,annotationMouseOutHandler:!0,annotationMouseOverHandler:!0,axisLabelColor:!0,axisLineColor:!0,axisLineWidth:!0,clickCallback:!0,digitsAfterDecimal:!0,drawCallback:!0,drawHighlightPointCallback:!0,drawPoints:!0,drawPointCallback:!0,drawXGrid:!0,drawYGrid:!0,fillAlpha:!0,gridLineColor:!0,gridLineWidth:!0,hideOverlayOnMouseOut:!0,highlightCallback:!0,highlightCircleSize:!0,interactionModel:!0,isZoomedIgnoreProgrammaticZoom:!0,labelsDiv:!0,labelsDivStyles:!0,labelsDivWidth:!0,labelsKMB:!0,labelsKMG2:!0,labelsSeparateLines:!0,labelsShowZeroValues:!0,legend:!0,maxNumberWidth:!0,panEdgeFraction:!0,pixelsPerYLabel:!0,pointClickCallback:!0,pointSize:!0,rangeSelectorPlotFillColor:!0,rangeSelectorPlotStrokeColor:!0,showLabelsOnHighlight:!0,showRoller:!0,sigFigs:!0,strokeWidth:!0,underlayCallback:!0,unhighlightCallback:!0,xAxisLabelFormatter:!0,xTicker:!0,xValueFormatter:!0,yAxisLabelFormatter:!0,yValueFormatter:!0,zoomCallback:!0},r=!1,o={},u,i,f;if(n)for(u=1;u<n.length;u++)o[n[u]]=!0;for(i in t){if(r)break;if(t.hasOwnProperty(i))if(o[i])for(f in t[i]){if(r)break;t[i].hasOwnProperty(f)&&!e[f]&&(r=!0)}else e[i]||(r=!0)}return r};Dygraph.compareArrays=function(n,t){if(!Dygraph.isArrayLike(n)||!Dygraph.isArrayLike(t)||n.length!==t.length)return!1;for(var i=0;i<n.length;i++)if(n[i]!==t[i])return!1;return!0};Dygraph.regularShape_=function(n,t,i,r,u,f,e){var s,h;f=f||0;e=e||2*Math.PI/t;n.beginPath();var c=f,o=c,l=function(){var n=r+Math.sin(o)*i,t=u+-Math.cos(o)*i;return[n,t]},a=l(),v=a[0],y=a[1];for(n.moveTo(v,y),s=0;t>s;s++)o=s==t-1?c:o+e,h=l(),n.lineTo(h[0],h[1]);n.fill();n.stroke()};Dygraph.shapeFunction_=function(n,t,i){return function(r,u,f,e,o,s,h){f.strokeStyle=s;f.fillStyle="white";Dygraph.regularShape_(f,n,h,e,o,t,i)}};Dygraph.Circles={DEFAULT:function(n,t,i,r,u,f,e){i.beginPath();i.fillStyle=f;i.arc(r,u,e,0,2*Math.PI,!1);i.fill()},TRIANGLE:Dygraph.shapeFunction_(3),SQUARE:Dygraph.shapeFunction_(4,Math.PI/4),DIAMOND:Dygraph.shapeFunction_(4),PENTAGON:Dygraph.shapeFunction_(5),HEXAGON:Dygraph.shapeFunction_(6),CIRCLE:function(n,t,i,r,u,f,e){i.beginPath();i.strokeStyle=f;i.fillStyle="white";i.arc(r,u,e,0,2*Math.PI,!1);i.fill();i.stroke()},STAR:Dygraph.shapeFunction_(5,0,4*Math.PI/5),PLUS:function(n,t,i,r,u,f,e){i.strokeStyle=f;i.beginPath();i.moveTo(r+e,u);i.lineTo(r-e,u);i.closePath();i.stroke();i.beginPath();i.moveTo(r,u+e);i.lineTo(r,u-e);i.closePath();i.stroke()},EX:function(n,t,i,r,u,f,e){i.strokeStyle=f;i.beginPath();i.moveTo(r+e,u+e);i.lineTo(r-e,u-e);i.closePath();i.stroke();i.beginPath();i.moveTo(r+e,u-e);i.lineTo(r-e,u+e);i.closePath();i.stroke()}};Dygraph.IFrameTarp=function(){this.tarps=[]};Dygraph.IFrameTarp.prototype.cover=function(){for(var r=document.getElementsByTagName("iframe"),t=0;t<r.length;t++){var i=r[t],u=Dygraph.findPosX(i),f=Dygraph.findPosY(i),e=i.offsetWidth,o=i.offsetHeight,n=document.createElement("div");n.style.position="absolute";n.style.left=u+"px";n.style.top=f+"px";n.style.width=e+"px";n.style.height=o+"px";n.style.zIndex=999;document.body.appendChild(n);this.tarps.push(n)}};Dygraph.IFrameTarp.prototype.uncover=function(){for(var n=0;n<this.tarps.length;n++)this.tarps[n].parentNode.removeChild(this.tarps[n]);this.tarps=[]};Dygraph.detectLineDelimiter=function(n){for(var i,t=0;t<n.length;t++){if(i=n.charAt(t),"\r"===i)return t+1<n.length&&"\n"===n.charAt(t+1)?"\r\n":i;if("\n"===i)return t+1<n.length&&"\r"===n.charAt(t+1)?"\n\r":i}return null};Dygraph.isNodeContainedBy=function(n,t){if(null===t||null===n)return!1;for(var i=n;i&&i!==t;)i=i.parentNode;return i===t};Dygraph.pow=function(n,t){return 0>t?1/Math.pow(n,-t):Math.pow(n,t)};Dygraph.dateSetters={ms:Date.prototype.setMilliseconds,s:Date.prototype.setSeconds,m:Date.prototype.setMinutes,h:Date.prototype.setHours};Dygraph.setDateSameTZ=function(n,t){var u=n.getTimezoneOffset(),i,r;for(i in t)if(t.hasOwnProperty(i)){if(r=Dygraph.dateSetters[i],!r)throw"Invalid setter: "+i;r.call(n,t[i]);n.getTimezoneOffset()!=u&&n.setTime(n.getTime()+6e4*(u-n.getTimezoneOffset()))}};Dygraph.GVizChart=function(n){this.container=n};Dygraph.GVizChart.prototype.draw=function(n,t){this.container.innerHTML="";"undefined"!=typeof this.date_graph&&this.date_graph.destroy();this.date_graph=new Dygraph(this.container,n,t)};Dygraph.GVizChart.prototype.setSelection=function(n){var t=!1;n.length&&(t=n[0].row);this.date_graph.setSelection(t)};Dygraph.GVizChart.prototype.getSelection=function(){var t=[],i=this.date_graph.getSelection(),r,n;if(0>i)return t;for(r=this.date_graph.layout_.points,n=0;n<r.length;++n)t.push({row:i,column:n+1});return t};Dygraph.Interaction={};Dygraph.Interaction.startPan=function(n,t,i){var r,e,o,s,h;if(i.isPanning=!0,o=t.xAxisRange(),i.dateRange=o[1]-o[0],i.initialLeftmostDate=o[0],i.xUnitsPerPixel=i.dateRange/(t.plotter_.area.w-1),t.attr_("panEdgeFraction")){var c=t.width_*t.attr_("panEdgeFraction"),l=t.xAxisExtremes(),v=t.toDomXCoord(l[0])-c,y=t.toDomXCoord(l[1])+c,p=t.toDataXCoord(v),w=t.toDataXCoord(y);for(i.boundedDates=[p,w],s=[],h=t.height_*t.attr_("panEdgeFraction"),r=0;r<t.axes_.length;r++){e=t.axes_[r];var a=e.extremeRange,b=t.toDomYCoord(a[0],r)+h,k=t.toDomYCoord(a[1],r)-h,d=t.toDataYCoord(b,r),g=t.toDataYCoord(k,r);s[r]=[d,g]}i.boundedValues=s}for(i.is2DPan=!1,i.axes=[],r=0;r<t.axes_.length;r++){e=t.axes_[r];var u={},f=t.yAxisRange(r),nt=t.attributes_.getForAxis("logscale",r);nt?(u.initialTopValue=Dygraph.log10(f[1]),u.dragValueRange=Dygraph.log10(f[1])-Dygraph.log10(f[0])):(u.initialTopValue=f[1],u.dragValueRange=f[1]-f[0]);u.unitsPerPixel=u.dragValueRange/(t.plotter_.area.h-1);i.axes.push(u);(e.valueWindow||e.valueRange)&&(i.is2DPan=!0)}};Dygraph.Interaction.movePan=function(n,t,i){var r,o,c,u,e,l;if(i.dragEndX=t.dragGetX_(n,i),i.dragEndY=t.dragGetY_(n,i),r=i.initialLeftmostDate-(i.dragEndX-i.dragStartX)*i.xUnitsPerPixel,i.boundedDates&&(r=Math.max(r,i.boundedDates[0])),o=r+i.dateRange,i.boundedDates&&o>i.boundedDates[1]&&(r-=o-i.boundedDates[1],o=r+i.dateRange),t.dateWindow_=[r,o],i.is2DPan)for(c=i.dragEndY-i.dragStartY,u=0;u<t.axes_.length;u++){var a=t.axes_[u],h=i.axes[u],v=c*h.unitsPerPixel,s=i.boundedValues?i.boundedValues[u]:null,f=h.initialTopValue+v;s&&(f=Math.min(f,s[1]));e=f-h.dragValueRange;s&&e<s[0]&&(f-=e-s[0],e=f-h.dragValueRange);l=t.attributes_.getForAxis("logscale",u);a.valueWindow=l?[Math.pow(Dygraph.LOG_SCALE,e),Math.pow(Dygraph.LOG_SCALE,f)]:[e,f]}t.drawGraph_(!1)};Dygraph.Interaction.endPan=function(n,t,i){i.dragEndX=t.dragGetX_(n,i);i.dragEndY=t.dragGetY_(n,i);var r=Math.abs(i.dragEndX-i.dragStartX),u=Math.abs(i.dragEndY-i.dragStartY);2>r&&2>u&&void 0!==t.lastx_&&-1!=t.lastx_&&Dygraph.Interaction.treatMouseOpAsClick(t,n,i);i.isPanning=!1;i.is2DPan=!1;i.initialLeftmostDate=null;i.dateRange=null;i.valueRange=null;i.boundedDates=null;i.boundedValues=null;i.axes=null};Dygraph.Interaction.startZoom=function(n,t,i){i.isZooming=!0;i.zoomMoved=!1};Dygraph.Interaction.moveZoom=function(n,t,i){i.zoomMoved=!0;i.dragEndX=t.dragGetX_(n,i);i.dragEndY=t.dragGetY_(n,i);var r=Math.abs(i.dragStartX-i.dragEndX),u=Math.abs(i.dragStartY-i.dragEndY);i.dragDirection=u/2>r?Dygraph.VERTICAL:Dygraph.HORIZONTAL;t.drawZoomRect_(i.dragDirection,i.dragStartX,i.dragEndX,i.dragStartY,i.dragEndY,i.prevDragDirection,i.prevEndX,i.prevEndY);i.prevEndX=i.dragEndX;i.prevEndY=i.dragEndY;i.prevDragDirection=i.dragDirection};Dygraph.Interaction.treatMouseOpAsClick=function(n,t,i){var c=n.attr_("clickCallback"),l=n.attr_("pointClickCallback"),f=null,s,u,h;if(l){for(var e=-1,o=Number.MAX_VALUE,r=0;r<n.selPoints_.length;r++)s=n.selPoints_[r],u=Math.pow(s.canvasx-i.dragEndX,2)+Math.pow(s.canvasy-i.dragEndY,2),!isNaN(u)&&(-1==e||o>u)&&(o=u,e=r);h=n.attr_("highlightCircleSize")+2;h*h>=o&&(f=n.selPoints_[e])}f&&l(t,f);c&&c(t,n.lastx_,n.selPoints_)};Dygraph.Interaction.endZoom=function(n,t,i){var s,h,r,u,f,e,o;i.isZooming=!1;i.dragEndX=t.dragGetX_(n,i);i.dragEndY=t.dragGetY_(n,i);s=Math.abs(i.dragEndX-i.dragStartX);h=Math.abs(i.dragEndY-i.dragStartY);2>s&&2>h&&void 0!==t.lastx_&&-1!=t.lastx_&&Dygraph.Interaction.treatMouseOpAsClick(t,n,i);r=t.getArea();s>=10&&i.dragDirection==Dygraph.HORIZONTAL?(u=Math.min(i.dragStartX,i.dragEndX),f=Math.max(i.dragStartX,i.dragEndX),u=Math.max(u,r.x),f=Math.min(f,r.x+r.w),f>u&&t.doZoomX_(u,f),i.cancelNextDblclick=!0):h>=10&&i.dragDirection==Dygraph.VERTICAL?(e=Math.min(i.dragStartY,i.dragEndY),o=Math.max(i.dragStartY,i.dragEndY),e=Math.max(e,r.y),o=Math.min(o,r.y+r.h),o>e&&t.doZoomY_(e,o),i.cancelNextDblclick=!0):i.zoomMoved&&t.clearZoomRect_();i.dragStartX=null;i.dragStartY=null};Dygraph.Interaction.startTouch=function(n,t,i){var r,e,f,u;for(n.preventDefault(),n.touches.length>1&&(i.startTimeForDoubleTapMs=null),r=[],e=0;e<n.touches.length;e++)f=n.touches[e],r.push({pageX:f.pageX,pageY:f.pageY,dataX:t.toDataXCoord(f.pageX),dataY:t.toDataYCoord(f.pageY)});(i.initialTouches=r,1==r.length)?(i.initialPinchCenter=r[0],i.touchDirections={x:!0,y:!0}):r.length>=2&&(i.initialPinchCenter={pageX:.5*(r[0].pageX+r[1].pageX),pageY:.5*(r[0].pageY+r[1].pageY),dataX:.5*(r[0].dataX+r[1].dataX),dataY:.5*(r[0].dataY+r[1].dataY)},u=180/Math.PI*Math.atan2(i.initialPinchCenter.pageY-r[0].pageY,r[0].pageX-i.initialPinchCenter.pageX),u=Math.abs(u),u>90&&(u=90-u),i.touchDirections={x:67.5>u,y:u>22.5});i.initialRange={x:t.xAxisRange(),y:t.yAxisRange()}};Dygraph.Interaction.moveTouch=function(n,t,i){var f,r,l,h,a,u,o,s,y,p,c,w,b,v;for(i.startTimeForDoubleTapMs=null,r=[],f=0;f<n.touches.length;f++)l=n.touches[f],r.push({pageX:l.pageX,pageY:l.pageY});a=i.initialTouches;u=i.initialPinchCenter;h=1==r.length?r[0]:{pageX:.5*(r[0].pageX+r[1].pageX),pageY:.5*(r[0].pageY+r[1].pageY)};var e={pageX:h.pageX-u.pageX,pageY:h.pageY-u.pageY},k=i.initialRange.x[1]-i.initialRange.x[0],d=i.initialRange.y[0]-i.initialRange.y[1];if(e.dataX=e.pageX/t.plotter_.area.w*k,e.dataY=e.pageY/t.plotter_.area.h*d,1==r.length?(o=1,s=1):r.length>=2&&(y=a[1].pageX-u.pageX,o=(r[1].pageX-h.pageX)/y,p=a[1].pageY-u.pageY,s=(r[1].pageY-h.pageY)/p),o=Math.min(8,Math.max(.125,o)),s=Math.min(8,Math.max(.125,s)),c=!1,i.touchDirections.x&&(t.dateWindow_=[u.dataX-e.dataX+(i.initialRange.x[0]-u.dataX)/o,u.dataX-e.dataX+(i.initialRange.x[1]-u.dataX)/o],c=!0),i.touchDirections.y)for(f=0;1>f;f++)w=t.axes_[f],b=t.attributes_.getForAxis("logscale",f),b||(w.valueWindow=[u.dataY-e.dataY+(i.initialRange.y[0]-u.dataY)/s,u.dataY-e.dataY+(i.initialRange.y[1]-u.dataY)/s],c=!0);(t.drawGraph_(!1),c&&r.length>1&&t.attr_("zoomCallback"))&&(v=t.xAxisRange(),t.attr_("zoomCallback")(v[0],v[1],t.yAxisRanges()))};Dygraph.Interaction.endTouch=function(n,t,i){if(0!==n.touches.length)Dygraph.Interaction.startTouch(n,t,i);else if(1==n.changedTouches.length){var u=(new Date).getTime(),r=n.changedTouches[0];i.startTimeForDoubleTapMs&&u-i.startTimeForDoubleTapMs<500&&i.doubleTapX&&Math.abs(i.doubleTapX-r.screenX)<50&&i.doubleTapY&&Math.abs(i.doubleTapY-r.screenY)<50?t.resetZoom():(i.startTimeForDoubleTapMs=u,i.doubleTapX=r.screenX,i.doubleTapY=r.screenY)}};Dygraph.Interaction.defaultModel={mousedown:function(n,t,i){n.button&&2==n.button||(i.initializeMouseDown(n,t,i),n.altKey||n.shiftKey?Dygraph.startPan(n,t,i):Dygraph.startZoom(n,t,i))},mousemove:function(n,t,i){i.isZooming?Dygraph.moveZoom(n,t,i):i.isPanning&&Dygraph.movePan(n,t,i)},mouseup:function(n,t,i){i.isZooming?Dygraph.endZoom(n,t,i):i.isPanning&&Dygraph.endPan(n,t,i)},touchstart:function(n,t,i){Dygraph.Interaction.startTouch(n,t,i)},touchmove:function(n,t,i){Dygraph.Interaction.moveTouch(n,t,i)},touchend:function(n,t,i){Dygraph.Interaction.endTouch(n,t,i)},mouseout:function(n,t,i){i.isZooming&&(i.dragEndX=null,i.dragEndY=null,t.clearZoomRect_())},dblclick:function(n,t,i){return i.cancelNextDblclick?void(i.cancelNextDblclick=!1):void(n.altKey||n.shiftKey||t.resetZoom())}};Dygraph.DEFAULT_ATTRS.interactionModel=Dygraph.Interaction.defaultModel;Dygraph.defaultInteractionModel=Dygraph.Interaction.defaultModel;Dygraph.endZoom=Dygraph.Interaction.endZoom;Dygraph.moveZoom=Dygraph.Interaction.moveZoom;Dygraph.startZoom=Dygraph.Interaction.startZoom;Dygraph.endPan=Dygraph.Interaction.endPan;Dygraph.movePan=Dygraph.Interaction.movePan;Dygraph.startPan=Dygraph.Interaction.startPan;Dygraph.Interaction.nonInteractiveModel_={mousedown:function(n,t,i){i.initializeMouseDown(n,t,i)},mouseup:function(n,t,i){i.dragEndX=t.dragGetX_(n,i);i.dragEndY=t.dragGetY_(n,i);var r=Math.abs(i.dragEndX-i.dragStartX),u=Math.abs(i.dragEndY-i.dragStartY);2>r&&2>u&&void 0!==t.lastx_&&-1!=t.lastx_&&Dygraph.Interaction.treatMouseOpAsClick(t,n,i)}};Dygraph.Interaction.dragIsPanInteractionModel={mousedown:function(n,t,i){i.initializeMouseDown(n,t,i);Dygraph.startPan(n,t,i)},mousemove:function(n,t,i){i.isPanning&&Dygraph.movePan(n,t,i)},mouseup:function(n,t,i){i.isPanning&&Dygraph.endPan(n,t,i)}};Dygraph.TickList=void 0;Dygraph.Ticker=void 0;Dygraph.numericLinearTicks=function(n,t,i,r,u,f){var e=function(n){return"logscale"===n?!1:r(n)};return Dygraph.numericTicks(n,t,i,e,u,f)};Dygraph.numericTicks=function(n,t,i,r,u,f){var e,v,tt,h,y=r("pixelsPerLabel"),o=[],c,l,a,p,b,k,rt,ft;if(f)for(e=0;e<f.length;e++)o.push({v:f[e]});else{if(r("logscale")&&(h=Math.floor(i/y),c=Dygraph.binarySearch(n,Dygraph.PREFERRED_LOG_TICK_VALUES,1),l=Dygraph.binarySearch(t,Dygraph.PREFERRED_LOG_TICK_VALUES,-1),-1==c&&(c=0),-1==l&&(l=Dygraph.PREFERRED_LOG_TICK_VALUES.length-1),a=null,l-c>=h/4)){for(p=l;p>=c;p--){var w=Dygraph.PREFERRED_LOG_TICK_VALUES[p],g=Math.log(w/n)/Math.log(t/n)*i,it={v:w};null===a?a={tickValue:w,pixel_coord:g}:Math.abs(g-a.pixel_coord)>=y?a={tickValue:w,pixel_coord:g}:it.label="";o.push(it)}o.reverse()}if(0===o.length){rt=r("labelsKMG2");rt?(b=[1,2,4,8,16,32,64,128,256],k=16):(b=[1,2,5,10,20,50,100],k=10);var s,d,nt,ut,et=Math.ceil(i/y),ot=Math.abs(t-n)/et,st=Math.floor(Math.log(ot)/Math.log(k)),ht=Math.pow(k,st);for(v=0;v<b.length&&(s=ht*b[v],d=Math.floor(n/s)*s,nt=Math.ceil(t/s)*s,h=Math.abs(nt-d)/s,ut=i/h,!(ut>y));v++);for(d>nt&&(s*=-1),e=0;h>e;e++)tt=d+e*s,o.push({v:tt})}}for(ft=r("axisLabelFormatter"),e=0;e<o.length;e++)void 0===o[e].label&&(o[e].label=ft(o[e].v,0,r,u));return o};Dygraph.dateTicker=function(n,t,i,r,u){var f=Dygraph.pickDateTickGranularity(n,t,i,r);return f>=0?Dygraph.getDateAxis(n,t,f,r,u):[]};Dygraph.SECONDLY=0;Dygraph.TWO_SECONDLY=1;Dygraph.FIVE_SECONDLY=2;Dygraph.TEN_SECONDLY=3;Dygraph.THIRTY_SECONDLY=4;Dygraph.MINUTELY=5;Dygraph.TWO_MINUTELY=6;Dygraph.FIVE_MINUTELY=7;Dygraph.TEN_MINUTELY=8;Dygraph.THIRTY_MINUTELY=9;Dygraph.HOURLY=10;Dygraph.TWO_HOURLY=11;Dygraph.SIX_HOURLY=12;Dygraph.DAILY=13;Dygraph.WEEKLY=14;Dygraph.MONTHLY=15;Dygraph.QUARTERLY=16;Dygraph.BIANNUAL=17;Dygraph.ANNUAL=18;Dygraph.DECADAL=19;Dygraph.CENTENNIAL=20;Dygraph.NUM_GRANULARITIES=21;Dygraph.SHORT_SPACINGS=[];Dygraph.SHORT_SPACINGS[Dygraph.SECONDLY]=1e3;Dygraph.SHORT_SPACINGS[Dygraph.TWO_SECONDLY]=2e3;Dygraph.SHORT_SPACINGS[Dygraph.FIVE_SECONDLY]=5e3;Dygraph.SHORT_SPACINGS[Dygraph.TEN_SECONDLY]=1e4;Dygraph.SHORT_SPACINGS[Dygraph.THIRTY_SECONDLY]=3e4;Dygraph.SHORT_SPACINGS[Dygraph.MINUTELY]=6e4;Dygraph.SHORT_SPACINGS[Dygraph.TWO_MINUTELY]=12e4;Dygraph.SHORT_SPACINGS[Dygraph.FIVE_MINUTELY]=3e5;Dygraph.SHORT_SPACINGS[Dygraph.TEN_MINUTELY]=6e5;Dygraph.SHORT_SPACINGS[Dygraph.THIRTY_MINUTELY]=18e5;Dygraph.SHORT_SPACINGS[Dygraph.HOURLY]=36e5;Dygraph.SHORT_SPACINGS[Dygraph.TWO_HOURLY]=72e5;Dygraph.SHORT_SPACINGS[Dygraph.SIX_HOURLY]=216e5;Dygraph.SHORT_SPACINGS[Dygraph.DAILY]=864e5;Dygraph.SHORT_SPACINGS[Dygraph.WEEKLY]=6048e5;Dygraph.LONG_TICK_PLACEMENTS=[];Dygraph.LONG_TICK_PLACEMENTS[Dygraph.MONTHLY]={months:[0,1,2,3,4,5,6,7,8,9,10,11],year_mod:1};Dygraph.LONG_TICK_PLACEMENTS[Dygraph.QUARTERLY]={months:[0,3,6,9],year_mod:1};Dygraph.LONG_TICK_PLACEMENTS[Dygraph.BIANNUAL]={months:[0,6],year_mod:1};Dygraph.LONG_TICK_PLACEMENTS[Dygraph.ANNUAL]={months:[0],year_mod:1};Dygraph.LONG_TICK_PLACEMENTS[Dygraph.DECADAL]={months:[0],year_mod:10};Dygraph.LONG_TICK_PLACEMENTS[Dygraph.CENTENNIAL]={months:[0],year_mod:100};Dygraph.PREFERRED_LOG_TICK_VALUES=function(){for(var r,t,u,i=[],n=-39;39>=n;n++)for(r=Math.pow(10,n),t=1;9>=t;t++)u=r*t,i.push(u);return i}();Dygraph.pickDateTickGranularity=function(n,t,i,r){for(var e,f=r("pixelsPerLabel"),u=0;u<Dygraph.NUM_GRANULARITIES;u++)if(e=Dygraph.numDateTicks(n,t,u),i/e>=f)return u;return-1};Dygraph.numDateTicks=function(n,t,i){var r;if(i<Dygraph.MONTHLY)return r=Dygraph.SHORT_SPACINGS[i],Math.floor(.5+1*(t-n)/r);var u=Dygraph.LONG_TICK_PLACEMENTS[i],f=(t-n)/31557807360;return Math.floor(.5+1*f*u.months.length/u.year_mod)};Dygraph.getDateAxis=function(n,t,i,r,u){var e,w=r("axisLabelFormatter"),v=[],s,h,b,k,y,p,a,d;if(i<Dygraph.MONTHLY){var c=Dygraph.SHORT_SPACINGS[i],o=c/1e3,f=new Date(n);for(Dygraph.setDateSameTZ(f,{ms:0}),60>=o?(s=f.getSeconds(),Dygraph.setDateSameTZ(f,{s:s-s%o})):(Dygraph.setDateSameTZ(f,{s:0}),o/=60,60>=o?(s=f.getMinutes(),Dygraph.setDateSameTZ(f,{m:s-s%o})):(Dygraph.setDateSameTZ(f,{m:0}),o/=60,24>=o?(s=f.getHours(),f.setHours(s-s%o)):(f.setHours(0),o/=24,7==o&&f.setDate(f.getDate()-f.getDay())))),n=f.getTime(),h=new Date(n).getTimezoneOffset(),b=c>=Dygraph.SHORT_SPACINGS[Dygraph.TWO_HOURLY],e=n;t>=e;e+=c)(f=new Date(e),b&&f.getTimezoneOffset()!=h)&&(k=f.getTimezoneOffset()-h,e+=6e4*k,f=new Date(e),h=f.getTimezoneOffset(),new Date(e+c).getTimezoneOffset()!=h&&(e+=c,f=new Date(e),h=f.getTimezoneOffset())),v.push({v:e,label:w(f,i,r,u)})}else{p=1;i<Dygraph.NUM_GRANULARITIES?(y=Dygraph.LONG_TICK_PLACEMENTS[i].months,p=Dygraph.LONG_TICK_PLACEMENTS[i].year_mod):Dygraph.warn("Span of dates is too long");for(var g=new Date(n).getFullYear(),nt=new Date(t).getFullYear(),tt=Dygraph.zeropad,l=g;nt>=l;l++)if(l%p==0)for(a=0;a<y.length;a++)d=l+"/"+tt(1+y[a])+"/01",e=Dygraph.dateStrToMillis(d),n>e||e>t||v.push({v:e,label:w(new Date(e),i,r,u)})}return v};Dygraph&&Dygraph.DEFAULT_ATTRS&&Dygraph.DEFAULT_ATTRS.axes&&Dygraph.DEFAULT_ATTRS.axes.x&&Dygraph.DEFAULT_ATTRS.axes.y&&Dygraph.DEFAULT_ATTRS.axes.y2&&(Dygraph.DEFAULT_ATTRS.axes.x.ticker=Dygraph.dateTicker,Dygraph.DEFAULT_ATTRS.axes.y.ticker=Dygraph.numericTicks,Dygraph.DEFAULT_ATTRS.axes.y2.ticker=Dygraph.numericTicks);Dygraph.Plugins={};Dygraph.Plugins.Annotations=function(){var n=function(){this.annotations_=[]};return n.prototype.toString=function(){return"Annotations Plugin"},n.prototype.activate=function(){return{clearChart:this.clearChart,didDrawChart:this.didDrawChart}},n.prototype.detachLabels=function(){for(var t,n=0;n<this.annotations_.length;n++)t=this.annotations_[n],t.parentNode&&t.parentNode.removeChild(t),this.annotations_[n]=null;this.annotations_=[]},n.prototype.clearChart=function(){this.detachLabels()},n.prototype.didDrawChart=function(n){var u=n.dygraph,v=u.layout_.annotated_points,t,r,o,i,w,b,s,l,h,a,f,c;if(v&&0!==v.length)for(var g=n.canvas.parentNode,k={position:"absolute",fontSize:u.getOption("axisLabelFontSize")+"px",zIndex:10,overflow:"hidden"},y=function(n,t,i){return function(r){var f=i.annotation;f.hasOwnProperty(n)?f[n](f,i,u,r):u.getOption(t)&&u.getOption(t)(f,i,u,r)}},e=n.dygraph.plotter_.area,p={},d=0;d<v.length;d++)if(t=v[d],!(t.canvasx<e.x||t.canvasx>e.x+e.w||t.canvasy<e.y||t.canvasy>e.y+e.h)){r=t.annotation;o=6;r.hasOwnProperty("tickHeight")&&(o=r.tickHeight);i=document.createElement("div");for(w in k)k.hasOwnProperty(w)&&(i.style[w]=k[w]);r.hasOwnProperty("icon")||(i.className="dygraphDefaultAnnotation");r.hasOwnProperty("cssClass")&&(i.className+=" "+r.cssClass);b=r.hasOwnProperty("width")?r.width:16;s=r.hasOwnProperty("height")?r.height:16;r.hasOwnProperty("icon")?(l=document.createElement("img"),l.src=r.icon,l.width=b,l.height=s,i.appendChild(l)):t.annotation.hasOwnProperty("shortText")&&i.appendChild(document.createTextNode(t.annotation.shortText));h=t.canvasx-b/2;i.style.left=h+"px";a=0;r.attachAtBottom?(c=e.y+e.h-s-o,p[h]?c-=p[h]:p[h]=0,p[h]+=o+s,a=c):a=t.canvasy-s-o;i.style.top=a+"px";i.style.width=b+"px";i.style.height=s+"px";i.title=t.annotation.text;i.style.color=u.colorsMap_[t.name];i.style.borderColor=u.colorsMap_[t.name];r.div=i;u.addAndTrackEvent(i,"click",y("clickHandler","annotationClickHandler",t,this));u.addAndTrackEvent(i,"mouseover",y("mouseOverHandler","annotationMouseOverHandler",t,this));u.addAndTrackEvent(i,"mouseout",y("mouseOutHandler","annotationMouseOutHandler",t,this));u.addAndTrackEvent(i,"dblclick",y("dblClickHandler","annotationDblClickHandler",t,this));g.appendChild(i);this.annotations_.push(i);f=n.drawingContext;(f.save(),f.strokeStyle=u.colorsMap_[t.name],f.beginPath(),r.attachAtBottom)?(c=a+s,f.moveTo(t.canvasx,c),f.lineTo(t.canvasx,c+o)):(f.moveTo(t.canvasx,t.canvasy),f.lineTo(t.canvasx,t.canvasy-2-o));f.closePath();f.stroke();f.restore()}},n.prototype.destroy=function(){this.detachLabels()},n}();Dygraph.Plugins.Axes=function(){var n=function(){this.xlabels_=[];this.ylabels_=[]};return n.prototype.toString=function(){return"Axes Plugin"},n.prototype.activate=function(){return{layout:this.layout,clearChart:this.clearChart,willDrawChart:this.willDrawChart}},n.prototype.layout=function(n){var t=n.dygraph,r,i;t.getOption("drawYAxis")&&(i=t.getOption("yAxisLabelWidth")+2*t.getOption("axisTickSize"),n.reserveSpaceLeft(i));t.getOption("drawXAxis")&&(r=t.getOption("xAxisHeight")?t.getOption("xAxisHeight"):t.getOptionForAxis("axisLabelFontSize","x")+2*t.getOption("axisTickSize"),n.reserveSpaceBottom(r));2==t.numAxes()?t.getOption("drawYAxis")&&(i=t.getOption("yAxisLabelWidth")+2*t.getOption("axisTickSize"),n.reserveSpaceRight(i)):t.numAxes()>2&&t.error("Only two y-axes are supported at this time. (Trying to use "+t.numAxes()+")")},n.prototype.detachLabels=function(){function n(n){for(var i,t=0;t<n.length;t++)i=n[t],i.parentNode&&i.parentNode.removeChild(i)}n(this.xlabels_);n(this.ylabels_);this.xlabels_=[];this.ylabels_=[]},n.prototype.clearChart=function(){this.detachLabels()},n.prototype.willDrawChart=function(n){function v(n){return Math.round(n)+.5}function o(n){return Math.round(n)-.5}var i=n.dygraph,h,t,ut,ft,w,c,a,b,l,k,f;if(i.getOption("drawXAxis")||i.getOption("drawYAxis")){var u,y,p,e,s,r=n.drawingContext,nt=n.canvas.parentNode,tt=n.canvas.width,it=n.canvas.height,d=function(n){return{position:"absolute",fontSize:i.getOptionForAxis("axisLabelFontSize",n)+"px",zIndex:10,color:i.getOptionForAxis("axisLabelColor",n),width:i.getOption("axisLabelWidth")+"px",lineHeight:"normal",overflow:"hidden"}},et={x:d("x"),y:d("y"),y2:d("y2")},rt=function(n,t,i){var f=document.createElement("div"),e=et["y2"==i?"y2":t],r,u;for(r in e)e.hasOwnProperty(r)&&(f.style[r]=e[r]);return u=document.createElement("div"),u.className="dygraph-axis-label dygraph-axis-label-"+t+(i?" dygraph-axis-label-"+i:""),u.innerHTML=n,f.appendChild(u),f};if(r.save(),h=i.layout_,t=n.dygraph.plotter_.area,i.getOption("drawYAxis")){if(h.yticks&&h.yticks.length>0){for(ut=i.numAxes(),s=0;s<h.yticks.length;s++){if(e=h.yticks[s],"function"==typeof e)return;y=t.x;ft=1;w="y1";1==e[0]&&(y=t.x+t.w,ft=-1,w="y2");c=i.getOptionForAxis("axisLabelFontSize",w);p=t.y+e[1]*t.h;u=rt(e[2],"y",2==ut?w:null);a=p-c/2;0>a&&(a=0);a+c+3>it?u.style.bottom="0px":u.style.top=a+"px";0===e[0]?(u.style.left=t.x-i.getOption("yAxisLabelWidth")-i.getOption("axisTickSize")+"px",u.style.textAlign="right"):1==e[0]&&(u.style.left=t.x+t.w+i.getOption("axisTickSize")+"px",u.style.textAlign="left");u.style.width=i.getOption("yAxisLabelWidth")+"px";nt.appendChild(u);this.ylabels_.push(u)}var g=this.ylabels_[0],c=i.getOptionForAxis("axisLabelFontSize","y"),ot=parseInt(g.style.top,10)+c;ot>it-c&&(g.style.top=parseInt(g.style.top,10)-c/2+"px")}i.getOption("drawAxesAtZero")?(f=i.toPercentXCoord(0),(f>1||0>f||isNaN(f))&&(f=0),b=v(t.x+f*t.w)):b=v(t.x);r.strokeStyle=i.getOptionForAxis("axisLineColor","y");r.lineWidth=i.getOptionForAxis("axisLineWidth","y");r.beginPath();r.moveTo(b,o(t.y));r.lineTo(b,o(t.y+t.h));r.closePath();r.stroke();2==i.numAxes()&&(r.strokeStyle=i.getOptionForAxis("axisLineColor","y2"),r.lineWidth=i.getOptionForAxis("axisLineWidth","y2"),r.beginPath(),r.moveTo(o(t.x+t.w),o(t.y)),r.lineTo(o(t.x+t.w),o(t.y+t.h)),r.closePath(),r.stroke())}if(i.getOption("drawXAxis")){if(h.xticks)for(s=0;s<h.xticks.length;s++)e=h.xticks[s],y=t.x+e[0]*t.w,p=t.y+t.h,u=rt(e[1],"x"),u.style.textAlign="center",u.style.top=p+i.getOption("axisTickSize")+"px",l=y-i.getOption("axisLabelWidth")/2,l+i.getOption("axisLabelWidth")>tt&&(l=tt-i.getOption("xAxisLabelWidth"),u.style.textAlign="right"),0>l&&(l=0,u.style.textAlign="left"),u.style.left=l+"px",u.style.width=i.getOption("xAxisLabelWidth")+"px",nt.appendChild(u),this.xlabels_.push(u);r.strokeStyle=i.getOptionForAxis("axisLineColor","x");r.lineWidth=i.getOptionForAxis("axisLineWidth","x");r.beginPath();i.getOption("drawAxesAtZero")?(f=i.toPercentYCoord(0,0),(f>1||0>f)&&(f=1),k=o(t.y+f*t.h)):k=o(t.y+t.h);r.moveTo(v(t.x),k);r.lineTo(v(t.x+t.w),k);r.closePath();r.stroke()}r.restore()}},n}();Dygraph.Plugins.ChartLabels=function(){var n=function(){this.title_div_=null;this.xlabel_div_=null;this.ylabel_div_=null;this.y2label_div_=null},t,i;return n.prototype.toString=function(){return"ChartLabels Plugin"},n.prototype.activate=function(){return{layout:this.layout,didDrawChart:this.didDrawChart}},t=function(n){var t=document.createElement("div");return t.style.position="absolute",t.style.left=n.x+"px",t.style.top=n.y+"px",t.style.width=n.w+"px",t.style.height=n.h+"px",t},n.prototype.detachLabels_=function(){for(var n,i=[this.title_div_,this.xlabel_div_,this.ylabel_div_,this.y2label_div_],t=0;t<i.length;t++)n=i[t],n&&n.parentNode&&n.parentNode.removeChild(n);this.title_div_=null;this.xlabel_div_=null;this.ylabel_div_=null;this.y2label_div_=null},i=function(n,t,i,r,u){var e=document.createElement("div"),f,o,s;return e.style.position="absolute",e.style.left=1==i?"0px":t.x+"px",e.style.top=t.y+"px",e.style.width=t.w+"px",e.style.height=t.h+"px",e.style.fontSize=n.getOption("yLabelWidth")-2+"px",f=document.createElement("div"),f.style.position="absolute",f.style.width=t.h+"px",f.style.height=t.w+"px",f.style.top=t.h/2-t.w/2+"px",f.style.left=t.w/2-t.h/2+"px",f.style.textAlign="center",o="rotate("+(1==i?"-":"")+"90deg)",f.style.transform=o,f.style.WebkitTransform=o,f.style.MozTransform=o,f.style.OTransform=o,f.style.msTransform=o,"undefined"!=typeof document.documentMode&&document.documentMode<9&&(f.style.filter="progid:DXImageTransform.Microsoft.BasicImage(rotation="+(1==i?"3":"1")+")",f.style.left="0px",f.style.top="0px"),s=document.createElement("div"),s.className=r,s.innerHTML=u,f.appendChild(s),e.appendChild(f),e},n.prototype.layout=function(n){var r,f,e,o,u,s,h;this.detachLabels_();r=n.dygraph;f=n.chart_div;r.getOption("title")&&(e=n.reserveSpaceTop(r.getOption("titleHeight")),this.title_div_=t(e),this.title_div_.style.textAlign="center",this.title_div_.style.fontSize=r.getOption("titleHeight")-8+"px",this.title_div_.style.fontWeight="bold",this.title_div_.style.zIndex=10,u=document.createElement("div"),u.className="dygraph-label dygraph-title",u.innerHTML=r.getOption("title"),this.title_div_.appendChild(u),f.appendChild(this.title_div_));r.getOption("xlabel")&&(o=n.reserveSpaceBottom(r.getOption("xLabelHeight")),this.xlabel_div_=t(o),this.xlabel_div_.style.textAlign="center",this.xlabel_div_.style.fontSize=r.getOption("xLabelHeight")-2+"px",u=document.createElement("div"),u.className="dygraph-label dygraph-xlabel",u.innerHTML=r.getOption("xlabel"),this.xlabel_div_.appendChild(u),f.appendChild(this.xlabel_div_));r.getOption("ylabel")&&(s=n.reserveSpaceLeft(0),this.ylabel_div_=i(r,s,1,"dygraph-label dygraph-ylabel",r.getOption("ylabel")),f.appendChild(this.ylabel_div_));r.getOption("y2label")&&2==r.numAxes()&&(h=n.reserveSpaceRight(0),this.y2label_div_=i(r,h,2,"dygraph-label dygraph-y2label",r.getOption("y2label")),f.appendChild(this.y2label_div_))},n.prototype.didDrawChart=function(n){var t=n.dygraph;this.title_div_&&(this.title_div_.children[0].innerHTML=t.getOption("title"));this.xlabel_div_&&(this.xlabel_div_.children[0].innerHTML=t.getOption("xlabel"));this.ylabel_div_&&(this.ylabel_div_.children[0].children[0].innerHTML=t.getOption("ylabel"));this.y2label_div_&&(this.y2label_div_.children[0].children[0].innerHTML=t.getOption("y2label"))},n.prototype.clearChart=function(){},n.prototype.destroy=function(){this.detachLabels_()},n}();Dygraph.Plugins.Grid=function(){var n=function(){};return n.prototype.toString=function(){return"Gridline Plugin"},n.prototype.activate=function(){return{willDrawChart:this.willDrawChart}},n.prototype.willDrawChart=function(n){function v(n){return Math.round(n)+.5}function y(n){return Math.round(n)-.5}var s,c,t,e,r=n.dygraph,i=n.drawingContext,p=r.layout_,u=n.dygraph.plotter_.area,o,f,h;if(r.getOption("drawYGrid")){for(var l=["y","y2"],w=[],b=[],a=[],h=[],f=[],t=0;t<l.length;t++)a[t]=r.getOptionForAxis("drawGrid",l[t]),a[t]&&(w[t]=r.getOptionForAxis("gridLineColor",l[t]),b[t]=r.getOptionForAxis("gridLineWidth",l[t]),f[t]=r.getOptionForAxis("gridLinePattern",l[t]),h[t]=f[t]&&f[t].length>=2);for(e=p.yticks,i.save(),t=0;t<e.length;t++)o=e[t][0],a[o]&&(h[o]&&i.installPattern(f[o]),i.strokeStyle=w[o],i.lineWidth=b[o],s=v(u.x),c=y(u.y+e[t][1]*u.h),i.beginPath(),i.moveTo(s,c),i.lineTo(s+u.w,c),i.closePath(),i.stroke(),h[o]&&i.uninstallPattern());i.restore()}if(r.getOption("drawXGrid")&&r.getOptionForAxis("drawGrid","x")){for(e=p.xticks,i.save(),f=r.getOptionForAxis("gridLinePattern","x"),h=f&&f.length>=2,h&&i.installPattern(f),i.strokeStyle=r.getOptionForAxis("gridLineColor","x"),i.lineWidth=r.getOptionForAxis("gridLineWidth","x"),t=0;t<e.length;t++)s=v(u.x+e[t][0]*u.w),c=y(u.y+u.h),i.beginPath(),i.moveTo(s,c),i.lineTo(s,u.y),i.closePath(),i.stroke();h&&i.uninstallPattern();i.restore()}},n.prototype.destroy=function(){},n}();Dygraph.Plugins.Legend=function(){var n=function(){this.legend_div_=null;this.is_generated_div_=!1},t,i,r;return n.prototype.toString=function(){return"Legend Plugin"},n.prototype.activate=function(n){var t,f=n.getOption("labelsDivWidth"),i=n.getOption("labelsDiv"),r,u;if(i&&null!==i)t="string"==typeof i||i instanceof String?document.getElementById(i):i;else{r={position:"absolute",fontSize:"14px",zIndex:10,width:f+"px",top:"0px",left:n.size().width-f-2+"px",background:"white",lineHeight:"normal",textAlign:"left",overflow:"hidden"};Dygraph.update(r,n.getOption("labelsDivStyles"));t=document.createElement("div");t.className="dygraph-legend";for(u in r)if(r.hasOwnProperty(u))try{t.style[u]=r[u]}catch(e){this.warn("You are using unsupported css properties for your browser in labelsDivStyles")}n.graphDiv.appendChild(t);this.is_generated_div_=!0}return this.legend_div_=t,this.one_em_width_=10,{select:this.select,deselect:this.deselect,predraw:this.predraw,didDrawChart:this.didDrawChart}},r=function(n){var t=document.createElement("span"),i;return t.setAttribute("style","margin: 0; padding: 0 0 0 1em; border: 0;"),n.appendChild(t),i=t.offsetWidth,n.removeChild(t),i},n.prototype.select=function(n){var i=n.selectedX,r=n.selectedPoints,u=t(n.dygraph,i,r,this.one_em_width_);this.legend_div_.innerHTML=u},n.prototype.deselect=function(n){var i=r(this.legend_div_),u;this.one_em_width_=i;u=t(n.dygraph,void 0,void 0,i);this.legend_div_.innerHTML=u},n.prototype.didDrawChart=function(n){this.deselect(n)},n.prototype.predraw=function(n){if(this.is_generated_div_){n.dygraph.graphDiv.appendChild(this.legend_div_);var t=n.dygraph.plotter_.area,i=n.dygraph.getOption("labelsDivWidth");this.legend_div_.style.left=t.x+t.w-i-1+"px";this.legend_div_.style.top=t.y+"px";this.legend_div_.style.width=i+"px"}},n.prototype.destroy=function(){this.legend_div_=null},t=function(n,t,r,u){var e,c,f,v,y,s,h,l,p,a,w,b,k,o;if(n.getOption("showLabelsOnHighlight")!==!0)return"";if(s=n.getLabels(),"undefined"==typeof t){if("always"!=n.getOption("legend"))return"";for(c=n.getOption("labelsSeparateLines"),e="",f=1;f<s.length;f++)h=n.getPropertiesForSeries(s[f]),h.visible&&(""!==e&&(e+=c?"<br/>":" "),y=n.getOption("strokePattern",s[f]),v=i(y,h.color,u),e+="<span style='font-weight: bold; color: "+h.color+";'>"+v+" "+s[f]+"<\/span>");return e}for(l=n.optionsViewForAxis_("x"),p=l("valueFormatter"),e=p(t,l,s[0],n),""!==e&&(e+=":"),a=[],w=n.numAxes(),f=0;w>f;f++)a[f]=n.optionsViewForAxis_("y"+(f?1+f:""));for(b=n.getOption("labelsShowZeroValues"),c=n.getOption("labelsSeparateLines"),k=n.getHighlightSeries(),f=0;f<r.length;f++)if(o=r[f],(0!==o.yval||b)&&Dygraph.isOK(o.canvasy)){c&&(e+="<br/>");var h=n.getPropertiesForSeries(o.name),d=a[h.axis-1],g=d("valueFormatter"),nt=g(o.yval,d,o.name,n),tt=o.name==k?" class='highlight'":"";e+="<span"+tt+"> <b><span style='color: "+h.color+";'>"+o.name+"<\/span><\/b>:&nbsp;"+nt+"<\/span>"}return e},i=function(n,t,i){var a=/MSIE/.test(navigator.userAgent)&&!window.opera,h;if(a)return"&mdash;";if(!n||n.length<=1)return'<div style="display: inline-block; position: relative; bottom: .5ex; padding-left: 1em; height: 1px; border-bottom: 2px solid '+t+';"><\/div>';for(var e,c,l,f,o=0,s=0,u=[],r=0;r<=n.length;r++)o+=n[r%n.length];if(f=Math.floor(i/(o-n[0])),f>1){for(r=0;r<n.length;r++)u[r]=n[r]/i;s=u.length}else{for(f=1,r=0;r<n.length;r++)u[r]=n[r]/o;s=u.length+1}for(h="",e=0;f>e;e++)for(r=0;s>r;r+=2)c=u[r%u.length],l=r<n.length?u[(r+1)%u.length]:0,h+='<div style="display: inline-block; position: relative; bottom: .5ex; margin-right: '+l+"em; padding-left: "+c+"em; height: 1px; border-bottom: 2px solid "+t+';"><\/div>';return h},n}();Dygraph.Plugins.RangeSelector=function(){var n=function(){this.isIE_=/MSIE/.test(navigator.userAgent)&&!window.opera;this.hasTouchInterface_="undefined"!=typeof TouchEvent;this.isMobileDevice_=/mobile|android/gi.test(navigator.appVersion);this.interfaceCreated_=!1};return n.prototype.toString=function(){return"RangeSelector Plugin"},n.prototype.activate=function(n){return this.dygraph_=n,this.isUsingExcanvas_=n.isUsingExcanvas_,this.getOption_("showRangeSelector")&&this.createInterface_(),{layout:this.reserveSpace_,predraw:this.renderStaticLayer_,didDrawChart:this.renderInteractiveLayer_}},n.prototype.destroy=function(){this.bgcanvas_=null;this.fgcanvas_=null;this.leftZoomHandle_=null;this.rightZoomHandle_=null;this.iePanOverlay_=null},n.prototype.getOption_=function(n){return this.dygraph_.getOption(n)},n.prototype.setDefaultOption_=function(n,t){return this.dygraph_.attrs_[n]=t},n.prototype.createInterface_=function(){this.createCanvases_();this.isUsingExcanvas_&&this.createIEPanOverlay_();this.createZoomHandles_();this.initInteraction_();this.getOption_("animatedZooms")&&(this.dygraph_.warn("Animated zooms and range selector are not compatible; disabling animatedZooms."),this.dygraph_.updateOptions({animatedZooms:!1},!0));this.interfaceCreated_=!0;this.addToGraph_()},n.prototype.addToGraph_=function(){var n=this.graphDiv_=this.dygraph_.graphDiv;n.appendChild(this.bgcanvas_);n.appendChild(this.fgcanvas_);n.appendChild(this.leftZoomHandle_);n.appendChild(this.rightZoomHandle_)},n.prototype.removeFromGraph_=function(){var n=this.graphDiv_;n.removeChild(this.bgcanvas_);n.removeChild(this.fgcanvas_);n.removeChild(this.leftZoomHandle_);n.removeChild(this.rightZoomHandle_);this.graphDiv_=null},n.prototype.reserveSpace_=function(n){this.getOption_("showRangeSelector")&&n.reserveSpaceBottom(this.getOption_("rangeSelectorHeight")+4)},n.prototype.renderStaticLayer_=function(){this.updateVisibility_()&&(this.resize_(),this.drawStaticLayer_())},n.prototype.renderInteractiveLayer_=function(){this.updateVisibility_()&&!this.isChangingRange_&&(this.placeZoomHandles_(),this.drawInteractiveLayer_())},n.prototype.updateVisibility_=function(){var t=this.getOption_("showRangeSelector"),n;return t?this.interfaceCreated_?this.graphDiv_&&this.graphDiv_.parentNode||this.addToGraph_():this.createInterface_():this.graphDiv_&&(this.removeFromGraph_(),n=this.dygraph_,setTimeout(function(){n.width_=0;n.resize()},1)),t},n.prototype.resize_=function(){function t(n,t){n.style.top=t.y+"px";n.style.left=t.x+"px";n.width=t.w;n.height=t.h;n.style.width=n.width+"px";n.style.height=n.height+"px"}var n=this.dygraph_.layout_.getPlotArea(),i=0;this.getOption_("drawXAxis")&&(i=this.getOption_("xAxisHeight")||this.getOption_("axisLabelFontSize")+2*this.getOption_("axisTickSize"));this.canvasRect_={x:n.x,y:n.y+n.h+i+4,w:n.w,h:this.getOption_("rangeSelectorHeight")};t(this.bgcanvas_,this.canvasRect_);t(this.fgcanvas_,this.canvasRect_)},n.prototype.createCanvases_=function(){this.bgcanvas_=Dygraph.createCanvas();this.bgcanvas_.className="dygraph-rangesel-bgcanvas";this.bgcanvas_.style.position="absolute";this.bgcanvas_.style.zIndex=9;this.bgcanvas_ctx_=Dygraph.getContext(this.bgcanvas_);this.fgcanvas_=Dygraph.createCanvas();this.fgcanvas_.className="dygraph-rangesel-fgcanvas";this.fgcanvas_.style.position="absolute";this.fgcanvas_.style.zIndex=9;this.fgcanvas_.style.cursor="default";this.fgcanvas_ctx_=Dygraph.getContext(this.fgcanvas_)},n.prototype.createIEPanOverlay_=function(){this.iePanOverlay_=document.createElement("div");this.iePanOverlay_.style.position="absolute";this.iePanOverlay_.style.backgroundColor="white";this.iePanOverlay_.style.filter="alpha(opacity=0)";this.iePanOverlay_.style.display="none";this.iePanOverlay_.style.cursor="move";this.fgcanvas_.appendChild(this.iePanOverlay_)},n.prototype.createZoomHandles_=function(){var n=new Image;n.className="dygraph-rangesel-zoomhandle";n.style.position="absolute";n.style.zIndex=10;n.style.visibility="hidden";n.style.cursor="col-resize";/MSIE 7/.test(navigator.userAgent)?(n.width=7,n.height=14,n.style.backgroundColor="white",n.style.border="1px solid #333333"):(n.width=9,n.height=16,n.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAAXNSR0IArs4c6QAAAAZiS0dEANAAzwDP4Z7KegAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9sHGw0cMqdt1UwAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAaElEQVQoz+3SsRFAQBCF4Z9WJM8KCDVwownl6YXsTmCUsyKGkZzcl7zkz3YLkypgAnreFmDEpHkIwVOMfpdi9CEEN2nGpFdwD03yEqDtOgCaun7sqSTDH32I1pQA2Pb9sZecAxc5r3IAb21d6878xsAAAAAASUVORK5CYII=");this.isMobileDevice_&&(n.width*=2,n.height*=2);this.leftZoomHandle_=n;this.rightZoomHandle_=n.cloneNode(!1)},n.prototype.initInteraction_=function(){var y,e,o,s,p,w,h,c,l,b,g,k,nt,a,n=this,t=this.isIE_?document:window,i=0,r=null,f=!1,u=!1,v=!this.isMobileDevice_&&!this.isUsingExcanvas_,tt=new Dygraph.IFrameTarp,d;y=function(t){var i=n.dygraph_.xAxisExtremes(),r=(i[1]-i[0])/n.canvasRect_.w,u=i[0]+(t.leftHandlePos-n.canvasRect_.x)*r,f=i[0]+(t.rightHandlePos-n.canvasRect_.x)*r;return[u,f]};e=function(u){return Dygraph.cancelEvent(u),f=!0,i=u.clientX,r=u.target?u.target:u.srcElement,("mousedown"===u.type||"dragstart"===u.type)&&(Dygraph.addEvent(t,"mousemove",o),Dygraph.addEvent(t,"mouseup",s)),n.fgcanvas_.style.cursor="col-resize",tt.cover(),!0};o=function(t){var o,u,e,s;return f?(Dygraph.cancelEvent(t),o=t.clientX-i,Math.abs(o)<4)?!0:(i=t.clientX,e=n.getZoomHandleStatus_(),r==n.leftZoomHandle_?(u=e.leftHandlePos+o,u=Math.min(u,e.rightHandlePos-r.width-3),u=Math.max(u,n.canvasRect_.x)):(u=e.rightHandlePos+o,u=Math.min(u,n.canvasRect_.x+n.canvasRect_.w),u=Math.max(u,e.leftHandlePos+r.width+3)),s=r.width/2,r.style.left=u-s+"px",n.drawInteractiveLayer_(),v&&p(),!0):!1};s=function(){return f?(f=!1,tt.uncover(),Dygraph.removeEvent(t,"mousemove",o),Dygraph.removeEvent(t,"mouseup",s),n.fgcanvas_.style.cursor="default",v||p(),!0):!1};p=function(){var t,i;try{t=n.getZoomHandleStatus_();(n.isChangingRange_=!0,t.isZoomed)?(i=y(t),n.dygraph_.doZoomXDates_(i[0],i[1])):n.dygraph_.resetZoom()}finally{n.isChangingRange_=!1}};w=function(t){var i,r,u;return n.isUsingExcanvas_?t.srcElement==n.iePanOverlay_:(i=n.leftZoomHandle_.getBoundingClientRect(),r=i.left+i.width/2,i=n.rightZoomHandle_.getBoundingClientRect(),u=i.left+i.width/2,t.clientX>r&&t.clientX<u)};h=function(r){return!u&&w(r)&&n.getZoomHandleStatus_().isZoomed?(Dygraph.cancelEvent(r),u=!0,i=r.clientX,"mousedown"===r.type&&(Dygraph.addEvent(t,"mousemove",c),Dygraph.addEvent(t,"mouseup",l)),!0):!1};c=function(t){var e,o;if(!u)return!1;if(Dygraph.cancelEvent(t),e=t.clientX-i,Math.abs(e)<4)return!0;i=t.clientX;var s=n.getZoomHandleStatus_(),r=s.leftHandlePos,f=s.rightHandlePos,h=f-r;return r+e<=n.canvasRect_.x?(r=n.canvasRect_.x,f=r+h):f+e>=n.canvasRect_.x+n.canvasRect_.w?(f=n.canvasRect_.x+n.canvasRect_.w,r=f-h):(r+=e,f+=e),o=n.leftZoomHandle_.width/2,n.leftZoomHandle_.style.left=r-o+"px",n.rightZoomHandle_.style.left=f-o+"px",n.drawInteractiveLayer_(),v&&b(),!0};l=function(){return u?(u=!1,Dygraph.removeEvent(t,"mousemove",c),Dygraph.removeEvent(t,"mouseup",l),v||b(),!0):!1};b=function(){try{n.isChangingRange_=!0;n.dygraph_.dateWindow_=y(n.getZoomHandleStatus_());n.dygraph_.drawGraph_(!1)}finally{n.isChangingRange_=!1}};g=function(t){if(!f&&!u){var i=w(t)?"move":"default";i!=n.fgcanvas_.style.cursor&&(n.fgcanvas_.style.cursor=i)}};k=function(n){"touchstart"==n.type&&1==n.targetTouches.length?e(n.targetTouches[0])&&Dygraph.cancelEvent(n):"touchmove"==n.type&&1==n.targetTouches.length?o(n.targetTouches[0])&&Dygraph.cancelEvent(n):s(n)};nt=function(n){"touchstart"==n.type&&1==n.targetTouches.length?h(n.targetTouches[0])&&Dygraph.cancelEvent(n):"touchmove"==n.type&&1==n.targetTouches.length?c(n.targetTouches[0])&&Dygraph.cancelEvent(n):l(n)};a=function(t,i){for(var u=["touchstart","touchend","touchmove","touchcancel"],r=0;r<u.length;r++)n.dygraph_.addAndTrackEvent(t,u[r],i)};this.setDefaultOption_("interactionModel",Dygraph.Interaction.dragIsPanInteractionModel);this.setDefaultOption_("panEdgeFraction",.0001);d=window.opera?"mousedown":"dragstart";this.dygraph_.addAndTrackEvent(this.leftZoomHandle_,d,e);this.dygraph_.addAndTrackEvent(this.rightZoomHandle_,d,e);this.isUsingExcanvas_?this.dygraph_.addAndTrackEvent(this.iePanOverlay_,"mousedown",h):(this.dygraph_.addAndTrackEvent(this.fgcanvas_,"mousedown",h),this.dygraph_.addAndTrackEvent(this.fgcanvas_,"mousemove",g));this.hasTouchInterface_&&(a(this.leftZoomHandle_,k),a(this.rightZoomHandle_,k),a(this.fgcanvas_,nt))},n.prototype.drawStaticLayer_=function(){var t=this.bgcanvas_ctx_,n;t.clearRect(0,0,this.canvasRect_.w,this.canvasRect_.h);try{this.drawMiniPlot_()}catch(i){Dygraph.warn(i)}n=.5;this.bgcanvas_ctx_.lineWidth=1;t.strokeStyle="gray";t.beginPath();t.moveTo(n,n);t.lineTo(n,this.canvasRect_.h-n);t.lineTo(this.canvasRect_.w-n,this.canvasRect_.h-n);t.lineTo(this.canvasRect_.w-n,n);t.stroke()},n.prototype.drawMiniPlot_=function(){var c=this.getOption_("rangeSelectorPlotFillColor"),l=this.getOption_("rangeSelectorPlotStrokeColor"),o,h;if(c||l){var y=this.getOption_("stepPlot"),r=this.computeCombinedSeriesAndLimits_(),p=r.yMax-r.yMin,n=this.bgcanvas_ctx_,u=.5,a=this.dygraph_.xAxisExtremes(),w=Math.max(a[1]-a[0],1e-30),b=(this.canvasRect_.w-u)/w,k=(this.canvasRect_.h-u)/p,d=this.canvasRect_.w-u,t=this.canvasRect_.h-u,f=null,e=null;for(n.beginPath(),n.moveTo(u,t),o=0;o<r.data.length;o++){var s=r.data[o],i=null!==s[0]?(s[0]-a[0])*b:NaN,v=null!==s[1]?t-(s[1]-r.yMin)*k:NaN;isFinite(i)&&isFinite(v)?(null===f?n.lineTo(i,t):y&&n.lineTo(i,e),n.lineTo(i,v),f=i,e=v):(null!==f&&(y?(n.lineTo(i,e),n.lineTo(i,t)):n.lineTo(f,t)),f=e=null)}(n.lineTo(d,t),n.closePath(),c)&&(h=this.bgcanvas_ctx_.createLinearGradient(0,0,0,t),h.addColorStop(0,"white"),h.addColorStop(1,c),this.bgcanvas_ctx_.fillStyle=h,n.fill());l&&(this.bgcanvas_ctx_.strokeStyle=l,this.bgcanvas_ctx_.lineWidth=1.5,n.stroke())}},n.prototype.computeCombinedSeriesAndLimits_=function(){for(var r,e,a,c,t,w,u,h=this.dygraph_.rawData_,b=this.getOption_("logscale"),i=[],l,o,s,f,v,y,p,n=0;n<h.length;n++)if(h[n].length>1&&null!==h[n][1]){if(a="number"!=typeof h[n][1])for(r=[],e=[],t=0;t<h[n][1].length;t++)r.push(0),e.push(0);break}for(n=0;n<h.length;n++){if(l=h[n],w=l[0],a)for(t=0;t<r.length;t++)r[t]=e[t]=0;else r=e=0;for(c=1;c<l.length;c++)if(this.dygraph_.visibility()[c-1])if(a)for(t=0;t<r.length;t++)o=l[c][t],null===o||isNaN(o)||(r[t]+=o,e[t]++);else{if(o=l[c],null===o||isNaN(o))continue;r+=o;e++}if(a){for(t=0;t<r.length;t++)r[t]/=e[t];u=r.slice(0)}else u=r/e;i.push([w,u])}if(i=this.dygraph_.rollingAverage(i,this.dygraph_.rollPeriod_),"number"!=typeof i[0][1])for(n=0;n<i.length;n++)u=i[n][1],i[n][1]=u[0];for(s=Number.MAX_VALUE,f=-Number.MAX_VALUE,n=0;n<i.length;n++)u=i[n][1],null!==u&&isFinite(u)&&(!b||u>0)&&(s=Math.min(s,u),f=Math.max(f,u));if(v=.25,b)for(f=Dygraph.log10(f),f+=f*v,s=Dygraph.log10(s),n=0;n<i.length;n++)i[n][1]=Dygraph.log10(i[n][1]);else p=f-s,y=p<=Number.MIN_VALUE?f*v:p*v,f+=y,s-=y;return{data:i,yMin:s,yMax:f}},n.prototype.placeZoomHandles_=function(){var n=this.dygraph_.xAxisExtremes(),t=this.dygraph_.xAxisRange(),i=n[1]-n[0],u=Math.max(0,(t[0]-n[0])/i),f=Math.max(0,(n[1]-t[1])/i),e=this.canvasRect_.x+this.canvasRect_.w*u,o=this.canvasRect_.x+this.canvasRect_.w*(1-f),s=Math.max(this.canvasRect_.y,this.canvasRect_.y+(this.canvasRect_.h-this.leftZoomHandle_.height)/2),r=this.leftZoomHandle_.width/2;this.leftZoomHandle_.style.left=e-r+"px";this.leftZoomHandle_.style.top=s+"px";this.rightZoomHandle_.style.left=o-r+"px";this.rightZoomHandle_.style.top=this.leftZoomHandle_.style.top;this.leftZoomHandle_.style.visibility="visible";this.rightZoomHandle_.style.visibility="visible"},n.prototype.drawInteractiveLayer_=function(){var n=this.fgcanvas_ctx_,i,r;n.clearRect(0,0,this.canvasRect_.w,this.canvasRect_.h);var t=1,f=this.canvasRect_.w-t,u=this.canvasRect_.h-t,e=this.getZoomHandleStatus_();(n.strokeStyle="black",e.isZoomed)?(i=Math.max(t,e.leftHandlePos-this.canvasRect_.x),r=Math.min(f,e.rightHandlePos-this.canvasRect_.x),n.fillStyle="rgba(240, 240, 240, 0.6)",n.fillRect(0,0,i,this.canvasRect_.h),n.fillRect(r,0,this.canvasRect_.w-r,this.canvasRect_.h),n.beginPath(),n.moveTo(t,t),n.lineTo(i,t),n.lineTo(i,u),n.lineTo(r,u),n.lineTo(r,t),n.lineTo(f,t),n.stroke(),this.isUsingExcanvas_&&(this.iePanOverlay_.style.width=r-i+"px",this.iePanOverlay_.style.left=i+"px",this.iePanOverlay_.style.height=u+"px",this.iePanOverlay_.style.display="inline")):(n.beginPath(),n.moveTo(t,t),n.lineTo(t,u),n.lineTo(f,u),n.lineTo(f,t),n.stroke(),this.iePanOverlay_&&(this.iePanOverlay_.style.display="none"))},n.prototype.getZoomHandleStatus_=function(){var n=this.leftZoomHandle_.width/2,t=parseFloat(this.leftZoomHandle_.style.left)+n,i=parseFloat(this.rightZoomHandle_.style.left)+n;return{leftHandlePos:t,rightHandlePos:i,isZoomed:t-1>this.canvasRect_.x||i+1<this.canvasRect_.x+this.canvasRect_.w}},n}();Dygraph.PLUGINS.push(Dygraph.Plugins.Legend,Dygraph.Plugins.Axes,Dygraph.Plugins.RangeSelector,Dygraph.Plugins.ChartLabels,Dygraph.Plugins.Annotations,Dygraph.Plugins.Grid),function(){"use strict";var c=this,g=c.Chart,t=function(t){var r,u;this.canvas=t.canvas;this.ctx=t;var i=function(n,t){return n["offset"+t]?n["offset"+t]:document.defaultView.getComputedStyle(n).getPropertyValue(t)},r=this.width=i(t.canvas,"Width"),u=this.height=i(t.canvas,"Height");return t.canvas.width=r,t.canvas.height=u,r=this.width=t.canvas.width,u=this.height=t.canvas.height,this.aspectRatio=this.width/this.height,n.retinaScale(this),this};t.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}};t.types={};var n=t.helpers={},i=n.each=function(n,t,i){var f=Array.prototype.slice.call(arguments,3),r,u;if(n)if(n.length===+n.length)for(r=0;r<n.length;r++)t.apply(i,[n[r],r].concat(f));else for(u in n)t.apply(i,[n[u],u].concat(f))},l=n.clone=function(n){var t={};return i(n,function(i,r){n.hasOwnProperty(r)&&(t[r]=i)}),t},r=n.extend=function(n){return i(Array.prototype.slice.call(arguments,1),function(t){i(t,function(i,r){t.hasOwnProperty(r)&&(n[r]=i)})}),n},nt=n.merge=function(){var n=Array.prototype.slice.call(arguments,0);return n.unshift({}),r.apply(null,n)},tt=n.indexOf=function(n,t){if(Array.prototype.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1},p=(n.where=function(t,i){var r=[];return n.each(t,function(n){i(n)&&r.push(n)}),r},n.findNextWhere=function(n,t,i){var r,u;for(i||(i=-1),r=i+1;r<n.length;r++)if(u=n[r],t(u))return u},n.findPreviousWhere=function(n,t,i){var r,u;for(i||(i=n.length),r=i-1;r>=0;r--)if(u=n[r],t(u))return u},n.inherits=function(n){var i=this,t=n&&n.hasOwnProperty("constructor")?n.constructor:function(){return i.apply(this,arguments)},u=function(){this.constructor=t};return u.prototype=i.prototype,t.prototype=new u,t.extend=p,n&&r(t.prototype,n),t.__super__=i.prototype,t}),a=n.noop=function(){},it=n.uid=function(){var n=0;return function(){return"chart-"+n++}}(),rt=n.warn=function(n){window.console&&"function"==typeof window.console.warn&&console.warn(n)},ut=n.amd="function"==typeof define&&define.amd,u=n.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)},h=n.max=function(n){return Math.max.apply(Math,n)},o=n.min=function(n){return Math.min.apply(Math,n)},w=(n.cap=function(n,t,i){if(u(t)){if(n>t)return t}else if(u(i)&&i>n)return i;return n},n.getDecimalPlaces=function(n){return n%1!=0&&u(n)?n.toString().split(".")[1].length:0}),v=n.radians=function(n){return n*(Math.PI/180)},b=(n.getAngleFromPoint=function(n,t){var i=t.x-n.x,r=t.y-n.y,f=Math.sqrt(i*i+r*r),u=2*Math.PI+Math.atan2(r,i);return 0>i&&0>r&&(u+=2*Math.PI),{angle:u,distance:f}},n.aliasPixel=function(n){return n%2==0?0:.5}),ft=(n.splineCurve=function(n,t,i,r){var u=Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2)),f=Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2)),e=r*u/(u+f),o=r*f/(u+f);return{inner:{x:t.x-e*(i.x-n.x),y:t.y-e*(i.y-n.y)},outer:{x:t.x+o*(i.x-n.x),y:t.y+o*(i.y-n.y)}}},n.calculateOrderOfMagnitude=function(n){return Math.floor(Math.log(n)/Math.LN10)}),f=(n.calculateScaleRange=function(n,t,i,r,u){var w=2,v=Math.floor(t/(1.5*i)),y=w>=v,c=h(n),l=o(n);c===l&&(c+=.5,l>=.5&&!r?l-=.5:c+=.5);for(var b=Math.abs(c-l),s=ft(b),k=Math.ceil(c/(1*Math.pow(10,s)))*Math.pow(10,s),p=r?0:Math.floor(l/(1*Math.pow(10,s)))*Math.pow(10,s),a=k-p,f=Math.pow(10,s),e=Math.round(a/f);(e>v||v>2*e)&&!y;)if(e>v)f*=2,e=Math.round(a/f),e%1!=0&&(y=!0);else if(u&&s>=0){if(f/2%1!=0)break;f/=2;e=Math.round(a/f)}else f/=2,e=Math.round(a/f);return y&&(e=w,f=a/e),{steps:e,stepValue:f,min:p,max:p+e*f}},n.template=function(n,t){function r(n,t){var r=/\W/.test(n)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+n.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):i[n]=i[n];return t?r(t):r}if(n instanceof Function)return n(t);var i={};return r(n,t)}),s=(n.generateLabels=function(n,t,r,u){var e=new Array(t);return labelTemplateString&&i(e,function(t,i){e[i]=f(n,{value:r+u*(i+1)})}),e},n.easingEffects={linear:function(n){return n},easeInQuad:function(n){return n*n},easeOutQuad:function(n){return-1*n*(n-2)},easeInOutQuad:function(n){return(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1)},easeInCubic:function(n){return n*n*n},easeOutCubic:function(n){return 1*((n=n/1-1)*n*n+1)},easeInOutCubic:function(n){return(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2)},easeInQuart:function(n){return n*n*n*n},easeOutQuart:function(n){return-1*((n=n/1-1)*n*n*n-1)},easeInOutQuart:function(n){return(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)},easeInQuint:function(n){return 1*(n/=1)*n*n*n*n},easeOutQuint:function(n){return 1*((n=n/1-1)*n*n*n*n+1)},easeInOutQuint:function(n){return(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)},easeInSine:function(n){return-1*Math.cos(n/1*(Math.PI/2))+1},easeOutSine:function(n){return 1*Math.sin(n/1*(Math.PI/2))},easeInOutSine:function(n){return-.5*(Math.cos(Math.PI*n/1)-1)},easeInExpo:function(n){return 0===n?1:1*Math.pow(2,10*(n/1-1))},easeOutExpo:function(n){return 1===n?1:1*(-Math.pow(2,-10*n)+1)},easeInOutExpo:function(n){return 0===n?0:1===n?1:(n/=.5)<1?.5*Math.pow(2,10*(n-1)):.5*(-Math.pow(2,-10*--n)+2)},easeInCirc:function(n){return n>=1?n:-1*(Math.sqrt(1-(n/=1)*n)-1)},easeOutCirc:function(n){return 1*Math.sqrt(1-(n=n/1-1)*n)},easeInOutCirc:function(n){return(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)},easeInElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:1==(n/=1)?1:(t||(t=.3),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),-(i*Math.pow(2,10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t)))},easeOutElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:1==(n/=1)?1:(t||(t=.3),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*n)*Math.sin((1*n-r)*2*Math.PI/t)+1)},easeInOutElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:2==(n/=.5)?1:(t||(t=1*.3*1.5),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),1>n?-.5*i*Math.pow(2,10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t):i*Math.pow(2,-10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t)*.5+1)},easeInBack:function(n){var t=1.70158;return 1*(n/=1)*n*((t+1)*n-t)},easeOutBack:function(n){var t=1.70158;return 1*((n=n/1-1)*n*((t+1)*n+t)+1)},easeInOutBack:function(n){var t=1.70158;return(n/=.5)<1?.5*n*n*(((t*=1.525)+1)*n-t):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:function(n){return 1-s.easeOutBounce(1-n)},easeOutBounce:function(n){return(n/=1)<1/2.75?1*7.5625*n*n:2/2.75>n?1*(7.5625*(n-=1.5/2.75)*n+.75):2.5/2.75>n?1*(7.5625*(n-=2.25/2.75)*n+.9375):1*(7.5625*(n-=2.625/2.75)*n+.984375)},easeInOutBounce:function(n){return.5>n?.5*s.easeInBounce(2*n):.5*s.easeOutBounce(2*n-1)+.5}}),k=n.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return window.setTimeout(n,1e3/60)}}(),et=n.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(n){return window.clearTimeout(n,1e3/60)}}(),ot=(n.animationLoop=function(n,t,i,r,u,f){var e=0,h=s[i]||s.linear,o=function(){e++;var i=e/t,s=h(i);n.call(f,s,i,e);r.call(f,s,i);t>e?f.animationFrame=k(o):u.apply(f)};k(o)},n.getRelativePosition=function(n){var r,u,t=n.originalEvent||n,f=n.currentTarget||n.srcElement,i=f.getBoundingClientRect();return t.touches?(r=t.touches[0].clientX-i.left,u=t.touches[0].clientY-i.top):(r=t.clientX-i.left,u=t.clientY-i.top),{x:r,y:u}},n.addEvent=function(n,t,i){n.addEventListener?n.addEventListener(t,i):n.attachEvent?n.attachEvent("on"+t,i):n["on"+t]=i}),st=n.removeEvent=function(n,t,i){n.removeEventListener?n.removeEventListener(t,i,!1):n.detachEvent?n.detachEvent("on"+t,i):n["on"+t]=a},ht=(n.bindEvents=function(n,t,r){n.events||(n.events={});i(t,function(t){n.events[t]=function(){r.apply(n,arguments)};ot(n.chart.canvas,t,n.events[t])})},n.unbindEvents=function(n,t){i(t,function(t,i){st(n.chart.canvas,i,t)})}),ct=n.getMaximumWidth=function(n){var t=n.parentNode;return t.clientWidth},lt=n.getMaximumHeight=function(n){var t=n.parentNode;return t.clientHeight},at=(n.getMaximumSize=n.getMaximumWidth,n.retinaScale=function(n){var t=n.ctx,i=n.canvas.width,r=n.canvas.height;window.devicePixelRatio&&(t.canvas.style.width=i+"px",t.canvas.style.height=r+"px",t.canvas.height=r*window.devicePixelRatio,t.canvas.width=i*window.devicePixelRatio,t.scale(window.devicePixelRatio,window.devicePixelRatio))}),vt=n.clear=function(n){n.ctx.clearRect(0,0,n.width,n.height)},e=n.fontString=function(n,t,i){return t+" "+n+"px "+i},y=n.longestText=function(n,t,r){n.font=t;var u=0;return i(r,function(t){var i=n.measureText(t).width;u=i>u?i:u}),u},d=n.drawRoundedRectangle=function(n,t,i,r,u,f){n.beginPath();n.moveTo(t+f,i);n.lineTo(t+r-f,i);n.quadraticCurveTo(t+r,i,t+r,i+f);n.lineTo(t+r,i+u-f);n.quadraticCurveTo(t+r,i+u,t+r-f,i+u);n.lineTo(t+f,i+u);n.quadraticCurveTo(t,i+u,t,i+u-f);n.lineTo(t,i+f);n.quadraticCurveTo(t,i,t+f,i);n.closePath()};t.instances={};t.Type=function(n,i,r){this.options=i;this.chart=r;this.id=it();t.instances[this.id]=this;i.responsive&&this.resize();this.initialize.call(this,n)};r(t.Type.prototype,{initialize:function(){return this},clear:function(){return vt(this.chart),this},stop:function(){return et(this.animationFrame),this},resize:function(n){this.stop();var t=this.chart.canvas,i=ct(this.chart.canvas),r=this.options.maintainAspectRatio?i/this.chart.aspectRatio:lt(this.chart.canvas);return t.width=this.chart.width=i,t.height=this.chart.height=r,at(this.chart),"function"==typeof n&&n.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:a,render:function(t){return t&&this.reflow(),this.options.animation&&!t?n.animationLoop(this.draw,this.options.animationSteps,this.options.animationEasing,this.options.onAnimationProgress,this.options.onAnimationComplete,this):(this.draw(),this.options.onAnimationComplete.call(this)),this},generateLegend:function(){return f(this.options.legendTemplate,this)},destroy:function(){this.clear();ht(this,this.events);var n=this.chart.canvas;n.width=this.chart.width;n.height=this.chart.height;n.style.removeProperty?(n.style.removeProperty("width"),n.style.removeProperty("height")):(n.style.removeAttribute("width"),n.style.removeAttribute("height"));delete t.instances[this.id]},showTooltip:function(r,u){var c,l,e,s;if("undefined"==typeof this.activeElements&&(this.activeElements=[]),c=function(n){var t=!1;return n.length!==this.activeElements.length?t=!0:(i(n,function(n,i){n!==this.activeElements[i]&&(t=!0)},this),t)}.call(this,r),c||u){if(this.activeElements=r,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),r.length>0)if(this.datasets&&this.datasets.length>1){for(s=this.datasets.length-1;s>=0&&(l=this.datasets[s].points||this.datasets[s].bars||this.datasets[s].segments,e=tt(l,r[0]),-1===e);s--);var a=[],v=[],y=function(){var t,f,s,i,c,l=[],r=[],u=[];return n.each(this.datasets,function(n){t=n.points||n.bars||n.segments;t[e]&&t[e].hasValue()&&l.push(t[e])}),n.each(l,function(t){r.push(t.x);u.push(t.y);a.push(n.template(this.options.multiTooltipTemplate,t));v.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),c=o(u),s=h(u),i=o(r),f=h(r),{x:i>this.chart.width/2?i:f,y:(c+s)/2}}.call(this,e);new t.MultiTooltip({x:y.x,y:y.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:a,legendColors:v,legendColorBackground:this.options.multiTooltipKeyBackground,title:r[0].label,chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(r,function(n){var i=n.tooltipPosition();new t.Tooltip({x:Math.round(i.x),y:Math.round(i.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:f(this.options.tooltipTemplate,n),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}});t.Type.extend=function(n){var i=this,u=function(){return i.apply(this,arguments)},f,e;return(u.prototype=l(i.prototype),r(u.prototype,n),u.extend=t.Type.extend,n.name||i.prototype.name)?(f=n.name||i.prototype.name,e=t.defaults[i.prototype.name]?l(t.defaults[i.prototype.name]):{},t.defaults[f]=r(e,n.defaults),t.types[f]=u,t.prototype[f]=function(n,i){var r=nt(t.defaults.global,t.defaults[f],i||{});return new u(n,r,this)}):rt("Name not provided for this chart, so it hasn't been registered"),i};t.Element=function(n){r(this,n);this.initialize.apply(this,arguments);this.save()};r(t.Element.prototype,{initialize:function(){},restore:function(n){return n?i(n,function(n){this[n]=this._saved[n]},this):r(this,this._saved),this},save:function(){return this._saved=l(this),delete this._saved._saved,this},update:function(n){return i(n,function(n,t){this._saved[t]=this[t];this[t]=n},this),this},transition:function(n,t){return i(n,function(n,i){this[i]=(n-this._saved[i])*t+this._saved[i]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return u(this.value)}});t.Element.extend=p;t.Point=t.Element.extend({display:!0,inRange:function(n,t){var i=this.hitDetectionRadius+this.radius;return Math.pow(n-this.x,2)+Math.pow(t-this.y,2)<Math.pow(i,2)},draw:function(){if(this.display){var n=this.ctx;n.beginPath();n.arc(this.x,this.y,this.radius,0,2*Math.PI);n.closePath();n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.fillStyle=this.fillColor;n.fill();n.stroke()}}});t.Arc=t.Element.extend({inRange:function(t,i){var r=n.getAngleFromPoint(this,{x:t,y:i}),u=r.angle>=this.startAngle&&r.angle<=this.endAngle,f=r.distance>=this.innerRadius&&r.distance<=this.outerRadius;return u&&f},tooltipPosition:function(){var n=this.startAngle+(this.endAngle-this.startAngle)/2,t=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(n)*t,y:this.y+Math.sin(n)*t}},draw:function(){var n=this.ctx;n.beginPath();n.arc(this.x,this.y,this.outerRadius,this.startAngle,this.endAngle);n.arc(this.x,this.y,this.innerRadius,this.endAngle,this.startAngle,!0);n.closePath();n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.fillStyle=this.fillColor;n.fill();n.lineJoin="bevel";this.showStroke&&n.stroke()}});t.Rectangle=t.Element.extend({draw:function(){var n=this.ctx,f=this.width/2,t=this.x-f,i=this.x+f,r=this.base-(this.base-this.y),u=this.strokeWidth/2;this.showStroke&&(t+=u,i-=u,r+=u);n.beginPath();n.fillStyle=this.fillColor;n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.moveTo(t,this.base);n.lineTo(t,r);n.lineTo(i,r);n.lineTo(i,this.base);n.fill();this.showStroke&&n.stroke()},height:function(){return this.base-this.y},inRange:function(n,t){return n>=this.x-this.width/2&&n<=this.x+this.width/2&&t>=this.y&&t<=this.base}});t.Tooltip=t.Element.extend({draw:function(){var n=this.chart.ctx,r,u;n.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.xAlign="center";this.yAlign="above";var t=this.caretPadding=2,i=n.measureText(this.text).width+2*this.xPadding,f=this.fontSize+2*this.yPadding,o=f+this.caretHeight+t;if(this.x+i/2>this.chart.width?this.xAlign="left":this.x-i/2<0&&(this.xAlign="right"),this.y-o<0&&(this.yAlign="below"),r=this.x-i/2,u=this.y-o,n.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":n.beginPath();n.moveTo(this.x,this.y-t);n.lineTo(this.x+this.caretHeight,this.y-(t+this.caretHeight));n.lineTo(this.x-this.caretHeight,this.y-(t+this.caretHeight));n.closePath();n.fill();break;case"below":u=this.y+t+this.caretHeight;n.beginPath();n.moveTo(this.x,this.y+t);n.lineTo(this.x+this.caretHeight,this.y+t+this.caretHeight);n.lineTo(this.x-this.caretHeight,this.y+t+this.caretHeight);n.closePath();n.fill()}switch(this.xAlign){case"left":r=this.x-i+(this.cornerRadius+this.caretHeight);break;case"right":r=this.x-(this.cornerRadius+this.caretHeight)}d(n,r,u,i,f,this.cornerRadius);n.fill();n.fillStyle=this.textColor;n.textAlign="center";n.textBaseline="middle";n.fillText(this.text,r+i/2,u+f/2)}}});t.MultiTooltip=t.Element.extend({initialize:function(){var n;this.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.titleFont=e(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+1.5*this.titleFontSize;this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,i=y(this.ctx,this.font,this.labels)+this.fontSize+3,r=h([i,t]);this.width=r+2*this.xPadding;n=this.height/2;this.y-n<0?this.y=n:this.y+n>this.chart.height&&(this.y=this.chart.height-n);this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(n){var t=this.y-this.height/2+this.yPadding,i=n-1;return 0===n?t+this.titleFontSize/2:t+(1.5*this.fontSize*i+this.fontSize/2)+1.5*this.titleFontSize},draw:function(){if(this.custom)this.custom(this);else{d(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor;t.fill();t.closePath();t.textAlign="left";t.textBaseline="middle";t.fillStyle=this.titleTextColor;t.font=this.titleFont;t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0));t.font=this.font;n.each(this.labels,function(n,i){t.fillStyle=this.textColor;t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(i+1));t.fillStyle=this.legendColorBackground;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize);t.fillStyle=this.legendColors[i].fill;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}});t.Scale=t.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=w(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(f(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?y(this.ctx,this.font,this.yLabels):0},addXLabel:function(n){this.xLabels.push(n);this.valuesCount++;this.fit()},removeXLabel:function(){this.xLabels.shift();this.valuesCount--;this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0;this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height;this.startPoint+=this.padding;this.endPoint-=this.padding;var t,n=this.endPoint-this.startPoint;for(this.calculateYRange(n),this.buildYLabels(),this.calculateXLabelRotation();n>this.endPoint-this.startPoint;)n=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(n),this.buildYLabels(),t<this.yLabelWidth&&this.calculateXLabelRotation()},calculateXLabelRotation:function(){var r,e,n,u,t,i,f;if(this.ctx.font=this.font,n=this.ctx.measureText(this.xLabels[0]).width,u=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width,this.xScalePaddingRight=u/2+3,this.xScalePaddingLeft=n/2>this.yLabelWidth+10?n/2:this.yLabelWidth+10,this.xLabelRotation=0,this.display){for(i=y(this.ctx,this.font,this.xLabels),this.xLabelWidth=i,f=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>f&&0===this.xLabelRotation||this.xLabelWidth>f&&this.xLabelRotation<=90&&this.xLabelRotation>0;)t=Math.cos(v(this.xLabelRotation)),r=t*n,e=t*u,r+this.fontSize/2>this.yLabelWidth+8&&(this.xScalePaddingLeft=r+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=t*i;this.xLabelRotation>0&&(this.endPoint-=Math.sin(v(this.xLabelRotation))*i+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:a,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(n){var t=this.drawingArea()/(this.min-this.max);return this.endPoint-t*(n-this.min)},calculateX:function(n){var r=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),t=r/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),i=t*n+this.xScalePaddingLeft;return this.offsetGridLines&&(i+=t/2),Math.round(i)},update:function(t){n.extend(this,t);this.fit()},draw:function(){var t=this.ctx,u=(this.endPoint-this.startPoint)/this.steps,r=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,f){var s=this.endPoint-u*f,e=Math.round(s),o=this.showHorizontalLines;t.textAlign="right";t.textBaseline="middle";this.showLabels&&t.fillText(i,r-10,s);0!==f||o||(o=!0);o&&t.beginPath();f>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);e+=n.aliasPixel(t.lineWidth);o&&(t.moveTo(r,e),t.lineTo(this.width,e),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r-5,e);t.lineTo(r,e);t.stroke();t.closePath()},this),i(this.xLabels,function(n,i){var e=this.calculateX(i)+b(this.lineWidth),r=this.calculateX(i-(this.offsetGridLines?.5:0))+b(this.lineWidth),f=this.xLabelRotation>0,u=this.showVerticalLines;0!==i||u||(u=!0);u&&t.beginPath();i>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);u&&(t.moveTo(r,this.endPoint),t.lineTo(r,this.startPoint-3),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r,this.endPoint);t.lineTo(r,this.endPoint+5);t.stroke();t.closePath();t.save();t.translate(e,f?this.endPoint+12:this.endPoint+8);t.rotate(-1*v(this.xLabelRotation));t.font=this.font;t.textAlign=f?"right":"center";t.textBaseline=f?"middle":"top";t.fillText(n,0,0);t.restore()},this))}});t.RadialScale=t.Element.extend({initialize:function(){this.size=o([this.height,this.width]);this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(n){var t=this.drawingArea/(this.max-this.min);return(n-this.min)*t},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize();this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=w(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(f(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,n,i,h,a,y,v,p,w,b,r,s,k=o([this.height/2-this.pointLabelFontSize-5,this.width/2]),c=this.width,l=0;for(this.ctx.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;n<this.valuesCount;n++)t=this.getPointPosition(n,k),i=this.ctx.measureText(f(this.templateString,{value:this.labels[n]})).width+5,0===n||n===this.valuesCount/2?(h=i/2,t.x+h>c&&(c=t.x+h,a=n),t.x-h<l&&(l=t.x-h,v=n)):n<this.valuesCount/2?t.x+i>c&&(c=t.x+i,a=n):n>this.valuesCount/2&&t.x-i<l&&(l=t.x-i,v=n);w=l;b=Math.ceil(c-this.width);y=this.getIndexAngle(a);p=this.getIndexAngle(v);r=b/Math.sin(y+Math.PI/2);s=w/Math.sin(p+Math.PI/2);r=u(r)?r:0;s=u(s)?s:0;this.drawingArea=k-(s+r)/2;this.setCenterPoint(s,r)},setCenterPoint:function(n,t){var i=this.width-t-this.drawingArea,r=n+this.drawingArea;this.xCenter=(r+i)/2;this.yCenter=this.height/2},getIndexAngle:function(n){var t=2*Math.PI/this.valuesCount;return n*t-Math.PI/2},getPointPosition:function(n,t){var i=this.getIndexAngle(n);return{x:Math.cos(i)*t+this.xCenter,y:Math.sin(i)*t+this.yCenter}},draw:function(){var n,t,u,f;if(this.display&&(n=this.ctx,i(this.yLabels,function(t,i){var r,f,o,u,s;if(i>0){if(f=i*(this.drawingArea/this.steps),o=this.yCenter-f,this.lineWidth>0)if(n.strokeStyle=this.lineColor,n.lineWidth=this.lineWidth,this.lineArc)n.beginPath(),n.arc(this.xCenter,this.yCenter,f,0,2*Math.PI),n.closePath(),n.stroke();else{for(n.beginPath(),u=0;u<this.valuesCount;u++)r=this.getPointPosition(u,this.calculateCenterOffset(this.min+i*this.stepValue)),0===u?n.moveTo(r.x,r.y):n.lineTo(r.x,r.y);n.closePath();n.stroke()}this.showLabels&&((n.font=e(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop)&&(s=n.measureText(t).width,n.fillStyle=this.backdropColor,n.fillRect(this.xCenter-s/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,s+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)),n.textAlign="center",n.textBaseline="middle",n.fillStyle=this.fontColor,n.fillText(t,this.xCenter,o))}},this),!this.lineArc))for(n.lineWidth=this.angleLineWidth,n.strokeStyle=this.angleLineColor,t=this.valuesCount-1;t>=0;t--){this.angleLineWidth>0&&(u=this.getPointPosition(t,this.calculateCenterOffset(this.max)),n.beginPath(),n.moveTo(this.xCenter,this.yCenter),n.lineTo(u.x,u.y),n.stroke(),n.closePath());f=this.getPointPosition(t,this.calculateCenterOffset(this.max)+5);n.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);n.fillStyle=this.pointLabelFontColor;var s=this.labels.length,o=this.labels.length/2,r=o/2,h=r>t||t>s-r,c=t===r||t===s-r;n.textAlign=0===t?"center":t===o?"center":o>t?"left":"right";n.textBaseline=c?"middle":h?"bottom":"top";n.fillText(this.labels[t],f.x,f.y)}}});n.addEvent(window,"resize",function(){var n;return function(){clearTimeout(n);n=setTimeout(function(){i(t.instances,function(n){n.options.responsive&&n.resize(n.render,!0)})},50)}}());ut?define(function(){return t}):"object"==typeof module&&module.exports&&(module.exports=t);c.Chart=t;t.noConflict=function(){return c.Chart=g,t}}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Bar",defaults:{scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].fillColor%>"><\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){var r=this.options;this.ScaleClass=t.Scale.extend({offsetGridLines:!0,calculateBarX:function(n,t,i){var f=this.calculateBaseWidth(),e=this.calculateX(i)-f/2,u=this.calculateBarWidth(n);return e+u*t+t*r.barDatasetSpacing+u/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(n){var t=this.calculateBaseWidth()-(n-1)*r.barDatasetSpacing;return t/n}});this.datasets=[];this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});this.BarClass=t.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,bars:[]};this.datasets.push(r);n.each(t.data,function(n,u){r.bars.push(new this.BarClass({value:n,label:i.labels[u],datasetLabel:t.label,strokeColor:t.strokeColor,fillColor:t.fillColor,highlightFill:t.highlightFill||t.fillColor,highlightStroke:t.highlightStroke||t.strokeColor}))},this)},this);this.buildScale(i.labels);this.BarClass.prototype.base=this.scale.endPoint;this.eachBars(function(t,i,r){n.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,i),y:this.scale.endPoint});t.save()},this);this.render()},update:function(){this.scale.update();n.each(this.activeElements,function(n){n.restore(["fillColor","strokeColor"])});this.eachBars(function(n){n.save()});this.render()},eachBars:function(t){n.each(this.datasets,function(i,r){n.each(i.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var i,u=[],f=n.getRelativePosition(t),e=function(n){u.push(n.bars[i])},r=0;r<this.datasets.length;r++)for(i=0;i<this.datasets[r].bars.length;i++)if(this.datasets[r].bars[i].inRange(f.x,f.y))return n.each(this.datasets,e),u;return u},buildScale:function(t){var r=this,u=function(){var n=[];return r.eachBars(function(t){n.push(t.value)}),n},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var i=n.calculateScaleRange(u(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,i)},xLabels:t,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(i,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth});this.scale=new this.ScaleClass(i)},addData:function(t,i){n.each(t,function(n,t){this.datasets[t].bars.push(new this.BarClass({value:n,label:i,x:this.scale.calculateBarX(this.datasets.length,t,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[t].strokeColor,fillColor:this.datasets[t].fillColor}))},this);this.scale.addXLabel(i);this.update()},removeData:function(){this.scale.removeXLabel();n.each(this.datasets,function(n){n.bars.shift()},this);this.update()},reflow:function(){n.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var i=t||1;this.clear();this.chart.ctx;this.scale.draw(i);n.each(this.datasets,function(t,r){n.each(t.bars,function(n,t){n.hasValue()&&(n.base=this.scale.endPoint,n.transition({x:this.scale.calculateBarX(this.datasets.length,r,t),y:this.scale.calculateY(n.value),width:this.scale.calculateBarWidth(this.datasets.length)},i).draw())},this)},this)}})}.call(this),function(){"use strict";var r=this,t=r.Chart,n=t.helpers,i={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"><\/span><%if(segments[i].label){%><%=segments[i].label%><%}%><\/li><%}%><\/ul>'};t.Type.extend({name:"Doughnut",defaults:i,initialize:function(i){this.segments=[];this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;this.SegmentArc=t.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2});this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.calculateTotal(i);n.each(i,function(n,t){this.addData(n,t,!0)},this);this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,t,i){var r=t||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({value:n.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:n.color,highlightColor:n.highlight||n.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(n.value),label:n.label}));i||(this.reflow(),this.update())},calculateCircumference:function(n){return 2*Math.PI*(Math.abs(n)/this.total)},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=Math.abs(n.value)},this)},update:function(){this.calculateTotal(this.segments);n.each(this.activeElements,function(n){n.restore(["fillColor"])});n.each(this.segments,function(n){n.save()});this.render()},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;n.each(this.segments,function(n){n.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var i=t?t:1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.calculateCircumference(n.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},i);n.endAngle=n.startAngle+n.circumference;n.draw();0===t&&(n.startAngle=1.5*Math.PI);t<this.segments.length-1&&(this.segments[t+1].startAngle=n.endAngle)},this)}});t.types.Doughnut.extend({name:"Pie",defaults:n.merge(i,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Line",defaults:{scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"><\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.PointClass=t.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(n){return Math.pow(n-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}});this.datasets=[];this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,pointColor:t.pointColor,pointStrokeColor:t.pointStrokeColor,points:[]};this.datasets.push(r);n.each(t.data,function(n,u){r.points.push(new this.PointClass({value:n,label:i.labels[u],datasetLabel:t.label,strokeColor:t.pointStrokeColor,fillColor:t.pointColor,highlightFill:t.pointHighlightFill||t.pointColor,highlightStroke:t.pointHighlightStroke||t.pointStrokeColor}))},this);this.buildScale(i.labels);this.eachPoints(function(t,i){n.extend(t,{x:this.scale.calculateX(i),y:this.scale.endPoint});t.save()},this)},this);this.render()},update:function(){this.scale.update();n.each(this.activeElements,function(n){n.restore(["fillColor","strokeColor"])});this.eachPoints(function(n){n.save()});this.render()},eachPoints:function(t){n.each(this.datasets,function(i){n.each(i.points,t,this)},this)},getPointsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.datasets,function(t){n.each(t.points,function(n){n.inRange(r.x,r.y)&&i.push(n)})},this),i},buildScale:function(i){var u=this,f=function(){var n=[];return u.eachPoints(function(t){n.push(t.value)}),n},r={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:i.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var i=n.calculateScaleRange(f(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,i)},xLabels:i,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(r,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth});this.scale=new t.Scale(r)},addData:function(t,i){n.each(t,function(n,t){this.datasets[t].points.push(new this.PointClass({value:n,label:i,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[t].pointStrokeColor,fillColor:this.datasets[t].pointColor}))},this);this.scale.addXLabel(i);this.update()},removeData:function(){this.scale.removeXLabel();n.each(this.datasets,function(n){n.points.shift()},this);this.update()},reflow:function(){var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var u=t||1;this.clear();var i=this.chart.ctx,r=function(n){return null!==n.value},e=function(t,i,u){return n.findNextWhere(i,r,u)||t},f=function(t,i,u){return n.findPreviousWhere(i,r,u)||t};this.scale.draw(u);n.each(this.datasets,function(t){var o=n.where(t.points,r);n.each(t.points,function(n,t){n.hasValue()&&n.transition({y:this.scale.calculateY(n.value),x:this.scale.calculateX(t)},u)},this);this.options.bezierCurve&&n.each(o,function(t,i){var r=i>0&&i<o.length-1?this.options.bezierCurveTension:0;t.controlPoints=n.splineCurve(f(t,o,i),t,e(t,o,i),r);t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint);t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this);i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=t.strokeColor;i.beginPath();n.each(o,function(n,t){if(0===t)i.moveTo(n.x,n.y);else if(this.options.bezierCurve){var r=f(n,o,t);i.bezierCurveTo(r.controlPoints.outer.x,r.controlPoints.outer.y,n.controlPoints.inner.x,n.controlPoints.inner.y,n.x,n.y)}else i.lineTo(n.x,n.y)},this);i.stroke();this.options.datasetFill&&o.length>0&&(i.lineTo(o[o.length-1].x,this.scale.endPoint),i.lineTo(o[0].x,this.scale.endPoint),i.fillStyle=t.fillColor,i.closePath(),i.fill());n.each(o,function(n){n.draw()})},this)}})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"PolarArea",defaults:{scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"><\/span><%if(segments[i].label){%><%=segments[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.segments=[];this.SegmentArc=t.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2});this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:i.length});this.updateScaleRange(i);this.scale.update();n.each(i,function(n,t){this.addData(n,t,!0)},this);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,t,i){var r=t||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:n.color,highlightColor:n.highlight||n.color,label:n.label,value:n.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(n.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI}));i||(this.reflow(),this.update())},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=n.value},this);this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var i=[],r;n.each(t,function(n){i.push(n.value)});r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r,{size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments);n.each(this.segments,function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.updateScaleRange(this.segments);this.scale.update();n.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2});n.each(this.segments,function(n){n.update({outerRadius:this.scale.calculateCenterOffset(n.value)})},this)},draw:function(t){var i=t||1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(n.value)},i);n.endAngle=n.startAngle+n.circumference;0===t&&(n.startAngle=1.5*Math.PI);t<this.segments.length-1&&(this.segments[t+1].startAngle=n.endAngle);n.draw()},this);this.scale.draw()}})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"><\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.PointClass=t.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx});this.datasets=[];this.buildScale(i);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,pointColor:t.pointColor,pointStrokeColor:t.pointStrokeColor,points:[]};this.datasets.push(r);n.each(t.data,function(n,u){var f;this.scale.animation||(f=this.scale.getPointPosition(u,this.scale.calculateCenterOffset(n)));r.points.push(new this.PointClass({value:n,label:i.labels[u],datasetLabel:t.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:t.pointStrokeColor,fillColor:t.pointColor,highlightFill:t.pointHighlightFill||t.pointColor,highlightStroke:t.pointHighlightStroke||t.pointStrokeColor}))},this)},this);this.render()},eachPoints:function(t){n.each(this.datasets,function(i){n.each(i.points,t,this)},this)},getPointsAtEvent:function(t){var f=n.getRelativePosition(t),r=n.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},f),e=2*Math.PI/this.scale.valuesCount,i=Math.round((r.angle-1.5*Math.PI)/e),u=[];return(i>=this.scale.valuesCount||0>i)&&(i=0),r.distance<=this.scale.drawingArea&&n.each(this.datasets,function(n){u.push(n.points[i])}),u},buildScale:function(n){this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:n.labels,valuesCount:n.datasets[0].data.length});this.scale.setScaleSize();this.updateScaleRange(n.datasets);this.scale.buildYLabels()},updateScaleRange:function(t){var i=function(){var i=[];return n.each(t,function(t){t.data?i=i.concat(t.data):n.each(t.points,function(n){i.push(n.value)})}),i}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r)},addData:function(t,i){this.scale.valuesCount++;n.each(t,function(n,t){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(n));this.datasets[t].points.push(new this.PointClass({value:n,label:i,x:r.x,y:r.y,strokeColor:this.datasets[t].pointStrokeColor,fillColor:this.datasets[t].pointColor}))},this);this.scale.labels.push(i);this.reflow();this.update()},removeData:function(){this.scale.valuesCount--;this.scale.labels.shift();n.each(this.datasets,function(n){n.points.shift()},this);this.reflow();this.update()},update:function(){this.eachPoints(function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2});this.updateScaleRange(this.datasets);this.scale.setScaleSize();this.scale.buildYLabels()},draw:function(t){var r=t||1,i=this.chart.ctx;this.clear();this.scale.draw();n.each(this.datasets,function(t){n.each(t.points,function(n,t){n.hasValue()&&n.transition(this.scale.getPointPosition(t,this.scale.calculateCenterOffset(n.value)),r)},this);i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=t.strokeColor;i.beginPath();n.each(t.points,function(n,t){0===t?i.moveTo(n.x,n.y):i.lineTo(n.x,n.y)},this);i.closePath();i.stroke();i.fillStyle=t.fillColor;i.fill();n.each(t.points,function(n){n.hasValue()&&n.draw()})},this)}})}.call(this);!function(){function e(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function u(n,t){return parseInt(n,t||10)}function ti(n){return"string"==typeof n}function gt(n){return"object"==typeof n}function fi(n){return"number"==typeof n}function ei(n){return h.log(n)/h.LN10}function oi(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==k&&null!==n}function c(n,t,r){var u,f;if(ti(t))i(r)?n.setAttribute(t,r):n&&n.getAttribute&&(f=n.getAttribute(t));else if(i(t)&&gt(t))for(u in t)n.setAttribute(u,t[u]);return f}function yi(n){return"[object Array]"===Object.prototype.toString.call(n)?n:[n]}function t(){for(var t,i=arguments,r=i.length,n=0;r>n;n++)if(t=i[n],"undefined"!=typeof t&&null!==t)return t}function a(n,t){cr&&t&&t.opacity!==k&&(t.filter="alpha(opacity="+100*t.opacity+")");e(n.style,t)}function tt(n,t,i,r,u){return n=o.createElement(n),t&&e(n,t),u&&a(n,{padding:0,border:ot,margin:0}),i&&a(n,i),r&&r.appendChild(n),n}function vt(n,t){var i=function(){};return i.prototype=new n,e(i.prototype,t),i}function iu(n,t,i,r){var f=b.lang,e,o;return n=n,e=isNaN(t=nt(t))?2:t,t=void 0===i?f.decimalPoint:i,r=void 0===r?f.thousandsSep:r,f=0>n?"-":"",i=String(u(n=nt(+n||0).toFixed(e))),o=i.length>3?i.length%3:0,f+(o?i.substr(0,o)+r:"")+i.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+r)+(e?t+nt(n-i).toFixed(e).slice(2):"")}function ru(n){var t={left:n.offsetLeft,top:n.offsetTop};for(n=n.offsetParent;n;)t.left+=n.offsetLeft,t.top+=n.offsetTop,n!==o.body&&n!==o.documentElement&&(t.left-=n.scrollLeft,t.top-=n.scrollTop),n=n.offsetParent;return t}function uu(){this.symbol=this.color=0}function du(n,t,i,r,u,f,e){var h=e.x,c,s,o;return e=e.y,s=h-n+i-25,o=e-t+r+10,7>s&&(s=i+h+15),s+n>i+u&&(s-=s+n-(i+u),o-=t,c=!0),5>o?(o=5,c&&e>=o&&o+t>=e&&(o=e+t-5)):o+t>r+f&&(o=r+f-t-5),{x:s,y:o}}function fu(n,t){for(var r=n.length,i=0;r>i;i++)n[i].ss_i=i;for(n.sort(function(n,i){var r=t(n,i);return 0===r?n.ss_i-i.ss_i:r}),i=0;r>i;i++)delete n[i].ss_i}function pi(n){for(var t in n)n[t]&&n[t].destroy&&n[t].destroy(),delete n[t]}function si(n,i){wi=t(n,i.animation)}function eu(){var n=b.global.useUTC;or=n?Date.UTC:function(n,i,r,u,f,e){return new Date(n,i,t(r,1),t(u,0),t(f,0),t(e,0)).getTime()};vr=n?"getUTCMinutes":"getMinutes";yr=n?"getUTCHours":"getHours";pr=n?"getUTCDay":"getDay";ki=n?"getUTCDate":"getDate";sr=n?"getUTCMonth":"getMonth";hr=n?"getUTCFullYear":"getFullYear";su=n?"setUTCMinutes":"setMinutes";hu=n?"setUTCHours":"setHours";wr=n?"setUTCDate":"setDate";cu=n?"setUTCMonth":"setMonth";lu=n?"setUTCFullYear":"setFullYear"}function hi(n){fr||(fr=tt(ii));n&&fr.appendChild(n);fr.innerHTML=""}function rr(){}function ou(f,rt){function ao(f){function sf(n,t){this.pos=n;this.minor=t;this.isNew=!0;t||this.addLabel()}function wu(n){return n&&(this.options=n,this.id=n.id),this}function lf(n,i,r,u){this.isNegative=i;this.options=n;this.x=r;this.stack=u;this.alignOptions={align:n.align||(ni?i?"left":"right":"center"),verticalAlign:n.verticalAlign||(ni?"middle":i?"bottom":"top"),y:t(n.y,ni?4:i?14:-6),x:t(n.x,ni?i?-6:6:0)};this.textAlign=n.textAlign||(ni?i?"right":"left":"center")}function ue(){var r,u=[],f=[];lt=dt=null;cr=[];n(ci,function(e){if(r=!1,n(["xAxis","yAxis"],function(n){e.isCartesian&&("xAxis"===n&&wt||"yAxis"===n&&!wt)&&(e.options[n]===o.index||e.options[n]===k&&0===o.index)&&(e[n]=it,cr.push(e),r=!0)}),!e.visible&&at.ignoreHiddenSeries&&(r=!1),r){var h,l,a,s,v,c;wt||(h=e.options.stacking,du="percent"===h,h&&(v=e.options.stack,s=e.type+t(v,""),c="-"+s,e.stackKey=s,l=u[s]||[],u[s]=l,a=f[c]||[],f[c]=a),du&&(lt=0,dt=99));e.isCartesian&&(n(e.data,function(n){var r=n.x,u=n.y,y=0>u,f=y?a:l,e=y?c:s;null===lt&&(lt=dt=n[uf]);wt?r>dt?dt=r:lt>r&&(lt=r):i(u)&&(h&&(f[r]=i(f[r])?f[r]+u:u),u=f?f[r]:u,n=t(n.low,u),du||(u>dt?dt=u:lt>n&&(lt=n)),h&&(kt[e]||(kt[e]={}),kt[e][r]||(kt[e][r]=new lf(o.stackLabels,y,r,v)),kt[e][r].setTotal(u)))}),/(area|column|bar)/.test(e.type)&&!wt&&(lt>=0?(lt=0,ne=!0):0>dt&&(dt=0,te=!0)))}})}function af(n,t){var r,i;for(hi=t?1:h.pow(10,ut(h.log(n)/h.LN10)),r=n/hi,t||(t=[1,2,2.5,5,10],(o.allowDecimals===!1||lr)&&(1===hi?t=[1,2,5,10]:.1>=hi&&(t=[1/hi]))),i=0;i<t.length&&(n=t[i],!(r<=(t[i]+(t[i+1]||t[i]))/2));i++);return n*hi}function nu(n){var i;return i=n,hi=t(hi,h.pow(10,ut(h.log(rt)/h.LN10))),1>hi&&(i=10*r(1/hi),i=r(n*i)/i),i}function vf(){var h,e,n,s,nt=o.tickInterval,y=o.tickPixelInterval;if(h=o.maxZoom||(!wt||i(o.min)||i(o.max)?null:ht(5*ft.smallestInterval,dt-lt)),ti=a?fi:ri,yi?(n=ft[wt?"xAxis":"yAxis"][o.linkedTo],s=n.getExtremes(),c=t(s.min,s.dataMin),g=t(s.max,s.dataMax)):(c=t(uu,o.min,lt),g=t(fu,o.max,dt)),lr&&(c=ei(c),g=ei(g)),h>g-c&&(s=(h-g+c)/2,c=l(c-s,t(o.min,c-s),lt),g=ht(c+h,t(o.max,c+h),dt)),ot||du||yi||!i(c)||!i(g)||(h=g-c||1,i(o.min)||i(uu)||!ie||!(0>lt)&&ne||(c-=h*ie),i(o.max)||i(fu)||!re||!(dt>0)&&te||(g+=h*re)),rt=c===g?1:yi&&!nt&&y===n.options.tickPixelInterval?n.tickInterval:t(nt,ot?1:(g-c)*y/ti),gu||i(o.tickInterval)||(rt=af(rt)),it.tickInterval=rt,ff="auto"===o.minorTickInterval&&rt?rt/5:o.minorTickInterval,gu){tt=[];nt=b.global.useUTC;var v=1e3/ct,p=6e4/ct,k=36e5/ct;y=864e5/ct;h=6048e5/ct;s=2592e6/ct;var d=31556952e3/ct,f=[["second",v,[1,2,5,10,15,30]],["minute",p,[1,2,5,10,15,30]],["hour",k,[1,2,3,4,6,8,12]],["day",y,[1,2]],["week",h,[1,2]],["month",s,[1,2,3,4,6]],["year",d,null]],w=f[6],u=w[1],r=w[2];for(n=0;n<f.length&&(w=f[n],u=w[1],r=w[2],!(f[n+1]&&rt<=(u*r[r.length-1]+f[n+1][1])/2));n++);for(u===d&&5*u>rt&&(r=[1,2,5]),f=af(rt/u,r),r=new Date(c*ct),r.setMilliseconds(0),u>=v&&r.setSeconds(u>=p?0:f*ut(r.getSeconds()/f)),u>=p&&r[su](u>=k?0:f*ut(r[vr]()/f)),u>=k&&r[hu](u>=y?0:f*ut(r[yr]()/f)),u>=y&&r[wr](u>=s?1:f*ut(r[ki]()/f)),u>=s&&(r[cu](u>=d?0:f*ut(r[sr]()/f)),e=r[hr]()),u>=d&&(e-=e%f,r[lu](e)),u===h&&r[wr](r[ki]()-r[pr]()+o.startOfWeek),n=1,e=r[hr](),v=r.getTime()/ct,p=r[sr](),k=r[ki]();g>v&&fi>n;)tt.push(v),u===d?v=or(e+n*f,0)/ct:u===s?v=or(e,p+n*f)/ct:nt||u!==y&&u!==h?v+=u*f:v=or(e,p,k+n*f*(u===y?1:7)),n++;tt.push(v);ef=o.dateTimeLabelFormats[w[0]]}else for(n=nu(ut(c/rt)*rt),e=nu(br(g/rt)*rt),tt=[],n=nu(n);e>=n;)tt.push(n),n=nu(n+rt);yi||((ot||wt&&ft.hasColumn)&&(e=.5*(ot?1:rt),(ot||!i(t(o.min,uu)))&&(c-=e),(ot||!i(t(o.max,fu)))&&(g+=e)),e=tt[0],n=tt[tt.length-1],o.startOnTick?c=e:c>e&&tt.shift(),o.endOnTick?g=n:n>g&&tt.pop(),eu||(eu={x:0,y:0}),!gu&&tt.length>eu[uf]&&(eu[uf]=tt.length))}function yf(){var n,t;if(au=c,df=g,ue(),vf(),kf=ai,ai=ti/(g-c||1),!wt)for(n in kt)for(t in kt[n])kt[n][t].cum=kt[n][t].total;it.isDirty||(it.isDirty=c!==au||g!==df)}function pf(n){return n=new wu(n).render(),li.push(n),n}function wf(){var t,r,e=o.title,s=o.stackLabels,h=o.alternateGridColor,f=o.lineWidth,l=(t=ft.hasRendered)&&i(au)&&!isNaN(au),y,p;if(r=cr.length&&i(c)&&i(g),ti=a?fi:ri,ai=ti/(g-c||1),yu=a?vt:fr,r||yi){if(ff&&!ot)for(r=c+(tt[0]-c)%ff;g>=r;r+=ff)wi[r]||(wi[r]=new sf(r,!0)),l&&wi[r].isNew&&wi[r].render(null,!0),wi[r].isActive=!0,wi[r].render();n(tt,function(n,t){(!yi||n>=c&&g>=n)&&(l&&gt[n].isNew&&gt[n].render(t,!0),gt[n].isActive=!0,gt[n].render(t))});h&&n(tt,function(n,t){t%2==0&&g>n&&(di[n]||(di[n]=new wu),di[n].options={from:n,to:tt[t+1]!==k?tt[t+1]:g,color:h},di[n].render(),di[n].isActive=!0)});t||n((o.plotLines||[]).concat(o.plotBands||[]),function(n){li.push(new wu(n).render())})}if(n([gt,wi,di],function(n){for(var t in n)n[t].isActive?n[t].isActive=!1:(n[t].destroy(),delete n[t])}),f&&(t=vt+(ui?fi:0)+vi,r=ir-fr-(ui?ri:0)+vi,t=bt.crispLine([d,a?vt:t,a?r:yt,v,a?bi-gr:t,a?r:ir-fr],f),ru?ru.animate({d:t}):ru=bt.path(t).attr({stroke:o.lineColor,"stroke-width":f,zIndex:7}).add()),ii&&(t=a?vt:yt,f=u(e.style.fontSize||12),t={low:t+(a?0:ti),middle:t+ti/2,high:t+(a?ti:0)}[e.align],f=(a?yt+ri:vt)+(a?1:-1)*(ui?-1:1)*cf+(2===si?f:0),ii[ii.isNew?"attr":"animate"]({x:a?t:f+(ui?fi:0)+vi+(e.x||0),y:a?f-(ui?ri:0)+vi:t+(e.y||0)}),ii.isNew=!1),s&&s.enabled){s=it.stackTotalGroup;s||(it.stackTotalGroup=s=bt.g("stack-labels").attr({visibility:pt,zIndex:6}).translate(vt,yt).add());for(y in kt){e=kt[y];for(p in e)e[p].render(s)}}it.isDirty=!1}function bf(n){for(var t=li.length;t--;)li[t].id===n&&li[t].destroy()}var ii,ti,ai,kf,tr,rr,ur,bu,ru,lt,dt,cr,uu,fu,au,df,ne,te,du,wt=f.isX,ui=f.opposite,a=ni?!wt:wt,si=a?ui?0:2:ui?1:3,kt={},o=s(wt?ar:tu,[rf,tf,ku,nf][si],f),it=this,vu=o.type,gu="datetime"===vu,lr="logarithmic"===vu,vi=o.offset||0,uf=wt?"x":"y",yu=a?vt:fr,g=null,c=null,ie=o.minPadding,re=o.maxPadding,yi=i(o.linkedTo);vu=o.events;var hf,rt,ff,hi,tt,kr,dr,cf,ef,li=[],gt={},wi={},di={},ot=o.categories,fe=o.labels.formatter||function(){var n=this.value;return ef?er(ef,n):rt%1e6==0?n/1e6+"M":rt%1e3==0?n/1e3+"k":!ot&&n>=1e3?iu(n,0):n},of=a&&o.labels.staggerLines,gi=o.reversed,nr=ot&&"between"===o.tickmarkPlacement?.5:0;sf.prototype={addLabel:function(){var n=this.pos,u=o.labels,y=!(n===c&&!t(o.showFirstLabel,1)||n===g&&!t(o.showLastLabel,0)),f=ot&&a&&ot.length&&!u.step&&!u.staggerLines&&!u.rotation&&fi/ot.length||!a&&fi/2,v=ot&&i(ot[n])?ot[n]:n,s=this.label;n=fe.call({isFirst:n===tt[0],isLast:n===tt[tt.length-1],dateTimeLabelFormat:ef,value:lr?h.pow(10,v):v});f=f&&{width:l(1,r(f-2*(u.padding||10)))+w};f=e(f,u.style);s===k?this.label=i(n)&&y&&u.enabled?bt.text(n,0,0,u.useHTML).attr({align:u.align,rotation:u.rotation}).css(f).add(ur):null:s&&s.attr({text:n}).css(f)},getLabelSize:function(){var n=this.label;return n?(this.labelBBox=n.getBBox())[a?"height":"width"]:0},render:function(n,t){var s,r=!this.minor,l=this.label,h=this.pos,y=o.labels,e=this.gridLine,p=r?o.gridLineWidth:o.minorGridLineWidth,tt=r?o.gridLineColor:o.minorGridLineColor,g=r?o.gridLineDashStyle:o.minorGridLineDashStyle,nt=this.mark,c=r?o.tickLength:o.minorTickLength,w=r?o.tickWidth:o.minorTickWidth||0,it=r?o.tickColor:o.minorTickColor,rt=r?o.tickPosition:o.minorTickPosition,b=y.step,f=t&&gf||ir;s=a?tr(h+nr,null,null,t)+yu:vt+vi+(ui?(t&&se||bi)-gr-vt:0);f=a?f-fr+vi-(ui?ri:0):f-tr(h+nr,null,null,t)-yu;p&&(h=rr(h+nr,p,t),e===k&&(e={stroke:tt,"stroke-width":p},g&&(e.dashstyle=g),r&&(e.zIndex=1),this.gridLine=e=p?bt.path(h).attr(e).add(bu):null),!t&&e&&h&&e.animate({d:h}));w&&("inside"===rt&&(c=-c),ui&&(c=-c),r=bt.crispLine([d,s,f,v,s+(a?0:-c),f+(a?c:0)],w),nt?nt.animate({d:r}):this.mark=bt.path(r).attr({stroke:it,"stroke-width":w}).add(ur));l&&!isNaN(s)&&(s=s+y.x-(nr&&a?nr*ai*(gi?-1:1):0),f=f+y.y-(nr&&!a?nr*ai*(gi?1:-1):0),i(y.y)||(f+=.9*u(l.styles.lineHeight)-l.getBBox().height/2),of&&(f+=n/(b||1)%of*16),b&&l[n%b?"hide":"show"](),l[this.isNew?"attr":"animate"]({x:s,y:f}));this.isNew=!1},destroy:function(){pi(this)}};wu.prototype={render:function(){var r,b,o,v=this,u=v.options,f=u.label,y=v.label,nt=u.width,p=u.to,w=u.from,tt=u.value,k=u.dashStyle,e=v.svgElem,n=[],it=u.color,d;if(o=u.zIndex,d=u.events,lr&&(w=ei(w),p=ei(p),tt=ei(tt)),nt)n=rr(tt,nt),u={stroke:it,"stroke-width":nt},k&&(u.dashstyle=k);else{if(!i(w)||!i(p))return;w=l(w,c);p=ht(p,g);r=rr(p);(n=rr(w))&&r?n.push(r[4],r[5],r[1],r[2]):n=null;u={fill:it}}if(i(o)&&(u.zIndex=o),e)n?e.animate({d:n},null,e.onGetPath):(e.hide(),e.onGetPath=function(){e.show()});else if(n&&n.length&&(v.svgElem=e=bt.path(n).attr(u).add(),d)){k=function(n){e.on(n,function(t){d[n].apply(v,[t])})};for(b in d)k(b)}return f&&i(f.text)&&n&&n.length&&fi>0&&ri>0?(f=s({align:a&&r&&"center",x:a?!r&&4:10,verticalAlign:!a&&r&&"middle",y:a?r?16:10:r?6:-4,rotation:a&&!r&&90},f),y||(v.label=y=bt.text(f.text,0,0).attr({align:f.textAlign||f.align,rotation:f.rotation,zIndex:o}).css(f.style).add()),r=[n[1],n[4],t(n[6],n[1])],n=[n[2],n[5],t(n[7],n[2])],b=ht.apply(h,r),o=ht.apply(h,n),y.align(f,!1,{x:b,y:o,width:l.apply(h,r)-b,height:l.apply(h,n)-o}),y.show()):y&&y.hide(),v},destroy:function(){pi(this);oi(li,this)}};lf.prototype={destroy:function(){pi(this)},setTotal:function(n){this.cum=this.total=n},render:function(n){var t=this.options.formatter.call(this);this.label?this.label.attr({text:t,visibility:et}):this.label=ft.renderer.text(t,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:et}).add(n)},setOffset:function(n,t){var u=this.isNegative,r=it.translate(this.total),i=it.translate(0),e,f;i=nt(r-i);e=ft.xAxis[0].translate(this.x)+n;f=ft.plotHeight;u={x:ni?u?r:r-i:e,y:ni?f-e-t:u?f-r-i:f-r,width:ni?i:t,height:ni?t:i};this.label&&this.label.align(this.alignOptions,null,u).attr({visibility:pt})}};tr=function(n,t,i,r,u){var f=1,o=0,e=r?kf:ai;return r=r?au:c,e||(e=ai),i&&(f*=-1,o=ti),gi&&(f*=-1,o-=f*ti),t?(gi&&(n=ti-n),n=n/e+r,lr&&u&&(n=h.pow(10,n))):(lr&&u&&(n=ei(n)),n=f*(n-r)*e+o),n};rr=function(n,t,i){var u,e,o,f,s,h;return n=tr(n,null,null,i),s=i&&gf||ir,h=i&&se||bi,i=e=r(n+yu),u=o=r(s-n-yu),isNaN(n)?f=!0:a?(u=yt,o=s-fr,(vt>i||i>vt+fi)&&(f=!0)):(i=vt,e=h-gr,(yt>u||u>yt+ri)&&(f=!0)),f?null:bt.crispLine([d,i,u,v,e,o],t||0)};ni&&wt&&gi===k&&(gi=!0);e(it,{addPlotBand:pf,addPlotLine:pf,adjustTickAmount:function(){if(eu&&!gu&&!ot&&!yi){var n=kr,t=tt.length;if(kr=eu[uf],kr>t){for(;tt.length<kr;)tt.push(nu(tt[tt.length-1]+rt));ai*=(t-1)/(kr-1);g=tt[tt.length-1]}i(n)&&kr!==n&&(it.isDirty=!0)}},categories:ot,getExtremes:function(){return{min:c,max:g,dataMin:lt,dataMax:dt,userMin:uu,userMax:fu}},getPlotLinePath:rr,getThreshold:function(n){return c>n?n=c:n>g&&(n=g),tr(n,0,1)},isXAxis:wt,options:o,plotLinesAndBands:li,getOffset:function(){var u,h=cr.length&&i(c)&&i(g),e=0,s=0,r=o.title,v=o.labels,f=[-1,1,1,-1][si];if(ur||(ur=bt.g("axis").attr({zIndex:7}).add(),bu=bt.g("grid").attr({zIndex:1}).add()),dr=0,h||yi)n(tt,function(n){gt[n]?gt[n].addLabel():gt[n]=new sf(n);(0===si||2===si||{"1":"left","3":"right"}[si]===v.align)&&(dr=l(gt[n].getLabelSize(),dr))}),of&&(dr+=16*(of-1));else for(u in gt)gt[u].destroy(),delete gt[u];r&&r.text&&(ii||(ii=it.axisTitle=bt.text(r.text,0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:r.textAlign||{low:"left",middle:"center",high:"right"}[r.align]}).css(r.style).add(),ii.isNew=!0),e=ii.getBBox()[a?"height":"width"],s=t(r.margin,a?5:10));vi=f*(o.offset||ou[si]);cf=dr+(2!==si&&dr&&f*o.labels[a?"y":"x"])+s;ou[si]=l(ou[si],cf+e+f*vi)},render:wf,setCategories:function(i,r){it.categories=f.categories=ot=i;n(cr,function(n){n.translate();n.setTooltipPoints(!0)});it.isDirty=!0;t(r,!0)&&ft.redraw()},setExtremes:function(n,i,r,u){r=t(r,!0);p(it,"setExtremes",{min:n,max:i},function(){uu=n;fu=i;r&&ft.redraw(u)})},setScale:yf,setTickPositions:vf,translate:tr,redraw:function(){pu.resetTracker&&pu.resetTracker();wf();n(li,function(n){n.render()});n(cr,function(n){n.isDirty=!0})},removePlotBand:bf,removePlotLine:bf,reversed:gi,stacks:kt,destroy:function(){var t;st(it);for(t in kt)pi(kt[t]),kt[t]=null;it.stackTotalGroup&&(it.stackTotalGroup=it.stackTotalGroup.destroy());n([gt,wi,di,li],function(n){pi(n)});n([ru,ur,bu,ii],function(n){n&&n.destroy()});ru=ur=bu=ii=null}});for(hf in vu)y(it,hf,vu[hf]);yf()}function vo(){var n={};return{add:function(t,i,r,u){n[t]||(i=bt.text(i,0,0).css(f.toolbar.itemStyle).align({align:"right",x:-gr-20,y:yt+30}).on("click",u).attr({align:"right",zIndex:20}).add(),n[t]=i)},remove:function(t){hi(n[t].element);n[t]=null}}}function yo(t){function it(){var f=this.points||yi(this),t=f[0].series.xAxis,i=this.x,r,u;return t=t&&"datetime"===t.options.type,u=ti(i)||t,r=u?['<span style="font-size: 10px">'+(t?er("%A, %b %e, %Y",i):i)+"<\/span>"]:[],n(f,function(n){r.push(n.point.tooltipFormatter(u))}),r.join("<br/>")}function d(n,t){a=o?n:(2*a+n)/3;v=o?t:(v+t)/2;f.translate(a,v);ve=nt(n-a)>1||nt(t-v)>1?function(){d(n,t)}:null}function g(){if(!o){var t=ft.hoverPoints;f.hide();n(s,function(n){n&&n.hide()});t&&n(t,function(n){n.setState()});ft.hoverPoints=null;o=!0}}var tt,p,w,b=t.borderWidth,i=t.crosshairs,s=[],l=t.style,h=t.shared,c=u(l.padding),e=b+c,o=!0,a=0,v=0;l.padding=0;var f=bt.g("tooltip").attr({zIndex:8}).add(),k=bt.rect(e,e,0,0,t.borderRadius,b).attr({fill:t.backgroundColor,"stroke-width":b}).add(f).shadow(t.shadow),y=bt.text("",c+e,u(l.fontSize)+c+e,t.useHTML).attr({zIndex:1}).css(l).add(f);return f.hide(),{shared:h,refresh:function(u){var l,a,v,nt=0,b={},rt=[];if(v=u.tooltipPos,l=t.formatter||it,b=ft.hoverPoints,h?(b&&n(b,function(n){n.setState()}),ft.hoverPoints=u,n(u,function(n){n.setState(wt);nt+=n.plotY;rt.push(n.getLabelConfig())}),a=u[0].plotX,nt=r(nt)/u.length,b={x:u[0].category},b.points=rt,u=u[0]):b=u.getLabelConfig(),b=l.call(b),tt=u.series,a=h?a:u.plotX,nt=h?nt:u.plotY,l=r(v?v[0]:ni?fi-nt:a),a=r(v?v[1]:ni?ri-a:nt),v=h||!u.series.isCartesian||uf(l,a),b!==!1&&v?(o&&(f.show(),o=!1),y.attr({text:b}),v=y.getBBox(),p=v.width+2*c,w=v.height+2*c,k.attr({width:p,height:w,stroke:t.borderColor||u.color||tt.color||"#606060"}),l=du(p,w,vt,yt,fi,ri,{x:l,y:a}),d(r(l.x-e),r(l.y-e))):g(),i)for(i=yi(i),l=i.length;l--;)a=u.series[l?"yAxis":"xAxis"],i[l]&&a&&(a=a.getPlotLinePath(u[l?"y":"x"],1),s[l]?s[l].attr({d:a,visibility:pt}):(v={"stroke-width":i[l].width||1,stroke:i[l].color||"#C0C0C0",zIndex:2},i[l].dashStyle&&(v.dashstyle=i[l].dashStyle),s[l]=bt.path(a).attr(v).add()))},hide:g,destroy:function(){n(s,function(n){n&&n.destroy()});n([k,y,f],function(n){n&&n.destroy()});k=y=f=null}}}function po(t){function b(n){var t,u,f,i,s=vu&&o.width/o.body.scrollWidth-1;return n=n||g.event,n.target||(n.target=n.srcElement),t=n.touches?n.touches.item(0):n,("mousemove"!==n.type||g.opera||s)&&(nu=ru(kt),u=nu.left,f=nu.top),cr?(i=n.x,t=n.y):t.layerX===k?(i=t.pageX-u,t=t.pageY-f):(i=n.layerX,t=n.layerY),s&&(i+=r((s+1)*u-u),t+=r((s+1)*f-f)),e(n,{chartX:i,chartY:t})}function et(t){var i={xAxis:[],yAxis:[]};return n(vi,function(n){var u=n.translate,r=n.isXAxis;i[r?"xAxis":"yAxis"].push({axis:n,value:u((ni?!r:r)?t.chartX-vt:ri-t.chartY+yt,!0)})}),i}function w(){var n=ft.hoverSeries,t=ft.hoverPoint;t&&t.onMouseOut();n&&n.onMouseOut();ff&&ff.hide();ye=null}function d(){if(u){var i={xAxis:[],yAxis:[]},t=u.getBBox(),r=t.x-vt,e=t.y-yt;f&&(n(vi,function(n){var u=n.translate,f=n.isXAxis,o=ni?!f:f,s=u(o?r:ri-e-t.height,!0,0,0,1);u=u(o?r+t.width:ri-e,!0,0,0,1);i[f?"xAxis":"yAxis"].push({axis:n,min:ht(s,u),max:l(s,u)})}),p(ft,"selection",i,de));u=u.destroy()}ft.mouseIsDown=le=f=!1;st(o,dt?"touchend":"mouseup",d)}function tt(n){var t=i(n.pageX)?n.pageX:n.page.x;n=i(n.pageX)?n.pageY:n.page.y;nu&&!uf(t-nu.left-vt,n-nu.top-yt)&&w()}var s,h,f,u,it=at.zoomType,a=/x/.test(it),v=/y/.test(it),rt=a&&!ni||v&&ni,ut=v&&!ni||a&&ni;ne=function(){pf?(pf.translate(vt,yt),ni&&pf.attr({width:ft.plotWidth,height:ft.plotHeight}).invert()):ft.trackerGroup=pf=bt.g("tracker").attr({zIndex:9}).add()};ne();t.enabled&&(ft.tooltip=ff=yo(t)),function(){kt.onmousedown=function(n){n=b(n);!dt&&n.preventDefault&&n.preventDefault();ft.mouseIsDown=le=!0;s=n.chartX;h=n.chartY;y(o,dt?"touchend":"mouseup",d)};var n=function(n){var e,o,l,p,w;if(!(n&&n.touches&&n.touches.length>1)){n=b(n);dt||(n.returnValue=!1);var i=n.chartX,r=n.chartY,y=!uf(i-vt,r-yt);if(nu||(nu=ru(kt)),dt&&"touchstart"===n.type&&(c(n.target,"isTracker")?ft.runTrackerClick||n.preventDefault():!go&&!y&&n.preventDefault()),y&&(vt>i?i=vt:i>vt+fi&&(i=vt+fi),yt>r?r=yt:r>yt+ri&&(r=yt+ri)),le&&"touchstart"!==n.type)f=Math.sqrt(Math.pow(s-i,2)+Math.pow(h-r,2)),f>10&&(cf&&(a||v)&&uf(s-vt,h-yt)&&(u||(u=bt.rect(vt,yt,rt?1:fi,ut?1:ri,0).attr({fill:at.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add())),u&&rt&&(i-=s,u.attr({width:nt(i),x:(i>0?0:i)+s})),u&&ut&&(r-=h,u.attr({height:nt(r),y:(r>0?0:r)+h})));else if(!y){if(r=ft.hoverPoint,i=ft.hoverSeries,p=bi,w=ni?n.chartY:n.chartX-vt,ff&&t.shared){for(e=[],o=ci.length,l=0;o>l;l++)ci[l].visible&&ci[l].tooltipPoints.length&&(n=ci[l].tooltipPoints[w],n._dist=nt(w-n.plotX),p=ht(p,n._dist),e.push(n));for(o=e.length;o--;)e[o]._dist>p&&e.splice(o,1);e.length&&e[0].plotX!==ye&&(ff.refresh(e),ye=e[0].plotX)}i&&i.tracker&&(n=i.tooltipPoints[w])&&n!==r&&n.onMouseOver()}return y||!cf}};kt.onmousemove=n;y(kt,"mouseleave",w);y(o,"mousemove",tt);kt.ontouchstart=function(t){(a||v)&&kt.onmousedown(t);n(t)};kt.ontouchmove=n;kt.ontouchend=function(){f&&w()};kt.onclick=function(n){var t=ft.hoverPoint,i,r;(n=b(n),n.cancelBubble=!0,f)||(t&&c(n.target,"isTracker")?(i=t.plotX,r=t.plotY,e(t,{pageX:nu.left+vt+(ni?fi-r:i),pageY:nu.top+yt+(ni?ri-i:r)}),p(t.series,"click",e(n,{point:t})),t.firePointEvent("click",n)):(e(n,et(n)),uf(n.chartX-vt,n.chartY-yt)&&p(ft,"click",n)));f=!1}}();co=setInterval(function(){ve&&ve()},32);e(this,{zoomX:a,zoomY:v,resetTracker:w,destroy:function(){ft.trackerGroup&&(ft.trackerGroup=pf=ft.trackerGroup.destroy());st(o,"mousemove",tt);kt.onclick=kt.onmousedown=kt.onmousemove=kt.ontouchstart=kt.ontouchend=kt.ontouchmove=null}})}function uo(n){var t=n.type||at.type||at.defaultSeriesType,i=lt[t],r=ft.hasRendered;return r&&(ni&&"column"===t?i=lt.bar:ni||"bar"!==t||(i=lt.column)),t=new i,t.init(ft,n),!r&&t.inverted&&(ni=!0),t.isCartesian&&(cf=t.isCartesian),ci.push(t),t}function ue(){at.alignTicks!==!1&&n(vi,function(n){n.adjustTickAmount()});eu=null}function fe(t){var f,e=ft.isDirtyLegend,r=ft.isDirtyBox,o=ci.length,i=o,u=ft.clipRect;for(si(t,ft);i--;)if(t=ci[i],t.isDirty&&t.options.stacking){f=!0;break}if(f)for(i=o;i--;)t=ci[i],t.options.stacking&&(t.isDirty=!0);n(ci,function(n){n.isDirty&&(n.cleanData(),n.getSegments(),"point"===n.options.legendType&&(e=!0))});e&&wf.renderLegend&&(wf.renderLegend(),ft.isDirtyLegend=!1);cf&&(re||(eu=null,n(vi,function(n){n.setScale()})),ue(),bf(),n(vi,function(n){(n.isDirty||r)&&(n.redraw(),r=!0)}));r&&(pe(),ne(),u&&(nr(u),u.animate({width:ft.plotSizeX,height:ft.plotSizeY})));n(ci,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()});pu&&pu.resetTracker&&pu.resetTracker();p(ft,"redraw")}function wo(){var t,i=f.xAxis||{},r=f.yAxis||{};i=yi(i);n(i,function(n,t){n.index=t;n.isX=!0});r=yi(r);n(r,function(n,t){n.index=t});vi=i.concat(r);ft.xAxis=[];ft.yAxis=[];vi=ai(vi,function(n){return t=new ao(n),ft[t.isXAxis?"xAxis":"yAxis"].push(t),t});ue()}function fo(t,i){of=s(f.title,t);af=s(f.subtitle,i);n([["title",t,of],["subtitle",i,af]],function(n){var i=n[0],t=ft[i],r=n[1];n=n[2];t&&r&&(t=t.destroy());n&&n.text&&!t&&(ft[i]=bt.text(n.text,0,0,n.useHTML).attr({align:n.align,"class":"highcharts-"+i,zIndex:1}).css(n.style).add().align(n,!1,lf))})}function bo(){rr=at.renderTo;so=li+kr++;ti(rr)&&(rr=o.getElementById(rr));rr.innerHTML="";rr.offsetWidth||(au=rr.cloneNode(0),a(au,{position:ui,top:"-9999px",display:""}),o.body.appendChild(au));df=(au||rr).offsetWidth;vf=(au||rr).offsetHeight;ft.chartWidth=bi=at.width||df||600;ft.chartHeight=ir=at.height||(vf>19?vf:400);ft.container=kt=tt(ii,{className:"highcharts-container"+(at.className?" "+at.className:""),id:so},e({position:wu,overflow:et,width:bi+w,height:ir+w,textAlign:"left"},at.style),au||rr);ft.renderer=bt=at.forExport?new tr(kt,bi,ir,!0):new ur(kt,bi,ir);var t,n;yu&&kt.getBoundingClientRect&&(t=function(){a(kt,{left:0,top:0});n=kt.getBoundingClientRect();a(kt,{left:-(n.left-u(n.left))+w,top:-(n.top-u(n.top))+w})},t(),y(g,"resize",t),y(ft,"destroy",function(){st(g,"resize",t)}))}function ko(){function n(){var n=at.width||rr.offsetWidth,i=at.height||rr.offsetHeight;n&&i&&((n!==df||i!==vf)&&(clearTimeout(t),t=setTimeout(function(){ke(n,i,!1)},100)),df=n,vf=i)}var t;y(g,"resize",n);y(ft,"destroy",function(){st(g,"resize",n)})}function eo(){p(ft,"endResize",null,function(){re-=1})}function oo(){var i,r=f.labels,t=f.credits;fo();wf=ft.legend=new ns;bf();n(vi,function(n){n.setTickPositions(!0)});ue();bf();pe();cf&&n(vi,function(n){n.render()});ft.seriesGroup||(ft.seriesGroup=bt.g("series-group").attr({zIndex:3}).add());n(ci,function(n){n.translate();n.setTooltipPoints();n.render()});r.items&&n(r.items,function(){var n=e(r.style,this.style),t=u(n.left)+vt,i=u(n.top)+yt+12;delete n.left;delete n.top;bt.text(this.html,t,i).attr({zIndex:2}).css(n).add()});ft.toolbar||(ft.toolbar=vo());t.enabled&&!ft.credits&&(i=t.href,ft.credits=bt.text(t.text,0,0).on("click",function(){i&&(location.href=i)}).attr({align:t.position.align,zIndex:8}).css(t.style).add().align(t.position));ne();ft.hasRendered=!0;au&&(rr.appendChild(kt),hi(au))}function ee(){var t,i=kt&&kt.parentNode;if(null!==ft){for(p(ft,"destroy"),st(g,"unload",ee),st(ft),t=vi.length;t--;)vi[t]=vi[t].destroy();for(t=ci.length;t--;)ci[t]=ci[t].destroy();n(["title","subtitle","seriesGroup","clipRect","credits","tracker"],function(n){var t=ft[n];t&&(ft[n]=t.destroy())});n([sf,hf,yf,wf,ff,bt,pu],function(n){n&&n.destroy&&n.destroy()});sf=hf=yf=wf=ff=bt=pu=null;kt&&(kt.innerHTML="",st(kt),i&&hi(kt),kt=null);clearInterval(co);for(t in ft)delete ft[t];ft=null}}function oe(){gi||g!=g.top||"complete"===o.readyState?(bo(),we(),be(),n(f.series||[],function(n){uo(n)}),ft.inverted=ni=t(ni,f.chart.inverted),wo(),ft.render=oo,ft.tracker=pu=new po(f.tooltip),oo(),p(ft,"load"),rt&&rt.apply(ft,[ft]),n(ft.callbacks,function(n){n.apply(ft,[ft])})):o.attachEvent("onreadystatechange",function(){o.detachEvent("onreadystatechange",oe);"complete"===o.readyState&&oe()})}var at,di;ar=s(ar,b.xAxis);tu=s(tu,b.yAxis);b.xAxis=b.yAxis=null;f=s(b,f);at=f.chart;di=at.margin;di=gt(di)?di:[di,di,di,di];var lf,of,af,yt,gr,fr,vt,ou,rr,au,kt,so,df,vf,bi,ir,se,gf,sf,yf,he,hf,ce,uf,ff,le,ef,ho,ae,ri,fi,pu,pf,ne,wf,bu,gu,nu,eu,ni,bt,ve,co,ye,pe,bf,we,be,ke,de,lo,te=t(at.marginTop,di[0]),ge=t(at.marginRight,di[1]),no=t(at.marginBottom,di[2]),to=t(at.marginLeft,di[3]),kf=at.spacingTop,io=at.spacingRight,ro=at.spacingBottom,ie=at.spacingLeft,ft=this,go=(di=at.events)&&!!di.click,cf=at.showAxes,re=0,vi=[],ci=[],ns=function(){function lt(n,i){var u=n.legendItem,f=n.legendLine,e=n.legendSymbol,r=st.color,o=i?t.itemStyle.color:r,s=i?n.color:r;r=i?n.pointAttr[it]:{stroke:r,fill:r};u&&u.css({fill:o});f&&f.attr({stroke:s});e&&e.attr(r)}function gt(n,t,i){var u=n.legendItem,f=n.legendLine,r=n.legendSymbol;n=n.checkbox;u&&u.attr({x:t,y:i});f&&f.translate(t,i-4);r&&r.attr({x:t+r.xOff,y:i+r.yOff});n&&(n.x=t,n.y=i)}function at(){n(f,function(n){var t=n.checkbox,r=i.alignAttr;t&&a(t,{left:r.translateX+n.legendItemWidth+t.x-40+w,top:r.translateY+t.y-11+w})})}function ni(n){var u,f,w,e,a=n.legendItem,r,nt,it;e=n.series||n;r=e.options;nt=r&&r.borderWidth||0;a||((e=/^(bar|pie|area|column)$/.test(e.type),n.legendItem=a=bt.text(t.labelFormatter.call(n),0,0).css(n.visible?yt:st).on("mouseover",function(){n.setState(wt);a.css(ti)}).on("mouseout",function(){a.css(n.visible?yt:st);n.setState()}).on("click",function(){var t=function(){n.setVisible()};n.firePointEvent?n.firePointEvent("legendItemClick",null,t):p(n,"legendItemClick",null,t)}).attr({zIndex:2}).add(i),!e&&r&&r.lineWidth)&&(it={"stroke-width":r.lineWidth,zIndex:2},r.dashStyle&&(it.dashstyle=r.dashStyle),n.legendLine=bt.path([d,-s-h,0,v,-h,0]).attr(it).add(i)),e?u=bt.rect(f=-s-h,w=-11,s,12,2).attr({zIndex:3}).add(i):r&&r.marker&&r.marker.enabled&&(u=bt.symbol(n.symbol,f=-s/2-h,w=-4,r.marker.radius).attr({zIndex:3}).add(i)),u&&(u.xOff=f+nt%2/2,u.yOff=w+nt%2/2),n.legendSymbol=u,lt(n,n.visible),r&&r.showCheckbox&&(n.checkbox=tt("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},t.itemCheckboxStyle,kt),y(n.checkbox,"click",function(t){p(n,"checkboxClick",{checked:t.target.checked},function(){n.select()})})));u=a.getBBox();f=n.legendItemWidth=t.itemWidth||s+h+u.width+b;rt=u.height;et&&o-k+f>(ct||bi-2*b-k)&&(o=k,c+=rt);ut=c;gt(n,o,c);et?o+=f:c+=rt;g=ct||l(et?o-k:f,g)}function vt(){o=k;c=pt;ut=g=0;i||(i=bt.g("legend").attr({zIndex:7}).add());f=[];n(ii,function(n){var t=n.options;t.showInLegend&&(f=f.concat("point"===t.legendType?n.data:n))});fu(f,function(n,t){return(n.options.legendIndex||0)-(t.options.legendIndex||0)});ri&&f.reverse();n(f,ni);bu=ct||g;gu=ut-pt+rt;(ht||dt)&&(bu+=2*b,gu+=2*b,r?bu>0&&gu>0&&(r[r.isNew?"attr":"animate"](r.crisp(null,null,null,bu,gu)),r.isNew=!1):(r=bt.rect(0,0,bu,gu,t.borderRadius,ht||0).attr({stroke:t.borderColor,"stroke-width":ht||0,fill:dt||ot}).add(i).shadow(t.shadow),r.isNew=!0),r[f.length?"show":"hide"]());for(var s,l=["left","right","top","bottom"],h=4;h--;)s=l[h],nt[s]&&"auto"!==nt[s]&&(t[2>h?"align":"verticalAlign"]=s,t[2>h?"x":"y"]=u(nt[s])*(h%2?-1:1));f.length&&i.align(e(t,{width:bu,height:gu}),!0,lf);re||at()}var t=ft.options.legend;if(t.enabled){var f,o,c,ut,r,i,g,et="horizontal"===t.layout,s=t.symbolWidth,h=t.symbolPadding,nt=t.style,yt=t.itemStyle,ti=t.itemHoverStyle,st=t.itemHiddenStyle,b=u(nt.padding),pt=18,k=4+b+s+h,rt=0,ht=t.borderWidth,dt=t.backgroundColor,ct=t.width,ii=ft.series,ri=t.reversed;return vt(),y(ft,"endResize",at),{colorizeItem:lt,destroyItem:function(t){var i=t.checkbox;n(["legendItem","legendLine","legendSymbol"],function(n){t[n]&&t[n].destroy()});i&&hi(t.checkbox)},renderLegend:vt,destroy:function(){r&&(r=r.destroy());i&&(i=i.destroy())}}}};if(uf=function(n,t){return n>=0&&fi>=n&&t>=0&&ri>=t},lo=function(){p(ft,"selection",{resetSelection:!0},de);ft.toolbar.remove("zoom")},de=function(t){var i=b.lang,r=ft.pointCount<100;ft.toolbar.add("zoom",i.resetZoom,i.resetZoomTitle,lo);!t||t.resetSelection?n(vi,function(n){n.setExtremes(null,null,!1,r)}):n(t.xAxis.concat(t.yAxis),function(n){var t=n.axis;ft.tracker[t.isXAxis?"zoomX":"zoomY"]&&t.setExtremes(n.min,n.max,!1,r)});fe()},bf=function(){var e,r=f.legend,u=t(r.margin,10),o=r.x,s=r.y,h=r.align,c=r.verticalAlign;we();!ft.title&&!ft.subtitle||i(te)||(e=l(ft.title&&!of.floating&&!of.verticalAlign&&of.y||0,ft.subtitle&&!af.floating&&!af.verticalAlign&&af.y||0))&&(yt=l(yt,e+t(of.margin,15)+kf));r.enabled&&!r.floating&&("right"===h?i(ge)||(gr=l(gr,bu-o+u+io)):"left"===h?i(to)||(vt=l(vt,bu+o+u+ie)):"top"===c?i(te)||(yt=l(yt,gu+s+u+kf)):"bottom"===c&&(i(no)||(fr=l(fr,gu-s+u+ro))));cf&&n(vi,function(n){n.getOffset()});i(to)||(vt+=ou[3]);i(te)||(yt+=ou[0]);i(no)||(fr+=ou[2]);i(ge)||(gr+=ou[1]);be()},ke=function(t,i,u){var f=ft.title,e=ft.subtitle;re+=1;si(u,ft);gf=ir;se=bi;ft.chartWidth=bi=r(t);ft.chartHeight=ir=r(i);a(kt,{width:bi+w,height:ir+w});bt.setSize(bi,ir,u);fi=bi-vt-gr;ri=ir-yt-fr;eu=null;n(vi,function(n){n.isDirty=!0;n.setScale()});n(ci,function(n){n.isDirty=!0});ft.isDirtyLegend=!0;ft.isDirtyBox=!0;bf();f&&f.align(null,null,lf);e&&e.align(null,null,lf);fe(u);gf=null;p(ft,"resize");wi===!1?eo():setTimeout(eo,wi&&wi.duration||500)},be=function(){ft.plotLeft=vt=r(vt);ft.plotTop=yt=r(yt);ft.plotWidth=fi=r(bi-vt-gr);ft.plotHeight=ri=r(ir-yt-fr);ft.plotSizeX=ni?ri:fi;ft.plotSizeY=ni?fi:ri;lf={x:ie,y:kf,width:bi-ie-io,height:ir-kf-ro}},we=function(){yt=t(te,kf);gr=t(ge,io);fr=t(no,ro);vt=t(to,ie);ou=[0,0,0,0]},pe=function(){var n,t=at.borderWidth||0,i=at.backgroundColor,r=at.plotBackgroundColor,u=at.plotBackgroundImage,f={x:vt,y:yt,width:fi,height:ri};n=t+(at.shadow?8:0);(t||i)&&(sf?sf.animate(sf.crisp(null,null,null,bi-n,ir-n)):sf=bt.rect(n/2,n/2,bi-n,ir-n,at.borderRadius,t).attr({stroke:at.borderColor,"stroke-width":t,fill:i||ot}).add().shadow(at.shadow));r&&(yf?yf.animate(f):yf=bt.rect(vt,yt,fi,ri,0).attr({fill:r}).add().shadow(at.plotShadow));u&&(he?he.animate(f):he=bt.image(u,vt,yt,fi,ri).add());at.plotBorderWidth&&(hf?hf.animate(hf.crisp(null,vt,yt,fi,ri)):hf=bt.rect(vt,yt,fi,ri,0,at.plotBorderWidth).attr({stroke:at.plotBorderColor,"stroke-width":at.plotBorderWidth,zIndex:4}).add());ft.isDirtyBox=!1},y(g,"unload",ee),at.reflow!==!1&&y(ft,"load",ko),di)for(ce in di)y(ft,ce,di[ce]);ft.options=f;ft.series=ci;ft.addSeries=function(n,i,r){var u;return n&&(si(r,ft),i=t(i,!0),p(ft,"addSeries",{options:n},function(){u=uo(n);u.isDirty=!0;ft.isDirtyLegend=!0;i&&ft.redraw()})),u};ft.animation=t(at.animation,!0);ft.destroy=ee;ft.get=function(n){for(var i,r,t=0;t<vi.length;t++)if(vi[t].options.id===n)return vi[t];for(t=0;t<ci.length;t++)if(ci[t].options.id===n)return ci[t];for(t=0;t<ci.length;t++)for(r=ci[t].data,i=0;i<r.length;i++)if(r[i].id===n)return r[i];return null};ft.getSelectedPoints=function(){var t=[];return n(ci,function(n){t=t.concat(dr(n.data,function(n){return n.selected}))}),t};ft.getSelectedSeries=function(){return dr(ci,function(n){return n.selected})};ft.hideLoading=function(){lr(ef,{opacity:0},{duration:f.loading.hideDuration,complete:function(){a(ef,{display:ot})}});ae=!1};ft.isInsidePlot=uf;ft.redraw=fe;ft.setSize=ke;ft.setTitle=fo;ft.showLoading=function(n){var t=f.loading;ef||(ef=tt(ii,{className:"highcharts-loading"},e(t.style,{left:vt+w,top:yt+w,width:fi+w,height:ri+w,zIndex:10,display:ot}),kt),ho=tt("span",null,t.labelStyle,ef));ho.innerHTML=n||f.lang.loading;ae||(a(ef,{opacity:0,display:""}),lr(ef,{opacity:t.style.opacity},{duration:t.showDuration}),ae=!0)};ft.pointCount=0;ft.counters=new uu;oe()}var ur,fr,b,er,wi,bi,k,or,vr,yr,pr,ki,sr,hr,su,hu,wr,cu,lu,o=document,g=window,h=Math,r=h.round,ut=h.floor,br=h.ceil,l=h.max,ht=h.min,nt=h.abs,ft=h.cos,yt=h.sin,ri=h.PI,au=ri/180,ci=navigator.userAgent,cr=/msie/i.test(ci)&&!g.opera,di=8===o.documentMode,vu=/AppleWebKit/.test(ci),yu=/Firefox/.test(ci),gi=!!o.createElementNS&&!!o.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,gu=yu&&parseInt(ci.split("Firefox/")[1],10)<4,dt=void 0!==o.documentElement.ontouchstart,pu={},kr=0,ct=1,ii="div",ui="absolute",wu="relative",et="hidden",li="highcharts-",pt="visible",w="px",ot="none",d="M",v="L",bu="rgba(192,192,192,"+(gi?1e-6:.002)+")",it="",wt="hover",f=g.HighchartsAdapter,bt=f||{},n=bt.each,dr=bt.grep,ai=bt.map,s=bt.merge,y=bt.addEvent,st=bt.removeEvent,p=bt.fireEvent,lr=bt.animate,nr=bt.stop,lt={},kt,gr,nu,ni,tr,vi,rt,ir;(er=function(n,r,u){function f(n){return n.toString().replace(/^([0-9])$/,"0$1")}if(!i(r)||isNaN(r))return"Invalid date";n=t(n,"%Y-%m-%d %H:%M:%S");r=new Date(r*ct);var o,e=r[yr](),c=r[pr](),l=r[ki](),s=r[sr](),a=r[hr](),h=b.lang,v=h.weekdays;r={a:v[c].substr(0,3),A:v[c],d:f(l),e:l,b:h.shortMonths[s],B:h.months[s],m:f(s+1),y:a.toString().substr(2,2),Y:a,H:f(e),I:f(e%12||12),l:e%12||12,M:f(r[vr]()),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:f(r.getSeconds())};for(o in r)n=n.replace("%"+o,r[o]);return u?n.substr(0,1).toUpperCase()+n.substr(1):n},uu.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}},bi={init:function(n,t,i){var o,h,s;t=t||"";var r,u=n.shift,e=t.indexOf("C")>-1,f=e?7:3;if(t=t.split(" "),i=[].concat(i),s=function(n){for(r=n.length;r--;)n[r]===d&&n.splice(r+1,0,n[r+1],n[r+2],n[r+1],n[r+2])},e&&(s(t),s(i)),n.isArea&&(o=t.splice(t.length-6,6),h=i.splice(i.length-6,6)),u&&(i=[].concat(i).splice(0,f).concat(i),n.shift=!1),t.length)for(n=i.length;t.length<n;)u=[].concat(t).splice(t.length-f,f),e&&(u[f-6]=u[f-2],u[f-5]=u[f-1]),t=t.concat(u);return o&&(t=t.concat(o),i=i.concat(h)),[t,i]},step:function(n,t,i,r){var f=[],u=n.length;if(1===i)f=r;else if(u===t.length&&1>i)for(;u--;)r=parseFloat(n[u]),f[u]=isNaN(r)?n[u]:i*parseFloat(t[u]-r)+r;else f=t;return f}},f&&f.init&&f.init(bi),!f&&g.jQuery)&&(kt=jQuery,n=function(n,t){for(var i=0,r=n.length;r>i;i++)if(t.call(n[i],n[i],i,n)===!1)return i},dr=kt.grep,ai=function(n,t){for(var r=[],i=0,u=n.length;u>i;i++)r[i]=t.call(n[i],n[i],i,n);return r},s=function(){var n=arguments;return kt.extend(!0,null,n[0],n[1],n[2],n[3])},y=function(n,t,i){kt(n).bind(t,i)},st=function(n,t,i){var r=o.removeEventListener?"removeEventListener":"detachEvent";o[r]&&!n[r]&&(n[r]=function(){});kt(n).unbind(t,i)},p=function(n,t,i,r){var u=kt.Event(t),f="detached"+t;e(u,i);n[t]&&(n[f]=n[t],n[t]=null);kt(n).trigger(u);n[f]&&(n[t]=n[f],n[f]=null);r&&!u.isDefaultPrevented()&&r(u)},lr=function(n,t,i){var r=kt(n);t.d&&(n.toD=t.d,t.d=1);r.stop();r.animate(t,i)},nr=function(n){kt(n).stop()},kt.extend(kt.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}}),gr=jQuery.fx,nu=gr.step,n(["cur","_default","width","height"],function(n,t){var i,r=t?nu:gr.prototype,u=r[n];u&&(r[n]=function(n){return n=t?n:this,i=n.elem,i.attr?i.attr(n.prop,n.now):u.apply(this,arguments)})}),nu.d=function(n){var t=n.elem,i;n.started||(i=bi.init(t,t.d,t.toD),n.start=i[0],n.end=i[1],n.started=!0);t.attr("d",bi.step(n.start,n.end,n.pos,t.toD))});f={enabled:!0,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};b={colors:["#4572A7","#AA4643","#89A54E","#80699B","#3D96AE","#DB843D","#92A8CD","#A47D7C","#B5CA92"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","June","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0"},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:s(f,{enabled:!1,y:-6,formatter:function(){return this.y}}),showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:ui,color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,shadow:!1,style:{padding:"5px"},itemStyle:{cursor:"pointer",color:"#3E576F"},itemHoverStyle:{cursor:"pointer",color:"#000000"},itemHiddenStyle:{color:"#C0C0C0"},itemCheckboxStyle:{position:ui,width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{hideDuration:100,labelStyle:{fontWeight:"bold",position:wu,top:"1em"},showDuration:100,style:{position:ui,backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,shadow:!0,snap:dt?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},toolbar:{itemStyle:{color:"#4572A7",cursor:"pointer"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var ar={dateTimeLabelFormats:{second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:f,lineColor:"#C0D0E0",lineWidth:1,max:null,min:null,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},tu=s(ar,{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:f.style}}),nf={labels:{align:"right",x:-8,y:null},title:{rotation:270}},tf={labels:{align:"left",x:8,y:null},title:{rotation:90}},ku={labels:{align:"center",x:0,y:14},title:{rotation:0}},rf=s(ku,{labels:{y:-5}}),at=b.plotOptions;f=at.line;at.spline=s(f);at.scatter=s(f,{lineWidth:0,states:{hover:{lineWidth:0}}});at.area=s(f,{});at.areaspline=s(at.area);at.column=s(f,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,states:{hover:{brightness:.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{y:null,verticalAlign:null}});at.bar=s(at.column,{dataLabels:{align:"left",x:5,y:0}});at.pie=s(f,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}}});eu();ni=function(n){var i,t=[];return function(n){(i=/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(n))?t=[u(i[1]),u(i[2]),u(i[3]),parseFloat(i[4],10)]:(i=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))&&(t=[u(i[1],16),u(i[2],16),u(i[3],16),1])}(n),{get:function(i){return t&&!isNaN(t[0])?"rgb"===i?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===i?t[3]:"rgba("+t.join(",")+")":n},brighten:function(n){if(fi(n)&&0!==n)for(var i=0;3>i;i++)t[i]+=u(255*n),t[i]<0&&(t[i]=0),t[i]>255&&(t[i]=255);return this},setOpacity:function(n){return t[3]=n,this}}};rr.prototype={init:function(n,t){this.element=o.createElementNS("http://www.w3.org/2000/svg",t);this.renderer=n},animate:function(n,i,r){(i=t(i,wi,!0))?(i=s(i),r&&(i.complete=r),lr(this,n,i)):(this.attr(n),r&&r())},attr:function(n,t){var r,f,s,y,v,nt,h=this.element,p=h.nodeName,d=this.renderer,g=this.shadows,l=this.htmlNode,b=this,k;if(ti(n)&&i(t)&&(r=n,n={},n[r]=t),ti(n))r=n,"circle"===p?r={x:"cx",y:"cy"}[r]||r:"strokeWidth"===r&&(r="stroke-width"),b=c(h,r)||this[r]||0,"d"!==r&&"visibility"!==r&&(b=parseFloat(b));else for(r in n){if(v=!1,f=n[r],"d"===r)f&&f.join&&(f=f.join(" ")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0"),this.d=f;else if("x"===r&&"text"===p){for(s=0;s<h.childNodes.length;s++)y=h.childNodes[s],c(y,"x")===c(h,"x")&&c(y,"x",f);this.rotation&&c(h,"transform","rotate("+this.rotation+" "+f+" "+u(n.y||c(h,"y"))+")")}else if("fill"===r)f=d.color(f,h,r);else if("circle"!==p||"x"!==r&&"y"!==r)if("translateX"===r||"translateY"===r||"rotation"===r||"verticalAlign"===r)this[r]=f,this.updateTransform(),v=!0;else if("stroke"===r)f=d.color(f,h,r);else if("dashstyle"===r){if(r="stroke-dasharray",f=f&&f.toLowerCase(),"solid"===f)f=ot;else if(f){for(f=f.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(","),s=f.length;s--;)f[s]=u(f[s])*n["stroke-width"];f=f.join(",")}}else"isTracker"===r?this[r]=f:"width"===r?f=u(f):"align"===r?(r="text-anchor",f={left:"start",center:"middle",right:"end"}[f]):"title"===r&&(s=o.createElementNS("http://www.w3.org/2000/svg","title"),s.appendChild(o.createTextNode(f)),h.appendChild(s));else r={x:"cx",y:"cy"}[r]||r;if("strokeWidth"===r&&(r="stroke-width"),vu&&"stroke-width"===r&&0===f&&(f=1e-6),this.symbolName&&/^(x|y|r|start|end|innerR)/.test(r)&&(nt||(this.symbolAttr(n),nt=!0),v=!0),g&&/^(width|height|visibility|x|y|d)$/.test(r))for(s=g.length;s--;)c(g[s],r,f);if(("width"===r||"height"===r)&&"rect"===p&&0>f&&(f=0),"text"===r?(this.textStr=f,this.added&&d.buildText(this)):v||c(h,r,f),l&&("x"===r||"y"===r||"translateX"===r||"translateY"===r||"visibility"===r))for(s=l.length?l:[this],y=s.length,k=0;y>k;k++)l=s[k],v=l.getBBox(),l=l.htmlNode,a(l,e(this.styles,{left:v.x+(this.translateX||0)+w,top:v.y+(this.translateY||0)+w})),"visibility"===r&&a(l,{visibility:f})}return b},symbolAttr:function(i){var u=this;n(["x","y","r","start","end","width","height","innerR"],function(n){u[n]=t(i[n],u[n])});u.attr({d:u.renderer.symbols[u.symbolName](r(2*u.x)/2,r(2*u.y)/2,u.r,{start:u.start,end:u.end,width:u.width,height:u.height,innerR:u.innerR})})},clip:function(n){return this.attr("clip-path","url("+this.renderer.url+"#"+n.id+")")},crisp:function(n,t,i,r,u){var e,o,s={},f={};n=n||this.strokeWidth||0;o=n%2/2;f.x=ut(t||this.x||0)+o;f.y=ut(i||this.y||0)+o;f.width=ut((r||this.width||0)-2*o);f.height=ut((u||this.height||0)-2*o);f.strokeWidth=n;for(e in f)this[e]!==f[e]&&(this[e]=s[e]=f[e]);return s},css:function(n){var t=this.element,i,r,u;if(t=n&&n.width&&"text"===t.nodeName,r="",u=function(n,t){return"-"+t.toLowerCase()},n&&n.color&&(n.fill=n.color),this.styles=n=e(this.styles,n),cr&&!gi)t&&delete n.width,a(this.element,n);else{for(i in n)r+=i.replace(/([A-Z])/g,u)+":"+n[i]+";";this.attr({style:r})}return t&&this.added&&this.renderer.buildText(this),this},on:function(n,t){var i=t;return dt&&"click"===n&&(n="touchstart",i=function(n){n.preventDefault();t()}),this.element["on"+n]=i,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){return this.inverted=!0,this.updateTransform(),this},updateTransform:function(){var t=this.translateX||0,i=this.translateY||0,r=this.inverted,u=this.rotation,n=[];r&&(t+=this.attr("width"),i+=this.attr("height"));(t||i)&&n.push("translate("+t+","+i+")");r?n.push("rotate(90) scale(-1,1)"):u&&n.push("rotate("+u+" "+this.x+" "+this.y+")");n.length&&c(this.element,"transform",n.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(n,i,u){n?(this.alignOptions=n,this.alignByTranslate=i,u||this.renderer.alignedObjects.push(this)):(n=this.alignOptions,i=this.alignByTranslate);u=t(u,this.renderer);var e=n.align,o=n.verticalAlign,s=(u.x||0)+(n.x||0),h=(u.y||0)+(n.y||0),f={};return/^(right|center)$/.test(e)&&(s+=(u.width-(n.width||0))/{right:1,center:2}[e]),f[i?"translateX":"x"]=r(s),/^(bottom|middle)$/.test(o)&&(h+=(u.height-(n.height||0))/({bottom:1,middle:2}[o]||1)),f[i?"translateY":"y"]=r(h),this[this.placed?"animate":"attr"](f),this.placed=!0,this.alignAttr=f,this},getBBox:function(){var n,i,r,u=this.rotation,t=u*au;try{n=e({},this.element.getBBox())}catch(f){n={width:0,height:0}}return i=n.width,r=n.height,u&&(n.width=nt(r*yt(t))+nt(i*ft(t)),n.height=nt(r*ft(t))+nt(i*yt(t))),n},show:function(){return this.attr({visibility:pt})},hide:function(){return this.attr({visibility:et})},add:function(n){var r=this.renderer,t=n||r,o=t.element||r.box,s=o.childNodes,e=this.element,f=c(e,"zIndex");if(this.parentInverted=n&&n.inverted,void 0!==this.textStr&&r.buildText(this),n&&this.htmlNode&&(n.htmlNode||(n.htmlNode=[]),n.htmlNode.push(this)),f&&(t.handleZ=!0,f=u(f)),t.handleZ)for(t=0;t<s.length;t++)if(n=s[t],r=c(n,"zIndex"),n!==e&&(u(r)>f||!i(f)&&i(r)))return o.insertBefore(e,n),this;return o.appendChild(e),this.added=!0,this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var u,i,t=this,r=t.element||{},f=t.shadows;if(r.onclick=r.onmouseout=r.onmouseover=r.onmousemove=null,nr(t),t.clipPath&&(t.clipPath=t.clipPath.destroy()),t.stops){for(i=0;i<t.stops.length;i++)t.stops[i]=t.stops[i].destroy();t.stops=null}t.safeRemoveChild(r);f&&n(f,function(n){t.safeRemoveChild(n)});oi(t.renderer.alignedObjects,t);for(u in t)delete t[u];return null},empty:function(){for(var n=this.element,t=n.childNodes,i=t.length;i--;)n.removeChild(t[i])},shadow:function(n,t){var i,r,f=[],u=this.element,e=this.parentInverted?"(-1,-1)":"(1,1)";if(n){for(i=1;3>=i;i++)r=u.cloneNode(0),c(r,{isShadow:"true",stroke:"rgb(0, 0, 0)","stroke-opacity":.05*i,"stroke-width":7-2*i,transform:"translate"+e,fill:ot}),t?t.element.appendChild(r):u.parentNode.insertBefore(r,u),f.push(r);this.shadows=f}return this}};tr=function(){this.init.apply(this,arguments)};tr.prototype={Element:rr,init:function(n,t,i,r){var u,f=location;u=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg",version:"1.1"});n.appendChild(u.element);this.box=u.element;this.boxWrapper=u;this.alignedObjects=[];this.url=cr?"":f.href.replace(/#.*?$/,"");this.defs=this.createElement("defs").add();this.forExport=r;this.gradients=[];this.setSize(t,i,!1)},destroy:function(){var n,t=this.gradients,i=this.defs;if(this.box=null,this.boxWrapper=this.boxWrapper.destroy(),t){for(n=0;n<t.length;n++)this.gradients[n]=t[n].destroy();this.gradients=null}return i&&(this.defs=i.destroy()),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},buildText:function(i){for(var v,r=i.element,d=t(i.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(/<br.*?>/g),l=r.childNodes,p=/style="([^"]+)"/,w=/href="([^"]+)"/,b=c(r,"x"),f=i.styles,nt=f&&i.useHTML&&!this.forExport,y=i.htmlNode,s=f&&u(f.width),k=f&&f.lineHeight,h=l.length;h--;)r.removeChild(l[h]);if(s&&!i.added&&this.box.appendChild(r),n(d,function(t,f){var h,e,l=0;t=t.replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");h=t.split("|||");n(h,function(n){var y,t,nt,d;if((""!==n||1===h.length)&&(y={},t=o.createElementNS("http://www.w3.org/2000/svg","tspan"),p.test(n)&&c(t,"style",n.match(p)[1].replace(/(;| |^)color([ :])/,"$1fill$2")),w.test(n)&&(c(t,"onclick",'location.href="'+n.match(w)[1]+'"'),a(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">"),t.appendChild(o.createTextNode(n)),l?y.dx=3:y.x=b,l||(f&&(!gi&&i.renderer.forExport&&a(t,{display:"block"}),e=g.getComputedStyle&&u(g.getComputedStyle(v,null).getPropertyValue("line-height")),(!e||isNaN(e))&&(e=k||v.offsetHeight||18),c(t,"dy",e)),v=t),c(t,y),r.appendChild(t),l++,s))for(n=n.replace(/-/g,"- ").split(" "),d=[];n.length||d.length;)nt=r.getBBox().width,y=nt>s,y&&1!==n.length?(t.removeChild(t.firstChild),d.unshift(n.pop())):(n=d,d=[],n.length&&(t=o.createElementNS("http://www.w3.org/2000/svg","tspan"),c(t,{dy:k||16,x:b}),r.appendChild(t),nt>s&&(s=nt))),n.length&&t.appendChild(o.createTextNode(n.join(" ").replace(/- /g,"-")))})}),nt)for(y||(y=i.htmlNode=tt("span",null,e(f,{position:ui,top:0,left:0}),this.box.parentNode)),y.innerHTML=i.textStr,h=l.length;h--;)l[h].style.visibility=et},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=r(n[1])+t%2/2),n[2]===n[5]&&(n[2]=n[5]=r(n[2])+t%2/2),n},path:function(n){return this.createElement("path").attr({d:n,fill:ot})},circle:function(n,t,i){return n=gt(n)?n:{x:n,y:t,r:i},this.createElement("circle").attr(n)},arc:function(n,t,i,r,u,f){return gt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),this.symbol("arc",n||0,t||0,i||0,{innerR:r||0,start:u||0,end:f||0})},rect:function(n,t,i,r,u,f){return gt(n)&&(t=n.y,i=n.width,r=n.height,u=n.r,f=n.strokeWidth,n=n.x),u=this.createElement("rect").attr({rx:u,ry:u,fill:ot}),u.attr(u.crisp(f,n,t,l(i,0),l(r,0)))},setSize:function(n,i,r){var u=this.alignedObjects,f=u.length;for(this.width=n,this.height=i,this.boxWrapper[t(r,!0)?"animate":"attr"]({width:n,height:i});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":li+n}):t},image:function(n,t,i,r,u){var f={preserveAspectRatio:ot};return arguments.length>1&&e(f,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(f),f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):f.element.setAttribute("hc-svg-href",n),f},symbol:function(n,t,i,u,f){var o,s=this.symbols[n],h,c,l;return s=s&&s(r(t),r(i),u,f),c=/^url\((.*?)\)$/,s?(o=this.path(s),e(o,{symbolName:n,x:t,y:i,r:u}),f&&e(o,f)):c.test(n)?(l=function(n,t){n.attr({width:t[0],height:t[1]}).translate(-r(t[0]/2),-r(t[1]/2))},h=n.match(c)[1],n=pu[h],o=this.image(h).attr({x:t,y:i}),n?l(o,n):(o.attr({width:0,height:0}),tt("img",{onload:function(){l(o,pu[h]=[this.width,this.height])},src:h}))):o=this.circle(t,i,u),o},symbols:{square:function(n,t,i){return i=.707*i,[d,n-i,t-i,v,n+i,t-i,n+i,t+i,n-i,t+i,"Z"]},triangle:function(n,t,i){return[d,n,t-1.33*i,v,n+i,t+.67*i,n-i,t+.67*i,"Z"]},"triangle-down":function(n,t,i){return[d,n,t+1.33*i,v,n-i,t-.67*i,n+i,t-.67*i,"Z"]},diamond:function(n,t,i){return[d,n,t-i,v,n+i,t,n,t+i,n-i,t,"Z"]},arc:function(n,t,i,r){var e=r.start,f=r.end-1e-6,u=r.innerR,o=ft(e),s=yt(e),h=ft(f);return f=yt(f),r=r.end-e<ri?0:1,[d,n+i*o,t+i*s,"A",i,i,0,r,1,n+i*h,t+i*f,v,n+u*h,t+u*f,"A",u,u,0,r,0,n+u*o,t+u*s,"Z"]}},clipRect:function(n,t,i,r){var u=li+kr++,f=this.createElement("clipPath").attr({id:u}).add(this.defs);return n=this.rect(n,t,i,r,0).add(f),n.id=u,n.clipPath=f,n},color:function(t,i,r){var u,h=/^rgba/,f,e,o,s;return t&&t.linearGradient?(f=this,i=t.linearGradient,r=li+kr++,e=f.createElement("linearGradient").attr({id:r,gradientUnits:"userSpaceOnUse",x1:i[0],y1:i[1],x2:i[2],y2:i[3]}).add(f.defs),f.gradients.push(e),e.stops=[],n(t.stops,function(n){h.test(n[1])?(u=ni(n[1]),o=u.get("rgb"),s=u.get("a")):(o=n[1],s=1);n=f.createElement("stop").attr({offset:n[0],"stop-color":o,"stop-opacity":s}).add(e);e.stops.push(n)}),"url("+this.url+"#"+r+")"):h.test(t)?(u=ni(t),c(i,r+"-opacity",u.get("a")),u.get("rgb")):(i.removeAttribute(r+"-opacity"),t)},text:function(n,i,u,f){var e=b.chart.style;return i=r(t(i,0)),u=r(t(u,0)),n=this.createElement("text").attr({x:i,y:u,text:n}).css({fontFamily:e.fontFamily,fontSize:e.fontSize}),n.x=i,n.y=u,n.useHTML=f,n}};ur=tr;gi||(bt=vt(rr,{init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ",ui,";"];("shape"===t||t===ii)&&r.push("left:0;top:0;width:10px;height:10px;");di&&r.push("visibility: ",t===ii?et:pt);i.push(' style="',r.join(""),'"/>');t&&(i=t===ii||"span"===t||"img"===t?i.join(""):n.prepVML(i),this.element=tt(i));this.renderer=n},add:function(n){var r=this.renderer,i=this.element,t=r.box;return t=n?n.element||n:t,n&&n.inverted&&r.invertChild(i,t),di&&t.gVis===et&&a(i,{visibility:et}),t.appendChild(i),this.added=!0,this.alignOnAdd&&this.updateTransform(),this},attr:function(n,t){var u,f,e,s,y,o=this.element||{},l=o.style,p=o.nodeName,v=this.renderer,k=this.symbolName,h=this.shadows,b=this;if(ti(n)&&i(t)&&(u=n,n={},n[u]=t),ti(n))u=n,b="strokeWidth"===u||"stroke-width"===u?this.strokeweight:this[u];else for(u in n){if(f=n[u],s=!1,k&&/^(x|y|r|start|end|width|height|innerR)/.test(u))y||(this.symbolAttr(n),y=!0),s=!0;else if("d"===u){for(f=f||[],this.d=f.join(" "),e=f.length,s=[];e--;)s[e]=fi(f[e])?r(10*f[e])-5:"Z"===f[e]?"x":f[e];if(f=s.join(" ")||"x",o.path=f,h)for(e=h.length;e--;)h[e].path=f;s=!0}else if("zIndex"===u||"visibility"===u){if(di&&"visibility"===u&&"DIV"===p){for(o.gVis=f,s=o.childNodes,e=s.length;e--;)a(s[e],{visibility:f});f===pt&&(f=null)}f&&(l[u]=f);s=!0}else/^(width|height)$/.test(u)?(this[u]=f,this.updateClipping?(this[u]=f,this.updateClipping()):l[u]=f,s=!0):/^(x|y)$/.test(u)?(this[u]=f,"SPAN"===o.tagName?this.updateTransform():l[{x:"left",y:"top"}[u]]=f):"class"===u?o.className=f:"stroke"===u?(f=v.color(f,o,u),u="strokecolor"):"stroke-width"===u||"strokeWidth"===u?(o.stroked=f?!0:!1,u="strokeweight",this[u]=f,fi(f)&&(f+=w)):"dashstyle"===u?((o.getElementsByTagName("stroke")[0]||tt(v.prepVML(["<stroke/>"]),null,null,o))[u]=f||"solid",this.dashstyle=f,s=!0):"fill"===u?"SPAN"===p?l.color=f:(o.filled=f!==ot?!0:!1,f=v.color(f,o,u),u="fillcolor"):"translateX"===u||"translateY"===u||"rotation"===u||"align"===u?("align"===u&&(u="textAlign"),this[u]=f,this.updateTransform(),s=!0):"text"===u&&(this.bBox=null,o.innerHTML=f,s=!0);if(h&&"visibility"===u)for(e=h.length;e--;)h[e].style[u]=f;s||(di?o[u]=f:c(o,u,f))}return b},clip:function(n){var t=this,i=n.members;return i.push(t),t.destroyClip=function(){oi(i,t)},t.css(n.getCSS(t.inverted))},css:function(n){var t=this.element;return(t=n&&"SPAN"===t.tagName&&n.width)&&(delete n.width,this.textWidth=t,this.updateTransform()),this.styles=e(this.styles,n),a(this.element,n),this},safeRemoveChild:function(n){n.parentNode&&hi(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),rr.prototype.destroy.apply(this)},empty:function(){for(var n,t=this.element.childNodes,i=t.length;i--;)n=t[i],n.parentNode.removeChild(n)},getBBox:function(){var n=this.element,t=this.bBox;return t||("text"===n.nodeName&&(n.style.position=ui),t=this.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}),t},on:function(n,t){return this.element["on"+n]=function(){var n=g.event;n.target=n.srcElement;t(n)},this},updateTransform:function(){var s,b,c,k,h;if(this.added){var t=this,f=t.element,o=t.translateX||0,e=t.translateY||0,g=t.x||0,nt=t.y||0,v=t.textAlign||"left",l={left:0,center:.5,right:1}[v],tt=v&&"left"!==v;if((o||e)&&t.css({marginLeft:o,marginTop:e}),t.inverted&&n(f.childNodes,function(n){t.renderer.invertChild(n,f)}),"SPAN"===f.tagName){o=t.rotation;s=0;e=1;h=0;c=u(t.textWidth);var y=t.xCorr||0,p=t.yCorr||0,d=[o,v,f.innerHTML,t.textWidth].join(",");d!==t.cTT&&(i(o)&&(s=o*au,e=ft(s),h=yt(s),a(f,{filter:o?["progid:DXImageTransform.Microsoft.Matrix(M11=",e,", M12=",-h,", M21=",h,", M22=",e,", sizingMethod='auto expand')"].join(""):ot})),s=f.offsetWidth,b=f.offsetHeight,s>c&&(a(f,{width:c+w,display:"block",whiteSpace:"normal"}),s=c),c=r(1.2*(u(f.style.fontSize)||12)),y=0>e&&-s,p=0>h&&-b,k=0>e*h,y+=h*c*(k?1-l:l),p-=e*c*(o?k?l:1-l:1),tt&&(y-=s*l*(0>e?-1:1),o&&(p-=b*l*(0>h?-1:1)),a(f,{textAlign:v})),t.xCorr=y,t.yCorr=p);a(f,{left:g+y,top:nt+p});t.cTT=d}}else this.alignOnAdd=!0},shadow:function(n,t){var i,r,e,s=[],f=this.element,h=this.renderer,c=f.style,o=f.path;if(o&&"string"!=typeof o.value&&(o="x"),n){for(i=1;3>=i;i++)e=['<shape isShadow="true" strokeweight="',7-2*i,'" filled="false" path="',o,'" coordsize="100,100" style="',f.style.cssText,'" />'],r=tt(h.prepVML(e),null,{left:u(c.left)+1,top:u(c.top)+1}),e=['<stroke color="black" opacity="',.05*i,'"/>'],tt(h.prepVML(e),null,null,r),t?t.element.appendChild(r):f.parentNode.insertBefore(r,f),s.push(r);this.shadows=s}return this}}),f=function(){this.init.apply(this,arguments)},f.prototype=s(tr.prototype,{Element:bt,isIE8:ci.indexOf("MSIE 8.0")>-1,init:function(n,t,i){var r;this.alignedObjects=[];r=this.createElement(ii);n.appendChild(r.element);this.box=r.element;this.boxWrapper=r;this.setSize(t,i,!1);o.namespaces.hcv||(o.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),o.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ")},clipRect:function(t,i,u,f){var o=this.createElement();return e(o,{members:[],left:t,top:i,width:u,height:f,getCSS:function(n){var t=this.top,i=this.left,u=i+this.width,f=t+this.height;return t={clip:"rect("+r(n?i:t)+"px,"+r(n?f:u)+"px,"+r(n?u:f)+"px,"+r(n?t:i)+"px)"},!n&&di&&e(t,{width:u+w,height:f+w}),t},updateClipping:function(){n(o.members,function(n){n.css(o.getCSS(n.inverted))})}})},color:function(t,i,r){var u,s=/^rgba/,e,o,c,l,a,v,f;if(!t||!t.linearGradient)return s.test(t)&&"IMG"!==i.tagName?(u=ni(t),t=["<",r,' opacity="',u.get("a"),'"/>'],tt(this.prepVML(t),null,null,i),u.get("rgb")):(i=i.getElementsByTagName(r),i.length&&(i[0].opacity=1),t);f=t.linearGradient;n(t.stops,function(n,t){s.test(n[1])?(u=ni(n[1]),e=u.get("rgb"),o=u.get("a")):(e=n[1],o=1);t?(a=e,v=o):(c=e,l=o)});t=90-180*h.atan((f[3]-f[1])/(f[2]-f[0]))/ri;t=["<",r,' colors="0% ',c,",100% ",a,'" angle="',t,'" opacity="',v,'" o:opacity2="',l,'" type="gradient" focus="100%" />'];tt(this.prepVML(t),null,null,i)},prepVML:function(n){var t=this.isIE8;return n=n.join(""),t?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=-1===n.indexOf('style="')?n.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):n.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):n=n.replace("<","<hcv:"),n},text:function(n,t,i){var u=b.chart.style;return this.createElement("span").attr({text:n,x:r(t),y:r(i)}).css({whiteSpace:"nowrap",fontFamily:u.fontFamily,fontSize:u.fontSize})},path:function(n){return this.createElement("shape").attr({coordsize:"100 100",d:n})},circle:function(n,t,i){return this.symbol("circle").attr({x:n,y:t,r:i})},g:function(n){var t;return n&&(t={className:li+n,"class":li+n}),this.createElement(ii).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>1&&f.css({left:t,top:i,width:r,height:u}),f},rect:function(n,t,i,r,u,f){gt(n)&&(t=n.y,i=n.width,r=n.height,u=n.r,f=n.strokeWidth,n=n.x);var e=this.symbol("rect");return e.r=u,e.attr(e.crisp(f,n,t,l(i,0),l(r,0)))},invertChild:function(n,t){var i=t.style;a(n,{flip:"x",left:u(i.width)-10,top:u(i.height)-10,rotation:-90})},symbols:{arc:function(n,t,i,r){var u=r.start,f=r.end,h=ft(u),c=yt(u),e=ft(f),l=yt(f),o,s;return r=r.innerR,o=.07/i,s=r&&.1/r||0,f-u==0?["x"]:(o>2*ri-f+u?e=-o:s>f-u&&(e=ft(u+s)),["wa",n-i,t-i,n+i,t+i,n+i*h,t+i*c,n+i*e,t+i*l,"at",n-r,t-r,n+r,t+r,n+r*e,t+r*l,n+r*h,t+r*c,"x","e"])},circle:function(n,t,i){return["wa",n-i,t-i,n+i,t+i,n+i,t,n+i,t,"e"]},rect:function(n,t,r,u){var o,f,e;return i(u)?(o=u.width,u=u.height,f=n+o,e=t+u,r=ht(r,o,u),[d,n+r,t,v,f-r,t,"wa",f-2*r,t,f,t+2*r,f-r,t,f,t+r,v,f,e-r,"wa",f-2*r,e-2*r,f,e,f,e-r,f-r,e,v,n+r,e,"wa",n,e-2*r,n+2*r,e,n+r,e,n,e-r,v,n,t+r,"wa",n,t,n+2*r,t+2*r,n,t+r,n+r,t,"x","e"]):[]}}}),ur=f);ou.prototype.callbacks=[];vi=function(){};vi.prototype={init:function(n,t){var i,r=n.chart.counters;return this.series=n,this.applyOptions(t),this.pointAttr={},n.options.colorByPoint&&(i=n.chart.options.colors,this.options||(this.options={}),this.color=this.options.color=this.color||i[r.color++],r.wrapColor(i.length)),n.chart.pointCount++,this},applyOptions:function(n){var t=this.series;this.config=n;fi(n)||null===n?this.y=n:gt(n)&&!fi(n.length)?(e(this,n),this.options=n):ti(n[0])?(this.name=n[0],this.y=n[1]):fi(n[0])&&(this.x=n[0],this.y=n[1]);this.x===k&&(this.x=t.autoIncrement())},destroy:function(){var r,t=this,i=t.series,u=i.chart.hoverPoints;i.chart.pointCount--;u&&(t.setState(),oi(u,t));t===i.chart.hoverPoint&&t.onMouseOut();st(t);n(["graphic","tracker","group","dataLabel","connector","shadowGroup"],function(n){t[n]&&t[n].destroy()});t.legendItem&&t.series.chart.legend.destroyItem(t);for(r in t)t[r]=null},getLabelConfig:function(){return{x:this.category,y:this.y,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(i,r){var u=this,f=u.series.chart;i=t(i,!u.selected);u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=i;u.setState(i&&"select");r||n(f.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=!1,n.setState(it),n.firePointEvent("unselect"))})})},onMouseOver:function(){var n=this.series.chart,t=n.tooltip,i=n.hoverPoint;i&&i!==this&&i.onMouseOut();this.firePointEvent("mouseOver");t&&!t.shared&&t.refresh(this);this.setState(wt);n.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(n){var t=this.series;return['<span style="color:'+t.color+'">',this.name||t.name,"<\/span>: ",n?"":"<b>x = "+(this.name||this.x)+",<\/b> ","<b>",n?"":"y = ",this.y,"<\/b>"].join("")},update:function(n,i,r){var u=this,f=u.series,e=u.graphic,o=f.chart;i=t(i,!0);u.firePointEvent("update",{options:n},function(){u.applyOptions(n);gt(n)&&(f.getAttribs(),e&&e.attr(u.pointAttr[f.state]));f.isDirty=!0;i&&o.redraw(r)})},remove:function(n,i){var r=this,u=r.series,f=u.chart,e=u.data;si(i,f);n=t(n,!0);r.firePointEvent("remove",null,function(){oi(e,r);r.destroy();u.isDirty=!0;n&&f.redraw()})},firePointEvent:function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();"click"===n&&u.allowPointSelect&&(i=function(n){r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});p(this,n,t,i)},importEvents:function(){if(!this.hasImportedEvents){var n,t=s(this.series.options.point,this.options).events;this.events=t;for(n in t)y(this,n,t[n]);this.hasImportedEvents=!0}},setState:function(n){var t=this.series,f=t.options.states,i=at[t.type].marker&&t.options.marker,e=i&&!i.enabled,o=(i=i&&i.states[n])&&i.enabled===!1,r=t.stateMarkerGraphic,s=t.chart,u=this.pointAttr;n=n||it;n===this.state||this.selected&&"select"!==n||f[n]&&f[n].enabled===!1||n&&(o||e&&!i.enabled)||(this.graphic?this.graphic.attr(u[n]):(n&&(r||(t.stateMarkerGraphic=r=s.renderer.circle(0,0,u[n].r).attr(u[n]).add(t.group)),r.translate(this.plotX,this.plotY)),r&&r[n?"show":"hide"]()),this.state=n)}};rt=function(){};rt.prototype={isCartesian:!0,type:"line",pointClass:vi,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(n,t){var r,i;i=n.series.length;this.chart=n;t=this.setOptions(t);e(this,{index:i,options:t,name:t.name||"Series "+(i+1),state:it,pointAttr:{},visible:t.visible!==!1,selected:t.selected===!0});i=t.events;for(r in i)y(this,r,i[r]);(i&&i.click||t.point&&t.point.events&&t.point.events.click||t.allowPointSelect)&&(n.runTrackerClick=!0);this.getColor();this.getSymbol();this.setData(t.data,!1)},autoIncrement:function(){var i=this.options,n=this.xIncrement;return n=t(n,i.pointStart,0),this.pointInterval=t(this.pointInterval,i.pointInterval,1),this.xIncrement=n+this.pointInterval,n},cleanData:function(){var u,i,r,n,f=this.chart,t=this.data,e=f.smallestInterval;if(fu(t,function(n,t){return n.x-t.x}),this.options.connectNulls)for(n=t.length-1;n>=0;n--)null===t[n].y&&t[n-1]&&t[n+1]&&t.splice(n,1);for(n=t.length-1;n>=0;n--)t[n-1]&&(r=t[n].x-t[n-1].x,r>0&&(i===k||i>r)&&(i=r,u=n));(e===k||e>i)&&(f.smallestInterval=i);this.closestPoints=u},getSegments:function(){var t=-1,r=[],i=this.data;n(i,function(n,u){null===n.y?(u>t+1&&r.push(i.slice(t+1,u)),t=u):u===i.length-1&&r.push(i.slice(t+1,u+1))});this.segments=r},setOptions:function(n){var t=this.chart.options.plotOptions;return s(t[this.type],t.series,n)},getColor:function(){var n=this.chart.options.colors,t=this.chart.counters;this.color=this.options.color||n[t.color++]||"#0000ff";t.wrapColor(n.length)},getSymbol:function(){var n=this.chart.options.symbols,t=this.chart.counters;this.symbol=this.options.marker.symbol||n[t.symbol++];t.wrapSymbol(n.length)},addPoint:function(n,i,r,u){var e=this.data,o=this.graph,f=this.area,s=this.chart;n=(new this.pointClass).init(this,n);si(u,s);o&&r&&(o.shift=r);f&&(f.shift=r,f.isArea=!0);i=t(i,!0);e.push(n);r&&e[0].remove(!1);this.getAttribs();this.isDirty=!0;i&&s.redraw()},setData:function(n,r){var u=this,f=u.data,o=u.initialColor,e=u.chart,s=f&&f.length||0;for(u.xIncrement=null,i(o)&&(e.counters.color=o),n=ai(yi(n||[]),function(n){return(new u.pointClass).init(u,n)});s--;)f[s].destroy();u.data=n;u.cleanData();u.getSegments();u.getAttribs();u.isDirty=!0;e.isDirtyBox=!0;t(r,!0)&&e.redraw(!1)},remove:function(n,i){var r=this,u=r.chart;n=t(n,!0);r.isRemoving||(r.isRemoving=!0,p(r,"remove",null,function(){r.destroy();u.isDirtyLegend=u.isDirtyBox=!0;n&&u.redraw(i)}));r.isRemoving=!1},translate:function(){for(var s=this.chart,h=this.options.stacking,f=this.xAxis.categories,e=this.yAxis,c=this.data,l=c.length;l--;){var n=c[l],t=n.x,u=n.y,r=n.low,o=e.stacks[(0>u?"-":"")+this.stackKey];n.plotX=this.xAxis.translate(t);h&&this.visible&&o&&o[t]&&(r=o[t],t=r.total,r.cum=r=r.cum-u,u=r+u,"percent"===h&&(r=t?100*r/t:0,u=t?100*u/t:0),n.percentage=t?100*n.y/t:0,n.stackTotal=t);i(r)&&(n.yBottom=e.translate(r,0,1,0,1));null!==u&&(n.plotY=e.translate(u,0,1,0,1));n.clientX=s.inverted?s.plotHeight-n.plotX:n.plotX;n.category=f&&f[n.x]!==k?f[n.x]:n.x}},setTooltipPoints:function(t){var u,o,f=this.chart,s=f.inverted,i=[],e=r((s?f.plotTop:f.plotLeft)+f.plotSizeX),h=[];t&&(this.tooltipPoints=null);n(this.segments,function(n){i=i.concat(n)});this.xAxis&&this.xAxis.reversed&&(i=i.reverse());n(i,function(n,t){for(u=i[t-1]?i[t-1]._high+1:0,o=n._high=i[t+1]?ut((n.plotX+(i[t+1]?i[t+1].plotX:e))/2):e;o>=u;)h[s?e-u++:u++]=n});this.tooltipPoints=h},onMouseOver:function(){var n=this.chart,t=n.hoverSeries;(dt||!n.mouseIsDown)&&(t&&t!==this&&t.onMouseOut(),this.options.events.mouseOver&&p(this,"mouseOver"),this.tracker&&this.tracker.toFront(),this.setState(wt),n.hoverSeries=this)},onMouseOut:function(){var t=this.options,n=this.chart,i=n.tooltip,r=n.hoverPoint;r&&r.onMouseOut();this&&t.events.mouseOut&&p(this,"mouseOut");i&&!t.stickyTracking&&i.hide();this.setState();n.hoverSeries=null},animate:function(n){var r=this.chart,t=this.clipRect,i=this.options.animation;i&&!gt(i)&&(i={});n?t.isAnimating||(t.attr("width",0),t.isAnimating=!0):(t.animate({width:r.plotSizeX},i),this.animate=null)},drawPoints:function(){var r,u,i,f,n,e,o,s=this.data,h=this.chart;if(this.options.marker.enabled)for(f=s.length;f--;)n=s[f],u=n.plotX,i=n.plotY,o=n.graphic,i===k||isNaN(i)||(r=n.pointAttr[n.selected?"select":it],e=r.r,o?o.animate({x:u,y:i,r:e}):n.graphic=h.renderer.symbol(t(n.marker&&n.marker.symbol,this.symbol),u,i,e).attr(r).add(this.group))},convertAttribs:function(n,i,r,u){var f,e,o=this.pointAttrToOptions,s={};n=n||{};i=i||{};r=r||{};u=u||{};for(f in o)e=o[f],s[f]=t(n[e],i[f],r[f],u[f]);return s},getAttribs:function(){var s,f,l,t=this,r=at[t.type].marker?t.options.marker:t.options,h=r.states,u=h[wt],c=t.color,e={stroke:c,fill:c},a=t.data,o=[],v=t.pointAttrToOptions;for(t.options.marker?(u.radius=u.radius||r.radius+2,u.lineWidth=u.lineWidth||r.lineWidth+1):u.color=u.color||ni(u.color||c).brighten(u.brightness).get(),o[it]=t.convertAttribs(r,e),n([wt,"select"],function(n){o[n]=t.convertAttribs(h[n],o[it])}),t.pointAttr=o,c=a.length;c--;){if(e=a[c],(r=e.options&&e.options.marker||e.options)&&r.enabled===!1&&(r.radius=0),s=!1,e.options)for(l in v)i(r[v[l]])&&(s=!0);s?(f=[],h=r.states||{},s=h[wt]=h[wt]||{},t.options.marker||(s.color=ni(s.color||e.options.color).brighten(s.brightness||u.brightness).get()),f[it]=t.convertAttribs(r,o[it]),f[wt]=t.convertAttribs(h[wt],o[wt],f[it]),f.select=t.convertAttribs(h.select,o.select,f[it])):f=o;e.pointAttr=f}},destroy:function(){var u,f,t=this,i=t.chart,r=t.clipRect,e=/\/5[0-9\.]+ (Safari|Mobile)\//.test(ci);p(t,"destroy");st(t);t.legendItem&&t.chart.legend.destroyItem(t);n(t.data,function(n){n.destroy()});r&&r!==i.clipRect&&(t.clipRect=r.destroy());n(["area","graph","dataLabelsGroup","group","tracker"],function(n){t[n]&&(u=e&&"group"===n?"hide":"destroy",t[n][u]())});i.hoverSeries===t&&(i.hoverSeries=null);oi(i.series,t);for(f in t)delete t[f]},drawDataLabels:function(){if(this.options.dataLabels.enabled){var c,o,l,h,d=this.data,v=this.options,r=v.dataLabels,a=this.dataLabelsGroup,f=this.chart,p=f.renderer,e=f.inverted,y=this.type;h=v.stacking;var w="column"===y||"bar"===y,b=null===r.verticalAlign,k=null===r.y;w&&(h?(b&&(r=s(r,{verticalAlign:"middle"})),k&&(r=s(r,{y:{top:14,middle:4,bottom:-6}[r.verticalAlign]}))):b&&(r=s(r,{verticalAlign:"top"})));a?a.translate(f.plotLeft,f.plotTop):a=this.dataLabelsGroup=p.g("data-labels").attr({visibility:this.visible?pt:et,zIndex:6}).translate(f.plotLeft,f.plotTop).add();h=r.color;"auto"===h&&(h=null);r.style.color=t(h,this.color,"black");n(d,function(n){var d=n.barX,b=d&&d+n.barW/2||n.plotX||-999,h=t(n.plotY,-999),s=n.dataLabel,g=r.align,nt=k?n.y>=0?-6:12:r.y;l=r.formatter.call(n.getLabelConfig());c=(e?f.plotWidth-h:b)+r.x;o=(e?f.plotHeight-b:h)+nt;"column"===y&&(c+={left:-1,right:1}[g]*n.barW/2||0);e&&n.y<0&&(g="right",c-=10);s?(e&&!r.y&&(o=o+.9*u(s.styles.lineHeight)-s.getBBox().height/2),s.attr({text:l}).animate({x:c,y:o})):i(l)&&(s=n.dataLabel=p.text(l,c,o).attr({align:g,rotation:r.rotation,zIndex:1}).css(r.style).add(a),e&&!r.y&&s.attr({y:o+.9*u(s.styles.lineHeight)-s.getBBox().height/2}));w&&v.stacking&&s&&(b=n.barY,h=n.barW,n=n.barH,s.align(r,null,{x:e?f.plotWidth-b-n:d,y:e?f.plotHeight-d-h:b,width:e?n:h,height:e?h:n}))})}},drawGraph:function(){var s,r,i=this,u=i.options,f=i.graph,e=[],h=i.area,c=i.group,b=u.lineColor||i.color,l=u.lineWidth,a=u.dashStyle,k=i.chart.renderer,y=i.yAxis.getThreshold(u.threshold||0),p=/^area/.test(i.type),w=[],o=[];n(i.segments,function(t){if(r=[],n(t,function(n,f){i.getPointSpline?r.push.apply(r,i.getPointSpline(t,n,f)):(r.push(f?v:d),f&&u.step&&r.push(n.plotX,t[f-1].plotY),r.push(n.plotX,n.plotY))}),t.length>1?e=e.concat(r):w.push(t[0]),p){for(var s=[],h=r.length,f=0;h>f;f++)s.push(r[f]);if(3===h&&s.push(v,r[1],r[2]),u.stacking&&"areaspline"!==i.type)for(f=t.length-1;f>=0;f--)s.push(t[f].plotX,t[f].yBottom);else s.push(v,t[t.length-1].plotX,y,v,t[0].plotX,y);o=o.concat(s)}});i.graphPath=e;i.singlePoints=w;p&&(s=t(u.fillColor,ni(i.color).setOpacity(u.fillOpacity||.75).get()),h?h.animate({d:o}):i.area=i.chart.renderer.path(o).attr({fill:s}).add(c));f?(nr(f),f.animate({d:e})):l&&(f={stroke:b,"stroke-width":l},a&&(f.dashstyle=a),i.graph=k.path(e).attr(f).add(c).shadow(u.shadow))},render:function(){var r,f,n=this,t=n.chart,s=n.options,u=s.animation,e=u&&n.animate,i,o;u=e?u&&u.duration||500:0;i=n.clipRect;o=t.renderer;i||(i=n.clipRect=!t.hasRendered&&t.clipRect?t.clipRect:o.clipRect(0,0,t.plotSizeX,t.plotSizeY),t.clipRect||(t.clipRect=i));n.group||(r=n.group=o.g("series"),t.inverted&&(f=function(){r.attr({width:t.plotWidth,height:t.plotHeight}).invert()},f(),y(t,"resize",f),y(n,"destroy",function(){st(t,"resize",f)})),r.clip(n.clipRect).attr({visibility:n.visible?pt:et,zIndex:s.zIndex}).translate(t.plotLeft,t.plotTop).add(t.seriesGroup));n.drawDataLabels();e&&n.animate(!0);n.drawGraph&&n.drawGraph();n.drawPoints();n.options.enableMouseTracking!==!1&&n.drawTracker();e&&n.animate();setTimeout(function(){i.isAnimating=!1;(r=n.group)&&i!==t.clipRect&&i.renderer&&(r.clip(n.clipRect=t.clipRect),i.destroy())},u);n.isDirty=!1},redraw:function(){var n=this.chart,t=this.group;t&&(n.inverted&&t.attr({width:n.plotWidth,height:n.plotHeight}),t.animate({translateX:n.plotLeft,translateY:n.plotTop}));this.translate();this.setTooltipPoints(!0);this.render()},setState:function(n){var t=this.options,i=this.graph,r=t.states;t=t.lineWidth;n=n||it;this.state!==n&&(this.state=n,r[n]&&r[n].enabled===!1||(n&&(t=r[n].lineWidth||t+1),i&&!i.dashstyle&&i.attr({"stroke-width":t},n?0:500)))},setVisible:function(t,i){var r,u=this.chart,h=this.legendItem,f=this.group,e=this.tracker,o=this.dataLabelsGroup,s=this.data,c=u.options.chart.ignoreHiddenSeries;if(r=this.visible,r=(this.visible=t=t===k?!r:t)?"show":"hide",f&&f[r](),e)e[r]();else for(f=s.length;f--;)e=s[f],e.tracker&&e.tracker[r]();o&&o[r]();h&&u.legend.colorizeItem(this,t);this.isDirty=!0;this.options.stacking&&n(u.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});c&&(u.isDirtyBox=!0);i!==!1&&u.redraw();p(this,r)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===k?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);p(this,n?"select":"unselect")},drawTracker:function(){var i=this,f=i.options,t=[].concat(i.graphPath),r=t.length,e=i.chart,u=e.options.tooltip.snap,h=i.tracker,o=f.cursor,n,s;if(o=o&&{cursor:o},s=i.singlePoints,r)for(n=r+1;n--;)t[n]===d&&t.splice(n+1,0,t[n+1]-u,t[n+2],v),(n&&t[n]===d||n===r)&&t.splice(n,0,v,t[n-2]+u,t[n-1]);for(n=0;n<s.length;n++)r=s[n],t.push(d,r.plotX-u,r.plotY,v,r.plotX+u,r.plotY);h?h.attr({d:t}):i.tracker=e.renderer.path(t).attr({isTracker:!0,stroke:bu,fill:ot,"stroke-width":f.lineWidth+2*u,visibility:i.visible?pt:et,zIndex:f.zIndex||1}).on(dt?"touchstart":"mouseover",function(){e.hoverSeries!==i&&i.onMouseOver()}).on("mouseout",function(){f.stickyTracking||i.onMouseOut()}).css(o).add(e.trackerGroup)}};f=vt(rt);lt.line=f;f=vt(rt,{type:"area"});lt.area=f;f=vt(rt,{type:"spline",getPointSpline:function(n,t,i){var c,f,s,u,h=t.plotX,r=t.plotY,e=n[i-1],o=n[i+1],a;return i&&i<n.length-1&&(n=e.plotY,s=o.plotX,o=o.plotY,c=(1.5*h+e.plotX)/2.5,f=(1.5*r+n)/2.5,s=(1.5*h+s)/2.5,u=(1.5*r+o)/2.5,a=(u-f)*(s-h)/(s-c)+r-u,f+=a,u+=a,f>n&&f>r?(f=l(n,r),u=2*r-f):n>f&&r>f&&(f=ht(n,r),u=2*r-f),u>o&&u>r?(u=l(o,r),f=2*r-u):o>u&&r>u&&(u=ht(o,r),f=2*r-u),t.rightContX=s,t.rightContY=u),i?(t=["C",e.rightContX||e.plotX,e.rightContY||e.plotY,c||h,f||r,h,r],e.rightContX=e.rightContY=null):t=[d,h,r],t}});lt.spline=f;f=vt(f,{type:"areaspline"});lt.areaspline=f;ir=vt(rt,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){rt.prototype.init.apply(this,arguments);var i=this,t=i.chart;t.hasColumn=!0;t.hasRendered&&n(t.series,function(n){n.type===i.type&&(n.isDirty=!0)})},translate:function(){var a,w,r=this,b=r.chart,u=r.options,ot=u.stacking,it=u.borderWidth,v=0,ut=r.xAxis.reversed,f=r.xAxis.categories,d={},c,o;rt.prototype.translate.apply(r);n(b.series,function(n){n.type===r.type&&n.visible&&(n.options.stacking?(a=n.stackKey,d[a]===k&&(d[a]=v++),w=d[a]):w=v++,n.columnIndex=w)});c=r.data;o=r.closestPoints;f=nt(c[1]?c[o].plotX-c[o-1].plotX:b.plotSizeX/(f&&f.length||1));o=f*u.groupPadding;var y=(f-2*o)/v,g=u.pointWidth,ft=i(g)?(y-g)/2:y*u.pointPadding,tt=l(t(g,y-2*ft),1),et=ft+(o+((ut?v-r.columnIndex:r.columnIndex)||0)*y-f/2)*(ut?-1:1),p=r.yAxis.getThreshold(u.threshold||0),h=t(u.minPointLength,5);n(c,function(n){var c,t=n.plotY,a=n.yBottom||p,y=n.plotX+et,f=br(ht(t,a)),o=br(l(t,a)-f),v=r.yAxis.stacks[(n.y<0?"-":"")+r.stackKey];ot&&r.visible&&v&&v[n.x]&&v[n.x].setOffset(et,tt);nt(o)<h&&(h&&(o=h,f=nt(f-p)>h?a-h:p-(p>=t?h:0)),c=f-3);e(n,{barX:y,barY:f,barW:tt,barH:o});n.shapeType="rect";t=e(b.renderer.Element.prototype.crisp.apply({},[it,y,f,tt,o]),{r:u.borderRadius});it%2&&(t.y-=1,t.height+=1);n.shapeArgs=t;n.trackerArgs=i(c)&&s(n.shapeArgs,{height:l(6,o+3),y:c})})},getSymbol:function(){},drawGraph:function(){},drawPoints:function(){var t,r,i=this,u=i.options,f=i.chart.renderer;n(i.data,function(n){var e=n.plotY;e===k||isNaN(e)||null===n.y||(t=n.graphic,r=n.shapeArgs,t?(nr(t),t.animate(r)):n.graphic=f[n.shapeType](r).attr(n.pointAttr[n.selected?"select":it]).add(i.group).shadow(u.shadow))})},drawTracker:function(){var i,u,r,t=this,f=t.chart,h=f.renderer,e=+new Date,o=t.options,s=o.cursor,l=s&&{cursor:s};n(t.data,function(n){u=n.tracker;i=n.trackerArgs||n.shapeArgs;delete i.strokeWidth;null!==n.y&&(u?u.attr(i):n.tracker=h[n.shapeType](i).attr({isTracker:e,fill:bu,visibility:t.visible?pt:et,zIndex:o.zIndex||1}).on(dt?"touchstart":"mouseover",function(i){r=i.relatedTarget||i.fromElement;f.hoverSeries!==t&&c(r,"isTracker")!==e&&t.onMouseOver();n.onMouseOver()}).on("mouseout",function(n){o.stickyTracking||(r=n.relatedTarget||n.toElement,c(r,"isTracker")!==e&&t.onMouseOut())}).css(l).add(n.group||f.trackerGroup))})},animate:function(t){var i=this,r=i.data;t||(n(r,function(n){var t=n.graphic;n=n.shapeArgs;t&&(t.attr({height:0,y:i.yAxis.translate(0,0,1)}),t.animate({height:n.height,y:n.y},i.options.animation))}),i.animate=null)},remove:function(){var t=this,i=t.chart;i.hasRendered&&n(i.series,function(n){n.type===t.type&&(n.isDirty=!0)});rt.prototype.remove.apply(t,arguments)}});lt.column=ir;f=vt(ir,{type:"bar",init:function(n){n.inverted=this.inverted=!0;ir.prototype.init.apply(this,arguments)}});lt.bar=f;f=vt(rt,{type:"scatter",translate:function(){var t=this;rt.prototype.translate.apply(t);n(t.data,function(n){n.shapeType="circle";n.shapeArgs={x:n.plotX,y:n.plotY,r:t.chart.options.tooltip.snap}})},drawTracker:function(){var i,t=this,r=t.options.cursor,u=r&&{cursor:r};n(t.data,function(n){(i=n.graphic)&&i.attr({isTracker:!0}).on("mouseover",function(){t.onMouseOver();n.onMouseOver()}).on("mouseout",function(){t.options.stickyTracking||t.onMouseOut()}).css(u)})},cleanData:function(){}});lt.scatter=f;f=vt(vi,{init:function(){vi.prototype.init.apply(this,arguments);var i,n=this;return e(n,{visible:n.visible!==!1,name:t(n.name,"Slice")}),i=function(){n.slice()},y(n,"select",i),y(n,"unselect",i),n},setVisible:function(n){var t,e=this.series.chart,i=this.tracker,r=this.dataLabel,u=this.connector,f=this.shadowGroup;t=(this.visible=n=n===k?!this.visible:n)?"show":"hide";this.group[t]();i&&i[t]();r&&r[t]();u&&u[t]();f&&f[t]();this.legendItem&&e.legend.colorizeItem(this,n)},slice:function(n,r,u){var f=this.series.chart,e=this.slicedTranslation;si(u,f);t(r,!0);n=this.sliced=i(n)?n:!this.sliced;n={translateX:n?e[0]:f.plotLeft,translateY:n?e[1]:f.plotTop};this.group.animate(n);this.shadowGroup&&this.shadowGroup.animate(n)}});f=vt(rt,{type:"pie",isCartesian:!1,pointClass:f,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var t=this;n(t.data,function(n){var i=n.graphic,r;n=n.shapeArgs;r=-ri/2;i&&(i.attr({r:0,start:r,end:r}),i.animate({r:n.r,start:n.start,end:n.end},t.options.animation))});t.animate=null},translate:function(){var a,v,i,y,it,e,o,c=0,p=-.25,f=this.options,w=f.slicedOffset,k=w+f.borderWidth,t=f.center.concat([f.size,f.innerSize||0]),l=this.chart,d=l.plotWidth,g=l.plotHeight,nt=this.data,b=2*ri,tt=ht(d,g),s=f.dataLabels.distance;t=ai(t,function(n,t){return(it=/%$/.test(n))?[d,g,tt,tt][t]*u(n)/100:n});this.getX=function(n,r){return i=h.asin((n-t[1])/(t[2]/2+s)),t[0]+(r?-1:1)*ft(i)*(t[2]/2+s)};this.center=t;n(nt,function(n){c+=n.y});n(nt,function(n){y=c?n.y/c:0;a=r(p*b*1e3)/1e3;p+=y;v=r(p*b*1e3)/1e3;n.shapeType="arc";n.shapeArgs={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:a,end:v};i=(v+a)/2;n.slicedTranslation=ai([ft(i)*w+l.plotLeft,yt(i)*w+l.plotTop],r);e=ft(i)*t[2]/2;o=yt(i)*t[2]/2;n.tooltipPos=[t[0]+.7*e,t[1]+.7*o];n.labelPos=[t[0]+e+ft(i)*s,t[1]+o+yt(i)*s,t[0]+e+ft(i)*k,t[1]+o+yt(i)*k,t[0]+e,t[1]+o,0>s?"center":b/4>i?"left":"right",i];n.percentage=100*y;n.total=c});this.setTooltipPoints()},render:function(){this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();this.drawDataLabels();this.options.animation&&this.animate&&this.animate();this.isDirty=!1},drawPoints:function(){var i,u,r,t,f,o=this.chart,s=o.renderer,h=this.options.shadow;n(this.data,function(n){u=n.graphic;f=n.shapeArgs;r=n.group;t=n.shadowGroup;h&&!t&&(t=n.shadowGroup=s.g("shadow").attr({zIndex:4}).add());r||(r=n.group=s.g("point").attr({zIndex:5}).add());i=n.sliced?n.slicedTranslation:[o.plotLeft,o.plotTop];r.translate(i[0],i[1]);t&&t.translate(i[0],i[1]);u?u.animate(f):n.graphic=s.arc(f).attr(e(n.pointAttr[it],{"stroke-linejoin":"round"})).add(n.group).shadow(h,t);n.visible===!1&&n.setVisible(!1)})},drawDataLabels:function(){var o,s,i,k=this.data,ft=this.chart,a=this.options.dataLabels,ot=t(a.connectorPadding,10),st=t(a.connectorWidth,1),ct=t(a.softConnector,!0),g=a.distance,b=this.center,ht=b[2]/2;b=b[1];var c,f,l,tt,r,lt=g>0,w=[[],[]],it=2;if(a.enabled)for(rt.prototype.drawDataLabels.apply(this),n(k,function(n){n.dataLabel&&w[n.labelPos[7]<ri/2?0:1].push(n)}),w[1].reverse(),tt=function(n,t){return t.y-n.y},k=w[0][0]&&w[0][0].dataLabel&&u(w[0][0].dataLabel.styles.lineHeight);it--;){var e,h=[],ut=[],p=w[it],y=p.length;for(r=b-ht-g;b+ht+g>=r;r+=k)h.push(r);if(l=h.length,y>l){for(i=[].concat(p),i.sort(tt),r=y;r--;)i[r].rank=r;for(r=y;r--;)p[r].rank>=l&&p.splice(r,1);y=p.length}for(r=0;y>r;r++){for(o=p[r],i=o.labelPos,o=9999,f=0;l>f;f++)s=nt(h[f]-i[1]),o>s&&(o=s,e=f);if(r>e&&null!==h[r])e=r;else for(y-r+e>l&&null!==h[r]&&(e=l-y+r);null===h[e];)e++;ut.push({i:e,y:h[e]});h[e]=null}for(ut.sort(tt),r=0;y>r;r++)o=p[r],i=o.labelPos,s=o.dataLabel,f=ut.pop(),c=i[1],l=o.visible===!1?et:pt,e=f.i,f=f.y,(c>f&&null!==h[e+1]||f>c&&null!==h[e-1])&&(f=c),c=this.getX(0===e||e===h.length-1?c:f,it),s.attr({visibility:l,align:i[6]})[s.moved?"animate":"attr"]({x:c+a.x+({left:ot,right:-ot}[i[6]]||0),y:f+a.y}),s.moved=!0,lt&&st&&(s=o.connector,i=ct?[d,c+("left"===i[6]?5:-5),f,"C",c,f,2*i[2]-i[4],2*i[3]-i[5],i[2],i[3],v,i[4],i[5]]:[d,c+("left"===i[6]?5:-5),f,v,i[2],i[3],v,i[4],i[5]],s?(s.animate({d:i}),s.attr("visibility",l)):o.connector=s=this.chart.renderer.path(i).attr({"stroke-width":st,stroke:a.connectorColor||o.color||"#606060",visibility:l,zIndex:3}).translate(ft.plotLeft,ft.plotTop).add())}},drawTracker:ir.prototype.drawTracker,getSymbol:function(){}});lt.pie=f;g.Highcharts={Chart:ou,dateFormat:er,pathAnim:bi,getOptions:function(){return b},hasRtlBug:gu,numberFormat:iu,Point:vi,Color:ni,Renderer:ur,seriesTypes:lt,setOptions:function(n){return b=s(b,n),eu(),b},Series:rt,addEvent:y,removeEvent:st,createElement:tt,discardElement:hi,css:a,each:n,extend:e,map:ai,merge:s,pick:t,extendClass:vt,product:"Highcharts",version:"2.1.9"}}();!function(n){n.fn.highchartTable=function(){var u=["column","line","area","spline","pie"],r=function(t,i){var e=n(t).data(i);if("undefined"!=typeof e){for(var r=e.split("."),u=window[r[0]],f=1,o=r.length;o>f;f++)u=u[r[f]];return u}};return this.each(function(){var h,s=n(this),f=n(s),ft=1,et=n("caption",s),ot=et.length?n(et[0]).text():"",c,w,v,l,b,y,e,o,nt,tt,p,rt,ut;if(1!=f.data("graph-container-before")){if(c=f.data("graph-container"),!c)throw"graph-container data attribute is mandatory";if("#"===c[0]||-1===c.indexOf(".."))h=n(c);else{for(w=s,v=c;-1!==v.indexOf("..");)v=v.replace(/^.. /,""),w=w.parent();h=n(v,w)}if(1!==h.length)throw"graph-container is not available in this DOM or available multiple times";h=h[0]}else f.before("<div><\/div>"),h=f.prev(),h=h[0];if(l=f.data("graph-type"),!l)throw"graph-type data attribute is mandatory";if(-1==n.inArray(l,u))throw"graph-container data attribute must be one of "+u.join(", ");b=f.data("graph-stacking");b||(b="normal");var ri=f.data("graph-datalabels-enabled"),d=1==f.data("graph-inverted"),ui=n("thead th",s),g=[],st=[],ht=0,ct=!1;ui.each(function(t,i){var r=n(i),y=r.data("graph-value-scale"),s=r.data("graph-type"),c,h,o,a,e,v;-1==n.inArray(s,u)&&(s=l);c=r.data("graph-stack-group");c&&(ct=!0);h=r.data("graph-datalabels-enabled");"undefined"==typeof h&&(h=ri);o=r.data("graph-yaxis");"undefined"!=typeof o&&"1"==o&&(ft=2);a=1==r.data("graph-skip");a&&(ht+=1);e={libelle:r.text(),skip:a,indexTd:t-ht-1,color:r.data("graph-color"),visible:!r.data("graph-hidden"),yAxis:"undefined"!=typeof o?o:0,dashStyle:r.data("graph-dash-style")||"solid",dataLabelsEnabled:1==h,dataLabelsColor:r.data("graph-datalabels-color")||f.data("graph-datalabels-color")};v=r.data("graph-vline-x");"undefined"==typeof v?(e.scale="undefined"!=typeof y?parseFloat(y):1,e.graphType="column"==s&&d?"bar":s,e.stack=c,e.unit=r.data("graph-unit"),g[t]=e):(e.x=v,e.height=r.data("graph-vline-height"),e.name=r.data("graph-vline-name"),st[t]=e)});y=[];n(g).each(function(n,t){var i,u;0==n||t.skip||(i={name:t.libelle+(t.unit?" ("+t.unit+")":""),data:[],type:t.graphType,stack:t.stack,color:t.color,visible:t.visible,yAxis:t.yAxis,dashStyle:t.dashStyle,marker:{enabled:!1},dataLabels:{enabled:t.dataLabelsEnabled,color:t.dataLabelsColor,align:f.data("graph-datalabels-align")||("column"==l&&1==d?void 0:"center")}},t.dataLabelsEnabled&&(u=r(s,"graph-datalabels-formatter"),u&&(i.dataLabels.formatter=function(){return u(this.y)})),y.push(i))});n(st).each(function(n,t){"undefined"==typeof t||t.skip||y.push({name:t.libelle,data:[{x:t.x,y:0,name:t.name},{x:t.x,y:t.height,name:t.name}],type:"spline",color:t.color,visible:t.visible,marker:{enabled:!1}})});var k=[],lt=r(s,"graph-point-callback"),at="datetime"==f.data("graph-xaxis-type"),fi=n("tbody:first tr",s);for(fi.each(function(t,r){if(!n(r).data("graph-skip")){var u=n("td",r);u.each(function(u,e){var l,a=g[u],o,s,v,nt,p,h,w,b,c,d;a.skip||(o=n(e),0==u?(l=o.text(),k.push(l)):(s=o.text(),v=y[a.indexTd],0==s.length?at||v.data.push(null):(nt=s.replace(/\s/g,"").replace(/,/,"."),p={value:nt,rawValue:s,td:o,tr:n(r),indexTd:u,indexTr:t},f.trigger("highchartTable.cleanValue",p),l=Math.round(parseFloat(p.value)*a.scale*100)/100,h=o.data("graph-x"),at&&(h=n("td",n(r)).first().text(),w=i(h),h=w.getTime()-6e4*w.getTimezoneOffset()),b=o.data("graph-name"),c={name:"undefined"!=typeof b?b:s,y:l,x:h},lt&&(c.events={click:function(){return lt(this)}}),"pie"===a.graphType&&o.data("graph-item-highlight")&&(c.sliced=1),d=o.data("graph-item-color"),"undefined"!=typeof d&&(c.color=d),v.data.push(c))))})}}),o=function(n,t,i){var r=n.data("graph-yaxis-"+t+"-"+i);return"undefined"!=typeof r?r:n.data("graph-yaxis"+t+"-"+i)},nt=[],e=1;ft>=e;e++)tt={title:{text:"undefined"!=typeof o(f,e,"title-text")?o(f,e,"title-text"):null},max:"undefined"!=typeof o(f,e,"max")?o(f,e,"max"):null,min:"undefined"!=typeof o(f,e,"min")?o(f,e,"min"):null,reversed:"1"==o(f,e,"reversed"),opposite:"1"==o(f,e,"opposite"),tickInterval:o(f,e,"tick-interval")||null,labels:{rotation:o(f,e,"rotation")||0},startOnTick:"0"!=o(f,e,"start-on-tick"),endOnTick:"0"!=o(f,e,"end-on-tick"),stackLabels:{enabled:"1"==o(f,e,"stacklabels-enabled")},gridLineInterpolation:o(f,e,"grid-line-interpolation")||null},p=r(s,"graph-yaxis-"+e+"-formatter-callback"),p||(p=r(s,"graph-yaxis"+e+"-formatter-callback")),p&&(tt.labels.formatter=function(){return p(this.value)}),nt.push(tt);for(var vt=["#4572A7","#AA4643","#89A54E","#80699B","#3D96AE","#DB843D","#92A8CD","#A47D7C","#B5CA92"],yt=[],it="undefined"!=typeof Highcharts.theme&&"undefined"!=typeof Highcharts.theme.colors?Highcharts.theme.colors:[],pt=f.data("graph-line-shadow"),wt=f.data("graph-line-width")||2,ei=Math.max(vt.length,it.length),a=0;ei>a;a++)rt="graph-color-"+(a+1),yt.push("undefined"!=typeof f.data(rt)?f.data(rt):"undefined"!=typeof it[a]?it[a]:vt[a]);var bt=f.data("graph-margin-top"),kt=f.data("graph-margin-right"),dt=f.data("graph-margin-bottom"),gt=f.data("graph-margin-left"),ni=f.data("graph-xaxis-labels-enabled"),ti={},ii=f.data("graph-xaxis-labels-font-size");"undefined"!=typeof ii&&(ti.fontSize=ii);ut={colors:yt,chart:{renderTo:h,inverted:d,marginTop:"undefined"!=typeof bt?bt:null,marginRight:"undefined"!=typeof kt?kt:null,marginBottom:"undefined"!=typeof dt?dt:null,marginLeft:"undefined"!=typeof gt?gt:null,spacingTop:f.data("graph-spacing-top")||10,height:f.data("graph-height")||null,zoomType:f.data("graph-zoom-type")||null,polar:f.data("graph-polar")||null},title:{text:ot},subtitle:{text:f.data("graph-subtitle-text")||""},legend:{enabled:"1"!=f.data("graph-legend-disabled"),layout:f.data("graph-legend-layout")||"horizontal",symbolWidth:f.data("graph-legend-width")||30,x:f.data("graph-legend-x")||15,y:f.data("graph-legend-y")||0},xAxis:{categories:"datetime"!=f.data("graph-xaxis-type")?k:void 0,type:"datetime"==f.data("graph-xaxis-type")?"datetime":void 0,reversed:"1"==f.data("graph-xaxis-reversed"),opposite:"1"==f.data("graph-xaxis-opposite"),showLastLabel:"undefined"!=typeof f.data("graph-xaxis-show-last-label")?f.data("graph-xaxis-show-last-label"):!0,tickInterval:f.data("graph-xaxis-tick-interval")||null,dateTimeLabelFormats:{second:"%e. %b",minute:"%e. %b",hour:"%e. %b",day:"%e. %b",week:"%e. %b",month:"%e. %b",year:"%e. %b"},labels:{rotation:f.data("graph-xaxis-rotation")||void 0,align:f.data("graph-xaxis-align")||void 0,enabled:"undefined"!=typeof ni?ni:!0,style:ti},startOnTick:f.data("graph-xaxis-start-on-tick"),endOnTick:f.data("graph-xaxis-end-on-tick"),min:t(s,"min"),max:t(s,"max"),alternateGridColor:f.data("graph-xaxis-alternateGridColor")||null,title:{text:f.data("graph-xaxis-title-text")||null},gridLineWidth:f.data("graph-xaxis-gridLine-width")||0,gridLineDashStyle:f.data("graph-xaxis-gridLine-style")||"ShortDot",tickmarkPlacement:f.data("graph-xaxis-tickmark-placement")||"between",lineWidth:f.data("graph-xaxis-line-width")||0},yAxis:nt,tooltip:{formatter:function(){if("datetime"==f.data("graph-xaxis-type"))return"<b>"+this.series.name+"<\/b><br/>"+Highcharts.dateFormat("%e. %b",this.x)+" : "+this.y;var n="undefined"!=typeof k[this.point.x]?k[this.point.x]:this.point.x;return"pie"===l?"<strong>"+this.series.name+"<\/strong><br />"+n+" : "+this.point.y:"<strong>"+this.series.name+"<\/strong><br />"+n+" : "+this.point.name}},credits:{enabled:!1},plotOptions:{line:{dataLabels:{enabled:!0},lineWidth:wt},area:{lineWidth:wt,shadow:"undefined"!=typeof pt?pt:!0,fillOpacity:f.data("graph-area-fillOpacity")||.75},pie:{allowPointSelect:!0,dataLabels:{enabled:!0},showInLegend:"1"==f.data("graph-pie-show-in-legend"),size:"80%"},series:{animation:!1,stickyTracking:!1,stacking:ct?b:null,groupPadding:f.data("graph-group-padding")||0}},series:y,exporting:{filename:ot.replace(/ /g,"_"),buttons:{exportButton:{menuItems:null,onclick:function(){this.exportChart()}}}}};f.trigger("highchartTable.beforeRender",ut);new Highcharts.Chart(ut)}),this};var t=function(t,r){var u=n(t).data("graph-xaxis-"+r),f;return"undefined"!=typeof u?"datetime"==n(t).data("graph-xaxis-type")?(f=i(u),f.getTime()-6e4*f.getTimezoneOffset()):u:null},i=function(n){var t=n.split(" "),i=t[0].split("-"),u=null,f=null,r;return t[1]&&(r=t[1].split(":"),u=parseInt(r[0],10),f=parseInt(r[1],10)),new Date(parseInt(i[0],10),parseInt(i[1],10)-1,parseInt(i[2],10),u,f)}}(jQuery)