var Cufon=function(){function u(){G||(c.addClass(b.root(),z),clearTimeout(F),F=setTimeout(function(){G=!0,c.removeClass(b.root(),z),t(document),G=!1},100))}function t(a){var b,c,d,e,f,g,h,i;b=a.getElementsByTagName(x);for(i=0;c=b[i];++i){c.className=y,e=d=c.parentNode;if(e.nodeName.toLowerCase()!=w)f=document.createElement(w),f.appendChild(c.previousSibling),d.insertBefore(f,c),f.appendChild(c);else{e=e.parentNode;if(e.nodeName.toLowerCase()==w){d=e.parentNode;while(e.firstChild)d.insertBefore(e.firstChild,e);d.removeChild(e)}}}for(i=0;c=b[i];++i)c.className="",e=c.parentNode,d=e.parentNode,g=e.nextSibling||d.nextSibling,h=g.nodeName.toLowerCase()==w?e:c.previousSibling,h.offsetTop>=g.offsetTop&&(c.className=y,h.offsetTop<g.offsetTop&&(f=document.createElement(w),d.insertBefore(f,e),f.appendChild(e),f.appendChild(g)))}function s(a,b){var d=a.nodeName.toLowerCase();if(!b.ignore[d]){if(b.ignoreClass&&b.ignoreClass.test(a.className))return;b.onBeforeReplace&&b.onBeforeReplace(a,b);var e=!b.textless[d],f=b.trim==="simple",g=c.getStyle(k(a,b)).extend(b);if(parseFloat(g.get("fontSize"))===0)return;var h=m(a,g),i,l,n,o,p,r,s=b.softHyphens,v=!1,w,y,z=/\u00ad/g,A=b.modifyText;if(!h)return;for(i=a.firstChild;i;i=n){l=i.nodeType,n=i.nextSibling;if(e&&l==3){s&&a.nodeName.toLowerCase()!=x&&(w=i.data.indexOf("\u00ad"),w>=0&&(i.splitText(w),n=i.nextSibling,n.deleteData(0,1),y=document.createElement(x),y.appendChild(document.createTextNode("\u00ad")),a.insertBefore(y,n),n=y,v=!0)),o?(o.appendData(i.data),a.removeChild(i)):o=i;if(n)continue}o&&(p=o.data,s||(p=p.replace(z,"")),p=c.whiteSpace(p,g,o,r,f),A&&(p=A(p,o,a,b)),a.replaceChild(q(h,p,g,b,i,a),o),o=null),l==1&&(i.firstChild&&(i.nodeName.toLowerCase()=="cufon"?H[b.engine](h,null,g,b,i,a):arguments.callee(i,b)),r=i)}s&&v&&(t(a),E||j(window,"resize",u),E=!0),b.onAfterReplace&&b.onAfterReplace(a,b)}}function r(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent("on"+b,c)}function q(a,b,d,e,f,g){var h=document.createDocumentFragment(),i;if(b==="")return h;var j=e.separate,k=b.split(K[j]),l=j=="words";l&&v&&(/^\s/.test(b)&&k.unshift(""),/\s$/.test(b)&&k.push(""));for(var m=0,n=k.length;m<n;++m)i=H[e.engine](a,l?c.textAlign(k[m],d,m,n):k[m],d,e,f,g,m<n-1),i&&h.appendChild(i);return h}function p(){var a={},b,c;for(var d=0,e=arguments.length;b=arguments[d],d<e;++d)for(c in b)o(b,c)&&(a[c]=b[c]);return a}function o(a,b){return a.hasOwnProperty(b)}function n(a){return document.getElementsByTagName(a)}function m(a,b){var d=c.quotedList(b.get("fontFamily").toLowerCase()),e;for(var f=0;e=d[f];++f)if(I[e])return I[e].get(b.get("fontStyle"),b.get("fontWeight"));return null}function l(a){var b={};return function(c){o(b,c)||(b[c]=a.apply(null,arguments));return b[c]}}function k(a,b){if(b._mediatorMode)return a;var c=A.get(a),d=c.options;if(d){if(d===b)return a;d.hover&&B.detach(a)}b.hover&&b.hoverables[a.nodeName.toLowerCase()]&&B.attach(a),c.options=b;return a}function j(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)}function i(a){var b={},d={};this.extend=function(a){for(var c in a)o(a,c)&&(b[c]=a[c]);return this},this.get=function(c){return b[c]!=undefined?b[c]:a[c]},this.getSize=function(a,b){return d[a]||(d[a]=new c.Size(this.get(a),b))},this.isUsable=function(){return!!a}}function h(){function c(a){return a.cufid||(a.cufid=++b)}var a={},b=0;this.get=function(b){var d=c(b);return a[d]||(a[d]={})}}function g(){function d(a){var d=[],e;for(var f=0;e=a[f];++f)d[f]=b[c[e]];return d}var b=[],c={};this.add=function(a,d){c[a]=b.push(d)-1},this.repeat=function(){var c=arguments.length?d(arguments):b,e;for(var f=0;e=c[f++];)a.replace(e[0],e[1],!0)}}function f(){function e(b,c){setTimeout(function(){var d=A.get(b).options;c&&(d=p(d,d.hover),d._mediatorMode=1),a.replace(b,d,!0)},10)}function d(a){a||(a=window.event),e(a.target||a.srcElement,a.type=="mouseenter")}function c(a){var c=a.relatedTarget;(!c||!b(this,c))&&e(this,a.type=="mouseover")}function b(a,b){try{if(a.contains)return a.contains(b);return a.compareDocumentPosition(b)&16}catch(c){}return!1}this.attach=function(a){a.onmouseenter===undefined?(j(a,"mouseover",c),j(a,"mouseout",c)):(j(a,"mouseenter",d),j(a,"mouseleave",d))},this.detach=function(a){a.onmouseenter===undefined?(r(a,"mouseover",c),r(a,"mouseout",c)):(r(a,"mouseenter",d),r(a,"mouseleave",d))}}function e(){var a={},b={oblique:"italic",italic:"oblique"};this.add=function(b){(a[b.style]||(a[b.style]={}))[b.weight]=b},this.get=function(c,d){var e=a[c]||a[b[c]]||a.normal||a.italic||a.oblique;if(!e)return null;d={normal:400,bold:700}[d]||parseInt(d,10);if(e[d])return e[d];var f={1:1,99:0}[d%100],g=[],h,i;f===undefined&&(f=d>400),d==500&&(d=400);for(var j in e){if(!o(e,j))continue;j=parseInt(j,10);if(!h||j<h)h=j;if(!i||j>i)i=j;g.push(j)}d<h&&(d=h),d>i&&(d=i),g.sort(function(a,b){return(f?a>=d&&b>=d?a<b:a>b:a<=d&&b<=d?a>b:a<b)?-1:1});return e[g[0]]}}function d(a){var b=this.face=a.face,c={" ":1,"\u00a0":1,"\u3000":1};this.glyphs=function(a){var b,c={"\u2011":"-","\u00ad":"\u2011"};for(b in c){if(!o(c,b))continue;a[b]||(a[b]=a[c[b]])}return a}(a.glyphs),this.w=a.w,this.baseSize=parseInt(b["units-per-em"],10),this.family=b["font-family"].toLowerCase(),this.weight=b["font-weight"],this.style=b["font-style"]||"normal",this.viewBox=function(){var a=b.bbox.split(/\s+/),c={minX:parseInt(a[0],10),minY:parseInt(a[1],10),maxX:parseInt(a[2],10),maxY:parseInt(a[3],10)};c.width=c.maxX-c.minX,c.height=c.maxY-c.minY,c.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return c}(),this.ascent=-parseInt(b.ascent,10),this.descent=-parseInt(b.descent,10),this.height=-this.ascent+this.descent,this.spacing=function(a,b,d){var e=this.glyphs,f,g,h,i=[],j=0,k,l=-1,m=-1,n;while(n=a[++l]){f=e[n]||this.missingGlyph;if(!f)continue;g&&(j-=h=g[n]||0,i[m]-=h),k=f.w,isNaN(k)&&(k=+this.w),k>0&&(k+=b,c[n]&&(k+=d)),j+=i[++m]=~~k,g=f.k}i.total=j;return i}}var a=function(){return a.replace.apply(null,arguments)},b=a.DOM={ready:function(){var a=!1,b={loaded:1,complete:1},c=[],d=function(){if(!a){a=!0;for(var b;b=c.shift();b());}};document.addEventListener&&(document.addEventListener("DOMContentLoaded",d,!1),window.addEventListener("pageshow",d,!1)),!window.opera&&document.readyState&&function(){b[document.readyState]?d():setTimeout(arguments.callee,10)}(),document.readyState&&document.createStyleSheet&&function(){try{document.body.doScroll("left"),d()}catch(a){setTimeout(arguments.callee,1)}}(),j(window,"load",d);return function(b){arguments.length?a?b():c.push(b):d()}}(),root:function(){return document.documentElement||document.body},strict:function(){var a;if(document.compatMode=="BackCompat")return!1;a=document.doctype;if(a)return!/frameset|transitional/i.test(a.publicId);a=document.firstChild;if(a.nodeType!=8||/^DOCTYPE.+(transitional|frameset)/i.test(a.data))return!1;return!0}()},c=a.CSS={Size:function(a,b){this.value=parseFloat(a),this.unit=String(a).match(/[a-z%]*$/)[0]||"px",this.convert=function(a){return a/b*this.value},this.convertFrom=function(a){return a/this.value*b},this.toString=function(){return this.value+this.unit}},addClass:function(a,b){var c=a.className;a.className=c+(c&&" ")+b;return a},color:l(function(a){var b={};b.color=a.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(a,c,d){b.opacity=parseFloat(d);return"rgb("+c+")"});return b}),fontStretch:l(function(a){if(typeof a=="number")return a;if(/%$/.test(a))return parseFloat(a)/100;return{"ultra-condensed":.5,"extra-condensed":.625,condensed:.75,"semi-condensed":.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[a]||1}),getStyle:function(a){var b=document.defaultView;if(b&&b.getComputedStyle)return new i(b.getComputedStyle(a,null));if(a.currentStyle)return new i(a.currentStyle);return new i(a.style)},gradient:l(function(a){var b={id:a,type:a.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},c=a.substr(a.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var d=0,e=c.length,f;d<e;++d)f=c[d].split("=",2).reverse(),b.stops.push([f[1]||d/(e-1),f[0]]);return b}),quotedList:l(function(a){var b=[],c=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,d;while(d=c.exec(a))b.push(d[3]||d[1]);return b}),recognizesMedia:l(function(a){var b=document.createElement("style"),c,d,e;b.type="text/css",b.media=a;try{b.appendChild(document.createTextNode("/**/"))}catch(f){}d=n("head")[0],d.insertBefore(b,d.firstChild),c=b.sheet||b.styleSheet,e=c&&!c.disabled,d.removeChild(b);return e}),removeClass:function(a,b){var c=RegExp("(?:^|\\s+)"+b+"(?=\\s|$)","g");a.className=a.className.replace(c,"");return a},supports:function(a,b){var c=document.createElement("span").style;if(c[a]===undefined)return!1;c[a]=b;return c[a]===b},textAlign:function(a,b,c,d){b.get("textAlign")=="right"?c>0&&(a=" "+a):c<d-1&&(a+=" ");return a},textShadow:l(function(a){if(a=="none")return null;var b=[],c={},d,e=0,f=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(d=f.exec(a))d[0]==","?(b.push(c),c={},e=0):d[1]?c.color=d[1]:c[["offX","offY","blur"][e++]]=d[2];b.push(c);return b}),textTransform:function(){var a={uppercase:function(a){return a.toUpperCase()},lowercase:function(a){return a.toLowerCase()},capitalize:function(a){return a.replace(/(?:^|\s)./g,function(a){return a.toUpperCase()})}};return function(b,c){var d=a[c.get("textTransform")];return d?d(b):b}}(),whiteSpace:function(){var a={inline:1,"inline-block":1,"run-in":1},b=/^\s+/,c=/\s+$/;return function(d,e,f,g,h){if(h)return d.replace(b,"").replace(c,"");g&&g.nodeName.toLowerCase()=="br"&&(d=d.replace(b,""));if(a[e.get("display")])return d;f.previousSibling||(d=d.replace(b,"")),f.nextSibling||(d=d.replace(c,""));return d}}()};c.ready=function(){function l(){if(document.createStyleSheet)return!0;var a,b;for(b=0;a=g[b];++b)if(a.rel.toLowerCase()=="stylesheet"&&!j(a))return!1;for(b=0;a=h[b];++b)if(!j(a))return!1;return!0}function k(a,b){if(!c.recognizesMedia(b||"all"))return!0;if(!a||a.disabled)return!1;try{var d=a.cssRules,e;if(d)search:for(var f=0,g=d.length;e=d[f],f<g;++f)switch(e.type){case 2:break;case 3:if(!k(e.styleSheet,e.media.mediaText))return!1;break;default:break search}}catch(h){}return!0}function j(a){if(!i[a.type.toLowerCase()])return!0;return a.disabled||k(a.sheet,a.media||"screen")}var a=!c.recognizesMedia("all"),d=!1,e=[],f=function(){a=!0;for(var b;b=e.shift();b());},g=n("link"),h=n("style"),i={"":1,"text/css":1};b.ready(function(){d||(d=c.getStyle(document.body).isUsable()),a||d&&l()?f():setTimeout(arguments.callee,10)});return function(b){a?b():e.push(b)}}();var v=" ".split(/\s+/).length==0,w="cufonglue",x="cufonshy",y="cufon-shy-disabled",z="cufon-viewport-resizing",A=new h,B=new f,C=new g,D=!1,E=!1,F,G=!1,H={},I={},J={autoDetect:!1,engine:null,forceHitArea:!1,hover:!1,hoverables:{a:!0},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,noscript:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},ignoreClass:null,modifyText:null,onAfterReplace:null,onBeforeReplace:null,printable:!0,selector:window.Sizzle||window.jQuery&&function(a){return jQuery(a)}||window.dojo&&dojo.query||window.glow&&glow.dom&&glow.dom.get||window.Ext&&Ext.query||window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query||window.$$&&function(a){return $$(a)}||window.$&&function(a){return $(a)}||document.querySelectorAll&&function(a){return document.querySelectorAll(a)}||n,separate:"words",softHyphens:!0,textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none",trim:"advanced"},K={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};a.now=function(){b.ready();return a},a.refresh=function(){C.repeat.apply(C,arguments);return a},a.registerEngine=function(b,c){if(!c)return a;H[b]=c;return a.set("engine",b)},a.registerFont=function(b){if(!b)return a;var c=new d(b),f=c.family;I[f]||(I[f]=new e),I[f].add(c);return a.set("fontFamily",'"'+f+'"')},a.replace=function(d,e,f){e=p(J,e);if(!e.engine)return a;D||(c.addClass(b.root(),"cufon-active cufon-loading"),c.ready(function(){c.addClass(c.removeClass(b.root(),"cufon-loading"),"cufon-ready")}),D=!0),e.hover&&(e.forceHitArea=!0),e.autoDetect&&delete e.fontFamily,typeof e.ignoreClass=="string"&&(e.ignoreClass=new RegExp("(?:^|\\s)(?:"+e.ignoreClass.replace(/\s+/g,"|")+")(?:\\s|$)")),typeof e.textShadow=="string"&&(e.textShadow=c.textShadow(e.textShadow)),typeof e.color=="string"&&/^-/.test(e.color)?e.textGradient=c.gradient(e.color):delete e.textGradient,typeof d=="string"?(f||C.add(d,arguments),d=[d]):d.nodeType&&(d=[d]),c.ready(function(){for(var b=0,c=d.length;b<c;++b){var f=d[b];typeof f=="string"?a.replace(e.selector(f),e,!0):s(f,e)}});return a},a.set=function(b,c){J[b]=c;return a};return a}();Cufon.registerEngine("vml",function(){function h(a){var b=a.id;if(!g[b]){var c=a.stops,d=document.createElement("cvml:fill"),e=[];d.type="gradient",d.angle=180,d.focus="0",d.method="none",d.color=c[0][1];for(var f=1,h=c.length-1;f<h;++f)e.push(c[f][0]*100+"% "+c[f][1]);d.colors=e.join(","),d.color2=c[h][1],g[b]=d}return g[b]}function f(a,b,c,d){var f="computed"+d,g=b[f];isNaN(g)&&(g=b.get(d),b[f]=g=g=="normal"?0:~~c.convertFrom(e(a,g)));return g}function e(a,b){if(!isNaN(b)||/px$/i.test(b))return parseFloat(b);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left,a.style.left=b.replace("%","em");var e=a.style.pixelLeft;a.style.left=c,a.runtimeStyle.left=d;return e}function d(a,b){return e(a,/(?:em|ex|%)$|^[a-z-]+$/i.test(b)?"1em":b)}var a=document.namespaces;if(!!a){a.add("cvml","urn:schemas-microsoft-com:vml"),a=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize)return;b=null;var c=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(c?"middle":"text-bottom")+";}"+"cufon cufontext{position:absolute;left:-10000in;font-size:1px;text-align:left;}"+"cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}"+"cufonglue{white-space:nowrap;display:inline-block;}"+".cufon-viewport-resizing cufonglue{white-space:normal;}"+"a cufon{cursor:pointer}"+"}"+"@media print{"+"cufon cufoncanvas{display:none;}"+"}"+"</style>").replace(/;/g,"!important;"));var g={};return function(a,b,g,i,j,k,l){var m=b===null;m&&(b=j.alt);var n=a.viewBox,o=g.computedFontSize||(g.computedFontSize=new Cufon.CSS.Size(d(k,g.get("fontSize"))+"px",a.baseSize)),p,q;if(m)p=j,q=j.firstChild;else{p=document.createElement("cufon"),p.className="cufon cufon-vml",p.alt=b,q=document.createElement("cufoncanvas"),p.appendChild(q);if(i.printable){var r=document.createElement("cufontext");r.appendChild(document.createTextNode(b)),p.appendChild(r)}l||p.appendChild(document.createElement("cvml:shape"))}var s=p.style,t=q.style,u=o.convert(n.height),v=Math.ceil(u),w=v/u,x=w*Cufon.CSS.fontStretch(g.get("fontStretch")),y=n.minX,z=n.minY;t.height=v,t.top=Math.round(o.convert(z-a.ascent)),t.left=Math.round(o.convert(y)),s.height=o.convert(a.height)+"px";var A=g.get("color"),B=Cufon.CSS.textTransform(b,g).split(""),C=a.spacing(B,f(k,g,o,"letterSpacing"),f(k,g,o,"wordSpacing"));if(!C.length)return null;var D=C.total,E=-y+D+(n.width-C[C.length-1]),F=o.convert(E*x),G=Math.round(F),H=E+","+n.height,I,J="r"+H+"ns",K=i.textGradient&&h(i.textGradient),L=a.glyphs,M=0,N=i.textShadow,O=-1,P=0,Q;while(Q=B[++O]){var R=L[B[O]]||a.missingGlyph,S;if(!R)continue;if(m){S=q.childNodes[P];while(S.firstChild)S.removeChild(S.firstChild)}else S=document.createElement("cvml:shape"),q.appendChild(S);S.stroked="f",S.coordsize=H,S.coordorigin=I=y-M+","+z,S.path=(R.d?"m"+R.d+"xe":"")+"m"+I+J,S.fillcolor=A,K&&S.appendChild(K.cloneNode(!1));var T=S.style;T.width=G,T.height=v;if(N){var U=N[0],V=N[1],W=Cufon.CSS.color(U.color),X,Y=document.createElement("cvml:shadow");Y.on="t",Y.color=W.color,Y.offset=U.offX+","+U.offY,V&&(X=Cufon.CSS.color(V.color),Y.type="double",Y.color2=X.color,Y.offset2=V.offX+","+V.offY),Y.opacity=W.opacity||X&&X.opacity||1,S.appendChild(Y)}M+=C[P++]}var Z=S.nextSibling,$,_;i.forceHitArea?(Z||(Z=document.createElement("cvml:rect"),Z.stroked="f",Z.className="cufon-vml-cover",$=document.createElement("cvml:fill"),$.opacity=0,Z.appendChild($),q.appendChild(Z)),_=Z.style,_.width=G,_.height=v):Z&&q.removeChild(Z),s.width=Math.max(Math.ceil(o.convert(D*x)),0);if(c){var ba=g.computedYAdjust;if(ba===undefined){var bb=g.get("lineHeight");bb=="normal"?bb="1em":isNaN(bb)||(bb+="em"),g.computedYAdjust=ba=.5*(e(k,bb)-parseFloat(s.height))}ba&&(s.marginTop=Math.ceil(ba)+"px",s.marginBottom=ba+"px")}return p}}}()),Cufon.registerEngine("canvas",function(){function f(a,b){for(var c=0,d=a.length;c<d;++c){var e=a[c];b[e.m].apply(b,e.a)}}function e(a,b){var c=0,d=0,e=[],f=/([mrvxe])([^a-z]*)/g,g;generate:for(var h=0;g=f.exec(a);++h){var i=g[2].split(",");switch(g[1]){case"v":e[h]={m:"bezierCurveTo",a:[c+~~i[0],d+~~i[1],c+~~i[2],d+~~i[3],c+=~~i[4],d+=~~i[5]]};break;case"r":e[h]={m:"lineTo",a:[c+=~~i[0],d+=~~i[1]]};break;case"m":e[h]={m:"moveTo",a:[c=~~i[0],d=~~i[1]]};break;case"x":e[h]={m:"closePath"};break;case"e":break generate}b[e[h].m].apply(b,e[h].a)}return e}var a=document.createElement("canvas");if(!(!a||!a.getContext||!a.getContext.apply)){a=null;var b=Cufon.CSS.supports("display","inline-block"),c=!b&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId)),d=document.createElement("style");d.type="text/css",d.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(c?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-align:left;text-indent:-10000in;}"+(b?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}"+"cufonglue{white-space:nowrap;display:inline-block;}"+".cufon-viewport-resizing cufonglue{white-space:normal;}"+"}"+"@media print{"+"cufon{padding:0;}"+"cufon canvas{display:none;}"+"}").replace(/;/g,"!important;"))),document.getElementsByTagName("head")[0].appendChild(d);return function(a,c,d,g,h,i){function P(){var b=a.glyphs,c,d=-1,g=-1,h;M.scale(H,1);while(h=w[++d]){var c=b[w[d]]||a.missingGlyph;if(!c)continue;c.d&&(M.beginPath(),c.code?f(c.code,M):c.code=e("m"+c.d,M),M.fill()),M.translate(x[++g],0)}M.restore()}var j=c===null;j&&(c=h.getAttribute("alt"));var k=a.viewBox,l=d.getSize("fontSize",a.baseSize),m=0,n=0,o=0,p=0,q=g.textShadow,r=[];if(q)for(var s=q.length;s--;){var t=q[s],u=l.convertFrom(parseFloat(t.offX)),v=l.convertFrom(parseFloat(t.offY));r[s]=[u,v],v<m&&(m=v),u>n&&(n=u),v>o&&(o=v),u<p&&(p=u)}var w=Cufon.CSS.textTransform(c,d).split(""),x=a.spacing(w,~~l.convertFrom(parseFloat(d.get("letterSpacing"))||0),~~l.convertFrom(parseFloat(d.get("wordSpacing"))||0));if(!x.length)return null;var y=x.total;n+=k.width-x[x.length-1],p+=k.minX;var z,A;if(j)z=h,A=h.firstChild;else{z=document.createElement("cufon"),z.className="cufon cufon-canvas",z.setAttribute("alt",c),A=document.createElement("canvas"),z.appendChild(A);if(g.printable){var B=document.createElement("cufontext");B.appendChild(document.createTextNode(c)),z.appendChild(B)}}var C=z.style,D=A.style,E=l.convert(k.height),F=Math.ceil(E),G=F/E,H=G*Cufon.CSS.fontStretch(d.get("fontStretch")),I=y*H,J=Math.ceil(l.convert(I+n-p)),K=Math.ceil(l.convert(k.height-m+o));A.width=J,A.height=K,D.width=J+"px",D.height=K+"px",m+=k.minY,D.top=Math.round(l.convert(m-a.ascent))+"px",D.left=Math.round(l.convert(p))+"px";var L=Math.max(Math.ceil(l.convert(I)),0)+"px";b?(C.width=L,C.height=l.convert(a.height)+"px"):(C.paddingLeft=L,C.paddingBottom=l.convert(a.height)-1+"px");var M=A.getContext("2d"),N=E/k.height,O=window.devicePixelRatio||1;O!=1&&(A.width=J*O,A.height=K*O,M.scale(O,O)),M.scale(N,N*G),M.translate(-p,-m),M.save();if(q)for(var s=q.length;s--;){var t=q[s];M.save(),M.fillStyle=t.color,M.translate.apply(M,r[s]),P()}var Q=g.textGradient;if(Q){var R=Q.stops,S=M.createLinearGradient(0,k.minY,0,k.maxY);for(var s=0,T=R.length;s<T;++s)S.addColorStop.apply(S,R[s]);M.fillStyle=S}else M.fillStyle=d.get("color");P();return z}}}());
