X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=raphael-min.js;h=791d79092e330d2a88a9627cb2ac327e747c0900;hb=9dbae9c67d7949b0689b67e2e1f28a11114b1ede;hp=a2c66e0414752a06511a982f3cdcb8e24f13ebce;hpb=88a59f8b0a35ccb55f868aec11500f19fa369abe;p=raphael diff --git a/raphael-min.js b/raphael-min.js index a2c66e0..791d790 100644 --- a/raphael-min.js +++ b/raphael-min.js @@ -1,8 +1,8 @@ -/* - * Raphaël 2.0.0 - JavaScript Vector Library - * - * Copyright (c) 2011 Dmitry Baranovskiy (http://raphaeljs.com) - * Copyright (c) 2011 Sencha Labs (http://sencha.com) - * Licensed under the MIT (http://raphaeljs.com/license.html) license. - */ -(function(){function dd(a,c,d,e,f){d=U(d);var h,i,j,l=[],m,n,o,p=a.ms,q={},r={},s={};if(e)for(u=0,w=cZ.length;ue*a.top){d=a.percents[u],n=a.percents[u-1]||0,p=p/a.top*(d-n),m=a.percents[u+1],h=a.anim[d];break}e&&c.attr(a.anim[a.percents[u]])}if(!!h){if(!i){for(attr in h)if(h[k](attr))if(Z[k](attr)||c.paper.customAttributes[k](attr)){q[attr]=c.attr(attr),q[attr]==null&&(q[attr]=Y[attr]),r[attr]=h[attr];switch(Z[attr]){case G:s[attr]=(r[attr]-q[attr])/p;break;case"colour":q[attr]=b.getRGB(q[attr]);var x=b.getRGB(r[attr]);s[attr]={r:(x.r-q[attr].r)/p,g:(x.g-q[attr].g)/p,b:(x.b-q[attr].b)/p};break;case"path":var y=bH(q[attr],r[attr]),z=y[1];q[attr]=y[0],s[attr]=[];for(u=0,w=q[attr].length;ud)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cR(){return this.x+u+this.y+u+this.width+"×"+this.height}function cQ(){return this.x+u+this.y}function bU(a,b,c,d,e,f){a!=null?(this.a=a,this.b=b,this.c=c,this.d=d,this.e=e,this.f=f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bx(a,b){var c=l.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top-9999em",c.onload=function(){b.call(this),this.onload=null,l.doc.body.removeChild(this)},c.onerror=function(){l.doc.body.removeChild(this)},l.doc.body.appendChild(c),c.src=a}function bw(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),g=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[k](g))return c?c(h[g]):h[g];i.length>=1e3&&delete h[i.shift()],i.push(g),h[g]=a[q](b,e);return c?c(h[g]):h[g]}return d}function b(a){if(b.is(a,"function"))return d?a():dh.on("DOMload",a);if(b.is(a,I)){var c=a,e=cq[q](b,c.splice(0,3+b.is(c[0],G))),f=e.set(),g=0,i=c.length,j;for(;g',bo=bn.firstChild,bo.style.behavior="url(#default#VML)";if(!bo||typeof bo.adj!="object")return b.type=t;bn=null}b.svg=!(b.vml=b.type=="VML"),o=n.prototype=b.prototype,o.customAttributes={},b._id=0,b._oid=0,b.fn={},b.is=function(a,b){b=z.call(b);if(b=="finite")return!Q[k](+a);return b=="null"&&a===null||b==typeof a||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||L.call(a).slice(8,-1).toLowerCase()==b},b.angle=function(a,c,d,e,f,g){if(f==null){var h=a-d,i=c-e;if(!h&&!i)return 0;return(180+A.atan2(-i,-h)*180/F+360)%360}return b.angle(a,c,f,g)-b.angle(d,e,f,g)},b.rad=function(a){return a%360*F/180},b.deg=function(a){return a*180/F%360},b.snapTo=function(a,c,d){d=b.is(d,"finite")?d:10;if(b.is(a,I)){var e=a.length;while(e--)if(D(a[e]-c)<=d)return a[e]}else{a=+a;var f=c%a;if(fa-d)return c-f+a}return c};var bp=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=A.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});b.setWindow=function(a){dh("setWindow",b,l.win,a),l.win=a,l.doc=l.win.document,cE&&cE(l.win)};var bq=function(a){if(b.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bq=bw(function(a){try{d.style.color=v(a).replace(c,t);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var h=l.doc.createElement("i");h.title="Raphaël Colour Picker",h.style.display="none",l.doc.body.appendChild(h),bq=bw(function(a){h.style.color=a;return l.doc.defaultView.getComputedStyle(h,t).getPropertyValue("color")})}return bq(a)},br=function(){return"hsb("+[this.h,this.s,this.b]+")"},bs=function(){return"hsl("+[this.h,this.s,this.l]+")"},bt=function(){return this.hex},bu=function(a,c,d){c==null&&b.is(a,"object")&&"r"in a&&"g"in a&&"b"in a&&(d=a.b,c=a.g,a=a.r);if(c==null&&b.is(a,H)){var e=b.getRGB(a);a=e.r,c=e.g,d=e.b}if(a>1||c>1||d>1)a/=255,c/=255,d/=255;return[a,c,d]},bv=function(a,c,d,e){a*=255,c*=255,d*=255;var f={r:a,g:c,b:d,hex:b.rgb(a,c,d),toString:bt};b.is(e,"finite")&&(f.opacity=e);return f};b.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-D(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bv(e,f,g,d)},b.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-D(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bv(e,f,g,d)},b.rgb2hsb=function(a,b,c){c=bu(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=B(a,b,c),g=f-C(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=d%6*60,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:br}},b.rgb2hsl=function(a,b,c){c=bu(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=B(a,b,c),h=C(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=d%6*60,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bs}},b._path2string=function(){return this.join(",").replace(ba,"$1")},b.getRGB=bw(function(a){if(!a||!!((a=v(a)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1};if(a=="none")return{r:-1,g:-1,b:-1,hex:"none"};!_[k](a.toLowerCase().substring(0,2))&&a.charAt()!="#"&&(a=bq(a));var c,d,e,f,g,h,i,j=a.match(P);if(j){j[2]&&(f=V(j[2].substring(5),16),e=V(j[2].substring(3,5),16),d=V(j[2].substring(1,3),16)),j[3]&&(f=V((h=j[3].charAt(3))+h,16),e=V((h=j[3].charAt(2))+h,16),d=V((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split($),d=U(i[0]),i[0].slice(-1)=="%"&&(d*=2.55),e=U(i[1]),i[1].slice(-1)=="%"&&(e*=2.55),f=U(i[2]),i[2].slice(-1)=="%"&&(f*=2.55),j[1].toLowerCase().slice(0,4)=="rgba"&&(g=U(i[3])),i[3]&&i[3].slice(-1)=="%"&&(g/=100));if(j[5]){i=j[5].split($),d=U(i[0]),i[0].slice(-1)=="%"&&(d*=2.55),e=U(i[1]),i[1].slice(-1)=="%"&&(e*=2.55),f=U(i[2]),i[2].slice(-1)=="%"&&(f*=2.55),(i[0].slice(-3)=="deg"||i[0].slice(-1)=="°")&&(d/=360),j[1].toLowerCase().slice(0,4)=="hsba"&&(g=U(i[3])),i[3]&&i[3].slice(-1)=="%"&&(g/=100);return b.hsb2rgb(d,e,f,g)}if(j[6]){i=j[6].split($),d=U(i[0]),i[0].slice(-1)=="%"&&(d*=2.55),e=U(i[1]),i[1].slice(-1)=="%"&&(e*=2.55),f=U(i[2]),i[2].slice(-1)=="%"&&(f*=2.55),(i[0].slice(-3)=="deg"||i[0].slice(-1)=="°")&&(d/=360),j[1].toLowerCase().slice(0,4)=="hsla"&&(g=U(i[3])),i[3]&&i[3].slice(-1)=="%"&&(g/=100);return b.hsl2rgb(d,e,f,g)}j={r:d,g:e,b:f},j.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),b.is(g,"finite")&&(j.opacity=g);return j}return{r:-1,g:-1,b:-1,hex:"none",error:1}},b),b.hsb=bw(function(a,c,d){return b.hsb2rgb(a,c,d).hex}),b.hsl=bw(function(a,c,d){return b.hsl2rgb(a,c,d).hex}),b.rgb=bw(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),b.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},b.getColor.reset=function(){delete this.start},b.parsePathString=bw(function(a){if(!a)return null;var c={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},d=[];b.is(a,I)&&b.is(a[0],I)&&(d=bz(a)),d.length||v(a).replace(bb,function(a,b,e){var f=[],g=z.call(b);e.replace(bd,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(d.push([b][r](f.splice(0,2))),g="l",b=b=="m"?"l":"L");while(f.length>=c[g]){d.push([b][r](f.splice(0,c[g])));if(!c[g])break}}),d.toString=b._path2string;return d}),b.parseTransformString=bw(function(a){if(!a)return null;var c={r:3,s:4,t:2,m:6},d=[];b.is(a,I)&&b.is(a[0],I)&&(d=bz(a)),d.length||v(a).replace(bc,function(a,b,c){var e=[],f=z.call(b);c.replace(bd,function(a,b){b&&e.push(+b)}),d.push([f][r](e))}),d.toString=b._path2string;return d}),b.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=E(j,3)*a+E(j,2)*3*i*c+j*3*i*i*e+E(i,3)*g,l=E(j,3)*b+E(j,2)*3*i*d+j*3*i*i*f+E(i,3)*h,m=a+2*i*(c-a)+i*i*(e-2*c+a),n=b+2*i*(d-b)+i*i*(f-2*d+b),o=c+2*i*(e-c)+i*i*(g-2*e+c),p=d+2*i*(f-d)+i*i*(h-2*f+d),q=(1-i)*a+i*c,r=(1-i)*b+i*d,s=(1-i)*e+i*g,t=(1-i)*f+i*h,u=90-A.atan2(m-o,n-p)*180/F;(m>o||n1&&(u=A.sqrt(u),c=u*c,d=u*d);var v=c*c,w=d*d,x=(f==g?-1:1)*A.sqrt(D((v*w-v*t*t-w*s*s)/(v*t*t+w*s*s))),y=x*c*t/d+(a+h)/2,z=x*-d*s/c+(b+i)/2,B=A.asin(((b-z)/d).toFixed(9)),C=A.asin(((i-z)/d).toFixed(9));B=aC&&(B=B-F*2),!g&&C>B&&(C=C-F*2)}else B=j[0],C=j[1],y=j[2],z=j[3];var E=C-B;if(D(E)>k){var G=C,H=h,I=i;C=B+k*(g&&C>B?1:-1),h=y+c*A.cos(C),i=z+d*A.sin(C),m=bE(h,i,c,d,e,0,g,H,I,[C,G,y,z])}E=C-B;var J=A.cos(B),K=A.sin(B),L=A.cos(C),M=A.sin(C),N=A.tan(E/4),O=4/3*c*N,P=4/3*d*N,Q=[a,b],R=[a+O*K,b-P*J],S=[h+O*M,i-P*L],T=[h,i];R[0]=2*Q[0]-R[0],R[1]=2*Q[1]-R[1];if(j)return[R,S,T][r](m);m=[R,S,T][r](m).join().split(",");var U=[];for(var V=0,W=m.length;V"1e12"&&(l=.5),D(m)>"1e12"&&(m=.5),l>0&&l<1&&(p=bF(a,b,c,d,e,f,g,h,l),o.push(p.x),n.push(p.y)),m>0&&m<1&&(p=bF(a,b,c,d,e,f,g,h,m),o.push(p.x),n.push(p.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+A.sqrt(j*j-4*i*k))/2/i,m=(-j-A.sqrt(j*j-4*i*k))/2/i,D(l)>"1e12"&&(l=.5),D(m)>"1e12"&&(m=.5),l>0&&l<1&&(p=bF(a,b,c,d,e,f,g,h,l),o.push(p.x),n.push(p.y)),m>0&&m<1&&(p=bF(a,b,c,d,e,f,g,h,m),o.push(p.x),n.push(p.y));return{min:{x:C[q](0,o),y:C[q](0,n)},max:{x:B[q](0,o),y:B[q](0,n)}}}),bH=bw(function(a,b){var c=bB(a),d=b&&bB(b),e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][r](bE[q](0,[b.x,b.y][r](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][r](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][r](bD(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][r](bD(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][r](bC(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][r](bC(b.x,b.y,a[1],b.y));break;case"V":a=["C"][r](bC(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][r](bC(b.x,b.y,b.X,b.Y))}return a},h=function(a,b){if(a[b].length>7){a[b].shift();var e=a[b];while(e.length)a.splice(b++,0,["C"][r](e.splice(0,6)));a.splice(b,1),k=B(c.length,d&&d.length||0)}},i=function(a,b,e,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),e.bx=0,e.by=0,e.x=a[g][1],e.y=a[g][2],k=B(c.length,d&&d.length||0))};for(var j=0,k=B(c.length,d&&d.length||0);j.5)*2-1;E(f-.5,2)+E(g-.5,2)>.25&&(g=A.sqrt(.25-E(f-.5,2))*e+.5)&&g!=.5&&(g=g.toFixed(5)-1e-5*e)}return t}),c=c.split(/\s*\-\s*/);if(d=="linear"){var m=c.shift();m=-U(m);if(isNaN(m))return null;var n=[0,0,A.cos(b.rad(m)),A.sin(b.rad(m))],o=1/(B(D(n[2]),D(n[3]))||1);n[2]*=o,n[3]*=o,n[2]<0&&(n[0]=-n[2],n[2]=0),n[3]<0&&(n[1]=-n[3],n[3]=0)}var p=bI(c);if(!p)return null;a.gradient&&(i.defs.removeChild(a.gradient),delete a.gradient),k=bZ(d+"Gradient",{id:e}),a.gradient=k,bZ(k,d=="radial"?{fx:f,fy:g}:{x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientTransform:a.matrix.invert()}),i.defs.appendChild(k);for(var q=0,r=p.length;q1?w.opacity/100:w.opacity});case"stroke":w=b.getRGB(j),e[T](i,w.hex),i=="stroke"&&w[k]("opacity")&&bZ(e,{"stroke-opacity":w.opacity>1?w.opacity/100:w.opacity}),i=="stroke"&&a._.arrows&&("startString"in a._.arrows&&ce(a,a._.arrows.startString),"endString"in a._.arrows&&ce(a,a._.arrows.endString,1));break;case"gradient":(a.type=="circle"||a.type=="ellipse"||v(j).charAt()!="r")&&cc(a,j);break;case"opacity":f.gradient&&!f[k]("stroke-opacity")&&bZ(e,{"stroke-opacity":j>1?j/100:j});case"fill-opacity":if(f.gradient){x=l.doc.getElementById(e.getAttribute(K).replace(/^url\(#|\)$/g,t)),x&&(y=x.getElementsByTagName("stop"),bZ(y[y.length-1],{"stop-opacity":j}));break};default:i=="font-size"&&(j=V(j,10)+"px");var A=i.replace(/(\-.)/g,function(a){return X.call(a.substring(1))});e.style[A]=j,a._.dirty=1,e[T](i,j)}}ch(a,c)},cg=1.2,ch=function(a,c){if(a.type=="text"&&!!(c[k]("text")||c[k]("font")||c[k]("font-size")||c[k]("x")||c[k]("y"))){var d=a.attrs,e=a.node,f=e.firstChild?V(l.doc.defaultView.getComputedStyle(e.firstChild,t).getPropertyValue("font-size"),10):10;if(c[k]("text")){d.text=c.text;while(e.firstChild)e.removeChild(e.firstChild);var g=v(c.text).split("\n"),h=[],i;for(var j=0,m=g.length;j"));var R=N.getBoundingClientRect();m.W=e.w=(R.right-R.left)/P,m.H=e.h=(R.bottom-R.top)/P,m.paper.canvas.style.display="none",m.X=e.x,m.Y=e.y+m.H/2,("x"in c||"y"in c)&&(m.path.v=b.format("m{0},{1}l{2},{1}",S(e.x*cx),S(e.y*cx),S(e.x*cx)+1));var T=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var V=0,W=T.length;V.25&&(c=A.sqrt(.25-E(b-.5,2))*((c>.5)*2-1)+.5),f=b+u+c);return t}),b=b.split(/\s*\-\s*/);if(e=="linear"){var g=b.shift();g=-U(g);if(isNaN(g))return null}var h=bI(b);if(!h)return null;a=a.shape||a.node;if(h.length){a.removeChild(c),c.on=!0,c.method="none",c.color=h[0].color,c.color2=h[h.length-1].color;var i=[];for(var j=0,k=h.length;j')}}catch(c){cD=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};cE(l.win),cq=function(){var a=bJ[q](0,arguments),c=a.container,d=a.height,e,f=a.width,g=a.x,h=a.y;if(!c)throw new Error("VML container not found.");var i=new n,j=i.canvas=l.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=cx*1e3+u+cx*1e3,i.coordorigin="0 0",i.span=l.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=b.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(l.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),bK.call(i,i,b.fn),i.renderfix=bh;return i},o.clear=function(){dh("clear",this),this.canvas.innerHTML=t,this.span=l.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},o.remove=function(){dh("remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bQ(a);return!0}}var cF=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);navigator.vendor=="Apple Computer, Inc."&&(cF&&cF[1]<4||navigator.platform.slice(0,2)=="iP")||navigator.vendor=="Google Inc."&&cF&&cF[1]<8?o.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:o.safari=bh;var cG=function(){this.returnValue=!1},cH=function(){return this.originalEvent.preventDefault()},cI=function(){this.cancelBubble=!0},cJ=function(){return this.originalEvent.stopPropagation()},cK=function(){if(l.doc.addEventListener)return function(a,b,c,d){var e=s&&y[b]?y[b]:b,f=function(e){if(s&&y[k](b))for(var f=0,g=e.targetTouches&&e.targetTouches.length;f1&&(a=Array.prototype.splice.call(arguments,0,arguments.length));return new de(a)},o.setSize=cp,o.setViewBox=cr,o.top=o.bottom=null,o.raphael=b;var cP=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,h=b.top+(l.win.pageYOffset||e.scrollTop||d.scrollTop)-f,i=b.left+(l.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:h,x:i}};o.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=l.doc.elementFromPoint(a,b);if(l.win.opera&&e.tagName=="svg"){var f=cP(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var h=d.getIntersectionList(g,null);h.length&&(e=h[h.length-1])}if(!e)return null;while(e.parentNode&&e!=d.parentNode&&!e.raphael)e=e.parentNode;e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null;return e},o.getById=function(a){var b=this.bottom;while(b){if(b.id==a)return b;b=b.next}return null},o.forEach=function(a,b){var c=this.bottom;while(c){if(a.call(b,c)===!1)return this;c=c.next}return this},cj.getBBox=function(a){if(this.removed)return{};var b=this._;if(a){if(b.dirty||!b.bboxwt)this.realPath=bl[this.type](this),b.bboxwt=by(this.realPath),b.bboxwt.toString=cR,b.dirty=0;return b.bboxwt}if(b.dirty||b.dirtyT||!b.bbox){if(b.dirty||!this.realPath)b.bboxwt=0,this.realPath=bl[this.type](this);b.bbox=by(bm(this.realPath,this.matrix)),b.bbox.toString=cR,b.dirty=b.dirtyT=0}return b.bbox},cj.clone=function(){if(this.removed)return null;return this.paper[this.type]().attr(this.attr())},cj.glow=function(a){if(this.type=="text")return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:a.opacity||.5,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||bl[this.type](this);f=this.matrix?bm(f,this.matrix):f;for(var g=1;g=j)return p;o=p}if(j==null)return k},cU=function(a,c){return function(d,e,f){d=bH(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;oe){if(c&&!l.start){m=cT(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!a&&!c){m=cT(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=a?n:c?l:b.findDotsAtSegment(g,h,i[1],i[2],i[3],i[4],i[5],i[6],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cV=cU(1),cW=cU(),cX=cU(0,1);b.getTotalLength=cV,b.getPointAtLength=cW,b.getSubpath=function(a,b,c){if(D(this.getTotalLength(a)-c)<1e-6)return cX(a,b).end;var d=cX(a,c,1);return b?cX(d,b).end:d},cj.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cV(this.attrs.path)}},cj.getPointAtLength=function(a){if(this.type=="path")return cW(this.attrs.path,a)},cj.getSubpath=function(a,c){if(this.type=="path")return b.getSubpath(this.attrs.path,a,c)};var cY=b.easing_formulas={linear:function(a){return a},"<":function(a){return E(a,1.7)},">":function(a){return E(a,.48)},"<>":function(a){var b=.48-a/1.04,c=A.sqrt(.1734+b*b),d=c-b,e=E(D(d),1/3)*(d<0?-1:1),f=-c-b,g=E(D(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return E(2,-10*a)*A.sin((a-.075)*2*F/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cY.easeIn=cY["ease-in"]=cY["<"],cY.easeOut=cY["ease-out"]=cY[">"],cY.easeInOut=cY["ease-in-out"]=cY["<>"],cY["back-in"]=cY.backIn,cY["back-out"]=cY.backOut;var cZ=[],c$=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},c_=function(){var a=+(new Date),c=0;for(;cf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bG(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cd(){return this.x+q+this.y+q+this.width+" × "+this.height}function cc(){return this.x+q+this.y}function bQ(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bw(a){var b=[];for(var c=0,d=a.length;d-2>c;c+=2){var e=[{x:+a[c],y:+a[c+1]},{x:+a[c],y:+a[c+1]},{x:+a[c+2],y:+a[c+3]},{x:+a[c+4],y:+a[c+5]}];d-4==c?(e[0]={x:+a[c-2],y:+a[c-1]},e[3]=e[2]):c&&(e[0]={x:+a[c-2],y:+a[c-1]}),b.push(["C",(-e[0].x+6*e[1].x+e[2].x)/6,(-e[0].y+6*e[1].y+e[2].y)/6,(e[1].x+6*e[2].x-e[3].x)/6,(e[1].y+6*e[2].y-e[3].y)/6,e[2].x,e[2].y])}return b}function bv(){return this.hex}function bt(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bs(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bs(a,b){for(var c=0,d=a.length;c',bk=bj.firstChild,bk.style.behavior="url(#default#VML)";if(!bk||typeof bk.adj!="object")return a.type=p;bj=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bl=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bm=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bm=bt(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bm=bt(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bm(b)},bn=function(){return"hsb("+[this.h,this.s,this.b]+")"},bo=function(){return"hsl("+[this.h,this.s,this.l]+")"},bp=function(){return this.hex},bq=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},br=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:bp};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=bp;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return br(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return br(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bq(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bn}},a.rgb2hsl=function(a,b,c){c=bq(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bo}},a._path2string=function(){return this.join(",").replace(X,"$1")};var bu=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bt(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bv};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bv};!W[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bm(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](V),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](V),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](V),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bv},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bv}},a),a.hsb=bt(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bt(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bt(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=bt(function(b){if(!b)return null;var c={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=by(b)),d.length||r(b).replace(Y,function(a,b,e){var f=[],g=b.toLowerCase();e.replace($,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(d.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")d.push([b][n](f));else while(f.length>=c[g]){d.push([b][n](f.splice(0,c[g])));if(!c[g])break}}),d.toString=a._path2string;return d}),a.parseTransformString=bt(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=by(b)),d.length||r(b).replace(Z,function(a,b,c){var e=[],f=v.call(b);c.replace($,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d}),a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bD(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bE(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bE(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bE(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bE(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bG=a._path2curve=bt(function(a,b){var c=bA(a),d=b&&bA(b),e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bD[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bC(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bC(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bB(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bB(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bB(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bB(b.x,b.y,b.X,b.Y))}return a},h=function(a,b){if(a[b].length>7){a[b].shift();var e=a[b];while(e.length)a.splice(b++,0,["C"][n](e.splice(0,6)));a.splice(b,1),k=x(c.length,d&&d.length||0)}},i=function(a,b,e,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),e.bx=0,e.by=0,e.x=a[g][1],e.y=a[g][2],k=x(c.length,d&&d.length||0))};for(var j=0,k=x(c.length,d&&d.length||0);j=j)return p;o=p}if(j==null)return k},cg=function(b,c){return function(d,e,f){d=bG(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;oe){if(c&&!l.start){m=cf(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cf(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},ch=cg(1),ci=cg(),cj=cg(0,1);a.getTotalLength=ch,a.getPointAtLength=ci,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cj(a,b).end;var d=cj(a,c,1);return b?cj(d,b).end:d},b$.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return ch(this.attrs.path)}},b$.getPointAtLength=function(a){if(this.type=="path")return ci(this.attrs.path,a)},b$.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var ck=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};ck.easeIn=ck["ease-in"]=ck["<"],ck.easeOut=ck["ease-out"]=ck[">"],ck.easeInOut=ck["ease-in-out"]=ck["<>"],ck["back-in"]=ck.backIn,ck["back-out"]=ck.backOut;var cl=[],cm=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cn=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cr(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cr(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cl.length&&cm(cn)},co=function(a){return a>255?255:a<0?0:a};b$.animateWith=function(b,c,d,e,f,g){var h=d?a.animation(d,e,f,g):c,i=b.status(c);return this.animate(h).status(h,i*c.ms/h.ms)},b$.onAnimation=function(a){a?eve.on("anim.frame."+this.id,a):eve.unbind("anim.frame."+this.id);return this},cq.prototype.delay=function(a){var b=new cq(this.anim,this.ms);b.times=this.times,b.del=+a||0;return b},cq.prototype.repeat=function(a){var b=new cq(this.anim,this.ms);b.del=this.del,b.times=w.floor(x(a,0))||1;return b},a.animation=function(b,c,d,e){if(b instanceof cq)return b;if(a.is(d,"function")||!d)e=e||d||null,d=null;b=Object(b),c=+c||0;var f={},h,i;for(i in b)b[g](i)&&Q(i)!=i&&Q(i)+"%"!=i&&(h=!0,f[i]=b[i]);if(!h)return new cq(b,c);d&&(f.easing=d),e&&(f.callback=e);return new cq({100:f},c)},b$.animate=function(b,c,d,e){var f=this;if(f.removed){e&&e.call(f);return f}var g=b instanceof cq?b:a.animation(b,c,d,e);cr(g,f,g.percents[0],null,f.attr());return f},b$.setTime=function(a,b){a&&b!=null&&this.status(a,y(b,a.ms)/a.ms);return this},b$.status=function(a,b){var c=[],d=0,e,f;if(b!=null){cr(a,this,-1,y(b,1));return this}e=cl.length;for(;d.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file