(function () { var t, i, e, s, n, o, a, h, r, l, p, c, u, d = [].slice, g = {}.hasOwnProperty, m = function (t, i) { function e() { this.constructor = t; } for (var s in i) g.call(i, s) && (t[s] = i[s]); return ( (e.prototype = i.prototype), (t.prototype = new e()), (t.__super__ = i.prototype), t ); }; !(function () { var t, i, e, s, n, o, a; for ( a = ["ms", "moz", "webkit", "o"], e = 0, n = a.length; e < n && ((o = a[e]), !window.requestAnimationFrame); e++ ) (window.requestAnimationFrame = window[o + "RequestAnimationFrame"]), (window.cancelAnimationFrame = window[o + "CancelAnimationFrame"] || window[o + "CancelRequestAnimationFrame"]); (t = null), (s = 0), (i = {}), requestAnimationFrame ? window.cancelAnimationFrame || ((t = window.requestAnimationFrame), (window.requestAnimationFrame = function (e, n) { var o; return ( (o = ++s), t(function () { if (!i[o]) return e(); }, n), o ); }), (window.cancelAnimationFrame = function (t) { return (i[t] = !0); })) : ((window.requestAnimationFrame = function (t, i) { var e, s, n, o; return ( (e = new Date().getTime()), (o = Math.max(0, 16 - (e - n))), (s = window.setTimeout(function () { return t(e + o); }, o)), (n = e + o), s ); }), (window.cancelAnimationFrame = function (t) { return clearTimeout(t); })); })(), (u = function (t) { var i, e; for ( i = Math.floor(t / 3600), e = Math.floor((t - 3600 * i) / 60), t -= 3600 * i + 60 * e, t += "", e += ""; e.length < 2; ) e = "0" + e; for (; t.length < 2; ) t = "0" + t; return (i = i ? i + ":" : "") + e + ":" + t; }), (p = function () { var t, i, e; return ( (i = 1 <= arguments.length ? d.call(arguments, 0) : []), (e = i[0]), (t = i[1]), r(e.toFixed(t)) ); }), (c = function (t, i) { var e, s, n; s = {}; for (e in t) g.call(t, e) && ((n = t[e]), (s[e] = n)); for (e in i) g.call(i, e) && ((n = i[e]), (s[e] = n)); return s; }), (r = function (t) { var i, e, s, n; for ( t += "", e = t.split("."), s = e[0], n = "", e.length > 1 && (n = "." + e[1]), i = /(\d+)(\d{3})/; i.test(s); ) s = s.replace(i, "$1,$2"); return s + n; }), (l = function (t) { return "#" === t.charAt(0) ? t.substring(1, 7) : t; }), (h = (function () { function t(t, i) { null == t && (t = !0), (this.clear = null == i || i), t && AnimationUpdater.add(this); } return ( (t.prototype.animationSpeed = 32), (t.prototype.update = function (t) { var i; return ( null == t && (t = !1), !(!t && this.displayedValue === this.value) && (this.ctx && this.clear && this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height), (i = this.value - this.displayedValue), Math.abs(i / this.animationSpeed) <= 0.001 ? (this.displayedValue = this.value) : (this.displayedValue = this.displayedValue + i / this.animationSpeed), this.render(), !0) ); }), t ); })()), (e = (function (t) { function i() { return i.__super__.constructor.apply(this, arguments); } return ( m(i, t), (i.prototype.displayScale = 1), (i.prototype.forceUpdate = !0), (i.prototype.setTextField = function (t, i) { return (this.textField = t instanceof a ? t : new a(t, i)); }), (i.prototype.setMinValue = function (t, i) { var e, s, n, o, a; if (((this.minValue = t), null == i && (i = !0), i)) { for ( this.displayedValue = this.minValue, o = this.gp || [], a = [], s = 0, n = o.length; s < n; s++ ) (e = o[s]), a.push((e.displayedValue = this.minValue)); return a; } }), (i.prototype.setOptions = function (t) { return ( null == t && (t = null), (this.options = c(this.options, t)), this.textField && (this.textField.el.style.fontSize = t.fontSize + "px"), this.options.angle > 0.5 && (this.options.angle = 0.5), this.configDisplayScale(), this ); }), (i.prototype.configDisplayScale = function () { var t, i, e, s, n; return ( (s = this.displayScale), !1 === this.options.highDpiSupport ? delete this.displayScale : ((i = window.devicePixelRatio || 1), (t = this.ctx.webkitBackingStorePixelRatio || this.ctx.mozBackingStorePixelRatio || this.ctx.msBackingStorePixelRatio || this.ctx.oBackingStorePixelRatio || this.ctx.backingStorePixelRatio || 1), (this.displayScale = i / t)), this.displayScale !== s && ((n = this.canvas.G__width || this.canvas.width), (e = this.canvas.G__height || this.canvas.height), (this.canvas.width = n * this.displayScale), (this.canvas.height = e * this.displayScale), (this.canvas.style.width = n + "px"), (this.canvas.style.height = e + "px"), (this.canvas.G__width = n), (this.canvas.G__height = e)), this ); }), (i.prototype.parseValue = function (t) { return (t = parseFloat(t) || Number(t)), isFinite(t) ? t : 0; }), i ); })(h)), (a = (function () { function t(t, i) { (this.el = t), (this.fractionDigits = i); } return ( (t.prototype.render = function (t) { return (this.el.innerHTML = p(t.displayedValue, this.fractionDigits)); }), t ); })()), (t = (function (t) { function i(t, e) { if ( ((this.elem = t), (this.text = null != e && e), i.__super__.constructor.call(this), void 0 === this.elem) ) throw new Error("The element isn't defined."); (this.value = 1 * this.elem.innerHTML), this.text && (this.value = 0); } return ( m(i, t), (i.prototype.displayedValue = 0), (i.prototype.value = 0), (i.prototype.setVal = function (t) { return (this.value = 1 * t); }), (i.prototype.render = function () { var t; return ( (t = this.text ? u(this.displayedValue.toFixed(0)) : r(p(this.displayedValue))), (this.elem.innerHTML = t) ); }), i ); })(h)), (o = (function (t) { function i(t) { if (((this.gauge = t), void 0 === this.gauge)) throw new Error("The element isn't defined."); (this.ctx = this.gauge.ctx), (this.canvas = this.gauge.canvas), i.__super__.constructor.call(this, !1, !1), this.setOptions(); } return ( m(i, t), (i.prototype.displayedValue = 0), (i.prototype.value = 0), (i.prototype.options = { strokeWidth: 0.035, length: 0.1, color: "#000000", iconPath: null, iconScale: 1, iconAngle: 0, }), (i.prototype.img = null), (i.prototype.setOptions = function (t) { if ( (null == t && (t = null), (this.options = c(this.options, t)), (this.length = 2 * this.gauge.radius * this.gauge.options.radiusScale * this.options.length), (this.strokeWidth = this.canvas.height * this.options.strokeWidth), (this.maxValue = this.gauge.maxValue), (this.minValue = this.gauge.minValue), (this.animationSpeed = this.gauge.animationSpeed), (this.options.angle = this.gauge.options.angle), this.options.iconPath) ) return ( (this.img = new Image()), (this.img.src = this.options.iconPath) ); }), (i.prototype.render = function () { var t, i, e, s, n, o, a, h, r; if ( ((t = this.gauge.getAngle.call(this, this.displayedValue)), (h = Math.round(this.length * Math.cos(t))), (r = Math.round(this.length * Math.sin(t))), (o = Math.round(this.strokeWidth * Math.cos(t - Math.PI / 2))), (a = Math.round(this.strokeWidth * Math.sin(t - Math.PI / 2))), (i = Math.round(this.strokeWidth * Math.cos(t + Math.PI / 2))), (e = Math.round(this.strokeWidth * Math.sin(t + Math.PI / 2))), this.ctx.beginPath(), (this.ctx.fillStyle = this.options.color), this.ctx.arc(0, 0, this.strokeWidth, 0, 2 * Math.PI, !1), this.ctx.fill(), this.ctx.beginPath(), this.ctx.moveTo(o, a), this.ctx.lineTo(h, r), this.ctx.lineTo(i, e), this.ctx.fill(), this.img) ) return ( (s = Math.round(this.img.width * this.options.iconScale)), (n = Math.round(this.img.height * this.options.iconScale)), this.ctx.save(), this.ctx.translate(h, r), this.ctx.rotate( t + (Math.PI / 180) * (90 + this.options.iconAngle) ), this.ctx.drawImage(this.img, -s / 2, -n / 2, s, n), this.ctx.restore() ); }), i ); })(h)), (function () { function t(t) { this.elem = t; } (t.prototype.updateValues = function (t) { return ( (this.value = t[0]), (this.maxValue = t[1]), (this.avgValue = t[2]), this.render() ); }), (t.prototype.render = function () { var t, i; return ( this.textField && this.textField.text(p(this.value)), 0 === this.maxValue && (this.maxValue = 2 * this.avgValue), (i = (this.value / this.maxValue) * 100), (t = (this.avgValue / this.maxValue) * 100), $(".bar-value", this.elem).css({ width: i + "%" }), $(".typical-value", this.elem).css({ width: t + "%" }) ); }); })(), (n = (function (t) { function i(t) { var e, s; (this.canvas = t), i.__super__.constructor.call(this), (this.percentColors = null), "undefined" != typeof G_vmlCanvasManager && (this.canvas = window.G_vmlCanvasManager.initElement(this.canvas)), (this.ctx = this.canvas.getContext("2d")), (e = this.canvas.clientHeight), (s = this.canvas.clientWidth), (this.canvas.height = e), (this.canvas.width = s), (this.gp = [new o(this)]), this.setOptions(); } return ( m(i, t), (i.prototype.elem = null), (i.prototype.value = [20]), (i.prototype.maxValue = 80), (i.prototype.minValue = 0), (i.prototype.displayedAngle = 0), (i.prototype.displayedValue = 0), (i.prototype.lineWidth = 40), (i.prototype.paddingTop = 0.1), (i.prototype.paddingBottom = 0.1), (i.prototype.percentColors = null), (i.prototype.options = { colorStart: "#6fadcf", colorStop: void 0, gradientType: 0, strokeColor: "#e0e0e0", pointer: { length: 0.8, strokeWidth: 0.035, iconScale: 1 }, angle: 0.15, lineWidth: 0.44, radiusScale: 1, fontSize: 40, limitMax: !1, limitMin: !1, }), (i.prototype.setOptions = function (t) { var e, s, n, o, a; for ( null == t && (t = null), i.__super__.setOptions.call(this, t), this.configPercentColors(), this.extraPadding = 0, this.options.angle < 0 && ((o = Math.PI * (1 + this.options.angle)), (this.extraPadding = Math.sin(o))), this.availableHeight = this.canvas.height * (1 - this.paddingTop - this.paddingBottom), this.lineWidth = this.availableHeight * this.options.lineWidth, this.radius = (this.availableHeight - this.lineWidth / 2) / (1 + this.extraPadding), this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height), a = this.gp, s = 0, n = a.length; s < n; s++ ) (e = a[s]), e.setOptions(this.options.pointer), e.render(); return this.render(), this; }), (i.prototype.configPercentColors = function () { var t, i, e, s, n, o, a; if ( ((this.percentColors = null), void 0 !== this.options.percentColors) ) { for ( this.percentColors = new Array(), o = [], e = s = 0, n = this.options.percentColors.length - 1; 0 <= n ? s <= n : s >= n; e = 0 <= n ? ++s : --s ) (a = parseInt( l(this.options.percentColors[e][1]).substring(0, 2), 16 )), (i = parseInt( l(this.options.percentColors[e][1]).substring(2, 4), 16 )), (t = parseInt( l(this.options.percentColors[e][1]).substring(4, 6), 16 )), o.push( (this.percentColors[e] = { pct: this.options.percentColors[e][0], color: { r: a, g: i, b: t }, }) ); return o; } }), (i.prototype.set = function (t) { var i, e, s, n, a, h, r, l, p; for ( t instanceof Array || (t = [t]), e = s = 0, r = t.length - 1; 0 <= r ? s <= r : s >= r; e = 0 <= r ? ++s : --s ) t[e] = this.parseValue(t[e]); if (t.length > this.gp.length) for ( e = n = 0, l = t.length - this.gp.length; 0 <= l ? n < l : n > l; e = 0 <= l ? ++n : --n ) (i = new o(this)), i.setOptions(this.options.pointer), this.gp.push(i); else t.length < this.gp.length && (this.gp = this.gp.slice(this.gp.length - t.length)); for (e = 0, a = 0, h = t.length; a < h; a++) (p = t[a]), p > this.maxValue ? this.options.limitMax ? (p = this.maxValue) : (this.maxValue = p + 1) : p < this.minValue && (this.options.limitMin ? (p = this.minValue) : (this.minValue = p - 1)), (this.gp[e].value = p), this.gp[e++].setOptions({ minValue: this.minValue, maxValue: this.maxValue, angle: this.options.angle, }); return ( (this.value = Math.max( Math.min(t[t.length - 1], this.maxValue), this.minValue )), AnimationUpdater.run(this.forceUpdate), (this.forceUpdate = !1) ); }), (i.prototype.getAngle = function (t) { return ( (1 + this.options.angle) * Math.PI + ((t - this.minValue) / (this.maxValue - this.minValue)) * (1 - 2 * this.options.angle) * Math.PI ); }), (i.prototype.getColorForPercentage = function (t, i) { var e, s, n, o, a, h, r; if (0 === t) e = this.percentColors[0].color; else for ( e = this.percentColors[this.percentColors.length - 1].color, n = o = 0, h = this.percentColors.length - 1; 0 <= h ? o <= h : o >= h; n = 0 <= h ? ++o : --o ) if (t <= this.percentColors[n].pct) { !0 === i ? ((r = this.percentColors[n - 1] || this.percentColors[0]), (s = this.percentColors[n]), (a = (t - r.pct) / (s.pct - r.pct)), (e = { r: Math.floor(r.color.r * (1 - a) + s.color.r * a), g: Math.floor(r.color.g * (1 - a) + s.color.g * a), b: Math.floor(r.color.b * (1 - a) + s.color.b * a), })) : (e = this.percentColors[n].color); break; } return "rgb(" + [e.r, e.g, e.b].join(",") + ")"; }), (i.prototype.getColorForValue = function (t, i) { var e; return ( (e = (t - this.minValue) / (this.maxValue - this.minValue)), this.getColorForPercentage(e, i) ); }), (i.prototype.renderStaticLabels = function (t, i, e, s) { var n, o, a, h, r, l, c, u, d, g; for ( this.ctx.save(), this.ctx.translate(i, e), n = t.font || "10px Times", l = /\d+\.?\d?/, r = n.match(l)[0], u = n.slice(r.length), o = parseFloat(r) * this.displayScale, this.ctx.font = o + u, this.ctx.fillStyle = t.color || "#000000", this.ctx.textBaseline = "bottom", this.ctx.textAlign = "center", c = t.labels, a = 0, h = c.length; a < h; a++ ) (g = c[a]), void 0 !== g.label ? (!this.options.limitMin || g >= this.minValue) && (!this.options.limitMax || g <= this.maxValue) && ((n = g.font || t.font), (r = n.match(l)[0]), (u = n.slice(r.length)), (o = parseFloat(r) * this.displayScale), (this.ctx.font = o + u), (d = this.getAngle(g.label) - (3 * Math.PI) / 2), this.ctx.rotate(d), this.ctx.fillText( p(g.label, t.fractionDigits), 0, -s - this.lineWidth / 2 ), this.ctx.rotate(-d)) : (!this.options.limitMin || g >= this.minValue) && (!this.options.limitMax || g <= this.maxValue) && ((d = this.getAngle(g) - (3 * Math.PI) / 2), this.ctx.rotate(d), this.ctx.fillText( p(g, t.fractionDigits), 0, -s - this.lineWidth / 2 ), this.ctx.rotate(-d)); return this.ctx.restore(); }), (i.prototype.renderTicks = function (t, i, e, s) { var n, o, a, h, r, l, p, c, u, d, g, m, x, f, v, y, V, w, S, M, C; if (t !== {}) { for ( l = t.divisions || 0, S = t.subDivisions || 0, a = t.divColor || "#fff", v = t.subColor || "#fff", h = t.divLength || 0.7, V = t.subLength || 0.2, u = parseFloat(this.maxValue) - parseFloat(this.minValue), d = parseFloat(u) / parseFloat(t.divisions), y = parseFloat(d) / parseFloat(t.subDivisions), n = parseFloat(this.minValue), o = 0 + y, c = u / 400, r = c * (t.divWidth || 1), w = c * (t.subWidth || 1), m = [], M = p = 0, g = l + 1; p < g; M = p += 1 ) (this.ctx.lineWidth = this.lineWidth * h), (x = (this.lineWidth / 2) * (1 - h)), (C = this.radius * this.options.radiusScale + x), (this.ctx.strokeStyle = a), this.ctx.beginPath(), this.ctx.arc( 0, 0, C, this.getAngle(n - r), this.getAngle(n + r), !1 ), this.ctx.stroke(), (o = n + y), (n += d), M !== t.divisions && S > 0 ? m.push( function () { var t, i, e; for (e = [], f = t = 0, i = S - 1; t < i; f = t += 1) (this.ctx.lineWidth = this.lineWidth * V), (x = (this.lineWidth / 2) * (1 - V)), (C = this.radius * this.options.radiusScale + x), (this.ctx.strokeStyle = v), this.ctx.beginPath(), this.ctx.arc( 0, 0, C, this.getAngle(o - w), this.getAngle(o + w), !1 ), this.ctx.stroke(), e.push((o += y)); return e; }.call(this) ) : m.push(void 0); return m; } }), (i.prototype.render = function () { var t, i, e, s, n, o, a, h, r, l, p, c, u, d, g, m, x; if ( ((m = this.canvas.width / 2), (s = this.canvas.height * this.paddingTop + this.availableHeight - (this.radius + this.lineWidth / 2) * this.extraPadding), (t = this.getAngle(this.displayedValue)), this.textField && this.textField.render(this), (this.ctx.lineCap = "butt"), (p = this.radius * this.options.radiusScale), this.options.staticLabels && this.renderStaticLabels(this.options.staticLabels, m, s, p), this.options.staticZones) ) for ( this.ctx.save(), this.ctx.translate(m, s), this.ctx.lineWidth = this.lineWidth, c = this.options.staticZones, n = 0, a = c.length; n < a; n++ ) (x = c[n]), (l = x.min), this.options.limitMin && l < this.minValue && (l = this.minValue), (r = x.max), this.options.limitMax && r > this.maxValue && (r = this.maxValue), (g = this.radius * this.options.radiusScale), x.height && ((this.ctx.lineWidth = this.lineWidth * x.height), (d = (this.lineWidth / 2) * (x.offset || 1 - x.height)), (g = this.radius * this.options.radiusScale + d)), (this.ctx.strokeStyle = x.strokeStyle), this.ctx.beginPath(), this.ctx.arc(0, 0, g, this.getAngle(l), this.getAngle(r), !1), this.ctx.stroke(); else void 0 !== this.options.customFillStyle ? (i = this.options.customFillStyle(this)) : null !== this.percentColors ? (i = this.getColorForValue( this.displayedValue, this.options.generateGradient )) : void 0 !== this.options.colorStop ? ((i = 0 === this.options.gradientType ? this.ctx.createRadialGradient(m, s, 9, m, s, 70) : this.ctx.createLinearGradient(0, 0, m, 0)), i.addColorStop(0, this.options.colorStart), i.addColorStop(1, this.options.colorStop)) : (i = this.options.colorStart), (this.ctx.strokeStyle = i), this.ctx.beginPath(), this.ctx.arc(m, s, p, (1 + this.options.angle) * Math.PI, t, !1), (this.ctx.lineWidth = this.lineWidth), this.ctx.stroke(), (this.ctx.strokeStyle = this.options.strokeColor), this.ctx.beginPath(), this.ctx.arc(m, s, p, t, (2 - this.options.angle) * Math.PI, !1), this.ctx.stroke(), this.ctx.save(), this.ctx.translate(m, s); for ( this.options.renderTicks && this.renderTicks(this.options.renderTicks, m, s, p), this.ctx.restore(), this.ctx.translate(m, s), u = this.gp, o = 0, h = u.length; o < h; o++ ) (e = u[o]), e.update(!0); return this.ctx.translate(-m, -s); }), i ); })(e)), (i = (function (t) { function i(t) { (this.canvas = t), i.__super__.constructor.call(this), "undefined" != typeof G_vmlCanvasManager && (this.canvas = window.G_vmlCanvasManager.initElement(this.canvas)), (this.ctx = this.canvas.getContext("2d")), this.setOptions(), this.render(); } return ( m(i, t), (i.prototype.lineWidth = 15), (i.prototype.displayedValue = 0), (i.prototype.value = 33), (i.prototype.maxValue = 80), (i.prototype.minValue = 0), (i.prototype.options = { lineWidth: 0.1, colorStart: "#6f6ea0", colorStop: "#c0c0db", strokeColor: "#eeeeee", shadowColor: "#d5d5d5", angle: 0.35, radiusScale: 1, }), (i.prototype.getAngle = function (t) { return ( (1 - this.options.angle) * Math.PI + ((t - this.minValue) / (this.maxValue - this.minValue)) * (2 + this.options.angle - (1 - this.options.angle)) * Math.PI ); }), (i.prototype.setOptions = function (t) { return ( null == t && (t = null), i.__super__.setOptions.call(this, t), (this.lineWidth = this.canvas.height * this.options.lineWidth), (this.radius = this.options.radiusScale * (this.canvas.height / 2 - this.lineWidth / 2)), this ); }), (i.prototype.set = function (t) { return ( (this.value = this.parseValue(t)), this.value > this.maxValue ? this.options.limitMax ? (this.value = this.maxValue) : (this.maxValue = this.value) : this.value < this.minValue && (this.options.limitMin ? (this.value = this.minValue) : (this.minValue = this.value)), AnimationUpdater.run(this.forceUpdate), (this.forceUpdate = !1) ); }), (i.prototype.render = function () { var t, i, e, s; return ( (t = this.getAngle(this.displayedValue)), (s = this.canvas.width / 2), (e = this.canvas.height / 2), this.textField && this.textField.render(this), (i = this.ctx.createRadialGradient(s, e, 39, s, e, 70)), i.addColorStop(0, this.options.colorStart), i.addColorStop(1, this.options.colorStop), this.radius - this.lineWidth / 2, this.radius + this.lineWidth / 2, (this.ctx.strokeStyle = this.options.strokeColor), this.ctx.beginPath(), this.ctx.arc( s, e, this.radius, (1 - this.options.angle) * Math.PI, (2 + this.options.angle) * Math.PI, !1 ), (this.ctx.lineWidth = this.lineWidth), (this.ctx.lineCap = "round"), this.ctx.stroke(), (this.ctx.strokeStyle = i), this.ctx.beginPath(), this.ctx.arc( s, e, this.radius, (1 - this.options.angle) * Math.PI, t, !1 ), this.ctx.stroke() ); }), i ); })(e)), (s = (function (t) { function i() { return i.__super__.constructor.apply(this, arguments); } return ( m(i, t), (i.prototype.strokeGradient = function (t, i, e, s) { var n; return ( (n = this.ctx.createRadialGradient(t, i, e, t, i, s)), n.addColorStop(0, this.options.shadowColor), n.addColorStop(0.12, this.options._orgStrokeColor), n.addColorStop(0.88, this.options._orgStrokeColor), n.addColorStop(1, this.options.shadowColor), n ); }), (i.prototype.setOptions = function (t) { var e, s, n, o; return ( null == t && (t = null), i.__super__.setOptions.call(this, t), (o = this.canvas.width / 2), (e = this.canvas.height / 2), (s = this.radius - this.lineWidth / 2), (n = this.radius + this.lineWidth / 2), (this.options._orgStrokeColor = this.options.strokeColor), (this.options.strokeColor = this.strokeGradient(o, e, s, n)), this ); }), i ); })(i)), (window.AnimationUpdater = { elements: [], animId: null, addAll: function (t) { var i, e, s, n; for (n = [], e = 0, s = t.length; e < s; e++) (i = t[e]), n.push(AnimationUpdater.elements.push(i)); return n; }, add: function (t) { return AnimationUpdater.elements.push(t); }, run: function (t) { var i, e, s, n, o; if ((null == t && (t = !1), isFinite(parseFloat(t)) || !0 === t)) { for ( e = !0, o = AnimationUpdater.elements, s = 0, n = o.length; s < n; s++ ) (i = o[s]), i.update(!0 === t) && (e = !1); return (AnimationUpdater.animId = e ? null : requestAnimationFrame(AnimationUpdater.run)); } if (!1 === t) return ( !0 === AnimationUpdater.animId && cancelAnimationFrame(AnimationUpdater.animId), (AnimationUpdater.animId = requestAnimationFrame( AnimationUpdater.run )) ); }, }), "function" == typeof window.define && null != window.define.amd ? define(function () { return { Gauge: n, Donut: s, BaseDonut: i, TextRenderer: a }; }) : "undefined" != typeof module && null != module.exports ? (module.exports = { Gauge: n, Donut: s, BaseDonut: i, TextRenderer: a }) : ((window.Gauge = n), (window.Donut = s), (window.BaseDonut = i), (window.TextRenderer = a)); }.call(this));