/*****************************************************************

typeface.js, version 0.14 | typefacejs.neocracy.org

Copyright (c) 2008 - 2009, David Chester davidchester@gmx.net 

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

*****************************************************************/

(function() {

var _typeface_js = {

	faces: {},

	loadFace: function(typefaceData) {

		var familyName = typefaceData.familyName.toLowerCase();
		
		if (!this.faces[familyName]) {
			this.faces[familyName] = {};
		}
		if (!this.faces[familyName][typefaceData.cssFontWeight]) {
			this.faces[familyName][typefaceData.cssFontWeight] = {};
		}

		var face = this.faces[familyName][typefaceData.cssFontWeight][typefaceData.cssFontStyle] = typefaceData;
		face.loaded = true;
	},

	log: function(message) {
		
		if (this.quiet) {
			return;
		}
		
		message = "typeface.js: " + message;
		
		if (this.customLogFn) {
			this.customLogFn(message);

		} else if (window.console && window.console.log) {
			window.console.log(message);
		}
		
	},
	
	pixelsFromPoints: function(face, style, points, dimension) {
		var pixels = points * parseInt(style.fontSize) * 72 / (face.resolution * 100);
		if (dimension == 'horizontal' && style.fontStretchPercent) {
			pixels *= style.fontStretchPercent;
		}
		return pixels;
	},

	pointsFromPixels: function(face, style, pixels, dimension) {
		var points = pixels * face.resolution / (parseInt(style.fontSize) * 72 / 100);
		if (dimension == 'horizontal' && style.fontStretchPrecent) {
			points *= style.fontStretchPercent;
		}
		return points;
	},

	cssFontWeightMap: {
		normal: 'normal',
		bold: 'bold',
		400: 'normal',
		700: 'bold'
	},

	cssFontStretchMap: {
		'ultra-condensed': 0.55,
		'extra-condensed': 0.77,
		'condensed': 0.85,
		'semi-condensed': 0.93,
		'normal': 1,
		'semi-expanded': 1.07,
		'expanded': 1.15,
		'extra-expanded': 1.23,
		'ultra-expanded': 1.45,
		'default': 1
	},
	
	fallbackCharacter: '.',

	configure: function(args) {
		var configurableOptionNames = [ 'customLogFn',  'customClassNameRegex', 'customTypefaceElementsList', 'quiet', 'verbose', 'disableSelection' ];
		
		for (var i = 0; i < configurableOptionNames.length; i++) {
			var optionName = configurableOptionNames[i];
			if (args[optionName]) {
				if (optionName == 'customLogFn') {
					if (typeof args[optionName] != 'function') {
						throw "customLogFn is not a function";
					} else {
						this.customLogFn = args.customLogFn;
					}
				} else {
					this[optionName] = args[optionName];
				}
			}
		}
	},

	getTextExtents: function(face, style, text) {
		var extentX = 0;
		var extentY = 0;
		var horizontalAdvance;
	
		var textLength = text.length;
		for (var i = 0; i < textLength; i++) {
			var glyph = face.glyphs[text.charAt(i)] ? face.glyphs[text.charAt(i)] : face.glyphs[this.fallbackCharacter];
			var letterSpacingAdjustment = this.pointsFromPixels(face, style, style.letterSpacing);

			// if we're on the last character, go with the glyph extent if that's more than the horizontal advance
			extentX += i + 1 == textLength ? Math.max(glyph.x_max, glyph.ha) : glyph.ha;
			extentX += letterSpacingAdjustment;

			horizontalAdvance += glyph.ha + letterSpacingAdjustment;
		}
		return { 
			x: extentX, 
			y: extentY,
			ha: horizontalAdvance
			
		};
	},

	pixelsFromCssAmount: function(cssAmount, defaultValue, element) {

		var matches = undefined;

		if (cssAmount == 'normal') {
			return defaultValue;

		} else if (matches = cssAmount.match(/([\-\d+\.]+)px/)) {
			return matches[1];

		} else {
			// thanks to Dean Edwards for this very sneaky way to get IE to convert 
			// relative values to pixel values
			
			var pixelAmount;
			
			var leftInlineStyle = element.style.left;
			var leftRuntimeStyle = element.runtimeStyle.left;

			element.runtimeStyle.left = element.currentStyle.left;

			if (!cssAmount.match(/\d(px|pt)$/)) {
				element.style.left = '1em';
			} else {
				element.style.left = cssAmount || 0;
			}

			pixelAmount = element.style.pixelLeft;
		
			element.style.left = leftInlineStyle;
			element.runtimeStyle.left = leftRuntimeStyle;
			
			return pixelAmount || defaultValue;
		}
	},

	capitalizeText: function(text) {
		return text.replace(/(^|\s)[a-z]/g, function(match) { return match.toUpperCase() } ); 
	},

	getElementStyle: function(e) {
		if (window.getComputedStyle) {
			return window.getComputedStyle(e, '');
		
		} else if (e.currentStyle) {
			return e.currentStyle;
		}
	},

	getRenderedText: function(e) {

		var browserStyle = this.getElementStyle(e.parentNode);

		var inlineStyleAttribute = e.parentNode.getAttribute('style');
		if (inlineStyleAttribute && typeof(inlineStyleAttribute) == 'object') {
			inlineStyleAttribute = inlineStyleAttribute.cssText;
		}

		if (inlineStyleAttribute) {

			var inlineStyleDeclarations = inlineStyleAttribute.split(/\s*\;\s*/);

			var inlineStyle = {};
			for (var i = 0; i < inlineStyleDeclarations.length; i++) {
				var declaration = inlineStyleDeclarations[i];
				var declarationOperands = declaration.split(/\s*\:\s*/);
				inlineStyle[declarationOperands[0]] = declarationOperands[1];
			}
		}

		var style = { 
			color: browserStyle.color, 
			fontFamily: browserStyle.fontFamily.split(/\s*,\s*/)[0].replace(/(^"|^'|'$|"$)/g, '').toLowerCase(), 
			fontSize: this.pixelsFromCssAmount(browserStyle.fontSize, 12, e.parentNode),
			fontWeight: this.cssFontWeightMap[browserStyle.fontWeight],
			fontStyle: browserStyle.fontStyle ? browserStyle.fontStyle : 'normal',
			fontStretchPercent: this.cssFontStretchMap[inlineStyle && inlineStyle['font-stretch'] ? inlineStyle['font-stretch'] : 'default'],
			textDecoration: browserStyle.textDecoration,
			lineHeight: this.pixelsFromCssAmount(browserStyle.lineHeight, 'normal', e.parentNode),
			letterSpacing: this.pixelsFromCssAmount(browserStyle.letterSpacing, 0, e.parentNode),
			textTransform: browserStyle.textTransform
		};

		var face;
		if (
			this.faces[style.fontFamily]  
			&& this.faces[style.fontFamily][style.fontWeight]
		) {
			face = this.faces[style.fontFamily][style.fontWeight][style.fontStyle];
		}

		var text = e.nodeValue;
		
		if (
			e.previousSibling 
			&& e.previousSibling.nodeType == 1 
			&& e.previousSibling.tagName != 'BR' 
			&& this.getElementStyle(e.previousSibling).display.match(/inline/)
		) {
			text = text.replace(/^\s+/, ' ');
		} else {
			text = text.replace(/^\s+/, '');
		}
		
		if (
			e.nextSibling 
			&& e.nextSibling.nodeType == 1 
			&& e.nextSibling.tagName != 'BR' 
			&& this.getElementStyle(e.nextSibling).display.match(/inline/)
		) {
			text = text.replace(/\s+$/, ' ');
		} else {
			text = text.replace(/\s+$/, '');
		}
		
		text = text.replace(/\s+/g, ' ');
	
		if (style.textTransform && style.textTransform != 'none') {
			switch (style.textTransform) {
				case 'capitalize':
					text = this.capitalizeText(text);
					break;
				case 'uppercase':
					text = text.toUpperCase();
					break;
				case 'lowercase':
					text = text.toLowerCase();
					break;
			}
		}

		if (!face) {
			var excerptLength = 12;
			var textExcerpt = text.substring(0, excerptLength);
			if (text.length > excerptLength) {
				textExcerpt += '...';
			}
		
			var fontDescription = style.fontFamily;
			if (style.fontWeight != 'normal') fontDescription += ' ' + style.fontWeight;
			if (style.fontStyle != 'normal') fontDescription += ' ' + style.fontStyle;
		
			this.log("couldn't find typeface font: " + fontDescription + ' for text "' + textExcerpt + '"');
			return;
		}
	
		var words = text.split(/\b(?=\w)/);

		var containerSpan = document.createElement('span');
		containerSpan.className = 'typeface-js-vector-container';
		
		var wordsLength = words.length;
		for (var i = 0; i < wordsLength; i++) {
			var word = words[i];
			
			var vector = this.renderWord(face, style, word);
			
			if (vector) {
				containerSpan.appendChild(vector.element);

				if (!this.disableSelection) {
					var selectableSpan = document.createElement('span');
					selectableSpan.className = 'typeface-js-selected-text';

					var wordNode = document.createTextNode(word);
					selectableSpan.appendChild(wordNode);

					if (this.vectorBackend != 'vml') {
						selectableSpan.style.marginLeft = -1 * (vector.width + 1) + 'px';
					}
					selectableSpan.targetWidth = vector.width;
					//selectableSpan.style.lineHeight = 1 + 'px';

					if (this.vectorBackend == 'vml') {
						vector.element.appendChild(selectableSpan);
					} else {
						containerSpan.appendChild(selectableSpan);
					}
				}
			}
		}

		return containerSpan;
	},

	renderDocument: function(callback) { 
		
		if (!callback)
			callback = function(e) { e.style.visibility = 'visible' };

		var elements = document.getElementsByTagName('*');
		
		var elementsLength = elements.length;
		for (var i = 0; i < elements.length; i++) {
			if (elements[i].className.match(/(^|\s)typeface-js(\s|$)/) || elements[i].tagName.match(/^(H1|H2|H3|H4|H5|H6)$/)) {
				this.replaceText(elements[i]);
				if (typeof callback == 'function') {
					callback(elements[i]);
				}
			}
		}

		if (this.vectorBackend == 'vml') {
			// lamely work around IE's quirky leaving off final dynamic shapes
			var dummyShape = document.createElement('v:shape');
			dummyShape.style.display = 'none';
			document.body.appendChild(dummyShape);
		}
	},

	replaceText: function(e) {

		var childNodes = [];
		var childNodesLength = e.childNodes.length;

		for (var i = 0; i < childNodesLength; i++) {
			this.replaceText(e.childNodes[i]);
		}

		if (e.nodeType == 3 && e.nodeValue.match(/\S/)) {
			var parentNode = e.parentNode;

			if (parentNode.className == 'typeface-js-selected-text') {
				return;
			}

			var renderedText = this.getRenderedText(e);
			
			if (
				parentNode.tagName == 'A' 
				&& this.vectorBackend == 'vml'
				&& this.getElementStyle(parentNode).display == 'inline'
			) {
				// something of a hack, use inline-block to get IE to accept clicks in whitespace regions
				parentNode.style.display = 'inline-block';
				parentNode.style.cursor = 'pointer';
			}

			if (this.getElementStyle(parentNode).display == 'inline') {
				parentNode.style.display = 'inline-block';
			}

			if (renderedText) {	
				if (parentNode.replaceChild) {
					parentNode.replaceChild(renderedText, e);
				} else {
					parentNode.insertBefore(renderedText, e);
					parentNode.removeChild(e);
				}
				if (this.vectorBackend == 'vml') {
					renderedText.innerHTML = renderedText.innerHTML;
				}

				var childNodesLength = renderedText.childNodes.length
				for (var i; i < childNodesLength; i++) {
					
					// do our best to line up selectable text with rendered text

					var e = renderedText.childNodes[i];
					if (e.hasChildNodes() && !e.targetWidth) {
						e = e.childNodes[0];
					}
					
					if (e && e.targetWidth) {
						var letterSpacingCount = e.innerHTML.length;
						var wordSpaceDelta = e.targetWidth - e.offsetWidth;
						var letterSpacing = wordSpaceDelta / (letterSpacingCount || 1);

						if (this.vectorBackend == 'vml') {
							letterSpacing = Math.ceil(letterSpacing);
						}

						e.style.letterSpacing = letterSpacing + 'px';
						e.style.width = e.targetWidth + 'px';
					}
				}
			}
		}
	},

	applyElementVerticalMetrics: function(face, style, e) {

		if (style.lineHeight == 'normal') {
			style.lineHeight = this.pixelsFromPoints(face, style, face.lineHeight);
		}

		var cssLineHeightAdjustment = style.lineHeight - this.pixelsFromPoints(face, style, face.lineHeight);

		e.style.marginTop = Math.round( cssLineHeightAdjustment / 2 ) + 'px';
		e.style.marginBottom = Math.round( cssLineHeightAdjustment / 2) + 'px';
	
	},

	vectorBackends: {

		canvas: {

			_initializeSurface: function(face, style, text) {

				var extents = this.getTextExtents(face, style, text);

				var canvas = document.createElement('canvas');
				if (this.disableSelection) {
					canvas.innerHTML = text;
				}

				canvas.height = Math.round(this.pixelsFromPoints(face, style, face.lineHeight));
				canvas.width = Math.round(this.pixelsFromPoints(face, style, extents.x, 'horizontal'));
	
				this.applyElementVerticalMetrics(face, style, canvas);

				if (extents.x > extents.ha) 
					canvas.style.marginRight = Math.round(this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal')) + 'px';

				var ctx = canvas.getContext('2d');

				var pointScale = this.pixelsFromPoints(face, style, 1);
				ctx.scale(pointScale * style.fontStretchPercent, -1 * pointScale);
				ctx.translate(0, -1 * face.ascender);
				ctx.fillStyle = style.color;

				return { context: ctx, canvas: canvas };
			},

			_renderGlyph: function(ctx, face, char, style) {

				var glyph = face.glyphs[char];

				if (!glyph) {
					//this.log.error("glyph not defined: " + char);
					return this.renderGlyph(ctx, face, this.fallbackCharacter, style);
				}

				if (glyph.o) {

					var outline;
					if (glyph.cached_outline) {
						outline = glyph.cached_outline;
					} else {
						outline = glyph.o.split(' ');
						glyph.cached_outline = outline;
					}

					var outlineLength = outline.length;
					for (var i = 0; i < outlineLength; ) {

						var action = outline[i++];

						switch(action) {
							case 'm':
								ctx.moveTo(outline[i++], outline[i++]);
								break;
							case 'l':
								ctx.lineTo(outline[i++], outline[i++]);
								break;

							case 'q':
								var cpx = outline[i++];
								var cpy = outline[i++];
								ctx.quadraticCurveTo(outline[i++], outline[i++], cpx, cpy);
								break;

							case 'b':
								var x = outline[i++];
								var y = outline[i++];
								ctx.bezierCurveTo(outline[i++], outline[i++], outline[i++], outline[i++], x, y);
								break;
						}
					}					
				}
				if (glyph.ha) {
					var letterSpacingPoints = 
						style.letterSpacing && style.letterSpacing != 'normal' ? 
							this.pointsFromPixels(face, style, style.letterSpacing) : 
							0;

					ctx.translate(glyph.ha + letterSpacingPoints, 0);
				}
			},

			_renderWord: function(face, style, text) {
				var surface = this.initializeSurface(face, style, text);
				var ctx = surface.context;
				var canvas = surface.canvas;
				ctx.beginPath();
				ctx.save();

				var chars = text.split('');
				var charsLength = chars.length;
				for (var i = 0; i < charsLength; i++) {
					this.renderGlyph(ctx, face, chars[i], style);
				}

				ctx.fill();

				if (style.textDecoration == 'underline') {

					ctx.beginPath();
					ctx.moveTo(0, face.underlinePosition);
					ctx.restore();
					ctx.lineTo(0, face.underlinePosition);
					ctx.strokeStyle = style.color;
					ctx.lineWidth = face.underlineThickness;
					ctx.stroke();
				}

				return { element: ctx.canvas, width: Math.floor(canvas.width) };
			
			}
		},

		vml: {

			_initializeSurface: function(face, style, text) {

				var shape = document.createElement('v:shape');

				var extents = this.getTextExtents(face, style, text);
				
				shape.style.width = shape.style.height = style.fontSize + 'px'; 
				shape.style.marginLeft = '-1px'; // this seems suspect...

				if (extents.x > extents.ha) {
					shape.style.marginRight = this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal') + 'px';
				}

				this.applyElementVerticalMetrics(face, style, shape);

				var resolutionScale = face.resolution * 100 / 72;
				shape.coordsize = (resolutionScale / style.fontStretchPercent) + "," + resolutionScale;
				
				shape.coordorigin = '0,' + face.ascender;
				shape.style.flip = 'y';

				shape.fillColor = style.color;
				shape.stroked = false;

				shape.path = 'hh m 0,' + face.ascender + ' l 0,' + face.descender + ' ';

				return shape;
			},

			_renderGlyph: function(shape, face, char, offsetX, style, vmlSegments) {

				var glyph = face.glyphs[char];

				if (!glyph) {
					this.log("glyph not defined: " + char);
					this.renderGlyph(shape, face, this.fallbackCharacter, offsetX, style);
					return;
				}
				
				vmlSegments.push('m');

				if (glyph.o) {
					
					var outline, outlineLength;
					
					if (glyph.cached_outline) {
						outline = glyph.cached_outline;
						outlineLength = outline.length;
					} else {
						outline = glyph.o.split(' ');
						outlineLength = outline.length;

						for (var i = 0; i < outlineLength;) {

							switch(outline[i++]) {
								case 'q':
									outline[i] = Math.round(outline[i++]);
									outline[i] = Math.round(outline[i++]);
								case 'm':
								case 'l':
									outline[i] = Math.round(outline[i++]);
									outline[i] = Math.round(outline[i++]);
									break;
							} 
						}	

						glyph.cached_outline = outline;
					}

					var prevX, prevY;
					
					for (var i = 0; i < outlineLength;) {

						var action = outline[i++];

						var x = Math.round(outline[i++]) + offsetX;
						var y = Math.round(outline[i++]);
	
						switch(action) {
							case 'm':
								vmlSegments.push('xm ', x, ',', y);
								break;
	
							case 'l':
								vmlSegments.push('l ', x, ',', y);
								break;

							case 'q':
								var cpx = outline[i++] + offsetX;
								var cpy = outline[i++];

								var cp1x = Math.round(prevX + 2.0 / 3.0 * (cpx - prevX));
								var cp1y = Math.round(prevY + 2.0 / 3.0 * (cpy - prevY));

								var cp2x = Math.round(cp1x + (x - prevX) / 3.0);
								var cp2y = Math.round(cp1y + (y - prevY) / 3.0);
								
								vmlSegments.push('c ', cp1x, ',', cp1y, ',', cp2x, ',', cp2y, ',', x, ',', y);
								break;

							case 'b':
								var cp1x = Math.round(outline[i++]) + offsetX;
								var cp1y = outline[i++];

								var cp2x = Math.round(outline[i++]) + offsetX;
								var cp2y = outline[i++];

								vmlSegments.push('c ', cp1x, ',', cp1y, ',', cp2x, ',', cp2y, ',', x, ',', y);
								break;
						}

						prevX = x;
						prevY = y;
					}					
				}

				vmlSegments.push('x e');
				return vmlSegments;
			},

			_renderWord: function(face, style, text) {
				var offsetX = 0;
				var shape = this.initializeSurface(face, style, text);
		
				var letterSpacingPoints = 
					style.letterSpacing && style.letterSpacing != 'normal' ? 
						this.pointsFromPixels(face, style, style.letterSpacing) : 
						0;

				letterSpacingPoints = Math.round(letterSpacingPoints);
				var chars = text.split('');
				var vmlSegments = [];
				for (var i = 0; i < chars.length; i++) {
					var char = chars[i];
					vmlSegments = this.renderGlyph(shape, face, char, offsetX, style, vmlSegments);
					offsetX += face.glyphs[char].ha + letterSpacingPoints ;	
				}

				if (style.textDecoration == 'underline') {
					var posY = face.underlinePosition - (face.underlineThickness / 2);
					vmlSegments.push('xm ', 0, ',', posY);
					vmlSegments.push('l ', offsetX, ',', posY);
					vmlSegments.push('l ', offsetX, ',', posY + face.underlineThickness);
					vmlSegments.push('l ', 0, ',', posY + face.underlineThickness);
					vmlSegments.push('l ', 0, ',', posY);
					vmlSegments.push('x e');
				}

				// make sure to preserve trailing whitespace
				shape.path += vmlSegments.join('') + 'm ' + offsetX + ' 0 l ' + offsetX + ' ' + face.ascender;
				
				return {
					element: shape,
					width: Math.floor(this.pixelsFromPoints(face, style, offsetX, 'horizontal'))
				};
			}

		}

	},

	setVectorBackend: function(backend) {

		this.vectorBackend = backend;
		var backendFunctions = ['renderWord', 'initializeSurface', 'renderGlyph'];

		for (var i = 0; i < backendFunctions.length; i++) {
			var backendFunction = backendFunctions[i];
			this[backendFunction] = this.vectorBackends[backend]['_' + backendFunction];
		}
	},
	
	initialize: function() {

		// quit if this function has already been called
		if (arguments.callee.done) return; 
		
		// flag this function so we don't do the same thing twice
		arguments.callee.done = true;

		// kill the timer
		if (window._typefaceTimer) clearInterval(_typefaceTimer);

		this.renderDocument( function(e) { e.style.visibility = 'visible' } );

	}
	
};

// IE won't accept real selectors...
var typefaceSelectors = ['.typeface-js', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];

if (document.createStyleSheet) { 

	var styleSheet = document.createStyleSheet();
	for (var i = 0; i < typefaceSelectors.length; i++) {
		var selector = typefaceSelectors[i];
		styleSheet.addRule(selector, 'visibility: hidden');
	}

	styleSheet.addRule(
		'.typeface-js-selected-text', 
		'-ms-filter: \
			"Chroma(color=black) \
			progid:DXImageTransform.Microsoft.MaskFilter(Color=white) \
			progid:DXImageTransform.Microsoft.MaskFilter(Color=blue) \
			alpha(opacity=30)" !important; \
		color: black; \
		font-family: Modern; \
		position: absolute; \
		white-space: pre; \
		filter: alpha(opacity=0) !important;'
	);

	styleSheet.addRule(
		'.typeface-js-vector-container',
		'position: relative'
	);

} else if (document.styleSheets) {

	if (!document.styleSheets.length) { (function() {
		// create a stylesheet if we need to
		var styleSheet = document.createElement('style');
		styleSheet.type = 'text/css';
		document.getElementsByTagName('head')[0].appendChild(styleSheet);
	})() }

	var styleSheet = document.styleSheets[0];
	document.styleSheets[0].insertRule(typefaceSelectors.join(',') + ' { visibility: hidden; }', styleSheet.cssRules.length); 

	document.styleSheets[0].insertRule(
		'.typeface-js-selected-text { \
			color: rgba(128, 128, 128, 0); \
			opacity: 0.30; \
			position: absolute; \
			font-family: Arial, sans-serif; \
			white-space: pre \
		}', 
		styleSheet.cssRules.length
	);

	try { 
		// set selection style for Mozilla / Firefox
		document.styleSheets[0].insertRule(
			'.typeface-js-selected-text::-moz-selection { background: blue; }', 
			styleSheet.cssRules.length
		); 

	} catch(e) {};

	try { 
		// set styles for browsers with CSS3 selectors (Safari, Chrome)
		document.styleSheets[0].insertRule(
			'.typeface-js-selected-text::selection { background: blue; }', 
			styleSheet.cssRules.length
		); 

	} catch(e) {};

	// most unfortunately, sniff for WebKit's quirky selection behavior
	if (/WebKit/i.test(navigator.userAgent)) {
		document.styleSheets[0].insertRule(
			'.typeface-js-vector-container { position: relative }',
			styleSheet.cssRules.length
		);
	}

}

var backend = !!(window.attachEvent && !window.opera) ? 'vml' : window.CanvasRenderingContext2D || document.createElement('canvas').getContext ? 'canvas' : null;

if (backend == 'vml') {

	document.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML");

	var styleSheet = document.createStyleSheet();
	styleSheet.addRule('v\\:shape', "display: inline-block;");
}

_typeface_js.setVectorBackend(backend);
window._typeface_js = _typeface_js;
	
if (/WebKit/i.test(navigator.userAgent)) {

	var _typefaceTimer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			_typeface_js.initialize(); 
		}
	}, 10);
}

if (document.addEventListener) {
	window.addEventListener('DOMContentLoaded', function() { _typeface_js.initialize() }, false);
} 

/*@cc_on @*/
/*@if (@_win32)

document.write("<script id=__ie_onload_typeface defer src=//:><\/script>");
var script = document.getElementById("__ie_onload_typeface");
script.onreadystatechange = function() {
	if (this.readyState == "complete") {
		_typeface_js.initialize(); 
	}
};

/*@end @*/

try { console.log('initializing typeface.js') } catch(e) {};

})();



/*
 * jQuery 1.2.3 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
 * $Rev: 4663 $
 */
(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
selector=[];}}else
return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else
for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else
ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else
for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})();


/* SWFObject v2.1 rc2 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();


/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */

// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias
(function($) {
	/**
	 * $ is an alias to jQuery object
	 *
	 */
	$.fn.lightBox = function(settings) {
		// Settings to configure the jQuery lightBox plugin how you like
		settings = jQuery.extend({
			// Configuration related to overlay
			overlayBgColor: 		'#000',		// (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color.
			overlayOpacity:			0.8,		// (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9
			// Configuration related to navigation
			fixedNavigation:		false,		// (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface.
			// Configuration related to images
			imageLoading:			'/assets/global/css/images/lightbox-ico-loading.gif',		// (string) Path and the name of the loading icon
			imageBtnPrev:			'/assets/global/css/images/lightbox-btn-prev.gif',			// (string) Path and the name of the prev button image
			imageBtnNext:			'/assets/global/css/images/lightbox-btn-next.gif',			// (string) Path and the name of the next button image
			imageBtnClose:			'/assets/global/css/images/lightbox-btn-close.gif',		// (string) Path and the name of the close btn
			imageBlank:				'/assets/global/css/images/lightbox-blank.gif',			// (string) Path and the name of a blank image (one pixel)
			// Configuration related to container image box
			containerBorderSize:	10,			// (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value
			containerResizeSpeed:	400,		// (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default.
			// Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts.
			txtImage:				'Foto',	// (string) Specify text "Image"
			txtOf:					'van de',		// (string) Specify text "of"
			// Configuration related to keyboard navigation
			keyToClose:				'c',		// (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to.
			keyToPrev:				'p',		// (string) (p = previous) Letter to show the previous image
			keyToNext:				'n',		// (string) (n = next) Letter to show the next image.
			// Don´t alter these variables in any way
			imageArray:				[],
			activeImage:			0
		},settings);
		// Caching the jQuery object with all elements matched
		var jQueryMatchedObj = this; // This, in this context, refer to jQuery object
		/**
		 * Initializing the plugin calling the start function
		 *
		 * @return boolean false
		 */
		function _initialize() {
			_start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked
			return false; // Avoid the browser following the link
		}
		/**
		 * Start the jQuery lightBox plugin
		 *
		 * @param object objClicked The object (link) whick the user have clicked
		 * @param object jQueryMatchedObj The jQuery object with all elements matched
		 */
		function _start(objClicked,jQueryMatchedObj) {
			// Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
			$('embed, object, select').css({ 'visibility' : 'hidden' });
			// Call the function to create the markup structure; style some elements; assign events in some elements.
			_set_interface();
			// Unset total images in imageArray
			settings.imageArray.length = 0;
			// Unset image active information
			settings.activeImage = 0;
			// We have an image set? Or just an image? Let´s see it.
			if ( jQueryMatchedObj.length == 1 ) {
				settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));
			} else {
				// Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references		
				for ( var i = 0; i < jQueryMatchedObj.length; i++ ) {
					settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));
				}
			}
			while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) {
				settings.activeImage++;
			}
			// Call the function that prepares image exibition
			_set_image_to_view();
		}
		/**
		 * Create the jQuery lightBox plugin interface
		 *
		 * The HTML markup will be like that:
			<div id="jquery-overlay"></div>
			<div id="jquery-lightbox">
				<div id="lightbox-container-image-box">
					<div id="lightbox-container-image">
						<img src="../fotos/XX.jpg" id="lightbox-image">
						<div id="lightbox-nav">
							<a href="#" id="lightbox-nav-btnPrev"></a>
							<a href="#" id="lightbox-nav-btnNext"></a>
						</div>
						<div id="lightbox-loading">
							<a href="#" id="lightbox-loading-link">
								<img src="../images/lightbox-ico-loading.gif">
							</a>
						</div>
					</div>
				</div>
				<div id="lightbox-container-image-data-box">
					<div id="lightbox-container-image-data">
						<div id="lightbox-image-details">
							<span id="lightbox-image-details-caption"></span>
							<span id="lightbox-image-details-currentNumber"></span>
						</div>
						<div id="lightbox-secNav">
							<a href="#" id="lightbox-secNav-btnClose">
								<img src="../images/lightbox-btn-close.gif">
							</a>
						</div>
					</div>
				</div>
			</div>
		 *
		 */
		function _set_interface() {
			// Apply the HTML markup into body tag
			$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');	
			// Get page sizes
			var arrPageSizes = ___getPageSize();
			// Style overlay and show it
			$('#jquery-overlay').css({
				backgroundColor:	settings.overlayBgColor,
				opacity:			settings.overlayOpacity,
				width:				arrPageSizes[0],
				height:				arrPageSizes[1]
			}).fadeIn();
			// Get page scroll
			var arrPageScroll = ___getPageScroll();
			// Calculate top and left offset for the jquery-lightbox div object and show it
			$('#jquery-lightbox').css({
				top:	arrPageScroll[1] + (arrPageSizes[3] / 10),
				left:	arrPageScroll[0]
			}).show();
			// Assigning click events in elements to close overlay
			$('#jquery-overlay,#jquery-lightbox').click(function() {
				_finish();									
			});
			// Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects
			$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() {
				_finish();
				return false;
			});
			// If window was resized, calculate the new overlay dimensions
			$(window).resize(function() {
				// Get page sizes
				var arrPageSizes = ___getPageSize();
				// Style overlay and show it
				$('#jquery-overlay').css({
					width:		arrPageSizes[0],
					height:		arrPageSizes[1]
				});
				// Get page scroll
				var arrPageScroll = ___getPageScroll();
				// Calculate top and left offset for the jquery-lightbox div object and show it
				$('#jquery-lightbox').css({
					top:	arrPageScroll[1] + (arrPageSizes[3] / 10),
					left:	arrPageScroll[0]
				});
			});
		}
		/**
		 * Prepares image exibition; doing a image´s preloader to calculate it´s size
		 *
		 */
		function _set_image_to_view() { // show the loading
			// Show the loading
			$('#lightbox-loading').show();
			if ( settings.fixedNavigation ) {
				$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
			} else {
				// Hide some elements
				$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
			}
			// Image preload process
			var objImagePreloader = new Image();
			objImagePreloader.onload = function() {
				$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
				// Perfomance an effect in the image container resizing it
				_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
				//	clear onLoad, IE behaves irratically with animated gifs otherwise
				objImagePreloader.onload=function(){};
			};
			objImagePreloader.src = settings.imageArray[settings.activeImage][0];
		};
		/**
		 * Perfomance an effect in the image container resizing it
		 *
		 * @param integer intImageWidth The image´s width that will be showed
		 * @param integer intImageHeight The image´s height that will be showed
		 */
		function _resize_container_image_box(intImageWidth,intImageHeight) {
			// Get current width and height
			var intCurrentWidth = $('#lightbox-container-image-box').width();
			var intCurrentHeight = $('#lightbox-container-image-box').height();
			// Get the width and height of the selected image plus the padding
			var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value
			var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value
			// Diferences
			var intDiffW = intCurrentWidth - intWidth;
			var intDiffH = intCurrentHeight - intHeight;
			// Perfomance the effect
			$('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); });
			if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) {
				if ( $.browser.msie ) {
					___pause(250);
				} else {
					___pause(100);	
				}
			} 
			$('#lightbox-container-image-data-box').css({ width: intImageWidth });
			$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) });
		};
		/**
		 * Show the prepared image
		 *
		 */
		function _show_image() {
			$('#lightbox-loading').hide();
			$('#lightbox-image').fadeIn(function() {
				_show_image_data();
				_set_navigation();
			});
			_preload_neighbor_images();
		};
		/**
		 * Show the image information
		 *
		 */
		function _show_image_data() {
			$('#lightbox-container-image-data-box').slideDown('fast');
			$('#lightbox-image-details-caption').hide();
			if ( settings.imageArray[settings.activeImage][1] ) {
				$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();
			}
			// If we have a image set, display 'Image X of X'
			if ( settings.imageArray.length > 1 ) {
				$('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show();
			}		
		}
		/**
		 * Display the button navigations
		 *
		 */
		function _set_navigation() {
			$('#lightbox-nav').show();

			// Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just.
			$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
			
			// Show the prev button, if not the first image in set
			if ( settings.activeImage != 0 ) {
				if ( settings.fixedNavigation ) {
					$('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' })
						.unbind()
						.bind('click',function() {
							settings.activeImage = settings.activeImage - 1;
							_set_image_to_view();
							return false;
						});
				} else {
					// Show the images button for Next buttons
					$('#lightbox-nav-btnPrev').unbind().hover(function() {
						$(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' });
					},function() {
						$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
					}).show().bind('click',function() {
						settings.activeImage = settings.activeImage - 1;
						_set_image_to_view();
						return false;
					});
				}
			}
			
			// Show the next button, if not the last image in set
			if ( settings.activeImage != ( settings.imageArray.length -1 ) ) {
				if ( settings.fixedNavigation ) {
					$('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' })
						.unbind()
						.bind('click',function() {
							settings.activeImage = settings.activeImage + 1;
							_set_image_to_view();
							return false;
						});
				} else {
					// Show the images button for Next buttons
					$('#lightbox-nav-btnNext').unbind().hover(function() {
						$(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' });
					},function() {
						$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
					}).show().bind('click',function() {
						settings.activeImage = settings.activeImage + 1;
						_set_image_to_view();
						return false;
					});
				}
			}
			// Enable keyboard navigation
			_enable_keyboard_navigation();
		}
		/**
		 * Enable a support to keyboard navigation
		 *
		 */
		function _enable_keyboard_navigation() {
			$(document).keydown(function(objEvent) {
				_keyboard_action(objEvent);
			});
		}
		/**
		 * Disable the support to keyboard navigation
		 *
		 */
		function _disable_keyboard_navigation() {
			$(document).unbind();
		}
		/**
		 * Perform the keyboard actions
		 *
		 */
		function _keyboard_action(objEvent) {
			// To ie
			if ( objEvent == null ) {
				keycode = event.keyCode;
				escapeKey = 27;
			// To Mozilla
			} else {
				keycode = objEvent.keyCode;
				escapeKey = objEvent.DOM_VK_ESCAPE;
			}
			// Get the key in lower case form
			key = String.fromCharCode(keycode).toLowerCase();
			// Verify the keys to close the ligthBox
			if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) {
				_finish();
			}
			// Verify the key to show the previous image
			if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) {
				// If we´re not showing the first image, call the previous
				if ( settings.activeImage != 0 ) {
					settings.activeImage = settings.activeImage - 1;
					_set_image_to_view();
					_disable_keyboard_navigation();
				}
			}
			// Verify the key to show the next image
			if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) {
				// If we´re not showing the last image, call the next
				if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) {
					settings.activeImage = settings.activeImage + 1;
					_set_image_to_view();
					_disable_keyboard_navigation();
				}
			}
		}
		/**
		 * Preload prev and next images being showed
		 *
		 */
		function _preload_neighbor_images() {
			if ( (settings.imageArray.length -1) > settings.activeImage ) {
				objNext = new Image();
				objNext.src = settings.imageArray[settings.activeImage + 1][0];
			}
			if ( settings.activeImage > 0 ) {
				objPrev = new Image();
				objPrev.src = settings.imageArray[settings.activeImage -1][0];
			}
		}
		/**
		 * Remove jQuery lightBox plugin HTML markup
		 *
		 */
		function _finish() {
			$('#jquery-lightbox').remove();
			$('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); });
			// Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
			$('embed, object, select').css({ 'visibility' : 'visible' });
		}
		/**
		 / THIRD FUNCTION
		 * getPageSize() by quirksmode.com
		 *
		 * @return Array Return an array with page width, height and window width, height
		 */
		function ___getPageSize() {
			var xScroll, yScroll;
			if (window.innerHeight && window.scrollMaxY) {	
				xScroll = window.innerWidth + window.scrollMaxX;
				yScroll = window.innerHeight + window.scrollMaxY;
			} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
				xScroll = document.body.scrollWidth;
				yScroll = document.body.scrollHeight;
			} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
				xScroll = document.body.offsetWidth;
				yScroll = document.body.offsetHeight;
			}
			var windowWidth, windowHeight;
			if (self.innerHeight) {	// all except Explorer
				if(document.documentElement.clientWidth){
					windowWidth = document.documentElement.clientWidth; 
				} else {
					windowWidth = self.innerWidth;
				}
				windowHeight = self.innerHeight;
			} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
				windowWidth = document.documentElement.clientWidth;
				windowHeight = document.documentElement.clientHeight;
			} else if (document.body) { // other Explorers
				windowWidth = document.body.clientWidth;
				windowHeight = document.body.clientHeight;
			}	
			// for small pages with total height less then height of the viewport
			if(yScroll < windowHeight){
				pageHeight = windowHeight;
			} else { 
				pageHeight = yScroll;
			}
			// for small pages with total width less then width of the viewport
			if(xScroll < windowWidth){	
				pageWidth = xScroll;		
			} else {
				pageWidth = windowWidth;
			}
			arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
			return arrayPageSize;
		};
		/**
		 / THIRD FUNCTION
		 * getPageScroll() by quirksmode.com
		 *
		 * @return Array Return an array with x,y page scroll values.
		 */
		function ___getPageScroll() {
			var xScroll, yScroll;
			if (self.pageYOffset) {
				yScroll = self.pageYOffset;
				xScroll = self.pageXOffset;
			} else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
				yScroll = document.documentElement.scrollTop;
				xScroll = document.documentElement.scrollLeft;
			} else if (document.body) {// all other Explorers
				yScroll = document.body.scrollTop;
				xScroll = document.body.scrollLeft;	
			}
			arrayPageScroll = new Array(xScroll,yScroll);
			return arrayPageScroll;
		};
		 /**
		  * Stop the code execution from a escified time in milisecond
		  *
		  */
		 function ___pause(ms) {
			var date = new Date(); 
			curDate = null;
			do { var curDate = new Date(); }
			while ( curDate - date < ms);
		 };
		// Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
		return this.unbind('click').click(_initialize);
	};
})(jQuery); // Call and execute the function immediately passing the jQuery object


/**
 * Validate the input of a user if it is a valid email address
 * @param src; HTMLInputObject
 */

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function handleVisualErrorFloater (obj , result , error ) {
	var div = document.getElementById('error'),e;
	if ( result ) {
		e='';
		div.style.display = 'none'
		obj.className = obj.className.replace(" error", '');
		obj.validated = '1';
	}
	else{
		e = error;
		div.style.display = ''
		obj.className = obj.className.replace(" error", '');
		obj.className = obj.className+' error';
		obj.validated = '0';
	}
	document.getElementById('error-text').innerHTML = e;
	pos = findPos(obj);
	div.style.left = (pos[0]+50)+"px";
	div.style.top  = (pos[1]-30)+"px";
}
 
function validateEmail ( src ) {
	var emailreg = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,5}$/;
	return emailreg.test(src.value);
}

function validateZipcode ( src ) {
	var emailreg = /^[0-9]{4}\s*[a-zA-Z]{2}$/;
	return emailreg.test(src.value);
}
function validateRadio ( src ) {
	var radios = collectRadios ( src.form );
	for(var name in radios) {
		if ( name = src.name ) {
			for ( var i = 0 ; i < radios[name].length ; i++ ) {
		  		if(radios[name][i].checked) {
		  			return true;
		  		}
		  	}
  		}
	}
	return false;
}
function validateDate ( src ) {
	// dd-mm-yyyy
	var datereg = /^[0-3]{1}\d{1}-[0-1]\d{1}-\d{4}$/;
	return datereg.test(src.value);
}
function validateString ( src ) {
	return ( src.value.length > 0 );
}

function validatePasswdLength ( src ) {
	return ( src.value.length > 5 );
}

function validateNumber ( src ) {
	if ( validateString ( src ) ) {
		return !isNaN(src.value);
	}else{
		return false;
	}
}
function validateCheckbox (src) {
	return ( src.value.checked );
}
function checkValidation(method,obj) {
	return method.apply(this,[obj])
}
function handleVisualError(obj , result , error ) {
	if ( result ) {
		e='';
		document.getElementById('e'+obj.name).style.display = 'none'
		obj.className = obj.className.replace(" error", '');
		obj.validated = '1';
	}else{
		e = error;
		document.getElementById('e'+obj.name).style.display = ''
		obj.className = obj.className.replace(" error", '');
		obj.className = obj.className+' error';
		obj.validated = '0';
	}
	document.getElementById('e'+obj.name).innerHTML = e;
}
var checks = new Array();
function setRequiredFields(required) {
	checks = required;
}
function hasValidation(obj) {
	for ( var i = 0 ; i < checks.length ; i++ ) {
		if( obj.name == checks[i] ) {
			return true;
		}
	}
	return false;
}

function collectRadios (fObj) {
	var radios = new Object();
	for ( var i = 0 ; i < fObj.elements.length ; i++ ) {
		var obj = fObj.elements[i];
		if ( obj.type == 'radio' ) {
			if ( typeof ( radios[obj.name] ) != 'object'  ) {
				radios[obj.name] = new Array ();
			}
			radios[obj.name].push ( obj );
		}
	}
	return radios;
}

function submitAjaxForm ( fObj , ajaxFrame ) {
	if ( _submitForm ( fObj ) ) {
		new Ajax.Updater(ajaxFrame, fObj.action, {asynchronous:true, parameters:Form.serialize(fObj)})
	}
	return false;
}

function _submitForm ( fObj ) {
	var _validated = true;
	var radios = collectRadios(fObj);
	for ( var i = fObj.elements.length -1 ; i >= 0  ; i-- ) {
		var obj = fObj.elements[i];
		if ( hasValidation(obj) ) {
			switch ( obj.type ) {
				case "radio":
					var checked = false;
					if ( typeof ( radios[obj.name] ) == 'object' ) {
						for ( var u = 0 ; u < radios[obj.name].length ; u++ ) {
							if ( radios[obj.name][u].checked ) {
								checked = true;
							}
						}
						if ( ! checked ) {
							if ( typeof ( obj.onblur ) == 'function' ) {
								obj.onblur();
								if ( obj.validated == '0' ) {
									_validated = false;
								}
							}
						}
						delete radios[obj.name];
					}
					break;	
				default:			
				case "text":
				case "checkbox":
					if ( typeof ( obj.onblur ) == 'function' ) {
						obj.onblur();
						if ( obj.validated == '0' ) {
							_validated = false;
						}
					}
					break;
			}
		}
	}
	if ( _validated ) {
		return true
	}else{
		return false;
	}
}

function submitForm ( fObj ) {
	if ( _submitForm ( fObj ) ) {
		fObj.submit();
	}
	return false;
}

function report( msg ) {
	document.getElementById('report').innerHTML += msg+"<br />";
}
function setRadioValue( element , value ) {
	for (var i = 0 ; i < element.length ; i ++ ) {
		if ( element[i].value == value ) {
			element[i].checked = true;
		}
	}
}
function setSelectValue( element , value ) {
	for (var i = 0 ; i < element.length ; i ++ ) {
		if ( element[i].value == value ) {
			element.selectedIndex = i;
		}
	}
}


if (_typeface_js && _typeface_js.loadFace) _typeface_js.loadFace({"glyphs":{"S":{"x_min":-5,"x_max":463,"ha":519,"o":"m 463 246 q 402 53 463 124 q 230 -17 341 -17 q 66 59 134 -17 q -5 272 -5 141 q -5 346 -5 294 q 9 376 -5 376 q 88 376 24 376 q 165 376 151 376 q 179 342 179 376 l 179 274 q 233 175 179 175 q 277 243 277 175 l 277 320 q 208 427 277 355 q 75 564 87 549 q 3 722 3 651 l 3 840 q 61 1041 3 966 q 243 1124 124 1124 q 400 1053 342 1124 q 455 879 455 987 l 455 743 q 440 721 455 722 q 291 717 400 717 q 275 740 275 717 q 275 851 275 772 q 263 909 275 881 q 234 938 252 938 q 183 846 183 938 l 183 774 q 254 652 183 731 q 391 505 323 578 q 463 342 463 413 l 463 246 "},"/":{"x_min":-7,"x_max":373.015625,"ha":359,"o":"m 371 1179 q 223 541 346 1068 q 86 -26 96 5 q 80 -57 82 -41 q 47 -67 74 -67 q 31 -65 40 -67 q 14 -64 21 -64 q -7 -50 -4 -64 q -2 -20 -7 -45 q 145 657 29 177 q 274 1178 229 1011 q 308 1210 282 1210 q 331 1212 315 1210 q 356 1212 348 1212 q 371 1179 378 1212 "},"K":{"x_min":-3,"x_max":465.328125,"ha":517,"o":"m 462 10 q 455 -14 470 -12 q 269 -14 455 -14 q 252 5 258 -14 q 176 306 235 69 q 168 330 171 328 q 163 306 163 330 q 163 6 163 206 q 148 -14 163 -14 q 16 -14 16 -14 q -3 12 -3 -14 l -3 1092 q 10 1112 -3 1112 q 157 1112 65 1112 q 167 1092 167 1110 q 167 796 167 841 q 169 787 167 787 q 176 799 173 788 q 250 1089 197 885 q 267 1109 255 1109 q 356 1109 299 1109 q 427 1109 424 1109 q 446 1091 446 1109 q 444 1084 446 1087 q 335 828 416 1024 q 256 618 254 627 q 462 10 333 384 "},"7":{"x_min":3,"x_max":466,"ha":525,"o":"m 466 993 q 457 948 466 964 q 313 527 370 769 q 253 -1 253 276 q 242 -18 253 -18 q 77 -18 144 -18 q 64 -4 64 -18 q 87 279 64 146 q 153 559 102 358 q 213 755 175 644 q 259 885 236 820 q 234 901 265 901 l 35 901 q 3 932 3 901 q 3 1091 3 932 q 38 1113 3 1113 q 242 1113 92 1113 q 438 1113 437 1113 q 466 1087 466 1113 l 466 993 "},"d":{"x_min":16,"x_max":461,"ha":507,"o":"m 461 372 q 218 -17 461 -17 l 35 -17 q 16 6 16 -17 l 16 1098 q 32 1121 16 1119 q 236 1121 77 1121 q 416 1000 357 1121 q 461 750 461 904 l 461 372 m 287 425 l 287 772 q 256 882 287 830 q 189 935 225 935 q 179 915 179 935 q 179 636 179 909 q 179 196 179 363 q 189 176 179 176 q 254 253 222 176 q 287 425 287 330 "},",":{"x_min":35.828125,"x_max":248,"ha":289,"o":"m 248 333 q 248 24 248 283 q 170 -73 248 -43 q 65 -92 122 -92 q 42 -80 42 -92 q 42 -39 42 -68 q 42 5 42 -3 q 58 15 42 15 q 116 30 91 15 q 142 76 142 46 l 142 125 q 120 138 142 138 q 54 138 71 138 q 35 157 35 140 q 35 336 35 222 q 56 352 35 352 q 223 352 174 352 q 248 333 248 352 "},"Y":{"x_min":-9.734375,"x_max":480,"ha":517,"o":"m 477 1073 q 406 859 454 1011 q 332 601 346 668 q 331 549 331 589 q 331 30 331 332 q 307 -12 331 -13 q 167 -10 326 -10 q 142 27 142 -10 q 142 554 142 263 q 140 593 142 565 q -9 1091 84 803 q -2 1112 -11 1101 q 16 1124 5 1122 q 144 1124 79 1124 q 188 1086 182 1124 q 226 904 201 1023 q 242 853 237 853 q 253 904 243 853 q 287 1086 264 966 q 326 1121 295 1118 q 452 1121 372 1121 q 480 1085 480 1121 q 477 1073 480 1079 "},"E":{"x_min":3,"x_max":381.359375,"ha":426,"o":"m 381 -3 q 359 -21 381 -21 q 19 -21 172 -21 q 3 5 3 -19 l 3 1096 q 17 1112 3 1112 q 355 1112 122 1112 q 377 1095 377 1112 q 377 1018 377 1072 q 377 936 377 953 q 362 919 377 919 q 205 919 307 919 q 184 903 184 919 q 184 805 184 896 q 184 688 184 727 q 200 670 184 673 q 326 668 228 668 q 344 652 343 668 q 344 559 344 627 q 344 466 344 480 q 326 447 344 447 q 204 447 326 447 q 188 426 190 447 q 182 205 182 367 q 209 186 182 187 q 359 186 262 186 q 381 169 381 186 q 381 -3 381 56 "},"y":{"x_min":-9.734375,"x_max":480,"ha":517,"o":"m 477 1073 q 406 859 454 1011 q 332 601 346 668 q 331 549 331 589 q 331 30 331 332 q 307 -12 331 -13 q 167 -10 326 -10 q 142 27 142 -10 q 142 554 142 263 q 140 593 142 565 q -9 1091 84 803 q -2 1112 -11 1101 q 16 1124 5 1122 q 144 1124 79 1124 q 188 1086 182 1124 q 226 904 201 1023 q 242 853 237 853 q 253 904 243 853 q 287 1086 264 966 q 326 1121 295 1118 q 452 1121 372 1121 q 480 1085 480 1121 q 477 1073 480 1079 "},"\"":{"x_min":44,"x_max":431,"ha":494,"o":"m 431 879 q 411 733 431 851 q 395 717 409 718 q 301 717 384 717 q 289 730 297 717 q 279 753 281 744 q 266 879 266 822 l 266 1094 q 271 1107 266 1101 q 282 1113 276 1113 q 411 1113 324 1113 q 431 1087 431 1113 q 431 879 431 901 m 213 873 q 189 730 213 870 q 173 714 187 715 q 79 714 162 714 q 63 728 65 714 q 44 877 44 825 l 44 1092 q 48 1105 44 1099 q 60 1111 53 1111 q 148 1111 103 1111 q 213 1081 213 1111 q 213 873 213 895 "},"g":{"x_min":18,"x_max":503,"ha":563,"o":"m 503 23 q 489 -14 503 -14 l 451 -14 q 433 3 438 -14 q 415 52 428 21 q 264 -17 392 -17 q 68 55 124 -17 q 18 266 18 119 l 18 832 q 75 1065 18 1004 q 251 1120 124 1120 q 458 1042 404 1120 q 500 854 500 986 q 500 672 500 731 q 483 649 500 649 q 335 649 436 649 q 315 671 315 649 q 315 833 315 753 q 263 945 305 945 q 211 835 211 945 l 211 251 q 224 198 211 229 q 263 161 241 161 q 318 310 318 161 l 318 381 q 306 398 318 399 q 274 398 306 398 q 262 410 262 398 q 262 544 262 410 q 282 565 262 565 q 482 565 354 565 q 503 541 503 565 q 503 23 503 541 "},"e":{"x_min":3,"x_max":381.359375,"ha":426,"o":"m 381 -3 q 359 -21 381 -21 q 19 -21 172 -21 q 3 5 3 -19 l 3 1096 q 17 1112 3 1112 q 355 1112 122 1112 q 377 1095 377 1112 q 377 1018 377 1072 q 377 936 377 953 q 362 919 377 919 q 205 919 307 919 q 184 903 184 919 q 184 805 184 896 q 184 688 184 727 q 200 670 184 673 q 326 668 228 668 q 344 652 343 668 q 344 559 344 627 q 344 466 344 480 q 326 447 344 447 q 204 447 326 447 q 188 426 190 447 q 182 205 182 367 q 209 186 182 187 q 359 186 262 186 q 381 169 381 186 q 381 -3 381 56 "},"J":{"x_min":-5,"x_max":459,"ha":511,"o":"m 459 1066 q 459 287 459 980 q 395 72 459 161 q 223 -19 329 -19 q 63 45 127 -19 q -5 225 -5 113 q -5 426 -5 388 q 19 456 -2 456 q 138 454 65 454 q 162 420 162 454 q 165 291 165 394 q 227 168 165 162 q 286 291 286 173 l 286 1066 q 310 1096 286 1096 q 437 1096 359 1096 q 459 1066 459 1096 "},"â€":{"x_min":61,"x_max":373,"ha":412,"o":"m 373 384 q 348 361 373 361 q 86 361 257 361 q 62 380 65 361 q 61 551 61 390 q 86 572 61 572 q 349 572 210 572 q 373 554 373 572 l 373 384 "},"q":{"x_min":7,"x_max":428,"ha":477,"o":"m 428 242 q 411 109 428 174 q 301 -8 379 -8 q 274 -31 274 -8 q 287 -60 274 -58 q 405 -60 287 -60 q 413 -66 408 -60 q 418 -78 418 -73 q 418 -107 418 -82 q 418 -163 418 -132 q 408 -175 418 -175 q 295 -175 382 -175 q 201 -175 209 -175 q 175 -161 188 -175 q 163 -135 163 -147 q 165 -100 163 -125 q 168 -62 168 -75 q 131 -6 168 -6 q 47 56 84 -6 q 7 237 7 127 l 7 894 q 213 1124 7 1124 q 428 912 428 1124 l 428 242 m 267 296 l 267 831 q 254 915 267 894 q 219 931 245 931 q 169 829 169 931 l 169 295 q 219 182 169 182 q 267 296 267 182 "},"b":{"x_min":3,"x_max":485,"ha":538,"o":"m 485 143 q 391 9 485 44 q 148 -18 319 -18 l 16 -18 q 3 2 3 -18 l 3 1108 q 11 1125 3 1125 l 265 1125 q 406 1063 346 1125 q 466 919 466 1001 l 466 772 q 450 652 466 690 q 365 564 429 602 q 445 491 410 541 q 485 377 485 436 l 485 143 m 281 854 q 274 920 281 901 q 218 950 260 950 q 187 948 195 950 q 179 936 179 947 q 179 682 179 866 q 189 664 179 664 q 249 678 217 661 q 281 727 281 695 l 281 854 m 288 288 l 288 370 q 195 450 288 450 q 185 434 185 450 q 185 186 185 434 q 200 168 185 168 l 218 168 q 288 288 288 168 "},"D":{"x_min":16,"x_max":461,"ha":507,"o":"m 461 372 q 218 -17 461 -17 l 35 -17 q 16 6 16 -17 l 16 1098 q 32 1121 16 1119 q 236 1121 77 1121 q 416 1000 357 1121 q 461 750 461 904 l 461 372 m 287 425 l 287 772 q 256 882 287 830 q 189 935 225 935 q 179 915 179 935 q 179 636 179 909 q 179 196 179 363 q 189 176 179 176 q 254 253 222 176 q 287 425 287 330 "},"z":{"x_min":3,"x_max":463,"ha":513,"o":"m 463 17 q 454 -6 463 4 q 434 -17 446 -17 q 32 -17 177 -17 q 11 16 11 -17 q 6 73 11 34 q 6 130 6 108 q 11 167 6 148 q 24 203 24 202 l 199 867 q 199 898 203 884 q 183 912 195 912 q 42 912 101 912 q 3 950 3 912 q 3 1021 3 978 q 9 1082 9 1070 q 36 1113 9 1113 q 229 1113 82 1113 q 416 1113 377 1113 q 455 1079 455 1113 q 452 989 455 1030 q 433 916 452 989 l 255 224 q 261 186 246 188 q 431 183 298 183 q 463 152 463 183 q 463 17 463 103 "},"w":{"x_min":6.8125,"x_max":828.59375,"ha":886,"o":"m 827 1092 q 747 568 799 861 q 652 16 657 46 q 631 -8 648 -7 q 499 -8 575 -15 q 479 12 482 -8 q 426 513 457 236 q 416 541 422 541 q 405 514 411 541 q 377 256 396 460 q 353 16 356 38 q 331 -7 350 -4 q 192 -8 263 -15 q 170 14 173 -8 q 94 468 132 242 q 7 1093 30 859 q 24 1121 4 1121 q 170 1121 170 1121 q 197 1090 193 1118 q 256 599 201 1062 q 266 584 257 584 q 278 600 272 584 q 322 1093 278 735 q 347 1119 326 1119 q 437 1119 392 1119 q 506 1091 503 1119 q 561 563 525 905 q 568 542 561 542 q 583 568 579 542 q 620 868 597 657 q 645 1093 642 1078 q 675 1120 649 1120 q 815 1120 735 1120 q 827 1092 831 1118 "},"$":{"x_min":-5,"x_max":463,"ha":519,"o":"m 463 246 q 409 64 463 134 q 259 -15 356 -6 l 259 -78 q 242 -89 259 -89 q 226 -89 238 -89 q 209 -88 212 -88 q 199 -78 199 -88 l 199 -14 q 56 71 112 -1 q -5 271 -5 152 q -5 345 -5 294 q 9 376 -5 376 q 88 376 24 376 q 165 376 151 376 q 179 342 179 376 l 179 274 q 202 191 179 219 l 202 431 q 73 567 84 553 q 3 722 3 652 l 3 840 q 53 1033 3 958 q 214 1125 109 1112 l 214 1137 q 224 1151 214 1151 q 247 1152 241 1151 q 256 1144 256 1155 l 256 1125 q 401 1056 348 1125 q 455 881 455 987 l 455 744 q 440 722 455 723 q 291 718 400 718 q 275 741 275 718 q 275 852 275 773 q 256 927 275 901 q 256 786 256 877 q 256 651 256 694 q 391 503 324 577 q 463 342 463 413 l 463 246 m 211 931 q 183 847 183 911 l 183 774 q 211 708 183 747 q 211 931 211 852 m 278 320 q 258 371 278 341 q 258 278 258 341 q 258 182 258 216 q 278 242 278 196 l 278 320 "},"â€™":{"x_min":28.828125,"x_max":241,"ha":300,"o":"m 241 1152 q 241 843 241 1102 q 163 745 241 775 q 58 727 115 727 q 35 738 35 727 q 35 779 35 750 q 35 824 35 815 q 51 834 35 834 q 109 849 84 834 q 135 895 135 865 l 135 944 q 113 957 135 957 q 47 957 64 957 q 28 976 28 959 q 28 1155 28 1041 q 49 1171 28 1171 q 216 1171 167 1171 q 241 1152 241 1171 "},"-":{"x_min":61,"x_max":373,"ha":412,"o":"m 373 384 q 348 361 373 361 q 86 361 257 361 q 62 380 65 361 q 61 551 61 390 q 86 572 61 572 q 349 572 210 572 q 373 554 373 572 l 373 384 "},"Q":{"x_min":7,"x_max":428,"ha":477,"o":"m 428 242 q 411 109 428 174 q 301 -8 379 -8 q 274 -31 274 -8 q 287 -60 274 -58 q 405 -60 287 -60 q 413 -66 408 -60 q 418 -78 418 -73 q 418 -107 418 -82 q 418 -163 418 -132 q 408 -175 418 -175 q 295 -175 382 -175 q 201 -175 209 -175 q 175 -161 188 -175 q 163 -135 163 -147 q 165 -100 163 -125 q 168 -62 168 -75 q 131 -6 168 -6 q 47 56 84 -6 q 7 237 7 127 l 7 894 q 213 1124 7 1124 q 428 912 428 1124 l 428 242 m 267 296 l 267 831 q 254 915 267 894 q 219 931 245 931 q 169 829 169 931 l 169 295 q 219 182 169 182 q 267 296 267 182 "},"M":{"x_min":18,"x_max":722,"ha":782,"o":"m 722 27 q 722 -1 722 3 q 709 -19 722 -18 q 538 -19 704 -19 q 516 13 516 -19 q 516 141 516 49 q 516 301 516 202 q 516 402 516 395 q 511 432 516 432 q 500 408 504 432 q 475 224 490 358 q 452 24 457 65 q 426 -13 446 -9 q 369 -18 407 -18 q 309 -17 308 -16 q 288 21 297 -17 q 260 245 275 87 q 240 411 244 393 q 226 439 234 439 q 221 409 221 439 q 221 21 221 77 q 200 -16 221 -14 q 39 -17 200 -17 q 18 30 18 -17 q 18 263 18 112 q 18 772 18 437 q 18 1085 18 1059 q 26 1107 23 1098 q 41 1119 30 1123 q 196 1119 114 1119 q 220 1088 210 1119 q 354 652 235 1045 q 371 618 365 618 q 389 652 380 618 q 518 1089 439 815 q 550 1119 526 1119 q 693 1119 550 1119 q 722 1080 722 1119 q 722 599 722 840 q 722 27 722 202 "},"C":{"x_min":8,"x_max":456,"ha":509,"o":"m 456 283 q 402 73 456 155 q 228 -19 342 -19 q 43 97 95 -19 q 8 343 8 178 l 8 879 q 47 1026 8 952 q 228 1139 107 1139 q 413 1039 357 1139 q 456 835 456 962 q 456 771 456 793 q 436 747 456 750 q 367 744 417 744 q 304 747 297 747 q 279 771 279 747 q 279 869 279 821 q 228 942 270 942 q 173 694 173 942 l 173 300 q 183 226 173 261 q 228 178 198 178 q 280 323 280 178 q 280 362 280 340 q 280 390 280 386 q 299 414 280 414 q 435 414 385 414 q 456 390 456 414 q 456 283 456 354 "},"[":{"x_min":3,"x_max":253.203125,"ha":319,"o":"m 251 1035 q 236 1015 251 1015 q 176 1013 209 1015 q 162 984 162 1012 l 162 113 q 176 91 162 92 q 234 86 198 91 q 250 58 250 85 q 250 18 250 45 q 250 -12 254 -6 q 227 -19 246 -19 q 28 -19 115 -19 q 3 28 3 -16 q 3 1071 3 497 q 5 1096 3 1085 q 20 1112 9 1112 q 227 1112 109 1112 q 253 1086 253 1109 q 251 1035 253 1035 "},"L":{"x_min":-1,"x_max":397.875,"ha":426,"o":"m 397 16 q 362 -8 397 -8 q 182 -11 370 -8 q 20 -7 68 -11 q -1 25 -1 -5 q -1 1085 -1 730 q 23 1120 -1 1124 q 170 1119 52 1119 q 191 1106 188 1119 q 191 1080 191 1094 q 191 703 191 1019 q 191 226 191 360 q 223 194 191 194 q 365 194 223 194 q 397 169 397 194 q 397 16 397 120 "},"!":{"x_min":71,"x_max":284,"ha":405,"o":"m 279 641 q 282 592 279 602 q 250 341 270 495 q 220 311 245 311 q 171 311 206 311 q 129 311 141 311 q 101 345 101 313 q 76 594 101 397 q 71 641 74 609 q 71 828 71 688 q 71 1086 71 1021 q 103 1113 71 1110 q 247 1113 103 1113 q 279 1094 279 1113 q 279 831 279 993 q 279 641 279 668 m 284 -5 q 253 -18 284 -18 q 172 -18 221 -18 q 109 -18 122 -18 q 74 15 74 -18 q 74 174 74 95 q 109 201 74 201 q 255 201 211 201 q 284 172 284 201 q 284 -5 284 123 "}," ":{"x_min":0,"x_max":0,"ha":250},"X":{"x_min":-19,"x_max":554,"ha":579,"o":"m 544 31 q 554 -1 554 8 q 530 -22 554 -22 q 487 -22 525 -22 q 424 -22 449 -22 q 365 -19 386 -22 q 332 20 344 -16 q 274 230 313 92 q 260 271 264 271 q 243 223 254 271 q 201 31 234 162 q 190 0 191 3 q 167 -17 182 -16 q 12 -16 181 -16 q -19 8 -19 -16 q -16 20 -19 14 q 175 549 69 230 q 167 620 183 573 q 21 1074 157 649 q 20 1102 17 1088 q 35 1116 24 1117 q 171 1113 128 1107 q 208 1077 196 1116 q 258 885 216 1049 q 274 848 268 848 q 287 870 280 848 q 340 1077 306 949 q 378 1112 351 1112 q 518 1112 434 1112 q 541 1082 548 1109 q 363 614 513 988 q 358 549 349 581 q 544 31 401 380 "},"P":{"x_min":3,"x_max":426,"ha":457,"o":"m 426 603 q 338 446 426 501 q 201 406 274 406 q 182 386 182 406 q 182 7 182 260 q 167 -15 182 -14 q 21 -19 119 -19 q 3 -2 3 -19 l 3 1099 q 25 1115 3 1115 q 205 1115 80 1115 q 352 1065 285 1115 q 426 936 426 1013 l 426 603 m 264 759 q 255 894 264 852 q 232 933 247 926 q 204 936 218 934 q 184 938 199 936 q 174 933 178 940 q 172 917 170 926 q 172 616 172 813 q 186 598 172 604 q 204 600 193 596 q 246 621 236 603 q 264 759 264 652 "},"%":{"x_min":-5,"x_max":726,"ha":779,"o":"m 595 973 q 575 920 595 955 q 393 503 451 698 q 324 4 324 269 q 304 -13 324 -11 q 237 -18 264 -18 q 207 9 207 -15 q 304 532 207 239 q 453 905 330 608 q 432 940 468 940 q 390 940 423 940 q 341 940 356 940 q 318 928 322 940 q 315 910 315 928 q 315 680 315 851 q 154 561 315 561 q -5 680 -5 561 l -5 1013 q 153 1127 -5 1127 q 193 1120 168 1127 q 234 1109 217 1113 q 558 1109 356 1109 q 595 1081 595 1109 q 595 973 595 1043 m 726 419 l 726 98 q 567 -22 726 -22 q 407 98 407 -22 l 407 412 q 456 518 407 488 q 560 544 490 544 q 676 521 639 544 q 726 419 726 492 m 182 970 q 153 1013 182 1013 q 124 967 124 1013 l 124 710 q 130 675 124 682 q 154 669 136 669 q 182 709 182 669 l 182 970 m 593 385 q 564 427 593 427 q 540 419 546 427 q 535 385 535 411 l 535 122 q 541 89 535 95 q 565 84 547 84 q 593 119 593 84 l 593 385 "},"#":{"x_min":59,"x_max":683,"ha":752,"o":"m 683 381 q 662 369 683 371 q 570 365 618 369 q 564 345 564 361 l 564 39 q 540 3 564 5 q 425 4 491 -2 q 402 41 402 7 q 402 173 402 66 q 402 345 402 280 q 392 364 402 364 q 343 365 330 364 q 334 347 334 364 q 334 162 334 276 q 334 34 334 48 q 310 -1 334 1 q 196 0 261 -6 q 173 37 173 3 q 173 168 173 61 q 173 340 173 273 q 160 365 173 361 q 74 365 123 365 q 62 376 62 366 l 62 417 q 86 429 62 429 q 116 425 86 429 q 158 425 141 425 q 172 446 169 426 q 173 580 173 481 q 160 601 173 599 q 71 601 121 601 q 59 612 59 602 l 59 653 q 83 665 59 665 q 161 663 172 665 q 171 683 171 665 l 171 1110 q 197 1148 171 1148 q 305 1144 315 1148 q 326 1130 319 1145 q 333 1095 333 1114 q 333 683 333 1095 q 342 663 333 665 q 393 666 355 660 q 402 686 402 667 l 402 1110 q 415 1136 402 1124 q 442 1147 429 1149 q 534 1147 485 1147 q 565 1095 565 1141 q 565 687 565 1034 q 578 667 565 667 q 618 667 593 667 q 651 667 649 667 q 680 653 680 667 l 680 617 q 659 605 680 607 q 575 605 630 605 q 564 589 564 605 l 564 449 q 574 431 564 431 q 619 431 586 431 q 654 431 651 431 q 683 417 683 431 l 683 381 m 402 449 q 402 578 402 491 q 390 599 402 598 q 342 601 379 601 q 332 580 332 601 q 332 442 332 527 q 344 426 332 427 q 397 430 361 423 q 402 449 402 431 "},")":{"x_min":12,"x_max":249,"ha":313,"o":"m 249 231 q 189 16 249 80 q 40 -36 140 -36 q 12 -30 12 -36 q 12 69 12 15 q 21 87 12 79 q 36 94 31 95 q 90 197 90 86 l 90 895 q 77 970 90 952 q 39 983 66 983 q 17 998 17 983 q 17 1031 17 1002 q 17 1088 17 1056 q 42 1108 17 1108 q 201 1051 154 1108 q 249 874 249 995 l 249 231 "},"'":{"x_min":44,"x_max":213,"ha":248,"o":"m 213 873 q 189 730 213 870 q 173 714 187 715 q 79 714 162 714 q 63 727 65 714 q 44 876 44 825 l 44 1092 q 48 1105 44 1099 q 60 1111 53 1111 q 148 1111 103 1111 q 213 1081 213 1111 q 213 873 213 895 "},"T":{"x_min":-2.21875,"x_max":466,"ha":534,"o":"m 466 946 q 443 927 466 927 q 403 927 434 927 q 355 927 373 927 q 327 907 327 927 l 327 12 q 313 -11 327 -10 q 156 -14 264 -14 q 139 13 139 -14 l 139 908 q 122 928 139 928 q 22 928 22 928 q 0 947 0 928 q -2 1004 0 932 q 0 1077 -2 1051 q 25 1114 5 1114 q 446 1114 194 1114 q 466 1089 466 1114 q 466 946 466 1003 "},"a":{"x_min":17.265625,"x_max":552.953125,"ha":608,"o":"m 552 -10 q 540 -19 554 -19 q 469 -19 521 -19 q 379 -19 418 -19 q 348 72 367 -19 q 328 189 335 140 q 313 199 326 199 q 260 199 260 199 q 247 189 250 199 q 215 -3 235 106 q 203 -16 209 -16 l 35 -16 q 17 0 13 -16 q 110 568 64 283 q 219 1118 201 1118 q 366 1118 292 1118 q 467 566 382 1116 q 552 -10 510 278 m 316 373 q 290 532 295 532 q 273 464 283 532 q 262 373 268 419 q 275 367 261 369 q 302 366 290 365 q 316 373 316 368 "},"â€”":{"x_min":114,"x_max":6969,"ha":7023,"o":"m 6911 425 l 3929 425 q 3733 348 3850 405 q 3536 230 3616 290 q 3306 359 3326 348 q 3114 414 3202 402 l 1024 414 q 746 414 1012 414 q 338 414 480 414 q 173 411 221 414 q 131 429 148 414 q 114 464 114 445 q 173 511 114 500 l 1031 511 q 2225 511 1657 511 q 3086 511 2668 511 q 3307 585 3157 511 q 3536 723 3436 648 q 4032 508 3825 508 q 4020 506 4031 505 q 4475 506 4065 506 q 6122 515 6462 507 q 6534 515 6386 515 q 6911 515 6758 515 q 6969 478 6969 515 q 6951 442 6969 459 q 6911 425 6933 425 "},"N":{"x_min":-4,"x_max":503.984375,"ha":548,"o":"m 503 1082 q 500 22 502 1154 q 475 -18 500 -13 q 338 -18 410 -29 q 306 11 313 -13 q 201 483 261 219 q 184 504 196 504 q 176 474 176 504 q 176 277 176 445 q 176 18 176 111 q 141 -16 176 -9 q 80 -20 118 -20 q 24 -20 31 -20 q -4 12 -4 -20 q -4 598 -4 206 q -4 1079 -4 977 q 20 1113 0 1111 q 109 1113 53 1113 q 182 1113 177 1113 q 207 1082 201 1113 q 299 649 273 746 q 316 612 310 612 q 326 655 326 612 q 326 1081 326 767 q 349 1113 326 1113 q 475 1113 395 1113 q 503 1082 503 1113 "},"2":{"x_min":3,"x_max":445,"ha":493,"o":"m 445 661 q 386 438 445 538 q 273 295 374 419 q 213 158 213 220 q 229 146 214 152 q 322 146 262 146 q 419 146 402 146 q 436 135 436 146 l 436 0 q 418 -18 436 -18 l 22 -18 q 4 -2 5 -18 q 3 51 3 12 q 76 313 3 189 q 211 502 80 320 q 283 680 283 602 l 283 819 q 278 905 283 885 q 228 954 268 954 q 191 883 199 954 q 189 769 189 856 l 189 731 q 174 709 189 711 q 42 708 160 708 q 22 733 22 708 q 22 829 22 759 q 80 1056 22 988 q 247 1119 133 1119 q 393 1063 338 1119 q 445 930 445 1010 l 445 661 "},"j":{"x_min":-5,"x_max":459,"ha":511,"o":"m 459 1066 q 459 287 459 980 q 395 72 459 161 q 223 -19 329 -19 q 63 45 127 -19 q -5 225 -5 113 q -5 426 -5 388 q 19 456 -2 456 q 138 454 65 454 q 162 420 162 454 q 165 291 165 394 q 227 168 165 162 q 286 291 286 173 l 286 1066 q 310 1096 286 1096 q 437 1096 359 1096 q 459 1066 459 1096 "},"Z":{"x_min":3,"x_max":463,"ha":513,"o":"m 463 17 q 454 -6 463 4 q 434 -17 446 -17 q 32 -17 177 -17 q 11 16 11 -17 q 6 73 11 34 q 6 130 6 108 q 11 167 6 148 q 24 203 24 202 l 199 867 q 199 898 203 884 q 183 912 195 912 q 42 912 101 912 q 3 950 3 912 q 3 1021 3 978 q 9 1082 9 1070 q 36 1113 9 1113 q 229 1113 82 1113 q 416 1113 377 1113 q 455 1079 455 1113 q 452 989 455 1030 q 433 916 452 989 l 255 224 q 261 186 246 188 q 431 183 298 183 q 463 152 463 183 q 463 17 463 103 "},"u":{"x_min":4,"x_max":479,"ha":544,"o":"m 479 1090 l 479 230 q 444 88 479 149 q 244 -17 386 -17 q 36 60 84 -17 q 4 253 4 110 l 4 1089 q 8 1108 4 1100 q 21 1116 13 1116 q 166 1116 21 1116 q 189 1094 189 1116 q 189 663 189 1047 q 189 288 189 278 q 244 180 189 180 q 293 288 293 180 l 293 1087 q 311 1114 293 1114 q 462 1114 445 1114 q 479 1090 479 1114 "},"1":{"x_min":2.65625,"x_max":298,"ha":354,"o":"m 298 1089 l 298 10 q 280 -17 298 -17 q 134 -17 134 -17 q 117 1 117 -17 l 117 849 q 106 876 117 876 q 16 876 70 876 q 2 900 2 877 l 2 968 q 12 996 2 989 q 152 1092 54 1026 q 168 1105 153 1093 q 183 1111 176 1112 q 280 1110 194 1110 q 298 1089 298 1110 "},"k":{"x_min":-3,"x_max":465.328125,"ha":517,"o":"m 462 10 q 455 -14 470 -12 q 269 -14 455 -14 q 252 5 258 -14 q 176 306 235 69 q 168 330 171 328 q 163 306 163 330 q 163 6 163 206 q 148 -14 163 -14 q 16 -14 16 -14 q -3 12 -3 -14 l -3 1092 q 10 1112 -3 1112 q 157 1112 65 1112 q 167 1092 167 1110 q 167 796 167 841 q 169 787 167 787 q 176 799 173 788 q 250 1089 197 885 q 267 1109 255 1109 q 356 1109 299 1109 q 427 1109 424 1109 q 446 1091 446 1109 q 444 1084 446 1087 q 335 828 416 1024 q 256 618 254 627 q 462 10 333 384 "},"t":{"x_min":-2.21875,"x_max":466,"ha":534,"o":"m 466 946 q 443 927 466 927 q 403 927 434 927 q 355 927 373 927 q 327 907 327 927 l 327 12 q 313 -11 327 -10 q 156 -14 264 -14 q 139 13 139 -14 l 139 908 q 122 928 139 928 q 22 928 22 928 q 0 947 0 928 q -2 1004 0 932 q 0 1077 -2 1051 q 25 1114 5 1114 q 446 1114 194 1114 q 466 1089 466 1114 q 466 946 466 1003 "},"W":{"x_min":6.8125,"x_max":828.59375,"ha":886,"o":"m 827 1092 q 748 568 799 861 q 652 16 657 46 q 631 -8 648 -7 q 499 -8 575 -15 q 479 12 482 -8 q 426 513 457 236 q 416 541 422 541 q 405 514 411 541 q 377 256 396 460 q 353 16 356 38 q 331 -7 350 -4 q 192 -8 263 -15 q 170 14 173 -8 q 94 468 132 242 q 7 1093 30 859 q 24 1121 4 1121 q 170 1121 170 1121 q 197 1090 193 1118 q 256 599 201 1062 q 266 584 257 584 q 278 600 272 584 q 322 1093 278 735 q 347 1119 326 1119 q 437 1119 392 1119 q 506 1091 503 1119 q 561 563 525 905 q 568 542 561 542 q 583 568 579 542 q 620 868 597 657 q 645 1093 642 1078 q 675 1120 649 1120 q 815 1120 735 1120 q 827 1092 831 1118 "},"v":{"x_min":21.546875,"x_max":546.375,"ha":585,"o":"m 545 1087 q 461 544 503 848 q 382 8 411 186 q 362 -18 378 -18 l 196 -18 q 170 8 174 -18 q 96 554 142 184 q 21 1095 54 898 q 27 1112 20 1104 q 43 1120 34 1120 q 197 1120 103 1120 q 225 1091 219 1120 q 244 919 230 1072 q 279 672 258 766 q 289 650 284 650 q 299 673 295 650 q 328 912 313 759 q 348 1092 340 1051 q 371 1117 352 1117 q 524 1112 469 1117 q 545 1087 549 1109 "},"s":{"x_min":-5,"x_max":463,"ha":519,"o":"m 463 246 q 402 53 463 124 q 230 -17 341 -17 q 66 59 134 -17 q -5 272 -5 141 q -5 346 -5 294 q 9 376 -5 376 q 88 376 24 376 q 165 376 151 376 q 179 342 179 376 l 179 274 q 233 175 179 175 q 277 243 277 175 l 277 320 q 208 427 277 355 q 75 564 87 549 q 3 722 3 651 l 3 840 q 61 1041 3 966 q 243 1124 124 1124 q 400 1053 342 1124 q 455 879 455 987 l 455 743 q 440 721 455 722 q 291 717 400 717 q 275 740 275 717 q 275 851 275 772 q 263 909 275 881 q 234 938 252 938 q 183 846 183 938 l 183 774 q 254 652 183 731 q 391 505 323 578 q 463 342 463 413 l 463 246 "},"B":{"x_min":3,"x_max":485,"ha":538,"o":"m 485 143 q 391 9 485 44 q 148 -18 319 -18 l 16 -18 q 3 2 3 -18 l 3 1108 q 11 1125 3 1125 l 265 1125 q 406 1063 346 1125 q 466 919 466 1001 l 466 772 q 450 652 466 690 q 365 564 429 602 q 445 491 410 541 q 485 377 485 436 l 485 143 m 281 854 q 274 920 281 901 q 218 950 260 950 q 187 948 195 950 q 179 936 179 947 q 179 682 179 866 q 189 664 179 664 q 249 678 217 661 q 281 727 281 695 l 281 854 m 288 288 l 288 370 q 195 450 288 450 q 185 434 185 450 q 185 186 185 434 q 200 168 185 168 l 218 168 q 288 288 288 168 "},"?":{"x_min":-2.984375,"x_max":449,"ha":533,"o":"m 449 949 l 449 655 q 399 499 449 563 q 315 442 358 448 q 302 419 302 441 q 302 373 302 412 q 302 324 302 340 q 284 306 302 309 q 175 301 239 301 q 156 319 156 301 q 156 577 156 350 q 173 601 156 596 q 208 610 199 606 q 247 638 227 619 q 275 877 275 666 q 218 951 275 951 q 161 880 161 951 l 161 799 q 140 781 161 781 q 13 781 99 781 q 1 785 7 781 q -2 798 -4 789 q 0 913 0 809 q 57 1076 0 1030 q 231 1118 108 1118 q 384 1071 319 1118 q 449 949 449 1024 m 313 25 q 286 -13 313 -10 q 165 -19 232 -19 q 144 8 144 -19 q 144 163 144 72 q 152 189 142 177 q 174 200 162 201 q 293 200 219 200 q 313 162 313 200 q 313 25 313 115 "},"H":{"x_min":-1,"x_max":451,"ha":516,"o":"m 451 1088 q 451 512 451 942 q 451 15 451 54 q 423 -9 451 -5 q 357 -14 396 -14 q 302 -15 313 -14 q 285 20 285 -15 l 285 449 q 268 470 285 467 q 194 472 255 472 q 180 449 180 472 q 180 17 180 278 q 141 -11 180 -7 q 27 -14 84 -19 q -1 16 -1 -14 q -1 1088 -1 366 q 12 1112 -1 1112 q 165 1111 165 1112 q 185 1088 185 1111 q 182 916 185 1090 q 182 710 182 784 q 184 694 182 698 q 192 684 185 685 q 268 685 222 676 q 283 710 283 688 q 283 1094 283 863 q 293 1113 283 1113 q 438 1113 348 1113 q 451 1088 451 1111 "},"c":{"x_min":8,"x_max":456,"ha":509,"o":"m 456 283 q 402 73 456 155 q 228 -19 342 -19 q 43 97 95 -19 q 8 343 8 178 l 8 879 q 47 1026 8 952 q 228 1139 107 1139 q 413 1039 357 1139 q 456 835 456 962 q 456 771 456 793 q 436 747 456 750 q 367 744 417 744 q 304 747 297 747 q 279 771 279 747 q 279 869 279 821 q 228 942 270 942 q 173 694 173 942 l 173 300 q 183 226 173 261 q 228 178 198 178 q 280 323 280 178 q 280 362 280 340 q 280 390 280 386 q 299 414 280 414 q 435 414 385 414 q 456 390 456 414 q 456 283 456 354 "},"&":{"x_min":19,"x_max":574.28125,"ha":602,"o":"m 574 510 q 542 324 574 436 q 495 191 516 232 q 499 152 487 176 q 560 26 516 116 q 559 -7 576 -7 q 429 -7 546 -7 q 403 6 410 -7 q 391 34 402 8 q 381 43 387 43 q 358 27 380 43 q 195 -27 285 -27 q 75 21 131 -27 q 19 135 19 70 l 19 388 q 52 495 19 450 q 107 550 60 506 q 106 580 118 560 q 84 609 95 595 q 74 668 74 634 l 74 979 q 264 1119 74 1119 q 457 982 457 1119 l 457 706 q 328 557 457 614 q 325 528 313 550 q 383 402 346 482 q 394 384 391 384 q 401 392 396 384 q 428 518 407 409 q 459 537 431 537 q 544 537 493 537 q 574 510 574 537 m 315 910 q 302 949 315 937 q 269 962 289 962 q 222 918 222 962 l 222 774 q 242 702 222 753 q 267 702 246 693 q 315 764 315 720 l 315 910 m 290 223 q 222 377 265 285 q 200 381 211 395 q 185 334 185 359 q 185 184 185 212 q 222 147 185 147 q 284 177 261 147 q 290 223 301 199 "},"I":{"x_min":3,"x_max":192,"ha":255,"o":"m 192 22 q 171 -16 192 -11 q 28 -16 138 -26 q 3 27 3 -13 q 3 1071 3 496 q 5 1096 3 1085 q 20 1112 9 1112 q 168 1112 79 1112 q 192 1073 192 1109 q 192 22 192 668 "},"â€¢":{"x_min":91.109375,"x_max":2505.8125,"ha":2578,"o":"m 2505 905 q 2478 742 2489 847 q 2490 717 2490 731 q 2481 696 2490 706 l 2436 619 q 2334 691 2402 644 q 2328 720 2334 701 q 2287 681 2309 708 q 2250 640 2268 661 q 2140 721 2207 679 q 2161 800 2154 752 q 2161 882 2161 841 q 2157 896 2162 886 q 2153 910 2153 906 q 2159 924 2153 919 l 2223 1017 q 2275 977 2244 1005 q 2325 933 2310 944 q 2309 866 2314 907 q 2299 794 2305 830 q 2319 775 2309 785 q 2337 770 2328 766 q 2342 820 2337 785 q 2348 873 2348 855 q 2335 921 2348 902 l 2433 992 l 2439 989 l 2505 905 m 2131 940 q 2101 699 2101 808 q 2057 641 2079 670 q 1997 607 2030 607 q 1836 569 1927 587 q 1832 580 1832 573 q 1884 606 1857 591 q 1927 644 1912 620 q 1945 696 1945 684 q 1940 714 1945 706 q 1857 637 1911 696 q 1755 721 1844 644 q 1773 916 1773 798 q 1773 1116 1773 1016 l 1784 1123 q 1863 1119 1814 1119 q 1940 1119 1922 1119 q 1933 1031 1940 1090 q 1927 942 1927 972 l 1929 938 q 1999 1028 1953 967 q 2131 940 2041 996 m 1740 788 l 1690 649 q 1568 724 1649 674 q 1578 926 1578 802 q 1578 1125 1578 1026 q 1736 1132 1651 1125 l 1730 1130 l 1730 811 l 1740 788 m 2146 472 q 2139 470 2140 474 q 2134 370 2134 456 q 2125 329 2134 340 q 2124 340 2127 337 q 2106 276 2113 324 q 2098 231 2105 260 q 2072 133 2094 196 q 2058 113 2065 129 q 2038 141 2053 125 q 2018 151 2032 145 q 2004 170 2021 157 q 1997 191 1992 180 q 2042 315 2029 265 q 2049 319 2045 316 q 2076 488 2060 351 q 2101 530 2096 498 q 2114 580 2106 569 q 2134 580 2121 590 q 2144 543 2140 576 q 2146 472 2151 484 m 1824 452 l 1821 455 q 1824 451 1822 451 q 1822 454 1824 454 l 1824 452 m 1825 440 q 1822 437 1825 438 q 1825 436 1824 437 q 1822 437 1821 436 q 1825 442 1824 440 q 1825 440 1826 440 m 1821 424 q 1815 427 1815 426 q 1819 426 1817 433 l 1821 424 m 1822 418 q 1821 420 1821 418 l 1821 420 q 1822 418 1823 419 m 1516 969 q 1504 805 1504 909 q 1517 778 1517 794 q 1509 759 1517 768 l 1472 679 q 1364 739 1435 698 q 1355 767 1362 749 q 1318 726 1337 753 q 1285 680 1302 703 q 1169 752 1239 716 q 1179 804 1179 774 q 1179 858 1179 823 q 1179 913 1179 897 q 1169 928 1177 916 q 1164 942 1164 937 q 1169 955 1164 949 l 1225 1055 q 1278 1019 1245 1044 q 1333 980 1317 989 q 1323 910 1323 954 q 1323 838 1323 875 q 1353 818 1351 818 q 1359 819 1356 818 q 1361 904 1361 805 q 1344 970 1361 945 l 1434 1049 l 1439 1047 l 1516 969 m 1965 519 q 1910 487 1951 498 q 1840 469 1840 470 q 1820 454 1834 467 q 1806 436 1806 440 q 1808 428 1806 433 q 1811 420 1811 423 q 1808 413 1811 416 q 1818 408 1806 412 q 1814 405 1817 408 q 1821 401 1814 401 q 1818 395 1815 399 q 1819 390 1821 391 q 1806 393 1814 391 q 1806 385 1791 391 q 1812 385 1808 386 q 1818 383 1814 385 q 1817 380 1817 382 q 1812 385 1815 383 q 1804 383 1807 386 q 1844 313 1808 351 q 1861 300 1856 300 q 1864 289 1860 291 q 1921 241 1911 262 q 1906 185 1933 213 q 1845 98 1888 166 q 1817 85 1838 85 q 1751 71 1806 83 q 1686 66 1712 62 q 1633 92 1659 71 q 1608 135 1608 113 q 1636 165 1608 165 q 1710 148 1696 165 q 1738 153 1713 153 q 1743 158 1742 153 q 1751 153 1747 151 q 1770 156 1764 156 q 1766 153 1767 154 q 1773 147 1767 150 q 1780 157 1777 147 q 1809 154 1804 147 q 1803 158 1814 158 l 1812 163 q 1810 152 1814 158 q 1806 145 1806 147 q 1812 140 1806 141 q 1834 137 1819 139 q 1849 147 1837 143 q 1847 155 1847 151 q 1851 168 1847 161 q 1855 178 1855 176 q 1845 185 1855 182 q 1819 172 1832 188 q 1811 176 1815 176 q 1799 172 1807 176 q 1788 168 1792 168 q 1778 172 1782 168 q 1801 180 1788 172 q 1797 185 1803 183 q 1792 189 1792 187 q 1786 184 1786 188 q 1777 199 1774 196 q 1822 230 1796 206 q 1809 274 1833 252 q 1774 312 1800 290 q 1754 315 1764 312 q 1712 366 1751 319 q 1682 422 1686 397 q 1775 513 1674 488 q 1837 515 1787 515 q 1891 527 1876 515 q 1946 550 1920 552 q 1961 536 1955 548 q 1965 519 1967 524 m 2065 30 q 2058 26 2063 26 q 2045 31 2054 26 q 2032 36 2037 36 q 2025 31 2025 34 q 2037 20 2023 22 q 2038 14 2037 19 q 2034 8 2037 11 q 2025 14 2033 8 q 2015 14 2021 16 q 2015 0 2017 12 l 2008 1 q 2007 8 2011 5 q 1991 6 1996 14 q 1991 -7 1992 1 q 1981 -7 1985 -14 q 1980 1 1978 -4 q 1980 11 1980 9 q 1973 14 1978 15 q 1966 5 1969 14 q 1961 -3 1963 -3 q 1955 0 1958 -1 q 1955 8 1951 4 q 1962 14 1961 14 q 1946 26 1963 23 q 1934 16 1940 27 q 1920 6 1928 5 q 1914 10 1916 10 q 1939 30 1925 16 q 1927 49 1942 38 q 1936 65 1931 54 q 1931 71 1935 71 q 1920 66 1929 71 q 1910 66 1914 63 q 1911 72 1910 66 q 1931 73 1921 68 l 1927 82 q 1943 104 1945 90 q 1959 107 1955 98 q 1954 111 1958 110 q 1957 116 1955 113 q 1965 114 1959 119 q 1973 110 1970 110 q 1977 112 1975 110 q 1976 125 1981 115 q 1974 135 1971 135 q 1980 129 1980 135 q 1980 119 1980 125 q 1984 111 1981 112 q 1993 111 1989 108 q 1995 121 1992 119 q 2003 124 1999 124 q 2014 98 2017 124 q 2020 104 2020 100 q 2027 100 2022 103 q 2030 94 2033 98 q 2025 89 2025 90 q 2030 82 2027 82 q 2037 85 2032 82 q 2047 86 2043 89 q 2049 79 2053 82 q 2032 65 2032 68 q 2034 59 2033 62 q 2049 61 2045 69 q 2046 54 2052 55 q 2035 54 2042 52 q 2032 49 2033 54 q 2045 40 2034 40 q 2065 35 2061 38 q 2065 30 2069 33 m 1520 534 q 1519 537 1519 535 l 1520 534 m 1505 536 q 1502 537 1502 536 q 1504 538 1502 537 l 1505 536 m 1493 536 q 1493 536 1495 537 q 1493 536 1491 535 m 1467 541 q 1465 544 1464 542 q 1467 541 1467 544 m 1609 519 q 1573 474 1609 517 q 1509 448 1551 448 q 1434 463 1477 448 q 1410 469 1423 466 q 1396 484 1398 473 q 1400 491 1394 485 q 1398 497 1404 495 q 1385 502 1393 499 q 1369 534 1369 518 q 1397 556 1369 556 q 1428 541 1416 556 q 1431 543 1429 543 q 1434 550 1429 550 q 1438 537 1434 551 q 1442 544 1443 540 q 1449 536 1446 537 q 1456 537 1451 531 q 1457 525 1454 527 q 1462 531 1460 527 q 1468 523 1464 527 q 1472 528 1469 524 q 1479 523 1475 523 q 1483 525 1481 524 q 1485 522 1483 523 q 1500 524 1489 520 l 1498 530 q 1505 523 1498 524 q 1509 528 1507 524 q 1511 522 1509 524 q 1525 530 1517 522 q 1531 524 1524 525 q 1536 536 1537 527 q 1535 543 1532 538 q 1538 536 1535 540 q 1547 539 1543 534 q 1556 550 1551 544 q 1558 546 1556 547 q 1562 550 1561 546 q 1564 554 1564 554 q 1599 548 1584 560 q 1614 529 1614 537 q 1609 519 1614 523 m 1905 40 q 1901 34 1905 37 q 1900 38 1900 35 q 1905 40 1902 45 m 1886 3 q 1876 3 1886 1 q 1886 11 1881 11 q 1886 3 1887 11 m 1750 185 q 1727 182 1740 182 q 1664 165 1682 182 q 1662 171 1662 169 q 1668 182 1662 176 q 1674 193 1674 189 q 1679 194 1675 196 q 1682 187 1681 191 q 1727 183 1686 188 q 1750 185 1735 184 m 1140 967 q 1127 726 1127 834 q 1092 665 1109 695 q 1035 625 1068 630 q 876 573 966 600 q 872 584 872 579 q 923 615 896 598 q 960 655 949 631 q 974 706 974 695 q 969 728 974 719 q 892 644 942 706 q 783 719 878 649 q 781 813 781 761 q 781 963 781 869 q 781 1113 781 1077 l 779 1119 q 858 1125 811 1119 q 936 1130 918 1130 q 936 1041 936 1101 q 937 954 936 983 l 940 949 q 1001 1045 960 981 q 1140 967 1046 1017 m 1609 279 q 1589 245 1611 269 q 1587 222 1591 234 q 1579 219 1583 223 q 1583 212 1577 213 q 1591 216 1583 212 q 1587 187 1573 205 q 1581 185 1585 187 q 1586 178 1581 183 q 1590 172 1591 174 q 1533 150 1582 154 q 1429 143 1499 143 q 1388 135 1416 143 q 1347 128 1361 128 q 1324 132 1335 128 q 1310 159 1314 136 q 1296 199 1305 188 q 1287 265 1287 210 q 1301 373 1287 333 q 1302 398 1301 382 q 1316 458 1309 427 q 1335 510 1322 488 q 1352 522 1341 522 q 1363 509 1359 522 q 1366 460 1369 492 q 1366 412 1363 427 q 1436 397 1369 412 q 1509 389 1480 389 q 1539 391 1524 389 q 1541 385 1541 389 q 1535 377 1535 379 q 1536 369 1538 370 q 1519 356 1525 355 q 1465 359 1476 360 q 1448 339 1454 358 q 1435 321 1442 321 q 1364 356 1373 321 q 1361 358 1364 358 q 1356 355 1358 356 q 1359 300 1347 316 q 1397 280 1371 294 q 1436 267 1411 273 q 1477 260 1471 262 q 1479 252 1473 253 q 1484 258 1481 253 q 1487 244 1483 251 q 1494 256 1488 244 q 1493 246 1495 255 q 1496 246 1493 245 q 1504 241 1500 246 q 1511 237 1509 237 q 1543 244 1522 237 q 1542 251 1539 248 q 1547 246 1545 244 q 1560 264 1554 251 q 1569 280 1565 277 q 1595 289 1586 289 q 1609 279 1604 289 m 748 763 l 698 643 l 686 641 q 563 699 613 681 q 557 714 556 705 q 560 732 560 732 q 555 813 555 761 q 552 893 555 870 q 526 900 545 900 q 520 941 523 920 q 528 979 520 965 q 548 988 548 979 q 545 1028 545 988 q 552 1063 545 1052 q 701 1112 602 1077 l 708 1105 q 715 991 708 1049 q 728 987 718 987 q 743 984 738 987 l 743 910 q 729 905 741 905 q 717 893 717 905 q 717 813 717 867 q 748 763 721 777 m 1245 554 q 1248 533 1248 544 q 1239 490 1248 515 q 1227 448 1229 455 q 1222 363 1230 418 q 1173 205 1210 309 q 1139 158 1150 157 q 1077 212 1106 165 q 1024 280 1044 267 q 1031 304 1031 293 q 1018 342 1031 319 q 1003 383 1005 372 q 988 460 988 455 q 997 498 988 481 q 1014 497 1003 508 q 1055 436 1036 479 q 1092 370 1076 387 q 1150 444 1107 397 q 1166 469 1154 455 q 1188 516 1179 484 q 1211 561 1197 548 q 1230 565 1218 567 q 1245 554 1242 564 m 989 131 q 959 119 981 119 q 921 119 963 119 q 914 128 916 119 q 911 139 912 137 q 877 185 880 181 q 857 238 861 212 q 847 256 854 244 q 826 366 826 300 q 821 411 826 380 q 817 458 817 442 q 844 519 817 501 q 854 522 848 522 q 892 472 880 522 q 915 355 903 413 q 956 242 929 287 q 982 202 969 222 q 997 158 997 176 q 989 131 997 144 m 516 746 q 296 632 459 632 q 187 664 239 632 q 108 753 131 699 l 91 856 q 119 925 103 890 q 167 969 134 961 q 200 988 178 977 q 239 834 200 883 l 258 818 l 262 820 q 217 993 253 880 l 219 1000 q 362 1095 266 1032 q 488 1075 393 1075 q 487 1021 491 1059 q 488 970 483 989 q 477 965 485 966 q 466 965 468 965 q 464 955 464 963 q 478 782 464 898 q 484 779 481 779 q 502 788 480 779 q 514 798 506 797 q 516 746 516 781 m 820 83 q 798 89 813 83 q 775 96 783 96 q 761 91 766 96 q 757 70 756 86 q 753 52 759 54 q 713 45 733 49 q 673 52 690 42 q 647 58 661 58 q 598 34 623 58 q 557 10 573 10 q 541 16 549 10 q 507 89 514 38 q 502 179 502 135 q 503 190 499 183 q 514 194 507 196 q 517 258 517 217 q 518 323 517 305 q 537 483 518 377 q 563 504 542 504 q 573 497 571 504 q 602 446 588 472 q 623 391 617 417 q 626 354 626 374 q 623 310 626 340 q 620 266 620 280 q 623 230 620 247 q 685 236 658 236 q 816 177 771 236 q 817 163 815 172 q 842 106 842 135 q 820 83 842 83 m 1946 774 q 1949 813 1945 788 q 1953 847 1953 838 q 1946 875 1953 863 q 1933 883 1945 875 q 1921 883 1925 887 q 1920 784 1914 803 q 1931 778 1924 784 q 1940 773 1937 773 q 1946 774 1944 773 m 970 788 q 969 840 969 798 q 962 889 969 872 q 948 895 960 889 q 936 894 940 900 q 944 796 936 815 q 958 788 945 796 q 970 788 966 784 m 438 767 q 417 949 431 829 q 413 965 420 961 q 399 963 405 969 l 399 820 q 370 797 393 808 q 332 776 340 781 l 332 770 q 434 763 374 749 l 438 767 "},"G":{"x_min":18,"x_max":503,"ha":563,"o":"m 503 23 q 489 -14 503 -14 l 451 -14 q 433 3 438 -14 q 415 52 428 21 q 264 -17 392 -17 q 68 55 124 -17 q 18 266 18 119 l 18 832 q 75 1065 18 1004 q 251 1120 124 1120 q 458 1042 404 1120 q 500 854 500 986 q 500 672 500 731 q 483 649 500 649 q 335 649 436 649 q 315 671 315 649 q 315 833 315 753 q 263 945 305 945 q 211 835 211 945 l 211 251 q 224 198 211 229 q 263 161 241 161 q 318 310 318 161 l 318 381 q 306 398 318 399 q 274 398 306 398 q 262 410 262 398 q 262 544 262 410 q 282 565 262 565 q 482 565 354 565 q 503 541 503 565 q 503 23 503 541 "},"(":{"x_min":-1,"x_max":234,"ha":291,"o":"m 234 1010 q 225 992 234 1000 q 211 985 216 984 q 158 882 158 993 l 158 184 q 170 109 158 127 q 208 97 181 97 q 230 81 230 97 q 230 50 230 77 q 230 -8 230 23 q 205 -28 230 -28 q 45 30 94 -28 q -1 205 -1 84 l -1 848 q 58 1063 -1 999 q 205 1116 107 1116 q 234 1110 234 1116 q 234 1010 234 1064 "},"U":{"x_min":4,"x_max":479,"ha":544,"o":"m 479 1090 l 479 230 q 444 88 479 149 q 244 -17 386 -17 q 36 60 84 -17 q 4 253 4 110 l 4 1089 q 8 1108 4 1100 q 21 1116 13 1116 q 166 1116 21 1116 q 189 1094 189 1116 q 189 663 189 1047 q 189 288 189 278 q 244 180 189 180 q 293 288 293 180 l 293 1087 q 311 1114 293 1114 q 462 1114 445 1114 q 479 1090 479 1114 "},"F":{"x_min":-3,"x_max":411.890625,"ha":454,"o":"m 411 1092 q 411 950 411 999 q 390 934 411 938 q 222 934 328 934 q 206 914 206 932 l 206 670 q 219 650 206 650 q 357 650 249 650 q 376 634 376 650 q 380 452 380 579 q 364 439 380 439 q 222 439 313 439 q 205 420 206 437 q 205 227 205 372 q 205 14 205 23 q 188 -4 205 -4 q 14 -5 94 -14 q -3 13 -3 -5 q -3 1091 -3 13 q 18 1112 -3 1112 q 216 1112 81 1112 q 392 1111 392 1112 q 411 1092 411 1111 "},"r":{"x_min":-1,"x_max":467.3125,"ha":519,"o":"m 465 12 q 452 -19 472 -19 q 292 -21 426 -21 q 272 17 272 -21 q 272 229 272 113 q 196 439 272 439 q 179 439 186 441 q 169 408 169 434 q 169 25 169 190 q 154 -12 169 -11 q 13 -18 80 -18 q -1 22 -1 -16 l -1 1093 q 23 1119 -1 1119 q 227 1119 98 1119 q 370 1083 312 1119 q 435 976 435 1042 l 435 704 q 395 587 435 636 q 333 540 368 553 q 323 532 323 536 q 333 525 323 529 q 388 490 359 516 q 452 213 452 433 q 465 12 452 73 m 270 857 q 209 948 270 948 q 189 945 196 945 q 177 921 177 945 q 177 676 177 921 q 196 638 177 638 q 212 638 203 636 q 253 668 242 638 q 270 857 270 712 "},":":{"x_min":73,"x_max":284,"ha":340,"o":"m 284 735 q 267 705 284 705 q 179 705 239 705 q 101 705 127 705 q 74 718 75 705 q 73 895 73 732 q 87 923 73 923 q 164 923 102 923 q 262 923 225 923 q 284 911 284 923 q 284 735 284 872 m 284 13 q 267 -17 284 -17 q 179 -17 239 -17 q 101 -17 127 -17 q 74 -3 75 -17 q 73 173 73 10 q 87 201 73 201 q 164 201 102 201 q 262 201 225 201 q 284 189 284 201 q 284 13 284 150 "},"x":{"x_min":-19,"x_max":554,"ha":579,"o":"m 544 31 q 554 -1 554 8 q 530 -22 554 -22 q 487 -22 525 -22 q 424 -22 449 -22 q 365 -19 386 -22 q 332 20 344 -16 q 274 230 313 92 q 260 271 264 271 q 243 223 254 271 q 201 31 234 162 q 190 0 191 3 q 167 -17 182 -16 q 12 -16 181 -16 q -19 8 -19 -16 q -16 20 -19 14 q 175 549 69 230 q 167 620 183 573 q 21 1074 157 649 q 20 1102 17 1088 q 35 1116 24 1117 q 171 1113 128 1107 q 208 1077 196 1116 q 258 885 216 1049 q 274 848 268 848 q 287 870 280 848 q 340 1077 306 949 q 378 1112 351 1112 q 518 1112 434 1112 q 541 1082 548 1109 q 363 614 513 988 q 358 549 349 581 q 544 31 401 380 "},"V":{"x_min":21.546875,"x_max":546.375,"ha":585,"o":"m 545 1087 q 461 544 503 848 q 382 8 411 186 q 362 -18 378 -18 l 196 -18 q 170 8 174 -18 q 96 554 142 184 q 21 1095 54 898 q 27 1112 20 1104 q 43 1120 34 1120 q 197 1120 103 1120 q 225 1091 219 1120 q 244 919 230 1072 q 279 672 258 766 q 289 650 284 650 q 299 673 295 650 q 328 912 313 759 q 348 1092 340 1051 q 371 1117 352 1117 q 524 1112 469 1117 q 545 1087 549 1109 "},"Â ":{"x_min":0,"x_max":0,"ha":681},"h":{"x_min":-1,"x_max":451,"ha":516,"o":"m 451 1088 q 451 512 451 942 q 451 15 451 54 q 423 -9 451 -5 q 357 -14 396 -14 q 302 -15 313 -14 q 285 20 285 -15 l 285 449 q 268 470 285 467 q 194 472 255 472 q 180 449 180 472 q 180 17 180 278 q 141 -11 180 -7 q 27 -14 84 -19 q -1 16 -1 -14 q -1 1088 -1 366 q 12 1112 -1 1112 q 165 1111 165 1112 q 185 1088 185 1111 q 182 916 185 1090 q 182 710 182 784 q 184 694 182 698 q 192 684 185 685 q 268 685 222 676 q 283 710 283 688 q 283 1094 283 863 q 293 1113 283 1113 q 438 1113 348 1113 q 451 1088 451 1111 "},"0":{"x_min":-1,"x_max":425,"ha":493,"o":"m 425 205 q 207 -28 425 -28 q 45 30 94 -28 q -1 205 -1 84 l -1 848 q 58 1063 -1 999 q 207 1116 107 1116 q 362 1070 313 1116 q 425 864 425 1011 l 425 205 m 262 252 l 262 820 q 249 905 262 884 q 214 922 240 922 q 162 819 162 922 l 162 251 q 175 176 162 194 q 214 164 186 164 q 249 177 240 164 q 262 252 262 197 "},".":{"x_min":46,"x_max":257,"ha":340,"o":"m 257 13 q 240 -17 257 -17 q 152 -17 212 -17 q 74 -17 100 -17 q 47 -3 48 -17 q 46 173 46 10 q 60 201 46 201 q 137 201 75 201 q 235 201 198 201 q 257 189 257 201 q 257 13 257 150 "},"â€":{"x_min":28.828125,"x_max":513,"ha":555,"o":"m 513 1152 q 513 843 513 1102 q 435 745 513 775 q 330 727 387 727 q 307 738 307 727 q 307 779 307 750 q 307 824 307 815 q 323 834 307 834 q 381 849 356 834 q 407 895 407 865 l 407 944 q 385 957 407 957 q 319 957 336 957 q 300 976 300 959 q 300 1155 300 1041 q 321 1171 300 1171 q 488 1171 439 1171 q 513 1152 513 1171 m 241 1152 q 241 843 241 1102 q 163 745 241 775 q 58 727 115 727 q 35 738 35 727 q 35 779 35 750 q 35 824 35 815 q 51 834 35 834 q 109 849 84 834 q 135 895 135 865 l 135 944 q 113 957 135 957 q 47 957 64 957 q 28 976 28 959 q 28 1155 28 1041 q 49 1171 28 1171 q 216 1171 167 1171 q 241 1152 241 1171 "},";":{"x_min":33,"x_max":248,"ha":289,"o":"m 244 728 q 227 698 244 698 q 139 698 199 698 q 61 698 87 698 q 34 711 35 698 q 33 888 33 725 q 48 916 33 916 q 124 916 63 916 q 222 916 185 916 q 244 904 244 916 q 244 728 244 865 m 248 333 q 248 24 248 283 q 170 -73 248 -43 q 65 -92 122 -92 q 42 -80 42 -92 q 42 -39 42 -68 q 42 5 42 -3 q 58 15 42 15 q 116 30 91 15 q 142 76 142 46 l 142 125 q 120 138 142 138 q 54 138 71 138 q 35 157 35 140 q 35 336 35 222 q 56 352 35 352 q 223 352 174 352 q 248 333 248 352 "},"f":{"x_min":-3,"x_max":411.890625,"ha":454,"o":"m 411 1092 q 411 950 411 999 q 390 934 411 938 q 222 934 328 934 q 206 914 206 932 l 206 670 q 219 650 206 650 q 357 650 249 650 q 376 634 376 650 q 380 452 380 579 q 364 439 380 439 q 222 439 313 439 q 205 420 206 437 q 205 227 205 372 q 205 14 205 23 q 188 -4 205 -4 q 14 -5 94 -14 q -3 13 -3 -5 q -3 1091 -3 13 q 18 1112 -3 1112 q 216 1112 81 1112 q 392 1111 392 1112 q 411 1092 411 1111 "},"â€œ":{"x_min":31,"x_max":515.171875,"ha":555,"o":"m 515 929 q 515 750 515 864 q 494 734 515 734 q 327 734 376 734 q 303 753 303 734 q 303 1063 303 803 q 380 1161 303 1131 q 484 1180 427 1180 q 507 1168 507 1180 q 507 1127 507 1156 q 507 1082 507 1091 q 492 1073 507 1073 q 436 1059 459 1073 q 409 1010 409 1041 l 409 961 q 430 949 409 949 q 496 949 479 949 q 515 929 515 946 m 243 929 q 243 750 243 864 q 222 734 243 734 q 55 734 104 734 q 31 753 31 734 q 31 1063 31 803 q 108 1161 31 1131 q 212 1180 155 1180 q 235 1168 235 1180 q 235 1127 235 1156 q 235 1082 235 1091 q 220 1073 235 1073 q 164 1059 187 1073 q 137 1010 137 1041 l 137 961 q 158 949 137 949 q 224 949 207 949 q 243 929 243 946 "},"i":{"x_min":3,"x_max":192,"ha":255,"o":"m 192 22 q 171 -16 192 -11 q 28 -16 138 -26 q 3 27 3 -13 q 3 1071 3 496 q 5 1096 3 1085 q 20 1112 9 1112 q 168 1112 79 1112 q 192 1073 192 1109 q 192 22 192 668 "},"A":{"x_min":17.265625,"x_max":552.953125,"ha":608,"o":"m 552 -10 q 540 -19 554 -19 q 469 -19 521 -19 q 379 -19 418 -19 q 348 72 367 -19 q 328 189 335 140 q 313 199 326 199 q 260 199 260 199 q 247 189 250 199 q 215 -3 235 106 q 203 -16 209 -16 l 35 -16 q 17 0 13 -16 q 110 568 64 283 q 219 1118 201 1118 q 366 1118 292 1118 q 467 566 382 1116 q 552 -10 510 278 m 316 373 q 290 532 295 532 q 273 464 283 532 q 262 373 268 419 q 275 367 261 369 q 302 366 290 365 q 316 373 316 368 "},"6":{"x_min":4,"x_max":445,"ha":509,"o":"m 445 166 q 202 -22 445 -22 q 68 29 125 -22 q 4 184 4 87 l 4 866 q 53 1053 4 995 q 218 1112 103 1112 q 431 808 431 1112 q 413 786 431 786 q 297 788 332 786 q 276 805 276 791 l 276 833 q 261 901 276 876 q 231 927 247 926 q 170 827 170 933 q 170 654 170 708 q 175 635 170 635 q 184 639 178 635 q 268 668 218 668 q 387 619 336 668 q 445 480 445 565 l 445 166 m 288 211 l 288 449 q 224 499 288 499 q 192 471 207 499 q 176 412 176 443 l 176 237 q 186 177 176 208 q 221 140 199 140 q 288 211 288 140 "},"â€˜":{"x_min":31,"x_max":243.171875,"ha":294,"o":"m 243 929 q 243 750 243 864 q 222 734 243 734 q 55 734 104 734 q 31 753 31 734 q 31 1063 31 803 q 108 1161 31 1131 q 212 1180 155 1180 q 235 1168 235 1180 q 235 1127 235 1156 q 235 1082 235 1091 q 220 1073 235 1073 q 164 1059 187 1073 q 137 1010 137 1041 l 137 961 q 158 949 137 949 q 224 949 207 949 q 243 929 243 946 "},"n":{"x_min":-4,"x_max":503.984375,"ha":548,"o":"m 503 1082 q 500 22 502 1154 q 475 -18 500 -13 q 338 -18 410 -29 q 306 11 313 -13 q 201 483 261 219 q 184 504 196 504 q 176 474 176 504 q 176 277 176 445 q 176 18 176 111 q 141 -16 176 -9 q 80 -20 118 -20 q 24 -20 31 -20 q -4 12 -4 -20 q -4 598 -4 206 q -4 1079 -4 977 q 20 1113 0 1111 q 109 1113 53 1113 q 182 1113 177 1113 q 207 1082 201 1113 q 299 649 273 746 q 316 612 310 612 q 326 655 326 612 q 326 1081 326 767 q 349 1113 326 1113 q 475 1113 395 1113 q 503 1082 503 1113 "},"O":{"x_min":-1,"x_max":425,"ha":493,"o":"m 425 205 q 207 -28 425 -28 q 45 30 94 -28 q -1 205 -1 84 l -1 848 q 58 1063 -1 999 q 207 1116 107 1116 q 362 1070 313 1116 q 425 864 425 1011 l 425 205 m 252 267 l 252 830 q 214 911 252 911 q 171 828 171 911 l 171 266 q 181 208 171 220 q 214 197 190 197 q 252 267 252 197 "},"3":{"x_min":3,"x_max":455,"ha":516,"o":"m 455 358 l 455 131 q 392 21 455 61 q 248 -19 330 -19 q 65 29 124 -19 q 3 201 3 82 q 3 324 3 288 q 15 335 6 330 q 163 335 85 335 q 183 314 183 335 q 183 259 183 301 q 233 152 183 152 q 280 197 270 152 q 286 320 286 221 q 210 477 286 477 q 192 475 203 477 q 179 474 181 474 q 165 496 165 474 q 165 622 165 583 q 176 649 165 649 q 239 660 220 649 q 292 796 292 692 q 282 901 292 870 q 235 943 270 943 q 201 920 218 943 q 184 872 184 898 q 184 815 184 833 q 170 793 184 793 q 103 793 164 793 q 36 793 53 793 q 23 812 23 793 q 23 954 23 851 q 94 1085 23 1047 q 254 1115 147 1115 q 378 1081 323 1115 q 444 972 444 1041 l 444 771 q 422 652 444 710 q 384 587 406 608 q 382 563 370 574 q 427 486 404 543 q 455 358 455 417 "},"]":{"x_min":32.8125,"x_max":283,"ha":329,"o":"m 283 1068 q 283 25 283 599 q 280 0 283 11 q 265 -15 276 -15 q 58 -15 176 -15 q 32 10 32 -12 q 32 61 32 61 q 49 81 32 81 q 109 83 76 81 q 124 112 124 85 q 124 620 124 233 q 124 1000 124 964 q 111 1023 124 1021 q 54 1023 111 1023 q 35 1042 35 1023 q 35 1078 35 1054 q 35 1109 31 1103 q 58 1116 39 1116 q 257 1116 170 1116 q 283 1068 283 1113 "},"m":{"x_min":18,"x_max":722,"ha":782,"o":"m 722 27 q 722 -1 722 3 q 709 -19 722 -18 q 538 -19 704 -19 q 516 13 516 -19 q 516 141 516 49 q 516 301 516 202 q 516 402 516 395 q 511 432 516 432 q 500 408 504 432 q 475 224 490 358 q 452 24 457 65 q 426 -13 446 -9 q 369 -18 407 -18 q 309 -17 308 -16 q 288 21 297 -17 q 260 245 275 87 q 240 411 244 393 q 226 439 234 439 q 221 409 221 439 q 221 21 221 77 q 200 -16 221 -14 q 39 -17 200 -17 q 18 30 18 -17 q 18 263 18 112 q 18 772 18 437 q 18 1085 18 1059 q 26 1107 23 1098 q 41 1119 30 1123 q 196 1119 114 1119 q 220 1088 210 1119 q 354 652 235 1045 q 371 618 365 618 q 389 652 380 618 q 518 1089 439 815 q 550 1119 526 1119 q 693 1119 550 1119 q 722 1080 722 1119 q 722 599 722 840 q 722 27 722 202 "},"9":{"x_min":12,"x_max":453,"ha":509,"o":"m 453 912 l 453 230 q 403 43 453 101 q 237 -15 353 -15 q 60 108 115 -15 q 24 286 24 190 q 41 309 24 311 q 159 307 63 307 q 181 287 181 307 q 179 263 181 279 q 193 194 179 220 q 225 169 207 169 q 286 269 286 164 q 286 436 286 375 q 279 460 286 460 q 272 457 275 460 q 176 424 227 424 q 62 475 109 424 q 12 616 12 530 l 12 930 q 254 1119 12 1119 q 388 1067 331 1119 q 453 912 453 1009 m 280 684 l 280 859 q 270 918 280 888 q 235 955 257 955 q 169 883 169 955 l 169 646 q 232 598 169 598 q 264 625 249 598 q 280 684 280 653 "},"l":{"x_min":-1,"x_max":397.875,"ha":426,"o":"m 397 16 q 362 -8 397 -8 q 182 -11 370 -8 q 20 -7 68 -11 q -1 25 -1 -5 q -1 1085 -1 730 q 23 1120 -1 1124 q 170 1119 52 1119 q 191 1106 188 1119 q 191 1080 191 1094 q 191 703 191 1019 q 191 226 191 360 q 223 194 191 194 q 365 194 223 194 q 397 169 397 194 q 397 16 397 120 "},"8":{"x_min":8,"x_max":454,"ha":507,"o":"m 454 196 q 229 -29 454 -29 q 8 182 8 -29 l 8 446 q 36 536 8 502 q 92 579 50 551 q 40 618 52 604 q 16 714 16 651 l 16 931 q 230 1122 16 1122 q 382 1069 325 1122 q 444 908 444 1012 l 444 701 q 371 575 444 619 q 424 540 416 550 q 454 450 454 510 l 454 196 m 275 729 l 275 910 q 262 944 275 930 q 232 958 249 958 q 188 909 188 958 l 188 729 q 200 692 188 707 q 232 678 213 678 q 262 693 249 678 q 275 729 275 708 m 277 165 l 277 426 q 232 473 277 473 q 186 425 186 473 l 186 162 q 199 127 186 141 q 230 114 213 114 q 262 129 248 114 q 277 165 277 144 "},"p":{"x_min":3,"x_max":426,"ha":457,"o":"m 426 603 q 338 446 426 501 q 201 406 274 406 q 182 386 182 406 q 182 7 182 260 q 167 -15 182 -14 q 21 -19 119 -19 q 3 -2 3 -19 l 3 1099 q 25 1115 3 1115 q 205 1115 80 1115 q 352 1065 285 1115 q 426 936 426 1013 l 426 603 m 264 759 q 255 894 264 852 q 232 933 247 926 q 204 936 218 934 q 184 938 199 936 q 174 933 178 940 q 172 917 170 926 q 172 616 172 812 q 186 598 172 604 q 204 600 193 596 q 246 621 236 603 q 264 759 264 652 "},"4":{"x_min":22,"x_max":532,"ha":588,"o":"m 532 282 q 521 264 532 265 q 443 263 511 263 q 426 249 426 263 l 426 4 q 387 -19 426 -19 q 256 -20 387 -20 q 238 3 238 -20 q 238 246 238 3 q 221 259 238 259 q 129 259 209 259 q 35 259 62 259 q 22 274 22 260 l 22 442 q 28 461 22 442 l 245 1091 q 272 1110 250 1110 l 405 1110 q 426 1091 426 1110 q 426 865 426 1008 q 426 625 426 773 q 426 460 426 485 q 435 441 426 441 q 521 441 480 441 q 532 425 532 441 q 532 282 532 282 m 238 753 q 234 778 238 778 q 223 754 227 778 q 132 454 196 662 q 144 441 128 442 q 225 441 167 441 q 238 457 238 441 q 238 753 238 629 "},"R":{"x_min":-1,"x_max":467.3125,"ha":519,"o":"m 465 12 q 452 -19 472 -19 q 292 -21 426 -21 q 272 17 272 -21 q 272 229 272 113 q 196 439 272 439 q 179 439 186 441 q 169 408 169 434 q 169 25 169 190 q 154 -12 169 -11 q 13 -18 80 -18 q -1 22 -1 -16 l -1 1093 q 23 1119 -1 1119 q 227 1119 98 1119 q 370 1083 312 1119 q 435 976 435 1042 l 435 704 q 395 587 435 636 q 333 540 368 553 q 323 532 323 536 q 333 525 323 529 q 388 490 359 516 q 452 213 452 433 q 465 12 452 73 m 270 857 q 209 948 270 948 q 189 945 196 945 q 177 921 177 945 q 177 676 177 921 q 196 638 177 638 q 212 638 203 636 q 253 668 242 638 q 270 857 270 712 "},"o":{"x_min":-1,"x_max":425,"ha":493,"o":"m 425 205 q 207 -28 425 -28 q 45 30 94 -28 q -1 205 -1 84 l -1 848 q 58 1063 -1 999 q 207 1116 107 1116 q 362 1070 313 1116 q 425 864 425 1011 l 425 205 m 252 267 l 252 830 q 214 911 252 911 q 171 828 171 911 l 171 266 q 181 208 171 220 q 214 197 190 197 q 252 267 252 197 "},"5":{"x_min":1,"x_max":447,"ha":525,"o":"m 447 179 q 392 20 447 66 q 228 -26 337 -26 q 1 276 1 -26 q 2 320 1 307 q 21 337 2 337 q 86 337 35 337 q 147 337 135 337 q 173 315 173 337 l 173 272 q 229 189 173 189 q 281 266 281 189 l 281 463 q 263 523 281 495 q 221 551 245 551 q 170 496 176 551 q 149 476 170 478 q 20 477 91 469 q 6 496 6 478 l 6 1067 q 9 1081 6 1077 q 20 1086 12 1086 q 411 1086 157 1086 q 426 1067 426 1086 q 426 930 426 930 q 409 911 426 911 q 143 911 392 911 q 126 891 126 911 q 126 799 126 867 q 126 695 126 731 q 135 680 126 667 q 280 751 179 751 q 411 694 375 751 q 447 489 447 637 l 447 179 "}},"cssFontWeight":"normal","ascender":1213,"underlinePosition":-133,"cssFontStyle":"normal","boundingBox":{"yMin":-175,"xMin":-19,"yMax":1212,"xMax":6969},"resolution":1000,"original_font_information":{"postscript_name":"HeadlineOneHPLHS","version_string":"Macromedia Fontographer 4.1.4 10/9/02","vendor_url":"","full_font_name":"Headline One HPLHS","font_family_name":"Headline One","copyright":"Â©2002 by Andrew Leman. Digitized from vintage copies of the Toronto Star exclusively for the HPLHS.","description":"","trademark":"","designer":"","designer_url":"","unique_font_identifier":"Macromedia Fontographer 4.1.4 Headline One HPLHS","license_url":"","license_description":"","manufacturer_name":"","font_sub_family_name":"Regular"},"descender":-181,"familyName":"Headline One","lineHeight":1393,"underlineThickness":20});


