]>
git.r.bdr.sh - rbdr/dotfiles/blob - atom/packages/pretty-json/node_modules/jsonminify/report/assets/scripts/vendor/morris.min.js
54b5a2bc853ad7e3aea508f9a372f6053740dece
1 (function(){var e
,t
,n
,r
,i
=[].slice
,s
={}.hasOwnProperty
,o=function(e
,t
){function r(){this.constructor=e
}for(var n
in t
)s
.call(t
,n
)&&(e
[n
]=t
[n
]);return r
.prototype=t
.prototype,e
.prototype=new r
,e
.__super__
=t
.prototype,e
},u=function(e
,t
){return function(){return e
.apply(t
,arguments
)}},a
=[].indexOf
||function(e
){for(var t
=0,n
=this.length
;t
<n
;t
++)if(t
in this&&this[t
]===e
)return t
;return-1};t
=window
.Morris
={},e
=jQuery
,t
.EventEmitter=function(){function e(){}return e
.prototype.on=function(e
,t
){return this.handlers
==null&&(this.handlers
={}),this.handlers
[e
]==null&&(this.handlers
[e
]=[]),this.handlers
[e
].push(t
)},e
.prototype.fire=function(){var e
,t
,n
,r
,s
,o
,u
;n
=arguments
[0],e
=2<=arguments
.length
?i
.call(arguments
,1):[];if(this.handlers
!=null&&this.handlers
[n
]!=null){o
=this.handlers
[n
],u
=[];for(r
=0,s
=o
.length
;r
<s
;r
++)t
=o
[r
],u
.push(t
.apply(null,e
));return u
}},e
}(),t
.commas=function(e
){var t
,n
,r
,i
;return e
!=null?(r
=e
<0?"-":"",t
=Math
.abs(e
),n
=Math
.floor(t
).toFixed(0),r
+=n
.replace(/(?=(?:\d{3})+$)(?!^)/g,","),i
=t
.toString(),i
.length
>n
.length
&&(r
+=i
.slice(n
.length
)),r
):"-"},t
.pad2=function(e
){return(e
<10?"0":"")+e
},t
.Grid=function(n
){function r(t
){typeof t
.element
=="string"?this.el
=e(document
.getElementById(t
.element
)):this.el
=e(t
.element
);if(this.el
==null||this.el
.length
===0)throw new Error("Graph container element not found");this.options
=e
.extend({},this.gridDefaults
,this.defaults
||{},t
);if(this.options
.data
===void 0||this.options
.data
.length
===0)return;typeof this.options
.units
=="string"&&(this.options
.postUnits
=t
.units
),this.r
=new Raphael(this.el
[0]),this.elementWidth
=null,this.elementHeight
=null,this.dirty
=!1,this.init
&&this.init(),this.setData(this.options
.data
)}return o(r
,n
),r
.prototype.gridDefaults
={dateFormat:null,gridLineColor:"#aaa",gridStrokeWidth:.5,gridTextColor:"#888",gridTextSize:12,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(e
,n
){var r
,i
,s
,o
,u
,a
,f
,l
,c
,h
,p
,d
;n
==null&&(n
=!0),h
=this.cumulative
?0:null,p
=this.cumulative
?0:null,this.options
.goals
.length
>0&&(u
=Math
.min
.apply(null,this.options
.goals
),o
=Math
.max
.apply(null,this.options
.goals
),p
=p
!=null?Math
.min(p
,u
):u
,h
=h
!=null?Math
.max(h
,o
):o
),this.data=function(){var n
,r
,o
;o
=[];for(s
=n
=0,r
=e
.length
;n
<r
;s
=++n
)f
=e
[s
],a
={},a
.label
=f
[this.options
.xkey
],this.options
.parseTime
?(a
.x
=t
.parseDate(a
.label
),this.options
.dateFormat
?a
.label
=this.options
.dateFormat(a
.x
):typeof a
.label
=="number"&&(a
.label
=(new Date(a
.label
)).toString())):a
.x
=s
,l
=0,a
.y=function(){var e
,t
,n
,r
;n
=this.options
.ykeys
,r
=[];for(i
=e
=0,t
=n
.length
;e
<t
;i
=++e
)c
=n
[i
],d
=f
[c
],typeof d
=="string"&&(d
=parseFloat(d
)),d
!=null&&typeof d
!="number"&&(d
=null),d
!=null&&(this.cumulative
?l
+=d:h
!=null?(h
=Math
.max(d
,h
),p
=Math
.min(d
,p
)):h
=p
=d
),this.cumulative
&&l
!=null&&(h
=Math
.max(l
,h
),p
=Math
.min(l
,p
)),r
.push(d
);return r
}.call(this),o
.push(a
);return o
}.call(this),this.options
.parseTime
&&(this.data
=this.data
.sort(function(e
,t
){return(e
.x
>t
.x
)-(t
.x
>e
.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 e
,n
,i
,s
;i
=this.options
.events
,s
=[];for(e
=0,n
=i
.length
;e
<n
;e
++)r
=i
[e
],s
.push(t
.parseDate(r
));return s
}.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),typeof this.options
.ymax
=="string"?this.options
.ymax
.slice(0,4)==="auto"?this.options
.ymax
.length
>5?(this.ymax
=parseInt(this.options
.ymax
.slice(5),10),h
!=null&&(this.ymax
=Math
.max(h
,this.ymax
))):this.ymax
=h
!=null?h:0:this.ymax
=parseInt(this.options
.ymax
,10):this.ymax
=this.options
.ymax
,typeof this.options
.ymin
=="string"?this.options
.ymin
.slice(0,4)==="auto"?this.options
.ymin
.length
>5?(this.ymin
=parseInt(this.options
.ymin
.slice(5),10),p
!=null&&(this.ymin
=Math
.min(p
,this.ymin
))):this.ymin
=p
!==null?p:0:this.ymin
=parseInt(this.options
.ymin
,10):this.ymin
=this.options
.ymin
,this.ymin
===this.ymax
&&(p
&&(this.ymin
-=1),this.ymax
+=1),this.yInterval
=(this.ymax
-this.ymin
)/(this.options.numLines-1),this.yInterval>0&&this.yInterval<1?this.precision=-Math.floor(Math.log(this.yInterval)/Math
.log(10)):this.precision
=0,this.dirty
=!0;if(n
)return this.redraw()},r
.prototype._calc=function(){var e
,t
,n
;n
=this.el
.width(),e
=this.el
.height();if(this.elementWidth
!==n
||this.elementHeight
!==e
||this.dirty
){this.elementWidth
=n
,this.elementHeight
=e
,this.dirty
=!1,t
=Math
.max(this.measureText(this.yAxisFormat(this.ymin
),this.options
.gridTextSize
).width
,this.measureText(this.yAxisFormat(this.ymax
),this.options
.gridTextSize
).width
),this.left
=t
+this.options
.padding
,this.right
=this.elementWidth
-this.options
.padding
,this.top
=this.options
.padding
,this.bottom
=this.elementHeight
-this.options
.padding
-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
);if(this.calc
)return this.calc()}},r
.prototype.transY=function(e
){return this.bottom
-(e
-this.ymin
)*this.dy
},r
.prototype.transX=function(e
){return this.data
.length
===1?(this.left
+this.right
)/2:this.left
+(e
-this.xmin
)*this.dx
},r
.prototype.redraw=function(){this.r
.clear(),this._calc(),this.drawGrid(),this.drawGoals(),this.drawEvents();if(this.draw
)return this.draw()},r
.prototype.drawGoals=function(){var e
,t
,n
,r
,i
,s
;i
=this.options
.goals
,s
=[];for(t
=n
=0,r
=i
.length
;n
<r
;t
=++n
)e
=i
[t
],s
.push(this.r
.path("M"+this.left
+","+this.transY(e
)+"H"+(this.left
+this.width
)).attr("stroke",this.options
.goalLineColors
[t
%this.options
.goalLineColors
.length
]).attr("stroke-width",this.options
.goalStrokeWidth
));return s
},r
.prototype.drawEvents=function(){var e
,t
,n
,r
,i
,s
;i
=this.events
,s
=[];for(t
=n
=0,r
=i
.length
;n
<r
;t
=++n
)e
=i
[t
],s
.push(this.r
.path("M"+this.transX(e
)+","+this.bottom
+"V"+this.top
).attr("stroke",this.options
.eventLineColors
[t
%this.options
.eventLineColors
.length
]).attr("stroke-width",this.options
.eventStrokeWidth
));return s
},r
.prototype.drawGrid=function(){var e
,t
,n
,r
,i
,s
,o
,u
;e
=this.ymin
,t
=this.ymax
,u
=[];for(n
=s
=e
,o
=this.yInterval
;e
<=t
?s
<=t:s
>=t
;n
=s
+=o
)r
=parseFloat(n
.toFixed(this.precision
)),i
=this.transY(r
),this.r
.text(this.left
-this.options
.padding
/2,i
,this.yAxisFormat(r
)).attr("font-size",this.options
.gridTextSize
).attr("fill",this.options
.gridTextColor
).attr("text-anchor","end"),u
.push(this.r
.path("M"+this.left
+","+i
+"H"+(this.left
+this.width
)).attr("stroke",this.options
.gridLineColor
).attr("stroke-width",this.options
.gridStrokeWidth
));return u
},r
.prototype.measureText=function(e
,t
){var n
,r
;return t
==null&&(t
=12),r
=this.r
.text(100,100,e
).attr("font-size",t
),n
=r
.getBBox(),r
.remove(),n
},r
.prototype.yAxisFormat=function(e
){return this.yLabelFormat(e
)},r
.prototype.yLabelFormat=function(e
){return""+this.options
.preUnits
+t
.commas(e
)+this.options
.postUnits
},r
}(t
.EventEmitter
),t
.parseDate=function(e
){var t
,n
,r
,i
,s
,o
,u
,a
,f
,l
,c
;return typeof e
=="number"?e:(n
=e
.match(/^(\d
+) Q(\d
)$/),i=e.match(/^(\d
+)-(\d
+)$/),s=e.match(/^(\d
+)-(\d
+)-(\d
+)$/),u=e.match(/^(\d
+) W(\d
+)$/),a=e.match(/^(\d
+)-(\d
+)-(\d
+)[ T
](\d
+):(\d
+)(Z
|([+-])(\d
\d
):?(\d
\d
))?$/),f=e.match(/^(\d
+)-(\d
+)-(\d
+)[ T
](\d
+):(\d
+):(\d
+(\.\d
+)?)(Z
|([+-])(\d
\d
):?(\d
\d
))?$/),n
?(new Date(parseInt(n
[1],10),parseInt(n
[2],10)*3-1,1)).getTime():i
?(new Date(parseInt(i
[1],10),parseInt(i
[2],10)-1,1)).getTime():s
?(new Date(parseInt(s
[1],10),parseInt(s
[2],10)-1,parseInt(s
[3],10))).getTime():u
?(l
=new Date(parseInt(u
[1],10),0,1),l
.getDay()!==4&&l
.setMonth(0,1+(4-l
.getDay()+7)%7),l
.getTime()+parseInt(u
[2],10)*6048e5
):a
?a
[6]?(o
=0,a
[6]!=="Z"&&(o
=parseInt(a
[8],10)*60+parseInt(a
[9],10),a
[7]==="+"&&(o
=0-o
)),Date
.UTC(parseInt(a
[1],10),parseInt(a
[2],10)-1,parseInt(a
[3],10),parseInt(a
[4],10),parseInt(a
[5],10)+o
)):(new Date(parseInt(a
[1],10),parseInt(a
[2],10)-1,parseInt(a
[3],10),parseInt(a
[4],10),parseInt(a
[5],10))).getTime():f
?(c
=parseFloat(f
[6]),t
=Math
.floor(c
),r
=Math
.round((c
-t
)*1e3
),f
[8]?(o
=0,f
[8]!=="Z"&&(o
=parseInt(f
[10],10)*60+parseInt(f
[11],10),f
[9]==="+"&&(o
=0-o
)),Date
.UTC(parseInt(f
[1],10),parseInt(f
[2],10)-1,parseInt(f
[3],10),parseInt(f
[4],10),parseInt(f
[5],10)+o
,t
,r
)):(new Date(parseInt(f
[1],10),parseInt(f
[2],10)-1,parseInt(f
[3],10),parseInt(f
[4],10),parseInt(f
[5],10),t
,r
)).getTime()):(new Date(parseInt(e
,10),0,1)).getTime())},t
.Line=function(e
){function n(e
){this.updateHilight
=u(this.updateHilight
,this),this.hilight
=u(this.hilight
,this),this.updateHover
=u(this.updateHover
,this);if(!(this instanceof t
.Line
))return new t
.Line(e
);n
.__super__
.constructor.call(this,e
)}return o(n
,e
),n
.prototype.init=function(){var e
,t
=this;return this.pointGrow
=Raphael
.animation({r:this.options
.pointSize
+3},25,"linear"),this.pointShrink
=Raphael
.animation({r:this.options
.pointSize
},25,"linear"),this.prevHilight
=null,this.el
.mousemove(function(e
){return t
.updateHilight(e
.pageX
)}),this.options
.hideHover
&&this.el
.mouseout(function(e
){return t
.hilight(null)}),e=function(e
){var n
;return n
=e
.originalEvent
.touches
[0]||e
.originalEvent
.changedTouches
[0],t
.updateHilight(n
.pageX
),n
},this.el
.bind("touchstart",e
),this.el
.bind("touchmove",e
),this.el
.bind("touchend",e
),this.el
.bind("click",function(e
){if(t
.prevHilight
!==null)return t
.fire("click",t
.prevHilight
,t
.data
[t
.prevHilight
])})},n
.prototype.defaults
={lineWidth:3,pointSize:4,lineColors:["#0b62a4","#7A92A3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],pointWidths:[1],pointStrokeColors:["#ffffff"],pointFillColors:[],hoverPaddingX:10,hoverPaddingY:5,hoverMargin:10,hoverFillColor:"#fff",hoverBorderColor:"#ccc",hoverBorderWidth:2,hoverOpacity:.95,hoverLabelColor:"#444",hoverFontSize:12,smooth:!0,hideHover:!1,xLabels:"auto",xLabelFormat:null,continuousLine:!0},n
.prototype.calc=function(){return this.calcPoints(),this.generatePaths(),this.calcHoverMargins()},n
.prototype.calcPoints=function(){var e
,t
,n
,r
,i
,s
;i
=this.data
,s
=[];for(n
=0,r
=i
.length
;n
<r
;n
++)e
=i
[n
],e
._x
=this.transX(e
.x
),s
.push(e
._y=function(){var n
,r
,i
,s
;i
=e
.y
,s
=[];for(n
=0,r
=i
.length
;n
<r
;n
++)t
=i
[n
],t
!=null?s
.push(this.transY(t
)):s
.push(t
);return s
}.call(this));return s
},n
.prototype.calcHoverMargins=function(){var e
,t
;return this.hoverMargins=function(){var n
,r
,i
,s
;i
=this.data
.slice(1),s
=[];for(e
=n
=0,r
=i
.length
;n
<r
;e
=++n
)t
=i
[e
],s
.push((t
._x
+this.data
[e
]._x
)/2);return s
}.call(this)},n
.prototype.generatePaths=function(){var e
,n
,r
,i
,s
;return this.paths=function(){var o
,u
,f
,l
;l
=[];for(r
=o
=0,u
=this.options
.ykeys
.length
;0<=u
?o
<u:o
>u
;r
=0<=u
?++o:--o
)s
=this.options
.smooth
===!0||(f
=this.options
.ykeys
[r
],a
.call(this.options
.smooth
,f
)>=0),n=function(){var e
,t
,n
,s
;n
=this.data
,s
=[];for(e
=0,t
=n
.length
;e
<t
;e
++)i
=n
[e
],i
._y
[r
]!==void 0&&s
.push({x:i
._x
,y:i
._y
[r
]});return s
}.call(this),this.options
.continuousLine
&&(n=function(){var t
,r
,i
;i
=[];for(t
=0,r
=n
.length
;t
<r
;t
++)e
=n
[t
],e
.y
!==null&&i
.push(e
);return i
}()),n
.length
>1?l
.push(t
.Line
.createPath(n
,s
,this.bottom
)):l
.push(null);return l
}.call(this)},n
.prototype.draw=function(){return this.drawXAxis(),this.drawSeries(),this.drawHover(),this.hilight(this.options
.hideHover
?null:this.data
.length
-1)},n
.prototype.drawXAxis=function(){var e
,n
,r
,i
,s
,o
,u
,a
,f
,l
,c
=this;u
=this.bottom
+this.options
.gridTextSize
*1.25,o
=50,i
=null,e=function(e
,t
){var n
,r
;return n
=c
.r
.text(c
.transX(t
),u
,e
).attr("font-size",c
.options
.gridTextSize
).attr("fill",c
.options
.gridTextColor
),r
=n
.getBBox(),(i
==null||i
>=r
.x
+r
.width
)&&r
.x
>=0&&r
.x
+r
.width
<c
.el
.width()?i
=r
.x
-o:n
.remove()},this.options
.parseTime
?this.data
.length
===1&&this.options
.xLabels
==="auto"?r
=[[this.data
[0].label
,this.data
[0].x
]]:r
=t
.labelSeries(this.xmin
,this.xmax
,this.width
,this.options
.xLabels
,this.options
.xLabelFormat
):r=function(){var e
,t
,n
,r
;n
=this.data
,r
=[];for(e
=0,t
=n
.length
;e
<t
;e
++)s
=n
[e
],r
.push([s
.label
,s
.x
]);return r
}.call(this),r
.reverse(),l
=[];for(a
=0,f
=r
.length
;a
<f
;a
++)n
=r
[a
],l
.push(e(n
[0],n
[1]));return l
},n
.prototype.drawSeries=function(){var e
,t
,n
,r
,i
,s
,o
,u
,a
;for(t
=i
=o
=this.options
.ykeys
.length
-1;o
<=0?i
<=0:i
>=0;t
=o
<=0?++i:--i
)n
=this.paths
[t
],n
!==null&&this.r
.path(n
).attr("stroke",this.colorForSeries(t
)).attr("stroke-width",this.options
.lineWidth
);this.seriesPoints=function(){var e
,n
,r
;r
=[];for(t
=e
=0,n
=this.options
.ykeys
.length
;0<=n
?e
<n:e
>n
;t
=0<=n
?++e:--e
)r
.push([]);return r
}.call(this),a
=[];for(t
=s
=u
=this.options
.ykeys
.length
-1;u
<=0?s
<=0:s
>=0;t
=u
<=0?++s:--s
)a
.push(function(){var n
,i
,s
,o
;s
=this.data
,o
=[];for(n
=0,i
=s
.length
;n
<i
;n
++)r
=s
[n
],r
._y
[t
]!=null?e
=this.r
.circle(r
._x
,r
._y
[t
],this.options
.pointSize
).attr("fill",this.pointFillColorForSeries(t
)||this.colorForSeries(t
)).attr("stroke-width",this.strokeWidthForSeries(t
)).attr("stroke",this.strokeForSeries(t
)):e
=null,o
.push(this.seriesPoints
[t
].push(e
));return o
}.call(this));return a
},n
.createPath=function(e
,n
,r
){var i
,s
,o
,u
,a
,f
,l
,c
,h
,p
,d
,v
,m
,g
;l
="",n
&&(o
=t
.Line
.gradients(e
)),c
={y:null};for(u
=m
=0,g
=e
.length
;m
<g
;u
=++m
){i
=e
[u
];if(i
.y
!=null)if(c
.y
!=null)n
?(s
=o
[u
],f
=o
[u
-1],a
=(i
.x
-c
.x
)/4,h
=c
.x
+a
,d
=Math
.min(r
,c
.y
+a
*f
),p
=i
.x
-a
,v
=Math
.min(r
,i
.y
-a
*s
),l
+="C"+h
+","+d
+","+p
+","+v
+","+i
.x
+","+i
.y
):l
+="L"+i
.x
+","+i
.y
;else if(!n
||o
[u
]!=null)l
+="M"+i
.x
+","+i
.y
;c
=i
}return l
},n
.gradients=function(e
){var t
,n
,r
,i
,s
,o
,u
,a
;n=function(e
,t
){return(e
.y
-t
.y
)/(e
.x
-t
.x
)},a
=[];for(r
=o
=0,u
=e
.length
;o
<u
;r
=++o
)t
=e
[r
],t
.y
!=null?(i
=e
[r
+1]||{y:null},s
=e
[r
-1]||{y:null},s
.y
!=null&&i
.y
!=null?a
.push(n(s
,i
)):s
.y
!=null?a
.push(n(s
,t
)):i
.y
!=null?a
.push(n(t
,i
)):a
.push(null)):a
.push(null);return a
},n
.prototype.drawHover=function(){var e
,t
,n
,r
,i
,s
;this.hoverHeight
=this.options
.hoverFontSize
*1.5*(this.options
.ykeys
.length
+1),this.hover
=this.r
.rect(-10,-this.hoverHeight
/2-this.options.hoverPaddingY,20,this.hoverHeight+this.options.hoverPaddingY*2,10).attr("fill",this.options.hoverFillColor).attr("stroke",this.options.hoverBorderColor).attr("stroke-width",this.options.hoverBorderWidth).attr("opacity",this.options.hoverOpacity),this.xLabel=this.r.text(0,this.options.hoverFontSize*.75-this.hoverHeight/2,"").attr("fill",this.options
.hoverLabelColor
).attr("font-weight","bold").attr("font-size",this.options
.hoverFontSize
),this.hoverSet
=this.r
.set(),this.hoverSet
.push(this.hover
),this.hoverSet
.push(this.xLabel
),this.yLabels
=[],s
=[];for(e
=r
=0,i
=this.options
.ykeys
.length
;0<=i
?r
<i:r
>i
;e
=0<=i
?++r:--r
)t
=this.cumulative
?this.options
.ykeys
.length
-e
-1:e
,n
=this.r
.text(0,this.options
.hoverFontSize
*1.5*(t
+1.5)-this.hoverHeight
/2,"").attr("fill",this.colorForSeries(e
)).attr("font-size",this.options
.hoverFontSize
),this.yLabels
.push(n
),s
.push(this.hoverSet
.push(n
));return s
},n
.prototype.updateHover=function(e
){var t
,n
,r
,i
,s
,o
,u
,a
,f
,l
;this.hoverSet
.show(),i
=this.data
[e
],this.xLabel
.attr("text",i
.label
),l
=i
.y
;for(t
=a
=0,f
=l
.length
;a
<f
;t
=++a
)o
=l
[t
],this.yLabels
[t
].attr("text",""+this.options
.labels
[t
]+": "+this.yLabelFormat(o
));return r
=Math
.max
.apply(null,function(){var e
,t
,r
,i
;r
=this.yLabels
,i
=[];for(e
=0,t
=r
.length
;e
<t
;e
++)n
=r
[e
],i
.push(n
.getBBox().width
);return i
}.call(this)),r
=Math
.max(r
,this.xLabel
.getBBox().width
),this.hover
.attr("width",r
+this.options
.hoverPaddingX
*2),this.hover
.attr("x",-this.options
.hoverPaddingX
-r
/2),u
=Math
.min
.apply(null,function(){var e
,t
,n
,r
;n
=i
._y
,r
=[];for(e
=0,t
=n
.length
;e
<t
;e
++)o
=n
[e
],o
!=null&&r
.push(o
);return r
}().concat(this.bottom
)),u
>this.hoverHeight
+this.options
.hoverPaddingY
*2+this.options
.hoverMargin
+this.top
?u
=u
-this.hoverHeight
/2-this.options.hoverPaddingY-this.options.hoverMargin:u=u+this.hoverHeight/2+this.options
.hoverPaddingY
+this.options
.hoverMargin
,u
=Math
.max(this.top
+this.hoverHeight
/2+this.options.hoverPaddingY,u),u=Math.min(this.bottom-this.hoverHeight/2-this.options
.hoverPaddingY
,u
),s
=Math
.min(this.right
-r
/2-this.options.hoverPaddingX,this.data[e]._x),s=Math.max(this.left+r/2+this.options
.hoverPaddingX
,s
),this.hoverSet
.attr("transform","t"+s
+","+u
)},n
.prototype.hideHover=function(){return this.hoverSet
.hide()},n
.prototype.hilight=function(e
){var t
,n
,r
,i
,s
;if(this.prevHilight
!==null&&this.prevHilight
!==e
)for(t
=n
=0,i
=this.seriesPoints
.length
-1;0<=i
?n
<=i:n
>=i
;t
=0<=i
?++n:--n
)this.seriesPoints
[t
][this.prevHilight
]&&this.seriesPoints
[t
][this.prevHilight
].animate(this.pointShrink
);if(e
!==null&&this.prevHilight
!==e
){for(t
=r
=0,s
=this.seriesPoints
.length
-1;0<=s
?r
<=s:r
>=s
;t
=0<=s
?++r:--r
)this.seriesPoints
[t
][e
]&&this.seriesPoints
[t
][e
].animate(this.pointGrow
);this.updateHover(e
)}this.prevHilight
=e
;if(e
==null)return this.hideHover()},n
.prototype.updateHilight=function(e
){var t
,n
,r
;e
-=this.el
.offset().left
;for(t
=n
=0,r
=this.hoverMargins
.length
;0<=r
?n
<r:n
>r
;t
=0<=r
?++n:--n
)if(this.hoverMargins
[t
]>e
)break;return this.hilight(t
)},n
.prototype.colorForSeries=function(e
){return this.options
.lineColors
[e
%this.options
.lineColors
.length
]},n
.prototype.strokeWidthForSeries=function(e
){return this.options
.pointWidths
[e
%this.options
.pointWidths
.length
]},n
.prototype.strokeForSeries=function(e
){return this.options
.pointStrokeColors
[e
%this.options
.pointStrokeColors
.length
]},n
.prototype.pointFillColorForSeries=function(e
){return this.options
.pointFillColors
[e
%this.options
.pointFillColors
.length
]},n
}(t
.Grid
),t
.labelSeries=function(n
,r
,i
,s
,o
){var u
,a
,f
,l
,c
,h
,p
,d
,v
,m
,g
;f
=200*(r
-n
)/i
,a
=new Date(n
),p
=t
.LABEL_SPECS
[s
];if(p
===void 0){g
=t
.AUTO_LABEL_ORDER
;for(v
=0,m
=g
.length
;v
<m
;v
++){l
=g
[v
],h
=t
.LABEL_SPECS
[l
];if(f
>=h
.span
){p
=h
;break}}}p
===void 0&&(p
=t
.LABEL_SPECS
.second
),o
&&(p
=e
.extend({},p
,{fmt:o
})),u
=p
.start(a
),c
=[];while((d
=u
.getTime())<=r
)d
>=n
&&c
.push([p
.fmt(u
),d
]),p
.incr(u
);return c
},n=function(e
){return{span:e
*60*1e3
,start:function(e
){return new Date(e
.getFullYear(),e
.getMonth(),e
.getDate(),e
.getHours())},fmt:function(e
){return""+t
.pad2(e
.getHours())+":"+t
.pad2(e
.getMinutes())},incr:function(t
){return t
.setMinutes(t
.getMinutes()+e
)}}},r=function(e
){return{span:e
*1e3
,start:function(e
){return new Date(e
.getFullYear(),e
.getMonth(),e
.getDate(),e
.getHours(),e
.getMinutes())},fmt:function(e
){return""+t
.pad2(e
.getHours())+":"+t
.pad2(e
.getMinutes())+":"+t
.pad2(e
.getSeconds())},incr:function(t
){return t
.setSeconds(t
.getSeconds()+e
)}}},t
.LABEL_SPECS
={decade:{span:1728e8
,start:function(e
){return new Date(e
.getFullYear()-e
.getFullYear()%10,0,1)},fmt:function(e
){return""+e
.getFullYear()},incr:function(e
){return e
.setFullYear(e
.getFullYear()+10)}},year:{span:1728e7
,start:function(e
){return new Date(e
.getFullYear(),0,1)},fmt:function(e
){return""+e
.getFullYear()},incr:function(e
){return e
.setFullYear(e
.getFullYear()+1)}},month:{span:24192e5
,start:function(e
){return new Date(e
.getFullYear(),e
.getMonth(),1)},fmt:function(e
){return""+e
.getFullYear()+"-"+t
.pad2(e
.getMonth()+1)},incr:function(e
){return e
.setMonth(e
.getMonth()+1)}},day:{span:864e5
,start:function(e
){return new Date(e
.getFullYear(),e
.getMonth(),e
.getDate())},fmt:function(e
){return""+e
.getFullYear()+"-"+t
.pad2(e
.getMonth()+1)+"-"+t
.pad2(e
.getDate())},incr:function(e
){return e
.setDate(e
.getDate()+1)}},hour:n(60),"30min":n(30),"15min":n(15),"10min":n(10),"5min":n(5),minute:n(1),"30sec":r(30),"15sec":r(15),"10sec":r(10),"5sec":r(5),second:r(1)},t
.AUTO_LABEL_ORDER
=["decade","year","month","day","hour","30min","15min","10min","5min","minute","30sec","15sec","10sec","5sec","second"],t
.Area=function(e
){function n(e
){if(!(this instanceof t
.Area
))return new t
.Area(e
);this.cumulative
=!0,n
.__super__
.constructor.call(this,e
)}return o(n
,e
),n
.prototype.calcPoints=function(){var e
,t
,n
,r
,i
,s
,o
;s
=this.data
,o
=[];for(r
=0,i
=s
.length
;r
<i
;r
++)e
=s
[r
],e
._x
=this.transX(e
.x
),t
=0,o
.push(e
._y=function(){var r
,i
,s
,o
;s
=e
.y
,o
=[];for(r
=0,i
=s
.length
;r
<i
;r
++)n
=s
[r
],t
+=n
||0,o
.push(this.transY(t
));return o
}.call(this));return o
},n
.prototype.drawSeries=function(){var e
,t
,r
,i
;for(e
=r
=i
=this.options
.ykeys
.length
-1;i
<=0?r
<=0:r
>=0;e
=i
<=0?++r:--r
)t
=this.paths
[e
],t
!==null&&(t
+="L"+this.transX(this.xmax
)+","+this.bottom
+"L"+this.transX(this.xmin
)+","+this.bottom
+"Z",this.r
.path(t
).attr("fill",this.fillForSeries(e
)).attr("stroke-width",0));return n
.__super__
.drawSeries
.call(this)},n
.prototype.fillForSeries=function(e
){var t
;return t
=Raphael
.rgb2hsl(this.colorForSeries(e
)),Raphael
.hsl(t
.h
,Math
.min(255,t
.s
*.75),Math
.min(255,t
.l
*1.25))},n
}(t
.Line
),t
.Bar=function(n
){function r(n
){this.updateHilight
=u(this.updateHilight
,this),this.hilight
=u(this.hilight
,this),this.updateHover
=u(this.updateHover
,this);if(!(this instanceof t
.Bar
))return new t
.Bar(n
);r
.__super__
.constructor.call(this,e
.extend({},n
,{parseTime:!1}))}return o(r
,n
),r
.prototype.init=function(){var e
,t
=this;return this.cumulative
=this.options
.stacked
,this.prevHilight
=null,this.el
.mousemove(function(e
){return t
.updateHilight(e
.pageX
)}),this.options
.hideHover
&&this.el
.mouseout(function(e
){return t
.hilight(null)}),e=function(e
){var n
;return n
=e
.originalEvent
.touches
[0]||e
.originalEvent
.changedTouches
[0],t
.updateHilight(n
.pageX
),n
},this.el
.bind("touchstart",e
),this.el
.bind("touchmove",e
),this.el
.bind("touchend",e
),this.el
.bind("click",function(e
){if(t
.prevHilight
!==null)return t
.fire("click",t
.prevHilight
,t
.data
[t
.prevHilight
])})},r
.prototype.defaults
={barSizeRatio:.75,barGap:3,barColors:["#0b62a4","#7a92a3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],hoverPaddingX:10,hoverPaddingY:5,hoverMargin:10,hoverFillColor:"#fff",hoverBorderColor:"#ccc",hoverBorderWidth:2,hoverOpacity:.95,hoverLabelColor:"#444",hoverFontSize:12,hideHover:!1},r
.prototype.calc=function(){return this.calcBars(),this.calcHoverMargins()},r
.prototype.calcBars=function(){var e
,t
,n
,r
,i
,s
,o
;s
=this.data
,o
=[];for(e
=r
=0,i
=s
.length
;r
<i
;e
=++r
)t
=s
[e
],t
._x
=this.left
+this.width
*(e
+.5)/this.data
.length
,o
.push(t
._y=function(){var e
,r
,i
,s
;i
=t
.y
,s
=[];for(e
=0,r
=i
.length
;e
<r
;e
++)n
=i
[e
],n
!=null?s
.push(this.transY(n
)):s
.push(null);return s
}.call(this));return o
},r
.prototype.calcHoverMargins=function(){var e
;return this.hoverMargins=function(){var t
,n
,r
;r
=[];for(e
=t
=1,n
=this.data
.length
;1<=n
?t
<n:t
>n
;e
=1<=n
?++t:--t
)r
.push(this.left
+e
*this.width
/this.data
.length
);return r
}.call(this)},r
.prototype.draw=function(){return this.drawXAxis(),this.drawSeries(),this.drawHover(),this.hilight(this.options
.hideHover
?null:this.data
.length
-1)},r
.prototype.drawXAxis=function(){var e
,t
,n
,r
,i
,s
,o
,u
,a
,f
;o
=this.bottom
+this.options
.gridTextSize
*1.25,s
=50,r
=null,f
=[];for(e
=u
=0,a
=this.data
.length
;0<=a
?u
<a:u
>a
;e
=0<=a
?++u:--u
)i
=this.data
[this.data
.length
-1-e
],t
=this.r
.text(i
._x
,o
,i
.label
).attr("font-size",this.options
.gridTextSize
).attr("fill",this.options
.gridTextColor
),n
=t
.getBBox(),(r
==null||r
>=n
.x
+n
.width
)&&n
.x
>=0&&n
.x
+n
.width
<this.el
.width()?f
.push(r
=n
.x
-s
):f
.push(t
.remove());return f
},r
.prototype.drawSeries=function(){var e
,t
,n
,r
,i
,s
,o
,u
,a
,f
,l
,c
,h
,p
;return n
=this.width
/this.options.data.length,u=this.options.stacked!=null?1:this.options.ykeys.length,e=(n*this.options.barSizeRatio-this.options.barGap*(u-1))/u,o
=n
*(1-this.options
.barSizeRatio
)/2,p
=this.ymin
<=0&&this.ymax
>=0?this.transY(0):null,this.bars=function(){var u
,d
,v
,m
;v
=this.data
,m
=[];for(r
=u
=0,d
=v
.length
;u
<d
;r
=++u
)a
=v
[r
],i
=0,m
.push(function(){var u
,d
,v
,m
;v
=a
._y
,m
=[];for(f
=u
=0,d
=v
.length
;u
<d
;f
=++u
)h
=v
[f
],h
!==null?(p
?(c
=Math
.min(h
,p
),t
=Math
.max(h
,p
)):(c
=h
,t
=this.bottom
),s
=this.left
+r
*n
+o
,this.options
.stacked
||(s
+=f
*(e
+this.options
.barGap
)),l
=t
-c
,this.options
.stacked
&&(c
-=i
),this.r
.rect(s
,c
,e
,l
).attr("fill",this.colorFor(a
,f
,"bar")).attr("stroke-width",0),m
.push(i
+=l
)):m
.push(null);return m
}.call(this));return m
}.call(this)},r
.prototype.drawHover=function(){var e
,t
,n
,r
,i
;this.hoverHeight
=this.options
.hoverFontSize
*1.5*(this.options
.ykeys
.length
+1),this.hover
=this.r
.rect(-10,-this.hoverHeight
/2-this.options.hoverPaddingY,20,this.hoverHeight+this.options.hoverPaddingY*2,10).attr("fill",this.options.hoverFillColor).attr("stroke",this.options.hoverBorderColor).attr("stroke-width",this.options.hoverBorderWidth).attr("opacity",this.options.hoverOpacity),this.xLabel=this.r.text(0,this.options.hoverFontSize*.75-this.hoverHeight/2,"").attr("fill",this.options
.hoverLabelColor
).attr("font-weight","bold").attr("font-size",this.options
.hoverFontSize
),this.hoverSet
=this.r
.set(),this.hoverSet
.push(this.hover
),this.hoverSet
.push(this.xLabel
),this.yLabels
=[],i
=[];for(e
=n
=0,r
=this.options
.ykeys
.length
;0<=r
?n
<r:n
>r
;e
=0<=r
?++n:--n
)t
=this.r
.text(0,this.options
.hoverFontSize
*1.5*(e
+1.5)-this.hoverHeight
/2,"").attr("font-size",this.options
.hoverFontSize
),this.yLabels
.push(t
),i
.push(this.hoverSet
.push(t
));return i
},r
.prototype.updateHover=function(e
){var t
,n
,r
,i
,s
,o
,u
,a
,f
,l
;this.hoverSet
.show(),i
=this.data
[e
],this.xLabel
.attr("text",i
.label
),l
=i
.y
;for(t
=a
=0,f
=l
.length
;a
<f
;t
=++a
)o
=l
[t
],this.yLabels
[t
].attr("fill",this.colorFor(i
,t
,"hover")),this.yLabels
[t
].attr("text",""+this.options
.labels
[t
]+": "+this.yLabelFormat(o
));return r
=Math
.max
.apply(null,function(){var e
,t
,r
,i
;r
=this.yLabels
,i
=[];for(e
=0,t
=r
.length
;e
<t
;e
++)n
=r
[e
],i
.push(n
.getBBox().width
);return i
}.call(this)),r
=Math
.max(r
,this.xLabel
.getBBox().width
),this.hover
.attr("width",r
+this.options
.hoverPaddingX
*2),this.hover
.attr("x",-this.options
.hoverPaddingX
-r
/2),u=(this.bottom+this.top)/2,s
=Math
.min(this.right
-r
/2-this.options.hoverPaddingX,this.data[e]._x),s=Math.max(this.left+r/2+this.options
.hoverPaddingX
,s
),this.hoverSet
.attr("transform","t"+s
+","+u
)},r
.prototype.hideHover=function(){return this.hoverSet
.hide()},r
.prototype.hilight=function(e
){e
!==null&&this.prevHilight
!==e
&&this.updateHover(e
),this.prevHilight
=e
;if(e
==null)return this.hideHover()},r
.prototype.updateHilight=function(e
){var t
,n
,r
;e
-=this.el
.offset().left
;for(t
=n
=0,r
=this.hoverMargins
.length
;0<=r
?n
<r:n
>r
;t
=0<=r
?++n:--n
)if(this.hoverMargins
[t
]>e
)break;return this.hilight(t
)},r
.prototype.colorFor=function(e
,t
,n
){var r
,i
;return typeof this.options
.barColors
=="function"?(r
={x:e
.x
,y:e
.y
[t
],label:e
.label
},i
={index:t
,key:this.options
.ykeys
[t
],label:this.options
.labels
[t
]},this.options
.barColors
.call(this,r
,i
,n
)):this.options
.barColors
[t
%this.options
.barColors
.length
]},r
}(t
.Grid
),t
.Donut=function(n
){function r(n
){this.click
=u(this.click
,this),this.select
=u(this.select
,this);if(!(this instanceof t
.Donut
))return new t
.Donut(n
);typeof n
.element
=="string"?this.el
=e(document
.getElementById(n
.element
)):this.el
=e(n
.element
),this.options
=e
.extend({},this.defaults
,n
);if(this.el
===null||this.el
.length
===0)throw new Error("Graph placeholder not found.");if(n
.data
===void 0||n
.data
.length
===0)return;this.data
=n
.data
,this.redraw()}return o(r
,n
),r
.prototype.defaults
={colors:["#0B62A4","#3980B5","#679DC6","#95BBD7","#B0CCE1","#095791","#095085","#083E67","#052C48","#042135"],formatter:t
.commas
},r
.prototype.redraw=function(){var e
,n
,r
,i
,s
,o
,u
,a
,f
,l
,c
,h
,p
,d
,v
,m
,g
,y
,b
,w
,E
,S
,x
,T
;this.el
.empty(),this.r
=new Raphael(this.el
[0]),n
=this.el
.width()/2,r=this.el.height()/2,p
=(Math
.min(n
,r
)-10)/3,h=0,E=this.data;for(v=0,y=E.length;v<y;v++)d=E[v],h+=d.value;f=5/(2*p
),e
=1.9999*Math
.PI
-f
*this.data
.length
,u
=0,o
=0,this.segments
=[],S
=this.data
;for(s
=m
=0,b
=S
.length
;m
<b
;s
=++m
)i
=S
[s
],l
=u
+f
+e
*(i
.value
/h
),c
=new t
.DonutSegment(n
,r
,p
*2,p
,u
,l
,this.options
.colors
[o
%this.options
.colors
.length
],i
,s
),c
.render(this.r
),this.segments
.push(c
),c
.on("hover",this.select
),c
.on("click",this.click
),u
=l
,o
+=1;this.text1
=this.r
.text(n
,r
-10,"").attr({"font-size":15,"font-weight":800}),this.text2
=this.r
.text(n
,r
+10,"").attr({"font-size":14}),a
=Math
.max
.apply(null,function(){var e
,t
,n
,r
;n
=this.data
,r
=[];for(e
=0,t
=n
.length
;e
<t
;e
++)i
=n
[e
],r
.push(i
.value
);return r
}.call(this)),o
=0,x
=this.data
,T
=[];for(g
=0,w
=x
.length
;g
<w
;g
++){i
=x
[g
];if(i
.value
===a
){this.select(o
);break}T
.push(o
+=1)}return T
},r
.prototype.select=function(e
){var t
,n
,r
,i
,s
;s
=this.segments
;for(r
=0,i
=s
.length
;r
<i
;r
++)t
=s
[r
],t
.deselect();return typeof e
=="number"?n
=this.segments
[e
]:n
=e
,n
.select(),this.setLabels(n
.data
.label
,this.options
.formatter(n
.data
.value
,n
.data
))},r
.prototype.click=function(e
,t
){return this.fire("click",e
,t
)},r
.prototype.setLabels=function(e
,t
){var n
,r
,i
,s
,o
,u
,a
,f
;return n
=(Math
.min(this.el
.width()/2,this.el.height()/2)-10)*2/3,s=1.8*n,i=n/2,r
=n
/3,this.text1.attr({text:e,transform:""}),o=this.text1.getBBox(),u=Math.min(s/o.width
,i
/o.height),this.text1.attr({transform:"S"+u+","+u+","+(o.x+o.width/2)+","+(o
.y
+o
.height
)}),this.text2
.attr({text:t
,transform:""}),a
=this.text2
.getBBox(),f
=Math
.min(s
/a.width,r/a.height
),this.text2
.attr({transform:"S"+f
+","+f
+","+(a
.x
+a
.width
/2)+","+a
.y
})},r
}(t
.EventEmitter
),t
.DonutSegment=function(e
){function t(e
,t
,n
,r
,i
,s
,o
,a
,f
){this.cx
=e
,this.cy
=t
,this.inner
=n
,this.outer
=r
,this.color
=o
,this.data
=a
,this.i
=f
,this.deselect
=u(this.deselect
,this),this.select
=u(this.select
,this),this.sin_p0
=Math
.sin(i
),this.cos_p0
=Math
.cos(i
),this.sin_p1
=Math
.sin(s
),this.cos_p1
=Math
.cos(s
),this.long=s
-i
>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 o(t
,e
),t
.prototype.calcArcPoints=function(e
){return[this.cx
+e
*this.sin_p0
,this.cy
+e
*this.cos_p0
,this.cx
+e
*this.sin_p1
,this.cy
+e
*this.cos_p1
]},t
.prototype.calcSegment=function(e
,t
){var n
,r
,i
,s
,o
,u
,a
,f
,l
,c
;return l
=this.calcArcPoints(e
),n
=l
[0],i
=l
[1],r
=l
[2],s
=l
[3],c
=this.calcArcPoints(t
),o
=c
[0],a
=c
[1],u
=c
[2],f
=c
[3],"M"+n
+","+i
+("A"+e
+","+e
+",0,"+this.long+",0,"+r
+","+s
)+("L"+u
+","+f
)+("A"+t
+","+t
+",0,"+this.long+",1,"+o
+","+a
)+"Z"},t
.prototype.calcArc=function(e
){var t
,n
,r
,i
,s
;return s
=this.calcArcPoints(e
),t
=s
[0],r
=s
[1],n
=s
[2],i
=s
[3],"M"+t
+","+r
+("A"+e
+","+e
+",0,"+this.long+",0,"+n
+","+i
)},t
.prototype.render=function(e
){var t
=this;return this.arc
=e
.path(this.hilight
).attr({stroke:this.color
,"stroke-width":2,opacity:0}),this.seg
=e
.path(this.path
).attr({fill:this.color
,stroke:"white","stroke-width":3}).hover(function(){return t
.fire("hover",t
)}).click(function(){return t
.fire("click",t
.i
,t
.data
)})},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
}(t
.EventEmitter
)}).call(this);