From: Dmitry Baranovskiy Date: Sun, 20 Dec 2009 23:58:59 +0000 (+1100) Subject: Fixed animation path glitches. X-Git-Tag: v1.3.0~9 X-Git-Url: http://git.roojs.org/?p=raphael;a=commitdiff_plain;h=4d04ee8ae938f7d0b1edec4e71d974afcae6b098 Fixed animation path glitches. Fixed clone method. Fixed round rect negative scaling --- diff --git a/raphael-min.js b/raphael-min.js index 368f45b..be006af 100644 --- a/raphael-min.js +++ b/raphael-min.js @@ -1,7 +1,7 @@ /* - * Raphael 1.2.8 - JavaScript Vector Library + * Raphael 1.2.9dev - JavaScript Vector Library * * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com) * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. */ -window.Raphael=(function(){var a=/[, ]+/,aH=/^(circle|rect|path|ellipse|text|image)$/,G=document,an=window,k={was:"Raphael" in an,is:an.Raphael},ai=function(){if(ai.is(arguments[0],"array")){var e=arguments[0],E=t[aO](ai,e.splice(0,3+ai.is(e[0],ag))),aS=E.set();for(var S=0,aT=e[l];S");aT.close();aS=aT.body;}catch(aV){aS=createPopup().document.body;}var i=aS.createTextRange();try{aS.style.color=S;var aU=i.queryCommandValue("ForeColor");aU=((aU&255)<<16)|(aU&65280)|((aU&16711680)>>>16);return"#"+("000000"+aU[at](16)).slice(-6);}catch(aV){return"none";}});}else{var R=G.createElement("i");R.title="Rapha\xebl Colour Picker";R.style.display="none";G.body[aE](R);aw=ad(function(i){R.style.color=i;return G.defaultView.getComputedStyle(R,am).getPropertyValue("color");});}return aw(E);};ai.hsb2rgb=ad(function(aW,aU,a0){if(ai.is(aW,"object")&&"h" in aW&&"s" in aW&&"b" in aW){a0=aW.b;aU=aW.s;aW=aW.h;}var S,aS,a1;if(a0==0){return{r:0,g:0,b:0,hex:"#000"};}if(aW>1||aU>1||a0>1){aW/=255;aU/=255;a0/=255;}var aT=~~(aW*6),aX=(aW*6)-aT,R=a0*(1-aU),E=a0*(1-(aU*aX)),a2=a0*(1-(aU*(1-aX)));S=[a0,E,R,R,a2,a0,a0][aT];aS=[a2,a0,a0,E,R,R,a2][aT];a1=[R,R,a2,a0,a0,E,R][aT];S*=255;aS*=255;a1*=255;var aY={r:S,g:aS,b:a1},e=(~~S)[at](16),aV=(~~aS)[at](16),aZ=(~~a1)[at](16);e=e[aI](aM,"0");aV=aV[aI](aM,"0");aZ=aZ[aI](aM,"0");aY.hex="#"+e+aV+aZ;return aY;},ai);ai.rgb2hsb=ad(function(e,i,aU){if(ai.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aU=e.b;i=e.g;e=e.r;}if(ai.is(e,"string")){var aW=ai.getRGB(e);e=aW.r;i=aW.g;aU=aW.b;}if(e>1||i>1||aU>1){e/=255;i/=255;aU/=255;}var aT=f(e,i,aU),E=aB(e,i,aU),S,R,aS=aT;if(E==aT){return{h:0,s:0,b:aT};}else{var aV=(aT-E);R=aV/aT;if(e==aT){S=(i-aU)/aV;}else{if(i==aT){S=2+((aU-e)/aV);}else{S=4+((e-i)/aV);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aS};},ai);var ax=/,?([achlmqrstvxz]),?/gi;ai._path2string=function(){return this.join(",")[aI](ax,"$1");};function ad(R,i,e){function E(){var S=Array[aQ].slice.call(arguments,0),aT=S[ar]("\u25ba"),aS=E.cache=E.cache||{},aU=E.count=E.count||[];if(aS[L](aT)){return e?e(aS[aT]):aS[aT];}aU[l]>=1000&&delete aS[aU.shift()];aU[d](aT);aS[aT]=R[aO](i,S);return e?e(aS[aT]):aS[aT];}return E;}ai.getRGB=ad(function(e){if(!e||!!((e=e+am).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!(({hs:1,rg:1})[L](e.substring(0,2))||e.charAt()=="#")&&(e=aw(e));var aS,E,R,aV,aW,aT=e.match(u);if(aT){if(aT[2]){aV=B(aT[2].substring(5),16);R=B(aT[2].substring(3,5),16);E=B(aT[2].substring(1,3),16);}if(aT[3]){aV=B((aW=aT[3].charAt(3))+aW,16);R=B((aW=aT[3].charAt(2))+aW,16);E=B((aW=aT[3].charAt(1))+aW,16);}if(aT[4]){aT=aT[4][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);}if(aT[5]){aT=aT[5][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;}if(aT[6]){aT=aT[6][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);return ai.hsb2rgb(E,R,aV);}if(aT[7]){aT=aT[7][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;return ai.hsb2rgb(E,R,aV);}aT={r:E,g:R,b:aV};var i=(~~E)[at](16),S=(~~R)[at](16),aU=(~~aV)[at](16);i=i[aI](aM,"0");S=S[aI](aM,"0");aU=aU[aI](aM,"0");aT.hex="#"+i+S+aU;return aT;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},ai);ai.getColor=function(i){var E=this.getColor.start=this.getColor.start||{h:0,s:1,b:i||0.75},e=this.hsb2rgb(E.h,E.s,E.b);E.h+=0.075;if(E.h>1){E.h=0;E.s-=0.2;E.s<=0&&(this.getColor.start={h:0,s:1,b:E.b});}return e.hex;};ai.getColor.reset=function(){delete this.start;};ai.parsePathString=ad(function(e){if(!e){return null;}var E={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=[];if(ai.is(e,"array")&&ai.is(e[0],"array")){i=ao(e);}if(!i[l]){(e+am)[aI](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aU){var aT=[],aS=aR.call(R);aU[aI](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aW,aV){aV&&aT[d](+aV);});while(aT[l]>=E[aS]){i[d]([R][aL](aT.splice(0,E[aS])));if(!E[aS]){break;}}});}i[at]=ai._path2string;return i;});var N=ad(function(aY){if(!aY){return{x:0,y:0,width:0,height:0};}aY=C(aY);var aV=0,aU=0,S=[],E=[],R;for(var aS=0,aX=aY[l];aSaV){aW=aW-S*2;}if(!aS&&aV>aW){aV=aV-S*2;}}else{aW=a4[0];aV=a4[1];a6=a4[2];a5=a4[3];}var a0=aV-aW;if(W.abs(a0)>a8){var a7=aV,ba=a1,aY=bv;aV=aW+a8*(aS&&aV>aW?1:-1);a1=a6+bb*W.cos(aV);bv=a5+a9*W.sin(aV);bf=F(a1,bv,bb,a9,a3,0,aS,ba,aY,[aV,a7,a6,a5]);}a0=aV-aW;var aU=W.cos(aW),bu=W.sin(aW),aT=W.cos(aV),bt=W.sin(aV),bi=W.tan(a0/4),bl=4/3*bb*bi,bj=4/3*a9*bi,br=[a2,bw],bq=[a2+bl*bu,bw-bj*aU],bp=[a1+bl*bt,bv-bj*aT],bn=[a1,bv];bq[0]=2*br[0]-bq[0];bq[1]=2*br[1]-bq[1];if(a4){return[bq,bp,bn][aL](bf);}else{bf=[bq,bp,bn][aL](bf)[ar]()[w](",");var bd=[];for(var bo=0,be=bf[l];bo1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}a0=(a1-2*R+e)-(aV-2*a1+R);aX=2*(R-e)-2*(a1-R);aU=e-R;aT=(-aX+W.sqrt(aX*aX-4*a0*aU))/2/a0;aS=(-aX-W.sqrt(aX*aX-4*a0*aU))/2/a0;W.abs(aT)>1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}return{min:{x:aB[aO](0,aZ),y:aB[aO](0,aW)},max:{x:f[aO](0,aZ),y:f[aO](0,aW)}};}),C=ad(function(a2,aX){var S=p(a2),aY=aX&&p(aX),aZ={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aT=function(a3,a4){var i,a5;if(!a3){return["C",a4.x,a4.y,a4.x,a4.y,a4.x,a4.y];}!(a3[0] in {T:1,Q:1})&&(a4.qx=a4.qy=null);switch(a3[0]){case"M":a4.X=a3[1];a4.Y=a3[2];break;case"A":a3=["C"][aL](F[aO](0,[a4.x,a4.y][aL](a3.slice(1))));break;case"S":i=a4.x+(a4.x-(a4.bx||a4.x));a5=a4.y+(a4.y-(a4.by||a4.y));a3=["C",i,a5][aL](a3.slice(1));break;case"T":a4.qx=a4.x+(a4.x-(a4.qx||a4.x));a4.qy=a4.y+(a4.y-(a4.qy||a4.y));a3=["C"][aL](aD(a4.x,a4.y,a4.qx,a4.qy,a3[1],a3[2]));break;case"Q":a4.qx=a3[1];a4.qy=a3[2];a3=["C"][aL](aD(a4.x,a4.y,a3[1],a3[2],a3[3],a3[4]));break;case"L":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a3[2]));break;case"H":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a4.y));break;case"V":a3=["C"][aL](aP(a4.x,a4.y,a4.x,a3[1]));break;case"Z":a3=["C"][aL](aP(a4.x,a4.y,a4.X,a4.Y));break;}return a3;},E=function(a3,a4){if(a3[a4][l]>7){a3[a4].shift();var a5=a3[a4];while(a5[l]){a3.splice(a4++,0,["C"][aL](a5.splice(0,6)));}a3.splice(a4,1);a0=f(S[l],aY&&aY[l]||0);}},R=function(a7,a6,a4,a3,a5){if(a7&&a6&&a7[a5][0]=="M"&&a6[a5][0]!="M"){a6.splice(a5,0,["M",a3.x,a3.y]);a4.bx=0;a4.by=0;a4.x=a7[a5][1];a4.y=a7[a5][2];a0=f(S[l],aY&&aY[l]||0);}};for(var aV=0,a0=f(S[l],aY&&aY[l]||0);aV3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},az=function(e,E){var i=this;for(var R in E){if(E[L](R)&&!(R in e)){switch(typeof E[R]){case"function":(function(S){e[R]=e===i?S:function(){return S[aO](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};az.call(this,e[R],E[R]);break;default:e[R]=E[R];break;}}}},af=function(e,i){e==i.top&&(i.top=e.prev);e==i.bottom&&(i.bottom=e.next);e.next&&(e.next.prev=e.prev);e.prev&&(e.prev.next=e.next);},T=function(e,i){if(i.top===e){return;}af(e,i);e.next=null;e.prev=i.top;i.top.next=e;i.top=e;},j=function(e,i){if(i.bottom===e){return;}af(e,i);e.next=i.bottom;e.prev=null;i.bottom.prev=e;i.bottom=e;},x=function(i,e,E){af(i,E);e==E.top&&(E.top=i);e.next&&(e.next.prev=i);i.next=e.next;i.prev=e;e.next=i;},ak=function(i,e,E){af(i,E);e==E.bottom&&(E.bottom=i);e.prev&&(e.prev.next=i);i.prev=e.prev;e.prev=i;i.next=e;},al=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(ai.svg){aJ.svgns="http://www.w3.org/2000/svg";aJ.xlink="http://www.w3.org/1999/xlink";var J=function(e){return +e+(~~e===e)*0.5;},O=function(aS){for(var E=0,R=aS[l];E0.5)*2-1);aF(aU-0.5,2)+aF(aS-0.5,2)>0.25&&(aS=W.sqrt(0.25-aF(aU-0.5,2))*a3+0.5)&&aS!=0.5&&(aS=aS.toFixed(5)-0.00001*a3);}return am;});a0=a0[w](/\s*\-\s*/);if(aX=="linear"){var aT=a0.shift();aT=-P(aT);if(isNaN(aT)){return null;}var S=[0,0,W.cos(aT*W.PI/180),W.sin(aT*W.PI/180)],aZ=1/(f(W.abs(S[2]),W.abs(S[3]))||1);S[2]*=aZ;S[3]*=aZ;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aW=n(a0);if(!aW){return null;}var E=aC(aX+"Gradient");E.id="r"+(ai._id++)[at](36);aC(E,aX=="radial"?{fx:aU,fy:aS}:{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aE](E);for(var aV=0,a1=aW[l];aVaU.height)&&(aU.height=aT.y+aT.height-aU.y);(aT.x+aT.width-aU.x>aU.width)&&(aU.width=aT.x+aT.width-aU.x);}}R&&this.hide();return aU;};aq[aQ].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var S={};for(var R in this.attrs){if(this.attrs[L](R)){S[R]=this.attrs[R];}}this._.rt.deg&&(S.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(S.scale=this.scale());delete S.translation;S.gradient&&S.fill=="none"&&(S.fill=S.gradient)&&delete S.gradient;return S;}if(arguments[l]==1&&ai.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.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[l]==1&&ai.is(arguments[0],"array")){var e={};for(var E in arguments[0]){if(arguments[0][L](E)){e[arguments[0][E]]=this.attrs[arguments[0][E]];}}return e;}if(arguments[l]==2){var aS={};aS[arguments[0]]=arguments[1];V(this,aS);}else{if(arguments[l]==1&&ai.is(arguments[0],"object")){V(this,arguments[0]);}}return this;};aq[aQ].toFront=function(){if(this.removed){return this;}this.node.parentNode[aE](this.node);var e=this.paper;e.top!=this&&T(this,e);return this;};aq[aQ].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);j(this,this.paper);var e=this.paper;}return this;};aq[aQ].insertAfter=function(i){if(this.removed){return this;}var e=this.paper,E=i.node;if(E.nextSibling){E.parentNode.insertBefore(this.node,E.nextSibling);}else{E.parentNode[aE](this.node);}x(this,i,this.paper);return this;};aq[aQ].insertBefore=function(e){if(this.removed){return this;}var i=e.node;i.parentNode.insertBefore(this.node,i);ak(this,e,this.paper);return this;};var K=function(i,e,aS,S){e=J(e);aS=J(aS);var R=aC("circle");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aS,r:S,fill:"none",stroke:"#000"};E.type="circle";aC(R,E.attrs);return E;};var ay=function(E,e,aU,i,aS,aT){e=J(e);aU=J(aU);var S=aC("rect");E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,r:aT||0,rx:aT||0,ry:aT||0,fill:"none",stroke:"#000"};R.type="rect";aC(S,R.attrs);return R;};var ac=function(i,e,aT,aS,S){e=J(e);aT=J(aT);var R=aC("ellipse");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aT,rx:aS,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";aC(R,E.attrs);return E;};var m=function(E,aT,e,aU,i,aS){var S=aC("image");aC(S,{x:e,y:aU,width:i,height:aS,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aT);E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,src:aT};R.type="image";return R;};var Q=function(i,e,aS,S){var R=aC("text");aC(R,{x:e,y:aS,"text-anchor":"middle"});i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={x:e,y:aS,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";V(E,E.attrs);return E;};var aN=function(i,e){this.width=i||this.width;this.height=e||this.height;this.canvas[s]("width",this.width);this.canvas[s]("height",this.height);return this;};var t=function(){var R=aj[aO](null,arguments),E=R&&R.container,i=R.x,aU=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aJ.canvas=aC("svg");var aT=aJ.canvas;aJ.width=S||512;aJ.height=e||342;aC(aT,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:aJ.width,height:aJ.height});if(E==1){aT.style.cssText="position:absolute;left:"+i+"px;top:"+aU+"px";G.body[aE](aT);}else{if(E.firstChild){E.insertBefore(aT,E.firstChild);}else{E[aE](aT);}}E={canvas:aT};for(var aS in aJ){if(aJ[L](aS)){E[aS]=aJ[aS];}}E.bottom=E.top=null;az.call(E,E,ai.fn);E.clear();E.raphael=ai;return E;};aJ.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=aC("desc"))[aE](G.createTextNode("Created with Rapha\xebl"));e[aE](this.desc);e[aE](this.defs=aC("defs"));};aJ.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(ai.vml){var aA=function(a1){var aY=/[ahqtv]/ig,aT=p;(a1+am).match(aY)&&(aT=C);aY=/[clmz]/g;if(aT==p&&!(a1+am).match(aY)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aS=/-?[^,\s-]+/g;var aX=(a1+am)[aI](S,function(a2,a4,i){var a3=[];i[aI](aS,function(a5){a3[d](J(a5));});return E[a4]+a3;});return aX;}var aZ=aT(a1),R,aX=[],e;for(var aV=0,a0=aZ[l];aV1&&(i=1);a0.opacity=i;}a1.fill&&(a0.on=true);if(a0.on==null||a1.fill=="none"){a0.on=false;}if(a0.on&&a1.fill){var E=a1.fill.match(c);if(E){a0.src=E[1];a0.type="tile";}else{a0.color=ai.getRGB(a1.fill).hex;a0.src=am;a0.type="solid";if(ai.getRGB(a1.fill).error&&(a6.type in {circle:1,ellipse:1}||(a1.fill+am).charAt()!="r")&&b(a6,a1.fill)){a2.fill="none";a2.gradient=a1.fill;}}}a3&&aZ[aE](a0);var S=(aZ.getElementsByTagName("stroke")&&aZ.getElementsByTagName("stroke")[0]),a4=false;!S&&(a4=S=ab("stroke"));if((a1.stroke&&a1.stroke!="none")||a1["stroke-width"]||a1["stroke-opacity"]!=null||a1["stroke-dasharray"]||a1["stroke-miterlimit"]||a1["stroke-linejoin"]||a1["stroke-linecap"]){S.on=true;}(a1.stroke=="none"||S.on==null||a1.stroke==0||a1["stroke-width"]==0)&&(S.on=false);S.on&&a1.stroke&&(S.color=ai.getRGB(a1.stroke).hex);var i=((+a2["stroke-opacity"]+1||2)-1)*((+a2.opacity+1||2)-1),aX=(P(a1["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);a1["stroke-width"]==null&&(aX=a2["stroke-width"]);a1["stroke-width"]&&(S.weight=aX);aX&&aX<1&&(i*=aX)&&(S.weight=1);S.opacity=i;a1["stroke-linejoin"]&&(S.joinstyle=a1["stroke-linejoin"]||"miter");S.miterlimit=a1["stroke-miterlimit"]||8;a1["stroke-linecap"]&&(S.endcap=a1["stroke-linecap"]=="butt"?"flat":a1["stroke-linecap"]=="square"?"square":"round");if(a1["stroke-dasharray"]){var aY={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aY[L](a1["stroke-dasharray"])?aY[a1["stroke-dasharray"]]:am;}a4&&aZ[aE](S);}if(a6.type=="text"){var aT=a6.paper.span.style;a2.font&&(aT.font=a2.font);a2["font-family"]&&(aT.fontFamily=a2["font-family"]);a2["font-size"]&&(aT.fontSize=a2["font-size"]);a2["font-weight"]&&(aT.fontWeight=a2["font-weight"]);a2["font-style"]&&(aT.fontStyle=a2["font-style"]);a6.node.string&&(a6.paper.span.innerHTML=(a6.node.string+am)[aI](/"));a6.W=a2.w=a6.paper.span.offsetWidth;a6.H=a2.h=a6.paper.span.offsetHeight;a6.X=a2.x;a6.Y=a2.y+J(a6.H/2);switch(a2["text-anchor"]){case"start":a6.node.style["v-text-align"]="left";a6.bbx=J(a6.W/2);break;case"end":a6.node.style["v-text-align"]="right";a6.bbx=-J(a6.W/2);break;default:a6.node.style["v-text-align"]="center";break;}}};var b=function(e,aU){e.attrs=e.attrs||{};var aV=e.attrs,aX=e.node.getElementsByTagName("fill"),aS="linear",aT=".5 .5";e.attrs.gradient=aU;aU=(aU+am)[aI](al,function(aZ,a0,i){aS="radial";if(a0&&i){a0=P(a0);i=P(i);aF(a0-0.5,2)+aF(i-0.5,2)>0.25&&(i=W.sqrt(0.25-aF(a0-0.5,2))*((i>0.5)*2-1)+0.5);aT=a0+ah+i;}return am;});aU=aU[w](/\s*\-\s*/);if(aS=="linear"){var E=aU.shift();E=-P(E);if(isNaN(E)){return null;}}var S=n(aU);if(!S){return null;}e=e.shape||e.node;aX=aX[0]||ab("fill");if(S[l]){aX.on=true;aX.method="none";aX.type=(aS=="radial")?"gradientradial":"gradient";aX.color=S[0].color;aX.color2=S[S[l]-1].color;var aY=[];for(var R=0,aW=S[l];R');};}catch(aa){var ab=function(e){return G.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var t=function(){var R=aj[aO](null,arguments),i=R.container,aW=R.height,aX,E=R.width,aV=R.x,aU=R.y;if(!i){throw new Error("VML container not found.");}var aS={},aT=aS.canvas=G.createElement("div"),S=aT.style;E=E||512;aW=aW||342;E==+E&&(E+="px");aW==+aW&&(aW+="px");aS.width=1000;aS.height=1000;aS.coordsize="1000 1000";aS.coordorigin="0 0";aS.span=G.createElement("span");aS.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aT[aE](aS.span);S.cssText=ai.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aW);if(i==1){G.body[aE](aT);S.left=aV+"px";S.top=aU+"px";i={style:{width:E,height:aW}};}else{i.style.width=E;i.style.height=aW;if(i.firstChild){i.insertBefore(aT,i.firstChild);}else{i[aE](aT);}}for(var e in aJ){if(aJ[L](e)){aS[e]=aJ[e];}}az.call(aS,aS,ai.fn);aS.top=aS.bottom=null;aS.raphael=ai;return aS;};aJ.clear=function(){this.canvas.innerHTML=am;this.bottom=this.top=null;};aJ.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aJ.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aJ.safari=function(){};}var Z=(function(){if(G.addEventListener){return function(S,E,i,e){var R=function(aS){return i.call(e,aS);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(G.attachEvent){return function(aS,R,E,i){var S=function(aT){return E.call(i,aT||an.event);};aS.attachEvent("on"+R,S);var e=function(){aS.detachEvent("on"+R,S);return true;};return e;};}}})();for(var X=A[l];X--;){(function(e){aq[aQ][e]=function(i){if(ai.is(i,"function")){this.events=this.events||[];this.events.push({name:e,f:i,unbind:Z(this.shape||this.node,e,i,this)});}return this;};aq[aQ]["un"+e]=function(R){var E=this.events,i=E[l];while(i--){if(E[i].name==e&&E[i].f==R){E[i].unbind();E.splice(i,1);!E.length&&delete this.events;return this;}}return this;};})(A[X]);}aq[aQ].hover=function(i,e){return this.mouseover(i).mouseout(e);};aq[aQ].unhover=function(i,e){return this.unmouseover(i).unmouseout(e);};aJ.circle=function(e,E,i){return K(this,e||0,E||0,i||0);};aJ.rect=function(e,S,i,E,R){return ay(this,e||0,S||0,i||0,E||0,R||0);};aJ.ellipse=function(e,R,E,i){return ac(this,e||0,R||0,E||0,i||0);};aJ.path=function(e){e&&!ai.is(e,"string")&&!ai.is(e[0],"array")&&(e+=am);return o(ai.format[aO](ai,arguments),this);};aJ.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aJ.text=function(e,E,i){return Q(this,e||0,E||0,i||am);};aJ.set=function(e){arguments[l]>1&&(e=Array[aQ].splice.call(arguments,0,arguments[l]));return new M(e);};aJ.setSize=aN;function r(){return this.x+ah+this.y;}aq[aQ].scale=function(a2,a1,R,E){if(a2==null&&a1==null){return{x:this._.sx,y:this._.sy,toString:r};}a1=a1||a2;!+a1&&(a1=a2);var a6,a4,a5,a3,bi=this.attrs;if(a2!=0){var aZ=this.getBBox(),aW=aZ.x+aZ.width/2,aS=aZ.y+aZ.height/2,bh=a2/this._.sx,bg=a1/this._.sy;R=(+R||R==0)?R:aW;E=(+E||E==0)?E:aS;var aY=~~(a2/W.abs(a2)),aV=~~(a1/W.abs(a1)),a9=this.node.style,bk=R+(aW-R)*bh,bj=E+(aS-E)*bg;switch(this.type){case"rect":case"image":var aX=bi.width*aY*bh,a8=bi.height*aV*bg,a0=bi.r*aB(bh,bg),aU=bk-aX/2,S=bj-a8/2;this.attr({height:a8,r:a0,width:aX,x:aU,y:S});break;case"circle":case"ellipse":this.attr({rx:bi.rx*aY*bh,ry:bi.ry*aV*bg,r:bi.r*aB(aY*bh,aV*bg),cx:bk,cy:bj});break;case"path":var bc=Y(bi.path),bd=true;for(var bf=0,a7=bc[l];bf":function(e){return aF(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aF(e,3)/2;}e-=2;return(aF(e,3)+2)/2;},backIn:function(i){var e=1.70158;return i*i*((e+1)*i-e);},backOut:function(i){i=i-1;var e=1.70158;return i*i*((e+1)*i+e)+1;},elastic:function(E){if(E==0||E==1){return E;}var i=0.3,e=i/4;return aF(2,-10*E)*W.sin((E-e)*(2*W.PI)/i)+1;},bounce:function(R){var i=7.5625,E=2.75,e;if(R<(1/E)){e=i*R*R;}else{if(R<(2/E)){R-=(1.5/E);e=i*R*R+0.75;}else{if(R<(2.5/E)){R-=(2.25/E);e=i*R*R+0.9375;}else{R-=(2.625/E);e=i*R*R+0.984375;}}}return e;}};var D={length:0},aK=function(){var aV=+new Date;for(var a6 in D){if(a6!="length"&&D[L](a6)){var bb=D[a6];if(bb.stop){delete D[a6];D[l]--;continue;}var aT=aV-bb.start,a4=bb.ms,a3=bb.easing,a7=bb.from,a0=bb.diff,R=bb.to,aZ=bb.t,a2=bb.prev||0,aU=bb.el,S=bb.callback,a1={},E;if(aT255?255:(e<0?0:e);},q=function(e,E){if(e==null){return{x:this._.tx,y:this._.ty,toString:r};}this._.tx+=+e;this._.ty+=+E;switch(this.type){case"circle":case"ellipse":this.attr({cx:+e+this.attrs.cx,cy:+E+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+e+this.attrs.x,y:+E+this.attrs.y});break;case"path":var i=Y(this.attrs.path);i[0][1]+=+e;i[0][2]+=+E;this.attr({path:i});break;}return this;};aq[aQ].animateWith=function(i,E,e,S,R){D[i.id]&&(E.start=D[i.id].start);return this.animate(E,e,S,R);};aq[aQ].onAnimation=function(e){this._run=e||null;return this;};aq[aQ].animate=function(R,e,aX,a3){if(ai.is(aX,"function")||!aX){a3=aX||null;}var aY={},aZ={},a0={};for(var aW in R){if(R[L](aW)){if(U[L](aW)){aY[aW]=this.attr(aW);(aY[aW]==null)&&(aY[aW]=h[aW]);aZ[aW]=R[aW];switch(U[aW]){case"number":a0[aW]=(aZ[aW]-aY[aW])/e;break;case"colour":aY[aW]=ai.getRGB(aY[aW]);var aU=ai.getRGB(aZ[aW]);a0[aW]={r:(aU.r-aY[aW].r)/e,g:(aU.g-aY[aW].g)/e,b:(aU.b-aY[aW].b)/e};break;case"path":var E=C(aY[aW],aZ[aW]);aY[aW]=E[0];aZ[aW]=E[1];a0[aW]=[];for(var aT=0,a2=aY[aW][l];aT");aT.close();aS=aT.body;}catch(aV){aS=createPopup().document.body;}var i=aS.createTextRange();try{aS.style.color=S;var aU=i.queryCommandValue("ForeColor");aU=((aU&255)<<16)|(aU&65280)|((aU&16711680)>>>16);return"#"+("000000"+aU[at](16)).slice(-6);}catch(aV){return"none";}});}else{var R=G.createElement("i");R.title="Rapha\xebl Colour Picker";R.style.display="none";G.body[aE](R);aw=ad(function(i){R.style.color=i;return G.defaultView.getComputedStyle(R,am).getPropertyValue("color");});}return aw(E);};ai.hsb2rgb=ad(function(aW,aU,a0){if(ai.is(aW,"object")&&"h" in aW&&"s" in aW&&"b" in aW){a0=aW.b;aU=aW.s;aW=aW.h;}var S,aS,a1;if(a0==0){return{r:0,g:0,b:0,hex:"#000"};}if(aW>1||aU>1||a0>1){aW/=255;aU/=255;a0/=255;}var aT=~~(aW*6),aX=(aW*6)-aT,R=a0*(1-aU),E=a0*(1-(aU*aX)),a2=a0*(1-(aU*(1-aX)));S=[a0,E,R,R,a2,a0,a0][aT];aS=[a2,a0,a0,E,R,R,a2][aT];a1=[R,R,a2,a0,a0,E,R][aT];S*=255;aS*=255;a1*=255;var aY={r:S,g:aS,b:a1},e=(~~S)[at](16),aV=(~~aS)[at](16),aZ=(~~a1)[at](16);e=e[aI](aM,"0");aV=aV[aI](aM,"0");aZ=aZ[aI](aM,"0");aY.hex="#"+e+aV+aZ;return aY;},ai);ai.rgb2hsb=ad(function(e,i,aU){if(ai.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aU=e.b;i=e.g;e=e.r;}if(ai.is(e,"string")){var aW=ai.getRGB(e);e=aW.r;i=aW.g;aU=aW.b;}if(e>1||i>1||aU>1){e/=255;i/=255;aU/=255;}var aT=f(e,i,aU),E=aB(e,i,aU),S,R,aS=aT;if(E==aT){return{h:0,s:0,b:aT};}else{var aV=(aT-E);R=aV/aT;if(e==aT){S=(i-aU)/aV;}else{if(i==aT){S=2+((aU-e)/aV);}else{S=4+((e-i)/aV);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aS};},ai);var ax=/,?([achlmqrstvxz]),?/gi;ai._path2string=function(){return this.join(",")[aI](ax,"$1");};function ad(R,i,e){function E(){var S=Array[aQ].slice.call(arguments,0),aT=S[ar]("\u25ba"),aS=E.cache=E.cache||{},aU=E.count=E.count||[];if(aS[L](aT)){return e?e(aS[aT]):aS[aT];}aU[l]>=1000&&delete aS[aU.shift()];aU[d](aT);aS[aT]=R[aO](i,S);return e?e(aS[aT]):aS[aT];}return E;}ai.getRGB=ad(function(e){if(!e||!!((e=e+am).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!(({hs:1,rg:1})[L](e.substring(0,2))||e.charAt()=="#")&&(e=aw(e));var aS,E,R,aV,aW,aT=e.match(u);if(aT){if(aT[2]){aV=B(aT[2].substring(5),16);R=B(aT[2].substring(3,5),16);E=B(aT[2].substring(1,3),16);}if(aT[3]){aV=B((aW=aT[3].charAt(3))+aW,16);R=B((aW=aT[3].charAt(2))+aW,16);E=B((aW=aT[3].charAt(1))+aW,16);}if(aT[4]){aT=aT[4][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);}if(aT[5]){aT=aT[5][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;}if(aT[6]){aT=aT[6][w](/\s*,\s*/);E=P(aT[0]);R=P(aT[1]);aV=P(aT[2]);return ai.hsb2rgb(E,R,aV);}if(aT[7]){aT=aT[7][w](/\s*,\s*/);E=P(aT[0])*2.55;R=P(aT[1])*2.55;aV=P(aT[2])*2.55;return ai.hsb2rgb(E,R,aV);}aT={r:E,g:R,b:aV};var i=(~~E)[at](16),S=(~~R)[at](16),aU=(~~aV)[at](16);i=i[aI](aM,"0");S=S[aI](aM,"0");aU=aU[aI](aM,"0");aT.hex="#"+i+S+aU;return aT;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},ai);ai.getColor=function(i){var E=this.getColor.start=this.getColor.start||{h:0,s:1,b:i||0.75},e=this.hsb2rgb(E.h,E.s,E.b);E.h+=0.075;if(E.h>1){E.h=0;E.s-=0.2;E.s<=0&&(this.getColor.start={h:0,s:1,b:E.b});}return e.hex;};ai.getColor.reset=function(){delete this.start;};ai.parsePathString=ad(function(e){if(!e){return null;}var E={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=[];if(ai.is(e,"array")&&ai.is(e[0],"array")){i=ao(e);}if(!i[l]){(e+am)[aI](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aU){var aT=[],aS=aR.call(R);aU[aI](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aW,aV){aV&&aT[d](+aV);});while(aT[l]>=E[aS]){i[d]([R][aL](aT.splice(0,E[aS])));if(!E[aS]){break;}}});}i[at]=ai._path2string;return i;});var N=ad(function(aY){if(!aY){return{x:0,y:0,width:0,height:0};}aY=C(aY);var aV=0,aU=0,S=[],E=[],R;for(var aS=0,aX=aY[l];aSaV){aW=aW-S*2;}if(!aS&&aV>aW){aV=aV-S*2;}}else{aW=a4[0];aV=a4[1];a6=a4[2];a5=a4[3];}var a0=aV-aW;if(W.abs(a0)>a8){var a7=aV,ba=a1,aY=bv;aV=aW+a8*(aS&&aV>aW?1:-1);a1=a6+bb*W.cos(aV);bv=a5+a9*W.sin(aV);bf=F(a1,bv,bb,a9,a3,0,aS,ba,aY,[aV,a7,a6,a5]);}a0=aV-aW;var aU=W.cos(aW),bu=W.sin(aW),aT=W.cos(aV),bt=W.sin(aV),bi=W.tan(a0/4),bl=4/3*bb*bi,bj=4/3*a9*bi,br=[a2,bw],bq=[a2+bl*bu,bw-bj*aU],bp=[a1+bl*bt,bv-bj*aT],bn=[a1,bv];bq[0]=2*br[0]-bq[0];bq[1]=2*br[1]-bq[1];if(a4){return[bq,bp,bn][aL](bf);}else{bf=[bq,bp,bn][aL](bf)[ar]()[w](",");var bd=[];for(var bo=0,be=bf[l];bo1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}a0=(a1-2*R+e)-(aV-2*a1+R);aX=2*(R-e)-2*(a1-R);aU=e-R;aT=(-aX+W.sqrt(aX*aX-4*a0*aU))/2/a0;aS=(-aX-W.sqrt(aX*aX-4*a0*aU))/2/a0;W.abs(aT)>1000000000000&&(aT=0.5);W.abs(aS)>1000000000000&&(aS=0.5);if(aT>0&&aT<1){i=H(E,e,S,R,a2,a1,aY,aV,aT);aZ[d](i.x);aW[d](i.y);}if(aS>0&&aS<1){i=H(E,e,S,R,a2,a1,aY,aV,aS);aZ[d](i.x);aW[d](i.y);}return{min:{x:aB[aO](0,aZ),y:aB[aO](0,aW)},max:{x:f[aO](0,aZ),y:f[aO](0,aW)}};}),C=ad(function(a2,aX){var S=p(a2),aY=aX&&p(aX),aZ={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aT=function(a3,a4){var i,a5;if(!a3){return["C",a4.x,a4.y,a4.x,a4.y,a4.x,a4.y];}!(a3[0] in {T:1,Q:1})&&(a4.qx=a4.qy=null);switch(a3[0]){case"M":a4.X=a3[1];a4.Y=a3[2];break;case"A":a3=["C"][aL](F[aO](0,[a4.x,a4.y][aL](a3.slice(1))));break;case"S":i=a4.x+(a4.x-(a4.bx||a4.x));a5=a4.y+(a4.y-(a4.by||a4.y));a3=["C",i,a5][aL](a3.slice(1));break;case"T":a4.qx=a4.x+(a4.x-(a4.qx||a4.x));a4.qy=a4.y+(a4.y-(a4.qy||a4.y));a3=["C"][aL](aD(a4.x,a4.y,a4.qx,a4.qy,a3[1],a3[2]));break;case"Q":a4.qx=a3[1];a4.qy=a3[2];a3=["C"][aL](aD(a4.x,a4.y,a3[1],a3[2],a3[3],a3[4]));break;case"L":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a3[2]));break;case"H":a3=["C"][aL](aP(a4.x,a4.y,a3[1],a4.y));break;case"V":a3=["C"][aL](aP(a4.x,a4.y,a4.x,a3[1]));break;case"Z":a3=["C"][aL](aP(a4.x,a4.y,a4.X,a4.Y));break;}return a3;},E=function(a3,a4){if(a3[a4][l]>7){a3[a4].shift();var a5=a3[a4];while(a5[l]){a3.splice(a4++,0,["C"][aL](a5.splice(0,6)));}a3.splice(a4,1);a0=f(S[l],aY&&aY[l]||0);}},R=function(a7,a6,a4,a3,a5){if(a7&&a6&&a7[a5][0]=="M"&&a6[a5][0]!="M"){a6.splice(a5,0,["M",a3.x,a3.y]);a4.bx=0;a4.by=0;a4.x=a7[a5][1];a4.y=a7[a5][2];a0=f(S[l],aY&&aY[l]||0);}};for(var aV=0,a0=f(S[l],aY&&aY[l]||0);aV3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},az=function(e,E){var i=this;for(var R in E){if(E[L](R)&&!(R in e)){switch(typeof E[R]){case"function":(function(S){e[R]=e===i?S:function(){return S[aO](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};az.call(this,e[R],E[R]);break;default:e[R]=E[R];break;}}}},af=function(e,i){e==i.top&&(i.top=e.prev);e==i.bottom&&(i.bottom=e.next);e.next&&(e.next.prev=e.prev);e.prev&&(e.prev.next=e.next);},T=function(e,i){if(i.top===e){return;}af(e,i);e.next=null;e.prev=i.top;i.top.next=e;i.top=e;},j=function(e,i){if(i.bottom===e){return;}af(e,i);e.next=i.bottom;e.prev=null;i.bottom.prev=e;i.bottom=e;},x=function(i,e,E){af(i,E);e==E.top&&(E.top=i);e.next&&(e.next.prev=i);i.next=e.next;i.prev=e;e.next=i;},ak=function(i,e,E){af(i,E);e==E.bottom&&(E.bottom=i);e.prev&&(e.prev.next=i);i.prev=e.prev;e.prev=i;i.next=e;},al=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(ai.svg){aJ.svgns="http://www.w3.org/2000/svg";aJ.xlink="http://www.w3.org/1999/xlink";var J=function(e){return +e+(~~e===e)*0.5;},O=function(aS){for(var E=0,R=aS[l];E0.5)*2-1);aF(aU-0.5,2)+aF(aS-0.5,2)>0.25&&(aS=W.sqrt(0.25-aF(aU-0.5,2))*a3+0.5)&&aS!=0.5&&(aS=aS.toFixed(5)-0.00001*a3);}return am;});a0=a0[w](/\s*\-\s*/);if(aX=="linear"){var aT=a0.shift();aT=-P(aT);if(isNaN(aT)){return null;}var S=[0,0,W.cos(aT*W.PI/180),W.sin(aT*W.PI/180)],aZ=1/(f(W.abs(S[2]),W.abs(S[3]))||1);S[2]*=aZ;S[3]*=aZ;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aW=n(a0);if(!aW){return null;}var E=aC(aX+"Gradient");E.id="r"+(ai._id++)[at](36);aC(E,aX=="radial"?{fx:aU,fy:aS}:{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aE](E);for(var aV=0,a1=aW[l];aVaU.height)&&(aU.height=aT.y+aT.height-aU.y);(aT.x+aT.width-aU.x>aU.width)&&(aU.width=aT.x+aT.width-aU.x);}}R&&this.hide();return aU;};aq[aQ].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var S={};for(var R in this.attrs){if(this.attrs[L](R)){S[R]=this.attrs[R];}}this._.rt.deg&&(S.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(S.scale=this.scale());S.gradient&&S.fill=="none"&&(S.fill=S.gradient)&&delete S.gradient;return S;}if(arguments[l]==1&&ai.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.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[l]==1&&ai.is(arguments[0],"array")){var e={};for(var E in arguments[0]){if(arguments[0][L](E)){e[arguments[0][E]]=this.attrs[arguments[0][E]];}}return e;}if(arguments[l]==2){var aS={};aS[arguments[0]]=arguments[1];V(this,aS);}else{if(arguments[l]==1&&ai.is(arguments[0],"object")){V(this,arguments[0]);}}return this;};aq[aQ].toFront=function(){if(this.removed){return this;}this.node.parentNode[aE](this.node);var e=this.paper;e.top!=this&&T(this,e);return this;};aq[aQ].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);j(this,this.paper);var e=this.paper;}return this;};aq[aQ].insertAfter=function(i){if(this.removed){return this;}var e=this.paper,E=i.node;if(E.nextSibling){E.parentNode.insertBefore(this.node,E.nextSibling);}else{E.parentNode[aE](this.node);}x(this,i,this.paper);return this;};aq[aQ].insertBefore=function(e){if(this.removed){return this;}var i=e.node;i.parentNode.insertBefore(this.node,i);ak(this,e,this.paper);return this;};var K=function(i,e,aS,S){e=J(e);aS=J(aS);var R=aC("circle");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aS,r:S,fill:"none",stroke:"#000"};E.type="circle";aC(R,E.attrs);return E;};var ay=function(E,e,aU,i,aS,aT){e=J(e);aU=J(aU);var S=aC("rect");E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,r:aT||0,rx:aT||0,ry:aT||0,fill:"none",stroke:"#000"};R.type="rect";aC(S,R.attrs);return R;};var ac=function(i,e,aT,aS,S){e=J(e);aT=J(aT);var R=aC("ellipse");i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={cx:e,cy:aT,rx:aS,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";aC(R,E.attrs);return E;};var m=function(E,aT,e,aU,i,aS){var S=aC("image");aC(S,{x:e,y:aU,width:i,height:aS,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aT);E.canvas&&E.canvas[aE](S);var R=new aq(S,E);R.attrs={x:e,y:aU,width:i,height:aS,src:aT};R.type="image";return R;};var Q=function(i,e,aS,S){var R=aC("text");aC(R,{x:e,y:aS,"text-anchor":"middle"});i.canvas&&i.canvas[aE](R);var E=new aq(R,i);E.attrs={x:e,y:aS,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";V(E,E.attrs);return E;};var aN=function(i,e){this.width=i||this.width;this.height=e||this.height;this.canvas[s]("width",this.width);this.canvas[s]("height",this.height);return this;};var t=function(){var R=aj[aO](null,arguments),E=R&&R.container,i=R.x,aU=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aJ.canvas=aC("svg");var aT=aJ.canvas;aJ.width=S||512;aJ.height=e||342;aC(aT,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:aJ.width,height:aJ.height});if(E==1){aT.style.cssText="position:absolute;left:"+i+"px;top:"+aU+"px";G.body[aE](aT);}else{if(E.firstChild){E.insertBefore(aT,E.firstChild);}else{E[aE](aT);}}E={canvas:aT};for(var aS in aJ){if(aJ[L](aS)){E[aS]=aJ[aS];}}E.bottom=E.top=null;az.call(E,E,ai.fn);E.clear();E.raphael=ai;return E;};aJ.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=aC("desc"))[aE](G.createTextNode("Created with Rapha\xebl"));e[aE](this.desc);e[aE](this.defs=aC("defs"));};aJ.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(ai.vml){var aA=function(a1){var aY=/[ahqtv]/ig,aT=p;(a1+am).match(aY)&&(aT=C);aY=/[clmz]/g;if(aT==p&&!(a1+am).match(aY)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aS=/-?[^,\s-]+/g;var aX=(a1+am)[aI](S,function(a2,a4,i){var a3=[];i[aI](aS,function(a5){a3[d](J(a5));});return E[a4]+a3;});return aX;}var aZ=aT(a1),R,aX=[],e;for(var aV=0,a0=aZ[l];aV1&&(i=1);a0.opacity=i;}a1.fill&&(a0.on=true);if(a0.on==null||a1.fill=="none"){a0.on=false;}if(a0.on&&a1.fill){var E=a1.fill.match(c);if(E){a0.src=E[1];a0.type="tile";}else{a0.color=ai.getRGB(a1.fill).hex;a0.src=am;a0.type="solid";if(ai.getRGB(a1.fill).error&&(a6.type in {circle:1,ellipse:1}||(a1.fill+am).charAt()!="r")&&b(a6,a1.fill)){a2.fill="none";a2.gradient=a1.fill;}}}a3&&aZ[aE](a0);var S=(aZ.getElementsByTagName("stroke")&&aZ.getElementsByTagName("stroke")[0]),a4=false;!S&&(a4=S=ab("stroke"));if((a1.stroke&&a1.stroke!="none")||a1["stroke-width"]||a1["stroke-opacity"]!=null||a1["stroke-dasharray"]||a1["stroke-miterlimit"]||a1["stroke-linejoin"]||a1["stroke-linecap"]){S.on=true;}(a1.stroke=="none"||S.on==null||a1.stroke==0||a1["stroke-width"]==0)&&(S.on=false);S.on&&a1.stroke&&(S.color=ai.getRGB(a1.stroke).hex);var i=((+a2["stroke-opacity"]+1||2)-1)*((+a2.opacity+1||2)-1),aX=(P(a1["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);a1["stroke-width"]==null&&(aX=a2["stroke-width"]);a1["stroke-width"]&&(S.weight=aX);aX&&aX<1&&(i*=aX)&&(S.weight=1);S.opacity=i;a1["stroke-linejoin"]&&(S.joinstyle=a1["stroke-linejoin"]||"miter");S.miterlimit=a1["stroke-miterlimit"]||8;a1["stroke-linecap"]&&(S.endcap=a1["stroke-linecap"]=="butt"?"flat":a1["stroke-linecap"]=="square"?"square":"round");if(a1["stroke-dasharray"]){var aY={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aY[L](a1["stroke-dasharray"])?aY[a1["stroke-dasharray"]]:am;}a4&&aZ[aE](S);}if(a6.type=="text"){var aT=a6.paper.span.style;a2.font&&(aT.font=a2.font);a2["font-family"]&&(aT.fontFamily=a2["font-family"]);a2["font-size"]&&(aT.fontSize=a2["font-size"]);a2["font-weight"]&&(aT.fontWeight=a2["font-weight"]);a2["font-style"]&&(aT.fontStyle=a2["font-style"]);a6.node.string&&(a6.paper.span.innerHTML=(a6.node.string+am)[aI](/"));a6.W=a2.w=a6.paper.span.offsetWidth;a6.H=a2.h=a6.paper.span.offsetHeight;a6.X=a2.x;a6.Y=a2.y+J(a6.H/2);switch(a2["text-anchor"]){case"start":a6.node.style["v-text-align"]="left";a6.bbx=J(a6.W/2);break;case"end":a6.node.style["v-text-align"]="right";a6.bbx=-J(a6.W/2);break;default:a6.node.style["v-text-align"]="center";break;}}};var b=function(e,aU){e.attrs=e.attrs||{};var aV=e.attrs,aX=e.node.getElementsByTagName("fill"),aS="linear",aT=".5 .5";e.attrs.gradient=aU;aU=(aU+am)[aI](al,function(aZ,a0,i){aS="radial";if(a0&&i){a0=P(a0);i=P(i);aF(a0-0.5,2)+aF(i-0.5,2)>0.25&&(i=W.sqrt(0.25-aF(a0-0.5,2))*((i>0.5)*2-1)+0.5);aT=a0+ah+i;}return am;});aU=aU[w](/\s*\-\s*/);if(aS=="linear"){var E=aU.shift();E=-P(E);if(isNaN(E)){return null;}}var S=n(aU);if(!S){return null;}e=e.shape||e.node;aX=aX[0]||ab("fill");if(S[l]){aX.on=true;aX.method="none";aX.type=(aS=="radial")?"gradientradial":"gradient";aX.color=S[0].color;aX.color2=S[S[l]-1].color;var aY=[];for(var R=0,aW=S[l];R');};}catch(aa){var ab=function(e){return G.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var t=function(){var R=aj[aO](null,arguments),i=R.container,aW=R.height,aX,E=R.width,aV=R.x,aU=R.y;if(!i){throw new Error("VML container not found.");}var aS={},aT=aS.canvas=G.createElement("div"),S=aT.style;E=E||512;aW=aW||342;E==+E&&(E+="px");aW==+aW&&(aW+="px");aS.width=1000;aS.height=1000;aS.coordsize="1000 1000";aS.coordorigin="0 0";aS.span=G.createElement("span");aS.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aT[aE](aS.span);S.cssText=ai.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aW);if(i==1){G.body[aE](aT);S.left=aV+"px";S.top=aU+"px";i={style:{width:E,height:aW}};}else{i.style.width=E;i.style.height=aW;if(i.firstChild){i.insertBefore(aT,i.firstChild);}else{i[aE](aT);}}for(var e in aJ){if(aJ[L](e)){aS[e]=aJ[e];}}az.call(aS,aS,ai.fn);aS.top=aS.bottom=null;aS.raphael=ai;return aS;};aJ.clear=function(){this.canvas.innerHTML=am;this.bottom=this.top=null;};aJ.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aJ.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aJ.safari=function(){};}var Z=(function(){if(G.addEventListener){return function(S,E,i,e){var R=function(aS){return i.call(e,aS);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(G.attachEvent){return function(aS,R,E,i){var S=function(aT){return E.call(i,aT||an.event);};aS.attachEvent("on"+R,S);var e=function(){aS.detachEvent("on"+R,S);return true;};return e;};}}})();for(var X=A[l];X--;){(function(e){aq[aQ][e]=function(i){if(ai.is(i,"function")){this.events=this.events||[];this.events.push({name:e,f:i,unbind:Z(this.shape||this.node,e,i,this)});}return this;};aq[aQ]["un"+e]=function(R){var E=this.events,i=E[l];while(i--){if(E[i].name==e&&E[i].f==R){E[i].unbind();E.splice(i,1);!E.length&&delete this.events;return this;}}return this;};})(A[X]);}aq[aQ].hover=function(i,e){return this.mouseover(i).mouseout(e);};aq[aQ].unhover=function(i,e){return this.unmouseover(i).unmouseout(e);};aJ.circle=function(e,E,i){return K(this,e||0,E||0,i||0);};aJ.rect=function(e,S,i,E,R){return ay(this,e||0,S||0,i||0,E||0,R||0);};aJ.ellipse=function(e,R,E,i){return ac(this,e||0,R||0,E||0,i||0);};aJ.path=function(e){e&&!ai.is(e,"string")&&!ai.is(e[0],"array")&&(e+=am);return o(ai.format[aO](ai,arguments),this);};aJ.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aJ.text=function(e,E,i){return Q(this,e||0,E||0,i||am);};aJ.set=function(e){arguments[l]>1&&(e=Array[aQ].splice.call(arguments,0,arguments[l]));return new M(e);};aJ.setSize=aN;function r(){return this.x+ah+this.y;}aq[aQ].scale=function(aZ,aY,R,E){if(aZ==null&&aY==null){return{x:this._.sx,y:this._.sy,toString:r};}aY=aY||aZ;!+aY&&(aY=aZ);var a3,a1,a2,a0,bf=this.attrs;if(aZ!=0){var aX=this.getBBox(),aU=aX.x+aX.width/2,S=aX.y+aX.height/2,be=aZ/this._.sx,bd=aY/this._.sy;R=(+R||R==0)?R:aU;E=(+E||E==0)?E:S;var aW=~~(aZ/W.abs(aZ)),aT=~~(aY/W.abs(aY)),a5=this.node.style,bh=R+(aU-R)*be,bg=E+(S-E)*bd;switch(this.type){case"rect":case"image":var aV=bf.width*aW*be,a8=bf.height*aT*bd;this.attr({height:newh,r:bf.r*aB(aW*be,aT*bd),width:aV,x:bh-aV/2,y:bg-newh/2});break;case"circle":case"ellipse":this.attr({rx:bf.rx*aW*be,ry:bf.ry*aT*bd,r:bf.r*aB(aW*be,aT*bd),cx:bh,cy:bg});break;case"path":var a7=Y(bf.path),a9=true;for(var bc=0,a4=a7[l];bc":function(e){return aF(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aF(e,3)/2;}e-=2;return(aF(e,3)+2)/2;},backIn:function(i){var e=1.70158;return i*i*((e+1)*i-e);},backOut:function(i){i=i-1;var e=1.70158;return i*i*((e+1)*i+e)+1;},elastic:function(E){if(E==0||E==1){return E;}var i=0.3,e=i/4;return aF(2,-10*E)*W.sin((E-e)*(2*W.PI)/i)+1;},bounce:function(R){var i=7.5625,E=2.75,e;if(R<(1/E)){e=i*R*R;}else{if(R<(2/E)){R-=(1.5/E);e=i*R*R+0.75;}else{if(R<(2.5/E)){R-=(2.25/E);e=i*R*R+0.9375;}else{R-=(2.625/E);e=i*R*R+0.984375;}}}return e;}};var D={length:0},aK=function(){var aV=+new Date;for(var a6 in D){if(a6!="length"&&D[L](a6)){var bb=D[a6];if(bb.stop){delete D[a6];D[l]--;continue;}var aT=aV-bb.start,a4=bb.ms,a3=bb.easing,a7=bb.from,a0=bb.diff,R=bb.to,aZ=bb.t,a2=bb.prev||0,aU=bb.el,S=bb.callback,a1={},E;if(aT255?255:(e<0?0:e);},q=function(e,E){if(e==null){return{x:this._.tx,y:this._.ty,toString:r};}this._.tx+=+e;this._.ty+=+E;switch(this.type){case"circle":case"ellipse":this.attr({cx:+e+this.attrs.cx,cy:+E+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+e+this.attrs.x,y:+E+this.attrs.y});break;case"path":var i=Y(this.attrs.path);i[0][1]+=+e;i[0][2]+=+E;this.attr({path:i});break;}return this;};aq[aQ].animateWith=function(i,E,e,S,R){D[i.id]&&(E.start=D[i.id].start);return this.animate(E,e,S,R);};aq[aQ].onAnimation=function(e){this._run=e||null;return this;};aq[aQ].animate=function(S,e,aY,a4){if(ai.is(aY,"function")||!aY){a4=aY||null;}var aZ={},a0={},a1={};for(var aX in S){if(S[L](aX)){if(U[L](aX)){aZ[aX]=this.attr(aX);(aZ[aX]==null)&&(aZ[aX]=h[aX]);a0[aX]=S[aX];switch(U[aX]){case"number":a1[aX]=(a0[aX]-aZ[aX])/e;break;case"colour":aZ[aX]=ai.getRGB(aZ[aX]);var aV=ai.getRGB(a0[aX]);a1[aX]={r:(aV.r-aZ[aX].r)/e,g:(aV.g-aZ[aX].g)/e,b:(aV.b-aZ[aX].b)/e};break;case"path":var E=C(aZ[aX],a0[aX]);aZ[aX]=E[0];var R=E[1];a1[aX]=[];for(var aU=0,a3=aZ[aX][l];aU