<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,91 +1,53 @@
 Raphael.el.isAbsolute = true;
 Raphael.el.absolutely = function () {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    this.isAbsolute = true;
+    this.isAbsolute = 1;
     return this;
 };
 Raphael.el.relatively = function () {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    this.isAbsolute = false;
+    this.isAbsolute = 0;
     return this;
 };
 Raphael.el.moveTo = function (x, y) {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    var d = this.isAbsolute ? &quot;M&quot; : &quot;m&quot;;
-    d += +parseFloat(x).toFixed(3) + &quot; &quot; + (+parseFloat(y).toFixed(3)) + &quot; &quot;;
-    this.attr({path: this.attrs.path + d});
-    return this;
+    this._last = {x: x, y: y};
+    return this.attr({path: this.attrs.path + [&quot;m&quot;, &quot;M&quot;][+this.isAbsolute] + parseFloat(x) + &quot; &quot; + parseFloat(y)});
 };
 Raphael.el.lineTo = function (x, y) {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    var d = this.isAbsolute ? &quot;L&quot; : &quot;l&quot;;
-    d += +parseFloat(x).toFixed(3) + &quot; &quot; + (+parseFloat(y).toFixed(3)) + &quot; &quot;;
-    this.attr({path: this.attrs.path + d});
-    return this;
+    this._last = {x: x, y: y};
+    return this.attr({path: this.attrs.path + [&quot;l&quot;, &quot;L&quot;][+this.isAbsolute] + parseFloat(x) + &quot; &quot; + parseFloat(y)});
 };
-Raphael.el.arcTo = function (rx, ry, large_arc_flag, sweep_flag, x, y) {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    var d = this.isAbsolute ? &quot;A&quot; : &quot;a&quot;;
-    d += [+parseFloat(rx).toFixed(3), +parseFloat(ry).toFixed(3), 0, large_arc_flag, sweep_flag, +parseFloat(x).toFixed(3), +parseFloat(y).toFixed(3)].join(&quot; &quot;);
-    this.attr({path: this.attrs.path + d});
-    return this;
+Raphael.el.arcTo = function (rx, ry, large_arc_flag, sweep_flag, x, y, angle) {
+    this._last = {x: x, y: y};
+    return this.attr({path: this.attrs.path + [&quot;a&quot;, &quot;A&quot;][+this.isAbsolute] + [parseFloat(rx), parseFloat(ry), +angle, large_arc_flag, sweep_flag, parseFloat(x), parseFloat(y)].join(&quot; &quot;)});
 };
 Raphael.el.curveTo = function () {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
     var args = Array.prototype.splice.call(arguments, 0, arguments.length),
         d = [0, 0, 0, 0, &quot;s&quot;, 0, &quot;c&quot;][args.length] || &quot;&quot;;
-    if (this.isAbsolute) {
-        d = d.toUpperCase();
-    }
-    this.attr({path: this.attrs.path + d + args});
+    this.isAbsolute &amp;&amp; (d = d.toUpperCase());
+    this._last = {x: args[args.length - 2], y: args[args.length - 1]};
+    return this.attr({path: this.attrs.path + d + args});
+};
+Raphael.el.cplineTo = function (x, y, w) {
+    this.attr({path: this.attrs.path + [&quot;C&quot;, this._last.x + w, this._last.y, x - w, y, x, y]});
+    this._last = {x: x, y: y};
     return this;
 };
 Raphael.el.qcurveTo = function () {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
     var d = [0, 1, &quot;t&quot;, 3, &quot;q&quot;][arguments.length],
         args = Array.prototype.splice.call(arguments, 0, arguments.length);
     if (this.isAbsolute) {
         d = d.toUpperCase();
     }
-    this.attr({path: this.attrs.path + d + args});
-    return this;
+    this._last = {x: args[args.length - 2], y: args[args.length - 1]};
+    return this.attr({path: this.attrs.path + d + args});
 };
 Raphael.el.addRoundedCorner = function (r, dir) {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    var rollback = this.isAbsolute,
-        o = this;
-    if (rollback) {
-        this.relatively();
-        rollback = function () {
-            o.absolutely();
-        };
-    } else {
-        rollback = function () {};
-    }
-    this.arcTo(r, r, 0, {&quot;lu&quot;: 1, &quot;rd&quot;: 1, &quot;ur&quot;: 1, &quot;dl&quot;: 1}[dir] || 0, r * (!!(dir.indexOf(&quot;r&quot;) + 1) * 2 - 1), r * (!!(dir.indexOf(&quot;d&quot;) + 1) * 2 - 1));
-    rollback();
+    var rollback = this.isAbsolute;
+    rollback &amp;&amp; this.relatively();
+    this._last = {x: r * (!!(dir.indexOf(&quot;r&quot;) + 1) * 2 - 1), y: r * (!!(dir.indexOf(&quot;d&quot;) + 1) * 2 - 1)};
+    this.arcTo(r, r, 0, {&quot;lu&quot;: 1, &quot;rd&quot;: 1, &quot;ur&quot;: 1, &quot;dl&quot;: 1}[dir] || 0, this._last.x, this._last.y);
+    rollback &amp;&amp; this.absolutely();
     return this;
 };
 Raphael.el.andClose = function () {
-    if (this.type != &quot;path&quot;) {
-        return this;
-    }
-    this.attr({path: this.attrs.path + &quot;z&quot;});
-    return this;
-};
\ No newline at end of file
+    return this.attr({path: this.attrs.path + &quot;z&quot;});
+};</diff>
      <filename>plugins/raphael.path.methods.js</filename>
    </modified>
    <modified>
      <diff>@@ -46,4 +46,42 @@ Raphael.fn.polygon = function (cx, cy, r, n) {
 };
 Raphael.fn.line = function (x1, y1, x2, y2) {
     return this.path([&quot;M&quot;, x1, y1, &quot;L&quot;, x2, y2]);
+};
+Raphael.fn.drawGrid = function (x, y, w, h, wv, hv, color) {
+    color = color || &quot;#000&quot;;
+    var path = [&quot;M&quot;, x, y, &quot;L&quot;, x + w, y, x + w, y + h, x, y + h, x, y],
+        rowHeight = h / hv,
+        columnWidth = w / wv;
+    for (var i = 1; i &lt; hv; i++) {
+        path = path.concat([&quot;M&quot;, x, y + i * rowHeight, &quot;L&quot;, x + w, y + i * rowHeight]);
+    }
+    for (var i = 1; i &lt; wv; i++) {
+        path = path.concat([&quot;M&quot;, x + i * columnWidth, y, &quot;L&quot;, x + i * columnWidth, y + h]);
+    }
+    return this.path(path.join(&quot;,&quot;)).attr({stroke: color});
+};
+Raphael.fn.square = function (cx, cy, r) {
+    r = r * .7;
+    return this.rect(cx - r, cy - r, 2 * r, 2 * r);
+};
+Raphael.fn.triangle = function (cx, cy, r) {
+    r *= 1.75;
+    return this.path(&quot;M&quot;.concat(cx, &quot;,&quot;, cy, &quot;m0-&quot;, r * .58, &quot;l&quot;, r * .5, &quot;,&quot;, r * .87, &quot;-&quot;, r, &quot;,0z&quot;));
+};
+Raphael.fn.diamond = function (cx, cy, r) {
+    return this.path([&quot;M&quot;, cx, cy - r, &quot;l&quot;, r, r, -r, r, -r, -r, r, -r, &quot;z&quot;]);
+};
+Raphael.fn.cross = function (cx, cy, r) {
+    r = r / 2.5;
+    return this.path(&quot;M&quot;.concat(cx - r, &quot;,&quot;, cy, &quot;l&quot;, [-r, -r, r, -r, r, r, r, -r, r, r, -r, r, r, r, -r, r, -r, -r, -r, r, -r, -r, &quot;z&quot;]));
+};
+Raphael.fn.plus = function (cx, cy, r) {
+    r = r / 2;
+    return this.path(&quot;M&quot;.concat(cx - r / 2, &quot;,&quot;, cy - r / 2, &quot;l&quot;, [0, -r, r, 0, 0, r, r, 0, 0, r, -r, 0, 0, r, -r, 0, 0, -r, -r, 0, 0, -r, &quot;z&quot;]));
+};
+Raphael.fn.arrow = function (cx, cy, r, angle) {
+    return this.path(&quot;M&quot;.concat(cx - r * .7, &quot;,&quot;, cy - r * .4, &quot;l&quot;, [r * .6, 0, 0, -r * .4, r, r * .8, -r, r * .8, 0, -r * .4, -r * .6, 0], &quot;z&quot;)).rotate(angle || 0);
+};
+Raphael.fn.i = function (cx, cy, r) {
+    return this.path(&quot;M13.052,15.376c0,0.198-0.466,0.66-1.397,1.388c-0.932,0.728-1.773,1.092-2.526,1.092c-0.518,0-0.895-0.133-1.129-0.398s-0.352-0.564-0.352-0.897c0-0.209,0.031-0.404,0.092-0.583c0.062-0.179,0.13-0.361,0.204-0.546l1.758-3.646c0.099-0.209,0.169-0.379,0.213-0.509c0.043-0.129,0.064-0.244,0.064-0.342s-0.019-0.169-0.055-0.213c-0.037-0.043-0.087-0.064-0.148-0.064c-0.16,0-0.472,0.244-0.935,0.731c-0.462,0.487-0.737,0.731-0.823,0.731c-0.099,0-0.198-0.068-0.296-0.204s-0.148-0.222-0.148-0.259c0-0.123,0.117-0.324,0.352-0.602c0.234-0.277,0.531-0.57,0.888-0.879C9.135,9.892,9.521,9.627,9.971,9.38c0.45-0.247,0.848-0.37,1.194-0.37c0.555,0,0.972,0.158,1.249,0.472c0.278,0.314,0.417,0.694,0.417,1.138c0,0.185-0.019,0.382-0.056,0.592c-0.037,0.209-0.117,0.425-0.24,0.647l-1.407,3.09c-0.111,0.259-0.191,0.469-0.241,0.629c-0.049,0.161-0.074,0.271-0.074,0.333c0,0.074,0.019,0.121,0.055,0.139c0.037,0.018,0.074,0.027,0.111,0.027c0.271,0,0.589-0.194,0.953-0.583c0.364-0.389,0.595-0.583,0.694-0.583c0.086,0,0.179,0.064,0.278,0.194C13.002,15.237,13.052,15.327,13.052,15.376z M14.477,5.827c0,0.457-0.164,0.852-0.49,1.185c-0.327,0.333-0.725,0.5-1.194,0.5c-0.457,0-0.851-0.167-1.185-0.5c-0.333-0.333-0.5-0.728-0.5-1.185c0-0.456,0.167-0.851,0.5-1.184c0.333-0.333,0.728-0.5,1.185-0.5c0.469,0,0.867,0.167,1.194,0.5C14.313,4.976,14.477,5.371,14.477,5.827z&quot;).translate(cx - 11, cy - 11).scale((r || 20) / 20);
 };
\ No newline at end of file</diff>
      <filename>plugins/raphael.primitives.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 /*
- * Raphael 1.0 - JavaScript Vector Library
+ * Raphael 1.0 RC1 - JavaScript Vector Library
  *
  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
  */
-window.Raphael=(function(){var x=/[, ]+/,F=document,l=window,p={was:&quot;Raphael&quot; in window,is:window.Raphael},E=function(){return J.apply(E,arguments);},B={},O={cx:0,cy:0,fill:&quot;#fff&quot;,&quot;fill-opacity&quot;:1,font:'10px &quot;Arial&quot;',&quot;font-family&quot;:'&quot;Arial&quot;',&quot;font-size&quot;:&quot;10&quot;,&quot;font-style&quot;:&quot;normal&quot;,&quot;font-weight&quot;:400,gradient:0,height:0,href:&quot;http://raphaeljs.com/&quot;,opacity:1,path:&quot;M0,0&quot;,r:0,rotation:0,rx:0,ry:0,scale:&quot;1 1&quot;,src:&quot;&quot;,stroke:&quot;#000&quot;,&quot;stroke-dasharray&quot;:&quot;&quot;,&quot;stroke-linecap&quot;:&quot;butt&quot;,&quot;stroke-linejoin&quot;:&quot;butt&quot;,&quot;stroke-miterlimit&quot;:0,&quot;stroke-opacity&quot;:1,&quot;stroke-width&quot;:1,target:&quot;_blank&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,title:&quot;Raphael&quot;,translation:&quot;0 0&quot;,width:0,x:0,y:0},T={cx:&quot;number&quot;,cy:&quot;number&quot;,fill:&quot;colour&quot;,&quot;fill-opacity&quot;:&quot;number&quot;,&quot;font-size&quot;:&quot;number&quot;,height:&quot;number&quot;,opacity:&quot;number&quot;,path:&quot;path&quot;,r:&quot;number&quot;,rotation:&quot;csv&quot;,rx:&quot;number&quot;,ry:&quot;number&quot;,scale:&quot;csv&quot;,stroke:&quot;colour&quot;,&quot;stroke-opacity&quot;:&quot;number&quot;,&quot;stroke-width&quot;:&quot;number&quot;,translation:&quot;csv&quot;,width:&quot;number&quot;,x:&quot;number&quot;,y:&quot;number&quot;},U=[&quot;click&quot;,&quot;dblclick&quot;,&quot;mousedown&quot;,&quot;mousemove&quot;,&quot;mouseout&quot;,&quot;mouseover&quot;,&quot;mouseup&quot;];E.version=&quot;1.0&quot;;E.type=(window.SVGAngle||document.implementation.hasFeature(&quot;http://www.w3.org/TR/SVG11/feature#BasicStructure&quot;,&quot;1.1&quot;)?&quot;SVG&quot;:&quot;VML&quot;);E.svg=!(E.vml=E.type==&quot;VML&quot;);E.idGenerator=0;E.fn={};E.isArray=function(R){return Object.prototype.toString.call(R)==&quot;[object Array]&quot;;};E.setWindow=function(R){l=R;F=l.document;};E.hsb2rgb=w(function(AE,AC,AI){if(typeof AE==&quot;object&quot;&amp;&amp;&quot;h&quot; in AE&amp;&amp;&quot;s&quot; in AE&amp;&amp;&quot;b&quot; in AE){AI=AE.b;AC=AE.s;AE=AE.h;}var z,AA,AJ;if(AI==0){return{r:0,g:0,b:0,hex:&quot;#000&quot;};}if(AE&gt;1||AC&gt;1||AI&gt;1){AE/=255;AC/=255;AI/=255;}var AB=Math.floor(AE*6),AF=(AE*6)-AB,y=AI*(1-AC),e=AI*(1-(AC*AF)),AK=AI*(1-(AC*(1-AF)));z=[AI,e,y,y,AK,AI,AI][AB];AA=[AK,AI,AI,e,y,y,AK][AB];AJ=[y,y,AK,AI,AI,e,y][AB];z*=255;AA*=255;AJ*=255;var AG={r:z,g:AA,b:AJ},R=Math.round(z).toString(16),AD=Math.round(AA).toString(16),AH=Math.round(AJ).toString(16);if(R.length==1){R=&quot;0&quot;+R;}if(AD.length==1){AD=&quot;0&quot;+AD;}if(AH.length==1){AH=&quot;0&quot;+AH;}AG.hex=&quot;#&quot;+R+AD+AH;return AG;},E);E.rgb2hsb=w(function(R,e,AC){if(typeof R==&quot;object&quot;&amp;&amp;&quot;r&quot; in R&amp;&amp;&quot;g&quot; in R&amp;&amp;&quot;b&quot; in R){AC=R.b;e=R.g;R=R.r;}if(typeof R==&quot;string&quot;){var AE=E.getRGB(R);R=AE.r;e=AE.g;AC=AE.b;}if(R&gt;1||e&gt;1||AC&gt;1){R/=255;e/=255;AC/=255;}var AB=Math.max(R,e,AC),i=Math.min(R,e,AC),z,y,AA=AB;if(i==AB){return{h:0,s:0,b:AB};}else{var AD=(AB-i);y=AD/AB;if(R==AB){z=(e-AC)/AD;}else{if(e==AB){z=2+((AC-R)/AD);}else{z=4+((R-e)/AD);}}z/=6;if(z&lt;0){z+=1;}if(z&gt;1){z-=1;}}return{h:z,s:y,b:AA};},E);E._path2string=function(){var y=&quot;&quot;,AB;for(var e=0,z=this.length;e&lt;z;e++){for(var R=0,AA=this[e].length;R&lt;AA;R++){y+=this[e][R];R&amp;&amp;R!=AA-1&amp;&amp;(y+=&quot;,&quot;);}e!=z-1&amp;&amp;(y+=&quot;\n&quot;);}return y.replace(/,(?=-)/g,&quot;&quot;);};function w(y,e,R){function i(){var z=Array.prototype.splice.call(arguments,0,arguments.length),AA=z.join(&quot;\u25ba&quot;);i.cache=i.cache||{};i.count=i.count||[];if(AA in i.cache){return R?R(i.cache[AA]):i.cache[AA];}if(i.count.length&gt;1000){delete i.cache[i.count.unshift()];}i.count.push(AA);i.cache[AA]=y.apply(e,z);return R?R(i.cache[AA]):i.cache[AA];}return i;}E.getRGB=w(function(R){var AE={aliceblue:&quot;#f0f8ff&quot;,amethyst:&quot;#96c&quot;,antiquewhite:&quot;#faebd7&quot;,aqua:&quot;#0ff&quot;,aquamarine:&quot;#7fffd4&quot;,azure:&quot;#f0ffff&quot;,beige:&quot;#f5f5dc&quot;,bisque:&quot;#ffe4c4&quot;,black:&quot;#000&quot;,blanchedalmond:&quot;#ffebcd&quot;,blue:&quot;#00f&quot;,blueviolet:&quot;#8a2be2&quot;,brown:&quot;#a52a2a&quot;,burlywood:&quot;#deb887&quot;,cadetblue:&quot;#5f9ea0&quot;,chartreuse:&quot;#7fff00&quot;,chocolate:&quot;#d2691e&quot;,coral:&quot;#ff7f50&quot;,cornflowerblue:&quot;#6495ed&quot;,cornsilk:&quot;#fff8dc&quot;,crimson:&quot;#dc143c&quot;,cyan:&quot;#0ff&quot;,darkblue:&quot;#00008b&quot;,darkcyan:&quot;#008b8b&quot;,darkgoldenrod:&quot;#b8860b&quot;,darkgray:&quot;#a9a9a9&quot;,darkgreen:&quot;#006400&quot;,darkkhaki:&quot;#bdb76b&quot;,darkmagenta:&quot;#8b008b&quot;,darkolivegreen:&quot;#556b2f&quot;,darkorange:&quot;#ff8c00&quot;,darkorchid:&quot;#9932cc&quot;,darkred:&quot;#8b0000&quot;,darksalmon:&quot;#e9967a&quot;,darkseagreen:&quot;#8fbc8f&quot;,darkslateblue:&quot;#483d8b&quot;,darkslategray:&quot;#2f4f4f&quot;,darkturquoise:&quot;#00ced1&quot;,darkviolet:&quot;#9400d3&quot;,deeppink:&quot;#ff1493&quot;,deepskyblue:&quot;#00bfff&quot;,dimgray:&quot;#696969&quot;,dodgerblue:&quot;#1e90ff&quot;,firebrick:&quot;#b22222&quot;,floralwhite:&quot;#fffaf0&quot;,forestgreen:&quot;#228b22&quot;,fuchsia:&quot;#f0f&quot;,gainsboro:&quot;#dcdcdc&quot;,ghostwhite:&quot;#f8f8ff&quot;,gold:&quot;#ffd700&quot;,goldenrod:&quot;#daa520&quot;,gray:&quot;#808080&quot;,green:&quot;#008000&quot;,greenyellow:&quot;#adff2f&quot;,honeydew:&quot;#f0fff0&quot;,hotpink:&quot;#ff69b4&quot;,indianred:&quot;#cd5c5c&quot;,indigo:&quot;#4b0082&quot;,ivory:&quot;#fffff0&quot;,khaki:&quot;#f0e68c&quot;,lavender:&quot;#e6e6fa&quot;,lavenderblush:&quot;#fff0f5&quot;,lawngreen:&quot;#7cfc00&quot;,lemonchiffon:&quot;#fffacd&quot;,lightblue:&quot;#add8e6&quot;,lightcoral:&quot;#f08080&quot;,lightcyan:&quot;#e0ffff&quot;,lightgoldenrodyellow:&quot;#fafad2&quot;,lightgreen:&quot;#90ee90&quot;,lightgrey:&quot;#d3d3d3&quot;,lightpink:&quot;#ffb6c1&quot;,lightsalmon:&quot;#ffa07a&quot;,lightsalmon:&quot;#ffa07a&quot;,lightseagreen:&quot;#20b2aa&quot;,lightskyblue:&quot;#87cefa&quot;,lightslategray:&quot;#789&quot;,lightsteelblue:&quot;#b0c4de&quot;,lightyellow:&quot;#ffffe0&quot;,lime:&quot;#0f0&quot;,limegreen:&quot;#32cd32&quot;,linen:&quot;#faf0e6&quot;,magenta:&quot;#f0f&quot;,maroon:&quot;#800000&quot;,mediumaquamarine:&quot;#66cdaa&quot;,mediumblue:&quot;#0000cd&quot;,mediumorchid:&quot;#ba55d3&quot;,mediumpurple:&quot;#9370db&quot;,mediumseagreen:&quot;#3cb371&quot;,mediumslateblue:&quot;#7b68ee&quot;,mediumslateblue:&quot;#7b68ee&quot;,mediumspringgreen:&quot;#00fa9a&quot;,mediumturquoise:&quot;#48d1cc&quot;,mediumvioletred:&quot;#c71585&quot;,midnightblue:&quot;#191970&quot;,mintcream:&quot;#f5fffa&quot;,mistyrose:&quot;#ffe4e1&quot;,moccasin:&quot;#ffe4b5&quot;,navajowhite:&quot;#ffdead&quot;,navy:&quot;#000080&quot;,oldlace:&quot;#fdf5e6&quot;,olive:&quot;#808000&quot;,olivedrab:&quot;#6b8e23&quot;,orange:&quot;#ffa500&quot;,orangered:&quot;#ff4500&quot;,orchid:&quot;#da70d6&quot;,palegoldenrod:&quot;#eee8aa&quot;,palegreen:&quot;#98fb98&quot;,paleturquoise:&quot;#afeeee&quot;,palevioletred:&quot;#db7093&quot;,papayawhip:&quot;#ffefd5&quot;,peachpuff:&quot;#ffdab9&quot;,peru:&quot;#cd853f&quot;,pink:&quot;#ffc0cb&quot;,plum:&quot;#dda0dd&quot;,powderblue:&quot;#b0e0e6&quot;,purple:&quot;#800080&quot;,red:&quot;#f00&quot;,rosybrown:&quot;#bc8f8f&quot;,royalblue:&quot;#4169e1&quot;,saddlebrown:&quot;#8b4513&quot;,salmon:&quot;#fa8072&quot;,sandybrown:&quot;#f4a460&quot;,seagreen:&quot;#2e8b57&quot;,seashell:&quot;#fff5ee&quot;,sienna:&quot;#a0522d&quot;,silver:&quot;#c0c0c0&quot;,skyblue:&quot;#87ceeb&quot;,slateblue:&quot;#6a5acd&quot;,slategray:&quot;#708090&quot;,snow:&quot;#fffafa&quot;,springgreen:&quot;#00ff7f&quot;,steelblue:&quot;#4682b4&quot;,tan:&quot;#d2b48c&quot;,teal:&quot;#008080&quot;,thistle:&quot;#d8bfd8&quot;,tomato:&quot;#ff6347&quot;,turquoise:&quot;#40e0d0&quot;,violet:&quot;#ee82ee&quot;,wheat:&quot;#f5deb3&quot;,white:&quot;#fff&quot;,whitesmoke:&quot;#f5f5f5&quot;,yellow:&quot;#ff0&quot;,yellowgreen:&quot;#9acd32&quot;},AA;if((R+&quot;&quot;).toLowerCase() in AE){R=AE[R.toString().toLowerCase()];}if(!R){return{r:0,g:0,b:0,hex:&quot;#000&quot;};}if(R==&quot;none&quot;){return{r:-1,g:-1,b:-1,hex:&quot;none&quot;};}var i,y,AD,AB=(R+&quot;&quot;).match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(AB){if(AB[2]){AD=parseInt(AB[2].substring(5),16);y=parseInt(AB[2].substring(3,5),16);i=parseInt(AB[2].substring(1,3),16);}if(AB[3]){AD=parseInt(AB[3].substring(3)+AB[3].substring(3),16);y=parseInt(AB[3].substring(2,3)+AB[3].substring(2,3),16);i=parseInt(AB[3].substring(1,2)+AB[3].substring(1,2),16);}if(AB[4]){AB=AB[4].split(/\s*,\s*/);i=parseFloat(AB[0]);y=parseFloat(AB[1]);AD=parseFloat(AB[2]);}if(AB[5]){AB=AB[5].split(/\s*,\s*/);i=parseFloat(AB[0])*2.55;y=parseFloat(AB[1])*2.55;AD=parseFloat(AB[2])*2.55;}if(AB[6]){AB=AB[6].split(/\s*,\s*/);i=parseFloat(AB[0]);y=parseFloat(AB[1]);AD=parseFloat(AB[2]);return E.hsb2rgb(i,y,AD);}if(AB[7]){AB=AB[7].split(/\s*,\s*/);i=parseFloat(AB[0])*2.55;y=parseFloat(AB[1])*2.55;AD=parseFloat(AB[2])*2.55;return E.hsb2rgb(i,y,AD);}var AB={r:i,g:y,b:AD},e=Math.round(i).toString(16),z=Math.round(y).toString(16),AC=Math.round(AD).toString(16);(e.length==1)&amp;&amp;(e=&quot;0&quot;+e);(z.length==1)&amp;&amp;(z=&quot;0&quot;+z);(AC.length==1)&amp;&amp;(AC=&quot;0&quot;+AC);AB.hex=&quot;#&quot;+e+z+AC;AA=AB;}else{AA={r:-1,g:-1,b:-1,hex:&quot;none&quot;};}return AA;},E);E.getColor=function(e){var i=this.getColor.start=this.getColor.start||{h:0,s:1,b:e||0.75},R=this.hsb2rgb(i.h,i.s,i.b);i.h+=0.075;if(i.h&gt;1){i.h=0;i.s-=0.2;if(i.s&lt;=0){this.getColor.start={h:0,s:1,b:i.b};}}return R.hex;};E.getColor.reset=function(){delete this.start;};E.parsePathString=w(function(R){if(!R){return null;}var i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=[];if(E.isArray(R)&amp;&amp;E.isArray(R[0])){e=S(R);}if(!e.length){(R+&quot;&quot;).replace(/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(z,y,AC){var AB=[],AA=y.toLowerCase();AC.replace(/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(AE,AD){AD&amp;&amp;AB.push(+AD);});while(AB.length&gt;=i[AA]){e.push([y].concat(AB.splice(0,i[AA])));if(!i[AA]){break;}}});}e.toString=E._path2string;return e;});var a=w(function(AG){AG=o(AG);var AD=0,AC=0,z=[],e=[];for(var AA=0,AF=AG.length;AA&lt;AF;AA++){if(AG[AA][0]==&quot;M&quot;){AD=AG[AA][1];AC=AG[AA][2];z.push(AD);e.push(AC);}else{var AB=j(AD,AC,AG[AA][1],AG[AA][2],AG[AA][3],AG[AA][4],AG[AA][5],AG[AA][6]);z=z.concat(AB.min.x,AB.max.x);e=e.concat(AB.min.y,AB.max.y);}}var R=Math.min.apply(0,z),AE=Math.min.apply(0,e);return{x:R,y:AE,width:Math.max.apply(0,z)-R,height:Math.max.apply(0,e)-AE};}),S=function(AB){var y=[];if(!E.isArray(AB)||!E.isArray(AB&amp;&amp;AB[0])){AB=E.parsePathString(AB);}for(var e=0,z=AB.length;e&lt;z;e++){y[e]=[];for(var R=0,AA=AB[e].length;R&lt;AA;R++){y[e][R]=AB[e][R];}}y.toString=E._path2string;return y;},C=w(function(AA){if(!E.isArray(AA)||!E.isArray(AA&amp;&amp;AA[0])){AA=E.parsePathString(AA);}var AG=[],AI=0,AH=0,AL=0,AK=0,z=0;if(AA[0][0]==&quot;M&quot;){AI=AA[0][1];AH=AA[0][2];AL=AI;AK=AH;z++;AG.push([&quot;M&quot;,AI,AH]);}for(var AD=z,AM=AA.length;AD&lt;AM;AD++){var R=AG[AD]=[],AJ=AA[AD];if(AJ[0]!=AJ[0].toLowerCase()){R[0]=AJ[0].toLowerCase();switch(R[0]){case&quot;a&quot;:R[1]=AJ[1];R[2]=AJ[2];R[3]=AJ[3];R[4]=AJ[4];R[5]=AJ[5];R[6]=+(AJ[6]-AI).toFixed(3);R[7]=+(AJ[7]-AH).toFixed(3);break;case&quot;v&quot;:R[1]=+(AJ[1]-AH).toFixed(3);break;case&quot;m&quot;:AL=AJ[1];AK=AJ[2];default:for(var AC=1,AE=AJ.length;AC&lt;AE;AC++){R[AC]=+(AJ[AC]-((AC%2)?AI:AH)).toFixed(3);}}}else{R=AG[AD]=[];if(AJ[0]==&quot;m&quot;){AL=AJ[1]+AI;AK=AJ[2]+AH;}for(var AB=0,e=AJ.length;AB&lt;e;AB++){AG[AD][AB]=AJ[AB];}}var AF=AG[AD].length;switch(AG[AD][0]){case&quot;z&quot;:AI=AL;AH=AK;break;case&quot;h&quot;:AI+=+AG[AD][AF-1];break;case&quot;v&quot;:AH+=+AG[AD][AF-1];break;default:AI+=+AG[AD][AF-2];AH+=+AG[AD][AF-1];}}AG.toString=E._path2string;return AG;},0,S),V=w(function(AA){if(!E.isArray(AA)||!E.isArray(AA&amp;&amp;AA[0])){AA=E.parsePathString(AA);}var AF=[],AH=0,AG=0,AK=0,AJ=0,z=0;if(AA[0][0]==&quot;M&quot;){AH=+AA[0][1];AG=+AA[0][2];AK=AH;AJ=AG;z++;AF[0]=[&quot;M&quot;,AH,AG];}for(var AD=z,AL=AA.length;AD&lt;AL;AD++){var R=AF[AD]=[],AI=AA[AD];if(AI[0]!=(AI[0]+&quot;&quot;).toUpperCase()){R[0]=(AI[0]+&quot;&quot;).toUpperCase();switch(R[0]){case&quot;A&quot;:R[1]=AI[1];R[2]=AI[2];R[3]=AI[3];R[4]=AI[4];R[5]=AI[5];R[6]=+(AI[6]+AH);R[7]=+(AI[7]+AG);break;case&quot;V&quot;:R[1]=+AI[1]+AG;break;case&quot;H&quot;:R[1]=+AI[1]+AH;break;case&quot;M&quot;:AK=+AI[1]+AH;AJ=+AI[2]+AG;default:for(var AC=1,AE=AI.length;AC&lt;AE;AC++){R[AC]=+AI[AC]+((AC%2)?AH:AG);}}}else{for(var AB=0,e=AI.length;AB&lt;e;AB++){AF[AD][AB]=AI[AB];}}switch(R[0]){case&quot;Z&quot;:AH=AK;AG=AJ;break;case&quot;H&quot;:AH=R[1];break;case&quot;V&quot;:AG=R[1];break;default:AH=AF[AD][AF[AD].length-2];AG=AF[AD][AF[AD].length-1];}}AF.toString=E._path2string;return AF;},null,S),D=function(e,y,R,i){return[e,y,R,i,R,i];},W=function(e,y,AA,z,R,i){return[2/3*e+1/3*AA,2/3*y+1/3*z,2/3*e+1/3*R,2/3*y+1/3*i,R,i];},P=function(AK,Ao,AT,AR,AL,AF,AA,AJ,An,AM){var AQ=Math.PI*120/180,R=Math.PI/180*(+AL||0),AX=[],AU,Ak=w(function(Ap,As,i){var Ar=Ap*Math.cos(i)-As*Math.sin(i),Aq=Ap*Math.sin(i)+As*Math.cos(i);return{x:Ar,y:Aq};});if(!AM){AU=Ak(AK,Ao,-R);AK=AU.x;Ao=AU.y;AU=Ak(AJ,An,-R);AJ=AU.x;An=AU.y;var e=Math.cos(Math.PI/180*AL),AH=Math.sin(Math.PI/180*AL),AZ=(AK-AJ)/2,AY=(Ao-An)/2;AT=Math.max(AT,Math.abs(AZ));AR=Math.max(AR,Math.abs(AY));var z=AT*AT,Ac=AR*AR,Ae=(AF==AA?-1:1)*Math.sqrt((z*Ac-z*AY*AY-Ac*AZ*AZ)/(z*AY*AY+Ac*AZ*AZ)),AO=Ae*AT*AY/AR+(AK+AJ)/2,AN=Ae*-AR*AZ/AT+(Ao+An)/2,AE=Math.asin((Ao-AN)/AR),AD=Math.asin((An-AN)/AR);AE=AK&lt;AO?Math.PI-AE:AE;AD=AJ&lt;AO?Math.PI-AD:AD;AE&lt;0&amp;&amp;(AE=Math.PI*2+AE);AD&lt;0&amp;&amp;(AD=Math.PI*2+AD);if(AA&amp;&amp;AE&gt;AD){AE=AE-Math.PI*2;}if(!AA&amp;&amp;AD&gt;AE){AD=AD-Math.PI*2;}}else{AE=AM[0];AD=AM[1];AO=AM[2];AN=AM[3];}var AI=AD-AE;if(Math.abs(AI)&gt;AQ){var AP=AD,AS=AJ,AG=An;AD=AE+AQ*(AA&amp;&amp;AD&gt;AE?1:-1);AJ=AO+AT*Math.cos(AD);An=AN+AR*Math.sin(AD);AX=P(AJ,An,AT,AR,AL,0,AA,AS,AG,[AD,AP,AO,AN]);}var AC=Math.cos(AE),Am=Math.sin(AE),AB=Math.cos(AD),Al=Math.sin(AD),AI=AD-AE,Aa=Math.tan(AI/4),Ad=4/3*AT*Aa,Ab=4/3*AR*Aa,Aj=[AK,Ao],Ai=[AK+Ad*Am,Ao-Ab*AC],Ah=[AJ+Ad*Al,An-Ab*AB],Af=[AJ,An];Ai[0]=2*Aj[0]-Ai[0];Ai[1]=2*Aj[1]-Ai[1];if(AM){return[Ai,Ah,Af].concat(AX);}else{AX=[Ai,Ah,Af].concat(AX).join(&quot;,&quot;).split(&quot;,&quot;);var AV=[];for(var Ag=0,AW=AX.length;Ag&lt;AW;Ag++){AV[Ag]=Ag%2?Ak(AX[Ag-1],AX[Ag],R).y:Ak(AX[Ag],AX[Ag+1],R).x;}return AV;}},Z=w(function(e,R,AO,AM,AB,AA,AD,AC,AI){var AG=Math.pow(1-AI,3)*e+Math.pow(1-AI,2)*3*AI*AO+(1-AI)*3*AI*AI*AB+Math.pow(AI,3)*AD,AE=Math.pow(1-AI,3)*R+Math.pow(1-AI,2)*3*AI*AM+(1-AI)*3*AI*AI*AA+Math.pow(AI,3)*AC,AK=e+2*AI*(AO-e)+AI*AI*(AB-2*AO+e),AJ=R+2*AI*(AM-R)+AI*AI*(AA-2*AM+R),AN=AO+2*AI*(AB-AO)+AI*AI*(AD-2*AB+AO),AL=AM+2*AI*(AA-AM)+AI*AI*(AC-2*AA+AM),AH=(1-AI)*e+AI*AO,AF=(1-AI)*R+AI*AM,z=(1-AI)*AB+AI*AD,i=(1-AI)*AA+AI*AC;return{x:AG,y:AE,m:{x:AK,y:AJ},n:{x:AN,y:AL},start:{x:AH,y:AF},end:{x:z,y:i}};}),j=w(function(e,R,z,i,AM,AL,AI,AF){var AK=(AM-2*z+e)-(AI-2*AM+z),AH=2*(z-e)-2*(AM-z),AE=e-z,AC=(-AH+Math.sqrt(AH*AH-4*AK*AE))/2/AK,AA=(-AH-Math.sqrt(AH*AH-4*AK*AE))/2/AK,AG=[R,AF],AJ=[e,AI],AD=Z(e,R,z,i,AM,AL,AI,AF,AC&gt;0&amp;&amp;AC&lt;1?AC:0),AB=Z(e,R,z,i,AM,AL,AI,AF,AA&gt;0&amp;&amp;AA&lt;1?AA:0);AJ=AJ.concat(AD.x,AB.x);AG=AG.concat(AD.y,AB.y);AK=(AL-2*i+R)-(AF-2*AL+i);AH=2*(i-R)-2*(AL-i);AE=R-i;AC=(-AH+Math.sqrt(AH*AH-4*AK*AE))/2/AK;AA=(-AH-Math.sqrt(AH*AH-4*AK*AE))/2/AK;AD=Z(e,R,z,i,AM,AL,AI,AF,AC&gt;0&amp;&amp;AC&lt;1?AC:0);AB=Z(e,R,z,i,AM,AL,AI,AF,AA&gt;0&amp;&amp;AA&lt;1?AA:0);AJ=AJ.concat(AD.x,AB.x);AG=AG.concat(AD.y,AB.y);return{min:{x:Math.min.apply(Math,AJ),y:Math.min.apply(Math,AG)},max:{x:Math.max.apply(Math,AJ),y:Math.max.apply(Math,AG)}};}),o=w(function(AK,AF){var z=V(AK),AG=AF&amp;&amp;V(AF),AH={x:0,y:0,bx:0,by:0,X:0,Y:0},R={x:0,y:0,bx:0,by:0,X:0,Y:0},AB=function(AL,AM){if(!AL){return[&quot;C&quot;,AM.x,AM.y,AM.x,AM.y,AM.x,AM.y];}switch(AL[0]){case&quot;M&quot;:AM.X=AL[1];AM.Y=AL[2];break;case&quot;A&quot;:AL=[&quot;C&quot;].concat(P(AM.x,AM.y,AL[1],AL[2],AL[3],AL[4],AL[5],AL[6],AL[7]));break;case&quot;S&quot;:var i=AM.x+(AM.x-(AM.bx||AM.x)),AN=AM.y+(AM.y-(AM.by||AM.y));AL=[&quot;C&quot;,i,AN,AL[1],AL[2],AL[3],AL[4]];break;case&quot;T&quot;:var i=AM.x+(AM.x-(AM.bx||AM.x)),AN=AM.y+(AM.y-(AM.by||AM.y));AL=[&quot;C&quot;].concat(W(AM.x,AM.y,i,AN,AL[1],AL[2]));break;case&quot;Q&quot;:AL=[&quot;C&quot;].concat(W(AM.x,AM.y,AL[1],AL[2],AL[3],AL[4]));break;case&quot;L&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AL[1],AL[2]));break;case&quot;H&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AL[1],AM.y));break;case&quot;V&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AM.x,AL[1]));break;case&quot;Z&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AM.X,AM.Y));break;}return AL;},e=function(AL,AM){if(AL[AM].length&gt;7){AL[AM].shift();var AN=AL[AM];while(AN.length){AL.splice(AM++,0,[&quot;C&quot;].concat(AN.splice(0,6)));}AL.splice(AM,1);AI=Math.max(z.length,AG&amp;&amp;AG.length||0);}},y=function(AP,AO,AM,AL,AN){if(AP&amp;&amp;AO&amp;&amp;AP[AN][0]==&quot;M&quot;&amp;&amp;AO[AN][0]!=&quot;M&quot;){AO.splice(AN,0,[&quot;M&quot;,AL.x,AL.y]);AM.bx=0;AM.by=0;AM.x=AP[AN][1];AM.y=AP[AN][2];AI=Math.max(z.length,AG&amp;&amp;AG.length||0);}};for(var AD=0,AI=Math.max(z.length,AG&amp;&amp;AG.length||0);AD&lt;AI;AD++){z[AD]=AB(z[AD],AH);e(z,AD);AG&amp;&amp;(AG[AD]=AB(AG[AD],R));AG&amp;&amp;e(AG,AD);y(z,AG,AH,R,AD);y(AG,z,R,AH,AD);var AC=z[AD],AJ=AG&amp;&amp;AG[AD],AA=AC.length,AE=AG&amp;&amp;AJ.length;AH.bx=AC[AA-4]||0;AH.by=AC[AA-3]||0;AH.x=AC[AA-2];AH.y=AC[AA-1];R.bx=AG&amp;&amp;(AJ[AE-4]||0);R.by=AG&amp;&amp;(AJ[AE-3]||0);R.x=AG&amp;&amp;AJ[AE-2];R.y=AG&amp;&amp;AJ[AE-1];}return AG?[z,AG]:z;},null,S),L=w(function(AG){if(typeof AG==&quot;string&quot;){AG=AG.split(/\s*\-\s*/);var y=AG.shift();if(y.toLowerCase()==&quot;v&quot;){y=90;}else{if(y.toLowerCase()==&quot;h&quot;){y=0;}else{y=parseFloat(y);}}y=-y;var AE={angle:y,type:&quot;linear&quot;,dots:[],vector:[0,0,Math.cos(y*Math.PI/180).toFixed(3),Math.sin(y*Math.PI/180).toFixed(3)]},AF=1/(Math.max(Math.abs(AE.vector[2]),Math.abs(AE.vector[3]))||1);AE.vector[2]*=AF;AE.vector[3]*=AF;if(AE.vector[2]&lt;0){AE.vector[0]=-AE.vector[2];AE.vector[2]=0;}if(AE.vector[3]&lt;0){AE.vector[1]=-AE.vector[3];AE.vector[3]=0;}AE.vector[0]=AE.vector[0];AE.vector[1]=AE.vector[1];AE.vector[2]=AE.vector[2];AE.vector[3]=AE.vector[3];for(var AB=0,AH=AG.length;AB&lt;AH;AB++){var R={},AD=AG[AB].match(/^([^:]*):?([\d\.]*)/);R.color=E.getRGB(AD[1]).hex;AD[2]&amp;&amp;(R.offset=AD[2]+&quot;%&quot;);AE.dots.push(R);}for(var AB=1,AH=AE.dots.length-1;AB&lt;AH;AB++){if(!AE.dots[AB].offset){var e=parseFloat(AE.dots[AB-1].offset||0),z=false;for(var AA=AB+1;AA&lt;AH;AA++){if(AE.dots[AA].offset){z=AE.dots[AA].offset;break;}}if(!z){z=100;AA=AH;}z=parseFloat(z);var AC=(z-e)/(AA-AB+1);for(;AB&lt;AA;AB++){e+=AC;AE.dots[AB].offset=e+&quot;%&quot;;}}}return AE;}else{return AG;}}),f=function(){var i,e,AA,z,R;if(typeof arguments[0]==&quot;string&quot;||typeof arguments[0]==&quot;object&quot;){if(typeof arguments[0]==&quot;string&quot;){i=F.getElementById(arguments[0]);}else{i=arguments[0];}if(i.tagName){if(arguments[1]==null){return{container:i,width:i.style.pixelWidth||i.offsetWidth,height:i.style.pixelHeight||i.offsetHeight};}else{return{container:i,width:arguments[1],height:arguments[2]};}}}else{if(typeof arguments[0]==&quot;number&quot;&amp;&amp;arguments.length&gt;3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},A=function(R,i){var e=this;for(var y in i){if(i.hasOwnProperty(y)&amp;&amp;!(y in R)){switch(typeof i[y]){case&quot;function&quot;:(function(z){R[y]=R===e?z:function(){return z.apply(e,arguments);};})(i[y]);break;case&quot;object&quot;:R[y]=R[y]||{};A.call(this,R[y],i[y]);break;default:R[y]=i[y];break;}}}};if(E.svg){var n=function(R){return +R+(Math.floor(R)==R)*0.5;};var Y=function(AA){for(var e=0,y=AA.length;e&lt;y;e++){if(AA[e][0].toLowerCase()!=&quot;a&quot;){for(var R=1,z=AA[e].length;R&lt;z;R++){AA[e][R]=n(AA[e][R]);}}else{AA[e][6]=n(AA[e][6]);AA[e][7]=n(AA[e][7]);}}return AA;};E.toString=function(){return&quot;Your browser supports SVG.\nYou are running Rapha\u00ebl &quot;+this.version;};var v=function(R,y){var e=F.createElementNS(y.svgns,&quot;path&quot;);y.canvas&amp;&amp;y.canvas.appendChild(e);var i=new K(e,y);i.type=&quot;path&quot;;d(i,{fill:&quot;none&quot;,stroke:&quot;#000&quot;,path:R});return i;};var m=function(AC,AA,AD){AA=L(AA);var z=F.createElementNS(AD.svgns,(AA.type||&quot;linear&quot;)+&quot;Gradient&quot;);z.id=&quot;r&quot;+(E.idGenerator++).toString(36);if(AA.vector&amp;&amp;AA.vector.length){z.setAttribute(&quot;x1&quot;,AA.vector[0]);z.setAttribute(&quot;y1&quot;,AA.vector[1]);z.setAttribute(&quot;x2&quot;,AA.vector[2]);z.setAttribute(&quot;y2&quot;,AA.vector[3]);}AD.defs.appendChild(z);var AB=true;for(var e=0,y=AA.dots.length;e&lt;y;e++){var R=F.createElementNS(AD.svgns,&quot;stop&quot;);if(AA.dots[e].offset){AB=false;}R.setAttribute(&quot;offset&quot;,AA.dots[e].offset?AA.dots[e].offset:(e==0)?&quot;0%&quot;:&quot;100%&quot;);R.setAttribute(&quot;stop-color&quot;,E.getRGB(AA.dots[e].color).hex||&quot;#fff&quot;);z.appendChild(R);}if(AB&amp;&amp;typeof AA.dots[y-1].opacity!=&quot;undefined&quot;){R.setAttribute(&quot;stop-opacity&quot;,AA.dots[y-1].opacity);}AC.setAttribute(&quot;fill&quot;,&quot;url(#&quot;+z.id+&quot;)&quot;);AC.style.fill=&quot;&quot;;AC.style.opacity=1;AC.style.fillOpacity=1;AC.setAttribute(&quot;opacity&quot;,1);AC.setAttribute(&quot;fill-opacity&quot;,1);};var Q=function(e){var R=e.getBBox();e.pattern.setAttribute(&quot;patternTransform&quot;,&quot;translate(&quot;.concat(R.x,&quot;,&quot;,R.y,&quot;)&quot;));};var d=function(AF,AM){var AI={&quot;&quot;:[0],none:[0],&quot;-&quot;:[3,1],&quot;.&quot;:[1,1],&quot;-.&quot;:[3,1,1,1],&quot;-..&quot;:[3,1,1,1,1,1],&quot;. &quot;:[1,3],&quot;- &quot;:[4,3],&quot;--&quot;:[8,3],&quot;- .&quot;:[4,3,1,3],&quot;--.&quot;:[8,3,1,3],&quot;--..&quot;:[8,3,1,3,1,3]},AK=AF.node,AG=AF.attrs,AC=AF.attr(&quot;rotation&quot;),z=function(AU,AT){AT=AI[(AT+&quot;&quot;).toLowerCase()];if(AT){var AR=AU.attrs[&quot;stroke-width&quot;]||&quot;1&quot;,AO={round:AR,square:AR,butt:0}[AU.attrs[&quot;stroke-linecap&quot;]||AM[&quot;stroke-linecap&quot;]]||0,AS=[];for(var AP=0,AQ=AT.length;AP&lt;AQ;AP++){AS.push(AT[AP]*AR+((AP%2)?1:-1)*AO);}AT=AS.join(&quot;,&quot;);AK.setAttribute(&quot;stroke-dasharray&quot;,AT);}};parseInt(AC,10)&amp;&amp;AF.rotate(0,true);for(var AJ in AM){if(!(AJ in O)){continue;}var AH=AM[AJ];AG[AJ]=AH;switch(AJ){case&quot;href&quot;:case&quot;title&quot;:case&quot;target&quot;:var AL=AK.parentNode;if(AL.tagName.toLowerCase()!=&quot;a&quot;){var i=F.createElementNS(AF.paper.svgns,&quot;a&quot;);AL.insertBefore(i,AK);i.appendChild(AK);AL=i;}AL.setAttributeNS(AF.paper.xlink,AJ,AH);break;case&quot;path&quot;:if(AH&amp;&amp;AF.type==&quot;path&quot;){AG.path=Y(V(AH));AK.setAttribute(&quot;d&quot;,AG.path);}case&quot;width&quot;:AK.setAttribute(AJ,AH);if(AG.fx){AJ=&quot;x&quot;;AH=AG.x;}else{break;}case&quot;x&quot;:if(AG.fx){AH=-AG.x-(AG.width||0);}case&quot;rx&quot;:case&quot;cx&quot;:AK.setAttribute(AJ,AH);AF.pattern&amp;&amp;Q(AF);break;case&quot;height&quot;:AK.setAttribute(AJ,AH);if(AG.fy){AJ=&quot;y&quot;;AH=AG.y;}else{break;}case&quot;y&quot;:if(AG.fy){AH=-AG.y-(AG.height||0);}case&quot;ry&quot;:case&quot;cy&quot;:AK.setAttribute(AJ,AH);AF.pattern&amp;&amp;Q(AF);break;case&quot;r&quot;:if(AF.type==&quot;rect&quot;){AK.setAttribute(&quot;rx&quot;,AH);AK.setAttribute(&quot;ry&quot;,AH);}else{AK.setAttribute(AJ,AH);}break;case&quot;src&quot;:if(AF.type==&quot;image&quot;){AK.setAttributeNS(AF.paper.xlink,&quot;href&quot;,AH);}break;case&quot;stroke-width&quot;:AK.style.strokeWidth=AH;AK.setAttribute(AJ,AH);if(AG[&quot;stroke-dasharray&quot;]){z(AF,AG[&quot;stroke-dasharray&quot;]);}break;case&quot;stroke-dasharray&quot;:z(AF,AH);break;case&quot;rotation&quot;:AC=AH;AF.rotate(AH,true);break;case&quot;translation&quot;:var AA=(AH+&quot;&quot;).split(x);AF.translate((+AA[0]+1||2)-1,(+AA[1]+1||2)-1);break;case&quot;scale&quot;:var AA=(AH+&quot;&quot;).split(x);AF.scale(+AA[0]||1,+AA[1]||+AA[0]||1,+AA[2]||null,+AA[3]||null);break;case&quot;fill&quot;:var y=(AH+&quot;&quot;).match(/^url\(['&quot;]?([^\)]+)['&quot;]?\)$/i);if(y){var e=F.createElementNS(AF.paper.svgns,&quot;pattern&quot;),AE=F.createElementNS(AF.paper.svgns,&quot;image&quot;);e.id=&quot;r&quot;+(E.idGenerator++).toString(36);e.setAttribute(&quot;x&quot;,0);e.setAttribute(&quot;y&quot;,0);e.setAttribute(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;);AE.setAttribute(&quot;x&quot;,0);AE.setAttribute(&quot;y&quot;,0);AE.setAttributeNS(AF.paper.xlink,&quot;href&quot;,y[1]);e.appendChild(AE);var AN=F.createElement(&quot;img&quot;);AN.style.position=&quot;absolute&quot;;AN.style.top=&quot;-9999em&quot;;AN.style.left=&quot;-9999em&quot;;AN.onload=function(){e.setAttribute(&quot;width&quot;,this.offsetWidth);e.setAttribute(&quot;height&quot;,this.offsetHeight);AE.setAttribute(&quot;width&quot;,this.offsetWidth);AE.setAttribute(&quot;height&quot;,this.offsetHeight);F.body.removeChild(this);B.safari();};F.body.appendChild(AN);AN.src=y[1];AF.paper.defs.appendChild(e);AK.style.fill=&quot;url(#&quot;+e.id+&quot;)&quot;;AK.setAttribute(&quot;fill&quot;,&quot;url(#&quot;+e.id+&quot;)&quot;);AF.pattern=e;AF.pattern&amp;&amp;Q(AF);break;}delete AM.gradient;delete AG.gradient;if(typeof AG.opacity!=&quot;undefined&quot;&amp;&amp;typeof AM.opacity==&quot;undefined&quot;){AK.style.opacity=AG.opacity;AK.setAttribute(&quot;opacity&quot;,AG.opacity);}if(typeof AG[&quot;fill-opacity&quot;]!=&quot;undefined&quot;&amp;&amp;typeof AM[&quot;fill-opacity&quot;]==&quot;undefined&quot;){AK.style.fillOpacity=AG[&quot;fill-opacity&quot;];AK.setAttribute(&quot;fill-opacity&quot;,AG[&quot;fill-opacity&quot;]);}case&quot;stroke&quot;:AK.style[AJ]=E.getRGB(AH).hex;AK.setAttribute(AJ,E.getRGB(AH).hex);break;case&quot;gradient&quot;:m(AK,AH,AF.paper);break;case&quot;opacity&quot;:case&quot;fill-opacity&quot;:if(AG.gradient){var R=F.getElementById(AK.getAttribute(&quot;fill&quot;).replace(/^url\(#|\)$/g,&quot;&quot;));if(R){var AB=R.getElementsByTagName(&quot;stop&quot;);AB[AB.length-1].setAttribute(&quot;stop-opacity&quot;,AH);}break;}default:AJ==&quot;font-size&quot;&amp;&amp;(AH=parseInt(AH,10)+&quot;px&quot;);var AD=AJ.replace(/(\-.)/g,function(AO){return AO.substring(1).toUpperCase();});AK.style[AD]=AH;AK.setAttribute(AJ,AH);break;}}s(AF,AM);parseInt(AC,10)&amp;&amp;AF.rotate(AC,true);};var k=1.2;var s=function(R,z){if(R.type!=&quot;text&quot;||!(&quot;text&quot; in z||&quot;font&quot; in z||&quot;font-size&quot; in z||&quot;x&quot; in z||&quot;y&quot; in z)){return ;}var AE=R.attrs,e=R.node,AG=e.firstChild?parseInt(F.defaultView.getComputedStyle(e.firstChild,&quot;&quot;).getPropertyValue(&quot;font-size&quot;),10):10;if(&quot;text&quot; in z){while(e.firstChild){e.removeChild(e.firstChild);}var y=(z.text+&quot;&quot;).split(&quot;\n&quot;);for(var AA=0,AF=y.length;AA&lt;AF;AA++){var AC=F.createElementNS(R.paper.svgns,&quot;tspan&quot;);AA&amp;&amp;AC.setAttribute(&quot;dy&quot;,AG*k);AA&amp;&amp;AC.setAttribute(&quot;x&quot;,AE.x);AC.appendChild(F.createTextNode(y[AA]));e.appendChild(AC);}}else{var y=e.getElementsByTagName(&quot;tspan&quot;);for(var AA=0,AF=y.length;AA&lt;AF;AA++){AA&amp;&amp;y[AA].setAttribute(&quot;dy&quot;,AG*k);AA&amp;&amp;y[AA].setAttribute(&quot;x&quot;,AE.x);}}e.setAttribute(&quot;y&quot;,AE.y);var AB=R.getBBox(),AD=AE.y-(AB.y+AB.height/2);AD&amp;&amp;e.setAttribute(&quot;y&quot;,AE.y+AD);};var K=function(e,R){var y=0,i=0;this[0]=e;this.node=e;this.paper=R;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};};K.prototype.rotate=function(e,R,y){if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(&quot; &quot;);}return this._.rt.deg;}var i=this.getBBox();e=(e+&quot;&quot;).split(x);if(e.length-1){R=parseFloat(e[1]);y=parseFloat(e[2]);}e=parseFloat(e[0]);if(R!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(y==null)&amp;&amp;(R=null);this._.rt.cx=R;this._.rt.cy=y;R=R==null?i.x+i.width/2:R;y=y==null?i.y+i.height/2:y;if(this._.rt.deg){this.transformations[0]=&quot;rotate(&quot;.concat(this._.rt.deg,&quot; &quot;,R,&quot; &quot;,y,&quot;)&quot;);}else{this.transformations[0]=&quot;&quot;;}this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));return this;};K.prototype.hide=function(){this.node.style.display=&quot;none&quot;;return this;};K.prototype.show=function(){this.node.style.display=&quot;block&quot;;return this;};K.prototype.remove=function(){this.node.parentNode.removeChild(this.node);};K.prototype.getBBox=function(){if(this.type==&quot;path&quot;){return a(this.attrs.path);}if(this.node.style.display==&quot;none&quot;){this.show();var y=true;}var AC={};try{AC=this.node.getBBox();}catch(AA){}finally{AC=AC||{};}if(this.type==&quot;text&quot;){AC={x:AC.x,y:Infinity,width:AC.width,height:0};for(var R=0,z=this.node.getNumberOfChars();R&lt;z;R++){var AB=this.node.getExtentOfChar(R);(AB.y&lt;AC.y)&amp;&amp;(AC.y=AB.y);(AB.y+AB.height-AC.y&gt;AC.height)&amp;&amp;(AC.height=AB.y+AB.height-AC.y);}}y&amp;&amp;this.hide();return AC;};K.prototype.attr=function(){if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;string&quot;){if(arguments[0]==&quot;translation&quot;){return this.translate();}if(arguments[0]==&quot;rotation&quot;){return this.rotate();}if(arguments[0]==&quot;scale&quot;){return this.scale();}return this.attrs[arguments[0]];}if(arguments.length==1&amp;&amp;E.isArray(arguments[0])){var R={};for(var e in arguments[0]){R[arguments[0][e]]=this.attrs[arguments[0][e]];}return R;}if(arguments.length==2){var i={};i[arguments[0]]=arguments[1];d(this,i);}else{if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;object&quot;){d(this,arguments[0]);}}return this;};K.prototype.toFront=function(){this.node.parentNode.appendChild(this.node);return this;};K.prototype.toBack=function(){if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);}return this;};K.prototype.insertAfter=function(R){if(R.node.nextSibling){R.node.parentNode.insertBefore(this.node,R.node.nextSibling);}else{R.node.parentNode.appendChild(this.node);}return this;};K.prototype.insertBefore=function(R){var e=R.node;e.parentNode.insertBefore(this.node,e);return this;};var b=function(e,R,AB,AA){R=n(R);AB=n(AB);var z=F.createElementNS(e.svgns,&quot;circle&quot;);z.setAttribute(&quot;cx&quot;,R);z.setAttribute(&quot;cy&quot;,AB);z.setAttribute(&quot;r&quot;,AA);z.setAttribute(&quot;fill&quot;,&quot;none&quot;);z.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.cx=R;i.attrs.cy=AB;i.attrs.r=AA;i.attrs.stroke=&quot;#000&quot;;i.type=&quot;circle&quot;;return i;};var h=function(i,R,AD,e,AB,AC){R=n(R);AD=n(AD);var AA=F.createElementNS(i.svgns,&quot;rect&quot;);AA.setAttribute(&quot;x&quot;,R);AA.setAttribute(&quot;y&quot;,AD);AA.setAttribute(&quot;width&quot;,e);AA.setAttribute(&quot;height&quot;,AB);if(AC){AA.setAttribute(&quot;rx&quot;,AC);AA.setAttribute(&quot;ry&quot;,AC);}AA.setAttribute(&quot;fill&quot;,&quot;none&quot;);AA.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(i.canvas){i.canvas.appendChild(AA);}var z=new K(AA,i);z.attrs=z.attrs||{};z.attrs.x=R;z.attrs.y=AD;z.attrs.width=e;z.attrs.height=AB;z.attrs.stroke=&quot;#000&quot;;if(AC){z.attrs.rx=z.attrs.ry=AC;}z.type=&quot;rect&quot;;return z;};var G=function(e,R,AC,AB,AA){R=n(R);AC=n(AC);var z=F.createElementNS(e.svgns,&quot;ellipse&quot;);z.setAttribute(&quot;cx&quot;,R);z.setAttribute(&quot;cy&quot;,AC);z.setAttribute(&quot;rx&quot;,AB);z.setAttribute(&quot;ry&quot;,AA);z.setAttribute(&quot;fill&quot;,&quot;none&quot;);z.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.cx=R;i.attrs.cy=AC;i.attrs.rx=AB;i.attrs.ry=AA;i.attrs.stroke=&quot;#000&quot;;i.type=&quot;ellipse&quot;;return i;};var N=function(i,AC,R,AD,e,AB){var AA=F.createElementNS(i.svgns,&quot;image&quot;);AA.setAttribute(&quot;x&quot;,R);AA.setAttribute(&quot;y&quot;,AD);AA.setAttribute(&quot;width&quot;,e);AA.setAttribute(&quot;height&quot;,AB);AA.setAttribute(&quot;preserveAspectRatio&quot;,&quot;none&quot;);AA.setAttributeNS(i.xlink,&quot;href&quot;,AC);if(i.canvas){i.canvas.appendChild(AA);}var z=new K(AA,i);z.attrs=z.attrs||{};z.attrs.src=AC;z.attrs.x=R;z.attrs.y=AD;z.attrs.width=e;z.attrs.height=AB;z.type=&quot;image&quot;;return z;};var g=function(e,R,AB,AA){var z=F.createElementNS(e.svgns,&quot;text&quot;);z.setAttribute(&quot;x&quot;,R);z.setAttribute(&quot;y&quot;,AB);z.setAttribute(&quot;text-anchor&quot;,&quot;middle&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.text=AA;i.attrs.x=R;i.attrs.y=AB;i.type=&quot;text&quot;;d(i,{font:O.font,stroke:&quot;none&quot;,fill:&quot;#000&quot;,text:AA});return i;};var c=function(e,R){this.width=e||this.width;this.height=R||this.height;this.canvas.setAttribute(&quot;width&quot;,this.width);this.canvas.setAttribute(&quot;height&quot;,this.height);return this;};var J=function(){var z=f.apply(null,arguments),i=z.container,e=z.x,AC=z.y,AA=z.width,R=z.height;if(!i){throw new Error(&quot;SVG container not found.&quot;);}B.canvas=F.createElementNS(B.svgns,&quot;svg&quot;);B.canvas.setAttribute(&quot;width&quot;,AA||512);B.width=AA||512;B.canvas.setAttribute(&quot;height&quot;,R||342);B.height=R||342;if(i==1){F.body.appendChild(B.canvas);B.canvas.style.position=&quot;absolute&quot;;B.canvas.style.left=e+&quot;px&quot;;B.canvas.style.top=AC+&quot;px&quot;;}else{if(i.firstChild){i.insertBefore(B.canvas,i.firstChild);}else{i.appendChild(B.canvas);}}i={canvas:B.canvas,clear:function(){while(this.canvas.firstChild){this.canvas.removeChild(this.canvas.firstChild);}this.defs=F.createElementNS(B.svgns,&quot;defs&quot;);this.canvas.appendChild(this.defs);}};for(var AB in B){if(AB!=&quot;create&quot;){i[AB]=B[AB];}}A.call(i,i,E.fn);i.clear();i.raphael=E;return i;};B.remove=function(){this.canvas.parentNode&amp;&amp;this.canvas.parentNode.removeChild(this.canvas);};B.svgns=&quot;http://www.w3.org/2000/svg&quot;;B.xlink=&quot;http://www.w3.org/1999/xlink&quot;;B.safari=function(){if({&quot;Apple Computer, Inc.&quot;:1,&quot;Google Inc.&quot;:1}[navigator.vendor]){var R=this.rect(-this.width,-this.height,this.width*3,this.height*3).attr({stroke:&quot;none&quot;});setTimeout(function(){R.remove();});}};}if(E.vml){var X=function(AB){var z=o(AB);for(var e=0,y=z.length;e&lt;y;e++){z[e][0]=(z[e][0]+&quot;&quot;).toLowerCase();z[e][0]==&quot;z&quot;&amp;&amp;(z[e][0]=&quot;x&quot;);for(var R=1,AA=z[e].length;R&lt;AA;R++){z[e][R]=Math.round(z[e][R]);}}return(z+&quot;&quot;);};E.toString=function(){return&quot;Your browser doesn\u2019t support SVG. Assuming it is Internet Explorer and falling down to VML.\nYou are running Rapha\u00ebl &quot;+this.version;};var v=function(R,AA){var y=u(&quot;group&quot;),AB=y.style;AB.position=&quot;absolute&quot;;AB.left=0;AB.top=0;AB.width=AA.width+&quot;px&quot;;AB.height=AA.height+&quot;px&quot;;y.coordsize=AA.coordsize;y.coordorigin=AA.coordorigin;var i=u(&quot;shape&quot;),e=i.style;e.width=AA.width+&quot;px&quot;;e.height=AA.height+&quot;px&quot;;i.path=&quot;&quot;;i.coordsize=this.coordsize;i.coordorigin=this.coordorigin;y.appendChild(i);var z=new K(i,y,AA);z.isAbsolute=true;z.type=&quot;path&quot;;z.path=[];z.Path=&quot;&quot;;if(R){z.attrs.path=E.parsePathString(R);z.node.path=X(z.attrs.path);}d(z,{fill:&quot;none&quot;,stroke:&quot;#000&quot;});z.setBox();AA.canvas.appendChild(y);return z;};var d=function(i,z){i.attrs=i.attrs||{};var y=i.node,AF=i.attrs,AJ=y.style,AI,AD=i;for(var AC in z){AF[AC]=z[AC];}z.href&amp;&amp;(y.href=z.href);z.title&amp;&amp;(y.title=z.title);z.target&amp;&amp;(y.target=z.target);if(z.path&amp;&amp;i.type==&quot;path&quot;){AF.path=E.parsePathString(z.path);y.path=X(AF.path);}if(z.rotation!=null){i.rotate(z.rotation,true);}if(z.translation){AI=(z.translation+&quot;&quot;).split(x);i.translate(AI[0],AI[1]);}if(z.scale){AI=(z.scale+&quot;&quot;).split(x);i.scale(+AI[0]||1,+AI[1]||+AI[0]||1,+AI[2]||null,+AI[3]||null);}if(i.type==&quot;image&quot;&amp;&amp;z.src){y.src=z.src;}if(i.type==&quot;image&quot;&amp;&amp;z.opacity){y.filterOpacity=&quot; progid:DXImageTransform.Microsoft.Alpha(opacity=&quot;+(z.opacity*100)+&quot;)&quot;;AJ.filter=(y.filterMatrix||&quot;&quot;)+(y.filterOpacity||&quot;&quot;);}z.font&amp;&amp;(AJ.font=z.font);z[&quot;font-family&quot;]&amp;&amp;(AJ.fontFamily='&quot;'+z[&quot;font-family&quot;].split(&quot;,&quot;)[0].replace(/^['&quot;]+|['&quot;]+$/g,&quot;&quot;)+'&quot;');z[&quot;font-size&quot;]&amp;&amp;(AJ.fontSize=z[&quot;font-size&quot;]);z[&quot;font-weight&quot;]&amp;&amp;(AJ.fontWeight=z[&quot;font-weight&quot;]);z[&quot;font-style&quot;]&amp;&amp;(AJ.fontStyle=z[&quot;font-style&quot;]);if(z.opacity!=null||z[&quot;stroke-width&quot;]!=null||z.fill!=null||z.stroke!=null||z[&quot;stroke-width&quot;]!=null||z[&quot;stroke-opacity&quot;]!=null||z[&quot;fill-opacity&quot;]!=null||z[&quot;stroke-dasharray&quot;]!=null||z[&quot;stroke-miterlimit&quot;]!=null||z[&quot;stroke-linejoin&quot;]!=null||z[&quot;stroke-linecap&quot;]!=null){y=i.shape||y;var AH=(y.getElementsByTagName(&quot;fill&quot;)&amp;&amp;y.getElementsByTagName(&quot;fill&quot;)[0]),e=false;!AH&amp;&amp;(e=AH=u(&quot;fill&quot;));if(&quot;fill-opacity&quot; in z||&quot;opacity&quot; in z){var AB=((+AF[&quot;fill-opacity&quot;]+1||2)-1)*((+AF.opacity+1||2)-1);AB&lt;0&amp;&amp;(AB=0);AB&gt;1&amp;&amp;(AB=1);AH.opacity=AB;}z.fill&amp;&amp;(AH.on=true);if(AH.on==null||z.fill==&quot;none&quot;){AH.on=false;}if(AH.on&amp;&amp;z.fill){var AA=z.fill.match(/^url\(([^\)]+)\)$/i);if(AA){AH.src=AA[1];AH.type=&quot;tile&quot;;}else{AH.color=E.getRGB(z.fill).hex;AH.src=&quot;&quot;;AH.type=&quot;solid&quot;;}}e&amp;&amp;y.appendChild(AH);var AG=(y.getElementsByTagName(&quot;stroke&quot;)&amp;&amp;y.getElementsByTagName(&quot;stroke&quot;)[0]),R=false;!AG&amp;&amp;(R=AG=u(&quot;stroke&quot;));if((z.stroke&amp;&amp;z.stroke!=&quot;none&quot;)||z[&quot;stroke-width&quot;]||z[&quot;stroke-opacity&quot;]!=null||z[&quot;stroke-dasharray&quot;]||z[&quot;stroke-miterlimit&quot;]||z[&quot;stroke-linejoin&quot;]||z[&quot;stroke-linecap&quot;]){AG.on=true;}(z.stroke==&quot;none&quot;||AG.on==null||z.stroke==0||z[&quot;stroke-width&quot;]==0)&amp;&amp;(AG.on=false);AG.on&amp;&amp;z.stroke&amp;&amp;(AG.color=E.getRGB(z.stroke).hex);var AB=((+AF[&quot;stroke-opacity&quot;]+1||2)-1)*((+AF.opacity+1||2)-1);AB&lt;0&amp;&amp;(AB=0);AB&gt;1&amp;&amp;(AB=1);AG.opacity=AB;z[&quot;stroke-linejoin&quot;]&amp;&amp;(AG.joinstyle=z[&quot;stroke-linejoin&quot;]||&quot;miter&quot;);AG.miterlimit=z[&quot;stroke-miterlimit&quot;]||8;z[&quot;stroke-linecap&quot;]&amp;&amp;(AG.endcap={butt:&quot;flat&quot;,square:&quot;square&quot;,round:&quot;round&quot;}[z[&quot;stroke-linecap&quot;]]||&quot;miter&quot;);z[&quot;stroke-width&quot;]&amp;&amp;(AG.weight=(parseFloat(z[&quot;stroke-width&quot;])||1)*12/16);if(z[&quot;stroke-dasharray&quot;]){var AE={&quot;-&quot;:&quot;shortdash&quot;,&quot;.&quot;:&quot;shortdot&quot;,&quot;-.&quot;:&quot;shortdashdot&quot;,&quot;-..&quot;:&quot;shortdashdotdot&quot;,&quot;. &quot;:&quot;dot&quot;,&quot;- &quot;:&quot;dash&quot;,&quot;--&quot;:&quot;longdash&quot;,&quot;- .&quot;:&quot;dashdot&quot;,&quot;--.&quot;:&quot;longdashdot&quot;,&quot;--..&quot;:&quot;longdashdotdot&quot;};AG.dashstyle=AE[z[&quot;stroke-dasharray&quot;]]||&quot;&quot;;}R&amp;&amp;y.appendChild(AG);}if(AD.type==&quot;text&quot;){var AJ=B.span.style;AF.font&amp;&amp;(AJ.font=AF.font);AF[&quot;font-family&quot;]&amp;&amp;(AJ.fontFamily=AF[&quot;font-family&quot;]);AF[&quot;font-size&quot;]&amp;&amp;(AJ.fontSize=AF[&quot;font-size&quot;]);AF[&quot;font-weight&quot;]&amp;&amp;(AJ.fontWeight=AF[&quot;font-weight&quot;]);AF[&quot;font-style&quot;]&amp;&amp;(AJ.fontStyle=AF[&quot;font-style&quot;]);B.span.innerHTML=AD.node.string.replace(/&lt;/g,&quot;&amp;#60;&quot;).replace(/&amp;/g,&quot;&amp;#38;&quot;).replace(/\n/g,&quot;&lt;br&gt;&quot;);AD.W=AF.w=B.span.offsetWidth;AD.H=AF.h=B.span.offsetHeight;AD.X=AF.x;AD.Y=AF.y+Math.round(AD.H/2);switch(AF[&quot;text-anchor&quot;]){case&quot;start&quot;:AD.node.style[&quot;v-text-align&quot;]=&quot;left&quot;;AD.bbx=Math.round(AD.W/2);break;case&quot;end&quot;:AD.node.style[&quot;v-text-align&quot;]=&quot;right&quot;;AD.bbx=-Math.round(AD.W/2);break;default:AD.node.style[&quot;v-text-align&quot;]=&quot;center&quot;;break;}}};var M=function(e,R,z,y){var i=Math.round(Math.atan((parseFloat(z)-parseFloat(e))/(parseFloat(y)-parseFloat(R)))*57.29)||0;if(!i&amp;&amp;parseFloat(e)&lt;parseFloat(R)){i=180;}i-=180;if(i&lt;0){i+=360;}return i;};var m=function(AC,AB){AB=L(AB);AC.attrs=AC.attrs||{};var e=AC.attrs,AA=AC.node.getElementsByTagName(&quot;fill&quot;);AC.attrs.gradient=AB;AC=AC.shape||AC.node;if(AA.length){AA=AA[0];}else{AA=u(&quot;fill&quot;);}if(AB.dots.length){AA.on=true;AA.method=&quot;none&quot;;AA.type=((AB.type+&quot;&quot;).toLowerCase()==&quot;radial&quot;)?&quot;gradientTitle&quot;:&quot;gradient&quot;;if(typeof AB.dots[0].color!=&quot;undefined&quot;){AA.color=E.getRGB(AB.dots[0].color).hex;}if(typeof AB.dots[AB.dots.length-1].color!=&quot;undefined&quot;){AA.color2=E.getRGB(AB.dots[AB.dots.length-1].color).hex;}var AD=[];for(var y=0,z=AB.dots.length;y&lt;z;y++){if(AB.dots[y].offset){AD.push(AB.dots[y].offset+&quot; &quot;+E.getRGB(AB.dots[y].color).hex);}}var R=typeof AB.dots[AB.dots.length-1].opacity==&quot;undefined&quot;?(typeof e.opacity==&quot;undefined&quot;?1:e.opacity):AB.dots[AB.dots.length-1].opacity;if(AD.length){AA.colors.value=AD.join(&quot;,&quot;);R=typeof e.opacity==&quot;undefined&quot;?1:e.opacity;}else{AA.colors&amp;&amp;(AA.colors.value=&quot;0% &quot;+AA.color);}AA.opacity=R;if(typeof AB.angle!=&quot;undefined&quot;){AA.angle=(-AB.angle+270)%360;}else{if(AB.vector){AA.angle=M.apply(null,AB.vector);}}if((AB.type+&quot;&quot;).toLowerCase()==&quot;radial&quot;){AA.focus=&quot;100%&quot;;AA.focusposition=&quot;0.5 0.5&quot;;}}};var K=function(z,AB,R){var AA=0,i=0,e=0,y=1;this[0]=z;this.node=z;this.X=0;this.Y=0;this.attrs={};this.Group=AB;this.paper=R;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};};K.prototype.rotate=function(e,R,i){if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(&quot; &quot;);}return this._.rt.deg;}e=(e+&quot;&quot;).split(x);if(e.length-1){R=parseFloat(e[1]);i=parseFloat(e[2]);}e=parseFloat(e[0]);if(R!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(i==null)&amp;&amp;(R=null);this._.rt.cx=R;this._.rt.cy=i;this.setBox(this.attrs,R,i);this.Group.style.rotation=this._.rt.deg;return this;};K.prototype.setBox=function(AB,AC,AA){var e=this.Group.style,AD=(this.shape&amp;&amp;this.shape.style)||this.node.style;AB=AB||{};for(var AE in AB){this.attrs[AE]=AB[AE];}AC=AC||this._.rt.cx;AA=AA||this._.rt.cy;var AH=this.attrs,AK,AJ,AL,AG;switch(this.type){case&quot;circle&quot;:AK=AH.cx-AH.r;AJ=AH.cy-AH.r;AL=AG=AH.r*2;break;case&quot;ellipse&quot;:AK=AH.cx-AH.rx;AJ=AH.cy-AH.ry;AL=AH.rx*2;AG=AH.ry*2;break;case&quot;rect&quot;:case&quot;image&quot;:AK=AH.x;AJ=AH.y;AL=AH.width||0;AG=AH.height||0;break;case&quot;text&quot;:this.textpath.v=[&quot;m&quot;,Math.round(AH.x),&quot;, &quot;,Math.round(AH.y-2),&quot;l&quot;,Math.round(AH.x)+1,&quot;, &quot;,Math.round(AH.y-2)].join(&quot;&quot;);AK=AH.x-Math.round(this.W/2);AJ=AH.y-this.H/2;AL=this.W;AG=this.H;break;case&quot;path&quot;:if(!this.attrs.path){AK=0;AJ=0;AL=this.paper.width;AG=this.paper.height;}else{var AF=a(this.attrs.path);AK=AF.x;AJ=AF.y;AL=AF.width;AG=AF.height;}break;default:AK=0;AJ=0;AL=this.paper.width;AG=this.paper.height;break;}AC=(AC==null)?AK+AL/2:AC;AA=(AA==null)?AJ+AG/2:AA;var z=AC-this.paper.width/2,AI=AA-this.paper.height/2;if(this.type==&quot;path&quot;||this.type==&quot;text&quot;){(e.left!=z+&quot;px&quot;)&amp;&amp;(e.left=z+&quot;px&quot;);(e.top!=AI+&quot;px&quot;)&amp;&amp;(e.top=AI+&quot;px&quot;);this.X=this.type==&quot;text&quot;?AK:-z;this.Y=this.type==&quot;text&quot;?AJ:-AI;this.W=AL;this.H=AG;(AD.left!=-z+&quot;px&quot;)&amp;&amp;(AD.left=-z+&quot;px&quot;);(AD.top!=-AI+&quot;px&quot;)&amp;&amp;(AD.top=-AI+&quot;px&quot;);}else{(e.left!=z+&quot;px&quot;)&amp;&amp;(e.left=z+&quot;px&quot;);(e.top!=AI+&quot;px&quot;)&amp;&amp;(e.top=AI+&quot;px&quot;);this.X=AK;this.Y=AJ;this.W=AL;this.H=AG;(e.width!=this.paper.width+&quot;px&quot;)&amp;&amp;(e.width=this.paper.width+&quot;px&quot;);(e.height!=this.paper.height+&quot;px&quot;)&amp;&amp;(e.height=this.paper.height+&quot;px&quot;);(AD.left!=AK-z+&quot;px&quot;)&amp;&amp;(AD.left=AK-z+&quot;px&quot;);(AD.top!=AJ-AI+&quot;px&quot;)&amp;&amp;(AD.top=AJ-AI+&quot;px&quot;);(AD.width!=AL+&quot;px&quot;)&amp;&amp;(AD.width=AL+&quot;px&quot;);(AD.height!=AG+&quot;px&quot;)&amp;&amp;(AD.height=AG+&quot;px&quot;);var AM=(+AB.r||0)/(Math.min(AL,AG));if(this.type==&quot;rect&quot;&amp;&amp;this.arcsize!=AM&amp;&amp;(AM||this.arcsize)){var R=u(AM?&quot;roundrect&quot;:&quot;rect&quot;);R.arcsize=AM;this.Group.appendChild(R);this.node.parentNode.removeChild(this.node);this.node=R;this.arcsize=AM;d(this,this.attrs);this.setBox(this.attrs);}}};K.prototype.hide=function(){this.Group.style.display=&quot;none&quot;;return this;};K.prototype.show=function(){this.Group.style.display=&quot;block&quot;;return this;};K.prototype.getBBox=function(){if(this.type==&quot;path&quot;){return a(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};K.prototype.remove=function(){this[0].parentNode.removeChild(this[0]);this.Group.parentNode.removeChild(this.Group);this.shape&amp;&amp;this.shape.parentNode.removeChild(this.shape);};K.prototype.attr=function(){if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;string&quot;){if(arguments[0]==&quot;translation&quot;){return this.translate();}if(arguments[0]==&quot;rotation&quot;){return this.rotate();}if(arguments[0]==&quot;scale&quot;){return this.scale();}return this.attrs[arguments[0]];}if(this.attrs&amp;&amp;arguments.length==1&amp;&amp;E.isArray(arguments[0])){var R={};for(var e=0,y=arguments[0].length;e&lt;y;e++){R[arguments[0][e]]=this.attrs[arguments[0][e]];}return R;}var z;if(arguments.length==2){z={};z[arguments[0]]=arguments[1];}if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;object&quot;){z=arguments[0];}if(z){if(z.gradient){m(this,z.gradient);}if(z.text&amp;&amp;this.type==&quot;text&quot;){this.node.string=z.text;}d(this,z);this.setBox(this.attrs);}return this;};K.prototype.toFront=function(){this.Group.parentNode.appendChild(this.Group);return this;};K.prototype.toBack=function(){if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);}return this;};K.prototype.insertAfter=function(R){if(R.Group.nextSibling){R.Group.parentNode.insertBefore(this.Group,R.Group.nextSibling);}else{R.Group.parentNode.appendChild(this.Group);}return this;};K.prototype.insertBefore=function(R){R.Group.parentNode.insertBefore(this.Group,R.Group);return this;};var b=function(e,AE,AD,R){var AA=u(&quot;group&quot;),z=AA.style,i=u(&quot;oval&quot;),AC=i.style;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AA.coordsize=e.coordsize;AA.coordorigin=e.coordorigin;AA.appendChild(i);var AB=new K(i,AA,e);AB.type=&quot;circle&quot;;d(AB,{stroke:&quot;#000&quot;,fill:&quot;none&quot;});AB.attrs.cx=AE;AB.attrs.cy=AD;AB.attrs.r=R;AB.setBox({x:AE-R,y:AD-R,width:R*2,height:R*2});e.canvas.appendChild(AA);return AB;};var h=function(e,AE,AD,AF,AA,R){var AB=u(&quot;group&quot;),z=AB.style,i=u(R?&quot;roundrect&quot;:&quot;rect&quot;),AG=(+R||0)/(Math.min(AF,AA));i.arcsize=AG;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;AB.appendChild(i);var AC=new K(i,AB,e);AC.type=&quot;rect&quot;;d(AC,{stroke:&quot;#000&quot;});AC.arcsize=AG;AC.setBox({x:AE,y:AD,width:AF,height:AA,r:+R});e.canvas.appendChild(AB);return AC;};var G=function(R,AF,AE,i,e){var AB=u(&quot;group&quot;),AA=AB.style,z=u(&quot;oval&quot;),AD=z.style;AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=R.width+&quot;px&quot;;AA.height=R.height+&quot;px&quot;;AB.coordsize=R.coordsize;AB.coordorigin=R.coordorigin;AB.appendChild(z);var AC=new K(z,AB,R);AC.type=&quot;ellipse&quot;;d(AC,{stroke:&quot;#000&quot;});AC.attrs.cx=AF;AC.attrs.cy=AE;AC.attrs.rx=i;AC.attrs.ry=e;AC.setBox({x:AF-i,y:AE-e,width:i*2,height:e*2});R.canvas.appendChild(AB);return AC;};var N=function(e,R,AF,AE,AG,AA){var AB=u(&quot;group&quot;),z=AB.style,i=u(&quot;image&quot;),AD=i.style;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;i.src=R;AB.appendChild(i);var AC=new K(i,AB,e);AC.type=&quot;image&quot;;AC.attrs.src=R;AC.attrs.x=AF;AC.attrs.y=AE;AC.attrs.w=AG;AC.attrs.h=AA;AC.setBox({x:AF,y:AE,width:AG,height:AA});e.canvas.appendChild(AB);return AC;};var g=function(e,AF,AE,AG){var AB=u(&quot;group&quot;),AA=AB.style,z=u(&quot;shape&quot;),AD=z.style,AH=u(&quot;path&quot;),R=AH.style,i=u(&quot;textpath&quot;);AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=e.width+&quot;px&quot;;AA.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;AH.v=[&quot;m&quot;,Math.round(AF),&quot;, &quot;,Math.round(AE),&quot;l&quot;,Math.round(AF)+1,&quot;, &quot;,Math.round(AE)].join(&quot;&quot;);AH.textpathok=true;AD.width=e.width;AD.height=e.height;AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=e.width;AA.height=e.height;i.string=AG;i.on=true;z.appendChild(i);z.appendChild(AH);AB.appendChild(z);var AC=new K(i,AB,e);AC.shape=z;AC.textpath=AH;AC.type=&quot;text&quot;;AC.attrs.text=AG;AC.attrs.x=AF;AC.attrs.y=AE;AC.attrs.w=1;AC.attrs.h=1;d(AC,{font:O.font,stroke:&quot;none&quot;,fill:&quot;#000&quot;});AC.setBox();e.canvas.appendChild(AB);return AC;};var c=function(i,R){var e=this.canvas.style;this.width=i||this.width;this.height=R||this.height;e.width=this.width+&quot;px&quot;;e.height=this.height+&quot;px&quot;;e.clip=&quot;rect(0 &quot;+this.width+&quot;px &quot;+this.height+&quot;px 0)&quot;;this.canvas.coordsize=this.width+&quot; &quot;+this.height;return this;};F.createStyleSheet().addRule(&quot;.rvml&quot;,&quot;behavior:url(#default#VML)&quot;);try{!F.namespaces.rvml&amp;&amp;F.namespaces.add(&quot;rvml&quot;,&quot;urn:schemas-microsoft-com:vml&quot;);var u=function(R){return F.createElement(&quot;&lt;rvml:&quot;+R+' class=&quot;rvml&quot;&gt;');};}catch(t){var u=function(R){return F.createElement(&quot;&lt;&quot;+R+' xmlns=&quot;urn:schemas-microsoft.com:vml&quot; class=&quot;rvml&quot;&gt;');};}var J=function(){var z=f.apply(null,arguments),e=z.container,AE=z.height,AF,i=z.width,AD=z.x,AC=z.y;if(!e){throw new Error(&quot;VML container not found.&quot;);}var AB=B.canvas=F.createElement(&quot;div&quot;),AA=AB.style;i=parseFloat(i)||&quot;512px&quot;;AE=parseFloat(AE)||&quot;342px&quot;;B.width=i;B.height=AE;B.coordsize=i+&quot; &quot;+AE;B.coordorigin=&quot;0 0&quot;;B.span=F.createElement(&quot;span&quot;);AF=B.span.style;AB.appendChild(B.span);AF.position=&quot;absolute&quot;;AF.left=&quot;-99999px&quot;;AF.top=&quot;-99999px&quot;;AF.padding=0;AF.margin=0;AF.lineHeight=1;AF.display=&quot;inline&quot;;AA.width=i+&quot;px&quot;;AA.height=AE+&quot;px&quot;;AA.position=&quot;absolute&quot;;AA.clip=&quot;rect(0 &quot;+i+&quot;px &quot;+AE+&quot;px 0)&quot;;if(e==1){F.body.appendChild(AB);AA.left=AD+&quot;px&quot;;AA.top=AC+&quot;px&quot;;e={style:{width:i,height:AE}};}else{e.style.width=i;e.style.height=AE;if(e.firstChild){e.insertBefore(AB,e.firstChild);}else{e.appendChild(AB);}}for(var R in B){e[R]=B[R];}A.call(e,e,E.fn);e.clear=function(){while(AB.firstChild){AB.removeChild(AB.firstChild);}};e.raphael=E;return e;};B.remove=function(){this.canvas.parentNode.removeChild(this.canvas);};B.safari=function(){};}var H=(function(){if(F.addEventListener){return function(z,i,e,R){var y=function(AA){return e.call(R,AA);};z.addEventListener(i,y,false);return function(){z.removeEventListener(i,y,false);return true;};};}else{if(F.attachEvent){return function(AA,y,i,e){var z=function(AB){return i.call(e,AB||l.event);};AA.attachEvent(&quot;on&quot;+y,z);var R=function(){AA.detachEvent(&quot;on&quot;+y,z);return true;};if(y==&quot;mouseover&quot;){AA.attachEvent(&quot;onmouseenter&quot;,z);return function(){AA.detachEvent(&quot;onmouseenter&quot;,z);return R();};}else{if(y==&quot;mouseout&quot;){AA.attachEvent(&quot;onmouseleave&quot;,z);return function(){AA.detachEvent(&quot;onmouseleave&quot;,z);return R();};}}return R;};}}})();for(var q=U.length;q--;){(function(R){K.prototype[R]=function(e){if(typeof e==&quot;function&quot;){this.events=this.events||{};this.events[R]=this.events[R]||{};this.events[R][e]=this.events[R][e]||[];this.events[R][e].push(H(this.shape||this.node,R,e,this));}return this;};K.prototype[&quot;un&quot;+R]=function(e){this.events&amp;&amp;this.events[R]&amp;&amp;this.events[R][e]&amp;&amp;this.events[R][e].length&amp;&amp;this.events[R][e].shift()()&amp;&amp;!this.events[R][e].length&amp;&amp;delete this.events[R][e];};})(U[q]);}B.circle=function(R,i,e){return b(this,R,i,e);};B.rect=function(R,AA,e,i,z){return h(this,R,AA,e,i,z);};B.ellipse=function(R,z,i,e){return G(this,R,z,i,e);};B.path=function(R){var e=E.isArray(arguments[1])?[0].concat(arguments[1]):arguments;R&amp;&amp;typeof R==&quot;string&quot;&amp;&amp;e.length-1&amp;&amp;(R=R.replace(/\{(\d+)\}/g,function(z,y){return e[++y]||0;}));return v(R,this);};B.image=function(z,R,AA,e,i){return N(this,z,R,AA,e,i);};B.text=function(R,i,e){return g(this,R,i,e);};B.set=function(R){arguments.length&gt;1&amp;&amp;(R=Array.prototype.splice.call(arguments,0,arguments.length));return new I(R);};B.setSize=c;K.prototype.stop=function(){clearTimeout(this.animation_in_progress);return this;};K.prototype.scale=function(AJ,AI,z,e){if(AJ==null&amp;&amp;AI==null){return{x:this._.sx,y:this._.sy,toString:function(){return +this.x.toFixed(3)+&quot; &quot;+(+this.y.toFixed(3));}};}AI=AI||AJ;!+AI&amp;&amp;(AI=AJ);var AN,AL,AM,AK,AZ=this.attrs;if(AJ!=0){var AH=this.type==&quot;path&quot;?a(AZ.path):this.getBBox(),AE=AH.x+AH.width/2,AB=AH.y+AH.height/2,AY=AJ/this._.sx,AX=AI/this._.sy;z=(+z||z==0)?z:AE;e=(+e||e==0)?e:AB;var AG=Math.round(AJ/Math.abs(AJ)),AD=Math.round(AI/Math.abs(AI)),AQ=this.node.style,Ab=z+(AE-z)*AG*AY,Aa=e+(AB-e)*AD*AX;switch(this.type){case&quot;rect&quot;:case&quot;image&quot;:var AF=AZ.width*AG*AY,AP=AZ.height*AD*AX,AC=Ab-AF/2,AA=Aa-AP/2;this.attr({width:AF,height:AP,x:AC,y:AA});break;case&quot;circle&quot;:case&quot;ellipse&quot;:this.attr({rx:AZ.rx*AY,ry:AZ.ry*AX,r:AZ.r*AY,cx:Ab,cy:Aa});break;case&quot;path&quot;:var AS=C(AZ.path),AT=true;for(var AV=0,AO=AS.length;AV&lt;AO;AV++){var AR=AS[AV];if(AR[0].toUpperCase()==&quot;M&quot;&amp;&amp;AT){continue;}else{AT=false;}if(E.svg&amp;&amp;AR[0].toUpperCase()==&quot;A&quot;){AR[AS[AV].length-2]*=AY;AR[AS[AV].length-1]*=AX;AR[1]*=AY;AR[2]*=AX;AR[5]=+(AG+AD?!!+AR[5]:!+AR[5]);}else{for(var AU=1,AW=AR.length;AU&lt;AW;AU++){AR[AU]*=(AU%2)?AY:AX;}}}var R=a(AS),AN=Ab-R.x-R.width/2,AL=Aa-R.y-R.height/2;AS=C(AS);AS[0][1]+=AN;AS[0][2]+=AL;this.attr({path:AS.join(&quot; &quot;)});break;}if(this.type in {text:1,image:1}&amp;&amp;(AG!=1||AD!=1)){if(this.transformations){this.transformations[2]=&quot;scale(&quot;.concat(AG,&quot;,&quot;,AD,&quot;)&quot;);this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));AN=(AG==-1)?-AZ.x-(AF||0):AZ.x;AL=(AD==-1)?-AZ.y-(AP||0):AZ.y;this.attr({x:AN,y:AL});AZ.fx=AG-1;AZ.fy=AD-1;}else{this.node.filterMatrix=&quot; progid:DXImageTransform.Microsoft.Matrix(M11=&quot;.concat(AG,&quot;, M12=0, M21=0, M22=&quot;,AD,&quot;, Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')&quot;);AQ.filter=(this.node.filterMatrix||&quot;&quot;)+(this.node.filterOpacity||&quot;&quot;);}}else{if(this.transformations){this.transformations[2]=&quot;&quot;;this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));AZ.fx=0;AZ.fy=0;}else{this.node.filterMatrix=&quot;&quot;;AQ.filter=(this.node.filterMatrix||&quot;&quot;)+(this.node.filterOpacity||&quot;&quot;);}}AZ.scale=[AJ,AI,z,e].join(&quot; &quot;);this._.sx=AJ;this._.sy=AI;}return this;};E.easing_formulas={linear:function(R){return R;},&quot;&lt;&quot;:function(R){return Math.pow(R,3);},&quot;&gt;&quot;:function(R){return Math.pow(R-1,3)+1;},&quot;&lt;&gt;&quot;:function(R){R=R*2;if(R&lt;1){return Math.pow(R,3)/2;}R-=2;return(Math.pow(R,3)+2)/2;},backIn:function(e){var R=1.70158;return e*e*((R+1)*e-R);},backOut:function(e){e=e-1;var R=1.70158;return e*e*((R+1)*e+R)+1;},elastic:function(i){if(i==0||i==1){return i;}var e=0.3,R=e/4;return Math.pow(2,-10*i)*Math.sin((i-R)*(2*Math.PI)/e)+1;},bounce:function(y){var e=7.5625,i=2.75,R;if(y&lt;(1/i)){R=e*y*y;}else{if(y&lt;(2/i)){y-=(1.5/i);R=e*y*y+0.75;}else{if(y&lt;(2.5/i)){y-=(2.25/i);R=e*y*y+0.9375;}else{y-=(2.625/i);R=e*y*y+0.984375;}}}return R;}};K.prototype.animate=function(AR,AI,AH,z){clearTimeout(this.animation_in_progress);if(typeof AH==&quot;function&quot;||!AH){z=AH||null;}var AL={},e={},AF={},AE={x:0,y:0};for(var AJ in AR){if(AJ in T){AL[AJ]=this.attr(AJ);(typeof AL[AJ]==&quot;undefined&quot;)&amp;&amp;(AL[AJ]=O[AJ]);e[AJ]=AR[AJ];switch(T[AJ]){case&quot;number&quot;:AF[AJ]=(e[AJ]-AL[AJ])/AI;break;case&quot;colour&quot;:AL[AJ]=E.getRGB(AL[AJ]);var AK=E.getRGB(e[AJ]);AF[AJ]={r:(AK.r-AL[AJ].r)/AI,g:(AK.g-AL[AJ].g)/AI,b:(AK.b-AL[AJ].b)/AI};break;case&quot;path&quot;:var AA=o(AL[AJ],e[AJ]);AL[AJ]=AA[0];e[AJ]=AA[1];AF[AJ]=[];for(var AN=0,AD=AL[AJ].length;AN&lt;AD;AN++){AF[AJ][AN]=[0];for(var AM=1,AP=AL[AJ][AN].length;AM&lt;AP;AM++){AF[AJ][AN][AM]=(e[AJ][AN][AM]-AL[AJ][AN][AM])/AI;}}break;case&quot;csv&quot;:var R=(AR[AJ]+&quot;&quot;).split(x),AC=(AL[AJ]+&quot;&quot;).split(x);switch(AJ){case&quot;translation&quot;:AL[AJ]=[0,0];AF[AJ]=[R[0]/AI,R[1]/AI];break;case&quot;rotation&quot;:AL[AJ]=(AC[1]==R[1]&amp;&amp;AC[2]==R[2])?AC:[0,R[1],R[2]];AF[AJ]=[(R[0]-AL[AJ][0])/AI,0,0];break;case&quot;scale&quot;:AR[AJ]=R;AL[AJ]=(AL[AJ]+&quot;&quot;).split(x);AF[AJ]=[(R[0]-AL[AJ][0])/AI,(R[1]-AL[AJ][1])/AI,0,0];}e[AJ]=R;}}}var y=+new Date,AG=0,AQ=function(i){return +i&gt;255?255:+i;},AB=this;(function AO(){var AT=new Date-y,Ab={},AS;if(AT&lt;AI){var AZ=E.easing_formulas[AH]?E.easing_formulas[AH](AT/AI):AT/AI;for(var AX in AL){switch(T[AX]){case&quot;number&quot;:AS=+AL[AX]+AZ*AI*AF[AX];break;case&quot;colour&quot;:AS=&quot;rgb(&quot;+[AQ(Math.round(AL[AX].r+AZ*AI*AF[AX].r)),AQ(Math.round(AL[AX].g+AZ*AI*AF[AX].g)),AQ(Math.round(AL[AX].b+AZ*AI*AF[AX].b))].join(&quot;,&quot;)+&quot;)&quot;;break;case&quot;path&quot;:AS=[];for(var AV=0,Ac=AL[AX].length;AV&lt;Ac;AV++){AS[AV]=[AL[AX][AV][0]];for(var AU=1,AW=AL[AX][AV].length;AU&lt;AW;AU++){AS[AV][AU]=+AL[AX][AV][AU]+AZ*AI*AF[AX][AV][AU];}AS[AV]=AS[AV].join(&quot; &quot;);}AS=AS.join(&quot; &quot;);break;case&quot;csv&quot;:switch(AX){case&quot;translation&quot;:var Aa=AF[AX][0]*(AT-AG),AY=AF[AX][1]*(AT-AG);AE.x+=Aa;AE.y+=AY;AS=[Aa,AY].join(&quot; &quot;);break;case&quot;rotation&quot;:AS=+AL[AX][0]+AZ*AI*AF[AX][0];AL[AX][1]&amp;&amp;(AS+=&quot;,&quot;+AL[AX][1]+&quot;,&quot;+AL[AX][2]);break;case&quot;scale&quot;:AS=[+AL[AX][0]+AZ*AI*AF[AX][0],+AL[AX][1]+AZ*AI*AF[AX][1],(2 in AR[AX]?AR[AX][2]:&quot;&quot;),(3 in AR[AX]?AR[AX][3]:&quot;&quot;)].join(&quot; &quot;);}break;}Ab[AX]=AS;}AB.attr(Ab);AB.animation_in_progress=setTimeout(AO);E.svg&amp;&amp;B.safari();}else{(AE.x||AE.y)&amp;&amp;AB.translate(-AE.x,-AE.y);AB.attr(AR);clearTimeout(AB.animation_in_progress);E.svg&amp;&amp;B.safari();(typeof z==&quot;function&quot;)&amp;&amp;z.call(AB);}AG=AT;})();return this;};K.prototype.translate=function(R,i){if(R==null){return{x:this._.tx,y:this._.ty};}this._.tx+=+R;this._.ty+=+i;switch(this.type){case&quot;circle&quot;:case&quot;ellipse&quot;:this.attr({cx:+R+this.attrs.cx,cy:+i+this.attrs.cy});break;case&quot;rect&quot;:case&quot;image&quot;:case&quot;text&quot;:this.attr({x:+R+this.attrs.x,y:+i+this.attrs.y});break;case&quot;path&quot;:var e=C(this.attrs.path);e[0][1]+=+R;e[0][2]+=+i;this.attr({path:e});break;}return this;};var I=function(R){this.items=[];this.length=0;if(R){for(var e=0,y=R.length;e&lt;y;e++){if(R[e]&amp;&amp;(R[e].constructor==K||R[e].constructor==I)){this[this.items.length]=this.items[this.items.length]=R[e];this.length++;}}}};I.prototype.push=function(){var z,R;for(var e=0,y=arguments.length;e&lt;y;e++){z=arguments[e];if(z&amp;&amp;(z.constructor==K||z.constructor==I)){R=this.items.length;this[R]=this.items[R]=z;this.length++;}}return this;};for(var r in K.prototype){I.prototype[r]=(function(R){return function(){for(var e=0,y=this.items.length;e&lt;y;e++){this.items[e][R].apply(this.items[e],arguments);}return this;};})(r);}I.prototype.attr=function(e,AB){if(e&amp;&amp;E.isArray(e)&amp;&amp;typeof e[0]==&quot;object&quot;){for(var R=0,AA=e.length;R&lt;AA;R++){this.items[R].attr(e[R]);}}else{for(var y=0,z=this.items.length;y&lt;z;y++){this.items[y].attr.apply(this.items[y],arguments);}}return this;};I.prototype.getBBox=function(){var R=[],AC=[],e=[],AA=[];for(var z=this.items.length;z--;){var AB=this.items[z].getBBox();R.push(AB.x);AC.push(AB.y);e.push(AB.x+AB.width);AA.push(AB.y+AB.height);}R=Math.min.apply(Math,R);AC=Math.min.apply(Math,AC);return{x:R,y:AC,width:Math.max.apply(Math,e)-R,height:Math.max.apply(Math,AA)-AC};};E.registerFont=function(e){if(!e.face){return e;}this.fonts=this.fonts||{};var y={w:e.w,face:{},glyphs:{}},i=e.face[&quot;font-family&quot;];for(var AB in e.face){y.face[AB]=e.face[AB];}if(this.fonts[i]){this.fonts[i].push(y);}else{this.fonts[i]=[y];}if(!e.svg){y.face[&quot;units-per-em&quot;]=parseInt(e.face[&quot;units-per-em&quot;],10);for(var z in e.glyphs){var AA=e.glyphs[z];y.glyphs[z]={w:AA.w,k:{},d:AA.d&amp;&amp;&quot;M&quot;+AA.d.replace(/[mlcxtrv]/g,function(AC){return{l:&quot;L&quot;,c:&quot;C&quot;,x:&quot;z&quot;,t:&quot;m&quot;,r:&quot;l&quot;,v:&quot;c&quot;}[AC]||&quot;M&quot;;})+&quot;z&quot;};if(AA.k){for(var R in AA.k){y.glyphs[z].k[R]=AA.k[R];}}}}return e;};B.getFont=function(AD,AE,e,z){z=z||&quot;normal&quot;;e=e||&quot;normal&quot;;AE=+AE||{normal:400,bold:700,lighter:300,bolder:800}[AE]||400;var AA=E.fonts[AD];if(!AA){var y=new RegExp(&quot;(^|\\s)&quot;+AD.replace(/[^\w\d\s+!~.:_-]/g,&quot;&quot;)+&quot;(\\s|$)&quot;,&quot;i&quot;);for(var R in E.fonts){if(y.test(R)){AA=E.fonts[R];break;}}}var AB;if(AA){for(var AC=0,AF=AA.length;AC&lt;AF;AC++){AB=AA[AC];if(AB.face[&quot;font-weight&quot;]==AE&amp;&amp;(AB.face[&quot;font-style&quot;]==e||!AB.face[&quot;font-style&quot;])&amp;&amp;AB.face[&quot;font-stretch&quot;]==z){break;}}}return AB;};B.print=function(AG,AF,AD,e,AK){var AB=this.set(),AE=(AD+&quot;&quot;).split(&quot;&quot;),R=0,AJ=&quot;&quot;,AA;typeof e==&quot;string&quot;&amp;&amp;(e=this.getFont(e));if(e){AA=(AK||16)/e.face[&quot;units-per-em&quot;];for(var AC=0,AH=AE.length;AC&lt;AH;AC++){var z=AC&amp;&amp;e.glyphs[AE[AC-1]]||{},AI=e.glyphs[AE[AC]];R+=AC?(z.w||e.w)+(z.k&amp;&amp;z.k[AE[AC]]||0):0;AI&amp;&amp;AI.d&amp;&amp;AB.push(this.path(AI.d).attr({fill:&quot;#000&quot;,stroke:&quot;none&quot;,translation:[R,0]}));}AB.scale(AA,AA,0,AF).translate(AG,(AK||16)/2);}return AB;};E.ninja=function(){var R=window.Raphael;if(p.was){window.Raphael=p.is;}else{try{delete window.Raphael;}catch(i){window.Raphael=void (0);}}return R;};E.el=K.prototype;return E;})();
\ No newline at end of file
+window.Raphael=(function(){var x=/[, ]+/,F=document,l=window,p={was:&quot;Raphael&quot; in window,is:window.Raphael},E=function(){return J.apply(E,arguments);},B={},O={cx:0,cy:0,fill:&quot;#fff&quot;,&quot;fill-opacity&quot;:1,font:'10px &quot;Arial&quot;',&quot;font-family&quot;:'&quot;Arial&quot;',&quot;font-size&quot;:&quot;10&quot;,&quot;font-style&quot;:&quot;normal&quot;,&quot;font-weight&quot;:400,gradient:0,height:0,href:&quot;http://raphaeljs.com/&quot;,opacity:1,path:&quot;M0,0&quot;,r:0,rotation:0,rx:0,ry:0,scale:&quot;1 1&quot;,src:&quot;&quot;,stroke:&quot;#000&quot;,&quot;stroke-dasharray&quot;:&quot;&quot;,&quot;stroke-linecap&quot;:&quot;butt&quot;,&quot;stroke-linejoin&quot;:&quot;butt&quot;,&quot;stroke-miterlimit&quot;:0,&quot;stroke-opacity&quot;:1,&quot;stroke-width&quot;:1,target:&quot;_blank&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,title:&quot;Raphael&quot;,translation:&quot;0 0&quot;,width:0,x:0,y:0},T={cx:&quot;number&quot;,cy:&quot;number&quot;,fill:&quot;colour&quot;,&quot;fill-opacity&quot;:&quot;number&quot;,&quot;font-size&quot;:&quot;number&quot;,height:&quot;number&quot;,opacity:&quot;number&quot;,path:&quot;path&quot;,r:&quot;number&quot;,rotation:&quot;csv&quot;,rx:&quot;number&quot;,ry:&quot;number&quot;,scale:&quot;csv&quot;,stroke:&quot;colour&quot;,&quot;stroke-opacity&quot;:&quot;number&quot;,&quot;stroke-width&quot;:&quot;number&quot;,translation:&quot;csv&quot;,width:&quot;number&quot;,x:&quot;number&quot;,y:&quot;number&quot;},U=[&quot;click&quot;,&quot;dblclick&quot;,&quot;mousedown&quot;,&quot;mousemove&quot;,&quot;mouseout&quot;,&quot;mouseover&quot;,&quot;mouseup&quot;];E.version=&quot;1.0 RC1&quot;;E.type=(window.SVGAngle||document.implementation.hasFeature(&quot;http://www.w3.org/TR/SVG11/feature#BasicStructure&quot;,&quot;1.1&quot;)?&quot;SVG&quot;:&quot;VML&quot;);E.svg=!(E.vml=E.type==&quot;VML&quot;);E.idGenerator=0;E.fn={};E.isArray=function(R){return Object.prototype.toString.call(R)==&quot;[object Array]&quot;;};E.setWindow=function(R){l=R;F=l.document;};E.hsb2rgb=w(function(AE,AC,AI){if(typeof AE==&quot;object&quot;&amp;&amp;&quot;h&quot; in AE&amp;&amp;&quot;s&quot; in AE&amp;&amp;&quot;b&quot; in AE){AI=AE.b;AC=AE.s;AE=AE.h;}var z,AA,AJ;if(AI==0){return{r:0,g:0,b:0,hex:&quot;#000&quot;};}if(AE&gt;1||AC&gt;1||AI&gt;1){AE/=255;AC/=255;AI/=255;}var AB=Math.floor(AE*6),AF=(AE*6)-AB,y=AI*(1-AC),e=AI*(1-(AC*AF)),AK=AI*(1-(AC*(1-AF)));z=[AI,e,y,y,AK,AI,AI][AB];AA=[AK,AI,AI,e,y,y,AK][AB];AJ=[y,y,AK,AI,AI,e,y][AB];z*=255;AA*=255;AJ*=255;var AG={r:z,g:AA,b:AJ},R=Math.round(z).toString(16),AD=Math.round(AA).toString(16),AH=Math.round(AJ).toString(16);if(R.length==1){R=&quot;0&quot;+R;}if(AD.length==1){AD=&quot;0&quot;+AD;}if(AH.length==1){AH=&quot;0&quot;+AH;}AG.hex=&quot;#&quot;+R+AD+AH;return AG;},E);E.rgb2hsb=w(function(R,e,AC){if(typeof R==&quot;object&quot;&amp;&amp;&quot;r&quot; in R&amp;&amp;&quot;g&quot; in R&amp;&amp;&quot;b&quot; in R){AC=R.b;e=R.g;R=R.r;}if(typeof R==&quot;string&quot;){var AE=E.getRGB(R);R=AE.r;e=AE.g;AC=AE.b;}if(R&gt;1||e&gt;1||AC&gt;1){R/=255;e/=255;AC/=255;}var AB=Math.max(R,e,AC),i=Math.min(R,e,AC),z,y,AA=AB;if(i==AB){return{h:0,s:0,b:AB};}else{var AD=(AB-i);y=AD/AB;if(R==AB){z=(e-AC)/AD;}else{if(e==AB){z=2+((AC-R)/AD);}else{z=4+((R-e)/AD);}}z/=6;if(z&lt;0){z+=1;}if(z&gt;1){z-=1;}}return{h:z,s:y,b:AA};},E);E._path2string=function(){var y=&quot;&quot;,AB;for(var e=0,z=this.length;e&lt;z;e++){for(var R=0,AA=this[e].length;R&lt;AA;R++){y+=this[e][R];R&amp;&amp;R!=AA-1&amp;&amp;(y+=&quot;,&quot;);}e!=z-1&amp;&amp;(y+=&quot;\n&quot;);}return y.replace(/,(?=-)/g,&quot;&quot;);};function w(y,e,R){function i(){var z=Array.prototype.splice.call(arguments,0,arguments.length),AA=z.join(&quot;\u25ba&quot;);i.cache=i.cache||{};i.count=i.count||[];if(AA in i.cache){return R?R(i.cache[AA]):i.cache[AA];}if(i.count.length&gt;1000){delete i.cache[i.count.unshift()];}i.count.push(AA);i.cache[AA]=y.apply(e,z);return R?R(i.cache[AA]):i.cache[AA];}return i;}E.getRGB=w(function(R){var AE={aliceblue:&quot;#f0f8ff&quot;,amethyst:&quot;#96c&quot;,antiquewhite:&quot;#faebd7&quot;,aqua:&quot;#0ff&quot;,aquamarine:&quot;#7fffd4&quot;,azure:&quot;#f0ffff&quot;,beige:&quot;#f5f5dc&quot;,bisque:&quot;#ffe4c4&quot;,black:&quot;#000&quot;,blanchedalmond:&quot;#ffebcd&quot;,blue:&quot;#00f&quot;,blueviolet:&quot;#8a2be2&quot;,brown:&quot;#a52a2a&quot;,burlywood:&quot;#deb887&quot;,cadetblue:&quot;#5f9ea0&quot;,chartreuse:&quot;#7fff00&quot;,chocolate:&quot;#d2691e&quot;,coral:&quot;#ff7f50&quot;,cornflowerblue:&quot;#6495ed&quot;,cornsilk:&quot;#fff8dc&quot;,crimson:&quot;#dc143c&quot;,cyan:&quot;#0ff&quot;,darkblue:&quot;#00008b&quot;,darkcyan:&quot;#008b8b&quot;,darkgoldenrod:&quot;#b8860b&quot;,darkgray:&quot;#a9a9a9&quot;,darkgreen:&quot;#006400&quot;,darkkhaki:&quot;#bdb76b&quot;,darkmagenta:&quot;#8b008b&quot;,darkolivegreen:&quot;#556b2f&quot;,darkorange:&quot;#ff8c00&quot;,darkorchid:&quot;#9932cc&quot;,darkred:&quot;#8b0000&quot;,darksalmon:&quot;#e9967a&quot;,darkseagreen:&quot;#8fbc8f&quot;,darkslateblue:&quot;#483d8b&quot;,darkslategray:&quot;#2f4f4f&quot;,darkturquoise:&quot;#00ced1&quot;,darkviolet:&quot;#9400d3&quot;,deeppink:&quot;#ff1493&quot;,deepskyblue:&quot;#00bfff&quot;,dimgray:&quot;#696969&quot;,dodgerblue:&quot;#1e90ff&quot;,firebrick:&quot;#b22222&quot;,floralwhite:&quot;#fffaf0&quot;,forestgreen:&quot;#228b22&quot;,fuchsia:&quot;#f0f&quot;,gainsboro:&quot;#dcdcdc&quot;,ghostwhite:&quot;#f8f8ff&quot;,gold:&quot;#ffd700&quot;,goldenrod:&quot;#daa520&quot;,gray:&quot;#808080&quot;,green:&quot;#008000&quot;,greenyellow:&quot;#adff2f&quot;,honeydew:&quot;#f0fff0&quot;,hotpink:&quot;#ff69b4&quot;,indianred:&quot;#cd5c5c&quot;,indigo:&quot;#4b0082&quot;,ivory:&quot;#fffff0&quot;,khaki:&quot;#f0e68c&quot;,lavender:&quot;#e6e6fa&quot;,lavenderblush:&quot;#fff0f5&quot;,lawngreen:&quot;#7cfc00&quot;,lemonchiffon:&quot;#fffacd&quot;,lightblue:&quot;#add8e6&quot;,lightcoral:&quot;#f08080&quot;,lightcyan:&quot;#e0ffff&quot;,lightgoldenrodyellow:&quot;#fafad2&quot;,lightgreen:&quot;#90ee90&quot;,lightgrey:&quot;#d3d3d3&quot;,lightpink:&quot;#ffb6c1&quot;,lightsalmon:&quot;#ffa07a&quot;,lightsalmon:&quot;#ffa07a&quot;,lightseagreen:&quot;#20b2aa&quot;,lightskyblue:&quot;#87cefa&quot;,lightslategray:&quot;#789&quot;,lightsteelblue:&quot;#b0c4de&quot;,lightyellow:&quot;#ffffe0&quot;,lime:&quot;#0f0&quot;,limegreen:&quot;#32cd32&quot;,linen:&quot;#faf0e6&quot;,magenta:&quot;#f0f&quot;,maroon:&quot;#800000&quot;,mediumaquamarine:&quot;#66cdaa&quot;,mediumblue:&quot;#0000cd&quot;,mediumorchid:&quot;#ba55d3&quot;,mediumpurple:&quot;#9370db&quot;,mediumseagreen:&quot;#3cb371&quot;,mediumslateblue:&quot;#7b68ee&quot;,mediumslateblue:&quot;#7b68ee&quot;,mediumspringgreen:&quot;#00fa9a&quot;,mediumturquoise:&quot;#48d1cc&quot;,mediumvioletred:&quot;#c71585&quot;,midnightblue:&quot;#191970&quot;,mintcream:&quot;#f5fffa&quot;,mistyrose:&quot;#ffe4e1&quot;,moccasin:&quot;#ffe4b5&quot;,navajowhite:&quot;#ffdead&quot;,navy:&quot;#000080&quot;,oldlace:&quot;#fdf5e6&quot;,olive:&quot;#808000&quot;,olivedrab:&quot;#6b8e23&quot;,orange:&quot;#ffa500&quot;,orangered:&quot;#ff4500&quot;,orchid:&quot;#da70d6&quot;,palegoldenrod:&quot;#eee8aa&quot;,palegreen:&quot;#98fb98&quot;,paleturquoise:&quot;#afeeee&quot;,palevioletred:&quot;#db7093&quot;,papayawhip:&quot;#ffefd5&quot;,peachpuff:&quot;#ffdab9&quot;,peru:&quot;#cd853f&quot;,pink:&quot;#ffc0cb&quot;,plum:&quot;#dda0dd&quot;,powderblue:&quot;#b0e0e6&quot;,purple:&quot;#800080&quot;,red:&quot;#f00&quot;,rosybrown:&quot;#bc8f8f&quot;,royalblue:&quot;#4169e1&quot;,saddlebrown:&quot;#8b4513&quot;,salmon:&quot;#fa8072&quot;,sandybrown:&quot;#f4a460&quot;,seagreen:&quot;#2e8b57&quot;,seashell:&quot;#fff5ee&quot;,sienna:&quot;#a0522d&quot;,silver:&quot;#c0c0c0&quot;,skyblue:&quot;#87ceeb&quot;,slateblue:&quot;#6a5acd&quot;,slategray:&quot;#708090&quot;,snow:&quot;#fffafa&quot;,springgreen:&quot;#00ff7f&quot;,steelblue:&quot;#4682b4&quot;,tan:&quot;#d2b48c&quot;,teal:&quot;#008080&quot;,thistle:&quot;#d8bfd8&quot;,tomato:&quot;#ff6347&quot;,turquoise:&quot;#40e0d0&quot;,violet:&quot;#ee82ee&quot;,wheat:&quot;#f5deb3&quot;,white:&quot;#fff&quot;,whitesmoke:&quot;#f5f5f5&quot;,yellow:&quot;#ff0&quot;,yellowgreen:&quot;#9acd32&quot;},AA;if((R+&quot;&quot;).toLowerCase() in AE){R=AE[R.toString().toLowerCase()];}if(!R){return{r:0,g:0,b:0,hex:&quot;#000&quot;};}if(R==&quot;none&quot;){return{r:-1,g:-1,b:-1,hex:&quot;none&quot;};}var i,y,AD,AB=(R+&quot;&quot;).match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(AB){if(AB[2]){AD=parseInt(AB[2].substring(5),16);y=parseInt(AB[2].substring(3,5),16);i=parseInt(AB[2].substring(1,3),16);}if(AB[3]){AD=parseInt(AB[3].substring(3)+AB[3].substring(3),16);y=parseInt(AB[3].substring(2,3)+AB[3].substring(2,3),16);i=parseInt(AB[3].substring(1,2)+AB[3].substring(1,2),16);}if(AB[4]){AB=AB[4].split(/\s*,\s*/);i=parseFloat(AB[0]);y=parseFloat(AB[1]);AD=parseFloat(AB[2]);}if(AB[5]){AB=AB[5].split(/\s*,\s*/);i=parseFloat(AB[0])*2.55;y=parseFloat(AB[1])*2.55;AD=parseFloat(AB[2])*2.55;}if(AB[6]){AB=AB[6].split(/\s*,\s*/);i=parseFloat(AB[0]);y=parseFloat(AB[1]);AD=parseFloat(AB[2]);return E.hsb2rgb(i,y,AD);}if(AB[7]){AB=AB[7].split(/\s*,\s*/);i=parseFloat(AB[0])*2.55;y=parseFloat(AB[1])*2.55;AD=parseFloat(AB[2])*2.55;return E.hsb2rgb(i,y,AD);}var AB={r:i,g:y,b:AD},e=Math.round(i).toString(16),z=Math.round(y).toString(16),AC=Math.round(AD).toString(16);(e.length==1)&amp;&amp;(e=&quot;0&quot;+e);(z.length==1)&amp;&amp;(z=&quot;0&quot;+z);(AC.length==1)&amp;&amp;(AC=&quot;0&quot;+AC);AB.hex=&quot;#&quot;+e+z+AC;AA=AB;}else{AA={r:-1,g:-1,b:-1,hex:&quot;none&quot;};}return AA;},E);E.getColor=function(e){var i=this.getColor.start=this.getColor.start||{h:0,s:1,b:e||0.75},R=this.hsb2rgb(i.h,i.s,i.b);i.h+=0.075;if(i.h&gt;1){i.h=0;i.s-=0.2;if(i.s&lt;=0){this.getColor.start={h:0,s:1,b:i.b};}}return R.hex;};E.getColor.reset=function(){delete this.start;};E.parsePathString=w(function(R){if(!R){return null;}var i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=[];if(E.isArray(R)&amp;&amp;E.isArray(R[0])){e=S(R);}if(!e.length){(R+&quot;&quot;).replace(/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(z,y,AC){var AB=[],AA=y.toLowerCase();AC.replace(/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(AE,AD){AD&amp;&amp;AB.push(+AD);});while(AB.length&gt;=i[AA]){e.push([y].concat(AB.splice(0,i[AA])));if(!i[AA]){break;}}});}e.toString=E._path2string;return e;});var a=w(function(AG){AG=o(AG);var AD=0,AC=0,z=[],e=[];for(var AA=0,AF=AG.length;AA&lt;AF;AA++){if(AG[AA][0]==&quot;M&quot;){AD=AG[AA][1];AC=AG[AA][2];z.push(AD);e.push(AC);}else{var AB=j(AD,AC,AG[AA][1],AG[AA][2],AG[AA][3],AG[AA][4],AG[AA][5],AG[AA][6]);z=z.concat(AB.min.x,AB.max.x);e=e.concat(AB.min.y,AB.max.y);}}var R=Math.min.apply(0,z),AE=Math.min.apply(0,e);return{x:R,y:AE,width:Math.max.apply(0,z)-R,height:Math.max.apply(0,e)-AE};}),S=function(AB){var y=[];if(!E.isArray(AB)||!E.isArray(AB&amp;&amp;AB[0])){AB=E.parsePathString(AB);}for(var e=0,z=AB.length;e&lt;z;e++){y[e]=[];for(var R=0,AA=AB[e].length;R&lt;AA;R++){y[e][R]=AB[e][R];}}y.toString=E._path2string;return y;},C=w(function(AA){if(!E.isArray(AA)||!E.isArray(AA&amp;&amp;AA[0])){AA=E.parsePathString(AA);}var AG=[],AI=0,AH=0,AL=0,AK=0,z=0;if(AA[0][0]==&quot;M&quot;){AI=AA[0][1];AH=AA[0][2];AL=AI;AK=AH;z++;AG.push([&quot;M&quot;,AI,AH]);}for(var AD=z,AM=AA.length;AD&lt;AM;AD++){var R=AG[AD]=[],AJ=AA[AD];if(AJ[0]!=AJ[0].toLowerCase()){R[0]=AJ[0].toLowerCase();switch(R[0]){case&quot;a&quot;:R[1]=AJ[1];R[2]=AJ[2];R[3]=AJ[3];R[4]=AJ[4];R[5]=AJ[5];R[6]=+(AJ[6]-AI).toFixed(3);R[7]=+(AJ[7]-AH).toFixed(3);break;case&quot;v&quot;:R[1]=+(AJ[1]-AH).toFixed(3);break;case&quot;m&quot;:AL=AJ[1];AK=AJ[2];default:for(var AC=1,AE=AJ.length;AC&lt;AE;AC++){R[AC]=+(AJ[AC]-((AC%2)?AI:AH)).toFixed(3);}}}else{R=AG[AD]=[];if(AJ[0]==&quot;m&quot;){AL=AJ[1]+AI;AK=AJ[2]+AH;}for(var AB=0,e=AJ.length;AB&lt;e;AB++){AG[AD][AB]=AJ[AB];}}var AF=AG[AD].length;switch(AG[AD][0]){case&quot;z&quot;:AI=AL;AH=AK;break;case&quot;h&quot;:AI+=+AG[AD][AF-1];break;case&quot;v&quot;:AH+=+AG[AD][AF-1];break;default:AI+=+AG[AD][AF-2];AH+=+AG[AD][AF-1];}}AG.toString=E._path2string;return AG;},0,S),V=w(function(AA){if(!E.isArray(AA)||!E.isArray(AA&amp;&amp;AA[0])){AA=E.parsePathString(AA);}var AF=[],AH=0,AG=0,AK=0,AJ=0,z=0;if(AA[0][0]==&quot;M&quot;){AH=+AA[0][1];AG=+AA[0][2];AK=AH;AJ=AG;z++;AF[0]=[&quot;M&quot;,AH,AG];}for(var AD=z,AL=AA.length;AD&lt;AL;AD++){var R=AF[AD]=[],AI=AA[AD];if(AI[0]!=(AI[0]+&quot;&quot;).toUpperCase()){R[0]=(AI[0]+&quot;&quot;).toUpperCase();switch(R[0]){case&quot;A&quot;:R[1]=AI[1];R[2]=AI[2];R[3]=AI[3];R[4]=AI[4];R[5]=AI[5];R[6]=+(AI[6]+AH);R[7]=+(AI[7]+AG);break;case&quot;V&quot;:R[1]=+AI[1]+AG;break;case&quot;H&quot;:R[1]=+AI[1]+AH;break;case&quot;M&quot;:AK=+AI[1]+AH;AJ=+AI[2]+AG;default:for(var AC=1,AE=AI.length;AC&lt;AE;AC++){R[AC]=+AI[AC]+((AC%2)?AH:AG);}}}else{for(var AB=0,e=AI.length;AB&lt;e;AB++){AF[AD][AB]=AI[AB];}}switch(R[0]){case&quot;Z&quot;:AH=AK;AG=AJ;break;case&quot;H&quot;:AH=R[1];break;case&quot;V&quot;:AG=R[1];break;default:AH=AF[AD][AF[AD].length-2];AG=AF[AD][AF[AD].length-1];}}AF.toString=E._path2string;return AF;},null,S),D=function(e,y,R,i){return[e,y,R,i,R,i];},W=function(e,y,AA,z,R,i){return[2/3*e+1/3*AA,2/3*y+1/3*z,2/3*e+1/3*R,2/3*y+1/3*i,R,i];},P=function(AK,Ao,AT,AR,AL,AF,AA,AJ,An,AM){var AQ=Math.PI*120/180,R=Math.PI/180*(+AL||0),AX=[],AU,Ak=w(function(Ap,As,i){var Ar=Ap*Math.cos(i)-As*Math.sin(i),Aq=Ap*Math.sin(i)+As*Math.cos(i);return{x:Ar,y:Aq};});if(!AM){AU=Ak(AK,Ao,-R);AK=AU.x;Ao=AU.y;AU=Ak(AJ,An,-R);AJ=AU.x;An=AU.y;var e=Math.cos(Math.PI/180*AL),AH=Math.sin(Math.PI/180*AL),AZ=(AK-AJ)/2,AY=(Ao-An)/2;AT=Math.max(AT,Math.abs(AZ));AR=Math.max(AR,Math.abs(AY));var z=AT*AT,Ac=AR*AR,Ae=(AF==AA?-1:1)*Math.sqrt((z*Ac-z*AY*AY-Ac*AZ*AZ)/(z*AY*AY+Ac*AZ*AZ)),AO=Ae*AT*AY/AR+(AK+AJ)/2,AN=Ae*-AR*AZ/AT+(Ao+An)/2,AE=Math.asin((Ao-AN)/AR),AD=Math.asin((An-AN)/AR);AE=AK&lt;AO?Math.PI-AE:AE;AD=AJ&lt;AO?Math.PI-AD:AD;AE&lt;0&amp;&amp;(AE=Math.PI*2+AE);AD&lt;0&amp;&amp;(AD=Math.PI*2+AD);if(AA&amp;&amp;AE&gt;AD){AE=AE-Math.PI*2;}if(!AA&amp;&amp;AD&gt;AE){AD=AD-Math.PI*2;}}else{AE=AM[0];AD=AM[1];AO=AM[2];AN=AM[3];}var AI=AD-AE;if(Math.abs(AI)&gt;AQ){var AP=AD,AS=AJ,AG=An;AD=AE+AQ*(AA&amp;&amp;AD&gt;AE?1:-1);AJ=AO+AT*Math.cos(AD);An=AN+AR*Math.sin(AD);AX=P(AJ,An,AT,AR,AL,0,AA,AS,AG,[AD,AP,AO,AN]);}var AC=Math.cos(AE),Am=Math.sin(AE),AB=Math.cos(AD),Al=Math.sin(AD),AI=AD-AE,Aa=Math.tan(AI/4),Ad=4/3*AT*Aa,Ab=4/3*AR*Aa,Aj=[AK,Ao],Ai=[AK+Ad*Am,Ao-Ab*AC],Ah=[AJ+Ad*Al,An-Ab*AB],Af=[AJ,An];Ai[0]=2*Aj[0]-Ai[0];Ai[1]=2*Aj[1]-Ai[1];if(AM){return[Ai,Ah,Af].concat(AX);}else{AX=[Ai,Ah,Af].concat(AX).join(&quot;,&quot;).split(&quot;,&quot;);var AV=[];for(var Ag=0,AW=AX.length;Ag&lt;AW;Ag++){AV[Ag]=Ag%2?Ak(AX[Ag-1],AX[Ag],R).y:Ak(AX[Ag],AX[Ag+1],R).x;}return AV;}},Z=w(function(e,R,AO,AM,AB,AA,AD,AC,AI){var AG=Math.pow(1-AI,3)*e+Math.pow(1-AI,2)*3*AI*AO+(1-AI)*3*AI*AI*AB+Math.pow(AI,3)*AD,AE=Math.pow(1-AI,3)*R+Math.pow(1-AI,2)*3*AI*AM+(1-AI)*3*AI*AI*AA+Math.pow(AI,3)*AC,AK=e+2*AI*(AO-e)+AI*AI*(AB-2*AO+e),AJ=R+2*AI*(AM-R)+AI*AI*(AA-2*AM+R),AN=AO+2*AI*(AB-AO)+AI*AI*(AD-2*AB+AO),AL=AM+2*AI*(AA-AM)+AI*AI*(AC-2*AA+AM),AH=(1-AI)*e+AI*AO,AF=(1-AI)*R+AI*AM,z=(1-AI)*AB+AI*AD,i=(1-AI)*AA+AI*AC;return{x:AG,y:AE,m:{x:AK,y:AJ},n:{x:AN,y:AL},start:{x:AH,y:AF},end:{x:z,y:i}};}),j=w(function(e,R,z,i,AM,AL,AI,AF){var AK=(AM-2*z+e)-(AI-2*AM+z),AH=2*(z-e)-2*(AM-z),AE=e-z,AC=(-AH+Math.sqrt(AH*AH-4*AK*AE))/2/AK,AA=(-AH-Math.sqrt(AH*AH-4*AK*AE))/2/AK,AG=[R,AF],AJ=[e,AI],AD=Z(e,R,z,i,AM,AL,AI,AF,AC&gt;0&amp;&amp;AC&lt;1?AC:0),AB=Z(e,R,z,i,AM,AL,AI,AF,AA&gt;0&amp;&amp;AA&lt;1?AA:0);AJ=AJ.concat(AD.x,AB.x);AG=AG.concat(AD.y,AB.y);AK=(AL-2*i+R)-(AF-2*AL+i);AH=2*(i-R)-2*(AL-i);AE=R-i;AC=(-AH+Math.sqrt(AH*AH-4*AK*AE))/2/AK;AA=(-AH-Math.sqrt(AH*AH-4*AK*AE))/2/AK;AD=Z(e,R,z,i,AM,AL,AI,AF,AC&gt;0&amp;&amp;AC&lt;1?AC:0);AB=Z(e,R,z,i,AM,AL,AI,AF,AA&gt;0&amp;&amp;AA&lt;1?AA:0);AJ=AJ.concat(AD.x,AB.x);AG=AG.concat(AD.y,AB.y);return{min:{x:Math.min.apply(Math,AJ),y:Math.min.apply(Math,AG)},max:{x:Math.max.apply(Math,AJ),y:Math.max.apply(Math,AG)}};}),o=w(function(AK,AF){var z=V(AK),AG=AF&amp;&amp;V(AF),AH={x:0,y:0,bx:0,by:0,X:0,Y:0},R={x:0,y:0,bx:0,by:0,X:0,Y:0},AB=function(AL,AM){if(!AL){return[&quot;C&quot;,AM.x,AM.y,AM.x,AM.y,AM.x,AM.y];}switch(AL[0]){case&quot;M&quot;:AM.X=AL[1];AM.Y=AL[2];break;case&quot;A&quot;:AL=[&quot;C&quot;].concat(P(AM.x,AM.y,AL[1],AL[2],AL[3],AL[4],AL[5],AL[6],AL[7]));break;case&quot;S&quot;:var i=AM.x+(AM.x-(AM.bx||AM.x)),AN=AM.y+(AM.y-(AM.by||AM.y));AL=[&quot;C&quot;,i,AN,AL[1],AL[2],AL[3],AL[4]];break;case&quot;T&quot;:var i=AM.x+(AM.x-(AM.bx||AM.x)),AN=AM.y+(AM.y-(AM.by||AM.y));AL=[&quot;C&quot;].concat(W(AM.x,AM.y,i,AN,AL[1],AL[2]));break;case&quot;Q&quot;:AL=[&quot;C&quot;].concat(W(AM.x,AM.y,AL[1],AL[2],AL[3],AL[4]));break;case&quot;L&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AL[1],AL[2]));break;case&quot;H&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AL[1],AM.y));break;case&quot;V&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AM.x,AL[1]));break;case&quot;Z&quot;:AL=[&quot;C&quot;].concat(D(AM.x,AM.y,AM.X,AM.Y));break;}return AL;},e=function(AL,AM){if(AL[AM].length&gt;7){AL[AM].shift();var AN=AL[AM];while(AN.length){AL.splice(AM++,0,[&quot;C&quot;].concat(AN.splice(0,6)));}AL.splice(AM,1);AI=Math.max(z.length,AG&amp;&amp;AG.length||0);}},y=function(AP,AO,AM,AL,AN){if(AP&amp;&amp;AO&amp;&amp;AP[AN][0]==&quot;M&quot;&amp;&amp;AO[AN][0]!=&quot;M&quot;){AO.splice(AN,0,[&quot;M&quot;,AL.x,AL.y]);AM.bx=0;AM.by=0;AM.x=AP[AN][1];AM.y=AP[AN][2];AI=Math.max(z.length,AG&amp;&amp;AG.length||0);}};for(var AD=0,AI=Math.max(z.length,AG&amp;&amp;AG.length||0);AD&lt;AI;AD++){z[AD]=AB(z[AD],AH);e(z,AD);AG&amp;&amp;(AG[AD]=AB(AG[AD],R));AG&amp;&amp;e(AG,AD);y(z,AG,AH,R,AD);y(AG,z,R,AH,AD);var AC=z[AD],AJ=AG&amp;&amp;AG[AD],AA=AC.length,AE=AG&amp;&amp;AJ.length;AH.bx=AC[AA-4]||0;AH.by=AC[AA-3]||0;AH.x=AC[AA-2];AH.y=AC[AA-1];R.bx=AG&amp;&amp;(AJ[AE-4]||0);R.by=AG&amp;&amp;(AJ[AE-3]||0);R.x=AG&amp;&amp;AJ[AE-2];R.y=AG&amp;&amp;AJ[AE-1];}return AG?[z,AG]:z;},null,S),L=w(function(AG){if(typeof AG==&quot;string&quot;){AG=AG.split(/\s*\-\s*/);var y=AG.shift();if(y.toLowerCase()==&quot;v&quot;){y=90;}else{if(y.toLowerCase()==&quot;h&quot;){y=0;}else{y=parseFloat(y);}}y=-y;var AE={angle:y,type:&quot;linear&quot;,dots:[],vector:[0,0,Math.cos(y*Math.PI/180).toFixed(3),Math.sin(y*Math.PI/180).toFixed(3)]},AF=1/(Math.max(Math.abs(AE.vector[2]),Math.abs(AE.vector[3]))||1);AE.vector[2]*=AF;AE.vector[3]*=AF;if(AE.vector[2]&lt;0){AE.vector[0]=-AE.vector[2];AE.vector[2]=0;}if(AE.vector[3]&lt;0){AE.vector[1]=-AE.vector[3];AE.vector[3]=0;}AE.vector[0]=AE.vector[0];AE.vector[1]=AE.vector[1];AE.vector[2]=AE.vector[2];AE.vector[3]=AE.vector[3];for(var AB=0,AH=AG.length;AB&lt;AH;AB++){var R={},AD=AG[AB].match(/^([^:]*):?([\d\.]*)/);R.color=E.getRGB(AD[1]).hex;AD[2]&amp;&amp;(R.offset=AD[2]+&quot;%&quot;);AE.dots.push(R);}for(var AB=1,AH=AE.dots.length-1;AB&lt;AH;AB++){if(!AE.dots[AB].offset){var e=parseFloat(AE.dots[AB-1].offset||0),z=false;for(var AA=AB+1;AA&lt;AH;AA++){if(AE.dots[AA].offset){z=AE.dots[AA].offset;break;}}if(!z){z=100;AA=AH;}z=parseFloat(z);var AC=(z-e)/(AA-AB+1);for(;AB&lt;AA;AB++){e+=AC;AE.dots[AB].offset=e+&quot;%&quot;;}}}return AE;}else{return AG;}}),f=function(){var i,e,AA,z,R;if(typeof arguments[0]==&quot;string&quot;||typeof arguments[0]==&quot;object&quot;){if(typeof arguments[0]==&quot;string&quot;){i=F.getElementById(arguments[0]);}else{i=arguments[0];}if(i.tagName){if(arguments[1]==null){return{container:i,width:i.style.pixelWidth||i.offsetWidth,height:i.style.pixelHeight||i.offsetHeight};}else{return{container:i,width:arguments[1],height:arguments[2]};}}}else{if(typeof arguments[0]==&quot;number&quot;&amp;&amp;arguments.length&gt;3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},A=function(R,i){var e=this;for(var y in i){if(i.hasOwnProperty(y)&amp;&amp;!(y in R)){switch(typeof i[y]){case&quot;function&quot;:(function(z){R[y]=R===e?z:function(){return z.apply(e,arguments);};})(i[y]);break;case&quot;object&quot;:R[y]=R[y]||{};A.call(this,R[y],i[y]);break;default:R[y]=i[y];break;}}}};if(E.svg){var n=function(R){return +R+(Math.floor(R)==R)*0.5;};var Y=function(AA){for(var e=0,y=AA.length;e&lt;y;e++){if(AA[e][0].toLowerCase()!=&quot;a&quot;){for(var R=1,z=AA[e].length;R&lt;z;R++){AA[e][R]=n(AA[e][R]);}}else{AA[e][6]=n(AA[e][6]);AA[e][7]=n(AA[e][7]);}}return AA;};E.toString=function(){return&quot;Your browser supports SVG.\nYou are running Rapha\u00ebl &quot;+this.version;};var v=function(R,y){var e=F.createElementNS(y.svgns,&quot;path&quot;);y.canvas&amp;&amp;y.canvas.appendChild(e);var i=new K(e,y);i.type=&quot;path&quot;;d(i,{fill:&quot;none&quot;,stroke:&quot;#000&quot;,path:R});return i;};var m=function(AC,AA,AD){AA=L(AA);var z=F.createElementNS(AD.svgns,(AA.type||&quot;linear&quot;)+&quot;Gradient&quot;);z.id=&quot;r&quot;+(E.idGenerator++).toString(36);if(AA.vector&amp;&amp;AA.vector.length){z.setAttribute(&quot;x1&quot;,AA.vector[0]);z.setAttribute(&quot;y1&quot;,AA.vector[1]);z.setAttribute(&quot;x2&quot;,AA.vector[2]);z.setAttribute(&quot;y2&quot;,AA.vector[3]);}AD.defs.appendChild(z);var AB=true;for(var e=0,y=AA.dots.length;e&lt;y;e++){var R=F.createElementNS(AD.svgns,&quot;stop&quot;);if(AA.dots[e].offset){AB=false;}R.setAttribute(&quot;offset&quot;,AA.dots[e].offset?AA.dots[e].offset:(e==0)?&quot;0%&quot;:&quot;100%&quot;);R.setAttribute(&quot;stop-color&quot;,E.getRGB(AA.dots[e].color).hex||&quot;#fff&quot;);z.appendChild(R);}if(AB&amp;&amp;typeof AA.dots[y-1].opacity!=&quot;undefined&quot;){R.setAttribute(&quot;stop-opacity&quot;,AA.dots[y-1].opacity);}AC.setAttribute(&quot;fill&quot;,&quot;url(#&quot;+z.id+&quot;)&quot;);AC.style.fill=&quot;&quot;;AC.style.opacity=1;AC.style.fillOpacity=1;AC.setAttribute(&quot;opacity&quot;,1);AC.setAttribute(&quot;fill-opacity&quot;,1);};var Q=function(e){var R=e.getBBox();e.pattern.setAttribute(&quot;patternTransform&quot;,&quot;translate(&quot;.concat(R.x,&quot;,&quot;,R.y,&quot;)&quot;));};var d=function(AF,AM){var AI={&quot;&quot;:[0],none:[0],&quot;-&quot;:[3,1],&quot;.&quot;:[1,1],&quot;-.&quot;:[3,1,1,1],&quot;-..&quot;:[3,1,1,1,1,1],&quot;. &quot;:[1,3],&quot;- &quot;:[4,3],&quot;--&quot;:[8,3],&quot;- .&quot;:[4,3,1,3],&quot;--.&quot;:[8,3,1,3],&quot;--..&quot;:[8,3,1,3,1,3]},AK=AF.node,AG=AF.attrs,AC=AF.attr(&quot;rotation&quot;),z=function(AU,AT){AT=AI[(AT+&quot;&quot;).toLowerCase()];if(AT){var AR=AU.attrs[&quot;stroke-width&quot;]||&quot;1&quot;,AO={round:AR,square:AR,butt:0}[AU.attrs[&quot;stroke-linecap&quot;]||AM[&quot;stroke-linecap&quot;]]||0,AS=[];for(var AP=0,AQ=AT.length;AP&lt;AQ;AP++){AS.push(AT[AP]*AR+((AP%2)?1:-1)*AO);}AT=AS.join(&quot;,&quot;);AK.setAttribute(&quot;stroke-dasharray&quot;,AT);}};parseInt(AC,10)&amp;&amp;AF.rotate(0,true);for(var AJ in AM){if(!(AJ in O)){continue;}var AH=AM[AJ];AG[AJ]=AH;switch(AJ){case&quot;href&quot;:case&quot;title&quot;:case&quot;target&quot;:var AL=AK.parentNode;if(AL.tagName.toLowerCase()!=&quot;a&quot;){var i=F.createElementNS(AF.paper.svgns,&quot;a&quot;);AL.insertBefore(i,AK);i.appendChild(AK);AL=i;}AL.setAttributeNS(AF.paper.xlink,AJ,AH);break;case&quot;path&quot;:if(AH&amp;&amp;AF.type==&quot;path&quot;){AG.path=Y(V(AH));AK.setAttribute(&quot;d&quot;,AG.path);}case&quot;width&quot;:AK.setAttribute(AJ,AH);if(AG.fx){AJ=&quot;x&quot;;AH=AG.x;}else{break;}case&quot;x&quot;:if(AG.fx){AH=-AG.x-(AG.width||0);}case&quot;rx&quot;:case&quot;cx&quot;:AK.setAttribute(AJ,AH);AF.pattern&amp;&amp;Q(AF);break;case&quot;height&quot;:AK.setAttribute(AJ,AH);if(AG.fy){AJ=&quot;y&quot;;AH=AG.y;}else{break;}case&quot;y&quot;:if(AG.fy){AH=-AG.y-(AG.height||0);}case&quot;ry&quot;:case&quot;cy&quot;:AK.setAttribute(AJ,AH);AF.pattern&amp;&amp;Q(AF);break;case&quot;r&quot;:if(AF.type==&quot;rect&quot;){AK.setAttribute(&quot;rx&quot;,AH);AK.setAttribute(&quot;ry&quot;,AH);}else{AK.setAttribute(AJ,AH);}break;case&quot;src&quot;:if(AF.type==&quot;image&quot;){AK.setAttributeNS(AF.paper.xlink,&quot;href&quot;,AH);}break;case&quot;stroke-width&quot;:AK.style.strokeWidth=AH;AK.setAttribute(AJ,AH);if(AG[&quot;stroke-dasharray&quot;]){z(AF,AG[&quot;stroke-dasharray&quot;]);}break;case&quot;stroke-dasharray&quot;:z(AF,AH);break;case&quot;rotation&quot;:AC=AH;AF.rotate(AH,true);break;case&quot;translation&quot;:var AA=(AH+&quot;&quot;).split(x);AF.translate((+AA[0]+1||2)-1,(+AA[1]+1||2)-1);break;case&quot;scale&quot;:var AA=(AH+&quot;&quot;).split(x);AF.scale(+AA[0]||1,+AA[1]||+AA[0]||1,+AA[2]||null,+AA[3]||null);break;case&quot;fill&quot;:var y=(AH+&quot;&quot;).match(/^url\(['&quot;]?([^\)]+)['&quot;]?\)$/i);if(y){var e=F.createElementNS(AF.paper.svgns,&quot;pattern&quot;),AE=F.createElementNS(AF.paper.svgns,&quot;image&quot;);e.id=&quot;r&quot;+(E.idGenerator++).toString(36);e.setAttribute(&quot;x&quot;,0);e.setAttribute(&quot;y&quot;,0);e.setAttribute(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;);AE.setAttribute(&quot;x&quot;,0);AE.setAttribute(&quot;y&quot;,0);AE.setAttributeNS(AF.paper.xlink,&quot;href&quot;,y[1]);e.appendChild(AE);var AN=F.createElement(&quot;img&quot;);AN.style.position=&quot;absolute&quot;;AN.style.top=&quot;-9999em&quot;;AN.style.left=&quot;-9999em&quot;;AN.onload=function(){e.setAttribute(&quot;width&quot;,this.offsetWidth);e.setAttribute(&quot;height&quot;,this.offsetHeight);AE.setAttribute(&quot;width&quot;,this.offsetWidth);AE.setAttribute(&quot;height&quot;,this.offsetHeight);F.body.removeChild(this);B.safari();};F.body.appendChild(AN);AN.src=y[1];AF.paper.defs.appendChild(e);AK.style.fill=&quot;url(#&quot;+e.id+&quot;)&quot;;AK.setAttribute(&quot;fill&quot;,&quot;url(#&quot;+e.id+&quot;)&quot;);AF.pattern=e;AF.pattern&amp;&amp;Q(AF);break;}delete AM.gradient;delete AG.gradient;if(typeof AG.opacity!=&quot;undefined&quot;&amp;&amp;typeof AM.opacity==&quot;undefined&quot;){AK.style.opacity=AG.opacity;AK.setAttribute(&quot;opacity&quot;,AG.opacity);}if(typeof AG[&quot;fill-opacity&quot;]!=&quot;undefined&quot;&amp;&amp;typeof AM[&quot;fill-opacity&quot;]==&quot;undefined&quot;){AK.style.fillOpacity=AG[&quot;fill-opacity&quot;];AK.setAttribute(&quot;fill-opacity&quot;,AG[&quot;fill-opacity&quot;]);}case&quot;stroke&quot;:AK.style[AJ]=E.getRGB(AH).hex;AK.setAttribute(AJ,E.getRGB(AH).hex);break;case&quot;gradient&quot;:m(AK,AH,AF.paper);break;case&quot;opacity&quot;:case&quot;fill-opacity&quot;:if(AG.gradient){var R=F.getElementById(AK.getAttribute(&quot;fill&quot;).replace(/^url\(#|\)$/g,&quot;&quot;));if(R){var AB=R.getElementsByTagName(&quot;stop&quot;);AB[AB.length-1].setAttribute(&quot;stop-opacity&quot;,AH);}break;}default:AJ==&quot;font-size&quot;&amp;&amp;(AH=parseInt(AH,10)+&quot;px&quot;);var AD=AJ.replace(/(\-.)/g,function(AO){return AO.substring(1).toUpperCase();});AK.style[AD]=AH;AK.setAttribute(AJ,AH);break;}}s(AF,AM);parseInt(AC,10)&amp;&amp;AF.rotate(AC,true);};var k=1.2;var s=function(R,z){if(R.type!=&quot;text&quot;||!(&quot;text&quot; in z||&quot;font&quot; in z||&quot;font-size&quot; in z||&quot;x&quot; in z||&quot;y&quot; in z)){return ;}var AE=R.attrs,e=R.node,AG=e.firstChild?parseInt(F.defaultView.getComputedStyle(e.firstChild,&quot;&quot;).getPropertyValue(&quot;font-size&quot;),10):10;if(&quot;text&quot; in z){while(e.firstChild){e.removeChild(e.firstChild);}var y=(z.text+&quot;&quot;).split(&quot;\n&quot;);for(var AA=0,AF=y.length;AA&lt;AF;AA++){var AC=F.createElementNS(R.paper.svgns,&quot;tspan&quot;);AA&amp;&amp;AC.setAttribute(&quot;dy&quot;,AG*k);AA&amp;&amp;AC.setAttribute(&quot;x&quot;,AE.x);AC.appendChild(F.createTextNode(y[AA]));e.appendChild(AC);}}else{var y=e.getElementsByTagName(&quot;tspan&quot;);for(var AA=0,AF=y.length;AA&lt;AF;AA++){AA&amp;&amp;y[AA].setAttribute(&quot;dy&quot;,AG*k);AA&amp;&amp;y[AA].setAttribute(&quot;x&quot;,AE.x);}}e.setAttribute(&quot;y&quot;,AE.y);var AB=R.getBBox(),AD=AE.y-(AB.y+AB.height/2);AD&amp;&amp;e.setAttribute(&quot;y&quot;,AE.y+AD);};var K=function(e,R){var y=0,i=0;this[0]=e;this.node=e;this.paper=R;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};};K.prototype.rotate=function(e,R,y){if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(&quot; &quot;);}return this._.rt.deg;}var i=this.getBBox();e=(e+&quot;&quot;).split(x);if(e.length-1){R=parseFloat(e[1]);y=parseFloat(e[2]);}e=parseFloat(e[0]);if(R!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(y==null)&amp;&amp;(R=null);this._.rt.cx=R;this._.rt.cy=y;R=R==null?i.x+i.width/2:R;y=y==null?i.y+i.height/2:y;if(this._.rt.deg){this.transformations[0]=&quot;rotate(&quot;.concat(this._.rt.deg,&quot; &quot;,R,&quot; &quot;,y,&quot;)&quot;);}else{this.transformations[0]=&quot;&quot;;}this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));return this;};K.prototype.hide=function(){this.node.style.display=&quot;none&quot;;return this;};K.prototype.show=function(){this.node.style.display=&quot;block&quot;;return this;};K.prototype.remove=function(){this.node.parentNode.removeChild(this.node);};K.prototype.getBBox=function(){if(this.type==&quot;path&quot;){return a(this.attrs.path);}if(this.node.style.display==&quot;none&quot;){this.show();var y=true;}var AC={};try{AC=this.node.getBBox();}catch(AA){}finally{AC=AC||{};}if(this.type==&quot;text&quot;){AC={x:AC.x,y:Infinity,width:AC.width,height:0};for(var R=0,z=this.node.getNumberOfChars();R&lt;z;R++){var AB=this.node.getExtentOfChar(R);(AB.y&lt;AC.y)&amp;&amp;(AC.y=AB.y);(AB.y+AB.height-AC.y&gt;AC.height)&amp;&amp;(AC.height=AB.y+AB.height-AC.y);}}y&amp;&amp;this.hide();return AC;};K.prototype.attr=function(){if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;string&quot;){if(arguments[0]==&quot;translation&quot;){return this.translate();}if(arguments[0]==&quot;rotation&quot;){return this.rotate();}if(arguments[0]==&quot;scale&quot;){return this.scale();}return this.attrs[arguments[0]];}if(arguments.length==1&amp;&amp;E.isArray(arguments[0])){var R={};for(var e in arguments[0]){R[arguments[0][e]]=this.attrs[arguments[0][e]];}return R;}if(arguments.length==2){var i={};i[arguments[0]]=arguments[1];d(this,i);}else{if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;object&quot;){d(this,arguments[0]);}}return this;};K.prototype.toFront=function(){this.node.parentNode.appendChild(this.node);return this;};K.prototype.toBack=function(){if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);}return this;};K.prototype.insertAfter=function(R){if(R.node.nextSibling){R.node.parentNode.insertBefore(this.node,R.node.nextSibling);}else{R.node.parentNode.appendChild(this.node);}return this;};K.prototype.insertBefore=function(R){var e=R.node;e.parentNode.insertBefore(this.node,e);return this;};var b=function(e,R,AB,AA){R=n(R);AB=n(AB);var z=F.createElementNS(e.svgns,&quot;circle&quot;);z.setAttribute(&quot;cx&quot;,R);z.setAttribute(&quot;cy&quot;,AB);z.setAttribute(&quot;r&quot;,AA);z.setAttribute(&quot;fill&quot;,&quot;none&quot;);z.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.cx=R;i.attrs.cy=AB;i.attrs.r=AA;i.attrs.stroke=&quot;#000&quot;;i.type=&quot;circle&quot;;return i;};var h=function(i,R,AD,e,AB,AC){R=n(R);AD=n(AD);var AA=F.createElementNS(i.svgns,&quot;rect&quot;);AA.setAttribute(&quot;x&quot;,R);AA.setAttribute(&quot;y&quot;,AD);AA.setAttribute(&quot;width&quot;,e);AA.setAttribute(&quot;height&quot;,AB);if(AC){AA.setAttribute(&quot;rx&quot;,AC);AA.setAttribute(&quot;ry&quot;,AC);}AA.setAttribute(&quot;fill&quot;,&quot;none&quot;);AA.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(i.canvas){i.canvas.appendChild(AA);}var z=new K(AA,i);z.attrs=z.attrs||{};z.attrs.x=R;z.attrs.y=AD;z.attrs.width=e;z.attrs.height=AB;z.attrs.stroke=&quot;#000&quot;;if(AC){z.attrs.rx=z.attrs.ry=AC;}z.type=&quot;rect&quot;;return z;};var G=function(e,R,AC,AB,AA){R=n(R);AC=n(AC);var z=F.createElementNS(e.svgns,&quot;ellipse&quot;);z.setAttribute(&quot;cx&quot;,R);z.setAttribute(&quot;cy&quot;,AC);z.setAttribute(&quot;rx&quot;,AB);z.setAttribute(&quot;ry&quot;,AA);z.setAttribute(&quot;fill&quot;,&quot;none&quot;);z.setAttribute(&quot;stroke&quot;,&quot;#000&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.cx=R;i.attrs.cy=AC;i.attrs.rx=AB;i.attrs.ry=AA;i.attrs.stroke=&quot;#000&quot;;i.type=&quot;ellipse&quot;;return i;};var N=function(i,AC,R,AD,e,AB){var AA=F.createElementNS(i.svgns,&quot;image&quot;);AA.setAttribute(&quot;x&quot;,R);AA.setAttribute(&quot;y&quot;,AD);AA.setAttribute(&quot;width&quot;,e);AA.setAttribute(&quot;height&quot;,AB);AA.setAttribute(&quot;preserveAspectRatio&quot;,&quot;none&quot;);AA.setAttributeNS(i.xlink,&quot;href&quot;,AC);if(i.canvas){i.canvas.appendChild(AA);}var z=new K(AA,i);z.attrs=z.attrs||{};z.attrs.src=AC;z.attrs.x=R;z.attrs.y=AD;z.attrs.width=e;z.attrs.height=AB;z.type=&quot;image&quot;;return z;};var g=function(e,R,AB,AA){var z=F.createElementNS(e.svgns,&quot;text&quot;);z.setAttribute(&quot;x&quot;,R);z.setAttribute(&quot;y&quot;,AB);z.setAttribute(&quot;text-anchor&quot;,&quot;middle&quot;);if(e.canvas){e.canvas.appendChild(z);}var i=new K(z,e);i.attrs=i.attrs||{};i.attrs.text=AA;i.attrs.x=R;i.attrs.y=AB;i.type=&quot;text&quot;;d(i,{font:O.font,stroke:&quot;none&quot;,fill:&quot;#000&quot;,text:AA});return i;};var c=function(e,R){this.width=e||this.width;this.height=R||this.height;this.canvas.setAttribute(&quot;width&quot;,this.width);this.canvas.setAttribute(&quot;height&quot;,this.height);return this;};var J=function(){var z=f.apply(null,arguments),i=z.container,e=z.x,AC=z.y,AA=z.width,R=z.height;if(!i){throw new Error(&quot;SVG container not found.&quot;);}B.canvas=F.createElementNS(B.svgns,&quot;svg&quot;);B.canvas.setAttribute(&quot;width&quot;,AA||512);B.width=AA||512;B.canvas.setAttribute(&quot;height&quot;,R||342);B.height=R||342;if(i==1){F.body.appendChild(B.canvas);B.canvas.style.position=&quot;absolute&quot;;B.canvas.style.left=e+&quot;px&quot;;B.canvas.style.top=AC+&quot;px&quot;;}else{if(i.firstChild){i.insertBefore(B.canvas,i.firstChild);}else{i.appendChild(B.canvas);}}i={canvas:B.canvas,clear:function(){while(this.canvas.firstChild){this.canvas.removeChild(this.canvas.firstChild);}this.defs=F.createElementNS(B.svgns,&quot;defs&quot;);this.canvas.appendChild(this.defs);}};for(var AB in B){if(AB!=&quot;create&quot;){i[AB]=B[AB];}}A.call(i,i,E.fn);i.clear();i.raphael=E;return i;};B.remove=function(){this.canvas.parentNode&amp;&amp;this.canvas.parentNode.removeChild(this.canvas);};B.svgns=&quot;http://www.w3.org/2000/svg&quot;;B.xlink=&quot;http://www.w3.org/1999/xlink&quot;;B.safari=function(){if({&quot;Apple Computer, Inc.&quot;:1,&quot;Google Inc.&quot;:1}[navigator.vendor]){var R=this.rect(-this.width,-this.height,this.width*3,this.height*3).attr({stroke:&quot;none&quot;});setTimeout(function(){R.remove();});}};}if(E.vml){var X=function(AB){var z=o(AB);for(var e=0,y=z.length;e&lt;y;e++){z[e][0]=(z[e][0]+&quot;&quot;).toLowerCase();z[e][0]==&quot;z&quot;&amp;&amp;(z[e][0]=&quot;x&quot;);for(var R=1,AA=z[e].length;R&lt;AA;R++){z[e][R]=Math.round(z[e][R]);}}return(z+&quot;&quot;);};E.toString=function(){return&quot;Your browser doesn\u2019t support SVG. Assuming it is Internet Explorer and falling down to VML.\nYou are running Rapha\u00ebl &quot;+this.version;};var v=function(R,AA){var y=u(&quot;group&quot;),AB=y.style;AB.position=&quot;absolute&quot;;AB.left=0;AB.top=0;AB.width=AA.width+&quot;px&quot;;AB.height=AA.height+&quot;px&quot;;y.coordsize=AA.coordsize;y.coordorigin=AA.coordorigin;var i=u(&quot;shape&quot;),e=i.style;e.width=AA.width+&quot;px&quot;;e.height=AA.height+&quot;px&quot;;i.path=&quot;&quot;;i.coordsize=this.coordsize;i.coordorigin=this.coordorigin;y.appendChild(i);var z=new K(i,y,AA);z.isAbsolute=true;z.type=&quot;path&quot;;z.path=[];z.Path=&quot;&quot;;if(R){z.attrs.path=E.parsePathString(R);z.node.path=X(z.attrs.path);}d(z,{fill:&quot;none&quot;,stroke:&quot;#000&quot;});z.setBox();AA.canvas.appendChild(y);return z;};var d=function(i,z){i.attrs=i.attrs||{};var y=i.node,AF=i.attrs,AJ=y.style,AI,AD=i;for(var AC in z){AF[AC]=z[AC];}z.href&amp;&amp;(y.href=z.href);z.title&amp;&amp;(y.title=z.title);z.target&amp;&amp;(y.target=z.target);if(z.path&amp;&amp;i.type==&quot;path&quot;){AF.path=E.parsePathString(z.path);y.path=X(AF.path);}if(z.rotation!=null){i.rotate(z.rotation,true);}if(z.translation){AI=(z.translation+&quot;&quot;).split(x);i.translate(AI[0],AI[1]);}if(z.scale){AI=(z.scale+&quot;&quot;).split(x);i.scale(+AI[0]||1,+AI[1]||+AI[0]||1,+AI[2]||null,+AI[3]||null);}if(i.type==&quot;image&quot;&amp;&amp;z.src){y.src=z.src;}if(i.type==&quot;image&quot;&amp;&amp;z.opacity){y.filterOpacity=&quot; progid:DXImageTransform.Microsoft.Alpha(opacity=&quot;+(z.opacity*100)+&quot;)&quot;;AJ.filter=(y.filterMatrix||&quot;&quot;)+(y.filterOpacity||&quot;&quot;);}z.font&amp;&amp;(AJ.font=z.font);z[&quot;font-family&quot;]&amp;&amp;(AJ.fontFamily='&quot;'+z[&quot;font-family&quot;].split(&quot;,&quot;)[0].replace(/^['&quot;]+|['&quot;]+$/g,&quot;&quot;)+'&quot;');z[&quot;font-size&quot;]&amp;&amp;(AJ.fontSize=z[&quot;font-size&quot;]);z[&quot;font-weight&quot;]&amp;&amp;(AJ.fontWeight=z[&quot;font-weight&quot;]);z[&quot;font-style&quot;]&amp;&amp;(AJ.fontStyle=z[&quot;font-style&quot;]);if(z.opacity!=null||z[&quot;stroke-width&quot;]!=null||z.fill!=null||z.stroke!=null||z[&quot;stroke-width&quot;]!=null||z[&quot;stroke-opacity&quot;]!=null||z[&quot;fill-opacity&quot;]!=null||z[&quot;stroke-dasharray&quot;]!=null||z[&quot;stroke-miterlimit&quot;]!=null||z[&quot;stroke-linejoin&quot;]!=null||z[&quot;stroke-linecap&quot;]!=null){y=i.shape||y;var AH=(y.getElementsByTagName(&quot;fill&quot;)&amp;&amp;y.getElementsByTagName(&quot;fill&quot;)[0]),e=false;!AH&amp;&amp;(e=AH=u(&quot;fill&quot;));if(&quot;fill-opacity&quot; in z||&quot;opacity&quot; in z){var AB=((+AF[&quot;fill-opacity&quot;]+1||2)-1)*((+AF.opacity+1||2)-1);AB&lt;0&amp;&amp;(AB=0);AB&gt;1&amp;&amp;(AB=1);AH.opacity=AB;}z.fill&amp;&amp;(AH.on=true);if(AH.on==null||z.fill==&quot;none&quot;){AH.on=false;}if(AH.on&amp;&amp;z.fill){var AA=z.fill.match(/^url\(([^\)]+)\)$/i);if(AA){AH.src=AA[1];AH.type=&quot;tile&quot;;}else{AH.color=E.getRGB(z.fill).hex;AH.src=&quot;&quot;;AH.type=&quot;solid&quot;;}}e&amp;&amp;y.appendChild(AH);var AG=(y.getElementsByTagName(&quot;stroke&quot;)&amp;&amp;y.getElementsByTagName(&quot;stroke&quot;)[0]),R=false;!AG&amp;&amp;(R=AG=u(&quot;stroke&quot;));if((z.stroke&amp;&amp;z.stroke!=&quot;none&quot;)||z[&quot;stroke-width&quot;]||z[&quot;stroke-opacity&quot;]!=null||z[&quot;stroke-dasharray&quot;]||z[&quot;stroke-miterlimit&quot;]||z[&quot;stroke-linejoin&quot;]||z[&quot;stroke-linecap&quot;]){AG.on=true;}(z.stroke==&quot;none&quot;||AG.on==null||z.stroke==0||z[&quot;stroke-width&quot;]==0)&amp;&amp;(AG.on=false);AG.on&amp;&amp;z.stroke&amp;&amp;(AG.color=E.getRGB(z.stroke).hex);var AB=((+AF[&quot;stroke-opacity&quot;]+1||2)-1)*((+AF.opacity+1||2)-1);AB&lt;0&amp;&amp;(AB=0);AB&gt;1&amp;&amp;(AB=1);AG.opacity=AB;z[&quot;stroke-linejoin&quot;]&amp;&amp;(AG.joinstyle=z[&quot;stroke-linejoin&quot;]||&quot;miter&quot;);AG.miterlimit=z[&quot;stroke-miterlimit&quot;]||8;z[&quot;stroke-linecap&quot;]&amp;&amp;(AG.endcap={butt:&quot;flat&quot;,square:&quot;square&quot;,round:&quot;round&quot;}[z[&quot;stroke-linecap&quot;]]||&quot;miter&quot;);z[&quot;stroke-width&quot;]&amp;&amp;(AG.weight=(parseFloat(z[&quot;stroke-width&quot;])||1)*12/16);if(z[&quot;stroke-dasharray&quot;]){var AE={&quot;-&quot;:&quot;shortdash&quot;,&quot;.&quot;:&quot;shortdot&quot;,&quot;-.&quot;:&quot;shortdashdot&quot;,&quot;-..&quot;:&quot;shortdashdotdot&quot;,&quot;. &quot;:&quot;dot&quot;,&quot;- &quot;:&quot;dash&quot;,&quot;--&quot;:&quot;longdash&quot;,&quot;- .&quot;:&quot;dashdot&quot;,&quot;--.&quot;:&quot;longdashdot&quot;,&quot;--..&quot;:&quot;longdashdotdot&quot;};AG.dashstyle=AE[z[&quot;stroke-dasharray&quot;]]||&quot;&quot;;}R&amp;&amp;y.appendChild(AG);}if(AD.type==&quot;text&quot;){var AJ=B.span.style;AF.font&amp;&amp;(AJ.font=AF.font);AF[&quot;font-family&quot;]&amp;&amp;(AJ.fontFamily=AF[&quot;font-family&quot;]);AF[&quot;font-size&quot;]&amp;&amp;(AJ.fontSize=AF[&quot;font-size&quot;]);AF[&quot;font-weight&quot;]&amp;&amp;(AJ.fontWeight=AF[&quot;font-weight&quot;]);AF[&quot;font-style&quot;]&amp;&amp;(AJ.fontStyle=AF[&quot;font-style&quot;]);B.span.innerHTML=AD.node.string.replace(/&lt;/g,&quot;&amp;#60;&quot;).replace(/&amp;/g,&quot;&amp;#38;&quot;).replace(/\n/g,&quot;&lt;br&gt;&quot;);AD.W=AF.w=B.span.offsetWidth;AD.H=AF.h=B.span.offsetHeight;AD.X=AF.x;AD.Y=AF.y+Math.round(AD.H/2);switch(AF[&quot;text-anchor&quot;]){case&quot;start&quot;:AD.node.style[&quot;v-text-align&quot;]=&quot;left&quot;;AD.bbx=Math.round(AD.W/2);break;case&quot;end&quot;:AD.node.style[&quot;v-text-align&quot;]=&quot;right&quot;;AD.bbx=-Math.round(AD.W/2);break;default:AD.node.style[&quot;v-text-align&quot;]=&quot;center&quot;;break;}}};var M=function(e,R,z,y){var i=Math.round(Math.atan((parseFloat(z)-parseFloat(e))/(parseFloat(y)-parseFloat(R)))*57.29)||0;if(!i&amp;&amp;parseFloat(e)&lt;parseFloat(R)){i=180;}i-=180;if(i&lt;0){i+=360;}return i;};var m=function(AC,AB){AB=L(AB);AC.attrs=AC.attrs||{};var e=AC.attrs,AA=AC.node.getElementsByTagName(&quot;fill&quot;);AC.attrs.gradient=AB;AC=AC.shape||AC.node;if(AA.length){AA=AA[0];}else{AA=u(&quot;fill&quot;);}if(AB.dots.length){AA.on=true;AA.method=&quot;none&quot;;AA.type=((AB.type+&quot;&quot;).toLowerCase()==&quot;radial&quot;)?&quot;gradientTitle&quot;:&quot;gradient&quot;;if(typeof AB.dots[0].color!=&quot;undefined&quot;){AA.color=E.getRGB(AB.dots[0].color).hex;}if(typeof AB.dots[AB.dots.length-1].color!=&quot;undefined&quot;){AA.color2=E.getRGB(AB.dots[AB.dots.length-1].color).hex;}var AD=[];for(var y=0,z=AB.dots.length;y&lt;z;y++){if(AB.dots[y].offset){AD.push(AB.dots[y].offset+&quot; &quot;+E.getRGB(AB.dots[y].color).hex);}}var R=typeof AB.dots[AB.dots.length-1].opacity==&quot;undefined&quot;?(typeof e.opacity==&quot;undefined&quot;?1:e.opacity):AB.dots[AB.dots.length-1].opacity;if(AD.length){AA.colors.value=AD.join(&quot;,&quot;);R=typeof e.opacity==&quot;undefined&quot;?1:e.opacity;}else{AA.colors&amp;&amp;(AA.colors.value=&quot;0% &quot;+AA.color);}AA.opacity=R;if(typeof AB.angle!=&quot;undefined&quot;){AA.angle=(-AB.angle+270)%360;}else{if(AB.vector){AA.angle=M.apply(null,AB.vector);}}if((AB.type+&quot;&quot;).toLowerCase()==&quot;radial&quot;){AA.focus=&quot;100%&quot;;AA.focusposition=&quot;0.5 0.5&quot;;}}};var K=function(z,AB,R){var AA=0,i=0,e=0,y=1;this[0]=z;this.node=z;this.X=0;this.Y=0;this.attrs={};this.Group=AB;this.paper=R;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};};K.prototype.rotate=function(e,R,i){if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(&quot; &quot;);}return this._.rt.deg;}e=(e+&quot;&quot;).split(x);if(e.length-1){R=parseFloat(e[1]);i=parseFloat(e[2]);}e=parseFloat(e[0]);if(R!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(i==null)&amp;&amp;(R=null);this._.rt.cx=R;this._.rt.cy=i;this.setBox(this.attrs,R,i);this.Group.style.rotation=this._.rt.deg;return this;};K.prototype.setBox=function(AB,AC,AA){var e=this.Group.style,AD=(this.shape&amp;&amp;this.shape.style)||this.node.style;AB=AB||{};for(var AE in AB){this.attrs[AE]=AB[AE];}AC=AC||this._.rt.cx;AA=AA||this._.rt.cy;var AH=this.attrs,AK,AJ,AL,AG;switch(this.type){case&quot;circle&quot;:AK=AH.cx-AH.r;AJ=AH.cy-AH.r;AL=AG=AH.r*2;break;case&quot;ellipse&quot;:AK=AH.cx-AH.rx;AJ=AH.cy-AH.ry;AL=AH.rx*2;AG=AH.ry*2;break;case&quot;rect&quot;:case&quot;image&quot;:AK=AH.x;AJ=AH.y;AL=AH.width||0;AG=AH.height||0;break;case&quot;text&quot;:this.textpath.v=[&quot;m&quot;,Math.round(AH.x),&quot;, &quot;,Math.round(AH.y-2),&quot;l&quot;,Math.round(AH.x)+1,&quot;, &quot;,Math.round(AH.y-2)].join(&quot;&quot;);AK=AH.x-Math.round(this.W/2);AJ=AH.y-this.H/2;AL=this.W;AG=this.H;break;case&quot;path&quot;:if(!this.attrs.path){AK=0;AJ=0;AL=this.paper.width;AG=this.paper.height;}else{var AF=a(this.attrs.path);AK=AF.x;AJ=AF.y;AL=AF.width;AG=AF.height;}break;default:AK=0;AJ=0;AL=this.paper.width;AG=this.paper.height;break;}AC=(AC==null)?AK+AL/2:AC;AA=(AA==null)?AJ+AG/2:AA;var z=AC-this.paper.width/2,AI=AA-this.paper.height/2;if(this.type==&quot;path&quot;||this.type==&quot;text&quot;){(e.left!=z+&quot;px&quot;)&amp;&amp;(e.left=z+&quot;px&quot;);(e.top!=AI+&quot;px&quot;)&amp;&amp;(e.top=AI+&quot;px&quot;);this.X=this.type==&quot;text&quot;?AK:-z;this.Y=this.type==&quot;text&quot;?AJ:-AI;this.W=AL;this.H=AG;(AD.left!=-z+&quot;px&quot;)&amp;&amp;(AD.left=-z+&quot;px&quot;);(AD.top!=-AI+&quot;px&quot;)&amp;&amp;(AD.top=-AI+&quot;px&quot;);}else{(e.left!=z+&quot;px&quot;)&amp;&amp;(e.left=z+&quot;px&quot;);(e.top!=AI+&quot;px&quot;)&amp;&amp;(e.top=AI+&quot;px&quot;);this.X=AK;this.Y=AJ;this.W=AL;this.H=AG;(e.width!=this.paper.width+&quot;px&quot;)&amp;&amp;(e.width=this.paper.width+&quot;px&quot;);(e.height!=this.paper.height+&quot;px&quot;)&amp;&amp;(e.height=this.paper.height+&quot;px&quot;);(AD.left!=AK-z+&quot;px&quot;)&amp;&amp;(AD.left=AK-z+&quot;px&quot;);(AD.top!=AJ-AI+&quot;px&quot;)&amp;&amp;(AD.top=AJ-AI+&quot;px&quot;);(AD.width!=AL+&quot;px&quot;)&amp;&amp;(AD.width=AL+&quot;px&quot;);(AD.height!=AG+&quot;px&quot;)&amp;&amp;(AD.height=AG+&quot;px&quot;);var AM=(+AB.r||0)/(Math.min(AL,AG));if(this.type==&quot;rect&quot;&amp;&amp;this.arcsize!=AM&amp;&amp;(AM||this.arcsize)){var R=u(AM?&quot;roundrect&quot;:&quot;rect&quot;);R.arcsize=AM;this.Group.appendChild(R);this.node.parentNode.removeChild(this.node);this.node=R;this.arcsize=AM;d(this,this.attrs);this.setBox(this.attrs);}}};K.prototype.hide=function(){this.Group.style.display=&quot;none&quot;;return this;};K.prototype.show=function(){this.Group.style.display=&quot;block&quot;;return this;};K.prototype.getBBox=function(){if(this.type==&quot;path&quot;){return a(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};K.prototype.remove=function(){this[0].parentNode.removeChild(this[0]);this.Group.parentNode.removeChild(this.Group);this.shape&amp;&amp;this.shape.parentNode.removeChild(this.shape);};K.prototype.attr=function(){if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;string&quot;){if(arguments[0]==&quot;translation&quot;){return this.translate();}if(arguments[0]==&quot;rotation&quot;){return this.rotate();}if(arguments[0]==&quot;scale&quot;){return this.scale();}return this.attrs[arguments[0]];}if(this.attrs&amp;&amp;arguments.length==1&amp;&amp;E.isArray(arguments[0])){var R={};for(var e=0,y=arguments[0].length;e&lt;y;e++){R[arguments[0][e]]=this.attrs[arguments[0][e]];}return R;}var z;if(arguments.length==2){z={};z[arguments[0]]=arguments[1];}if(arguments.length==1&amp;&amp;typeof arguments[0]==&quot;object&quot;){z=arguments[0];}if(z){if(z.gradient){m(this,z.gradient);}if(z.text&amp;&amp;this.type==&quot;text&quot;){this.node.string=z.text;}d(this,z);this.setBox(this.attrs);}return this;};K.prototype.toFront=function(){this.Group.parentNode.appendChild(this.Group);return this;};K.prototype.toBack=function(){if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);}return this;};K.prototype.insertAfter=function(R){if(R.Group.nextSibling){R.Group.parentNode.insertBefore(this.Group,R.Group.nextSibling);}else{R.Group.parentNode.appendChild(this.Group);}return this;};K.prototype.insertBefore=function(R){R.Group.parentNode.insertBefore(this.Group,R.Group);return this;};var b=function(e,AE,AD,R){var AA=u(&quot;group&quot;),z=AA.style,i=u(&quot;oval&quot;),AC=i.style;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AA.coordsize=e.coordsize;AA.coordorigin=e.coordorigin;AA.appendChild(i);var AB=new K(i,AA,e);AB.type=&quot;circle&quot;;d(AB,{stroke:&quot;#000&quot;,fill:&quot;none&quot;});AB.attrs.cx=AE;AB.attrs.cy=AD;AB.attrs.r=R;AB.setBox({x:AE-R,y:AD-R,width:R*2,height:R*2});e.canvas.appendChild(AA);return AB;};var h=function(e,AE,AD,AF,AA,R){var AB=u(&quot;group&quot;),z=AB.style,i=u(R?&quot;roundrect&quot;:&quot;rect&quot;),AG=(+R||0)/(Math.min(AF,AA));i.arcsize=AG;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;AB.appendChild(i);var AC=new K(i,AB,e);AC.type=&quot;rect&quot;;d(AC,{stroke:&quot;#000&quot;});AC.arcsize=AG;AC.setBox({x:AE,y:AD,width:AF,height:AA,r:+R});e.canvas.appendChild(AB);return AC;};var G=function(R,AF,AE,i,e){var AB=u(&quot;group&quot;),AA=AB.style,z=u(&quot;oval&quot;),AD=z.style;AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=R.width+&quot;px&quot;;AA.height=R.height+&quot;px&quot;;AB.coordsize=R.coordsize;AB.coordorigin=R.coordorigin;AB.appendChild(z);var AC=new K(z,AB,R);AC.type=&quot;ellipse&quot;;d(AC,{stroke:&quot;#000&quot;});AC.attrs.cx=AF;AC.attrs.cy=AE;AC.attrs.rx=i;AC.attrs.ry=e;AC.setBox({x:AF-i,y:AE-e,width:i*2,height:e*2});R.canvas.appendChild(AB);return AC;};var N=function(e,R,AF,AE,AG,AA){var AB=u(&quot;group&quot;),z=AB.style,i=u(&quot;image&quot;),AD=i.style;z.position=&quot;absolute&quot;;z.left=0;z.top=0;z.width=e.width+&quot;px&quot;;z.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;i.src=R;AB.appendChild(i);var AC=new K(i,AB,e);AC.type=&quot;image&quot;;AC.attrs.src=R;AC.attrs.x=AF;AC.attrs.y=AE;AC.attrs.w=AG;AC.attrs.h=AA;AC.setBox({x:AF,y:AE,width:AG,height:AA});e.canvas.appendChild(AB);return AC;};var g=function(e,AF,AE,AG){var AB=u(&quot;group&quot;),AA=AB.style,z=u(&quot;shape&quot;),AD=z.style,AH=u(&quot;path&quot;),R=AH.style,i=u(&quot;textpath&quot;);AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=e.width+&quot;px&quot;;AA.height=e.height+&quot;px&quot;;AB.coordsize=e.coordsize;AB.coordorigin=e.coordorigin;AH.v=[&quot;m&quot;,Math.round(AF),&quot;, &quot;,Math.round(AE),&quot;l&quot;,Math.round(AF)+1,&quot;, &quot;,Math.round(AE)].join(&quot;&quot;);AH.textpathok=true;AD.width=e.width;AD.height=e.height;AA.position=&quot;absolute&quot;;AA.left=0;AA.top=0;AA.width=e.width;AA.height=e.height;i.string=AG;i.on=true;z.appendChild(i);z.appendChild(AH);AB.appendChild(z);var AC=new K(i,AB,e);AC.shape=z;AC.textpath=AH;AC.type=&quot;text&quot;;AC.attrs.text=AG;AC.attrs.x=AF;AC.attrs.y=AE;AC.attrs.w=1;AC.attrs.h=1;d(AC,{font:O.font,stroke:&quot;none&quot;,fill:&quot;#000&quot;});AC.setBox();e.canvas.appendChild(AB);return AC;};var c=function(i,R){var e=this.canvas.style;this.width=i||this.width;this.height=R||this.height;e.width=this.width+&quot;px&quot;;e.height=this.height+&quot;px&quot;;e.clip=&quot;rect(0 &quot;+this.width+&quot;px &quot;+this.height+&quot;px 0)&quot;;this.canvas.coordsize=this.width+&quot; &quot;+this.height;return this;};F.createStyleSheet().addRule(&quot;.rvml&quot;,&quot;behavior:url(#default#VML)&quot;);try{!F.namespaces.rvml&amp;&amp;F.namespaces.add(&quot;rvml&quot;,&quot;urn:schemas-microsoft-com:vml&quot;);var u=function(R){return F.createElement(&quot;&lt;rvml:&quot;+R+' class=&quot;rvml&quot;&gt;');};}catch(t){var u=function(R){return F.createElement(&quot;&lt;&quot;+R+' xmlns=&quot;urn:schemas-microsoft.com:vml&quot; class=&quot;rvml&quot;&gt;');};}var J=function(){var z=f.apply(null,arguments),e=z.container,AE=z.height,AF,i=z.width,AD=z.x,AC=z.y;if(!e){throw new Error(&quot;VML container not found.&quot;);}var AB=B.canvas=F.createElement(&quot;div&quot;),AA=AB.style;i=parseFloat(i)||&quot;512px&quot;;AE=parseFloat(AE)||&quot;342px&quot;;B.width=i;B.height=AE;B.coordsize=i+&quot; &quot;+AE;B.coordorigin=&quot;0 0&quot;;B.span=F.createElement(&quot;span&quot;);AF=B.span.style;AB.appendChild(B.span);AF.position=&quot;absolute&quot;;AF.left=&quot;-99999px&quot;;AF.top=&quot;-99999px&quot;;AF.padding=0;AF.margin=0;AF.lineHeight=1;AF.display=&quot;inline&quot;;AA.width=i+&quot;px&quot;;AA.height=AE+&quot;px&quot;;AA.position=&quot;absolute&quot;;AA.clip=&quot;rect(0 &quot;+i+&quot;px &quot;+AE+&quot;px 0)&quot;;if(e==1){F.body.appendChild(AB);AA.left=AD+&quot;px&quot;;AA.top=AC+&quot;px&quot;;e={style:{width:i,height:AE}};}else{e.style.width=i;e.style.height=AE;if(e.firstChild){e.insertBefore(AB,e.firstChild);}else{e.appendChild(AB);}}for(var R in B){e[R]=B[R];}A.call(e,e,E.fn);e.clear=function(){while(AB.firstChild){AB.removeChild(AB.firstChild);}};e.raphael=E;return e;};B.remove=function(){this.canvas.parentNode.removeChild(this.canvas);};B.safari=function(){};}var H=(function(){if(F.addEventListener){return function(z,i,e,R){var y=function(AA){return e.call(R,AA);};z.addEventListener(i,y,false);return function(){z.removeEventListener(i,y,false);return true;};};}else{if(F.attachEvent){return function(AA,y,i,e){var z=function(AB){return i.call(e,AB||l.event);};AA.attachEvent(&quot;on&quot;+y,z);var R=function(){AA.detachEvent(&quot;on&quot;+y,z);return true;};if(y==&quot;mouseover&quot;){AA.attachEvent(&quot;onmouseenter&quot;,z);return function(){AA.detachEvent(&quot;onmouseenter&quot;,z);return R();};}else{if(y==&quot;mouseout&quot;){AA.attachEvent(&quot;onmouseleave&quot;,z);return function(){AA.detachEvent(&quot;onmouseleave&quot;,z);return R();};}}return R;};}}})();for(var q=U.length;q--;){(function(R){K.prototype[R]=function(e){if(typeof e==&quot;function&quot;){this.events=this.events||{};this.events[R]=this.events[R]||{};this.events[R][e]=this.events[R][e]||[];this.events[R][e].push(H(this.shape||this.node,R,e,this));}return this;};K.prototype[&quot;un&quot;+R]=function(e){this.events&amp;&amp;this.events[R]&amp;&amp;this.events[R][e]&amp;&amp;this.events[R][e].length&amp;&amp;this.events[R][e].shift()()&amp;&amp;!this.events[R][e].length&amp;&amp;delete this.events[R][e];};})(U[q]);}B.circle=function(R,i,e){return b(this,R,i,e);};B.rect=function(R,AA,e,i,z){return h(this,R,AA,e,i,z);};B.ellipse=function(R,z,i,e){return G(this,R,z,i,e);};B.path=function(R){var e=E.isArray(arguments[1])?[0].concat(arguments[1]):arguments;R&amp;&amp;typeof R==&quot;string&quot;&amp;&amp;e.length-1&amp;&amp;(R=R.replace(/\{(\d+)\}/g,function(z,y){return e[++y]||0;}));return v(R,this);};B.image=function(z,R,AA,e,i){return N(this,z,R,AA,e,i);};B.text=function(R,i,e){return g(this,R,i,e);};B.set=function(R){arguments.length&gt;1&amp;&amp;(R=Array.prototype.splice.call(arguments,0,arguments.length));return new I(R);};B.setSize=c;K.prototype.stop=function(){clearTimeout(this.animation_in_progress);return this;};K.prototype.scale=function(AJ,AI,z,e){if(AJ==null&amp;&amp;AI==null){return{x:this._.sx,y:this._.sy,toString:function(){return +this.x.toFixed(3)+&quot; &quot;+(+this.y.toFixed(3));}};}AI=AI||AJ;!+AI&amp;&amp;(AI=AJ);var AN,AL,AM,AK,AZ=this.attrs;if(AJ!=0){var AH=this.type==&quot;path&quot;?a(AZ.path):this.getBBox(),AE=AH.x+AH.width/2,AB=AH.y+AH.height/2,AY=AJ/this._.sx,AX=AI/this._.sy;z=(+z||z==0)?z:AE;e=(+e||e==0)?e:AB;var AG=Math.round(AJ/Math.abs(AJ)),AD=Math.round(AI/Math.abs(AI)),AQ=this.node.style,Ab=z+(AE-z)*AG*AY,Aa=e+(AB-e)*AD*AX;switch(this.type){case&quot;rect&quot;:case&quot;image&quot;:var AF=AZ.width*AG*AY,AP=AZ.height*AD*AX,AC=Ab-AF/2,AA=Aa-AP/2;this.attr({width:AF,height:AP,x:AC,y:AA});break;case&quot;circle&quot;:case&quot;ellipse&quot;:this.attr({rx:AZ.rx*AY,ry:AZ.ry*AX,r:AZ.r*AY,cx:Ab,cy:Aa});break;case&quot;path&quot;:var AS=C(AZ.path),AT=true;for(var AV=0,AO=AS.length;AV&lt;AO;AV++){var AR=AS[AV];if(AR[0].toUpperCase()==&quot;M&quot;&amp;&amp;AT){continue;}else{AT=false;}if(E.svg&amp;&amp;AR[0].toUpperCase()==&quot;A&quot;){AR[AS[AV].length-2]*=AY;AR[AS[AV].length-1]*=AX;AR[1]*=AY;AR[2]*=AX;AR[5]=+(AG+AD?!!+AR[5]:!+AR[5]);}else{for(var AU=1,AW=AR.length;AU&lt;AW;AU++){AR[AU]*=(AU%2)?AY:AX;}}}var R=a(AS),AN=Ab-R.x-R.width/2,AL=Aa-R.y-R.height/2;AS=C(AS);AS[0][1]+=AN;AS[0][2]+=AL;this.attr({path:AS.join(&quot; &quot;)});break;}if(this.type in {text:1,image:1}&amp;&amp;(AG!=1||AD!=1)){if(this.transformations){this.transformations[2]=&quot;scale(&quot;.concat(AG,&quot;,&quot;,AD,&quot;)&quot;);this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));AN=(AG==-1)?-AZ.x-(AF||0):AZ.x;AL=(AD==-1)?-AZ.y-(AP||0):AZ.y;this.attr({x:AN,y:AL});AZ.fx=AG-1;AZ.fy=AD-1;}else{this.node.filterMatrix=&quot; progid:DXImageTransform.Microsoft.Matrix(M11=&quot;.concat(AG,&quot;, M12=0, M21=0, M22=&quot;,AD,&quot;, Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')&quot;);AQ.filter=(this.node.filterMatrix||&quot;&quot;)+(this.node.filterOpacity||&quot;&quot;);}}else{if(this.transformations){this.transformations[2]=&quot;&quot;;this.node.setAttribute(&quot;transform&quot;,this.transformations.join(&quot; &quot;));AZ.fx=0;AZ.fy=0;}else{this.node.filterMatrix=&quot;&quot;;AQ.filter=(this.node.filterMatrix||&quot;&quot;)+(this.node.filterOpacity||&quot;&quot;);}}AZ.scale=[AJ,AI,z,e].join(&quot; &quot;);this._.sx=AJ;this._.sy=AI;}return this;};E.easing_formulas={linear:function(R){return R;},&quot;&lt;&quot;:function(R){return Math.pow(R,3);},&quot;&gt;&quot;:function(R){return Math.pow(R-1,3)+1;},&quot;&lt;&gt;&quot;:function(R){R=R*2;if(R&lt;1){return Math.pow(R,3)/2;}R-=2;return(Math.pow(R,3)+2)/2;},backIn:function(e){var R=1.70158;return e*e*((R+1)*e-R);},backOut:function(e){e=e-1;var R=1.70158;return e*e*((R+1)*e+R)+1;},elastic:function(i){if(i==0||i==1){return i;}var e=0.3,R=e/4;return Math.pow(2,-10*i)*Math.sin((i-R)*(2*Math.PI)/e)+1;},bounce:function(y){var e=7.5625,i=2.75,R;if(y&lt;(1/i)){R=e*y*y;}else{if(y&lt;(2/i)){y-=(1.5/i);R=e*y*y+0.75;}else{if(y&lt;(2.5/i)){y-=(2.25/i);R=e*y*y+0.9375;}else{y-=(2.625/i);R=e*y*y+0.984375;}}}return R;}};K.prototype.animate=function(AR,AI,AH,z){clearTimeout(this.animation_in_progress);if(typeof AH==&quot;function&quot;||!AH){z=AH||null;}var AL={},e={},AF={},AE={x:0,y:0};for(var AJ in AR){if(AJ in T){AL[AJ]=this.attr(AJ);(typeof AL[AJ]==&quot;undefined&quot;)&amp;&amp;(AL[AJ]=O[AJ]);e[AJ]=AR[AJ];switch(T[AJ]){case&quot;number&quot;:AF[AJ]=(e[AJ]-AL[AJ])/AI;break;case&quot;colour&quot;:AL[AJ]=E.getRGB(AL[AJ]);var AK=E.getRGB(e[AJ]);AF[AJ]={r:(AK.r-AL[AJ].r)/AI,g:(AK.g-AL[AJ].g)/AI,b:(AK.b-AL[AJ].b)/AI};break;case&quot;path&quot;:var AA=o(AL[AJ],e[AJ]);AL[AJ]=AA[0];e[AJ]=AA[1];AF[AJ]=[];for(var AN=0,AD=AL[AJ].length;AN&lt;AD;AN++){AF[AJ][AN]=[0];for(var AM=1,AP=AL[AJ][AN].length;AM&lt;AP;AM++){AF[AJ][AN][AM]=(e[AJ][AN][AM]-AL[AJ][AN][AM])/AI;}}break;case&quot;csv&quot;:var R=(AR[AJ]+&quot;&quot;).split(x),AC=(AL[AJ]+&quot;&quot;).split(x);switch(AJ){case&quot;translation&quot;:AL[AJ]=[0,0];AF[AJ]=[R[0]/AI,R[1]/AI];break;case&quot;rotation&quot;:AL[AJ]=(AC[1]==R[1]&amp;&amp;AC[2]==R[2])?AC:[0,R[1],R[2]];AF[AJ]=[(R[0]-AL[AJ][0])/AI,0,0];break;case&quot;scale&quot;:AR[AJ]=R;AL[AJ]=(AL[AJ]+&quot;&quot;).split(x);AF[AJ]=[(R[0]-AL[AJ][0])/AI,(R[1]-AL[AJ][1])/AI,0,0];}e[AJ]=R;}}}var y=+new Date,AG=0,AQ=function(i){return +i&gt;255?255:+i;},AB=this;(function AO(){var AT=new Date-y,Ab={},AS;if(AT&lt;AI){var AZ=E.easing_formulas[AH]?E.easing_formulas[AH](AT/AI):AT/AI;for(var AX in AL){switch(T[AX]){case&quot;number&quot;:AS=+AL[AX]+AZ*AI*AF[AX];break;case&quot;colour&quot;:AS=&quot;rgb(&quot;+[AQ(Math.round(AL[AX].r+AZ*AI*AF[AX].r)),AQ(Math.round(AL[AX].g+AZ*AI*AF[AX].g)),AQ(Math.round(AL[AX].b+AZ*AI*AF[AX].b))].join(&quot;,&quot;)+&quot;)&quot;;break;case&quot;path&quot;:AS=[];for(var AV=0,Ac=AL[AX].length;AV&lt;Ac;AV++){AS[AV]=[AL[AX][AV][0]];for(var AU=1,AW=AL[AX][AV].length;AU&lt;AW;AU++){AS[AV][AU]=+AL[AX][AV][AU]+AZ*AI*AF[AX][AV][AU];}AS[AV]=AS[AV].join(&quot; &quot;);}AS=AS.join(&quot; &quot;);break;case&quot;csv&quot;:switch(AX){case&quot;translation&quot;:var Aa=AF[AX][0]*(AT-AG),AY=AF[AX][1]*(AT-AG);AE.x+=Aa;AE.y+=AY;AS=[Aa,AY].join(&quot; &quot;);break;case&quot;rotation&quot;:AS=+AL[AX][0]+AZ*AI*AF[AX][0];AL[AX][1]&amp;&amp;(AS+=&quot;,&quot;+AL[AX][1]+&quot;,&quot;+AL[AX][2]);break;case&quot;scale&quot;:AS=[+AL[AX][0]+AZ*AI*AF[AX][0],+AL[AX][1]+AZ*AI*AF[AX][1],(2 in AR[AX]?AR[AX][2]:&quot;&quot;),(3 in AR[AX]?AR[AX][3]:&quot;&quot;)].join(&quot; &quot;);}break;}Ab[AX]=AS;}AB.attr(Ab);AB.animation_in_progress=setTimeout(AO);E.svg&amp;&amp;B.safari();}else{(AE.x||AE.y)&amp;&amp;AB.translate(-AE.x,-AE.y);AB.attr(AR);clearTimeout(AB.animation_in_progress);E.svg&amp;&amp;B.safari();(typeof z==&quot;function&quot;)&amp;&amp;z.call(AB);}AG=AT;})();return this;};K.prototype.translate=function(R,i){if(R==null){return{x:this._.tx,y:this._.ty};}this._.tx+=+R;this._.ty+=+i;switch(this.type){case&quot;circle&quot;:case&quot;ellipse&quot;:this.attr({cx:+R+this.attrs.cx,cy:+i+this.attrs.cy});break;case&quot;rect&quot;:case&quot;image&quot;:case&quot;text&quot;:this.attr({x:+R+this.attrs.x,y:+i+this.attrs.y});break;case&quot;path&quot;:var e=C(this.attrs.path);e[0][1]+=+R;e[0][2]+=+i;this.attr({path:e});break;}return this;};var I=function(R){this.items=[];this.length=0;if(R){for(var e=0,y=R.length;e&lt;y;e++){if(R[e]&amp;&amp;(R[e].constructor==K||R[e].constructor==I)){this[this.items.length]=this.items[this.items.length]=R[e];this.length++;}}}};I.prototype.push=function(){var z,R;for(var e=0,y=arguments.length;e&lt;y;e++){z=arguments[e];if(z&amp;&amp;(z.constructor==K||z.constructor==I)){R=this.items.length;this[R]=this.items[R]=z;this.length++;}}return this;};for(var r in K.prototype){I.prototype[r]=(function(R){return function(){for(var e=0,y=this.items.length;e&lt;y;e++){this.items[e][R].apply(this.items[e],arguments);}return this;};})(r);}I.prototype.attr=function(e,AB){if(e&amp;&amp;E.isArray(e)&amp;&amp;typeof e[0]==&quot;object&quot;){for(var R=0,AA=e.length;R&lt;AA;R++){this.items[R].attr(e[R]);}}else{for(var y=0,z=this.items.length;y&lt;z;y++){this.items[y].attr.apply(this.items[y],arguments);}}return this;};I.prototype.getBBox=function(){var R=[],AC=[],e=[],AA=[];for(var z=this.items.length;z--;){var AB=this.items[z].getBBox();R.push(AB.x);AC.push(AB.y);e.push(AB.x+AB.width);AA.push(AB.y+AB.height);}R=Math.min.apply(Math,R);AC=Math.min.apply(Math,AC);return{x:R,y:AC,width:Math.max.apply(Math,e)-R,height:Math.max.apply(Math,AA)-AC};};E.registerFont=function(e){if(!e.face){return e;}this.fonts=this.fonts||{};var y={w:e.w,face:{},glyphs:{}},i=e.face[&quot;font-family&quot;];for(var AB in e.face){y.face[AB]=e.face[AB];}if(this.fonts[i]){this.fonts[i].push(y);}else{this.fonts[i]=[y];}if(!e.svg){y.face[&quot;units-per-em&quot;]=parseInt(e.face[&quot;units-per-em&quot;],10);for(var z in e.glyphs){var AA=e.glyphs[z];y.glyphs[z]={w:AA.w,k:{},d:AA.d&amp;&amp;&quot;M&quot;+AA.d.replace(/[mlcxtrv]/g,function(AC){return{l:&quot;L&quot;,c:&quot;C&quot;,x:&quot;z&quot;,t:&quot;m&quot;,r:&quot;l&quot;,v:&quot;c&quot;}[AC]||&quot;M&quot;;})+&quot;z&quot;};if(AA.k){for(var R in AA.k){y.glyphs[z].k[R]=AA.k[R];}}}}return e;};B.getFont=function(AD,AE,e,z){z=z||&quot;normal&quot;;e=e||&quot;normal&quot;;AE=+AE||{normal:400,bold:700,lighter:300,bolder:800}[AE]||400;var AA=E.fonts[AD];if(!AA){var y=new RegExp(&quot;(^|\\s)&quot;+AD.replace(/[^\w\d\s+!~.:_-]/g,&quot;&quot;)+&quot;(\\s|$)&quot;,&quot;i&quot;);for(var R in E.fonts){if(y.test(R)){AA=E.fonts[R];break;}}}var AB;if(AA){for(var AC=0,AF=AA.length;AC&lt;AF;AC++){AB=AA[AC];if(AB.face[&quot;font-weight&quot;]==AE&amp;&amp;(AB.face[&quot;font-style&quot;]==e||!AB.face[&quot;font-style&quot;])&amp;&amp;AB.face[&quot;font-stretch&quot;]==z){break;}}}return AB;};B.print=function(AG,AF,AD,e,AK){var AB=this.set(),AE=(AD+&quot;&quot;).split(&quot;&quot;),R=0,AJ=&quot;&quot;,AA;typeof e==&quot;string&quot;&amp;&amp;(e=this.getFont(e));if(e){AA=(AK||16)/e.face[&quot;units-per-em&quot;];for(var AC=0,AH=AE.length;AC&lt;AH;AC++){var z=AC&amp;&amp;e.glyphs[AE[AC-1]]||{},AI=e.glyphs[AE[AC]];R+=AC?(z.w||e.w)+(z.k&amp;&amp;z.k[AE[AC]]||0):0;AI&amp;&amp;AI.d&amp;&amp;AB.push(this.path(AI.d).attr({fill:&quot;#000&quot;,stroke:&quot;none&quot;,translation:[R,0]}));}AB.scale(AA,AA,0,AF).translate(AG,(AK||16)/2);}return AB;};E.ninja=function(){var R=window.Raphael;if(p.was){window.Raphael=p.is;}else{try{delete window.Raphael;}catch(i){window.Raphael=void (0);}}return R;};E.el=K.prototype;return E;})();
\ No newline at end of file</diff>
      <filename>raphael-min.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 /*
- * Raphael 1.0 - JavaScript Vector Library
+ * Raphael 1.0 RC1 - JavaScript Vector Library
  *
  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
@@ -21,7 +21,7 @@ window.Raphael = (function () {
         availableAttrs = {cx: 0, cy: 0, fill: &quot;#fff&quot;, &quot;fill-opacity&quot;: 1, font: '10px &quot;Arial&quot;', &quot;font-family&quot;: '&quot;Arial&quot;', &quot;font-size&quot;: &quot;10&quot;, &quot;font-style&quot;: &quot;normal&quot;, &quot;font-weight&quot;: 400, gradient: 0, height: 0, href: &quot;http://raphaeljs.com/&quot;, opacity: 1, path: &quot;M0,0&quot;, r: 0, rotation: 0, rx: 0, ry: 0, scale: &quot;1 1&quot;, src: &quot;&quot;, stroke: &quot;#000&quot;, &quot;stroke-dasharray&quot;: &quot;&quot;, &quot;stroke-linecap&quot;: &quot;butt&quot;, &quot;stroke-linejoin&quot;: &quot;butt&quot;, &quot;stroke-miterlimit&quot;: 0, &quot;stroke-opacity&quot;: 1, &quot;stroke-width&quot;: 1, target: &quot;_blank&quot;, &quot;text-anchor&quot;: &quot;middle&quot;, title: &quot;Raphael&quot;, translation: &quot;0 0&quot;, width: 0, x: 0, y: 0},
         availableAnimAttrs = {cx: &quot;number&quot;, cy: &quot;number&quot;, fill: &quot;colour&quot;, &quot;fill-opacity&quot;: &quot;number&quot;, &quot;font-size&quot;: &quot;number&quot;, height: &quot;number&quot;, opacity: &quot;number&quot;, path: &quot;path&quot;, r: &quot;number&quot;, rotation: &quot;csv&quot;, rx: &quot;number&quot;, ry: &quot;number&quot;, scale: &quot;csv&quot;, stroke: &quot;colour&quot;, &quot;stroke-opacity&quot;: &quot;number&quot;, &quot;stroke-width&quot;: &quot;number&quot;, translation: &quot;csv&quot;, width: &quot;number&quot;, x: &quot;number&quot;, y: &quot;number&quot;},
         events = [&quot;click&quot;, &quot;dblclick&quot;, &quot;mousedown&quot;, &quot;mousemove&quot;, &quot;mouseout&quot;, &quot;mouseover&quot;, &quot;mouseup&quot;];
-    R.version = &quot;1.0&quot;;
+    R.version = &quot;1.0 RC1&quot;;
     R.type = (window.SVGAngle || document.implementation.hasFeature(&quot;http://www.w3.org/TR/SVG11/feature#BasicStructure&quot;, &quot;1.1&quot;) ? &quot;SVG&quot; : &quot;VML&quot;);
     R.svg = !(R.vml = R.type == &quot;VML&quot;);
     R.idGenerator = 0;</diff>
      <filename>raphael.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>459d0981e1bb783cc41ca8f99e96873dd8efa5cb</id>
    </parent>
  </parents>
  <author>
    <name>Dmitry Baranovskiy</name>
    <email>dbaranovskiy@Fresh-Air.sydney.atlassian.com</email>
  </author>
  <url>http://github.com/DmitryBaranovskiy/raphael/commit/90bf132b4651b5de5f64ee6d48e5fcdf260b4042</url>
  <id>90bf132b4651b5de5f64ee6d48e5fcdf260b4042</id>
  <committed-date>2009-09-04T00:24:54-07:00</committed-date>
  <authored-date>2009-09-04T00:24:54-07:00</authored-date>
  <message>Change version to 1.0 RC1</message>
  <tree>187fdc25a0cacaf805ff8ca17a0249900b5bfee7</tree>
  <committer>
    <name>Dmitry Baranovskiy</name>
    <email>dbaranovskiy@Fresh-Air.sydney.atlassian.com</email>
  </committer>
</commit>
