New methods getTotalLength and getPointAtLength were added
[raphael] / raphael-min.js
1 /*
2  * Raphael 1.3.0dev - JavaScript Vector Library
3  *
4  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
5  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
6  */
7 window.Raphael=(function(){var a=/[, ]+/,aJ=/^(circle|rect|path|ellipse|text|image)$/,J=document,aq=window,l={was:"Raphael" in aq,is:aq.Raphael},al=function(){if(al.is(arguments[0],"array")){var d=arguments[0],e=w[aR](al,d.splice(0,3+al.is(d[0],aj))),S=e.set();for(var R=0,aV=d[m];R<aV;R++){var E=d[R]||{};aJ.test(E.type)&&S[f](e[E.type]().attr(E));}return S;}return w[aR](al,arguments);},aO=function(){},aG="appendChild",aR="apply",aN="concat",ap="",ak=" ",z="split",D="click dblclick mousedown mousemove mouseout mouseover mouseup"[z](ak),O="hasOwnProperty",av="join",m="length",aT="prototype",aU=String[aT].toLowerCase,Z=Math,g=Z.max,aD=Z.min,aj="number",aw="toString",at=Object[aT][aw],aL={},aH=Z.pow,f="push",aP=/^(?=[\da-f]$)/,c=/^url\(['"]?([^\)]+)['"]?\)$/i,x=/^\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,M=Z.round,v="setAttribute",U=parseFloat,F=parseInt,aI=String[aT].toUpperCase,j={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},X={"clip-rect":"csv",cx:aj,cy:aj,fill:"colour","fill-opacity":aj,"font-size":aj,height:aj,opacity:aj,path:"path",r:aj,rotation:"csv",rx:aj,ry:aj,scale:"csv",stroke:"colour","stroke-opacity":aj,"stroke-width":aj,translation:"csv",width:aj,x:aj,y:aj},aK="replace";al.version="1.3.0dev";al.type=(aq.SVGAngle||J.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");if(al.type=="VML"){var ae=document.createElement("div");ae.innerHTML="<!--[if vml]><br><br><![endif]-->";if(ae.childNodes[m]!=2){return null;}}al.svg=!(al.vml=al.type=="VML");aO[aT]=al[aT];al._id=0;al._oid=0;al.fn={};al.is=function(e,d){d=aU.call(d);return((d=="object"||d=="undefined")&&typeof e==d)||(e==null&&d=="null")||aU.call(at.call(e).slice(8,-1))==d;};al.setWindow=function(d){aq=d;J=aq.document;};var ay=function(e){if(al.vml){var d=/^\s+|\s+$/g;ay=ah(function(R){var S;R=(R+ap)[aK](d,ap);try{var aV=new ActiveXObject("htmlfile");aV.write("<body>");aV.close();S=aV.body;}catch(aX){S=createPopup().document.body;}var i=S.createTextRange();try{S.style.color=R;var aW=i.queryCommandValue("ForeColor");aW=((aW&255)<<16)|(aW&65280)|((aW&16711680)>>>16);return"#"+("000000"+aW[aw](16)).slice(-6);}catch(aX){return"none";}});}else{var E=J.createElement("i");E.title="Rapha\xebl Colour Picker";E.style.display="none";J.body[aG](E);ay=ah(function(i){E.style.color=i;return J.defaultView.getComputedStyle(E,ap).getPropertyValue("color");});}return ay(e);};al.hsb2rgb=ah(function(aY,aW,a2){if(al.is(aY,"object")&&"h" in aY&&"s" in aY&&"b" in aY){a2=aY.b;aW=aY.s;aY=aY.h;}var R,S,a3;if(a2==0){return{r:0,g:0,b:0,hex:"#000"};}if(aY>1||aW>1||a2>1){aY/=255;aW/=255;a2/=255;}var aV=~~(aY*6),aZ=(aY*6)-aV,E=a2*(1-aW),e=a2*(1-(aW*aZ)),a4=a2*(1-(aW*(1-aZ)));R=[a2,e,E,E,a4,a2,a2][aV];S=[a4,a2,a2,e,E,E,a4][aV];a3=[E,E,a4,a2,a2,e,E][aV];R*=255;S*=255;a3*=255;var a0={r:R,g:S,b:a3},d=(~~R)[aw](16),aX=(~~S)[aw](16),a1=(~~a3)[aw](16);d=d[aK](aP,"0");aX=aX[aK](aP,"0");a1=a1[aK](aP,"0");a0.hex="#"+d+aX+a1;return a0;},al);al.rgb2hsb=ah(function(d,e,aW){if(al.is(d,"object")&&"r" in d&&"g" in d&&"b" in d){aW=d.b;e=d.g;d=d.r;}if(al.is(d,"string")){var aY=al.getRGB(d);d=aY.r;e=aY.g;aW=aY.b;}if(d>1||e>1||aW>1){d/=255;e/=255;aW/=255;}var aV=g(d,e,aW),i=aD(d,e,aW),R,E,S=aV;if(i==aV){return{h:0,s:0,b:aV};}else{var aX=(aV-i);E=aX/aV;if(d==aV){R=(e-aW)/aX;}else{if(e==aV){R=2+((aW-d)/aX);}else{R=4+((d-e)/aX);}}R/=6;R<0&&R++;R>1&&R--;}return{h:R,s:E,b:S};},al);var az=/,?([achlmqrstvxz]),?/gi;al._path2string=function(){return this.join(",")[aK](az,"$1");};function ah(E,e,d){function i(){var R=Array[aT].slice.call(arguments,0),aV=R[av]("\u25ba"),S=i.cache=i.cache||{},aW=i.count=i.count||[];if(S[O](aV)){return d?d(S[aV]):S[aV];}aW[m]>=1000&&delete S[aW.shift()];aW[f](aV);S[aV]=E[aR](e,R);return d?d(S[aV]):S[aV];}return i;}al.getRGB=ah(function(d){if(!d||!!((d=d+ap).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}if(d=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!(({hs:1,rg:1})[O](d.substring(0,2))||d.charAt()=="#")&&(d=ay(d));var S,i,E,aX,aY,aV=d.match(x);if(aV){if(aV[2]){aX=F(aV[2].substring(5),16);E=F(aV[2].substring(3,5),16);i=F(aV[2].substring(1,3),16);}if(aV[3]){aX=F((aY=aV[3].charAt(3))+aY,16);E=F((aY=aV[3].charAt(2))+aY,16);i=F((aY=aV[3].charAt(1))+aY,16);}if(aV[4]){aV=aV[4][z](/\s*,\s*/);i=U(aV[0]);E=U(aV[1]);aX=U(aV[2]);}if(aV[5]){aV=aV[5][z](/\s*,\s*/);i=U(aV[0])*2.55;E=U(aV[1])*2.55;aX=U(aV[2])*2.55;}if(aV[6]){aV=aV[6][z](/\s*,\s*/);i=U(aV[0]);E=U(aV[1]);aX=U(aV[2]);return al.hsb2rgb(i,E,aX);}if(aV[7]){aV=aV[7][z](/\s*,\s*/);i=U(aV[0])*2.55;E=U(aV[1])*2.55;aX=U(aV[2])*2.55;return al.hsb2rgb(i,E,aX);}aV={r:i,g:E,b:aX};var e=(~~i)[aw](16),R=(~~E)[aw](16),aW=(~~aX)[aw](16);e=e[aK](aP,"0");R=R[aK](aP,"0");aW=aW[aK](aP,"0");aV.hex="#"+e+R+aW;return aV;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},al);al.getColor=function(e){var i=this.getColor.start=this.getColor.start||{h:0,s:1,b:e||0.75},d=this.hsb2rgb(i.h,i.s,i.b);i.h+=0.075;if(i.h>1){i.h=0;i.s-=0.2;i.s<=0&&(this.getColor.start={h:0,s:1,b:i.b});}return d.hex;};al.getColor.reset=function(){delete this.start;};al.parsePathString=ah(function(d){if(!d){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(al.is(d,"array")&&al.is(d[0],"array")){e=ar(d);}if(!e[m]){(d+ap)[aK](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(R,E,aW){var aV=[],S=aU.call(E);aW[aK](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aY,aX){aX&&aV[f](+aX);});while(aV[m]>=i[S]){e[f]([E][aN](aV.splice(0,i[S])));if(!i[S]){break;}}});}e[aw]=al._path2string;return e;});al.findDotsAtSegment=ah(function(e,d,a8,a6,S,R,aW,aV,a2){var a0=1-a2,aZ=aH(a0,3)*e+aH(a0,2)*3*a2*a8+a0*3*a2*a2*S+aH(a2,3)*aW,aX=aH(a0,3)*d+aH(a0,2)*3*a2*a6+a0*3*a2*a2*R+aH(a2,3)*aV,a4=e+2*a2*(a8-e)+a2*a2*(S-2*a8+e),a3=d+2*a2*(a6-d)+a2*a2*(R-2*a6+d),a7=a8+2*a2*(S-a8)+a2*a2*(aW-2*S+a8),a5=a6+2*a2*(R-a6)+a2*a2*(aV-2*R+a6),a1=(1-a2)*e+a2*a8,aY=(1-a2)*d+a2*a6,E=(1-a2)*S+a2*aW,i=(1-a2)*R+a2*aV;return{x:aZ,y:aX,m:{x:a4,y:a3},n:{x:a7,y:a5},start:{x:a1,y:aY},end:{x:E,y:i}};});var Q=ah(function(a0){if(!a0){return{x:0,y:0,width:0,height:0};}a0=G(a0);var aX=0,aW=0,R=[],e=[],E;for(var S=0,aZ=a0[m];S<aZ;S++){E=a0[S];if(E[0]=="M"){aX=E[1];aW=E[2];R[f](aX);e[f](aW);}else{var aV=ax(aX,aW,E[1],E[2],E[3],E[4],E[5],E[6]);R=R[aN](aV.min.x,aV.max.x);e=e[aN](aV.min.y,aV.max.y);aX=E[5];aW=E[6];}}var d=aD[aR](0,R),aY=aD[aR](0,e);return{x:d,y:aY,width:g[aR](0,R)-d,height:g[aR](0,e)-aY};}),ar=function(aV){var E=[];if(!al.is(aV,"array")||!al.is(aV&&aV[0],"array")){aV=al.parsePathString(aV);}for(var e=0,R=aV[m];e<R;e++){E[e]=[];for(var d=0,S=aV[e][m];d<S;d++){E[e][d]=aV[e][d];}}E[aw]=al._path2string;return E;},ab=ah(function(R){if(!al.is(R,"array")||!al.is(R&&R[0],"array")){R=al.parsePathString(R);}var aZ=[],a1=0,a0=0,a4=0,a3=0,E=0;if(R[0][0]=="M"){a1=R[0][1];a0=R[0][2];a4=a1;a3=a0;E++;aZ[f](["M",a1,a0]);}for(var aW=E,a5=R[m];aW<a5;aW++){var d=aZ[aW]=[],a2=R[aW];if(a2[0]!=aU.call(a2[0])){d[0]=aU.call(a2[0]);switch(d[0]){case"a":d[1]=a2[1];d[2]=a2[2];d[3]=a2[3];d[4]=a2[4];d[5]=a2[5];d[6]=+(a2[6]-a1).toFixed(3);d[7]=+(a2[7]-a0).toFixed(3);break;case"v":d[1]=+(a2[1]-a0).toFixed(3);break;case"m":a4=a2[1];a3=a2[2];default:for(var aV=1,aX=a2[m];aV<aX;aV++){d[aV]=+(a2[aV]-((aV%2)?a1:a0)).toFixed(3);}}}else{d=aZ[aW]=[];if(a2[0]=="m"){a4=a2[1]+a1;a3=a2[2]+a0;}for(var S=0,e=a2[m];S<e;S++){aZ[aW][S]=a2[S];}}var aY=aZ[aW][m];switch(aZ[aW][0]){case"z":a1=a4;a0=a3;break;case"h":a1+=+aZ[aW][aY-1];break;case"v":a0+=+aZ[aW][aY-1];break;default:a1+=+aZ[aW][aY-2];a0+=+aZ[aW][aY-1];}}aZ[aw]=al._path2string;return aZ;},0,ar),r=ah(function(R){if(!al.is(R,"array")||!al.is(R&&R[0],"array")){R=al.parsePathString(R);}var aY=[],a0=0,aZ=0,a3=0,a2=0,E=0;if(R[0][0]=="M"){a0=+R[0][1];aZ=+R[0][2];a3=a0;a2=aZ;E++;aY[0]=["M",a0,aZ];}for(var aW=E,a4=R[m];aW<a4;aW++){var d=aY[aW]=[],a1=R[aW];if(a1[0]!=aI.call(a1[0])){d[0]=aI.call(a1[0]);switch(d[0]){case"A":d[1]=a1[1];d[2]=a1[2];d[3]=a1[3];d[4]=a1[4];d[5]=a1[5];d[6]=+(a1[6]+a0);d[7]=+(a1[7]+aZ);break;case"V":d[1]=+a1[1]+aZ;break;case"H":d[1]=+a1[1]+a0;break;case"M":a3=+a1[1]+a0;a2=+a1[2]+aZ;default:for(var aV=1,aX=a1[m];aV<aX;aV++){d[aV]=+a1[aV]+((aV%2)?a0:aZ);}}}else{for(var S=0,e=a1[m];S<e;S++){aY[aW][S]=a1[S];}}switch(d[0]){case"Z":a0=a3;aZ=a2;break;case"H":a0=d[1];break;case"V":aZ=d[1];break;default:a0=aY[aW][aY[aW][m]-2];aZ=aY[aW][aY[aW][m]-1];}}aY[aw]=al._path2string;return aY;},null,ar),aS=function(e,E,d,i){return[e,E,d,i,d,i];},aF=function(e,E,aV,R,d,i){var S=1/3,aW=2/3;return[S*e+aW*aV,S*E+aW*R,S*d+aW*aV,S*i+aW*R,d,i];},I=function(a4,by,bd,bb,a5,aZ,S,a3,bx,a6){var R=Z.PI,ba=R*120/180,d=R/180*(+a5||0),bh=[],be,bu=ah(function(bz,bC,i){var bB=bz*Z.cos(i)-bC*Z.sin(i),bA=bz*Z.sin(i)+bC*Z.cos(i);return{x:bB,y:bA};});if(!a6){be=bu(a4,by,-d);a4=be.x;by=be.y;be=bu(a3,bx,-d);a3=be.x;bx=be.y;var e=Z.cos(R/180*a5),a1=Z.sin(R/180*a5),bj=(a4-a3)/2,bi=(by-bx)/2;bd=g(bd,Z.abs(bj));bb=g(bb,Z.abs(bi));var E=bd*bd,bm=bb*bb,bo=(aZ==S?-1:1)*Z.sqrt(Z.abs((E*bm-E*bi*bi-bm*bj*bj)/(E*bi*bi+bm*bj*bj))),a8=bo*bd*bi/bb+(a4+a3)/2,a7=bo*-bb*bj/bd+(by+bx)/2,aY=Z.asin(((by-a7)/bb).toFixed(7)),aX=Z.asin(((bx-a7)/bb).toFixed(7));aY=a4<a8?R-aY:aY;aX=a3<a8?R-aX:aX;aY<0&&(aY=R*2+aY);aX<0&&(aX=R*2+aX);if(S&&aY>aX){aY=aY-R*2;}if(!S&&aX>aY){aX=aX-R*2;}}else{aY=a6[0];aX=a6[1];a8=a6[2];a7=a6[3];}var a2=aX-aY;if(Z.abs(a2)>ba){var a9=aX,bc=a3,a0=bx;aX=aY+ba*(S&&aX>aY?1:-1);a3=a8+bd*Z.cos(aX);bx=a7+bb*Z.sin(aX);bh=I(a3,bx,bd,bb,a5,0,S,bc,a0,[aX,a9,a8,a7]);}a2=aX-aY;var aW=Z.cos(aY),bw=Z.sin(aY),aV=Z.cos(aX),bv=Z.sin(aX),bk=Z.tan(a2/4),bn=4/3*bd*bk,bl=4/3*bb*bk,bt=[a4,by],bs=[a4+bn*bw,by-bl*aW],br=[a3+bn*bv,bx-bl*aV],bp=[a3,bx];bs[0]=2*bt[0]-bs[0];bs[1]=2*bt[1]-bs[1];if(a6){return[bs,br,bp][aN](bh);}else{bh=[bs,br,bp][aN](bh)[av]()[z](",");var bf=[];for(var bq=0,bg=bh[m];bq<bg;bq++){bf[bq]=bq%2?bu(bh[bq-1],bh[bq],d).y:bu(bh[bq],bh[bq+1],d).x;}return bf;}},K=function(e,d,E,i,aX,aW,aV,S,aY){var R=1-aY;return{x:aH(R,3)*e+aH(R,2)*3*aY*E+R*3*aY*aY*aX+aH(aY,3)*aV,y:aH(R,3)*d+aH(R,2)*3*aY*i+R*3*aY*aY*aW+aH(aY,3)*S};},ax=ah(function(i,d,R,E,a4,a3,a0,aX){var a2=(a4-2*R+i)-(a0-2*a4+R),aZ=2*(R-i)-2*(a4-R),aW=i-R,aV=(-aZ+Z.sqrt(aZ*aZ-4*a2*aW))/2/a2,S=(-aZ-Z.sqrt(aZ*aZ-4*a2*aW))/2/a2,aY=[d,aX],a1=[i,a0],e;Z.abs(aV)>1000000000000&&(aV=0.5);Z.abs(S)>1000000000000&&(S=0.5);if(aV>0&&aV<1){e=K(i,d,R,E,a4,a3,a0,aX,aV);a1[f](e.x);aY[f](e.y);}if(S>0&&S<1){e=K(i,d,R,E,a4,a3,a0,aX,S);a1[f](e.x);aY[f](e.y);}a2=(a3-2*E+d)-(aX-2*a3+E);aZ=2*(E-d)-2*(a3-E);aW=d-E;aV=(-aZ+Z.sqrt(aZ*aZ-4*a2*aW))/2/a2;S=(-aZ-Z.sqrt(aZ*aZ-4*a2*aW))/2/a2;Z.abs(aV)>1000000000000&&(aV=0.5);Z.abs(S)>1000000000000&&(S=0.5);if(aV>0&&aV<1){e=K(i,d,R,E,a4,a3,a0,aX,aV);a1[f](e.x);aY[f](e.y);}if(S>0&&S<1){e=K(i,d,R,E,a4,a3,a0,aX,S);a1[f](e.x);aY[f](e.y);}return{min:{x:aD[aR](0,a1),y:aD[aR](0,aY)},max:{x:g[aR](0,a1),y:g[aR](0,aY)}};}),G=ah(function(a4,aZ){var R=r(a4),a0=aZ&&r(aZ),a1={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},d={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aV=function(a5,a6){var i,a7;if(!a5){return["C",a6.x,a6.y,a6.x,a6.y,a6.x,a6.y];}!(a5[0] in {T:1,Q:1})&&(a6.qx=a6.qy=null);switch(a5[0]){case"M":a6.X=a5[1];a6.Y=a5[2];break;case"A":a5=["C"][aN](I[aR](0,[a6.x,a6.y][aN](a5.slice(1))));break;case"S":i=a6.x+(a6.x-(a6.bx||a6.x));a7=a6.y+(a6.y-(a6.by||a6.y));a5=["C",i,a7][aN](a5.slice(1));break;case"T":a6.qx=a6.x+(a6.x-(a6.qx||a6.x));a6.qy=a6.y+(a6.y-(a6.qy||a6.y));a5=["C"][aN](aF(a6.x,a6.y,a6.qx,a6.qy,a5[1],a5[2]));break;case"Q":a6.qx=a5[1];a6.qy=a5[2];a5=["C"][aN](aF(a6.x,a6.y,a5[1],a5[2],a5[3],a5[4]));break;case"L":a5=["C"][aN](aS(a6.x,a6.y,a5[1],a5[2]));break;case"H":a5=["C"][aN](aS(a6.x,a6.y,a5[1],a6.y));break;case"V":a5=["C"][aN](aS(a6.x,a6.y,a6.x,a5[1]));break;case"Z":a5=["C"][aN](aS(a6.x,a6.y,a6.X,a6.Y));break;}return a5;},e=function(a5,a6){if(a5[a6][m]>7){a5[a6].shift();var a7=a5[a6];while(a7[m]){a5.splice(a6++,0,["C"][aN](a7.splice(0,6)));}a5.splice(a6,1);a2=g(R[m],a0&&a0[m]||0);}},E=function(a9,a8,a6,a5,a7){if(a9&&a8&&a9[a7][0]=="M"&&a8[a7][0]!="M"){a8.splice(a7,0,["M",a5.x,a5.y]);a6.bx=0;a6.by=0;a6.x=a9[a7][1];a6.y=a9[a7][2];a2=g(R[m],a0&&a0[m]||0);}};for(var aX=0,a2=g(R[m],a0&&a0[m]||0);aX<a2;aX++){R[aX]=aV(R[aX],a1);e(R,aX);a0&&(a0[aX]=aV(a0[aX],d));a0&&e(a0,aX);E(R,a0,a1,d,aX);E(a0,R,d,a1,aX);var aW=R[aX],a3=a0&&a0[aX],S=aW[m],aY=a0&&a3[m];a1.x=aW[S-2];a1.y=aW[S-1];a1.bx=U(aW[S-4])||a1.x;a1.by=U(aW[S-3])||a1.y;d.bx=a0&&(U(a3[aY-4])||d.x);d.by=a0&&(U(a3[aY-3])||d.y);d.x=a0&&a3[aY-2];d.y=a0&&a3[aY-1];}return a0?[R,a0]:R;},null,ar),p=ah(function(aZ){var aY=[];for(var aV=0,a0=aZ[m];aV<a0;aV++){var e={},aX=aZ[aV].match(/^([^:]*):?([\d\.]*)/);e.color=al.getRGB(aX[1]);if(e.color.error){return null;}e.color=e.color.hex;aX[2]&&(e.offset=aX[2]+"%");aY[f](e);}for(var aV=1,a0=aY[m]-1;aV<a0;aV++){if(!aY[aV].offset){var E=U(aY[aV-1].offset||0),R=0;for(var S=aV+1;S<a0;S++){if(aY[S].offset){R=aY[S].offset;break;}}if(!R){R=100;S=a0;}R=U(R);var aW=(R-E)/(S-aV+1);for(;aV<S;aV++){E+=aW;aY[aV].offset=E+"%";}}}return aY;}),am=function(){var i,e,R,E,d;if(al.is(arguments[0],"string")||al.is(arguments[0],"object")){if(al.is(arguments[0],"string")){i=J.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(al.is(arguments[0],aj)&&arguments[m]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},aB=function(d,i){var e=this;for(var E in i){if(i[O](E)&&!(E in d)){switch(typeof i[E]){case"function":(function(R){d[E]=d===e?R:function(){return R[aR](e,arguments);};})(i[E]);break;case"object":d[E]=d[E]||{};aB.call(this,d[E],i[E]);break;default:d[E]=i[E];break;}}}},ai=function(d,e){d==e.top&&(e.top=d.prev);d==e.bottom&&(e.bottom=d.next);d.next&&(d.next.prev=d.prev);d.prev&&(d.prev.next=d.next);},W=function(d,e){if(e.top===d){return;}ai(d,e);d.next=null;d.prev=e.top;e.top.next=d;e.top=d;},k=function(d,e){if(e.bottom===d){return;}ai(d,e);d.next=e.bottom;d.prev=null;e.bottom.prev=d;e.bottom=d;},A=function(e,d,i){ai(e,i);d==i.top&&(i.top=e);d.next&&(d.next.prev=e);e.next=d.next;e.prev=d;d.next=e;},an=function(e,d,i){ai(e,i);d==i.bottom&&(i.bottom=e);d.prev&&(d.prev.next=e);e.prev=d.prev;d.prev=e;e.next=d;},s=function(d){return function(){throw new Error("Rapha\xebl: you are calling to method \u201c"+d+"\u201d of removed object");};},ao=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(al.svg){aO[aT].svgns="http://www.w3.org/2000/svg";aO[aT].xlink="http://www.w3.org/1999/xlink";var M=function(d){return +d+(~~d===d)*0.5;},T=function(S){for(var e=0,E=S[m];e<E;e++){if(aU.call(S[e][0])!="a"){for(var d=1,R=S[e][m];d<R;d++){S[e][d]=M(S[e][d]);}}else{S[e][6]=M(S[e][6]);S[e][7]=M(S[e][7]);}}return S;},aE=function(i,d){if(d){for(var e in d){if(d[O](e)){i[v](e,d[e]);}}}else{return J.createElementNS(aO[aT].svgns,i);}};al[aw]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version;};var q=function(d,E){var e=aE("path");E.canvas&&E.canvas[aG](e);var i=new au(e,E);i.type="path";Y(i,{fill:"none",stroke:"#000",path:d});return i;};var b=function(E,a2,d){var aZ="linear",aW=0.5,S=0.5,a4=E.style;a2=(a2+ap)[aK](ao,function(a6,i,a7){aZ="radial";if(i&&a7){aW=U(i);S=U(a7);var a5=((S>0.5)*2-1);aH(aW-0.5,2)+aH(S-0.5,2)>0.25&&(S=Z.sqrt(0.25-aH(aW-0.5,2))*a5+0.5)&&S!=0.5&&(S=S.toFixed(5)-0.00001*a5);}return ap;});a2=a2[z](/\s*\-\s*/);if(aZ=="linear"){var aV=a2.shift();aV=-U(aV);if(isNaN(aV)){return null;}var R=[0,0,Z.cos(aV*Z.PI/180),Z.sin(aV*Z.PI/180)],a1=1/(g(Z.abs(R[2]),Z.abs(R[3]))||1);R[2]*=a1;R[3]*=a1;if(R[2]<0){R[0]=-R[2];R[2]=0;}if(R[3]<0){R[1]=-R[3];R[3]=0;}}var aY=p(a2);if(!aY){return null;}var e=aE(aZ+"Gradient");e.id="r"+(al._id++)[aw](36);aE(e,aZ=="radial"?{fx:aW,fy:S}:{x1:R[0],y1:R[1],x2:R[2],y2:R[3]});d.defs[aG](e);for(var aX=0,a3=aY[m];aX<a3;aX++){var a0=aE("stop");aE(a0,{offset:aY[aX].offset?aY[aX].offset:!aX?"0%":"100%","stop-color":aY[aX].color||"#fff"});e[aG](a0);}aE(E,{fill:"url(#"+e.id+")",opacity:1,"fill-opacity":1});a4.fill=ap;a4.opacity=1;a4.fillOpacity=1;return 1;};var L=function(e){var d=e.getBBox();aE(e.pattern,{patternTransform:al.format("translate({0},{1})",d.x,d.y)});};var Y=function(a1,ba){var a4={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},a6=a1.node,a2=a1.attrs,aY=a1.rotate(),S=function(bh,bg){bg=a4[aU.call(bg)];if(bg){var be=bh.attrs["stroke-width"]||"1",bc={round:be,square:be,butt:0}[bh.attrs["stroke-linecap"]||ba["stroke-linecap"]]||0,bf=[];var bd=bg[m];while(bd--){bf[bd]=bg[bd]*be+((bd%2)?1:-1)*bc;}aE(a6,{"stroke-dasharray":bf[av](",")});}};ba[O]("rotation")&&(aY=ba.rotation);var aX=(aY+ap)[z](a);if(!(aX.length-1)){aX=null;}else{aX[1]=+aX[1];aX[2]=+aX[2];}U(aY)&&a1.rotate(0,true);for(var a5 in ba){if(ba[O](a5)){if(!j[O](a5)){continue;}var a3=ba[a5];a2[a5]=a3;switch(a5){case"rotation":a1.rotate(a3,true);break;case"href":case"title":case"target":var a8=a6.parentNode;if(aU.call(a8.tagName)!="a"){var E=aE("a");a8.insertBefore(E,a6);E[aG](a6);a8=E;}a8.setAttributeNS(a1.Paper[aT].xlink,a5,a3);break;case"cursor":a6.style.cursor=a3;break;case"clip-rect":var e=(a3+ap)[z](a);if(e[m]==4){a1.clip&&a1.clip.parentNode.parentNode.removeChild(a1.clip.parentNode);var i=aE("clipPath"),a7=aE("rect");i.id="r"+(al._id++)[aw](36);aE(a7,{x:e[0],y:e[1],width:e[2],height:e[3]});i[aG](a7);a1.paper.defs[aG](i);aE(a6,{"clip-path":"url(#"+i.id+")"});a1.clip=a7;}if(!a3){var a9=J.getElementById(a6.getAttribute("clip-path")[aK](/(^url\(#|\)$)/g,ap));a9&&a9.parentNode.removeChild(a9);aE(a6,{"clip-path":ap});delete a1.clip;}break;case"path":if(a3&&a1.type=="path"){a2.path=T(r(a3));aE(a6,{d:a2.path});}break;case"width":a6[v](a5,a3);if(a2.fx){a5="x";a3=a2.x;}else{break;}case"x":if(a2.fx){a3=-a2.x-(a2.width||0);}case"rx":if(a5=="rx"&&a1.type=="rect"){break;}case"cx":aX&&(a5=="x"||a5=="cx")&&(aX[1]+=a3-a2[a5]);a6[v](a5,M(a3));a1.pattern&&L(a1);break;case"height":a6[v](a5,a3);if(a2.fy){a5="y";a3=a2.y;}else{break;}case"y":if(a2.fy){a3=-a2.y-(a2.height||0);}case"ry":if(a5=="ry"&&a1.type=="rect"){break;}case"cy":aX&&(a5=="y"||a5=="cy")&&(aX[2]+=a3-a2[a5]);a6[v](a5,M(a3));a1.pattern&&L(a1);break;case"r":if(a1.type=="rect"){aE(a6,{rx:a3,ry:a3});}else{a6[v](a5,a3);}break;case"src":if(a1.type=="image"){a6.setAttributeNS(a1.paper.xlink,"href",a3);}break;case"stroke-width":a6.style.strokeWidth=a3;a6[v](a5,a3);if(a2["stroke-dasharray"]){S(a1,a2["stroke-dasharray"]);}break;case"stroke-dasharray":S(a1,a3);break;case"translation":var aV=(a3+ap)[z](a);aV[0]=+aV[0]||0;aV[1]=+aV[1]||0;if(aX){aX[1]+=aV[0];aX[2]+=aV[1];}t.call(a1,aV[0],aV[1]);break;case"scale":var aV=(a3+ap)[z](a);a1.scale(+aV[0]||1,+aV[1]||+aV[0]||1,+aV[2]||null,+aV[3]||null);break;case"fill":var R=(a3+ap).match(c);if(R){var i=aE("pattern"),a0=aE("image");i.id="r"+(al._id++)[aw](36);aE(i,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});aE(a0,{x:0,y:0});a0.setAttributeNS(a1.paper.xlink,"href",R[1]);i[aG](a0);var bb=J.createElement("img");bb.style.cssText="position:absolute;left:-9999em;top-9999em";bb.onload=function(){aE(i,{width:this.offsetWidth,height:this.offsetHeight});aE(a0,{width:this.offsetWidth,height:this.offsetHeight});J.body.removeChild(this);a1.paper.safari();};J.body[aG](bb);bb.src=R[1];a1.paper.defs[aG](i);a6.style.fill="url(#"+i.id+")";aE(a6,{fill:"url(#"+i.id+")"});a1.pattern=i;a1.pattern&&L(a1);break;}if(!al.getRGB(a3).error){delete ba.gradient;delete a2.gradient;!al.is(a2.opacity,"undefined")&&al.is(ba.opacity,"undefined")&&aE(a6,{opacity:a2.opacity});!al.is(a2["fill-opacity"],"undefined")&&al.is(ba["fill-opacity"],"undefined")&&aE(a6,{"fill-opacity":a2["fill-opacity"]});}else{if((({circle:1,ellipse:1})[O](a1.type)||(a3+ap).charAt()!="r")&&b(a6,a3,a1.paper)){a2.gradient=a3;a2.fill="none";break;}}case"stroke":a6[v](a5,al.getRGB(a3).hex);break;case"gradient":(({circle:1,ellipse:1})[O](a1.type)||(a3+ap).charAt()!="r")&&b(a6,a3,a1.paper);break;case"opacity":case"fill-opacity":if(a2.gradient){var d=J.getElementById(a6.getAttribute("fill")[aK](/^url\(#|\)$/g,ap));if(d){var aW=d.getElementsByTagName("stop");aW[aW[m]-1][v]("stop-opacity",a3);}break;}default:a5=="font-size"&&(a3=F(a3,10)+"px");var aZ=a5[aK](/(\-.)/g,function(bc){return aI.call(bc.substring(1));});a6.style[aZ]=a3;a6[v](a5,a3);break;}}}C(a1,ba);if(aX){a1.rotate(aX.join(ak));}else{U(aY)&&a1.rotate(aY,true);}};var h=1.2;var C=function(d,R){if(d.type!="text"||!(R[O]("text")||R[O]("font")||R[O]("font-size")||R[O]("x")||R[O]("y"))){return;}var aY=d.attrs,e=d.node,a0=e.firstChild?F(J.defaultView.getComputedStyle(e.firstChild,ap).getPropertyValue("font-size"),10):10;if(R[O]("text")){aY.text=R.text;while(e.firstChild){e.removeChild(e.firstChild);}var E=(R.text+ap)[z]("\n");for(var S=0,aZ=E[m];S<aZ;S++){if(E[S]){var aW=aE("tspan");S&&aE(aW,{dy:a0*h,x:aY.x});aW[aG](J.createTextNode(E[S]));e[aG](aW);}}}else{var E=e.getElementsByTagName("tspan");for(var S=0,aZ=E[m];S<aZ;S++){S&&aE(E[S],{dy:a0*h,x:aY.x});}}aE(e,{y:aY.y});var aV=d.getBBox(),aX=aY.y-(aV.y+aV.height/2);aX&&isFinite(aX)&&aE(e,{y:aY.y+aX});};var au=function(e,d){var E=0,i=0;this[0]=e;this.id=al._oid++;this.node=e;e.raphael=this;this.paper=d;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null;};au[aT].rotate=function(e,d,E){if(this.removed){return this;}if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][av](ak);}return this._.rt.deg;}var i=this.getBBox();e=(e+ap)[z](a);if(e[m]-1){d=U(e[1]);E=U(e[2]);}e=U(e[0]);if(d!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}(E==null)&&(d=null);this._.rt.cx=d;this._.rt.cy=E;d=d==null?i.x+i.width/2:d;E=E==null?i.y+i.height/2:E;if(this._.rt.deg){this.transformations[0]=al.format("rotate({0} {1} {2})",this._.rt.deg,d,E);this.clip&&aE(this.clip,{transform:al.format("rotate({0} {1} {2})",-this._.rt.deg,d,E)});}else{this.transformations[0]=ap;this.clip&&aE(this.clip,{transform:ap});}aE(this.node,{transform:this.transformations[av](ak)});return this;};au[aT].hide=function(){!this.removed&&(this.node.style.display="none");return this;};au[aT].show=function(){!this.removed&&(this.node.style.display="");return this;};au[aT].remove=function(){if(this.removed){return;}ai(this,this.paper);this.node.parentNode.removeChild(this.node);for(var d in this){delete this[d];}this.removed=true;};au[aT].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return Q(this.attrs.path);}if(this.node.style.display=="none"){this.show();var E=true;}var aW={};try{aW=this.node.getBBox();}catch(S){}finally{aW=aW||{};}if(this.type=="text"){aW={x:aW.x,y:Infinity,width:0,height:0};for(var d=0,R=this.node.getNumberOfChars();d<R;d++){var aV=this.node.getExtentOfChar(d);(aV.y<aW.y)&&(aW.y=aV.y);(aV.y+aV.height-aW.y>aW.height)&&(aW.height=aV.y+aV.height-aW.y);(aV.x+aV.width-aW.x>aW.width)&&(aW.width=aV.x+aV.width-aW.x);}}E&&this.hide();return aW;};au[aT].attr=function(){if(this.removed){return this;}if(arguments[m]==0){var R={};for(var E in this.attrs){if(this.attrs[O](E)){R[E]=this.attrs[E];}}this._.rt.deg&&(R.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(R.scale=this.scale());R.gradient&&R.fill=="none"&&(R.fill=R.gradient)&&delete R.gradient;return R;}if(arguments[m]==1&&al.is(arguments[0],"string")){if(arguments[0]=="translation"){return t.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(arguments[m]==1&&al.is(arguments[0],"array")){var d={};for(var e in arguments[0]){if(arguments[0][O](e)){d[arguments[0][e]]=this.attrs[arguments[0][e]];}}return d;}if(arguments[m]==2){var S={};S[arguments[0]]=arguments[1];Y(this,S);}else{if(arguments[m]==1&&al.is(arguments[0],"object")){Y(this,arguments[0]);}}return this;};au[aT].toFront=function(){if(this.removed){return this;}this.node.parentNode[aG](this.node);var d=this.paper;d.top!=this&&W(this,d);return this;};au[aT].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);k(this,this.paper);var d=this.paper;}return this;};au[aT].insertAfter=function(e){if(this.removed){return this;}var d=this.paper,i=e.node;if(i.nextSibling){i.parentNode.insertBefore(this.node,i.nextSibling);}else{i.parentNode[aG](this.node);}A(this,e,this.paper);return this;};au[aT].insertBefore=function(d){if(this.removed){return this;}var e=d.node;e.parentNode.insertBefore(this.node,e);an(this,d,this.paper);return this;};au[aT].getTotalLength=function(){if(this.type!="path"){return -1;}return this.node.getTotalLength();};au[aT].getPointAtLength=function(e){if(this.type!="path"){return -1;}var d=this.node.getPointAtLength(e);return{x:d.x,y:d.y};};var N=function(e,d,S,R){d=M(d);S=M(S);var E=aE("circle");e.canvas&&e.canvas[aG](E);var i=new au(E,e);i.attrs={cx:d,cy:S,r:R,fill:"none",stroke:"#000"};i.type="circle";aE(E,i.attrs);return i;};var aA=function(i,d,aW,e,S,aV){d=M(d);aW=M(aW);var R=aE("rect");i.canvas&&i.canvas[aG](R);var E=new au(R,i);E.attrs={x:d,y:aW,width:e,height:S,r:aV||0,rx:aV||0,ry:aV||0,fill:"none",stroke:"#000"};E.type="rect";aE(R,E.attrs);return E;};var ag=function(e,d,aV,S,R){d=M(d);aV=M(aV);var E=aE("ellipse");e.canvas&&e.canvas[aG](E);var i=new au(E,e);i.attrs={cx:d,cy:aV,rx:S,ry:R,fill:"none",stroke:"#000"};i.type="ellipse";aE(E,i.attrs);return i;};var o=function(i,aV,d,aW,e,S){var R=aE("image");aE(R,{x:d,y:aW,width:e,height:S,preserveAspectRatio:"none"});R.setAttributeNS(i.xlink,"href",aV);i.canvas&&i.canvas[aG](R);var E=new au(R,i);E.attrs={x:d,y:aW,width:e,height:S,src:aV};E.type="image";return E;};var V=function(e,d,S,R){var E=aE("text");aE(E,{x:d,y:S,"text-anchor":"middle"});e.canvas&&e.canvas[aG](E);var i=new au(E,e);i.attrs={x:d,y:S,"text-anchor":"middle",text:R,font:j.font,stroke:"none",fill:"#000"};i.type="text";Y(i,i.attrs);return i;};var aQ=function(e,d){this.width=e||this.width;this.height=d||this.height;this.canvas[v]("width",this.width);this.canvas[v]("height",this.height);return this;};var w=function(){var E=am[aR](null,arguments),i=E&&E.container,e=E.x,aV=E.y,R=E.width,d=E.height;if(!i){throw new Error("SVG container not found.");}var S=aE("svg");R=R||512;d=d||342;aE(S,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:R,height:d});if(i==1){S.style.cssText="position:absolute;left:"+e+"px;top:"+aV+"px";J.body[aG](S);}else{if(i.firstChild){i.insertBefore(S,i.firstChild);}else{i[aG](S);}}i=new aO;i.width=R;i.height=d;i.canvas=S;aB.call(i,i,al.fn);i.clear();return i;};aO[aT].clear=function(){var d=this.canvas;while(d.firstChild){d.removeChild(d.firstChild);}this.bottom=this.top=null;(this.desc=aE("desc"))[aG](J.createTextNode("Created with Rapha\xebl"));d[aG](this.desc);d[aG](this.defs=aE("defs"));};aO[aT].remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var d in this){this[d]=s(d);}};}if(al.vml){var aC=function(a3){var a0=/[ahqtv]/ig,aV=r;(a3+ap).match(a0)&&(aV=G);a0=/[clmz]/g;if(aV==r&&!(a3+ap).match(a0)){var e={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},R=/([clmz]),?([^clmz]*)/gi,S=/-?[^,\s-]+/g;var aZ=(a3+ap)[aK](R,function(a4,a6,i){var a5=[];i[aK](S,function(a7){a5[f](M(a7));});return e[a6]+a5;});return aZ;}var a1=aV(a3),E,aZ=[],d;for(var aX=0,a2=a1[m];aX<a2;aX++){E=a1[aX];d=aU.call(a1[aX][0]);d=="z"&&(d="x");for(var aW=1,aY=E[m];aW<aY;aW++){d+=M(E[aW])+(aW!=aY-1?",":ap);}aZ[f](d);}return aZ[av](ak);},n=function(E,d,aV,S,a1,a0,aZ,aY){var R={x:0,y:0},aX=0;for(var aW=0;aW<1.01;aW+=0.01){var e=K(E,d,aV,S,a1,a0,aZ,aY,aW);aW&&(aX+=Z.sqrt(aH(R.x-e.x,2)+aH(R.y-e.y,2)));R=e;}return aX;};al[aw]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version;};var q=function(d,S){var E=af("group");E.style.cssText="position:absolute;left:0;top:0;width:"+S.width+"px;height:"+S.height+"px";E.coordsize=S.coordsize;E.coordorigin=S.coordorigin;var i=af("shape"),e=i.style;e.width=S.width+"px";e.height=S.height+"px";i.coordsize=this.coordsize;i.coordorigin=this.coordorigin;E[aG](i);var R=new au(i,E,S);R.isAbsolute=true;R.type="path";R.path=[];R.Path=ap;d&&Y(R,{fill:"none",stroke:"#000",path:d});S.canvas[aG](E);return R;};var Y=function(aY,a3){aY.attrs=aY.attrs||{};var a1=aY.node,a4=aY.attrs,aV=a1.style,E,a8=aY;for(var aW in a3){if(a3[O](aW)){a4[aW]=a3[aW];}}a3.href&&(a1.href=a3.href);a3.title&&(a1.title=a3.title);a3.target&&(a1.target=a3.target);a3.cursor&&(aV.cursor=a3.cursor);if(a3.path&&aY.type=="path"){a4.path=a3.path;a1.path=aC(a4.path);}if(a3.rotation!=null){aY.rotate(a3.rotation,true);}if(a3.translation){E=(a3.translation+ap)[z](a);t.call(aY,E[0],E[1]);if(aY._.rt.cx!=null){aY._.rt.cx+=+E[0];aY._.rt.cy+=+E[1];aY.setBox(aY.attrs,E[0],E[1]);}}if(a3.scale){E=(a3.scale+ap)[z](a);aY.scale(+E[0]||1,+E[1]||+E[0]||1,+E[2]||null,+E[3]||null);}if("clip-rect" in a3){var d=(a3["clip-rect"]+ap)[z](a);if(d[m]==4){d[2]=+d[2]+(+d[0]);d[3]=+d[3]+(+d[1]);var aX=a1.clipRect||J.createElement("div"),a7=aX.style,S=a1.parentNode;a7.clip=al.format("rect({1}px {2}px {3}px {0}px)",d);if(!a1.clipRect){a7.position="absolute";a7.top=0;a7.left=0;a7.width=aY.paper.width+"px";a7.height=aY.paper.height+"px";S.parentNode.insertBefore(aX,S);aX[aG](S);a1.clipRect=aX;}}if(!a3["clip-rect"]){a1.clipRect&&(a1.clipRect.style.clip=ap);}}if(aY.type=="image"&&a3.src){a1.src=a3.src;}if(aY.type=="image"&&a3.opacity){a1.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(a3.opacity*100)+")";aV.filter=(a1.filterMatrix||ap)+(a1.filterOpacity||ap);}a3.font&&(aV.font=a3.font);a3["font-family"]&&(aV.fontFamily='"'+a3["font-family"][z](",")[0][aK](/^['"]+|['"]+$/g,ap)+'"');a3["font-size"]&&(aV.fontSize=a3["font-size"]);a3["font-weight"]&&(aV.fontWeight=a3["font-weight"]);a3["font-style"]&&(aV.fontStyle=a3["font-style"]);if(a3.opacity!=null||a3["stroke-width"]!=null||a3.fill!=null||a3.stroke!=null||a3["stroke-width"]!=null||a3["stroke-opacity"]!=null||a3["fill-opacity"]!=null||a3["stroke-dasharray"]!=null||a3["stroke-miterlimit"]!=null||a3["stroke-linejoin"]!=null||a3["stroke-linecap"]!=null){a1=aY.shape||a1;var a2=(a1.getElementsByTagName("fill")&&a1.getElementsByTagName("fill")[0]),a5=false;!a2&&(a5=a2=af("fill"));if("fill-opacity" in a3||"opacity" in a3){var e=((+a4["fill-opacity"]+1||2)-1)*((+a4.opacity+1||2)-1);e<0&&(e=0);e>1&&(e=1);a2.opacity=e;}a3.fill&&(a2.on=true);if(a2.on==null||a3.fill=="none"){a2.on=false;}if(a2.on&&a3.fill){var i=a3.fill.match(c);if(i){a2.src=i[1];a2.type="tile";}else{a2.color=al.getRGB(a3.fill).hex;a2.src=ap;a2.type="solid";if(al.getRGB(a3.fill).error&&(a8.type in {circle:1,ellipse:1}||(a3.fill+ap).charAt()!="r")&&b(a8,a3.fill)){a4.fill="none";a4.gradient=a3.fill;}}}a5&&a1[aG](a2);var R=(a1.getElementsByTagName("stroke")&&a1.getElementsByTagName("stroke")[0]),a6=false;!R&&(a6=R=af("stroke"));if((a3.stroke&&a3.stroke!="none")||a3["stroke-width"]||a3["stroke-opacity"]!=null||a3["stroke-dasharray"]||a3["stroke-miterlimit"]||a3["stroke-linejoin"]||a3["stroke-linecap"]){R.on=true;}(a3.stroke=="none"||R.on==null||a3.stroke==0||a3["stroke-width"]==0)&&(R.on=false);R.on&&a3.stroke&&(R.color=al.getRGB(a3.stroke).hex);var e=((+a4["stroke-opacity"]+1||2)-1)*((+a4.opacity+1||2)-1),aZ=(U(a3["stroke-width"])||1)*0.75;e<0&&(e=0);e>1&&(e=1);a3["stroke-width"]==null&&(aZ=a4["stroke-width"]);a3["stroke-width"]&&(R.weight=aZ);aZ&&aZ<1&&(e*=aZ)&&(R.weight=1);R.opacity=e;a3["stroke-linejoin"]&&(R.joinstyle=a3["stroke-linejoin"]||"miter");R.miterlimit=a3["stroke-miterlimit"]||8;a3["stroke-linecap"]&&(R.endcap=a3["stroke-linecap"]=="butt"?"flat":a3["stroke-linecap"]=="square"?"square":"round");if(a3["stroke-dasharray"]){var a0={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};R.dashstyle=a0[O](a3["stroke-dasharray"])?a0[a3["stroke-dasharray"]]:ap;}a6&&a1[aG](R);}if(a8.type=="text"){var aV=a8.paper.span.style;a4.font&&(aV.font=a4.font);a4["font-family"]&&(aV.fontFamily=a4["font-family"]);a4["font-size"]&&(aV.fontSize=a4["font-size"]);a4["font-weight"]&&(aV.fontWeight=a4["font-weight"]);a4["font-style"]&&(aV.fontStyle=a4["font-style"]);a8.node.string&&(a8.paper.span.innerHTML=(a8.node.string+ap)[aK](/</g,"&#60;")[aK](/&/g,"&#38;")[aK](/\n/g,"<br>"));a8.W=a4.w=a8.paper.span.offsetWidth;a8.H=a4.h=a8.paper.span.offsetHeight;a8.X=a4.x;a8.Y=a4.y+M(a8.H/2);switch(a4["text-anchor"]){case"start":a8.node.style["v-text-align"]="left";a8.bbx=M(a8.W/2);break;case"end":a8.node.style["v-text-align"]="right";a8.bbx=-M(a8.W/2);break;default:a8.node.style["v-text-align"]="center";break;}}};var b=function(d,aW){d.attrs=d.attrs||{};var aX=d.attrs,aZ=d.node.getElementsByTagName("fill"),S="linear",aV=".5 .5";d.attrs.gradient=aW;aW=(aW+ap)[aK](ao,function(a1,a2,i){S="radial";if(a2&&i){a2=U(a2);i=U(i);aH(a2-0.5,2)+aH(i-0.5,2)>0.25&&(i=Z.sqrt(0.25-aH(a2-0.5,2))*((i>0.5)*2-1)+0.5);aV=a2+ak+i;}return ap;});aW=aW[z](/\s*\-\s*/);if(S=="linear"){var e=aW.shift();e=-U(e);if(isNaN(e)){return null;}}var R=p(aW);if(!R){return null;}d=d.shape||d.node;aZ=aZ[0]||af("fill");if(R[m]){aZ.on=true;aZ.method="none";aZ.type=(S=="radial")?"gradientradial":"gradient";aZ.color=R[0].color;aZ.color2=R[R[m]-1].color;var a0=[];for(var E=0,aY=R[m];E<aY;E++){R[E].offset&&a0[f](R[E].offset+ak+R[E].color);}aZ.colors&&(aZ.colors.value=a0[m]?a0[av](","):"0% "+aZ.color);if(S=="radial"){aZ.focus="100%";aZ.focussize=aV;aZ.focusposition=aV;}else{aZ.angle=(270-e)%360;}}return 1;};var au=function(R,aV,d){var S=0,i=0,e=0,E=1;this[0]=R;this.id=al._oid++;this.node=R;R.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=aV;this.paper=d;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null;};au[aT].rotate=function(e,d,i){if(this.removed){return this;}if(e==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][av](ak);}return this._.rt.deg;}e=(e+ap)[z](a);if(e[m]-1){d=U(e[1]);i=U(e[2]);}e=U(e[0]);if(d!=null){this._.rt.deg=e;}else{this._.rt.deg+=e;}i==null&&(d=null);this._.rt.cx=d;this._.rt.cy=i;this.setBox(this.attrs,d,i);this.Group.style.rotation=this._.rt.deg;return this;};au[aT].setBox=function(a6,e,d){if(this.removed){return this;}var a0=this.Group.style,R=(this.shape&&this.shape.style)||this.node.style;a6=a6||{};for(var a4 in a6){if(a6[O](a4)){this.attrs[a4]=a6[a4];}}e=e||this._.rt.cx;d=d||this._.rt.cy;var a2=this.attrs,aW,aV,aX,a5;switch(this.type){case"circle":aW=a2.cx-a2.r;aV=a2.cy-a2.r;aX=a5=a2.r*2;break;case"ellipse":aW=a2.cx-a2.rx;aV=a2.cy-a2.ry;aX=a2.rx*2;a5=a2.ry*2;break;case"rect":case"image":aW=+a2.x;aV=+a2.y;aX=a2.width||0;a5=a2.height||0;break;case"text":this.textpath.v=["m",M(a2.x),", ",M(a2.y-2),"l",M(a2.x)+1,", ",M(a2.y-2)][av](ap);aW=a2.x-M(this.W/2);aV=a2.y-this.H/2;aX=this.W;a5=this.H;break;case"path":if(!this.attrs.path){aW=0;aV=0;aX=this.paper.width;a5=this.paper.height;}else{var a3=Q(this.attrs.path);aW=a3.x;aV=a3.y;aX=a3.width;a5=a3.height;}break;default:aW=0;aV=0;aX=this.paper.width;a5=this.paper.height;break;}e=(e==null)?aW+aX/2:e;d=(d==null)?aV+a5/2:d;var E=e-this.paper.width/2,aZ=d-this.paper.height/2;if(this.type=="path"||this.type=="text"){(a0.left!=E+"px")&&(a0.left=E+"px");(a0.top!=aZ+"px")&&(a0.top=aZ+"px");this.X=this.type=="text"?aW:-E;this.Y=this.type=="text"?aV:-aZ;this.W=aX;this.H=a5;(R.left!=-E+"px")&&(R.left=-E+"px");(R.top!=-aZ+"px")&&(R.top=-aZ+"px");}else{(a0.left!=E+"px")&&(a0.left=E+"px");(a0.top!=aZ+"px")&&(a0.top=aZ+"px");this.X=aW;this.Y=aV;this.W=aX;this.H=a5;(a0.width!=this.paper.width+"px")&&(a0.width=this.paper.width+"px");(a0.height!=this.paper.height+"px")&&(a0.height=this.paper.height+"px");(R.left!=aW-E+"px")&&(R.left=aW-E+"px");(R.top!=aV-aZ+"px")&&(R.top=aV-aZ+"px");(R.width!=aX+"px")&&(R.width=aX+"px");(R.height!=a5+"px")&&(R.height=a5+"px");var S=(+a6.r||0)/aD(aX,a5);if(this.type=="rect"&&this.arcsize.toFixed(4)!=S.toFixed(4)&&(S||this.arcsize)){var a1=af("roundrect"),a7={},a4=0,aY=this.events&&this.events[m];a1.arcsize=S;a1.raphael=this;this.Group[aG](a1);this.Group.removeChild(this.node);this[0]=this.node=a1;this.arcsize=S;for(var a4 in a2){a7[a4]=a2[a4];}delete a7.scale;this.attr(a7);if(this.events){for(;a4<aY;a4++){this.events[a4].unbind=ac(this.node,this.events[a4].name,this.events[a4].f,this);}}}}};au[aT].hide=function(){!this.removed&&(this.Group.style.display="none");return this;};au[aT].show=function(){!this.removed&&(this.Group.style.display="block");return this;};au[aT].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return Q(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};au[aT].remove=function(){if(this.removed){return;}ai(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var d in this){delete this[d];}this.removed=true;};au[aT].attr=function(){if(this.removed){return this;}if(arguments[m]==0){var E={};for(var e in this.attrs){if(this.attrs[O](e)){E[e]=this.attrs[e];}}this._.rt.deg&&(E.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(E.scale=this.scale());E.gradient&&E.fill=="none"&&(E.fill=E.gradient)&&delete E.gradient;return E;}if(arguments[m]==1&&al.is(arguments[0],"string")){if(arguments[0]=="translation"){return t.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(this.attrs&&arguments[m]==1&&al.is(arguments[0],"array")){var d={};for(var e=0,R=arguments[0][m];e<R;e++){d[arguments[0][e]]=this.attrs[arguments[0][e]];}return d;}var S;if(arguments[m]==2){S={};S[arguments[0]]=arguments[1];}arguments[m]==1&&al.is(arguments[0],"object")&&(S=arguments[0]);if(S){if(S.text&&this.type=="text"){this.node.string=S.text;}Y(this,S);if(S.gradient&&(({circle:1,ellipse:1})[O](this.type)||(S.gradient+ap).charAt()!="r")){b(this,S.gradient);}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs);}return this;};au[aT].toFront=function(){!this.removed&&this.Group.parentNode[aG](this.Group);this.paper.top!=this&&W(this,this.paper);return this;};au[aT].toBack=function(){if(this.removed){return this;}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);k(this,this.paper);}return this;};au[aT].insertAfter=function(d){if(this.removed){return this;}if(d.Group.nextSibling){d.Group.parentNode.insertBefore(this.Group,d.Group.nextSibling);}else{d.Group.parentNode[aG](this.Group);}A(this,d,this.paper);return this;};au[aT].insertBefore=function(d){if(this.removed){return this;}d.Group.parentNode.insertBefore(this.Group,d.Group);an(this,d,this.paper);return this;};au[aT].getTotalLength=function(){if(this.type!="path"){return -1;}var aV=G(this.attrs.path),e,aW,S,d=0;for(var E=0,R=aV.length;E<R;E++){S=aV[E];if(S[0]=="M"){e=+S[1];aW=+S[2];}else{d+=n(e,aW,S[1],S[2],S[3],S[4],S[5],S[6]);e=+S[5];aW=+S[6];}}return d;};au[aT].getPointAtLength=function(e){if(this.type!="path"){return -1;}var aY=G(this.attrs.path),aW,aV,d,E,S=0;for(var R=0,aX=aY.length;R<aX;R++){d=aY[R];if(d[0]=="M"){aW=+d[1];aV=+d[2];}else{E=n(aW,aV,d[1],d[2],d[3],d[4],d[5],d[6]);if(S+E>e){return K(aW,aV,d[1],d[2],d[3],d[4],d[5],d[6],(e-S)/E);}S+=E;aW=+d[5];aV=+d[6];}}return{x:aW,y:aV};};var N=function(e,d,aW,S){var R=af("group"),aV=af("oval"),i=aV.style;R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;R[aG](aV);var E=new au(aV,R,e);E.type="circle";Y(E,{stroke:"#000",fill:"none"});E.attrs.cx=d;E.attrs.cy=aW;E.attrs.r=S;E.setBox({x:d-S,y:aW-S,width:S*2,height:S*2});e.canvas[aG](R);return E;},aA=function(e,aW,aV,aX,E,d){var R=af("group"),i=af("roundrect"),aY=(+d||0)/(aD(aX,E));R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;R[aG](i);i.arcsize=aY;var S=new au(i,R,e);S.type="rect";Y(S,{stroke:"#000"});S.arcsize=aY;S.setBox({x:aW,y:aV,width:aX,height:E,r:d});e.canvas[aG](R);return S;},ag=function(d,aX,aW,i,e){var R=af("group"),E=af("oval"),aV=E.style;R.style.cssText="position:absolute;left:0;top:0;width:"+d.width+"px;height:"+d.height+"px";R.coordsize=d.coordsize;R.coordorigin=d.coordorigin;R[aG](E);var S=new au(E,R,d);S.type="ellipse";Y(S,{stroke:"#000"});S.attrs.cx=aX;S.attrs.cy=aW;S.attrs.rx=i;S.attrs.ry=e;S.setBox({x:aX-i,y:aW-e,width:i*2,height:e*2});d.canvas[aG](R);return S;},o=function(e,d,aX,aW,aY,E){var R=af("group"),i=af("image"),aV=i.style;R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;i.src=d;R[aG](i);var S=new au(i,R,e);S.type="image";S.attrs.src=d;S.attrs.x=aX;S.attrs.y=aW;S.attrs.w=aY;S.attrs.h=E;S.setBox({x:aX,y:aW,width:aY,height:E});e.canvas[aG](R);return S;},V=function(e,aX,aW,aY){var R=af("group"),E=af("shape"),aV=E.style,aZ=af("path"),d=aZ.style,i=af("textpath");R.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";R.coordsize=e.coordsize;R.coordorigin=e.coordorigin;aZ.v=al.format("m{0},{1}l{2},{1}",M(aX),M(aW),M(aX)+1);aZ.textpathok=true;aV.width=e.width;aV.height=e.height;i.string=aY+ap;i.on=true;E[aG](i);E[aG](aZ);R[aG](E);var S=new au(i,R,e);S.shape=E;S.textpath=aZ;S.type="text";S.attrs.text=aY;S.attrs.x=aX;S.attrs.y=aW;S.attrs.w=1;S.attrs.h=1;Y(S,{font:j.font,stroke:"none",fill:"#000"});S.setBox();e.canvas[aG](R);return S;},aQ=function(i,d){var e=this.canvas.style;i==+i&&(i+="px");d==+d&&(d+="px");e.width=i;e.height=d;e.clip="rect(0 "+i+" "+d+" 0)";return this;},af;J.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!J.namespaces.rvml&&J.namespaces.add("rvml","urn:schemas-microsoft-com:vml");af=function(d){return J.createElement("<rvml:"+d+' class="rvml">');};}catch(ad){af=function(d){return J.createElement("<"+d+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var w=function(){var i=am[aR](null,arguments),d=i.container,aX=i.height,aY,e=i.width,aW=i.x,aV=i.y;if(!d){throw new Error("VML container not found.");}var R=new aO,S=R.canvas=J.createElement("div"),E=S.style;e=e||512;aX=aX||342;e==+e&&(e+="px");aX==+aX&&(aX+="px");R.width=1000;R.height=1000;R.coordsize="1000 1000";R.coordorigin="0 0";R.span=J.createElement("span");R.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";S[aG](R.span);E.cssText=al.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",e,aX);if(d==1){J.body[aG](S);E.left=aW+"px";E.top=aV+"px";}else{d.style.width=e;d.style.height=aX;if(d.firstChild){d.insertBefore(S,d.firstChild);}else{d[aG](S);}}aB.call(R,R,al.fn);return R;};aO[aT].clear=function(){this.canvas.innerHTML=ap;this.bottom=this.top=null;};aO[aT].remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var d in this){this[d]=s(d);}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aO[aT].safari=function(){var d=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){d.remove();});};}else{aO[aT].safari=function(){};}var ac=(function(){if(J.addEventListener){return function(R,i,e,d){var E=function(S){return e.call(d,S);};R.addEventListener(i,E,false);return function(){R.removeEventListener(i,E,false);return true;};};}else{if(J.attachEvent){return function(S,E,i,e){var R=function(aV){return i.call(e,aV||aq.event);};S.attachEvent("on"+E,R);var d=function(){S.detachEvent("on"+E,R);return true;};return d;};}}})();for(var aa=D[m];aa--;){(function(d){au[aT][d]=function(e){if(al.is(e,"function")){this.events=this.events||[];this.events.push({name:d,f:e,unbind:ac(this.shape||this.node,d,e,this)});}return this;};au[aT]["un"+d]=function(E){var i=this.events,e=i[m];while(e--){if(i[e].name==d&&i[e].f==E){i[e].unbind();i.splice(e,1);!i.length&&delete this.events;return this;}}return this;};})(D[aa]);}au[aT].hover=function(e,d){return this.mouseover(e).mouseout(d);};au[aT].unhover=function(e,d){return this.unmouseover(e).unmouseout(d);};aO[aT].circle=function(d,i,e){return N(this,d||0,i||0,e||0);};aO[aT].rect=function(d,R,e,i,E){return aA(this,d||0,R||0,e||0,i||0,E||0);};aO[aT].ellipse=function(d,E,i,e){return ag(this,d||0,E||0,i||0,e||0);};aO[aT].path=function(d){d&&!al.is(d,"string")&&!al.is(d[0],"array")&&(d+=ap);return q(al.format[aR](al,arguments),this);};aO[aT].image=function(E,d,R,e,i){return o(this,E||"about:blank",d||0,R||0,e||0,i||0);};aO[aT].text=function(d,i,e){return V(this,d||0,i||0,e||ap);};aO[aT].set=function(d){arguments[m]>1&&(d=Array[aT].splice.call(arguments,0,arguments[m]));return new P(d);};aO[aT].setSize=aQ;aO[aT].top=aO[aT].bottom=null;aO[aT].raphael=al;function u(){return this.x+ak+this.y;}au[aT].scale=function(a1,a0,E,e){if(a1==null&&a0==null){return{x:this._.sx,y:this._.sy,toString:u};}a0=a0||a1;!+a0&&(a0=a1);var a5,a3,a4,a2,bh=this.attrs;if(a1!=0){var aZ=this.getBBox(),aW=aZ.x+aZ.width/2,R=aZ.y+aZ.height/2,bg=a1/this._.sx,bf=a0/this._.sy;E=(+E||E==0)?E:aW;e=(+e||e==0)?e:R;var aY=~~(a1/Z.abs(a1)),aV=~~(a0/Z.abs(a0)),a7=this.node.style,bj=E+(aW-E)*bg,bi=e+(R-e)*bf;switch(this.type){case"rect":case"image":var aX=bh.width*aY*bg,ba=bh.height*aV*bf;this.attr({height:newh,r:bh.r*aD(aY*bg,aV*bf),width:aX,x:bj-aX/2,y:bi-newh/2});break;case"circle":case"ellipse":this.attr({rx:bh.rx*aY*bg,ry:bh.ry*aV*bf,r:bh.r*aD(aY*bg,aV*bf),cx:bj,cy:bi});break;case"path":var a9=ab(bh.path),bc=true;for(var be=0,a6=a9[m];be<a6;be++){var a8=a9[be],bd,S=aI.call(a8[0]);if(S=="M"&&bc){continue;}else{bc=false;}if(S=="A"){a8[a9[be][m]-2]*=bg;a8[a9[be][m]-1]*=bf;a8[1]*=aY*bg;a8[2]*=aV*bf;a8[5]=+(aY+aV?!!+a8[5]:!+a8[5]);}else{if(S=="H"){for(bd=1,jj=a8[m];bd<jj;bd++){a8[bd]*=bg;}}else{if(S=="V"){for(bd=1,jj=a8[m];bd<jj;bd++){a8[bd]*=bf;}}else{for(bd=1,jj=a8[m];bd<jj;bd++){a8[bd]*=(bd%2)?bg:bf;}}}}}var d=Q(a9),a5=bj-d.x-d.width/2,a3=bi-d.y-d.height/2;a9[0][1]+=a5;a9[0][2]+=a3;this.attr({path:a9});break;}if(this.type in {text:1,image:1}&&(aY!=1||aV!=1)){if(this.transformations){this.transformations[2]="scale("[aN](aY,",",aV,")");this.node[v]("transform",this.transformations[av](ak));a5=(aY==-1)?-bh.x-(aX||0):bh.x;a3=(aV==-1)?-bh.y-(newh||0):bh.y;this.attr({x:a5,y:a3});bh.fx=aY-1;bh.fy=aV-1;}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[aN](aY,", M12=0, M21=0, M22=",aV,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");a7.filter=(this.node.filterMatrix||ap)+(this.node.filterOpacity||ap);}}else{if(this.transformations){this.transformations[2]=ap;this.node[v]("transform",this.transformations[av](ak));bh.fx=0;bh.fy=0;}else{this.node.filterMatrix=ap;a7.filter=(this.node.filterMatrix||ap)+(this.node.filterOpacity||ap);}}bh.scale=[a1,a0,E,e][av](ak);this._.sx=a1;this._.sy=a0;}return this;};au[aT].clone=function(){var d=this.attr();delete d.scale;delete d.translation;return this.paper[this.type]().attr(d);};al.easing_formulas={linear:function(d){return d;},"<":function(d){return aH(d,3);},">":function(d){return aH(d-1,3)+1;},"<>":function(d){d=d*2;if(d<1){return aH(d,3)/2;}d-=2;return(aH(d,3)+2)/2;},backIn:function(e){var d=1.70158;return e*e*((d+1)*e-d);},backOut:function(e){e=e-1;var d=1.70158;return e*e*((d+1)*e+d)+1;},elastic:function(i){if(i==0||i==1){return i;}var e=0.3,d=e/4;return aH(2,-10*i)*Z.sin((i-d)*(2*Z.PI)/e)+1;},bounce:function(E){var e=7.5625,i=2.75,d;if(E<(1/i)){d=e*E*E;}else{if(E<(2/i)){E-=(1.5/i);d=e*E*E+0.75;}else{if(E<(2.5/i)){E-=(2.25/i);d=e*E*E+0.9375;}else{E-=(2.625/i);d=e*E*E+0.984375;}}}return d;}};var H={length:0},aM=function(){var aX=+new Date;for(var a8 in H){if(a8!="length"&&H[O](a8)){var bd=H[a8];if(bd.stop){delete H[a8];H[m]--;continue;}var aV=aX-bd.start,a6=bd.ms,a5=bd.easing,a9=bd.from,a2=bd.diff,E=bd.to,a1=bd.t,a4=bd.prev||0,aW=bd.el,R=bd.callback,a3={},d;if(aV<a6){var S=al.easing_formulas[a5]?al.easing_formulas[a5](aV/a6):aV/a6;for(var a7 in a9){if(a9[O](a7)){switch(X[a7]){case"number":d=+a9[a7]+S*a6*a2[a7];break;case"colour":d="rgb("+[B(M(a9[a7].r+S*a6*a2[a7].r)),B(M(a9[a7].g+S*a6*a2[a7].g)),B(M(a9[a7].b+S*a6*a2[a7].b))][av](",")+")";break;case"path":d=[];for(var bb=0,a0=a9[a7][m];bb<a0;bb++){d[bb]=[a9[a7][bb][0]];for(var ba=1,bc=a9[a7][bb][m];ba<bc;ba++){d[bb][ba]=+a9[a7][bb][ba]+S*a6*a2[a7][bb][ba];}d[bb]=d[bb][av](ak);}d=d[av](ak);break;case"csv":switch(a7){case"translation":var aZ=a2[a7][0]*(aV-a4),aY=a2[a7][1]*(aV-a4);a1.x+=aZ;a1.y+=aY;d=aZ+ak+aY;break;case"rotation":d=+a9[a7][0]+S*a6*a2[a7][0];a9[a7][1]&&(d+=","+a9[a7][1]+","+a9[a7][2]);break;case"scale":d=[+a9[a7][0]+S*a6*a2[a7][0],+a9[a7][1]+S*a6*a2[a7][1],(2 in E[a7]?E[a7][2]:ap),(3 in E[a7]?E[a7][3]:ap)][av](ak);break;case"clip-rect":d=[];var bb=4;while(bb--){d[bb]=+a9[a7][bb]+S*a6*a2[a7][bb];}break;}break;}a3[a7]=d;}}aW.attr(a3);aW._run&&aW._run.call(aW);}else{(a1.x||a1.y)&&aW.translate(-a1.x,-a1.y);E.scale&&(E.scale=E.scale+ap);aW.attr(E);delete H[a8];H[m]--;aW.in_animation=null;al.is(R,"function")&&R.call(aW);}bd.prev=aV;}}al.svg&&aW.paper.safari();H[m]&&setTimeout(aM);},B=function(d){return d>255?255:(d<0?0:d);},t=function(d,i){if(d==null){return{x:this._.tx,y:this._.ty,toString:u};}this._.tx+=+d;this._.ty+=+i;switch(this.type){case"circle":case"ellipse":this.attr({cx:+d+this.attrs.cx,cy:+i+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+d+this.attrs.x,y:+i+this.attrs.y});break;case"path":var e=ab(this.attrs.path);e[0][1]+=+d;e[0][2]+=+i;this.attr({path:e});break;}return this;};au[aT].animateWith=function(e,i,d,R,E){H[e.id]&&(i.start=H[e.id].start);return this.animate(i,d,R,E);};au[aT].onAnimation=function(d){this._run=d||null;return this;};au[aT].animate=function(R,d,a0,a6){if(al.is(a0,"function")||!a0){a6=a0||null;}var a1={},a2={},a3={};for(var aZ in R){if(R[O](aZ)){if(X[O](aZ)){a1[aZ]=this.attr(aZ);(a1[aZ]==null)&&(a1[aZ]=j[aZ]);a2[aZ]=R[aZ];switch(X[aZ]){case"number":a3[aZ]=(a2[aZ]-a1[aZ])/d;break;case"colour":a1[aZ]=al.getRGB(a1[aZ]);var aX=al.getRGB(a2[aZ]);a3[aZ]={r:(aX.r-a1[aZ].r)/d,g:(aX.g-a1[aZ].g)/d,b:(aX.b-a1[aZ].b)/d};break;case"path":var e=G(a1[aZ],a2[aZ]);a1[aZ]=e[0];var E=e[1];a3[aZ]=[];for(var aW=0,a5=a1[aZ][m];aW<a5;aW++){a3[aZ][aW]=[0];for(var S=1,aY=a1[aZ][aW][m];S<aY;S++){a3[aZ][aW][S]=(E[aW][S]-a1[aZ][aW][S])/d;}}break;case"csv":var a4=(R[aZ]+ap)[z](a),aV=(a1[aZ]+ap)[z](a);switch(aZ){case"translation":a1[aZ]=[0,0];a3[aZ]=[a4[0]/d,a4[1]/d];break;case"rotation":a1[aZ]=(aV[1]==a4[1]&&aV[2]==a4[2])?aV:[0,a4[1],a4[2]];a3[aZ]=[(a4[0]-a1[aZ][0])/d,0,0];break;case"scale":R[aZ]=a4;a1[aZ]=(a1[aZ]+ap)[z](a);a3[aZ]=[(a4[0]-a1[aZ][0])/d,(a4[1]-a1[aZ][1])/d,0,0];break;case"clip-rect":a1[aZ]=(a1[aZ]+ap)[z](a);a3[aZ]=[];var aW=4;while(aW--){a3[aZ][aW]=(a4[aW]-a1[aZ][aW])/d;}break;}a2[aZ]=a4;}}}}this.stop();this.in_animation=1;H[this.id]={start:R.start||+new Date,ms:d,easing:a0,from:a1,diff:a3,to:a2,el:this,callback:a6,t:{x:0,y:0}};++H[m]==1&&aM();return this;};au[aT].stop=function(){H[this.id]&&H[m]--;delete H[this.id];return this;};au[aT].translate=function(d,e){return this.attr({translation:d+" "+e});};au[aT][aw]=function(){return"Rapha\xebl\u2019s object";};al.ae=H;var P=function(d){this.items=[];this[m]=0;if(d){for(var e=0,E=d[m];e<E;e++){if(d[e]&&(d[e].constructor==au||d[e].constructor==P)){this[this.items[m]]=this.items[this.items[m]]=d[e];this[m]++;}}}};P[aT][f]=function(){var R,d;for(var e=0,E=arguments[m];e<E;e++){R=arguments[e];if(R&&(R.constructor==au||R.constructor==P)){d=this.items[m];this[d]=this.items[d]=R;this[m]++;}}return this;};P[aT].pop=function(){delete this[this[m]--];return this.items.pop();};for(var y in au[aT]){if(au[aT][O](y)){P[aT][y]=(function(d){return function(){for(var e=0,E=this.items[m];e<E;e++){this.items[e][d][aR](this.items[e],arguments);}return this;};})(y);}}P[aT].attr=function(e,aV){if(e&&al.is(e,"array")&&al.is(e[0],"object")){for(var d=0,S=e[m];d<S;d++){this.items[d].attr(e[d]);}}else{for(var E=0,R=this.items[m];E<R;E++){this.items[E].attr[aR](this.items[E],arguments);}}return this;};P[aT].animate=function(S,e,aX,aW){(al.is(aX,"function")||!aX)&&(aW=aX||null);var d=this.items[m],E=d,aV=this,R;aW&&(R=function(){!--d&&aW.call(aV);});this.items[--E].animate(S,e,aX||R,R);while(E--){this.items[E].animateWith(this.items[d-1],S,e,aX||R,R);}return this;};P[aT].insertAfter=function(e){var d=this.items[m];while(d--){this.items[d].insertAfter(e);}return this;};P[aT].getBBox=function(){var d=[],aV=[],e=[],R=[];for(var E=this.items[m];E--;){var S=this.items[E].getBBox();d[f](S.x);aV[f](S.y);e[f](S.x+S.width);R[f](S.y+S.height);}d=aD[aR](0,d);aV=aD[aR](0,aV);return{x:d,y:aV,width:g[aR](0,e)-d,height:g[aR](0,R)-aV};};al.registerFont=function(e){if(!e.face){return e;}this.fonts=this.fonts||{};var E={w:e.w,face:{},glyphs:{}},i=e.face["font-family"];for(var aV in e.face){if(e.face[O](aV)){E.face[aV]=e.face[aV];}}if(this.fonts[i]){this.fonts[i][f](E);}else{this.fonts[i]=[E];}if(!e.svg){E.face["units-per-em"]=F(e.face["units-per-em"],10);for(var R in e.glyphs){if(e.glyphs[O](R)){var S=e.glyphs[R];E.glyphs[R]={w:S.w,k:{},d:S.d&&"M"+S.d[aK](/[mlcxtrv]/g,function(aW){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[aW]||"M";})+"z"};if(S.k){for(var d in S.k){if(S[O](d)){E.glyphs[R].k[d]=S.k[d];}}}}}}return e;};aO[aT].getFont=function(aX,aY,e,R){R=R||"normal";e=e||"normal";aY=+aY||{normal:400,bold:700,lighter:300,bolder:800}[aY]||400;var S=al.fonts[aX];if(!S){var E=new RegExp("(^|\\s)"+aX[aK](/[^\w\d\s+!~.:_-]/g,ap)+"(\\s|$)","i");for(var d in al.fonts){if(al.fonts[O](d)){if(E.test(d)){S=al.fonts[d];break;}}}}var aV;if(S){for(var aW=0,aZ=S[m];aW<aZ;aW++){aV=S[aW];if(aV.face["font-weight"]==aY&&(aV.face["font-style"]==e||!aV.face["font-style"])&&aV.face["font-stretch"]==R){break;}}}return aV;};aO[aT].print=function(R,E,d,aW,aX,a6){a6=a6||"middle";var a2=this.set(),a5=(d+ap)[z](ap),a3=0,aZ=ap,a7;al.is(aW,"string")&&(aW=this.getFont(aW));if(aW){a7=(aX||16)/aW.face["units-per-em"];var e=aW.face.bbox.split(a),aV=+e[0],aY=+e[1]+(a6=="baseline"?e[3]-e[1]+(+aW.face.descent):(e[3]-e[1])/2);for(var a1=0,S=a5[m];a1<S;a1++){var a0=a1&&aW.glyphs[a5[a1-1]]||{},a4=aW.glyphs[a5[a1]];a3+=a1?(a0.w||aW.w)+(a0.k&&a0.k[a5[a1]]||0):0;a4&&a4.d&&a2[f](this.path(a4.d).attr({fill:"#000",stroke:"none",translation:[a3,0]}));}a2.scale(a7,a7,aV,aY).translate(R-aV,E-aY);}return a2;};al.format=function(i){var e=al.is(arguments[1],"array")?[0][aN](arguments[1]):arguments,d=/\{(\d+)\}/g;i&&al.is(i,"string")&&e[m]-1&&(i=i[aK](d,function(R,E){return e[++E]==null?ap:e[E];}));return i||ap;};al.ninja=function(){var i=aq.Raphael,d;if(l.was){aq.Raphael=l.is;}else{try{delete aq.Raphael;}catch(E){aq.Raphael=d;}}return i;};al.el=au[aT];return al;})();