/*****************************************************************

typeface.js, version 0.15 | 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.CanvasRenderingContext2D || document.createElement('canvas').getContext ? 'canvas' : !!(window.attachEvent && !window.opera) ? 'vml' : 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) {};

})();

/////////////////////////////////////////////////////////

if (_typeface_js && _typeface_js.loadFace) _typeface_js.loadFace({"glyphs":{"S":{"x_min":39,"x_max":934,"ha":973,"o":"m 885 926 l 918 737 q 810 774 866 774 l 768 773 l 448 773 q 398 762 412 773 q 385 724 385 752 l 385 693 q 398 647 385 657 q 459 637 411 637 l 687 637 q 815 628 776 637 q 880 594 853 620 q 934 445 932 547 l 934 192 q 872 45 931 96 q 804 9 840 18 q 687 0 768 0 l 74 0 l 41 185 q 115 158 80 164 q 242 153 150 153 l 511 153 q 568 156 559 153 q 584 170 580 161 q 588 202 588 179 l 588 231 q 579 276 588 264 q 545 288 571 288 l 284 288 q 159 296 200 288 q 92 325 118 304 q 39 479 40 370 l 39 733 q 99 880 41 829 q 167 917 131 908 q 284 926 204 926 l 885 926 "},"/":{"x_min":-11.53125,"x_max":395.375,"ha":412,"o":"m 395 926 l 145 -153 l -11 -153 l 237 926 l 395 926 "},"K":{"x_min":46.34375,"x_max":1166.03125,"ha":1139,"o":"m 437 509 l 693 801 q 735 894 735 849 q 729 926 735 904 l 1036 926 q 888 798 970 892 l 761 654 l 1033 191 q 1166 0 1100 75 l 738 0 l 526 391 l 437 288 l 437 136 q 475 0 439 46 l 46 0 q 85 136 82 48 l 85 788 q 46 926 82 877 l 475 926 q 437 788 439 879 l 437 509 "},"7":{"x_min":90.875,"x_max":1032.859375,"ha":1123,"o":"m 120 926 l 1019 926 l 1032 773 q 743 382 861 591 q 598 0 626 172 l 200 0 q 376 364 243 149 q 678 773 509 580 l 277 773 q 164 765 201 773 q 90 736 126 758 l 120 926 "},"d":{"x_min":51,"x_max":981.8125,"ha":1024,"o":"m 954 926 l 954 172 q 959 62 954 93 q 981 0 964 31 l 664 0 l 649 61 q 598 12 626 24 q 507 0 570 0 l 270 0 q 126 31 166 0 q 69 100 88 58 q 51 199 51 142 l 51 495 q 99 634 51 583 q 230 685 147 685 l 505 685 q 619 621 587 684 l 619 753 q 613 863 619 832 q 591 926 608 894 l 954 926 m 467 130 l 543 130 q 603 148 587 130 q 619 220 619 167 l 619 473 q 616 516 619 507 q 605 536 614 525 q 584 551 595 547 q 548 555 572 555 l 456 555 q 402 536 419 555 q 386 477 386 517 l 386 203 q 404 146 386 163 q 467 130 423 130 "},",":{"x_min":93,"x_max":439,"ha":532,"o":"m 93 249 l 439 249 l 439 12 l 254 -190 l 139 -190 l 235 0 l 93 0 l 93 249 "},"Y":{"x_min":-26.640625,"x_max":1071.34375,"ha":1039,"o":"m 637 547 l 790 794 q 824 897 824 849 q 821 926 824 907 l 1071 926 q 1026 885 1043 907 q 973 800 1008 863 l 697 351 l 697 136 q 735 0 699 46 l 306 0 q 345 136 342 46 l 345 351 l 76 778 q -26 926 15 879 l 439 926 q 449 860 439 887 q 488 785 459 832 l 637 547 "},"E":{"x_min":46.34375,"x_max":911.671875,"ha":925,"o":"m 437 773 l 437 549 l 720 549 q 852 569 805 549 l 852 371 q 746 396 824 394 l 437 396 l 437 153 l 780 153 q 911 184 826 153 l 881 0 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 861 926 l 888 752 q 823 769 846 766 q 725 773 799 772 l 437 773 "},"y":{"x_min":44.1875,"x_max":982,"ha":1041,"o":"m 407 685 l 407 236 q 424 151 407 172 q 497 130 442 130 l 584 130 q 634 146 624 130 q 646 231 644 163 l 646 512 q 640 622 646 590 q 618 685 635 653 l 981 685 l 981 0 q 982 -46 982 -46 q 888 -241 982 -191 q 828 -259 861 -255 q 675 -264 795 -262 l 118 -264 l 91 -103 q 157 -127 123 -121 q 269 -134 192 -134 l 569 -134 q 631 -116 617 -134 q 646 -41 646 -98 l 646 44 q 601 9 629 19 q 517 0 574 0 l 322 0 q 201 13 242 0 q 127 65 160 27 q 82 145 93 105 q 72 275 72 185 l 72 512 q 66 622 72 591 q 44 685 61 653 l 407 685 "},"\"":{"x_min":55.609375,"x_max":512.015625,"ha":568,"o":"m 219 554 l 88 554 l 55 926 l 252 926 l 219 554 m 478 554 l 347 554 l 314 926 l 512 926 l 478 554 "},"‹":{"x_min":60.359375,"x_max":326.875,"ha":373,"o":"m 307 657 l 224 342 l 326 28 l 164 28 l 60 342 l 151 657 l 307 657 "},"?":{"x_min":239,"x_max":454,"ha":694,"o":"m 454 964 l 454 754 l 239 754 l 239 964 l 454 964 "},"„":{"x_min":93,"x_max":842,"ha":934,"o":"m 93 249 l 439 249 l 439 12 l 254 -190 l 139 -190 l 235 0 l 93 0 l 93 249 m 496 249 l 842 249 l 842 12 l 657 -190 l 542 -190 l 638 0 l 496 0 l 496 249 "},"g":{"x_min":51,"x_max":987.8125,"ha":1032,"o":"m 660 685 l 987 685 q 965 622 970 653 q 960 513 960 591 l 960 1 q 950 -117 960 -77 q 914 -189 941 -156 q 831 -249 877 -235 q 660 -264 785 -262 l 111 -264 l 86 -97 q 149 -127 115 -120 q 270 -134 183 -134 l 520 -134 q 606 -118 587 -134 q 625 -46 625 -103 l 625 51 q 582 10 609 21 q 494 0 555 0 l 293 0 q 181 7 215 0 q 117 40 147 15 q 51 199 51 95 l 51 487 q 104 633 51 581 q 254 685 157 685 l 532 685 q 605 675 583 685 q 650 633 627 665 l 660 685 m 625 209 l 625 474 q 622 521 625 511 q 608 542 619 531 q 551 555 591 555 l 454 555 q 417 552 427 555 q 400 542 408 550 q 388 519 391 532 q 386 473 386 506 l 386 209 q 456 130 386 128 l 553 130 q 610 145 596 130 q 625 209 625 161 "},"–":{"x_min":110,"x_max":1013,"ha":1123,"o":"m 1013 443 l 1013 270 l 110 270 l 110 443 l 1013 443 "},"ƒ":{"x_min":30.515625,"x_max":1054.546875,"ha":1123,"o":"m 398 574 l 235 574 l 253 676 l 416 676 l 444 830 q 725 1019 484 1031 l 1022 1019 l 1054 837 q 1008 861 1024 856 q 954 866 992 866 l 861 866 q 806 851 823 866 q 783 799 790 837 l 761 676 l 984 676 l 965 574 l 743 574 l 642 3 q 545 -146 623 -95 q 474 -177 509 -170 q 360 -185 438 -185 l 62 -185 l 30 -3 q 80 -28 65 -24 q 131 -32 94 -32 l 225 -32 q 280 -18 263 -32 q 303 34 297 -3 l 398 574 "},"e":{"x_min":53.96875,"x_max":954,"ha":1002,"o":"m 954 276 l 389 276 l 389 219 q 408 147 389 164 q 492 130 428 130 l 795 130 q 942 161 897 132 l 918 0 l 308 0 q 188 10 229 0 q 117 48 148 20 q 54 231 56 103 l 54 453 q 288 685 51 693 l 709 685 q 832 674 793 685 q 901 632 871 663 q 942 561 930 602 q 954 455 954 521 l 954 276 m 623 406 l 623 479 q 611 541 623 528 q 561 555 600 555 l 452 555 q 417 553 424 555 q 402 544 409 551 q 389 478 389 530 l 389 406 l 623 406 "},"J":{"x_min":-38.171875,"x_max":794.65625,"ha":821,"o":"m -10 0 l -38 184 q 115 153 8 151 l 312 153 q 386 173 369 153 q 404 261 404 193 l 404 788 q 365 926 401 879 l 794 926 q 756 788 758 879 l 756 265 q 703 75 755 130 q 622 20 672 40 q 518 0 572 0 l -10 0 "},"|":{"x_min":194,"x_max":501,"ha":694,"o":"m 194 926 l 501 926 l 501 -231 l 194 -231 l 194 926 "},"?":{"x_min":74,"x_max":621,"ha":694,"o":"m 445 973 l 621 973 l 621 911 q 616 841 621 862 q 599 802 612 820 q 468 750 557 748 l 226 750 q 95 802 137 748 q 78 841 82 820 q 74 911 74 862 l 74 973 l 249 973 q 259 900 251 913 q 306 888 268 888 l 388 888 q 435 900 426 888 q 445 973 443 913 "},"^":{"x_min":-0.671875,"x_max":695.125,"ha":694,"o":"m 262 455 l 0 455 l 179 934 l 514 934 l 695 455 l 432 455 l 347 729 l 262 455 "},"q":{"x_min":51,"x_max":982.8125,"ha":1027,"o":"m 620 -241 l 620 48 q 514 0 596 1 l 269 0 q 94 62 150 -3 q 62 122 73 87 q 51 201 51 158 l 51 456 q 62 554 51 515 q 102 623 74 593 q 175 670 131 655 q 283 685 218 685 l 502 685 q 634 620 609 682 l 646 685 l 982 685 q 960 622 965 653 q 955 513 955 591 l 955 -68 q 960 -178 955 -147 q 982 -241 965 -209 l 620 -241 m 620 194 l 620 490 q 544 555 620 556 l 460 555 q 402 538 418 555 q 386 479 386 522 l 386 205 q 402 146 386 162 q 460 130 418 130 l 544 130 q 620 194 620 128 "},"b":{"x_min":41.1875,"x_max":972.03125,"ha":1023,"o":"m 404 926 l 404 636 q 508 685 427 683 l 754 685 q 929 622 872 688 q 972 483 969 574 l 972 228 q 921 61 973 118 q 848 14 891 29 q 739 0 804 0 l 521 0 q 389 64 414 2 l 377 0 l 41 0 q 63 62 58 31 q 69 172 69 93 l 69 753 q 63 863 69 832 q 41 926 58 894 l 404 926 m 404 490 l 404 194 q 479 130 403 128 l 562 130 q 621 146 605 130 q 637 205 637 162 l 637 479 q 621 539 637 523 q 562 555 605 555 l 479 555 q 404 490 403 556 "},"D":{"x_min":46.34375,"x_max":1047,"ha":1107,"o":"m 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 810 926 q 914 905 863 926 q 994 850 964 885 q 1047 660 1046 795 l 1047 265 q 994 75 1046 131 q 914 20 964 40 q 810 0 863 0 l 46 0 m 437 153 l 603 153 q 677 173 660 153 q 695 261 695 193 l 695 664 q 683 745 695 724 q 603 773 662 773 l 437 773 l 437 153 "},"z":{"x_min":0,"x_max":928.40625,"ha":928,"o":"m 914 685 l 516 130 l 757 130 q 928 168 866 128 l 904 0 l 0 0 l 409 555 l 208 555 q 95 547 138 555 q 10 519 53 540 l 33 685 l 914 685 "},"ˆ":{"x_min":65.109375,"x_max":630.015625,"ha":694,"o":"m 347 904 l 254 751 l 65 751 l 164 973 l 530 973 l 630 751 l 440 751 l 347 904 "},"w":{"x_min":-13.5625,"x_max":1352.265625,"ha":1329,"o":"m 568 685 l 971 685 l 1081 263 l 1143 512 q 1156 609 1156 565 q 1142 685 1156 652 l 1352 685 q 1310 631 1322 655 q 1282 545 1298 607 l 1142 0 l 799 0 l 661 526 l 527 0 l 182 0 l 37 569 q 17 629 28 604 q -13 685 6 654 l 397 685 q 384 615 384 644 q 397 526 384 580 l 462 263 l 568 685 "},"$":{"x_min":114,"x_max":1008,"ha":1123,"o":"m 959 926 l 992 736 q 884 774 940 774 l 842 773 l 523 773 q 473 762 487 773 q 460 724 460 752 l 460 693 q 473 646 460 656 q 534 637 486 637 l 761 637 q 889 628 850 637 q 954 594 927 620 q 1008 445 1006 547 l 1008 192 q 946 45 1005 96 q 878 8 914 17 q 761 0 842 0 l 625 0 l 625 -102 l 498 -102 l 498 0 l 149 0 l 116 185 q 190 158 155 164 q 317 153 225 153 l 586 153 q 643 156 633 153 q 658 170 654 161 q 662 202 662 179 l 662 231 q 653 276 662 264 q 620 288 645 288 l 359 288 q 234 296 275 288 q 167 325 192 304 q 114 479 115 370 l 114 733 q 174 880 116 829 q 242 916 206 907 q 359 926 279 926 l 498 926 l 498 1028 l 625 1028 l 625 926 l 959 926 "},"\\":{"x_min":16.28125,"x_max":423.171875,"ha":412,"o":"m 16 926 l 174 926 l 423 -153 l 265 -153 l 16 926 "},"’":{"x_min":93,"x_max":439,"ha":532,"o":"m 93 249 l 439 249 l 439 12 l 254 -190 l 139 -190 l 235 0 l 93 0 l 93 249 "},"~":{"x_min":126.8125,"x_max":804.3125,"ha":926,"o":"m 269 729 l 126 851 q 185 971 156 929 q 351 1072 251 1072 q 394 1066 375 1072 q 503 1032 413 1061 q 590 1008 574 1008 q 634 1030 614 1008 q 661 1076 641 1039 l 804 954 q 756 850 776 884 q 708 787 737 816 q 580 731 653 731 q 428 772 550 731 q 339 797 357 797 q 269 729 305 797 "},"-":{"x_min":0,"x_max":492,"ha":491,"o":"m 492 443 l 492 270 l 0 270 l 0 443 l 492 443 "},"Q":{"x_min":60,"x_max":1072,"ha":1133,"o":"m 836 -123 l 697 -123 l 631 0 l 297 0 q 192 20 243 0 q 112 75 142 40 q 60 265 60 130 l 60 660 q 112 850 60 795 q 192 905 142 885 q 297 926 243 926 l 834 926 q 938 905 888 926 q 1019 850 989 885 q 1072 660 1071 795 l 1072 265 q 1019 75 1071 130 q 938 20 989 40 q 834 0 888 0 l 770 0 l 836 -123 m 611 283 l 682 155 q 712 191 705 167 q 720 272 720 215 l 720 664 q 708 745 720 724 q 629 773 687 773 l 502 773 q 429 752 446 773 q 412 664 412 732 l 412 260 q 423 180 412 201 q 502 153 444 152 l 546 153 l 475 283 l 611 283 "},"M":{"x_min":37.34375,"x_max":1344.65625,"ha":1392,"o":"m 689 397 l 869 926 l 1344 926 q 1306 788 1308 879 l 1306 136 q 1344 0 1308 46 l 915 0 q 954 136 951 46 l 954 704 l 714 0 l 464 0 l 229 704 l 229 136 q 267 0 231 46 l 37 0 q 76 136 73 48 l 76 788 q 37 926 73 877 l 512 926 l 689 397 "},"C":{"x_min":60,"x_max":893.5,"ha":926,"o":"m 849 926 l 881 735 q 815 766 847 759 q 709 773 784 773 l 515 773 q 456 768 473 773 q 429 752 440 764 q 415 721 418 739 q 412 655 412 703 l 412 263 q 436 175 412 198 q 533 153 461 153 l 716 153 q 893 182 821 152 l 865 0 l 296 0 q 116 75 181 1 q 72 152 84 111 q 60 265 60 192 l 60 660 q 72 773 60 733 q 116 850 84 814 q 296 926 181 924 l 849 926 "},"[":{"x_min":130,"x_max":461,"ha":480,"o":"m 461 -45 l 461 -153 l 130 -153 l 130 940 l 461 940 l 461 832 l 354 832 l 354 -45 l 461 -45 "},"L":{"x_min":46.34375,"x_max":885.265625,"ha":886,"o":"m 885 187 l 855 0 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 475 926 q 437 788 439 879 l 437 153 l 767 153 q 885 187 843 154 "},"!":{"x_min":139,"x_max":490,"ha":628,"o":"m 139 926 l 490 926 l 490 569 l 458 299 l 173 299 l 139 561 l 139 926 m 140 248 l 489 248 l 489 0 l 140 0 l 140 248 "}," ":{"x_min":0,"x_max":0,"ha":347},"{":{"x_min":49,"x_max":471.140625,"ha":480,"o":"m 49 352 l 49 450 l 68 450 q 122 513 120 452 q 125 555 124 544 l 125 740 q 183 902 125 858 q 247 932 213 924 q 351 940 281 940 l 471 940 l 471 831 l 429 831 q 364 817 380 831 q 348 792 351 807 q 345 735 345 778 l 345 568 q 328 463 345 498 q 261 394 311 427 q 327 325 309 362 q 345 218 345 288 l 345 51 q 348 -6 345 8 q 364 -30 352 -20 q 429 -45 385 -45 l 471 -45 l 471 -153 l 351 -153 q 240 -143 277 -153 q 173 -106 203 -133 q 125 47 125 -62 l 125 231 q 113 328 125 304 q 67 352 101 352 l 49 352 "},"X":{"x_min":-35.9375,"x_max":1133.90625,"ha":1115,"o":"m 728 531 l 1013 136 q 1076 53 1056 76 q 1133 0 1096 31 l 638 0 q 642 29 642 18 q 587 143 642 70 l 473 297 l 282 94 q 241 45 251 63 q 225 0 230 27 l -35 0 q 80 106 25 47 l 382 425 l 107 789 q -18 926 50 874 l 488 926 q 500 855 488 883 q 547 779 511 827 l 638 659 l 789 813 q 853 926 845 877 l 1133 926 q 1011 825 1064 883 l 728 531 "},"P":{"x_min":46.34375,"x_max":1049,"ha":1080,"o":"m 433 332 l 433 137 q 472 0 435 46 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 803 926 q 921 916 882 926 q 990 880 961 906 q 1049 733 1046 831 l 1049 523 q 990 377 1046 426 q 921 341 961 351 q 803 332 882 332 l 433 332 m 433 485 l 610 485 q 686 503 670 485 q 702 592 702 522 l 702 665 q 688 753 702 733 q 628 773 674 773 l 433 773 l 433 485 "},"%":{"x_min":46.96875,"x_max":1327.03125,"ha":1372,"o":"m 596 795 l 596 539 q 547 434 597 472 q 506 413 527 418 q 443 409 486 409 l 199 409 q 136 413 156 409 q 95 434 115 418 q 47 539 45 472 l 47 795 q 95 900 45 862 q 136 921 115 916 q 199 926 157 926 l 443 926 q 506 921 485 926 q 547 900 527 916 q 596 795 597 862 m 358 837 l 284 837 q 227 823 240 837 q 215 765 215 809 l 215 569 q 227 511 215 524 q 284 498 240 498 l 358 498 q 415 511 402 498 q 428 569 428 524 l 428 765 q 415 823 428 809 q 358 837 402 837 m 805 926 l 640 0 l 569 0 l 736 926 l 805 926 m 1327 385 l 1327 130 q 1278 25 1328 64 q 1237 4 1257 9 q 1174 0 1217 0 l 931 0 q 868 4 888 0 q 827 25 847 9 q 779 130 777 64 l 779 385 q 827 490 777 452 q 868 511 847 506 q 931 516 889 516 l 1174 516 q 1237 511 1216 516 q 1278 490 1257 506 q 1327 385 1328 452 m 1090 427 l 1016 427 q 959 413 972 427 q 947 355 947 400 l 947 160 q 959 102 947 116 q 1016 89 972 89 l 1090 89 q 1146 102 1133 89 q 1159 160 1159 116 l 1159 355 q 1146 413 1159 400 q 1090 427 1133 427 "},"#":{"x_min":90.203125,"x_max":1032.171875,"ha":1123,"o":"m 628 265 l 435 265 l 397 0 l 179 0 l 217 265 l 90 265 l 107 397 l 235 397 l 256 547 l 130 547 l 150 696 l 276 696 l 309 926 l 527 926 l 494 696 l 687 696 l 720 926 l 940 926 l 907 696 l 1032 696 l 1012 547 l 887 547 l 866 397 l 993 397 l 975 265 l 848 265 l 810 0 l 590 0 l 628 265 m 667 547 l 474 547 l 453 397 l 646 397 l 667 547 "},"_":{"x_min":0,"x_max":694,"ha":694,"o":"m 0 -59 l 694 -59 l 694 -233 l 0 -233 l 0 -59 "},"+":{"x_min":161,"x_max":961,"ha":1122,"o":"m 473 384 l 161 384 l 161 560 l 473 560 l 473 850 l 648 850 l 648 560 l 961 560 l 961 384 l 648 384 l 648 94 l 473 94 l 473 384 "},"‚":{"x_min":93,"x_max":439,"ha":532,"o":"m 93 926 l 439 926 l 439 689 l 254 487 l 139 487 l 235 677 l 93 677 l 93 926 "},")":{"x_min":18,"x_max":349,"ha":480,"o":"m 18 -45 l 59 -45 q 112 -29 100 -45 q 125 36 125 -14 l 125 750 q 112 816 125 801 q 59 832 100 832 l 18 832 l 18 940 l 125 940 q 229 928 191 940 q 296 885 268 916 q 338 814 327 854 q 349 694 349 774 l 349 92 q 338 -27 349 13 q 296 -99 327 -68 q 230 -141 268 -129 q 125 -153 192 -153 l 18 -153 l 18 -45 "},"?":{"x_min":38.890625,"x_max":1348,"ha":1381,"o":"m 433 773 l 433 550 l 565 550 q 684 573 627 549 l 684 369 q 618 391 648 386 q 534 397 589 397 l 433 397 l 433 137 q 479 0 436 46 l 38 0 q 85 137 81 47 l 85 788 q 38 926 81 878 l 853 926 l 881 750 q 816 768 841 766 q 688 773 791 771 l 433 773 m 1050 550 l 1059 437 q 1084 497 1071 477 q 1123 530 1098 517 q 1234 550 1165 550 l 1348 550 l 1348 324 q 1226 364 1310 365 l 1193 364 q 1111 336 1140 364 q 1082 260 1082 309 l 1082 172 q 1087 63 1082 94 q 1109 0 1092 31 l 722 0 q 744 62 739 31 q 750 172 750 93 l 750 378 q 744 487 750 456 q 722 550 739 518 l 1050 550 "},"'":{"x_min":55.609375,"x_max":252.953125,"ha":309,"o":"m 219 554 l 88 554 l 55 926 l 252 926 l 219 554 "},"}":{"x_min":9.859375,"x_max":431,"ha":480,"o":"m 431 352 l 412 352 q 367 327 378 352 q 356 231 356 303 l 356 47 q 297 -114 355 -71 q 234 -145 269 -137 q 129 -153 199 -153 l 10 -153 l 10 -45 l 52 -45 q 116 -30 95 -45 q 132 -6 128 -20 q 136 51 136 8 l 136 218 q 153 325 136 288 q 219 394 171 362 q 152 463 169 427 q 136 568 136 499 l 136 735 q 132 792 136 778 q 116 817 128 807 q 51 831 100 831 l 9 831 l 9 940 l 129 940 q 240 930 203 940 q 307 893 277 921 q 356 740 356 850 l 356 555 l 356 544 q 369 467 358 485 q 412 450 379 450 l 431 450 l 431 352 "},"‰":{"x_min":46.96875,"x_max":1954.03125,"ha":1999,"o":"m 596 795 l 596 539 q 547 434 597 472 q 506 413 527 418 q 443 409 486 409 l 199 409 q 136 413 156 409 q 95 434 115 418 q 47 539 45 472 l 47 795 q 95 900 45 862 q 136 921 115 916 q 199 926 157 926 l 443 926 q 506 921 485 926 q 547 900 527 916 q 596 795 597 862 m 358 837 l 284 837 q 227 823 240 837 q 215 765 215 809 l 215 569 q 227 511 215 524 q 284 498 240 498 l 358 498 q 415 511 402 498 q 428 569 428 524 l 428 765 q 415 823 428 809 q 358 837 402 837 m 805 926 l 640 0 l 569 0 l 736 926 l 805 926 m 1327 385 l 1327 130 q 1278 25 1328 64 q 1237 4 1257 9 q 1174 0 1217 0 l 931 0 q 868 4 888 0 q 827 25 847 9 q 779 130 777 64 l 779 385 q 827 490 777 452 q 868 511 847 506 q 931 516 889 516 l 1174 516 q 1237 511 1216 516 q 1278 490 1257 506 q 1327 385 1328 452 m 1090 427 l 1016 427 q 959 413 972 427 q 947 355 947 400 l 947 160 q 959 102 947 116 q 1016 89 972 89 l 1090 89 q 1146 102 1133 89 q 1159 160 1159 116 l 1159 355 q 1146 413 1159 400 q 1090 427 1133 427 m 1954 385 l 1954 130 q 1905 25 1955 63 q 1864 4 1884 9 q 1801 0 1844 0 l 1557 0 q 1494 4 1514 0 q 1453 25 1474 9 q 1405 130 1403 64 l 1405 385 q 1453 490 1403 452 q 1494 511 1474 506 q 1557 516 1515 516 l 1801 516 q 1864 511 1843 516 q 1905 490 1884 506 q 1954 385 1955 452 m 1716 427 l 1642 427 q 1585 413 1598 427 q 1573 355 1573 400 l 1573 160 q 1585 102 1573 116 q 1642 89 1598 89 l 1716 89 q 1773 102 1760 89 q 1786 160 1786 116 l 1786 355 q 1773 413 1786 400 q 1716 427 1760 427 "},"?":{"x_min":390,"x_max":694.453125,"ha":694,"o":"m 600 0 l 568 -69 q 556 -102 556 -93 q 565 -116 556 -113 q 599 -120 574 -120 l 620 -120 q 694 -101 654 -119 l 636 -246 l 485 -246 q 390 -171 390 -246 q 412 -101 390 -143 l 466 0 l 600 0 "},"a":{"x_min":51,"x_max":988.8125,"ha":1033,"o":"m 105 685 l 729 685 q 833 675 799 685 q 899 635 866 665 q 961 488 962 576 l 961 171 q 966 62 961 93 q 988 0 971 31 l 655 0 q 635 72 640 27 q 594 17 624 35 q 512 0 564 0 l 261 0 q 165 8 198 0 q 105 38 132 16 q 64 97 77 61 q 51 188 51 133 l 51 303 q 95 421 51 380 q 225 462 140 462 l 543 462 q 600 466 587 462 q 625 511 625 475 q 609 545 625 536 q 551 555 594 555 l 225 555 q 82 522 141 556 l 105 685 m 626 332 l 464 332 q 402 313 419 332 q 386 245 386 294 l 386 215 q 402 148 386 167 q 464 130 419 130 l 546 130 q 609 148 592 130 q 626 215 626 167 l 626 332 "},"T":{"x_min":0.140625,"x_max":925.859375,"ha":925,"o":"m 248 0 q 287 136 284 46 l 287 773 l 123 773 q 50 767 74 773 q 0 745 26 762 l 27 926 l 898 926 l 925 745 q 875 767 899 762 q 802 773 851 773 l 639 773 l 639 136 q 677 0 641 46 l 248 0 "},"—":{"x_min":0,"x_max":1474,"ha":1474,"o":"m 1474 443 l 1474 270 l 0 270 l 0 443 l 1474 443 "},"=":{"x_min":161,"x_max":961,"ha":1122,"o":"m 161 690 l 961 690 l 961 514 l 161 514 l 161 690 m 161 430 l 961 430 l 961 254 l 161 254 l 161 430 "},"N":{"x_min":32.34375,"x_max":1082.65625,"ha":1111,"o":"m 535 926 l 891 187 l 891 788 q 852 926 888 879 l 1082 926 q 1044 788 1046 879 l 1044 0 l 596 0 l 224 753 l 224 136 q 262 0 226 46 l 32 0 q 71 136 68 48 l 71 788 q 32 926 68 877 l 535 926 "},"°":{"x_min":125,"x_max":569,"ha":694,"o":"m 569 906 l 569 825 q 553 764 569 778 q 487 750 537 750 l 206 750 q 140 764 156 750 q 125 825 125 778 l 125 906 q 140 966 125 952 q 206 981 156 981 l 487 981 q 553 967 538 981 q 569 906 569 953 m 448 900 l 245 900 q 214 893 221 900 q 208 865 208 887 q 214 837 208 843 q 245 831 220 831 l 448 831 q 479 837 473 831 q 486 865 486 843 q 479 893 486 887 q 448 900 473 900 "},"2":{"x_min":87,"x_max":1062.203125,"ha":1123,"o":"m 115 926 l 762 926 q 919 917 879 926 q 994 878 959 909 q 1036 813 1022 852 q 1050 715 1050 773 l 1050 535 q 1005 388 1045 431 q 960 352 984 363 q 894 335 936 340 q 804 329 864 331 l 511 308 q 447 296 459 304 q 436 255 436 287 l 436 153 l 856 153 q 972 160 937 153 q 1062 196 1007 167 l 1029 0 l 88 0 l 88 337 l 87 407 q 104 526 87 489 q 207 602 135 592 q 301 609 216 604 l 617 632 q 647 634 634 634 q 694 649 683 636 q 706 703 706 662 q 692 758 706 744 q 640 773 679 773 l 254 773 q 161 764 193 773 q 88 730 130 756 l 115 926 "},"j":{"x_min":-184.828125,"x_max":514,"ha":574,"o":"m 513 685 l 513 -21 l 514 -60 q 491 -166 514 -119 q 430 -237 469 -213 q 249 -264 387 -264 l -159 -264 l -184 -85 q -122 -122 -152 -114 q -25 -131 -91 -131 l 91 -131 q 161 -111 145 -131 q 178 -25 178 -92 l 178 512 q 172 622 178 591 q 150 685 167 653 l 513 685 m 513 926 l 513 753 l 178 753 l 178 926 l 513 926 "},"Z":{"x_min":0,"x_max":975.203125,"ha":975,"o":"m 975 926 l 495 153 l 773 153 q 916 178 870 152 l 892 0 l 0 0 l 474 773 l 239 773 q 136 765 171 773 q 67 737 101 758 l 96 926 l 975 926 "},"u":{"x_min":44.1875,"x_max":1004.8125,"ha":1053,"o":"m 977 685 l 977 172 q 982 62 977 93 q 1004 0 987 31 l 688 0 l 674 63 q 632 12 658 25 q 549 0 607 0 l 291 0 q 187 10 225 0 q 122 47 149 21 q 81 113 91 76 q 72 237 72 150 l 72 512 q 66 622 72 591 q 44 685 61 653 l 407 685 l 407 220 q 479 130 402 125 l 560 130 q 626 146 610 130 q 642 213 642 162 l 642 512 q 636 622 642 591 q 614 685 631 653 l 977 685 "},"1":{"x_min":239,"x_max":810.109375,"ha":1123,"o":"m 239 799 l 657 926 l 764 926 l 764 117 q 810 0 764 41 l 369 0 q 416 117 415 41 l 416 644 l 239 644 l 239 799 "},"›":{"x_min":46.109375,"x_max":312.640625,"ha":373,"o":"m 64 657 l 221 657 l 312 342 l 208 28 l 46 28 l 147 342 l 64 657 "},"˜":{"x_min":45,"x_max":650,"ha":694,"o":"m 489 973 l 650 973 l 650 864 q 636 789 650 814 q 549 749 615 749 q 313 801 492 749 q 249 815 267 815 q 217 799 229 815 q 206 758 206 784 q 205 750 206 755 l 45 750 l 45 850 q 63 936 45 908 q 146 974 87 974 q 312 938 189 974 q 450 906 427 906 q 489 973 488 906 "},"k":{"x_min":41.1875,"x_max":1051.65625,"ha":1025,"o":"m 467 318 l 404 269 l 404 172 q 409 62 404 93 q 431 0 414 31 l 41 0 q 63 62 58 31 q 69 172 69 93 l 69 753 q 63 863 69 832 q 41 926 58 894 l 404 926 l 404 438 l 579 584 q 623 631 606 605 q 641 674 641 657 q 640 685 641 678 l 949 685 q 839 626 885 657 q 720 528 792 594 l 949 128 q 996 56 975 82 q 1051 0 1017 30 l 635 0 l 467 318 "},"?":{"x_min":65.109375,"x_max":630.015625,"ha":694,"o":"m 347 818 l 440 973 l 630 973 l 530 751 l 164 751 l 65 973 l 254 973 l 347 818 "},"<":{"x_min":260,"x_max":862,"ha":1123,"o":"m 862 943 l 862 641 l 580 469 l 860 298 l 862 -1 l 260 345 l 260 597 l 862 943 "},"t":{"x_min":0,"x_max":763.859375,"ha":755,"o":"m 722 685 l 722 555 l 439 555 l 439 237 q 442 175 439 193 q 456 147 445 158 q 538 129 476 128 l 628 129 q 763 166 717 130 l 738 0 l 383 0 q 236 10 280 0 q 157 54 192 21 q 113 128 123 88 q 104 273 104 168 l 104 555 l 0 555 l 0 685 l 104 685 l 104 826 l 439 840 l 439 685 l 722 685 "},"W":{"x_min":-11.53125,"x_max":1540.125,"ha":1510,"o":"m 758 612 l 598 0 l 253 0 l 46 784 q 20 869 29 845 q -11 926 10 893 l 411 926 q 399 862 399 890 q 411 776 399 828 l 526 326 l 682 926 l 1045 926 l 1204 326 l 1318 772 q 1331 862 1331 819 q 1318 926 1331 893 l 1540 926 q 1505 875 1515 899 q 1477 780 1495 852 l 1273 0 l 920 0 l 758 612 "},"v":{"x_min":-32.546875,"x_max":931.796875,"ha":909,"o":"m 566 179 l 721 554 q 749 652 749 621 q 745 685 749 662 l 931 685 q 864 550 908 650 l 638 0 l 271 0 l 16 593 q -32 685 0 633 l 377 685 q 375 651 375 663 q 398 574 375 625 l 566 179 "},">":{"x_min":260,"x_max":863,"ha":1123,"o":"m 260 -1 l 260 300 l 541 472 l 262 643 l 260 943 l 863 596 l 863 344 l 260 -1 "},"s":{"x_min":35.015625,"x_max":899.0625,"ha":934,"o":"m 856 685 l 888 512 q 822 547 852 539 q 720 555 791 555 l 435 555 q 388 551 394 554 q 375 524 375 544 q 386 498 375 504 q 432 492 398 492 l 695 492 q 899 301 902 502 l 899 204 q 826 41 899 95 q 757 8 793 16 q 650 0 721 0 l 65 0 l 35 175 q 126 137 96 144 q 228 130 157 130 l 520 130 q 569 137 556 130 q 582 167 582 145 q 571 196 582 189 q 528 204 560 204 l 231 204 q 147 214 176 204 q 93 253 117 225 q 54 383 55 296 l 54 492 q 101 622 54 572 q 183 672 136 659 q 331 685 231 685 l 856 685 "},"B":{"x_min":46.34375,"x_max":1042,"ha":1103,"o":"m 820 479 q 930 471 893 479 q 993 443 967 463 q 1042 319 1041 405 l 1042 192 q 983 45 1039 94 q 914 9 954 19 q 795 0 874 0 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 795 926 q 913 916 874 926 q 983 880 953 906 q 1042 733 1039 831 l 1042 641 q 1030 558 1042 586 q 986 513 1018 531 q 820 479 938 488 m 437 547 l 627 547 q 685 564 671 547 q 700 636 700 582 l 700 673 q 687 752 700 732 q 636 773 674 773 l 437 773 l 437 547 m 437 153 l 608 153 q 688 175 667 153 q 697 195 695 184 q 700 242 700 207 l 700 285 q 697 350 700 333 q 687 377 695 366 q 668 391 680 388 q 618 394 656 394 l 437 394 l 437 153 "},"…":{"x_min":93,"x_max":1508,"ha":1600,"o":"m 93 248 l 442 248 l 442 0 l 93 0 l 93 248 m 627 248 l 976 248 l 976 0 l 627 0 l 627 248 m 1159 248 l 1508 248 l 1508 0 l 1159 0 l 1159 248 "},"?":{"x_min":102.125,"x_max":1028,"ha":1139,"o":"m 656 294 l 311 294 l 311 368 q 317 482 311 450 q 348 541 324 513 q 397 576 369 566 q 478 586 425 586 l 588 586 q 661 600 643 586 q 679 660 679 615 l 679 704 q 664 760 679 745 q 609 775 650 775 l 256 775 q 102 739 152 775 l 129 926 l 777 926 q 901 917 862 926 q 969 883 939 909 q 1028 739 1028 835 l 1028 642 q 975 485 1028 540 q 826 431 923 431 l 745 431 q 670 416 684 431 q 656 339 656 401 l 656 294 m 312 248 l 661 248 l 661 0 l 312 0 l 312 248 "},"H":{"x_min":46.34375,"x_max":1095.65625,"ha":1143,"o":"m 705 397 l 437 397 l 437 137 q 475 0 439 46 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 475 926 q 437 788 439 879 l 437 550 l 705 550 l 705 788 q 666 926 702 879 l 1095 926 q 1057 788 1059 879 l 1057 137 q 1095 0 1059 46 l 666 0 q 705 137 702 46 l 705 397 "},"c":{"x_min":51,"x_max":818.671875,"ha":842,"o":"m 790 685 l 818 519 q 759 547 789 539 q 683 555 729 555 l 480 555 q 405 538 425 555 q 386 475 386 521 l 386 202 q 406 145 386 160 q 483 130 427 130 l 674 130 q 751 137 721 130 q 818 168 781 145 l 790 0 l 290 0 q 194 8 274 0 q 91 72 131 20 q 51 190 51 123 l 51 500 q 280 685 65 688 l 790 685 "},"&":{"x_min":46,"x_max":1217.328125,"ha":1263,"o":"m 936 926 l 969 735 q 908 767 940 757 q 833 777 877 777 l 672 777 q 595 738 595 777 q 624 687 595 721 l 833 441 l 897 513 q 913 566 913 530 q 912 604 913 576 l 1062 604 l 1062 553 q 1057 479 1062 500 q 1037 441 1053 459 l 936 327 l 1034 209 q 1081 169 1059 179 q 1137 158 1102 158 q 1217 179 1175 158 l 1190 0 l 885 0 q 759 14 797 0 q 691 73 722 28 q 611 14 650 29 q 499 0 573 0 l 277 0 q 170 10 205 0 q 103 52 135 21 q 58 120 70 85 q 46 216 46 155 l 46 344 q 122 513 46 463 q 179 537 151 532 q 285 543 208 542 l 180 666 q 135 728 147 705 q 124 778 124 752 q 145 851 124 818 q 203 904 166 885 q 256 922 229 918 q 352 926 283 926 l 936 926 m 392 421 l 392 224 q 403 168 392 182 q 451 155 415 155 l 522 155 q 594 186 567 154 l 392 421 "},"?":{"x_min":164.109375,"x_max":719.53125,"ha":694,"o":"m 455 973 l 324 752 l 164 752 l 254 973 l 455 973 m 719 973 l 588 752 l 427 752 l 519 973 l 719 973 "},"I":{"x_min":46.34375,"x_max":475.65625,"ha":522,"o":"m 475 0 l 46 0 q 85 136 82 48 l 85 788 q 46 926 82 877 l 475 926 q 437 788 439 879 l 437 136 q 475 0 439 46 "},"•":{"x_min":272,"x_max":657,"ha":926,"o":"m 467 663 q 600 606 543 663 q 657 470 657 550 q 600 334 657 390 q 464 278 544 278 q 328 334 384 278 q 272 469 272 390 q 328 606 272 551 q 467 663 385 663 "},"¯":{"x_min":56,"x_max":639,"ha":694,"o":"m 639 926 l 639 779 l 56 779 l 56 926 l 639 926 "},"G":{"x_min":60,"x_max":1062.65625,"ha":1086,"o":"m 974 926 l 1005 745 q 947 768 971 764 q 854 773 922 773 l 502 773 q 429 752 446 773 q 412 664 412 732 l 412 261 q 423 180 412 201 q 502 153 444 152 l 602 153 q 660 170 646 153 q 675 245 675 188 l 675 405 l 587 405 q 527 400 548 405 q 477 384 505 396 l 477 552 l 1062 552 q 1024 415 1026 505 l 1024 137 q 1062 0 1026 46 l 756 0 q 739 100 746 38 q 702 20 735 40 q 574 0 668 0 l 306 0 q 187 9 227 0 q 118 45 147 19 q 60 192 62 94 l 60 733 q 118 880 62 831 q 187 916 148 906 q 306 926 227 926 l 974 926 "},"(":{"x_min":130,"x_max":461.15625,"ha":480,"o":"m 461 -45 l 461 -153 l 354 -153 q 248 -141 287 -153 q 182 -99 210 -129 q 140 -27 151 -68 q 130 92 130 12 l 130 693 q 140 814 130 773 q 182 885 151 854 q 249 927 210 915 q 354 940 287 940 l 461 940 l 461 831 l 419 831 q 366 816 378 831 q 354 750 354 800 l 354 35 q 366 -29 354 -14 q 419 -45 378 -45 l 461 -45 "},"`":{"x_min":129.53125,"x_max":453.6875,"ha":694,"o":"m 129 973 l 356 973 l 453 752 l 269 752 l 129 973 "},"U":{"x_min":34.34375,"x_max":1084.65625,"ha":1111,"o":"m 463 926 q 425 788 427 879 l 425 261 q 436 180 425 201 q 516 153 457 152 l 801 153 q 875 173 858 153 q 893 261 893 193 l 893 788 q 854 926 890 879 l 1084 926 q 1046 788 1048 879 l 1046 265 q 1033 152 1046 192 q 988 75 1021 112 q 809 0 924 1 l 309 0 q 129 75 194 1 q 85 152 97 111 q 73 265 73 192 l 73 788 q 34 926 70 877 l 463 926 "},"?":{"x_min":102.40625,"x_max":823.96875,"ha":926,"o":"m 463 962 l 823 463 l 463 -35 l 102 463 l 463 962 m 463 838 l 189 463 l 463 86 l 736 463 l 463 838 "},"F":{"x_min":46.34375,"x_max":884.703125,"ha":889,"o":"m 437 773 l 437 550 l 744 550 q 863 573 806 549 l 863 369 q 797 391 827 386 q 714 397 768 397 l 437 397 l 437 137 q 475 0 439 46 l 46 0 q 85 137 82 48 l 85 788 q 46 926 82 877 l 856 926 l 884 750 q 819 768 844 766 q 691 773 794 771 l 437 773 "},"r":{"x_min":49.1875,"x_max":734,"ha":734,"o":"m 380 685 l 389 572 q 415 632 401 613 q 453 665 428 652 q 565 685 495 685 l 734 685 l 734 458 q 680 489 710 481 q 593 498 650 498 l 525 498 q 441 471 470 498 q 412 395 412 444 l 412 171 q 417 62 412 93 q 439 0 422 31 l 49 0 q 71 62 66 31 q 77 171 77 93 l 77 512 q 71 621 77 590 q 49 685 66 653 l 380 685 "},":":{"x_min":93,"x_max":442,"ha":534,"o":"m 93 685 l 442 685 l 442 437 l 93 437 l 93 685 m 93 248 l 442 248 l 442 0 l 93 0 l 93 248 "},"x":{"x_min":-32.5625,"x_max":1009.796875,"ha":978,"o":"m 659 410 l 885 129 q 958 41 937 63 q 1009 0 979 20 l 528 0 q 514 46 522 29 q 484 89 506 63 l 402 187 l 255 61 q 210 0 219 29 l -32 0 q 38 48 10 27 q 123 119 65 69 l 318 289 l 121 535 q -9 685 44 628 l 457 685 q 511 594 467 642 l 575 515 l 668 594 q 747 685 738 654 l 979 685 q 925 642 954 667 q 852 579 892 613 l 659 410 "},"*":{"x_min":87.484375,"x_max":607.640625,"ha":694,"o":"m 297 752 l 254 925 q 347 933 316 933 q 440 925 378 933 l 398 752 l 550 846 q 585 759 576 789 q 607 669 595 730 l 429 655 l 565 540 q 495 479 520 497 q 415 431 469 461 l 347 596 l 280 431 q 200 479 225 461 q 129 540 174 497 l 265 655 l 87 669 q 109 759 99 730 q 145 846 118 789 l 297 752 "},"†":{"x_min":159,"x_max":964,"ha":1123,"o":"m 399 926 l 723 926 l 723 635 l 964 635 l 964 468 l 723 468 l 723 -153 l 399 -153 l 399 468 l 159 468 l 159 635 l 399 635 l 399 926 "},"V":{"x_min":-11.53125,"x_max":1108.8125,"ha":1069,"o":"m 640 189 l 861 780 q 882 876 882 833 q 874 926 882 898 l 1108 926 q 1062 870 1078 899 q 1016 763 1045 841 l 723 0 l 336 0 l 56 786 q -11 926 27 869 l 420 926 q 411 877 411 896 q 431 778 411 835 l 640 189 "},"h":{"x_min":41.1875,"x_max":1003.8125,"ha":1048,"o":"m 404 926 l 404 643 q 487 685 428 685 l 752 685 q 855 672 818 685 q 923 629 892 660 q 976 477 975 574 l 976 172 q 981 62 976 93 q 1003 0 986 31 l 613 0 q 635 62 630 31 q 641 172 641 93 l 641 473 q 564 555 646 552 l 472 555 q 419 537 435 555 q 404 479 404 519 l 404 172 q 409 62 404 93 q 431 0 414 31 l 41 0 q 63 62 58 31 q 69 172 69 93 l 69 753 q 63 863 69 832 q 41 926 58 894 l 404 926 "},"0":{"x_min":60,"x_max":1063,"ha":1123,"o":"m 289 926 l 833 926 q 995 866 935 925 q 1048 785 1033 828 q 1063 665 1063 741 l 1063 260 q 1048 140 1063 184 q 995 59 1033 97 q 833 0 935 0 l 289 0 q 127 59 187 0 q 74 140 89 97 q 60 260 60 184 l 60 665 q 74 785 60 741 q 127 866 89 828 q 289 926 187 925 m 408 673 l 408 252 q 427 172 408 192 q 504 153 446 153 l 618 153 q 695 172 676 153 q 715 252 715 192 l 715 673 q 695 753 715 733 q 618 773 676 773 l 504 773 q 427 753 446 773 q 408 673 408 733 "},".":{"x_min":93,"x_max":442,"ha":534,"o":"m 93 248 l 442 248 l 442 0 l 93 0 l 93 248 "},"”":{"x_min":93,"x_max":842,"ha":934,"o":"m 93 926 l 439 926 l 439 689 l 254 487 l 139 487 l 235 677 l 93 677 l 93 926 m 496 926 l 842 926 l 842 689 l 657 487 l 542 487 l 638 677 l 496 677 l 496 926 "},"@":{"x_min":56,"x_max":1215,"ha":1265,"o":"m 344 596 l 397 713 l 855 713 q 942 685 911 713 q 989 587 989 645 q 978 518 989 560 l 931 336 q 926 311 926 319 q 954 296 926 296 l 989 296 q 1061 322 1042 296 q 1081 423 1081 349 l 1081 725 q 1078 776 1081 763 q 1066 803 1076 790 q 1038 826 1055 820 q 989 833 1022 833 l 268 833 q 207 808 225 833 q 190 725 190 784 l 190 200 q 192 149 190 162 q 204 122 194 136 q 232 99 215 105 q 281 93 248 93 l 1078 93 q 1156 116 1127 93 l 1135 0 l 385 0 q 224 2 253 0 q 159 18 195 4 q 62 139 74 50 q 56 264 57 179 l 56 660 q 64 792 56 750 q 94 862 72 834 q 178 915 128 904 q 385 926 228 926 l 885 926 q 1037 922 997 926 q 1111 907 1077 919 q 1177 861 1150 894 q 1208 786 1203 828 q 1215 660 1213 747 l 1215 478 q 1207 345 1215 384 q 1177 276 1200 306 q 998 213 1128 211 l 681 213 q 675 262 675 231 q 638 224 660 235 q 577 213 616 213 l 432 213 q 327 243 364 213 q 282 334 282 280 q 288 381 282 354 l 301 429 q 353 521 318 496 q 464 547 388 547 l 697 547 q 733 553 725 547 q 747 588 747 564 q 735 610 747 604 q 692 616 724 616 l 450 616 q 344 596 378 616 m 713 452 l 595 452 q 556 444 566 452 q 539 411 546 437 l 527 360 q 523 339 523 344 q 570 310 523 310 l 631 310 q 671 315 663 310 q 686 346 679 320 l 713 452 "},"f":{"x_min":-5,"x_max":741.015625,"ha":667,"o":"m 657 685 l 657 555 l 425 555 q 424 297 424 409 q 428 85 424 147 q 452 0 431 39 l 62 0 q 84 62 79 31 q 90 172 90 93 l 90 555 l -5 555 l -5 685 l 90 685 l 90 738 q 338 926 96 940 l 714 926 l 741 767 q 690 791 707 786 q 636 796 673 796 l 491 796 q 439 781 453 796 q 425 727 425 767 l 425 685 l 657 685 "},";":{"x_min":93,"x_max":442,"ha":534,"o":"m 94 249 l 440 249 l 440 12 l 255 -190 l 140 -190 l 236 0 l 94 0 l 94 249 m 93 685 l 442 685 l 442 437 l 93 437 l 93 685 "},"“":{"x_min":93,"x_max":842,"ha":934,"o":"m 439 487 l 93 487 l 93 723 l 277 926 l 392 926 l 296 736 l 439 736 l 439 487 m 842 487 l 496 487 l 496 723 l 680 926 l 795 926 l 699 736 l 842 736 l 842 487 "},"i":{"x_min":49.1875,"x_max":439.8125,"ha":488,"o":"m 412 926 l 412 753 l 77 753 l 77 926 l 412 926 m 412 685 l 412 172 q 417 62 412 93 q 439 0 422 31 l 49 0 q 71 62 66 31 q 77 172 77 93 l 77 512 q 71 622 77 591 q 49 685 66 653 l 412 685 "},"6":{"x_min":80,"x_max":1043.171875,"ha":1123,"o":"m 988 926 l 1019 737 q 954 766 988 759 q 842 773 920 773 l 528 773 q 472 768 488 773 q 446 752 457 764 q 428 655 427 726 l 428 554 q 452 591 436 582 q 507 601 467 601 l 847 601 q 1043 388 1044 611 l 1043 230 q 981 53 1046 120 q 905 11 950 23 q 779 0 860 0 l 360 0 q 227 10 267 0 q 149 52 186 20 q 94 128 108 86 q 80 253 80 169 l 80 687 q 95 800 80 757 q 147 874 110 843 q 220 915 185 906 q 362 926 255 923 l 988 926 m 695 242 l 695 358 q 692 406 695 393 q 682 427 690 418 q 617 448 665 448 l 505 448 q 442 431 457 448 q 428 358 428 414 l 428 242 q 442 169 428 185 q 505 153 456 153 l 617 153 q 680 169 665 153 q 695 242 695 186 "},"A":{"x_min":-46.109375,"x_max":1158.984375,"ha":1140,"o":"m 354 926 l 762 926 l 1087 109 q 1158 0 1113 49 l 693 0 q 716 61 716 27 q 692 151 716 99 l 650 251 l 269 251 l 212 124 q 196 60 196 87 q 213 0 196 37 l -46 0 q 64 174 14 68 l 391 870 q 354 926 377 902 m 587 400 l 469 686 l 339 400 l 587 400 "},"‘":{"x_min":93,"x_max":439,"ha":532,"o":"m 439 487 l 93 487 l 93 723 l 277 926 l 392 926 l 296 736 l 439 736 l 439 487 "},"p":{"x_min":28,"x_max":918,"ha":947,"o":"m 130 0 l 130 457 l 28 457 l 28 667 l 918 667 l 918 457 l 817 457 l 817 0 l 549 0 l 549 457 l 398 457 l 398 0 l 130 0 "},"n":{"x_min":49.1875,"x_max":1007.8125,"ha":1051,"o":"m 376 685 l 390 616 q 437 670 411 655 q 512 685 463 685 l 763 685 q 859 671 822 685 q 926 624 895 657 q 967 553 955 591 q 980 458 980 515 l 980 172 q 985 62 980 93 q 1007 0 990 31 l 617 0 q 639 62 634 31 q 645 172 645 93 l 645 469 q 631 538 645 521 q 573 555 617 555 l 470 555 q 424 540 437 555 q 412 487 412 525 l 412 172 q 417 63 412 94 q 439 0 422 31 l 49 0 q 71 62 66 31 q 77 172 77 93 l 77 512 q 71 622 77 591 q 49 685 66 653 l 376 685 "},"O":{"x_min":60,"x_max":1072,"ha":1131,"o":"m 296 926 l 835 926 q 939 905 888 926 q 1019 850 989 885 q 1072 660 1071 795 l 1072 265 q 1019 75 1071 130 q 939 20 989 40 q 835 0 888 0 l 296 0 q 192 20 243 0 q 112 75 142 40 q 60 265 60 130 l 60 660 q 112 850 60 795 q 192 905 142 885 q 296 926 243 926 m 412 664 l 412 261 q 423 180 412 201 q 503 153 444 152 l 628 153 q 702 173 685 153 q 720 261 720 193 l 720 664 q 708 745 720 724 q 628 773 687 773 l 490 773 q 427 750 443 773 q 412 664 412 728 "},"3":{"x_min":94.609375,"x_max":1011.0625,"ha":1123,"o":"m 275 376 l 275 552 q 381 542 320 541 l 585 542 q 649 553 635 542 q 663 609 663 565 l 663 697 q 647 757 663 741 q 588 773 631 773 l 275 773 q 94 737 147 773 l 124 926 l 778 926 q 889 916 851 926 q 954 881 926 906 q 1011 737 1013 826 l 1011 617 q 999 545 1011 571 q 960 504 988 520 q 924 487 936 490 q 799 473 912 485 q 833 471 825 472 q 916 463 889 470 q 966 436 943 456 q 1011 324 1010 399 l 1011 194 q 967 54 1010 97 q 896 11 937 23 q 777 0 856 0 l 124 0 l 94 192 q 185 160 142 168 q 311 153 228 153 l 562 153 q 639 161 621 153 q 658 184 653 169 q 663 232 663 198 l 663 322 q 652 378 663 367 q 595 389 641 389 l 388 389 q 275 376 309 389 "},"]":{"x_min":18,"x_max":349,"ha":480,"o":"m 18 -45 l 125 -45 l 125 832 l 18 832 l 18 940 l 349 940 l 349 -153 l 18 -153 l 18 -45 "},"m":{"x_min":49.1875,"x_max":1568.734375,"ha":1613,"o":"m 386 685 l 395 616 q 424 670 404 655 q 487 685 443 685 l 836 685 q 929 672 905 685 q 966 616 953 659 q 995 671 976 657 q 1060 685 1014 685 l 1328 685 q 1429 673 1394 685 q 1494 629 1464 661 q 1533 555 1522 598 q 1545 437 1545 513 l 1545 172 q 1547 51 1545 68 q 1568 0 1550 33 l 1182 0 q 1204 62 1199 31 q 1210 172 1210 93 l 1210 467 q 1195 537 1210 519 q 1137 555 1180 555 l 1054 555 q 992 540 1006 555 q 979 475 979 525 l 979 172 q 983 62 979 92 q 1006 0 988 31 l 615 0 q 638 63 633 31 q 644 172 644 94 l 644 468 q 629 536 644 517 q 579 555 615 555 l 477 555 q 425 538 439 555 q 412 477 412 522 l 412 172 q 417 63 412 94 q 440 0 422 31 l 49 0 q 71 62 66 31 q 77 172 77 93 l 77 512 q 71 622 77 591 q 49 685 66 653 l 386 685 "},"9":{"x_min":81,"x_max":1043,"ha":1123,"o":"m 119 0 l 93 182 q 161 158 129 163 q 280 153 194 153 l 573 153 q 675 168 656 153 q 694 253 694 184 l 694 387 q 578 316 669 311 l 294 316 q 192 324 225 316 q 131 359 159 333 q 92 423 104 384 q 81 529 81 463 l 81 706 q 94 815 81 774 q 140 882 108 857 q 283 926 193 925 l 766 926 l 813 926 q 1012 837 958 926 q 1042 693 1042 788 l 1042 228 l 1043 189 q 962 31 1043 85 q 814 0 915 0 l 119 0 m 506 469 l 616 469 q 680 484 666 469 q 694 559 694 500 l 694 682 q 680 757 694 741 q 616 773 666 773 l 506 773 q 442 756 456 773 q 429 682 429 740 l 429 559 q 442 485 429 501 q 506 469 456 469 "},"l":{"x_min":41.1875,"x_max":431.8125,"ha":474,"o":"m 404 926 l 404 172 q 409 62 404 93 q 431 0 414 31 l 41 0 q 63 62 58 31 q 69 172 69 93 l 69 753 q 63 863 69 832 q 41 926 58 894 l 404 926 "},"8":{"x_min":81,"x_max":1042.03125,"ha":1123,"o":"m 799 476 q 923 468 884 475 q 989 442 963 461 q 1042 300 1042 403 l 1042 197 q 981 52 1042 108 q 909 11 949 23 q 799 0 868 0 l 323 0 q 213 11 253 0 q 140 52 172 23 q 81 197 85 101 l 81 300 q 93 388 81 353 q 133 442 106 423 q 198 468 159 461 q 323 476 237 475 q 190 489 226 480 q 124 520 153 497 q 89 567 97 542 q 81 648 81 592 l 81 754 q 96 828 81 792 q 140 887 112 864 q 206 918 167 911 q 338 926 244 926 l 783 926 q 915 918 878 926 q 982 887 952 911 q 1042 754 1043 838 l 1042 648 q 1033 567 1042 593 q 997 520 1024 542 q 931 489 968 497 q 799 476 894 480 m 617 773 l 504 773 q 444 759 459 773 q 429 706 429 746 l 429 630 q 443 569 429 583 q 508 556 458 556 l 613 556 q 656 558 643 556 q 679 570 668 561 q 691 588 689 579 q 694 630 694 597 l 694 706 q 678 759 694 745 q 617 773 662 773 m 606 403 l 516 403 q 466 399 479 403 q 443 385 454 396 q 429 320 429 369 l 429 231 q 430 192 429 200 q 438 175 431 184 q 493 153 454 153 l 628 153 q 680 169 666 153 q 694 231 694 186 l 694 320 q 677 387 694 372 q 606 403 660 403 "},"p":{"x_min":44.1875,"x_max":976,"ha":1026,"o":"m 72 -241 l 72 513 q 66 622 72 591 q 44 685 61 653 l 364 685 l 379 622 q 430 672 402 660 q 521 685 458 685 l 759 685 q 875 668 834 685 q 944 607 916 651 q 966 552 957 588 q 976 485 976 515 l 976 189 q 927 50 976 101 q 795 0 879 0 l 520 0 q 407 63 438 0 l 407 -68 q 412 -178 407 -147 q 434 -241 417 -209 l 72 -241 m 489 130 l 565 130 q 625 148 609 130 q 641 220 641 167 l 641 473 q 638 516 641 507 q 627 536 636 525 q 606 551 617 547 q 569 555 594 555 l 477 555 q 423 536 440 555 q 407 477 407 517 l 407 203 q 425 146 407 163 q 489 130 444 130 "},"4":{"x_min":11,"x_max":1112,"ha":1123,"o":"m 950 445 l 1112 445 l 1112 202 l 950 202 l 950 117 q 996 0 950 41 l 555 0 q 602 117 601 40 l 602 202 l 11 202 l 11 423 l 544 926 l 950 926 l 950 445 m 602 445 l 602 757 l 260 445 l 602 445 "},"‡":{"x_min":159,"x_max":964,"ha":1123,"o":"m 399 926 l 723 926 l 723 691 l 964 691 l 964 524 l 723 524 l 723 263 l 964 263 l 964 96 l 723 96 l 723 -153 l 399 -153 l 399 96 l 159 96 l 159 263 l 399 263 l 399 524 l 159 524 l 159 691 l 399 691 l 399 926 "},"R":{"x_min":46.34375,"x_max":1115.71875,"ha":1116,"o":"m 545 394 l 437 394 l 437 136 q 475 0 439 46 l 46 0 q 85 136 82 48 l 85 788 q 46 926 82 877 l 807 926 q 926 916 886 926 q 995 880 966 906 q 1054 733 1051 831 l 1054 534 q 1037 442 1054 471 q 942 393 1008 393 q 917 394 933 393 l 1044 125 q 1115 0 1077 53 l 708 0 l 545 394 m 437 547 l 633 547 q 692 561 678 547 q 706 627 706 576 l 706 673 q 693 757 706 742 q 624 773 680 773 l 437 773 l 437 547 "},"o":{"x_min":51.984375,"x_max":980.015625,"ha":1030,"o":"m 283 685 l 725 685 q 850 675 810 685 q 921 637 889 665 q 966 570 953 608 q 980 468 980 532 l 980 195 q 749 0 982 -10 l 314 0 q 179 8 217 0 q 108 47 142 17 q 52 203 51 102 l 52 494 q 134 654 51 598 q 190 679 163 673 q 283 685 218 685 m 387 478 l 387 210 q 404 147 387 165 q 467 130 422 130 l 567 130 q 628 148 611 130 q 645 214 645 167 l 645 469 q 624 536 645 517 q 552 555 604 555 l 467 555 q 387 478 385 555 "},"5":{"x_min":72.921875,"x_max":1041.234375,"ha":1123,"o":"m 102 926 l 1012 926 l 1041 736 q 985 766 1012 759 q 889 773 957 773 l 431 773 l 431 589 l 795 589 q 906 580 871 589 q 968 546 940 572 q 1027 390 1029 489 l 1027 207 q 982 59 1027 114 q 914 14 955 29 q 814 0 873 0 l 102 0 l 72 207 q 149 161 120 169 q 270 153 179 153 l 580 153 q 663 165 647 153 q 679 229 679 178 l 679 360 q 662 422 679 408 q 589 436 646 436 l 249 436 q 151 425 186 436 q 84 390 115 415 l 102 926 "}},"cssFontWeight":"normal","ascender":1353,"underlinePosition":-216,"cssFontStyle":"normal","boundingBox":{"yMin":-264,"xMin":-184.828125,"yMax":1076.25,"xMax":1954.03125},"resolution":1000,"original_font_information":{"postscript_name":"SerpentineD-Bold","version_string":"Version 001.005","vendor_url":"","full_font_name":"SerpentineDBol","font_family_name":"SerpentineDBol","copyright":"URW Software, Copyright 1994 by URW","description":"","trademark":"","designer":"","designer_url":"","unique_font_identifier":"URW:SerpentineD-Bold:1994","license_url":"","license_description":"","manufacturer_name":"","font_sub_family_name":"Regular"},"descender":-315,"familyName":"SerpentineDBol","lineHeight":1667,"underlineThickness":257});

