chukwa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ey...@apache.org
Subject [6/9] chukwa git commit: CHUKWA-778. Added pie chart, circle chart and timeline javascripts. (Eric Yang)
Date Sun, 13 Sep 2015 20:27:59 GMT
CHUKWA-778. Added pie chart, circle chart and timeline javascripts.  (Eric Yang)


Project: http://git-wip-us.apache.org/repos/asf/chukwa/repo
Commit: http://git-wip-us.apache.org/repos/asf/chukwa/commit/666dbb9c
Tree: http://git-wip-us.apache.org/repos/asf/chukwa/tree/666dbb9c
Diff: http://git-wip-us.apache.org/repos/asf/chukwa/diff/666dbb9c

Branch: refs/heads/master
Commit: 666dbb9c12eb1078c345b4a281f3da629298b425
Parents: 602b55f
Author: Eric Yang <eyang@apache.org>
Authored: Sat Sep 5 19:35:22 2015 -0700
Committer: Eric Yang <eyang@apache.org>
Committed: Sat Sep 5 20:57:30 2015 -0700

----------------------------------------------------------------------
 CHANGES.txt                               |   2 +
 LICENSE.txt                               |  38 ++
 NOTICE.txt                                |   6 +
 src/main/web/hicc/css/chartist.css        | 167 +++++++
 src/main/web/hicc/css/chartist.css.map    |   7 +
 src/main/web/hicc/js/chartist.min.js      |   9 +
 src/main/web/hicc/js/chartist.min.js.map  |   1 +
 src/main/web/hicc/timeline/css/styles.css | 621 +++++++++++++++++++++++++
 src/main/web/hicc/timeline/index.html     | 192 ++++++++
 src/main/web/hicc/timeline/js/main.js     |  22 +
 10 files changed, 1065 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d70aa71..bb0f3f1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,6 +4,8 @@ Trunk (unreleased changes)
 
   NEW FEATURES
 
+    CHUKWA-778. Added pie chart, circle chart and timeline javascripts.  (Eric Yang)
+
     CHUKWA-777. Added Home page and some widgets for the demo purpose. (Eric Yang)
 
     CHUKWA-776. Added Docker support.  (Eric Yang)

http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/LICENSE.txt
----------------------------------------------------------------------
diff --git a/LICENSE.txt b/LICENSE.txt
index da71e6c..734b897 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1228,4 +1228,42 @@ own licenses; we recommend you read them, as their terms may differ from
 the terms above.
 
 ------
+jquery-circliful
 
+The MIT License (MIT)
+
+Copyright (c) 2014 Patric Gutersohn
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------
+chartist.js
+
+DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.

http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/NOTICE.txt
----------------------------------------------------------------------
diff --git a/NOTICE.txt b/NOTICE.txt
index 7afdda8..9990966 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -96,3 +96,9 @@ Copyright (c) 2011-2015, https://github.com/evolvingweb/ajax-solr
 
 This product includes jquery-ui
 Copyright (c) 2008-2015, https://jqueryui.com
+
+This product includes jquery-circliful
+Copyright (c) 2014-2015, https://github.com/pguso/jquery-plugin-circliful
+
+This product includes chartist.js
+Copyright (c) 2014-2015, https://gionkunz.github.io/chartist-js/

http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/src/main/web/hicc/css/chartist.css
----------------------------------------------------------------------
diff --git a/src/main/web/hicc/css/chartist.css b/src/main/web/hicc/css/chartist.css
new file mode 100644
index 0000000..13d519e
--- /dev/null
+++ b/src/main/web/hicc/css/chartist.css
@@ -0,0 +1,167 @@
+.ct-label { fill: rgba(0, 0, 0, 0.4); color: rgba(0, 0, 0, 0.4); font-size: 0.75rem; line-height: 1; }
+
+.ct-chart-line .ct-label, .ct-chart-bar .ct-label { display: block; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; }
+
+.ct-label.ct-horizontal.ct-start { -webkit-box-align: flex-end; -webkit-align-items: flex-end; -ms-flex-align: flex-end; align-items: flex-end; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: start; }
+
+.ct-label.ct-horizontal.ct-end { -webkit-box-align: flex-start; -webkit-align-items: flex-start; -ms-flex-align: flex-start; align-items: flex-start; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: start; }
+
+.ct-label.ct-vertical.ct-start { -webkit-box-align: flex-end; -webkit-align-items: flex-end; -ms-flex-align: flex-end; align-items: flex-end; -webkit-box-pack: flex-end; -webkit-justify-content: flex-end; -ms-flex-pack: flex-end; justify-content: flex-end; text-align: right; text-anchor: end; }
+
+.ct-label.ct-vertical.ct-end { -webkit-box-align: flex-end; -webkit-align-items: flex-end; -ms-flex-align: flex-end; align-items: flex-end; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: start; }
+
+.ct-chart-bar .ct-label.ct-horizontal.ct-start { -webkit-box-align: flex-end; -webkit-align-items: flex-end; -ms-flex-align: flex-end; align-items: flex-end; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; text-align: center; text-anchor: start; }
+
+.ct-chart-bar .ct-label.ct-horizontal.ct-end { -webkit-box-align: flex-start; -webkit-align-items: flex-start; -ms-flex-align: flex-start; align-items: flex-start; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; text-align: center; text-anchor: start; }
+
+.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start { -webkit-box-align: flex-end; -webkit-align-items: flex-end; -ms-flex-align: flex-end; align-items: flex-end; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: start; }
+
+.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end { -webkit-box-align: flex-start; -webkit-align-items: flex-start; -ms-flex-align: flex-start; align-items: flex-start; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: start; }
+
+.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: flex-end; -webkit-justify-content: flex-end; -ms-flex-pack: flex-end; justify-content: flex-end; text-align: right; text-anchor: end; }
+
+.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: flex-start; -webkit-justify-content: flex-start; -ms-flex-pack: flex-start; justify-content: flex-start; text-align: left; text-anchor: end; }
+
+.ct-grid { stroke: rgba(0, 0, 0, 0.2); stroke-width: 1px; stroke-dasharray: 2px; }
+
+.ct-point { stroke-width: 10px; stroke-linecap: round; }
+
+.ct-line { fill: none; stroke-width: 4px; }
+
+.ct-area { stroke: none; fill-opacity: 0.1; }
+
+.ct-bar { fill: none; stroke-width: 10px; }
+
+.ct-slice-donut { fill: none; stroke-width: 60px; }
+
+.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut { stroke: #fc6e64; }
+.ct-series-a .ct-slice-pie, .ct-series-a .ct-area { fill: #fc6e64; }
+
+.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut { stroke: #aad762; }
+.ct-series-b .ct-slice-pie, .ct-series-b .ct-area { fill: #aad762; }
+
+.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut { stroke: #5dc9f0; }
+.ct-series-c .ct-slice-pie, .ct-series-c .ct-area { fill: #5dc9f0; }
+
+.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut { stroke: #f7d254; }
+.ct-series-d .ct-slice-pie, .ct-series-d .ct-area { fill: #f7d254; }
+
+.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut { stroke: #8177c5; }
+.ct-series-e .ct-slice-pie, .ct-series-e .ct-area { fill: #8177c5; }
+
+.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut { stroke: #ff9289; }
+.ct-series-f .ct-slice-pie, .ct-series-f .ct-area { fill: #ff9289; }
+
+.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut { stroke: #cbef91; }
+.ct-series-g .ct-slice-pie, .ct-series-g .ct-area { fill: #cbef91; }
+
+.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut { stroke: #87d7f6; }
+.ct-series-h .ct-slice-pie, .ct-series-h .ct-area { fill: #87d7f6; }
+
+.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut { stroke: #ffe079; }
+.ct-series-i .ct-slice-pie, .ct-series-i .ct-area { fill: #ffe079; }
+
+.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut { stroke: #aaa3df; }
+.ct-series-j .ct-slice-pie, .ct-series-j .ct-area { fill: #aaa3df; }
+
+.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut { stroke: #ffbab4; }
+.ct-series-k .ct-slice-pie, .ct-series-k .ct-area { fill: #ffbab4; }
+
+.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut { stroke: #e0f6bc; }
+.ct-series-l .ct-slice-pie, .ct-series-l .ct-area { fill: #e0f6bc; }
+
+.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut { stroke: #bceafc; }
+.ct-series-m .ct-slice-pie, .ct-series-m .ct-area { fill: #bceafc; }
+
+.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut { stroke: #ffeaa5; }
+.ct-series-n .ct-slice-pie, .ct-series-n .ct-area { fill: #ffeaa5; }
+
+.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut { stroke: #d6d2f3; }
+.ct-series-o .ct-slice-pie, .ct-series-o .ct-area { fill: #d6d2f3; }
+
+.ct-square { display: block; position: relative; width: 100%; }
+.ct-square:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 100%; }
+.ct-square:after { content: ""; display: table; clear: both; }
+.ct-square > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-minor-second { display: block; position: relative; width: 100%; }
+.ct-minor-second:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 93.75%; }
+.ct-minor-second:after { content: ""; display: table; clear: both; }
+.ct-minor-second > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-second { display: block; position: relative; width: 100%; }
+.ct-major-second:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 88.88889%; }
+.ct-major-second:after { content: ""; display: table; clear: both; }
+.ct-major-second > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-minor-third { display: block; position: relative; width: 100%; }
+.ct-minor-third:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 83.33333%; }
+.ct-minor-third:after { content: ""; display: table; clear: both; }
+.ct-minor-third > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-third { display: block; position: relative; width: 100%; }
+.ct-major-third:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 80%; }
+.ct-major-third:after { content: ""; display: table; clear: both; }
+.ct-major-third > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-perfect-fourth { display: block; position: relative; width: 100%; }
+.ct-perfect-fourth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 75%; }
+.ct-perfect-fourth:after { content: ""; display: table; clear: both; }
+.ct-perfect-fourth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-perfect-fifth { display: block; position: relative; width: 100%; }
+.ct-perfect-fifth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 66.66667%; }
+.ct-perfect-fifth:after { content: ""; display: table; clear: both; }
+.ct-perfect-fifth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-minor-sixth { display: block; position: relative; width: 100%; }
+.ct-minor-sixth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 62.5%; }
+.ct-minor-sixth:after { content: ""; display: table; clear: both; }
+.ct-minor-sixth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-golden-section { display: block; position: relative; width: 100%; }
+.ct-golden-section:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 61.8047%; }
+.ct-golden-section:after { content: ""; display: table; clear: both; }
+.ct-golden-section > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-sixth { display: block; position: relative; width: 100%; }
+.ct-major-sixth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 60%; }
+.ct-major-sixth:after { content: ""; display: table; clear: both; }
+.ct-major-sixth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-minor-seventh { display: block; position: relative; width: 100%; }
+.ct-minor-seventh:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 56.25%; }
+.ct-minor-seventh:after { content: ""; display: table; clear: both; }
+.ct-minor-seventh > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-seventh { display: block; position: relative; width: 100%; }
+.ct-major-seventh:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 53.33333%; }
+.ct-major-seventh:after { content: ""; display: table; clear: both; }
+.ct-major-seventh > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-octave { display: block; position: relative; width: 100%; }
+.ct-octave:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 50%; }
+.ct-octave:after { content: ""; display: table; clear: both; }
+.ct-octave > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-tenth { display: block; position: relative; width: 100%; }
+.ct-major-tenth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 40%; }
+.ct-major-tenth:after { content: ""; display: table; clear: both; }
+.ct-major-tenth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-eleventh { display: block; position: relative; width: 100%; }
+.ct-major-eleventh:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 37.5%; }
+.ct-major-eleventh:after { content: ""; display: table; clear: both; }
+.ct-major-eleventh > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-major-twelfth { display: block; position: relative; width: 100%; }
+.ct-major-twelfth:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 33.33333%; }
+.ct-major-twelfth:after { content: ""; display: table; clear: both; }
+.ct-major-twelfth > svg { display: block; position: absolute; top: 0; left: 0; }
+
+.ct-double-octave { display: block; position: relative; width: 100%; }
+.ct-double-octave:before { display: block; float: left; content: ""; width: 0; height: 0; padding-bottom: 25%; }
+.ct-double-octave:after { content: ""; display: table; clear: both; }
+.ct-double-octave > svg { display: block; position: absolute; top: 0; left: 0; }
+
+/*# sourceMappingURL=chartist.css.map */

http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/src/main/web/hicc/css/chartist.css.map
----------------------------------------------------------------------
diff --git a/src/main/web/hicc/css/chartist.css.map b/src/main/web/hicc/css/chartist.css.map
new file mode 100644
index 0000000..aa48c55
--- /dev/null
+++ b/src/main/web/hicc/css/chartist.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["chartist.scss","settings/_chartist-settings.scss"],
+"names": [],
+"file": "chartist.css"
+}

http://git-wip-us.apache.org/repos/asf/chukwa/blob/666dbb9c/src/main/web/hicc/js/chartist.min.js
----------------------------------------------------------------------
diff --git a/src/main/web/hicc/js/chartist.min.js b/src/main/web/hicc/js/chartist.min.js
new file mode 100644
index 0000000..b69e484
--- /dev/null
+++ b/src/main/web/hicc/js/chartist.min.js
@@ -0,0 +1,9 @@
+/* Chartist.js 0.9.4
+ * Copyright © 2015 Gion Kunz
+ * Free to use under the WTFPL license.
+ * http://www.wtfpl.net/
+ */
+
+!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.Chartist=b()}):"object"==typeof exports?module.exports=b():a.Chartist=b()}(this,function(){var a={version:"0.9.4"};return function(a,b,c){"use strict";c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a){a=a||{};var b=Array.prototype.slice.call(arguments,1);return b.forEach(function(b){for(var d in b)"object"!=typeof b[d]||null===b[d]||b[d]instanceof Array?a[d]=b[d]:a[d]=c.extend({},a[d],b[d])}),a},c.replaceAll=function(a,b,c){return a.replace(new RegExp(b,"g"),c)},c.stripUnit=function(a){return"string"==typeof a&&(a=a.replace(/[^0-9\+-\.]/g,"")),+a},c.ensureUnit=function(a,b){return"number"==typeof a&&(a+=b),a},c.querySelector=function(a){return a instanceof Node?a:b.querySelector(a)},c.times=function(a){return Array.apply(null,new Array(a))},c.sum=function(a,b){return a+(b?b:0)},c.mapMultiply=function(a){return function(b){return b*a}},c.
 mapAdd=function(a){return function(b){return b+a}},c.serialMap=function(a,b){var d=[],e=Math.max.apply(null,a.map(function(a){return a.length}));return c.times(e).forEach(function(c,e){var f=a.map(function(a){return a[e]});d[e]=b.apply(null,f)}),d},c.roundWithPrecision=function(a,b){var d=Math.pow(10,b||c.precision);return Math.round(a*d)/d},c.precision=8,c.escapingMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},c.serialize=function(a){return null===a||void 0===a?a:("number"==typeof a?a=""+a:"object"==typeof a&&(a=JSON.stringify({data:a})),Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,b,c.escapingMap[b])},a))},c.deserialize=function(a){if("string"!=typeof a)return a;a=Object.keys(c.escapingMap).reduce(function(a,b){return c.replaceAll(a,c.escapingMap[b],b)},a);try{a=JSON.parse(a),a=void 0!==a.data?a.data:a}catch(b){}return a},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",Array.prototype.slice.call(a.querySelectorAll("svg
 ")).filter(function(a){return a.getAttributeNS("http://www.w3.org/2000/xmlns/",c.xmlNs.prefix)}).forEach(function(b){a.removeChild(b)}),f=new c.Svg("svg").attr({width:b,height:d}).addClass(e).attr({style:"width: "+b+"; height: "+d+";"}),a.appendChild(f._node),f},c.reverseData=function(a){a.labels.reverse(),a.series.reverse();for(var b=0;b<a.series.length;b++)"object"==typeof a.series[b]&&void 0!==a.series[b].data?a.series[b].data.reverse():a.series[b]instanceof Array&&a.series[b].reverse()},c.getDataArray=function(a,b,d){function e(a){if(c.isFalseyButZero(a))return void 0;if((a.data||a)instanceof Array)return(a.data||a).map(e);if(a.hasOwnProperty("value"))return e(a.value);if(d){var b={};return"string"==typeof d?b[d]=c.getNumberOrUndefined(a):b.y=c.getNumberOrUndefined(a),b.x=a.hasOwnProperty("x")?c.getNumberOrUndefined(a.x):b.x,b.y=a.hasOwnProperty("y")?c.getNumberOrUndefined(a.y):b.y,b}return c.getNumberOrUndefined(a)}return(b&&!a.reversed||!b&&a.reversed)&&(c.reverseData(a),a.rev
 ersed=!a.reversed),a.series.map(e)},c.normalizePadding=function(a,b){return b=b||0,"number"==typeof a?{top:a,right:a,bottom:a,left:a}:{top:"number"==typeof a.top?a.top:b,right:"number"==typeof a.right?a.right:b,bottom:"number"==typeof a.bottom?a.bottom:b,left:"number"==typeof a.left?a.left:b}},c.getMetaData=function(a,b){var d=a.data?a.data[b]:a[b];return d?c.serialize(d.meta):void 0},c.orderOfMagnitude=function(a){return Math.floor(Math.log(Math.abs(a))/Math.LN10)},c.projectLength=function(a,b,c){return b/c.range*a},c.getAvailableHeight=function(a,b){return Math.max((c.stripUnit(b.height)||a.height())-(b.chartPadding.top+b.chartPadding.bottom)-b.axisX.offset,0)},c.getHighLow=function(a,b,d){function e(a){if(void 0===a)return void 0;if(a instanceof Array)for(var b=0;b<a.length;b++)e(a[b]);else{var c=d?+a[d]:+a;g&&c>f.high&&(f.high=c),h&&c<f.low&&(f.low=c)}}b=c.extend({},b,d?b["axis"+d.toUpperCase()]:{});var f={high:void 0===b.high?-Number.MAX_VALUE:+b.high,low:void 0===b.low?Number.
 MAX_VALUE:+b.low},g=void 0===b.high,h=void 0===b.low;return(g||h)&&e(a),(b.referenceValue||0===b.referenceValue)&&(f.high=Math.max(b.referenceValue,f.high),f.low=Math.min(b.referenceValue,f.low)),f.high<=f.low&&(0===f.low?f.high=1:f.low<0?f.high=0:f.low=0),f},c.isNum=function(a){return!isNaN(a)&&isFinite(a)},c.isFalseyButZero=function(a){return!a&&0!==a},c.getNumberOrUndefined=function(a){return isNaN(+a)?void 0:+a},c.getMultiValue=function(a,b){return c.isNum(a)?+a:a?a[b||"y"]||0:0},c.rho=function(a){function b(a,c){return a%c===0?c:b(c,a%c)}function c(a){return a*a+1}if(1===a)return a;var d,e=2,f=2;if(a%2===0)return 2;do e=c(e)%a,f=c(c(f))%a,d=b(Math.abs(e-f),a);while(1===d);return d},c.getBounds=function(a,b,d,e){var f,g,h,i=0,j={high:b.high,low:b.low};j.valueRange=j.high-j.low,j.oom=c.orderOfMagnitude(j.valueRange),j.step=Math.pow(10,j.oom),j.min=Math.floor(j.low/j.step)*j.step,j.max=Math.ceil(j.high/j.step)*j.step,j.range=j.max-j.min,j.numberOfSteps=Math.round(j.range/j.step);v
 ar k=c.projectLength(a,j.step,j),l=d>k,m=e?c.rho(j.range):0;if(e&&c.projectLength(a,1,j)>=d)j.step=1;else if(e&&m<j.step&&c.projectLength(a,m,j)>=d)j.step=m;else for(;;){if(l&&c.projectLength(a,j.step,j)<=d)j.step*=2;else{if(l||!(c.projectLength(a,j.step/2,j)>=d))break;if(j.step/=2,e&&j.step%1!==0){j.step*=2;break}}if(i++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}for(g=j.min,h=j.max;g+j.step<=j.low;)g+=j.step;for(;h-j.step>=j.high;)h-=j.step;for(j.min=g,j.max=h,j.range=j.max-j.min,j.values=[],f=j.min;f<=j.max;f+=j.step)j.values.push(c.roundWithPrecision(f));return j},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d){var e=!(!b.axisX&&!b.axisY),f=e?b.axisY.offset:0,g=e?b.axisX.offset:0,h=a.width()||c.stripUnit(b.width)||0,i=a.height()||c.stripUnit(b.height)||0,j=c.normalizePadding(b.chartPadding,d);h=Math.max(h,f+j.left+j.right),i=Math.max(i,g+j.t
 op+j.bottom);var k={padding:j,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return e?("start"===b.axisX.position?(k.y2=j.top+g,k.y1=Math.max(i-j.bottom,k.y2+1)):(k.y2=j.top,k.y1=Math.max(i-j.bottom-g,k.y2+1)),"start"===b.axisY.position?(k.x1=j.left+f,k.x2=Math.max(h-j.right,k.x1+1)):(k.x1=j.left,k.x2=Math.max(h-j.right-f,k.x1+1))):(k.x1=j.left,k.x2=Math.max(h-j.right,k.x1+1),k.y2=j.top,k.y1=Math.max(i-j.bottom,k.y2+1)),k},c.createGrid=function(a,b,d,e,f,g,h,i){var j={};j[d.units.pos+"1"]=a,j[d.units.pos+"2"]=a,j[d.counterUnits.pos+"1"]=e,j[d.counterUnits.pos+"2"]=e+f;var k=g.elem("line",j,h.join(" "));i.emit("draw",c.extend({type:"grid",axis:d,index:b,group:g,element:k},j))},c.createLabel=function(a,b,d,e,f,g,h,i,j,k,l){var m,n={};if(n[f.units.pos]=a+h[f.units.pos],n[f.counterUnits.pos]=h[f.counterUnits.pos],n[f.units.len]=b,n[f.counterUnits.len]=g-10,k){var o='<span class="'+j.join(" ")+'" style="'+f.units.len+": "+Math.round(n[f.units.len])+"p
 x; "+f.counterUnits.len+": "+Math.round(n[f.counterUnits.len])+'px">'+e[d]+"</span>";m=i.foreignObject(o,c.extend({style:"overflow: visible;"},n))}else m=i.elem("text",n,j.join(" ")).text(e[d]);l.emit("draw",c.extend({type:"label",axis:f,index:d,group:i,element:m,text:e[d]},n))},c.getSeriesOption=function(a,b,c){if(a.name&&b.series&&b.series[a.name]){var d=b.series[a.name];return d.hasOwnProperty(c)?d[c]:b[c]}return b[c]},c.optionsProvider=function(b,d,e){function f(b){var f=h;if(h=c.extend({},j),d)for(i=0;i<d.length;i++){var g=a.matchMedia(d[i][0]);g.matches&&(h=c.extend(h,d[i][1]))}e&&!b&&e.emit("optionsChanged",{previousOptions:f,currentOptions:h})}function g(){k.forEach(function(a){a.removeListener(f)})}var h,i,j=c.extend({},b),k=[];if(!a.matchMedia)throw"window.matchMedia not found! Make sure you're using a polyfill.";if(d)for(i=0;i<d.length;i++){var l=a.matchMedia(d[i][0]);l.addListener(f),k.push(l)}return f(!0),{removeMediaQueryListeners:g,getCurrentOptions:function(){return 
 c.extend({},h)}}}}(window,document,a),function(a,b,c){"use strict";c.Interpolation={},c.Interpolation.none=function(){return function(a,b){for(var d=new c.Svg.Path,e=!0,f=1;f<a.length;f+=2){var g=b[(f-1)/2];void 0===g.value?e=!0:e?(d.move(a[f-1],a[f],!1,g),e=!1):d.line(a[f-1],a[f],!1,g)}return d}},c.Interpolation.simple=function(a){var b={divisor:2};a=c.extend({},b,a);var d=1/Math.max(1,a.divisor);return function(a,b){for(var e=new c.Svg.Path,f=!0,g=2;g<a.length;g+=2){var h=a[g-2],i=a[g-1],j=a[g],k=a[g+1],l=(j-h)*d,m=b[g/2-1],n=b[g/2];void 0===m.value?f=!0:(f&&e.move(h,i,!1,m),void 0!==n.value&&(e.curve(h+l,i,j-l,k,j,k,!1,n),f=!1))}return e}},c.Interpolation.cardinal=function(a){function b(a,b){for(var c=[],d=!0,e=0;e<a.length;e+=2)void 0===b[e/2].value?d=!0:(d&&(c.push({pathCoordinates:[],valueData:[]}),d=!1),c[c.length-1].pathCoordinates.push(a[e],a[e+1]),c[c.length-1].valueData.push(b[e/2]));return c}var d={tension:1};a=c.extend({},d,a);var e=Math.min(1,Math.max(0,a.tension)),f=1
 -e;return function g(a,d){var h=b(a,d);if(h.length>1){var i=[];return h.forEach(function(a){i.push(g(a.pathCoordinates,a.valueData))}),c.Svg.Path.join(i)}if(a=h[0].pathCoordinates,d=h[0].valueData,a.length<=4)return c.Interpolation.none()(a,d);for(var j,k=(new c.Svg.Path).move(a[0],a[1],!1,d[0]),l=0,m=a.length;m-2*!j>l;l+=2){var n=[{x:+a[l-2],y:+a[l-1]},{x:+a[l],y:+a[l+1]},{x:+a[l+2],y:+a[l+3]},{x:+a[l+4],y:+a[l+5]}];j?l?m-4===l?n[3]={x:+a[0],y:+a[1]}:m-2===l&&(n[2]={x:+a[0],y:+a[1]},n[3]={x:+a[2],y:+a[3]}):n[0]={x:+a[m-2],y:+a[m-1]}:m-4===l?n[3]=n[2]:l||(n[0]={x:+a[l],y:+a[l+1]}),k.curve(e*(-n[0].x+6*n[1].x+n[2].x)/6+f*n[2].x,e*(-n[0].y+6*n[1].y+n[2].y)/6+f*n[2].y,e*(n[1].x+6*n[2].x-n[3].x)/6+f*n[2].x,e*(n[1].y+6*n[2].y-n[3].y)/6+f*n[2].y,n[2].x,n[2].y,!1,d[(l+2)/2])}return k}},c.Interpolation.step=function(a){var b={postpone:!0};return a=c.extend({},b,a),function(b,d){for(var e=new c.Svg.Path,f=!0,g=2;g<b.length;g+=2){var h=b[g-2],i=b[g-1],j=b[g],k=b[g+1],l=d[g/2-1],m=d[g/2];void 
 0===l.value?f=!0:(f&&e.move(h,i,!1,l),void 0!==m.value&&(a.postpone?e.line(j,i,!1,l):e.line(h,k,!1,m),e.line(j,k,!1,m),f=!1))}return e}}}(window,document,a),function(a,b,c){"use strict";c.EventEmitter=function(){function a(a,b){d[a]=d[a]||[],d[a].push(b)}function b(a,b){d[a]&&(b?(d[a].splice(d[a].indexOf(b),1),0===d[a].length&&delete d[a]):delete d[a])}function c(a,b){d[a]&&d[a].forEach(function(a){a(b)}),d["*"]&&d["*"].forEach(function(c){c(a,b)})}var d=[];return{addEventHandler:a,removeEventHandler:b,emit:c}}}(window,document,a),function(a,b,c){"use strict";function d(a){var b=[];if(a.length)for(var c=0;c<a.length;c++)b.push(a[c]);return b}function e(a,b){var d=b||this.prototype||c.Class,e=Object.create(d);c.Class.cloneDefinitions(e,a);var f=function(){var a,b=e.constructor||function(){};return a=this===c?Object.create(e):this,b.apply(a,Array.prototype.slice.call(arguments,0)),a};return f.prototype=e,f["super"]=d,f.extend=this.extend,f}function f(){var a=d(arguments),b=a[0];return
  a.splice(1,a.length-1).forEach(function(a){Object.getOwnPropertyNames(a).forEach(function(c){delete b[c],Object.defineProperty(b,c,Object.getOwnPropertyDescriptor(a,c))})}),b}c.Class={extend:e,cloneDefinitions:f}}(window,document,a),function(a,b,c){"use strict";function d(a,b,d){return a&&(this.data=a,this.eventEmitter.emit("data",{type:"update",data:this.data})),b&&(this.options=c.extend({},d?this.options:this.defaultOptions,b),this.initializeTimeoutId||(this.optionsProvider.removeMediaQueryListeners(),this.optionsProvider=c.optionsProvider(this.options,this.responsiveOptions,this.eventEmitter))),this.initializeTimeoutId||this.createChart(this.optionsProvider.getCurrentOptions()),this}function e(){return this.initializeTimeoutId?a.clearTimeout(this.initializeTimeoutId):(a.removeEventListener("resize",this.resizeListener),this.optionsProvider.removeMediaQueryListeners()),this}function f(a,b){return this.eventEmitter.addEventHandler(a,b),this}function g(a,b){return this.eventEmitter
 .removeEventHandler(a,b),this}function h(){a.addEventListener("resize",this.resizeListener),this.optionsProvider=c.optionsProvider(this.options,this.responsiveOptions,this.eventEmitter),this.eventEmitter.addEventHandler("optionsChanged",function(){this.update()}.bind(this)),this.options.plugins&&this.options.plugins.forEach(function(a){a instanceof Array?a[0](this,a[1]):a(this)}.bind(this)),this.eventEmitter.emit("data",{type:"initial",data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=void 0}function i(a,b,d,e,f){this.container=c.querySelector(a),this.data=b,this.defaultOptions=d,this.options=e,this.responsiveOptions=f,this.eventEmitter=c.EventEmitter(),this.supportsForeignObject=c.Svg.isSupported("Extensibility"),this.supportsAnimations=c.Svg.isSupported("AnimationEventsAttribute"),this.resizeListener=function(){this.update()}.bind(this),this.container&&(this.container.__chartist__&&this.container.__chartist__.detach(),this.contain
 er.__chartist__=this),this.initializeTimeoutId=setTimeout(h.bind(this),0)}c.Base=c.Class.extend({constructor:i,optionsProvider:void 0,container:void 0,svg:void 0,eventEmitter:void 0,createChart:function(){throw new Error("Base chart type can't be instantiated!")},update:d,detach:e,on:f,off:g,version:c.version,supportsForeignObject:!1})}(window,document,a),function(a,b,c){"use strict";function d(a,d,e,f,g){a instanceof Element?this._node=a:(this._node=b.createElementNS(z,a),"svg"===a&&this._node.setAttributeNS(A,c.xmlNs.qualifiedName,c.xmlNs.uri)),d&&this.attr(d),e&&this.addClass(e),f&&(g&&f._node.firstChild?f._node.insertBefore(this._node,f._node.firstChild):f._node.appendChild(this._node))}function e(a,b){return"string"==typeof a?b?this._node.getAttributeNS(b,a):this._node.getAttribute(a):(Object.keys(a).forEach(function(d){void 0!==a[d]&&(b?this._node.setAttributeNS(b,[c.xmlNs.prefix,":",d].join(""),a[d]):this._node.setAttribute(d,a[d]))}.bind(this)),this)}function f(a,b,d,e){retu
 rn new c.Svg(a,b,d,this,e)}function g(){return this._node.parentNode instanceof SVGElement?new c.Svg(this._node.parentNode):null}function h(){for(var a=this._node;"svg"!==a.nodeName;)a=a.parentNode;return new c.Svg(a)}function i(a){var b=this._node.querySelector(a);return b?new c.Svg(b):null}function j(a){var b=this._node.querySelectorAll(a);return b.length?new c.Svg.List(b):null}function k(a,c,d,e){if("string"==typeof a){var f=b.createElement("div");f.innerHTML=a,a=f.firstChild}a.setAttribute("xmlns",B);var g=this.elem("foreignObject",c,d,e);return g._node.appendChild(a),g}function l(a){return this._node.appendChild(b.createTextNode(a)),this}function m(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}function n(){return this._node.parentNode.removeChild(this._node),this.parent()}function o(a){return this._node.parentNode.replaceChild(a._node,this._node),a}function p(a,b){return b&&this._node.firstChild?this._node.insertBefore(a._node,this._nod
 e.firstChild):this._node.appendChild(a._node),this}function q(){return this._node.getAttribute("class")?this._node.getAttribute("class").trim().split(/\s+/):[]}function r(a){return this._node.setAttribute("class",this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function(a,b,c){return c.indexOf(a)===b}).join(" ")),this}function s(a){var b=a.trim().split(/\s+/);return this._node.setAttribute("class",this.classes(this._node).filter(function(a){return-1===b.indexOf(a)}).join(" ")),this}function t(){return this._node.setAttribute("class",""),this}function u(a,b){try{return a.getBBox()[b]}catch(c){}return 0}function v(){return this._node.clientHeight||Math.round(u(this._node,"height"))||this._node.parentNode.clientHeight}function w(){return this._node.clientWidth||Math.round(u(this._node,"width"))||this._node.parentNode.clientWidth}function x(a,b,d){return void 0===b&&(b=!0),Object.keys(a).forEach(function(e){function f(a,b){var f,g,h,i={};a.easing&&(h=a.easing instanceof Arr
 ay?a.easing:c.Svg.Easing[a.easing],delete a.easing),a.begin=c.ensureUnit(a.begin,"ms"),a.dur=c.ensureUnit(a.dur,"ms"),h&&(a.calcMode="spline",a.keySplines=h.join(" "),a.keyTimes="0;1"),b&&(a.fill="freeze",i[e]=a.from,this.attr(i),g=c.stripUnit(a.begin||0),a.begin="indefinite"),f=this.elem("animate",c.extend({attributeName:e},a)),b&&setTimeout(function(){try{f._node.beginElement()}catch(b){i[e]=a.to,this.attr(i),f.remove()}}.bind(this),g),d&&f._node.addEventListener("beginEvent",function(){d.emit("animationBegin",{element:this,animate:f._node,params:a})}.bind(this)),f._node.addEventListener("endEvent",function(){d&&d.emit("animationEnd",{element:this,animate:f._node,params:a}),b&&(i[e]=a.to,this.attr(i),f.remove())}.bind(this))}a[e]instanceof Array?a[e].forEach(function(a){f.bind(this)(a,!1)}.bind(this)):f.bind(this)(a[e],b)}.bind(this)),this}function y(a){var b=this;this.svgElements=[];for(var d=0;d<a.length;d++)this.svgElements.push(new c.Svg(a[d]));Object.keys(c.Svg.prototype).fil
 ter(function(a){return-1===["constructor","parent","querySelector","querySelectorAll","replace","append","classes","height","width"].indexOf(a)}).forEach(function(a){b[a]=function(){var d=Array.prototype.slice.call(arguments,0);return b.svgElements.forEach(function(b){c.Svg.prototype[a].apply(b,d)}),b}})}var z="http://www.w3.org/2000/svg",A="http://www.w3.org/2000/xmlns/",B="http://www.w3.org/1999/xhtml";c.xmlNs={qualifiedName:"xmlns:ct",prefix:"ct",uri:"http://gionkunz.github.com/chartist-js/ct"},c.Svg=c.Class.extend({constructor:d,attr:e,elem:f,parent:g,root:h,querySelector:i,querySelectorAll:j,foreignObject:k,text:l,empty:m,remove:n,replace:o,append:p,classes:q,addClass:r,removeClass:s,removeAllClasses:t,height:v,width:w,animate:x}),c.Svg.isSupported=function(a){return b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#"+a,"1.1")};var C={easeInSine:[.47,0,.745,.715],easeOutSine:[.39,.575,.565,1],easeInOutSine:[.445,.05,.55,.95],easeInQuad:[.55,.085,.68,.53],easeOutQu
 ad:[.25,.46,.45,.94],easeInOutQuad:[.455,.03,.515,.955],easeInCubic:[.55,.055,.675,.19],easeOutCubic:[.215,.61,.355,1],easeInOutCubic:[.645,.045,.355,1],easeInQuart:[.895,.03,.685,.22],easeOutQuart:[.165,.84,.44,1],easeInOutQuart:[.77,0,.175,1],easeInQuint:[.755,.05,.855,.06],easeOutQuint:[.23,1,.32,1],easeInOutQuint:[.86,0,.07,1],easeInExpo:[.95,.05,.795,.035],easeOutExpo:[.19,1,.22,1],easeInOutExpo:[1,0,0,1],easeInCirc:[.6,.04,.98,.335],easeOutCirc:[.075,.82,.165,1],easeInOutCirc:[.785,.135,.15,.86],easeInBack:[.6,-.28,.735,.045],easeOutBack:[.175,.885,.32,1.275],easeInOutBack:[.68,-.55,.265,1.55]};c.Svg.Easing=C,c.Svg.List=c.Class.extend({constructor:y})}(window,document,a),function(a,b,c){"use strict";function d(a,b,d,e,f,g){var h=c.extend({command:f?a.toLowerCase():a.toUpperCase()},b,g?{data:g}:{});d.splice(e,0,h)}function e(a,b){a.forEach(function(c,d){u[c.command.toLowerCase()].forEach(function(e,f){b(c,e,d,f,a)})})}function f(a,b){this.pathElements=[],this.pos=0,this.close=a
 ,this.options=c.extend({},v,b)}function g(a){return void 0!==a?(this.pos=Math.max(0,Math.min(this.pathElements.length,a)),this):this.pos}function h(a){return this.pathElements.splice(this.pos,a),this}function i(a,b,c,e){return d("M",{x:+a,y:+b},this.pathElements,this.pos++,c,e),this}function j(a,b,c,e){return d("L",{x:+a,y:+b},this.pathElements,this.pos++,c,e),this}function k(a,b,c,e,f,g,h,i){return d("C",{x1:+a,y1:+b,x2:+c,y2:+e,x:+f,y:+g},this.pathElements,this.pos++,h,i),this}function l(a,b,c,e,f,g,h,i,j){return d("A",{rx:+a,ry:+b,xAr:+c,lAf:+e,sf:+f,x:+g,y:+h},this.pathElements,this.pos++,i,j),this}function m(a){var b=a.replace(/([A-Za-z])([0-9])/g,"$1 $2").replace(/([0-9])([A-Za-z])/g,"$1 $2").split(/[\s,]+/).reduce(function(a,b){return b.match(/[A-Za-z]/)&&a.push([]),a[a.length-1].push(b),a},[]);"Z"===b[b.length-1][0].toUpperCase()&&b.pop();var d=b.map(function(a){var b=a.shift(),d=u[b.toLowerCase()];return c.extend({command:b},d.reduce(function(b,c,d){return b[c]=+a[d],b},{})
 )}),e=[this.pos,0];return Array.prototype.push.apply(e,d),Array.prototype.splice.apply(this.pathElements,e),this.pos+=d.length,this}function n(){var a=Math.pow(10,this.options.accuracy);return this.pathElements.reduce(function(b,c){var d=u[c.command.toLowerCase()].map(function(b){return this.options.accuracy?Math.round(c[b]*a)/a:c[b]}.bind(this));return b+c.command+d.join(",")}.bind(this),"")+(this.close?"Z":"")}function o(a,b){return e(this.pathElements,function(c,d){c[d]*="x"===d[0]?a:b}),this}function p(a,b){return e(this.pathElements,function(c,d){c[d]+="x"===d[0]?a:b}),this}function q(a){return e(this.pathElements,function(b,c,d,e,f){var g=a(b,c,d,e,f);(g||0===g)&&(b[c]=g)}),this}function r(a){var b=new c.Svg.Path(a||this.close);return b.pos=this.pos,b.pathElements=this.pathElements.slice().map(function(a){return c.extend({},a)}),b.options=c.extend({},this.options),b}function s(a){var b=[new c.Svg.Path];return this.pathElements.forEach(function(d){d.command===a.toUpperCase()&&0
 !==b[b.length-1].pathElements.length&&b.push(new c.Svg.Path),b[b.length-1].pathElements.push(d)}),b}function t(a,b,d){for(var e=new c.Svg.Path(b,d),f=0;f<a.length;f++)for(var g=a[f],h=0;h<g.pathElements.length;h++)e.pathElements.push(g.pathElements[h]);return e}var u={m:["x","y"],l:["x","y"],c:["x1","y1","x2","y2","x","y"],a:["rx","ry","xAr","lAf","sf","x","y"]},v={accuracy:3};c.Svg.Path=c.Class.extend({constructor:f,position:g,remove:h,move:i,line:j,curve:k,arc:l,scale:o,translate:p,transform:q,parse:m,stringify:n,clone:r,splitByCommand:s}),c.Svg.Path.elementDescriptions=u,c.Svg.Path.join=t}(window,document,a),function(a,b,c){"use strict";function d(a,b,c,d){this.units=a,this.counterUnits=a===f.x?f.y:f.x,this.chartRect=b,this.axisLength=b[a.rectEnd]-b[a.rectStart],this.gridOffset=b[a.rectOffset],this.ticks=c,this.options=d}function e(a,b,d,e,f){var g=e["axis"+this.units.pos.toUpperCase()],h=this.ticks.map(this.projectValue.bind(this)),i=this.ticks.map(g.labelInterpolationFnc);h.for
 Each(function(j,k){var l,m={x:0,y:0};l=h[k+1]?h[k+1]-j:Math.max(this.axisLength-j,30),(i[k]||0===i[k])&&("x"===this.units.pos?(j=this.chartRect.x1+j,m.x=e.axisX.labelOffset.x,"start"===e.axisX.position?m.y=this.chartRect.padding.top+e.axisX.labelOffset.y+(d?5:20):m.y=this.chartRect.y1+e.axisX.labelOffset.y+(d?5:20)):(j=this.chartRect.y1-j,m.y=e.axisY.labelOffset.y-(d?l:0),"start"===e.axisY.position?m.x=d?this.chartRect.padding.left+e.axisY.labelOffset.x:this.chartRect.x1-10:m.x=this.chartRect.x2+e.axisY.labelOffset.x+10),g.showGrid&&c.createGrid(j,k,this,this.gridOffset,this.chartRect[this.counterUnits.len](),a,[e.classNames.grid,e.classNames[this.units.dir]],f),g.showLabel&&c.createLabel(j,l,k,i,this,g.offset,m,b,[e.classNames.label,e.classNames[this.units.dir],e.classNames[g.position]],d,f))}.bind(this))}var f={x:{pos:"x",len:"width",dir:"horizontal",rectStart:"x1",rectEnd:"x2",rectOffset:"y2"},y:{pos:"y",len:"height",dir:"vertical",rectStart:"y2",rectEnd:"y1",rectOffset:"x1"}};c.
 Axis=c.Class.extend({constructor:d,createGridAndLabels:e,projectValue:function(a,b,c){throw new Error("Base axis can't be instantiated!")}}),c.Axis.units=f}(window,document,a),function(a,b,c){"use strict";function d(a,b,d,e){var f=e.highLow||c.getHighLow(b.normalized,e,a.pos);this.bounds=c.getBounds(d[a.rectEnd]-d[a.rectStart],f,e.scaleMinSpace||20,e.onlyInteger),this.range={min:this.bounds.min,max:this.bounds.max},c.AutoScaleAxis["super"].constructor.call(this,a,d,this.bounds.values,e)}function e(a){return this.axisLength*(+c.getMultiValue(a,this.units.pos)-this.bounds.min)/this.bounds.range}c.AutoScaleAxis=c.Axis.extend({constructor:d,projectValue:e})}(window,document,a),function(a,b,c){"use strict";function d(a,b,d,e){var f=e.highLow||c.getHighLow(b.normalized,e,a.pos);this.divisor=e.divisor||1,this.ticks=e.ticks||c.times(this.divisor).map(function(a,b){return f.low+(f.high-f.low)/this.divisor*b}.bind(this)),this.range={min:f.low,max:f.high},c.FixedScaleAxis["super"].constructor.
 call(this,a,d,this.ticks,e),this.stepLength=this.axisLength/this.divisor}function e(a){return this.axisLength*(+c.getMultiValue(a,this.units.pos)-this.range.min)/(this.range.max-this.range.min)}c.FixedScaleAxis=c.Axis.extend({constructor:d,projectValue:e})}(window,document,a),function(a,b,c){"use strict";function d(a,b,d,e){c.StepAxis["super"].constructor.call(this,a,d,e.ticks,e),this.stepLength=this.axisLength/(e.ticks.length-(e.stretch?1:0))}function e(a,b){return this.stepLength*b}c.StepAxis=c.Axis.extend({constructor:d,projectValue:e})}(window,document,a),function(a,b,c){"use strict";function d(a){var b={raw:this.data,normalized:c.getDataArray(this.data,a.reverseData,!0)};this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart);var d,e,g=this.svg.elem("g").addClass(a.classNames.gridGroup),h=this.svg.elem("g"),i=this.svg.elem("g").addClass(a.classNames.labelGroup),j=c.createChartRect(this.svg,a,f.padding);d=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,b,j,c
 .extend({},a.axisX,{ticks:b.raw.labels,stretch:a.fullWidth})):a.axisX.type.call(c,c.Axis.units.x,b,j,a.axisX),e=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,b,j,c.extend({},a.axisY,{high:c.isNum(a.high)?a.high:a.axisY.high,low:c.isNum(a.low)?a.low:a.axisY.low})):a.axisY.type.call(c,c.Axis.units.y,b,j,a.axisY),d.createGridAndLabels(g,i,this.supportsForeignObject,a,this.eventEmitter),e.createGridAndLabels(g,i,this.supportsForeignObject,a,this.eventEmitter),b.raw.series.forEach(function(f,g){var i=h.elem("g");i.attr({"series-name":f.name,meta:c.serialize(f.meta)},c.xmlNs.uri),i.addClass([a.classNames.series,f.className||a.classNames.series+"-"+c.alphaNumerate(g)].join(" "));var k=[],l=[];b.normalized[g].forEach(function(a,h){var i={x:j.x1+d.projectValue(a,h,b.normalized[g]),y:j.y1-e.projectValue(a,h,b.normalized[g])};k.push(i.x,i.y),l.push({value:a,valueIndex:h,meta:c.getMetaData(f,h)})}.bind(this));var m={lineSmooth:c.getSeriesOption(f,a,"lineSmooth"),showPoint:c.getSeries
 Option(f,a,"showPoint"),showLine:c.getSeriesOption(f,a,"showLine"),showArea:c.getSeriesOption(f,a,"showArea"),areaBase:c.getSeriesOption(f,a,"areaBase")},n="function"==typeof m.lineSmooth?m.lineSmooth:m.lineSmooth?c.Interpolation.cardinal():c.Interpolation.none(),o=n(k,l);if(m.showPoint&&o.pathElements.forEach(function(b){var h=i.elem("line",{x1:b.x,y1:b.y,x2:b.x+.01,y2:b.y},a.classNames.point).attr({value:[b.data.value.x,b.data.value.y].filter(function(a){return a}).join(","),meta:b.data.meta},c.xmlNs.uri);this.eventEmitter.emit("draw",{type:"point",value:b.data.value,index:b.data.valueIndex,meta:b.data.meta,series:f,seriesIndex:g,axisX:d,axisY:e,group:i,element:h,x:b.x,y:b.y})}.bind(this)),m.showLine){var p=i.elem("path",{d:o.stringify()},a.classNames.line,!0);this.eventEmitter.emit("draw",{type:"line",values:b.normalized[g],path:o.clone(),chartRect:j,index:g,series:f,seriesIndex:g,axisX:d,axisY:e,group:i,element:p})}if(m.showArea&&e.range){var q=Math.max(Math.min(m.areaBase,e.ran
 ge.max),e.range.min),r=j.y1-e.projectValue(q);o.splitByCommand("M").filter(function(a){return a.pathElements.length>1}).map(function(a){var b=a.pathElements[0],c=a.pathElements[a.pathElements.length-1];return a.clone(!0).position(0).remove(1).move(b.x,r).line(b.x,b.y).position(a.pathElements.length+1).line(c.x,r)}).forEach(function(h){var k=i.elem("path",{d:h.stringify()},a.classNames.area,!0).attr({values:b.normalized[g]},c.xmlNs.uri);this.eventEmitter.emit("draw",{type:"area",values:b.normalized[g],path:h.clone(),series:f,seriesIndex:g,axisX:d,axisY:e,chartRect:j,index:g,group:i,element:k})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:e.bounds,chartRect:j,axisX:d,axisY:e,svg:this.svg,options:a})}function e(a,b,d,e){c.Line["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0}
 ,showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d={raw:this.data,normalized:a.distributeSeries?c.getDataArray(this.data,a.reverseData,a.horizontalBars?"x":"y").map(function(a){return[a]}):c.getDataArray(this.data,a.reverseData,a.horizontalBars?"x":"y")};this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart+(a.horizontalBars?" "+a.classNames.horizontalBars:""
 ));var e=this.svg.elem("g").addClass(a.classNames.gridGroup),g=this.svg.elem("g"),h=this.svg.elem("g").addClass(a.classNames.labelGroup);if(a.stackBars){var i=c.serialMap(d.normalized,function(){return Array.prototype.slice.call(arguments).map(function(a){return a}).reduce(function(a,b){return{x:a.x+b.x||0,y:a.y+b.y||0}},{x:0,y:0})});b=c.getHighLow([i],c.extend({},a,{referenceValue:0}),a.horizontalBars?"x":"y")}else b=c.getHighLow(d.normalized,c.extend({},a,{referenceValue:0}),a.horizontalBars?"x":"y");b.high=+a.high||(0===a.high?0:b.high),b.low=+a.low||(0===a.low?0:b.low);var j,k,l,m,n,o=c.createChartRect(this.svg,a,f.padding);k=a.distributeSeries&&a.stackBars?d.raw.labels.slice(0,1):d.raw.labels,a.horizontalBars?(j=m=void 0===a.axisX.type?new c.AutoScaleAxis(c.Axis.units.x,d,o,c.extend({},a.axisX,{highLow:b,referenceValue:0})):a.axisX.type.call(c,c.Axis.units.x,d,o,c.extend({},a.axisX,{highLow:b,referenceValue:0})),l=n=void 0===a.axisY.type?new c.StepAxis(c.Axis.units.y,d,o,{ticks
 :k}):a.axisY.type.call(c,c.Axis.units.y,d,o,a.axisY)):(l=m=void 0===a.axisX.type?new c.StepAxis(c.Axis.units.x,d,o,{ticks:k}):a.axisX.type.call(c,c.Axis.units.x,d,o,a.axisX),j=n=void 0===a.axisY.type?new c.AutoScaleAxis(c.Axis.units.y,d,o,c.extend({},a.axisY,{highLow:b,referenceValue:0})):a.axisY.type.call(c,c.Axis.units.y,d,o,c.extend({},a.axisY,{highLow:b,referenceValue:0})));var p=a.horizontalBars?o.x1+j.projectValue(0):o.y1-j.projectValue(0),q=[];l.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),j.createGridAndLabels(e,h,this.supportsForeignObject,a,this.eventEmitter),d.raw.series.forEach(function(b,e){var f,h,i=e-(d.raw.series.length-1)/2;f=a.distributeSeries&&!a.stackBars?l.axisLength/d.normalized.length/2:a.distributeSeries&&a.stackBars?l.axisLength/2:l.axisLength/d.normalized[e].length/2,h=g.elem("g"),h.attr({"series-name":b.name,meta:c.serialize(b.meta)},c.xmlNs.uri),h.addClass([a.classNames.series,b.className||a.classNames.series+"-"+c.alphaNumerate
 (e)].join(" ")),d.normalized[e].forEach(function(g,k){var r,s,t,u;if(u=a.distributeSeries&&!a.stackBars?e:a.distributeSeries&&a.stackBars?0:k,r=a.horizontalBars?{x:o.x1+j.projectValue(g&&g.x?g.x:0,k,d.normalized[e]),y:o.y1-l.projectValue(g&&g.y?g.y:0,u,d.normalized[e])}:{x:o.x1+l.projectValue(g&&g.x?g.x:0,u,d.normalized[e]),y:o.y1-j.projectValue(g&&g.y?g.y:0,k,d.normalized[e])},l instanceof c.StepAxis&&(l.options.stretch||(r[l.units.pos]+=f*(a.horizontalBars?-1:1)),r[l.units.pos]+=a.stackBars||a.distributeSeries?0:i*a.seriesBarDistance*(a.horizontalBars?-1:1)),t=q[k]||p,q[k]=t-(p-r[l.counterUnits.pos]),void 0!==g){var v={};v[l.units.pos+"1"]=r[l.units.pos],v[l.units.pos+"2"]=r[l.units.pos],v[l.counterUnits.pos+"1"]=a.stackBars?t:p,v[l.counterUnits.pos+"2"]=a.stackBars?q[k]:r[l.counterUnits.pos],v.x1=Math.min(Math.max(v.x1,o.x1),o.x2),v.x2=Math.min(Math.max(v.x2,o.x1),o.x2),v.y1=Math.min(Math.max(v.y1,o.y2),o.y1),v.y2=Math.min(Math.max(v.y2,o.y2),o.y1),s=h.elem("line",v,a.classNames.
 bar).attr({value:[g.x,g.y].filter(function(a){return a}).join(","),meta:c.getMetaData(b,k)},c.xmlNs.uri),
+this.eventEmitter.emit("draw",c.extend({type:"bar",value:g,index:k,meta:c.getMetaData(b,k),series:b,seriesIndex:e,axisX:m,axisY:n,chartRect:o,group:h,element:s},v))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:j.bounds,chartRect:o,axisX:m,axisY:n,svg:this.svg,options:a})}function e(a,b,d,e){c.Bar["super"].constructor.call(this,a,b,f,c.extend({},f,d),e)}var f={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,onlyInteger:!1,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,horizontalBars:!1,distributeSeries:!1,reverseData:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",
 bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,h,i,j=[],k=a.startAngle,l=c.getDataArray(this.data,a.reverseData);this.svg=c.createSvg(this.container,a.width,a.height,a.donut?a.classNames.chartDonut:a.classNames.chartPie),e=c.createChartRect(this.svg,a,g.padding),f=Math.min(e.width()/2,e.height()/2),i=a.total||l.reduce(function(a,b){return a+b},0),f-=a.donut?a.donutWidth/2:0,h="outside"===a.labelPosition||a.donut?f:"center"===a.labelPosition?0:f/2,h+=a.labelOffset;var m={x:e.x1+e.width()/2,y:e.y2+e.height()/2},n=1===this.data.series.filter(function(a){return a.hasOwnProperty("value")?0!==a.value:0!==a}).length;a.showLabel&&(b=this.svg.elem("g",null
 ,null,!0));for(var o=0;o<this.data.series.length;o++){var p=this.data.series[o];j[o]=this.svg.elem("g",null,null,!0),j[o].attr({"series-name":p.name},c.xmlNs.uri),j[o].addClass([a.classNames.series,p.className||a.classNames.series+"-"+c.alphaNumerate(o)].join(" "));var q=k+l[o]/i*360;q-k===360&&(q-=.01);var r=c.polarToCartesian(m.x,m.y,f,k-(0===o||n?0:.2)),s=c.polarToCartesian(m.x,m.y,f,q),t=new c.Svg.Path(!a.donut).move(s.x,s.y).arc(f,f,0,q-k>180,0,r.x,r.y);a.donut||t.line(m.x,m.y);var u=j[o].elem("path",{d:t.stringify()},a.donut?a.classNames.sliceDonut:a.classNames.slicePie);if(u.attr({value:l[o],meta:c.serialize(p.meta)},c.xmlNs.uri),a.donut&&u.attr({style:"stroke-width: "+ +a.donutWidth+"px"}),this.eventEmitter.emit("draw",{type:"slice",value:l[o],totalDataSum:i,index:o,meta:p.meta,series:p,group:j[o],element:u,path:t.clone(),center:m,radius:f,startAngle:k,endAngle:q}),a.showLabel){var v=c.polarToCartesian(m.x,m.y,h,k+(q-k)/2),w=a.labelInterpolationFnc(this.data.labels?this.data
 .labels[o]:l[o],o);if(w||0===w){var x=b.elem("text",{dx:v.x,dy:v.y,"text-anchor":d(m,v,a.labelDirection)},a.classNames.label).text(""+w);this.eventEmitter.emit("draw",{type:"label",index:o,group:b,element:x,text:""+w,x:v.x,y:v.y})}}k=q}this.eventEmitter.emit("created",{chartRect:e,svg:this.svg,options:a})}function f(a,b,d,e){c.Pie["super"].constructor.call(this,a,b,g,c.extend({},g,d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:c.noop,labelDirection:"neutral",reverseData:!1};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a});
+//# sourceMappingURL=chartist.min.js.map
\ No newline at end of file


Mime
View raw message