
// ---- m_console_stub ----
try{ /*
 * the following statement creates a console.log stub for systems without a
 * predefined logging console.
 */
if((typeof(console) === 'undefined') || (console === null)){
	console = {
		log: function(param){
			// we don't log
		}
	};
}

}catch(e){alert('Error in m_console_stub: ' + e.description);}

// ---- global ----
try{ /**
 * Global variables.
 */

 /**
 * Will be set to true in the source code of the offline copy
 * This prevents server calls (e.g. to the teaser server) in the offline version!
 */
var is_mini_offline_copy  = true;
 
/**
 * The model code (4-digit number) of a vehicle which is set by the model pages.
 * Values: null/empty (no model selected) or model code
 */
var modelCode;

/**
 * URL of the folder containing the current content page
 */
var parentTopicUrl;

/**
 * An associative array of quicklink ids as a keys and links as values which replace 
 * default quicklinks.
 */
var quicklinkOverrides = new Array();

/**
 * An associative array of additional footer link ids as a keys and links as values which replace 
 * default additional footer links.
 */
var footerOverrides = new Array();

function gotoURLWithReferrer(url){
	if(url.indexOf('javascript:')>=0)
		// Ignore url starting with javascript:
		return;
		
	var _isIE = getInternetExplorerVersion() >0 ;
	
	if(_isIE){
		var referLink = document.createElement('a');
		referLink.href = url;
		document.body.appendChild(referLink);
		referLink.click();
	}
	else{
		window.location.href = url;
	}
}

/** premier google map key */
var googleMapsKey = "gme-bmw";

/** 
  * An array of iframe ids which will be dynamically resized based on their content if resizeCaller() of m_iframe_resize.js is called
  * The embedding page and the iframe must have the same document.domain property for this to work.
  */  
var iframeids = [];

function fixTCHeadlineImage(tcImgId, topMargin){
	var version = getInternetExplorerVersion();
	var isIe = version > -1;
	
	if(!isIe){
		var tcImgComponent = $('#'+tcImgId);
		var imageTopMargin = 0;
		try{
			imageTopMargin = parseInt(topMargin);
		}
		catch(e){
		}
		
		tcImgComponent.css('margin-top', Math.abs(imageTopMargin));
	}
}

function correctBackground(){
	if(window['backgroundId'] == undefined) {
		return;
	}
	
	var bgComponent = $('#'+backgroundId);
	var bgTopPosition = $('#teaser_area_quicklinks').offset().top + 1;
	var bgBottomOffset = 0;
	try{
		bgBottomOffset = parseInt(bottomOffset);
	}
	catch(exception){
	}
			
	bgTopPosition -= bgBottomOffset;
	bgComponent.height(bgTopPosition);
}

function fixBGDimension(){	
	if(window['backgroundId'] == undefined) {
		return;
	}
	
	var version = getInternetExplorerVersion();
	var isIe6 = version > -1 && version < 7;
	
	var bgComponent = $('#'+backgroundId);
	if(isIe6){
		bgComponent.width($(window).width());
		
		$(window).resize(function() {
			bgComponent.width($(window).width());
		});
	}
	
	$(document).ready(function(){
	     correctBackground();	    
	  }
	);
	
	$(window).load(
      function(){
	     correctBackground();
	  }
    );
}

var MINI_MAX_QUERY_PARAMS = 10;
var MINI_TOKEN_REGEX = /[?&]?([^=]+)=([^&]*)/g;
function getQueryParams() { 
	var qs = document.location.search.split("+").join(" ");
	var params = {};
	var tokens;
	// Max 5 query parameters
	var count = MINI_MAX_QUERY_PARAMS;
		
	while (tokens = MINI_TOKEN_REGEX.exec(qs)) {
		var key = tokens[1];
		var value = tokens[2];
		
		params[decodeURIComponent(key)] = decodeURIComponent(value);
		 
		count--;
		if(count === 0){
			break;
		}
	}
 
	return params; 
}

/** 
 * Get the model code of the current model by looking up all potential consecutive directory parts of the url in the modelData array
 * The modelData array must already be loaded when this function is called!
 */
function getModelCodeFromUrl() {
	if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) return modelCode; //modelCode was already set, e.g. by model comparison
	
	//lookup model data using current url
	modelCode = getModelDataFromUrl("model_code");
	
	if (modelCode === null || (typeof(modelCode) === 'undefined')) {
		//check current URL for a url param named "model"
		modelCode = getRequestParameter("model");
	}
	
	//cr-30a:
	if ((modelCode === null) && (window.location.href.indexOf("minimalism") !== -1)) {
		modelCode =  modelData[defaultMinimalismModel.body  + "." + defaultMinimalismModel.type + ".model_code"];
	}
	return modelCode;
}

/** 
 * Get an info material based on Url information
 */
function getInfomaterialId() {	
	var infomaterial_id = getModelDataFromUrl("infomaterial_id");
	
	if (infomaterial_id === null || (typeof(infomaterial_id) === 'undefined')) {
		//maybe param is already present in url
		infomaterial_id = getRequestParameter("infomaterial_id");
		
		//io flashes use other param ...
		if (infomaterial_id === null || (typeof(infomaterial_id) === 'undefined')) {
			infomaterial_id = getRequestParameter("information_id");
		}
	}
	
	return infomaterial_id;
}

function getBodyTypeFromUrl(){
	return getModelDataFromUrl("body_type");
}

/** 
 *  Returns the model data value specified by data_key
 *	The current model is determined by the current Url!
 *	
 *	Usage example: getModelDataFromUrl("modelCode") returns "FG31"
 */
function getModelDataFromUrl(data_key) {
	var data;
	var paths = window.location.pathname.split("/");
	for (var i = 0; i < paths.length; i++) {
		var key1 = paths[i];
		var key2 = paths[i+1];
		
		if(key2==='one_minimalist'){
			key2 = defaultMinimalismModel.type;
		}
		else if(key2==='one' && key1==='mini'){
			key2 = "one_70";
		}
		
		var key = key1 + "." + key2 + "." + data_key;
		data = modelData[key];
		if ((data !== null) && (typeof(data) !== 'undefined')) {
			break;
		}
	}	
	return data;
}
/**
 * This function is for Flash Integration
 *  returns the value of model data array 
 **/
function getModelDataValue_FlashIf(bodyType, modelType, data_key) {
	return modelData[bodyType  + "." + modelType + "." + data_key];
}
/**
 * This function is for Flash Integration
 * returns the bodytypes and models 
 */
function getModels_FlashIf() {
	return modelIdsByBodyTypeIds;
}

/**
 * Calculate the URL for a target system, depending on the link type, the current 
 * model code (see global variable modelCode) and chosen dealer information.
 * 
 * The target type can e.g. be derived from the WCMS quicklink element during
 * statification.
 * 
 * @param link -
 *            the anchor DOM element
 * @param type -
 *            the maintained type of link (tda|rfi|rfo|rfci|eric|vco|dealer|mco|none)
 * @return the new URL or the passed URL if dependend variables are not set
 */
function getTargetUrlByType(link, type) {
	if( link.href.indexOf('javascript:') == 0) {
		return link.href;
	}
	link.href = getTargetByType(link.href, type);
	return link.href;
}

/**
 * Calculate the URL for a target system, depending on the link type, the current 
 * model code (see global variable modelCode) and given dealer information.
 * 
 * The target type can e.g. be derived from the WCMS quicklink element during
 * statification.
 * 
 * @param url -
 *            a url passed as a String
 * @param type -
 *            the maintained type of link (tda|rfi|rfo|rfci|eric|vco|dealer|mco|none)
 * @return the new URL or the passed URL if dependend variables are not set
 */
function getTargetByType(url, type, pMiniSubsidiary, isIFrameComponentCall) {		
		modelCode = getModelCodeFromUrl();
		var bodyType = getBodyTypeFromUrl();
		
		//append breadcrumb and module navigation (only evaluated by contact and faq pages), do not append for faq and contact pages		
		if (!isContactPage && !isFaqPage) {
			url = appendCurrentBreadcrumb(url);
		}
		if(window['module_navigation'] !== undefined && module_navigation !== '' && !isContactPage){				
				url = addParam(url, 'mod_nav', module_navigation);
		}
		switch (type) {
		case "tda": //test drive appointment
			//url = appendCurrentBreadcrumb(url); //not yet specified for tda
			//url = appendBackLinkName(url); //don't use, not specified for tda
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {
				url = addParam(url, 'model', modelCode); //for eCOM and web form
			}				
			if (isIFrameComponentCall) { //tda embedded in ecom iframe			
				url = addParam(url, 'process', 'tda');
				if ((pMiniSubsidiary !== null) && (typeof(pMiniSubsidiary) !== 'undefined')) {
					url = addEcomDealerParams(pMiniSubsidiary, url);
				}
				if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {				
					url = addParam(url, 'action', 'tda.selectConfiguration'); //eCOM
				}	
				var leadContext = $.cookie('LEADCONTEXT');
				if (leadContext !== null) {
					url = addParam(url, 'leadContext', leadContext);
				}			
			}
			else { //web form:			
				if ((bodyType !== null) && (typeof(bodyType) !== 'undefined')) {
					url = addParam(url, 'body_type', bodyType);
				}
			}
			break;
		case "eric"://used cars database
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {
				url = addParam(url, 'model', modelCode);
			}
			if ((topicCountry !== null) && (typeof(topicCountry) !== 'undefined')) {
				url = addParam(url, 'countryCode', topicCountry.toUpperCase());
			}
			if ((topicLanguage !== null) && (typeof(topicLanguage) !== 'undefined') && (topicCountry !== null) && (typeof(topicCountry) !== 'undefined')) {
				url = addParam(url, 'lang', topicCountry.toUpperCase() + '_' + topicLanguage);
			}
			if (window['businessPartnerNumber'] != undefined) {
				url = addParam(url, 'businessPartnerNumber', businessPartnerNumber);
			}
			url = addParam(url, 'domain', 'MI');
			url = addParam(url, 'make', 'MI');
			break;
		case "vco": // vehicle configurator
			url = appendCurrentBreadcrumb(url);
			if (isIFrameComponentCall) {
				//eCOM requires these params first
				url = addParam(url, 'process', 'vco');//eCOM
				url = addParam(url, '_service', 'vco'); //eCOM light			
			}
			else {
				url = appendBackLinkName(url);
			}
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {				
				url = addParam(url, 'action', 'vco.selectConfiguration'); //eCOM 
				url = addParam(url, 'model', modelCode); //eCOM 
				url = addParam(url, 'vgCode', modelCode);//eCOM light
			}
			if ((pMiniSubsidiary !== null) && (typeof(pMiniSubsidiary) !== 'undefined')) {
				url = addEcomDealerParams(pMiniSubsidiary, url);
			}			
			var leadContext = $.cookie('LEADCONTEXT');
			if (leadContext !== null) {
				url = addParam(url, 'leadContext', leadContext);
			}						
			url = addParam(url, 'initTarget', 'vco.configurator');

			break;
		case "rfci": // request for contact information, eCOM light
			url = addParam(url, '_service', 'rfci');//eCOM light
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {
				url = addParam(url, 'vgCode', modelCode);//eCOM light
			}
			if ((pMiniSubsidiary !== null) && (typeof(pMiniSubsidiary) !== 'undefined')) {				
				url = addParam(url, '_dealerID', pMiniSubsidiary.getGoldmineId());
			}
			break;
		case "rfo": // request for offer		
			if (isIFrameComponentCall) {
				url = addParam(url, 'process', 'rfo');//eCOM	
			}
			else {
				url = appendBackLinkName(url);
			}			
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {
				url = addParam(url, 'action', 'vco.selectConfiguration'); //eCOM 
				url = addParam(url, 'model', modelCode); //eCOM 
			}			
			if ((pMiniSubsidiary !== null) && (typeof(pMiniSubsidiary) !== 'undefined')) {
				url = addEcomDealerParams(pMiniSubsidiary, url);
			}
			var leadContext = $.cookie('LEADCONTEXT');
			if (leadContext !== null) {
				url = addParam(url, 'leadContext', leadContext);
			}		
			url = addParam(url, 'initTarget', 'rfo.checkList');			
			break;
		case "rfi": //request for information
			//url = appendCurrentBreadcrumb(url); //not yet specified for rfi
			//url = appendBackLinkName(url); //don't use, not specified for rfi
			var infomaterial_id = getInfomaterialId();		
	
			if (isIFrameComponentCall) {
				url = addParam(url, 'process', 'rfi');//eCOM
				
				if ((pMiniSubsidiary !== null) && (typeof(pMiniSubsidiary) !== 'undefined')) {
					url = addEcomDealerParams(pMiniSubsidiary, url);
				}
				
				var leadContext = $.cookie('LEADCONTEXT');
				if (leadContext !== null) {
					url = addParam(url, 'leadContext', leadContext);
				}				
				if (infomaterial_id !== null && (typeof(infomaterial_id) !== 'undefined')) {
					url = addParam(url, 'action', 'rfi.selectInformation'); //eCOM 
					url = addParam(url, "infos", infomaterial_id);
				}				
			}			
			else {
				if (infomaterial_id !== null && (typeof(infomaterial_id) !== 'undefined')) {
					url = addParam(url, "infomaterial_id", infomaterial_id);
				}
			}
			break;
		case "dealer": //redirects to dealer page if a dealer is selected
			// use global miniSubsidiary variable since the parameter ist not passed by the quicklinks
			if ((miniSubsidiary !== null) && (typeof(miniSubsidiary) !== 'undefined')) {
				if (miniSubsidiary.isSubsidiarySelected()) {
					url = miniSubsidiary.getUrl();
				}
			}
			break;
		case "mco": //model comparison
			if ((modelCode !== null) && (typeof(modelCode) !== 'undefined')) {
				url = addParam(url, 'model_code_1', modelCode);
			}
			break;
	}
	//do nothing for "none"
	return url;
}

var page_parameters = null;
/** Returns the value of a GET request parameter or null if the parameter is not set */
function getRequestParameter(param_name) {
	if (page_parameters === null) {
		page_parameters = getPageUrlVars();
	}
	
	//iterate over array to reuse functionality provided by getPageUrlVars which cannot use associative arrays (eCOM)
	for (var i = 0; i < page_parameters.length; i++) {
		if (page_parameters[i][0] == param_name) {
			return page_parameters[i][1];
		}
	}
	return null;
}

/** Adds (mapped) dealer ids to a url which will later be passed to eCOM or eCOM light */
function addEcomDealerParams(pMiniSubsidiary, url) {
	var dealerId = pMiniSubsidiary.getDistributionPartnerId();
	var mappedDealerId = dealerId;
	var outletId = pMiniSubsidiary.getOutletId();
	mappedDealerId = mapDealerId(dealerId, outletId);	
	outletId = mapSubsidiaryId(dealerId, outletId);
	url = addParam(url, 'action', 'dlo.selectDistributionPartner');
	url = addParam(url, 'distributionPartnerNumber', mappedDealerId);
	url = addParam(url, 'outletId', outletId);
	url = addParam(url, '_dealerID', pMiniSubsidiary.getGoldmineId());
	return url;
}

/** 
 *  Adds a parameter (name and value) to a url (no escaping) 
 *  This method does not add already existing url params or params within the current window url!
 */
function addParam(url, name, value) {
	if (url == null) return null;

	var cur_href = window.location.href;
	
	if (name != "action") { 
		//normal case:
		//skip all params which have already been defined 
		if (url.indexOf(name + '=') != -1){
			return url;
		}
		
		if (cur_href.indexOf(name + '=') != -1){
			return url;
		}
	}
	else {
		//do not skip the param "action" as eCOM potentially uses this param multiple times
		//only filter duplicate values:
		if (url.indexOf(name + '=' + value) != -1){
			return url;
		}
		if (cur_href.indexOf(name + '=' + value) != -1){
			return url;
		}
	}
	
	var conn = '&';
	if (url.indexOf('?') == -1) {
		conn = '?';
	}
	return url + conn + name + '=' + value;
}

/** 
 * Links to a link anchor on the current page 
 * (Workaround as WCMS-Links do not allow for relative anchor links).
 * @param anchor Anchor tag with leading #, e.g. #top
 */
function thisPageAnchor(anchor) {
	var currentHref = self.location.href;
	location.href = currentHref.substr(0, currentHref.lastIndexOf("#")) + anchor;
}

/*
 * Logging for debug
 */
var debugOutput = true;
var debugCount = 0;
function logMsg(msg) {
	if(debugOutput ){
		console.log(msg);
		if($('#log').length == 0 ) {
			$('#body').append('<div style="position:absolute;bottom:10px;right:10px;border:1px solid red;color:#FFF;" id="log">Log [<a onclick="$(this).parent().find(\'p\').remove();" href="javascript:void(0);">Clear</a>]:</div>');
		}
		if($('#log').length > 0 ) 
			$('#log').append('<p>' + ++debugCount + ': ' + msg + '</p>');
	}
}

/**
 * Returns the IE version as a float number.
 * This is the recommended way to get the version 
 * (see MSDN article http://msdn.microsoft.com/en-us/library/ms537509%28VS.85%29.aspx)
 */
function getInternetExplorerVersion()
//Returns the version of Internet Explorer or a -1
//(indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) !== null)
 rv = parseFloat( RegExp.$1 );
}
return rv;
}

/** adds the current breadcrumb as url parameter to the given url*/
function appendCurrentBreadcrumb(url) {
	return addParam(url, "bcId", window.location.pathname);
}

/** 
 * returns the backLinkName which is based on the current module name (uses breadcrumb) 
 * returns an empty String if no Breadcrumb is defined on the current page
 */
function getBackLinkName() {
	return encodeURIComponent(escape($("#breadcrumb li:last a").text()));
}

/* appends the backLinkName to a given url */
function appendBackLinkName(url) {
	return addParam(url, "backLinkName", getBackLinkName());
}
//Save current window location
var winLoc = window.location.href;

/*
	This method jumps to the component with the given position
*/
function jumpToComponent(position){
	  window.location.href = winLoc + "#cp_" + position;
}
/*
    Sharing layer: test, which icons are displayed depending on browser
 */
function testShareSite(sharetype) {
	//render bookmark-icon only, if browser is IE
	if(sharetype == 'bookmark') {
		if(getInternetExplorerVersion() > 0){
			return true;
		}
		else{
			return false;
		}
	} else {
		return true;
	}
}

function getAbsoluteUrl( url ) {
	var abs = location.href;
	abs = abs.substring(0,abs.lastIndexOf("/")+1);
	return abs + url;
}
function getRealAbsoluteUrl( url ) {
	var abs = location.protocol + "//" + location.host;	
	return abs + url;
}

function getVIPURL(url) {
	return url;
}


/** Callback for Google JS-API lazy-load event */
      //|| miniSubsidiaryLayer.displayLayer()
function googleApiLoaded() {
  return;
}

/** Callback for Google Maps load event */
function googleMapsLoaded() {	
  //loadExtinfoWindow();
	if(typeof contactTeamInitialize == 'function') {
		//available on contact and team page
		contactTeamInitialize();
	}
	else if(typeof dealerInitialize == 'function') {
		//available on select dealer page	
		dealerInitialize();
	}
}

/** Returns the domain name (i.e. mustermann.mini.com -> mini.com) */
function getDomain() {	
  if (window.location.href.indexOf("mini.com.mx") > 0) { 
    return 'mini.com.mx';
  }
  else if (window.location.href.indexOf("mini.com.gr") > 0) { 
    return 'mini.com.gr';
  }
  else if (window.location.href.indexOf("mini.com") > 0) { 
    return 'mini.com';
  }
  else if (window.location.href.indexOf("mini.at") > 0) { 
    return 'mini.at';
  }
  else if (window.location.href.indexOf("mini.be") > 0) { 
    return 'mini.be';
  }
  else if (window.location.href.indexOf("mini.ca") > 0) { 
    return 'mini.ca';
  }
  else if (window.location.href.indexOf("mini.ch") > 0) { 
    return 'mini.ch';
  }
  else if (window.location.href.indexOf("mini.mx") > 0) { 
    return 'mini.mx';
  }
  else if (window.location.href.indexOf("mini.com.mx") > 0) { 
    return 'mini.com.mx';
  }
  else if (window.location.href.indexOf("mini.de") > 0) { 
    return 'mini.de';
  }
  else if (window.location.href.indexOf("mini.dk") > 0) { 
    return 'mini.dk';
  }
  else if (window.location.href.indexOf("mini.es") > 0) { 
    return 'mini.es';
  }
  else if (window.location.href.indexOf("mini.fi") > 0) { 
    return 'mini.fi';
  }
  else if (window.location.href.indexOf("mini.fr") > 0) { 
    return 'mini.fr';
  }
  else if (window.location.href.indexOf("mini.gr") > 0) { 
    return 'mini.gr';
  }
  else if (window.location.href.indexOf("mini.ie") > 0) { 
    return 'mini.ie';
  }
  else if (window.location.href.indexOf("mini.it") > 0) { 
    return 'mini.it';
  }
  else if (window.location.href.indexOf("mini.jp") > 0) { 
    return 'mini.jp';
  }
  else if (window.location.href.indexOf("mini.lu") > 0) { 
    return 'mini.lu';
  }
  else if (window.location.href.indexOf("mini.nl") > 0) { 
    return 'mini.nl';
  }
  else if (window.location.href.indexOf("mini.no") > 0) { 
    return 'mini.no';
  }
  else if (window.location.href.indexOf("mini.pt") > 0) { 
    return 'mini.pt';
  }
  else if (window.location.href.indexOf("mini.se") > 0) { 
    return 'mini.se';
  }
  else if (window.location.href.indexOf("minibrasil.com") > 0) { 
    return 'minibrasil.com';
  }
  else if (window.location.href.indexOf("new-mini.no") > 0) { 
    return 'new-mini.no';
  }
  else if (window.location.href.indexOf("bmwgroup.net") > 0) { 
    return 'bmwgroup.net';
  }
  else if (window.location.href.indexOf("bmw.de") > 0) { 
    return 'bmw.de';
  }
  else if (window.location.href.indexOf("bmwgroup.com") > 0) { 
    return 'bmwgroup.com';
  }
  else return '';
}

/** Enables Phase 2 functionality for master and localhost. Will return true later */
var phase2 = null;
function isPhase2() {
  return false;
}

function isPrintEnabled() {
	return isPhase2();		
}

function isAudioControlEnabled() {
	return isPhase2();		
}

function isAudioControlEnabled() {
	return isPhase2();		
}

/** triggers tell a friend */
function isTAFEnabled() {
	return isPhase2();		
}

/** triggers tell a friend */
function isNewsRatingEnabled() {
	return isPhase2();		
}

function mapDealerId(distributionPartnerId, subsidiaryId) {
	if (typeof dealerMappingNL == 'function') {
		var mapping = dealerMappingNL();
		var dealerId = mapping[distributionPartnerId + "_" + subsidiaryId];
		if (dealerId !== null && (typeof(dealerId) !== 'undefined')) {
			return dealerId;
		}
	}
	return distributionPartnerId;
}

function mapSubsidiaryId(distributionPartnerId, subsidiaryId) {
	if (typeof subsidiaryMappingNL == 'function') {
		var mapping = subsidiaryMappingNL();
		var outletId = mapping[distributionPartnerId + "_" + subsidiaryId];
		if (outletId !== null && (typeof(outletId) !== 'undefined')) {
			return outletId;
		}		 
	}
	return subsidiaryId;
}

}catch(e){alert('Error in global: ' + e.description);}

// ---- swfobject ----
try{ /*!	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/

var swfobject = function() {
	
	var UNDEF = "undefined",
		OBJECT = "object",
		SHOCKWAVE_FLASH = "Shockwave Flash",
		SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
		FLASH_MIME_TYPE = "application/x-shockwave-flash",
		EXPRESS_INSTALL_ID = "SWFObjectExprInst",
		ON_READY_STATE_CHANGE = "onreadystatechange",
		
		win = window,
		doc = document,
		nav = navigator,
		
		plugin = false,
		domLoadFnArr = [main],
		regObjArr = [],
		objIdArr = [],
		listenersArr = [],
		storedAltContent,
		storedAltContentId,
		storedCallbackFn,
		storedCallbackObj,
		isDomLoaded = false,
		isExpressInstallActive = false,
		dynamicStylesheet,
		dynamicStylesheetMedia,
		autoHideShow = true,
	
	/* Centralized function for browser feature detection
		- User agent string detection is only used when no good alternative is possible
		- Is executed directly for optimal performance
	*/	
	ua = function() {
		var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
			u = nav.userAgent.toLowerCase(),
			p = nav.platform.toLowerCase(),
			windows = p ? /win/.test(p) : /win/.test(u),
			mac = p ? /mac/.test(p) : /mac/.test(u),
			webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
			ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
			playerVersion = [0,0,0],
			d = null;
		if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
			d = nav.plugins[SHOCKWAVE_FLASH].description;
			if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
				plugin = true;
				ie = false; // cascaded feature detection for Internet Explorer
				d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
				playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
				playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
			}
		}
		else if (typeof win.ActiveXObject != UNDEF) {
			try {
				var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
				if (a) { // a will return null when ActiveX is disabled
					d = a.GetVariable("$version");
					if (d) {
						ie = true; // cascaded feature detection for Internet Explorer
						d = d.split(" ")[1].split(",");
						playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
					}
				}
			}
			catch(e) {}
		}
		return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
	}(),
	
	/* Cross-browser onDomLoad
		- Will fire an event as soon as the DOM of a web page is loaded
		- Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/
		- Regular onload serves as fallback
	*/ 
	onDomLoad = function() {
		if (!ua.w3) { return; }
		if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically 
			callDomLoadFunctions();
		}
		if (!isDomLoaded) {
			if (typeof doc.addEventListener != UNDEF) {
				doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false);
			}		
			if (ua.ie && ua.win) {
				doc.attachEvent(ON_READY_STATE_CHANGE, function() {
					if (doc.readyState == "complete") {
						doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee);
						callDomLoadFunctions();
					}
				});
				if (win == top) { // if not inside an iframe
					(function(){
						if (isDomLoaded) { return; }
						try {
							doc.documentElement.doScroll("left");
						}
						catch(e) {
							setTimeout(arguments.callee, 0);
							return;
						}
						callDomLoadFunctions();
					})();
				}
			}
			if (ua.wk) {
				(function(){
					if (isDomLoaded) { return; }
					if (!/loaded|complete/.test(doc.readyState)) {
						setTimeout(arguments.callee, 0);
						return;
					}
					callDomLoadFunctions();
				})();
			}
			addLoadEvent(callDomLoadFunctions);
		}
	}();
	
	function callDomLoadFunctions() {
		if (isDomLoaded) { return; }
		try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
			var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
			t.parentNode.removeChild(t);
		}
		catch (e) { return; }
		isDomLoaded = true;
		var dl = domLoadFnArr.length;
		for (var i = 0; i < dl; i++) {
			domLoadFnArr[i]();
		}
	}
	
	function addDomLoadEvent(fn) {
		if (isDomLoaded) {
			fn();
		}
		else { 
			domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
		}
	}
	
	/* Cross-browser onload
		- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
		- Will fire an event as soon as a web page including all of its assets are loaded 
	 */
	function addLoadEvent(fn) {
		if (typeof win.addEventListener != UNDEF) {
			win.addEventListener("load", fn, false);
		}
		else if (typeof doc.addEventListener != UNDEF) {
			doc.addEventListener("load", fn, false);
		}
		else if (typeof win.attachEvent != UNDEF) {
			addListener(win, "onload", fn);
		}
		else if (typeof win.onload == "function") {
			var fnOld = win.onload;
			win.onload = function() {
				fnOld();
				fn();
			};
		}
		else {
			win.onload = fn;
		}
	}
	
	/* Main function
		- Will preferably execute onDomLoad, otherwise onload (as a fallback)
	*/
	function main() { 
		if (plugin) {
			testPlayerVersion();
		}
		else {
			matchVersions();
		}
	}
	
	/* Detect the Flash Player version for non-Internet Explorer browsers
		- Detecting the plug-in version via the object element is more precise than using the plugins collection item's description:
		  a. Both release and build numbers can be detected
		  b. Avoid wrong descriptions by corrupt installers provided by Adobe
		  c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports
		- Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available
	*/
	function testPlayerVersion() {
		var b = doc.getElementsByTagName("body")[0];
		var o = createElement(OBJECT);
		o.setAttribute("type", FLASH_MIME_TYPE);
		var t = b.appendChild(o);
		if (t) {
			var counter = 0;
			(function(){
				if (typeof t.GetVariable != UNDEF) {
					var d = t.GetVariable("$version");
					if (d) {
						d = d.split(" ")[1].split(",");
						ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
					}
				}
				else if (counter < 10) {
					counter++;
					setTimeout(arguments.callee, 10);
					return;
				}
				b.removeChild(o);
				t = null;
				matchVersions();
			})();
		}
		else {
			matchVersions();
		}
	}
	
	/* Perform Flash Player and SWF version matching; static publishing only
	*/
	function matchVersions() {
		var rl = regObjArr.length;
		if (rl > 0) {
			for (var i = 0; i < rl; i++) { // for each registered object element
				var id = regObjArr[i].id;
				var cb = regObjArr[i].callbackFn;
				var cbObj = {success:false, id:id};
				if (ua.pv[0] > 0) {
					var obj = getElementById(id);
					if (obj) {
						if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match!
							setVisibility(id, true);
							if (cb) {
								cbObj.success = true;
								cbObj.ref = getObjectById(id);
								cb(cbObj);
							}
						}
						else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported
							var att = {};
							att.data = regObjArr[i].expressInstall;
							att.width = obj.getAttribute("width") || "0";
							att.height = obj.getAttribute("height") || "0";
							if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); }
							if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); }
							// parse HTML object param element's name-value pairs
							var par = {};
							var p = obj.getElementsByTagName("param");
							var pl = p.length;
							for (var j = 0; j < pl; j++) {
								if (p[j].getAttribute("name").toLowerCase() != "movie") {
									par[p[j].getAttribute("name")] = p[j].getAttribute("value");
								}
							}
							showExpressInstall(att, par, id, cb);
						}
						else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF
							displayAltContent(obj);
							if (cb) { cb(cbObj); }
						}
					}
				}
				else {	// if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content)
					setVisibility(id, true);
					if (cb) {
						var o = getObjectById(id); // test whether there is an HTML object element or not
						if (o && typeof o.SetVariable != UNDEF) { 
							cbObj.success = true;
							cbObj.ref = o;
						}
						cb(cbObj);
					}
				}
			}
		}
	}
	
	function getObjectById(objectIdStr) {
		var r = null;
		var o = getElementById(objectIdStr);
		if (o && o.nodeName == "OBJECT") {
			if (typeof o.SetVariable != UNDEF) {
				r = o;
			}
			else {
				var n = o.getElementsByTagName(OBJECT)[0];
				if (n) {
					r = n;
				}
			}
		}
		return r;
	}
	
	/* Requirements for Adobe Express Install
		- only one instance can be active at a time
		- fp 6.0.65 or higher
		- Win/Mac OS only
		- no Webkit engines older than version 312
	*/
	function canExpressInstall() {
		return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312);
	}
	
	/* Show the Adobe Express Install dialog
		- Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
	*/
	function showExpressInstall(att, par, replaceElemIdStr, callbackFn) {
		isExpressInstallActive = true;
		storedCallbackFn = callbackFn || null;
		storedCallbackObj = {success:false, id:replaceElemIdStr};
		var obj = getElementById(replaceElemIdStr);
		if (obj) {
			if (obj.nodeName == "OBJECT") { // static publishing
				storedAltContent = abstractAltContent(obj);
				storedAltContentId = null;
			}
			else { // dynamic publishing
				storedAltContent = obj;
				storedAltContentId = replaceElemIdStr;
			}
			att.id = EXPRESS_INSTALL_ID;
			if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; }
			if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; }
			doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
			var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
				fv = "MMredirectURL=" + win.location.toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title;
			if (typeof par.flashvars != UNDEF) {
				par.flashvars += "&" + fv;
			}
			else {
				par.flashvars = fv;
			}
			// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
			// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			if (ua.ie && ua.win && obj.readyState != 4) {
				var newObj = createElement("div");
				replaceElemIdStr += "SWFObjectNew";
				newObj.setAttribute("id", replaceElemIdStr);
				obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf
				obj.style.display = "none";
				(function(){
					if (obj.readyState == 4) {
						obj.parentNode.removeChild(obj);
					}
					else {
						setTimeout(arguments.callee, 10);
					}
				})();
			}
			createSWF(att, par, replaceElemIdStr);
		}
	}
	
	/* Functions to abstract and display alternative content
	*/
	function displayAltContent(obj) {
		if (ua.ie && ua.win && obj.readyState != 4) {
			// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
			// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			var el = createElement("div");
			obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
			el.parentNode.replaceChild(abstractAltContent(obj), el);
			obj.style.display = "none";
			(function(){
				if (obj.readyState == 4) {
					obj.parentNode.removeChild(obj);
				}
				else {
					setTimeout(arguments.callee, 10);
				}
			})();
		}
		else {
			obj.parentNode.replaceChild(abstractAltContent(obj), obj);
		}
	} 

	function abstractAltContent(obj) {
		var ac = createElement("div");
		if (ua.win && ua.ie) {
			ac.innerHTML = obj.innerHTML;
		}
		else {
			var nestedObj = obj.getElementsByTagName(OBJECT)[0];
			if (nestedObj) {
				var c = nestedObj.childNodes;
				if (c) {
					var cl = c.length;
					for (var i = 0; i < cl; i++) {
						if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
							ac.appendChild(c[i].cloneNode(true));
						}
					}
				}
			}
		}
		return ac;
	}
	
	/* Cross-browser dynamic SWF creation
	*/
	function createSWF(attObj, parObj, id) {
		var r, el = getElementById(id);
		if (ua.wk && ua.wk < 312) { return r; }
		if (el) {
			if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
				attObj.id = id;
			}
			if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
				var att = "";
				for (var i in attObj) {
					if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
						if (i.toLowerCase() == "data") {
							parObj.movie = attObj[i];
						}
						else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
							att += ' class="' + attObj[i] + '"';
						}
						else if (i.toLowerCase() != "classid") {
							att += ' ' + i + '="' + attObj[i] + '"';
						}
					}
				}
				var par = "";
				for (var j in parObj) {
					if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
						par += '<param name="' + j + '" value="' + parObj[j] + '" />';
					}
				}
				el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
				objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
				r = getElementById(attObj.id);	
			}
			else { // well-behaving browsers
				var o = createElement(OBJECT);
				o.setAttribute("type", FLASH_MIME_TYPE);
				for (var m in attObj) {
					if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
						if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
							o.setAttribute("class", attObj[m]);
						}
						else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
							o.setAttribute(m, attObj[m]);
						}
					}
				}
				for (var n in parObj) {
					if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
						createObjParam(o, n, parObj[n]);
					}
				}
				el.parentNode.replaceChild(o, el);
				r = o;
			}
		}
		return r;
	}
	
	function createObjParam(el, pName, pValue) {
		var p = createElement("param");
		p.setAttribute("name", pName);	
		p.setAttribute("value", pValue);
		el.appendChild(p);
	}
	
	/* Cross-browser SWF removal
		- Especially needed to safely and completely remove a SWF in Internet Explorer
	*/
	function removeSWF(id) {
		var obj = getElementById(id);
		if (obj && obj.nodeName == "OBJECT") {
			if (ua.ie && ua.win) {
				obj.style.display = "none";
				(function(){
					if (obj.readyState == 4) {
						removeObjectInIE(id);
					}
					else {
						setTimeout(arguments.callee, 10);
					}
				})();
			}
			else {
				obj.parentNode.removeChild(obj);
			}
		}
	}
	
	function removeObjectInIE(id) {
		var obj = getElementById(id);
		if (obj) {
			for (var i in obj) {
				if (typeof obj[i] == "function") {
					obj[i] = null;
				}
			}
			obj.parentNode.removeChild(obj);
		}
	}
	
	/* Functions to optimize JavaScript compression
	*/
	function getElementById(id) {
		var el = null;
		try {
			el = doc.getElementById(id);
		}
		catch (e) {}
		return el;
	}
	
	function createElement(el) {
		return doc.createElement(el);
	}
	
	/* Updated attachEvent function for Internet Explorer
		- Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
	*/	
	function addListener(target, eventType, fn) {
		target.attachEvent(eventType, fn);
		listenersArr[listenersArr.length] = [target, eventType, fn];
	}
	
	/* Flash Player and SWF content version matching
	*/
	function hasPlayerVersion(rv) {
		var pv = ua.pv, v = rv.split(".");
		v[0] = parseInt(v[0], 10);
		v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
		v[2] = parseInt(v[2], 10) || 0;
		return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
	}
	
	/* Cross-browser dynamic CSS creation
		- Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
	*/	
	function createCSS(sel, decl, media, newStyle) {
		if (ua.ie && ua.mac) { return; }
		var h = doc.getElementsByTagName("head")[0];
		if (!h) { return; } // to also support badly authored HTML pages that lack a head element
		var m = (media && typeof media == "string") ? media : "screen";
		if (newStyle) {
			dynamicStylesheet = null;
			dynamicStylesheetMedia = null;
		}
		if (!dynamicStylesheet || dynamicStylesheetMedia != m) { 
			// create dynamic stylesheet + get a global reference to it
			var s = createElement("style");
			s.setAttribute("type", "text/css");
			s.setAttribute("media", m);
			dynamicStylesheet = h.appendChild(s);
			if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
				dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1];
			}
			dynamicStylesheetMedia = m;
		}
		// add style rule
		if (ua.ie && ua.win) {
			if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) {
				dynamicStylesheet.addRule(sel, decl);
			}
		}
		else {
			if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) {
				dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
			}
		}
	}
	
	function setVisibility(id, isVisible) {
		if (!autoHideShow) { return; }
		var v = isVisible ? "visible" : "hidden";
		if (isDomLoaded && getElementById(id)) {
			getElementById(id).style.visibility = v;
		}
		else {
			createCSS("#" + id, "visibility:" + v);
		}
	}

	/* Filter to avoid XSS attacks
	*/
	function urlEncodeIfNecessary(s) {
		var regex = /[\\\"<>\.;]/;
		var hasBadChars = regex.exec(s) != null;
		return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
	}
	
	/* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
	*/
	var cleanup = function() {
		if (ua.ie && ua.win) {
			window.attachEvent("onunload", function() {
				// remove listeners to avoid memory leaks
				var ll = listenersArr.length;
				for (var i = 0; i < ll; i++) {
					listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
				}
				// cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect
				var il = objIdArr.length;
				for (var j = 0; j < il; j++) {
					removeSWF(objIdArr[j]);
				}
				// cleanup library's main closures to avoid memory leaks
				for (var k in ua) {
					ua[k] = null;
				}
				ua = null;
				for (var l in swfobject) {
					swfobject[l] = null;
				}
				swfobject = null;
			});
		}
	}();
	
	return {
		/* Public API
			- Reference: http://code.google.com/p/swfobject/wiki/documentation
		*/ 
		registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) {
			if (ua.w3 && objectIdStr && swfVersionStr) {
				var regObj = {};
				regObj.id = objectIdStr;
				regObj.swfVersion = swfVersionStr;
				regObj.expressInstall = xiSwfUrlStr;
				regObj.callbackFn = callbackFn;
				regObjArr[regObjArr.length] = regObj;
				setVisibility(objectIdStr, false);
			}
			else if (callbackFn) {
				callbackFn({success:false, id:objectIdStr});
			}
		},
		
		getObjectById: function(objectIdStr) {
			if (ua.w3) {
				return getObjectById(objectIdStr);
			}
		},
		
		embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
			var callbackObj = {success:false, id:replaceElemIdStr};
			if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
				setVisibility(replaceElemIdStr, false);
				addDomLoadEvent(function() {
					widthStr += ""; // auto-convert to string
					heightStr += "";
					var att = {};
					if (attObj && typeof attObj === OBJECT) {
						for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
							att[i] = attObj[i];
						}
					}
					att.data = swfUrlStr;
					att.width = widthStr;
					att.height = heightStr;
					var par = {}; 
					if (parObj && typeof parObj === OBJECT) {
						for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
							par[j] = parObj[j];
						}
					}
					if (flashvarsObj && typeof flashvarsObj === OBJECT) {
						for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
							if (typeof par.flashvars != UNDEF) {
								par.flashvars += "&" + k + "=" + flashvarsObj[k];
							}
							else {
								par.flashvars = k + "=" + flashvarsObj[k];
							}
						}
					}
					if (hasPlayerVersion(swfVersionStr)) { // create SWF
						var obj = createSWF(att, par, replaceElemIdStr);
						if (att.id == replaceElemIdStr) {
							setVisibility(replaceElemIdStr, true);
						}
						callbackObj.success = true;
						callbackObj.ref = obj;
					}
					else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install
						att.data = xiSwfUrlStr;
						showExpressInstall(att, par, replaceElemIdStr, callbackFn);
						return;
					}
					else { // show alternative content
						setVisibility(replaceElemIdStr, true);
					}
					if (callbackFn) { callbackFn(callbackObj); }
				});
			}
			else if (callbackFn) { callbackFn(callbackObj);	}
		},
		
		switchOffAutoHideShow: function() {
			autoHideShow = false;
		},
		
		ua: ua,
		
		getFlashPlayerVersion: function() {
			return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
		},
		
		hasFlashPlayerVersion: hasPlayerVersion,
		
		createSWF: function(attObj, parObj, replaceElemIdStr) {
			if (ua.w3) {
				return createSWF(attObj, parObj, replaceElemIdStr);
			}
			else {
				return undefined;
			}
		},
		
		showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) {
			if (ua.w3 && canExpressInstall()) {
				showExpressInstall(att, par, replaceElemIdStr, callbackFn);
			}
		},
		
		removeSWF: function(objElemIdStr) {
			if (ua.w3) {
				removeSWF(objElemIdStr);
			}
		},
		
		createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) {
			if (ua.w3) {
				createCSS(selStr, declStr, mediaStr, newStyleBoolean);
			}
		},
		
		addDomLoadEvent: addDomLoadEvent,
		
		addLoadEvent: addLoadEvent,
		
		getQueryParamValue: function(param) {
			var q = doc.location.search || doc.location.hash;
			if (q) {
				if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
				if (param == null) {
					return urlEncodeIfNecessary(q);
				}
				var pairs = q.split("&");
				for (var i = 0; i < pairs.length; i++) {
					if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
						return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
					}
				}
			}
			return "";
		},
		
		// For internal usage only
		expressInstallCallback: function() {
			if (isExpressInstallActive) {
				var obj = getElementById(EXPRESS_INSTALL_ID);
				if (obj && storedAltContent) {
					obj.parentNode.replaceChild(storedAltContent, obj);
					if (storedAltContentId) {
						setVisibility(storedAltContentId, true);
						if (ua.ie && ua.win) { storedAltContent.style.display = "block"; }
					}
					if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); }
				}
				isExpressInstallActive = false;
			} 
		}
	};
}();

}catch(e){alert('Error in swfobject: ' + e.description);}

// ---- jquery-1.3.2 ----
try{ /*!
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){

var 
	// Will speed up references to window, and allows munging its name.
	window = this,
	// Will speed up references to undefined, and allows munging its name.
	undefined,
	// Map over jQuery in case of overwrite
	_jQuery = window.jQuery,
	// Map over the $ in case of overwrite
	_$ = window.$,

	jQuery = window.jQuery = window.$ = function( selector, context ) {
		// The jQuery object is actually just the init constructor 'enhanced'
		return new jQuery.fn.init( selector, context );
	},

	// A simple way to check for HTML strings or ID strings
	// (both of which we optimize for)
	quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
	// Is it a simple selector
	isSimple = /^.[^:#\[\.,]*$/;

jQuery.fn = jQuery.prototype = {
	init: function( selector, context ) {
		// Make sure that a selection was provided
		selector = selector || document;

		// Handle $(DOMElement)
		if ( selector.nodeType ) {
			this[0] = selector;
			this.length = 1;
			this.context = selector;
			return this;
		}
		// Handle HTML strings
		if ( typeof selector === "string" ) {
			// Are we dealing with HTML string or an ID?
			var match = quickExpr.exec( selector );

			// Verify a match, and that no context was specified for #id
			if ( match && (match[1] || !context) ) {

				// HANDLE: $(html) -> $(array)
				if ( match[1] )
					selector = jQuery.clean( [ match[1] ], context );

				// HANDLE: $("#id")
				else {
					var elem = document.getElementById( match[3] );

					// Handle the case where IE and Opera return items
					// by name instead of ID
					if ( elem && elem.id != match[3] )
						return jQuery().find( selector );

					// Otherwise, we inject the element directly into the jQuery object
					var ret = jQuery( elem || [] );
					ret.context = document;
					ret.selector = selector;
					return ret;
				}

			// HANDLE: $(expr, [context])
			// (which is just equivalent to: $(content).find(expr)
			} else
				return jQuery( context ).find( selector );

		// HANDLE: $(function)
		// Shortcut for document ready
		} else if ( jQuery.isFunction( selector ) )
			return jQuery( document ).ready( selector );

		// Make sure that old selector state is passed along
		if ( selector.selector && selector.context ) {
			this.selector = selector.selector;
			this.context = selector.context;
		}

		return this.setArray(jQuery.isArray( selector ) ?
			selector :
			jQuery.makeArray(selector));
	},

	// Start with an empty selector
	selector: "",

	// The current version of jQuery being used
	jquery: "1.3.2",

	// The number of elements contained in the matched element set
	size: function() {
		return this.length;
	},

	// Get the Nth element in the matched element set OR
	// Get the whole matched element set as a clean array
	get: function( num ) {
		return num === undefined ?

			// Return a 'clean' array
			Array.prototype.slice.call( this ) :

			// Return just the object
			this[ num ];
	},

	// Take an array of elements and push it onto the stack
	// (returning the new matched element set)
	pushStack: function( elems, name, selector ) {
		// Build a new jQuery matched element set
		var ret = jQuery( elems );

		// Add the old object onto the stack (as a reference)
		ret.prevObject = this;

		ret.context = this.context;

		if ( name === "find" )
			ret.selector = this.selector + (this.selector ? " " : "") + selector;
		else if ( name )
			ret.selector = this.selector + "." + name + "(" + selector + ")";

		// Return the newly-formed element set
		return ret;
	},

	// Force the current matched set of elements to become
	// the specified array of elements (destroying the stack in the process)
	// You should use pushStack() in order to do this, but maintain the stack
	setArray: function( elems ) {
		// Resetting the length to 0, then using the native Array push
		// is a super-fast way to populate an object with array-like properties
		this.length = 0;
		Array.prototype.push.apply( this, elems );

		return this;
	},

	// Execute a callback for every element in the matched set.
	// (You can seed the arguments with an array of args, but this is
	// only used internally.)
	each: function( callback, args ) {
		return jQuery.each( this, callback, args );
	},

	// Determine the position of an element within
	// the matched set of elements
	index: function( elem ) {
		// Locate the position of the desired element
		return jQuery.inArray(
			// If it receives a jQuery object, the first element is used
			elem && elem.jquery ? elem[0] : elem
		, this );
	},

	attr: function( name, value, type ) {
		var options = name;

		// Look for the case where we're accessing a style value
		if ( typeof name === "string" )
			if ( value === undefined )
				return this[0] && jQuery[ type || "attr" ]( this[0], name );

			else {
				options = {};
				options[ name ] = value;
			}

		// Check to see if we're setting style values
		return this.each(function(i){
			// Set all the styles
			for ( name in options )
				jQuery.attr(
					type ?
						this.style :
						this,
					name, jQuery.prop( this, options[ name ], type, i, name )
				);
		});
	},

	css: function( key, value ) {
		// ignore negative width and height values
		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] ) {
			// The elements to wrap the target around
			var wrap = jQuery( html, this[0].ownerDocument ).clone();

			if ( this[0].parentNode )
				wrap.insertBefore( this[0] );

			wrap.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, function(elem){
			if (this.nodeType == 1)
				this.appendChild( elem );
		});
	},

	prepend: function() {
		return this.domManip(arguments, true, function(elem){
			if (this.nodeType == 1)
				this.insertBefore( elem, this.firstChild );
		});
	},

	before: function() {
		return this.domManip(arguments, false, function(elem){
			this.parentNode.insertBefore( elem, this );
		});
	},

	after: function() {
		return this.domManip(arguments, false, function(elem){
			this.parentNode.insertBefore( elem, this.nextSibling );
		});
	},

	end: function() {
		return this.prevObject || jQuery( [] );
	},

	// For internal use only.
	// Behaves like an Array's method, not like a jQuery method.
	push: [].push,
	sort: [].sort,
	splice: [].splice,

	find: function( selector ) {
		if ( this.length === 1 ) {
			var ret = this.pushStack( [], "find", selector );
			ret.length = 0;
			jQuery.find( selector, this[0], ret );
			return ret;
		} else {
			return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
				return jQuery.find( selector, elem );
			})), "find", selector );
		}
	},

	clone: function( events ) {
		// Do the clone
		var ret = this.map(function(){
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
				// IE copies events bound via attachEvent when
				// using cloneNode. Calling detachEvent on the
				// clone will also remove the events from the orignal
				// In order to get around this, we use innerHTML.
				// Unfortunately, this means some modifications to
				// attributes in IE that are actually only stored
				// as properties will not be copied (such as the
				// the name attribute on an input).
				var html = this.outerHTML;
				if ( !html ) {
					var div = this.ownerDocument.createElement("div");
					div.appendChild( this.cloneNode(true) );
					html = div.innerHTML;
				}

				return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0];
			} else
				return this.cloneNode(true);
		});

		// Copy the events from the original to the clone
		if ( events === true ) {
			var orig = this.find("*").andSelf(), i = 0;

			ret.find("*").andSelf().each(function(){
				if ( this.nodeName !== orig[i].nodeName )
					return;

				var events = jQuery.data( orig[i], "events" );

				for ( var type in events ) {
					for ( var handler in events[ type ] ) {
						jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
					}
				}

				i++;
			});
		}

		// Return the cloned set
		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, jQuery.grep(this, function(elem){
				return elem.nodeType === 1;
			}) ), "filter", selector );
	},

	closest: function( selector ) {
		var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
			closer = 0;

		return this.map(function(){
			var cur = this;
			while ( cur && cur.ownerDocument ) {
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
					jQuery.data(cur, "closest", closer);
					return cur;
				}
				cur = cur.parentNode;
				closer++;
			}
		});
	},

	not: function( selector ) {
		if ( typeof selector === "string" )
			// test special case where just one selector is passed in
			if ( isSimple.test( selector ) )
				return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector );
			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 this.pushStack( jQuery.unique( jQuery.merge(
			this.get(),
			typeof selector === "string" ?
				jQuery( selector ) :
				jQuery.makeArray( selector )
		)));
	},

	is: function( selector ) {
		return !!selector && jQuery.multiFilter( selector, this ).length > 0;
	},

	hasClass: function( selector ) {
		return !!selector && this.is( "." + selector );
	},

	val: function( value ) {
		if ( value === undefined ) {			
			var elem = this[0];

			if ( elem ) {
				if( jQuery.nodeName( elem, 'option' ) )
					return (elem.attributes.value || {}).specified ? elem.value : elem.text;
				
				// We need to handle select boxes special
				if ( jQuery.nodeName( elem, "select" ) ) {
					var index = elem.selectedIndex,
						values = [],
						options = elem.options,
						one = elem.type == "select-one";

					// Nothing was selected
					if ( index < 0 )
						return null;

					// Loop through all the selected options
					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
						var option = options[ i ];

						if ( option.selected ) {
							// Get the specifc value for the option
							value = jQuery(option).val();

							// We don't need an array for one selects
							if ( one )
								return value;

							// Multi-Selects return an array
							values.push( value );
						}
					}

					return values;				
				}

				// Everything else, we just grab the value
				return (elem.value || "").replace(/\r/g, "");

			}

			return undefined;
		}

		if ( typeof value === "number" )
			value += '';

		return this.each(function(){
			if ( this.nodeType != 1 )
				return;

			if ( jQuery.isArray(value) && /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 = jQuery.makeArray(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[0] ?
				this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") :
				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 ),
			"slice", Array.prototype.slice.call(arguments).join(",") );
	},

	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 );
	},

	domManip: function( args, table, callback ) {
		if ( this[0] ) {
			var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
				scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
				first = fragment.firstChild;

			if ( first )
				for ( var i = 0, l = this.length; i < l; i++ )
					callback.call( root(this[i], first), this.length > 1 || i > 0 ?
							fragment.cloneNode(true) : fragment );
		
			if ( scripts )
				jQuery.each( scripts, evalScript );
		}

		return this;
		
		function root( elem, cur ) {
			return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ?
				(elem.getElementsByTagName("tbody")[0] ||
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
				elem;
		}
	}
};

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;

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 );
}

function now(){
	return +new Date;
}

jQuery.extend = jQuery.fn.extend = function() {
	// copy reference to target object
	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;

	// Handle a deep copy situation
	if ( typeof target === "boolean" ) {
		deep = target;
		target = arguments[1] || {};
		// skip the boolean and the target
		i = 2;
	}

	// Handle case when target is a string or something (possible in deep copy)
	if ( typeof target !== "object" && !jQuery.isFunction(target) )
		target = {};

	// extend jQuery itself if only one argument is passed
	if ( length == i ) {
		target = this;
		--i;
	}

	for ( ; i < length; i++ )
		// Only deal with non-null/undefined values
		if ( (options = arguments[ i ]) != null )
			// Extend the base object
			for ( var name in options ) {
				var src = target[ name ], copy = options[ name ];

				// Prevent never-ending loop
				if ( target === copy )
					continue;

				// Recurse if we're merging object values
				if ( deep && copy && typeof copy === "object" && !copy.nodeType )
					target[ name ] = jQuery.extend( deep, 
						// Never move original objects, clone them
						src || ( copy.length != null ? [ ] : { } )
					, copy );

				// Don't bring in undefined values
				else if ( copy !== undefined )
					target[ name ] = copy;

			}

	// Return the modified object
	return target;
};

// exclude the following css properties to add px
var	exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
	// cache defaultView
	defaultView = document.defaultView || {},
	toString = Object.prototype.toString;

jQuery.extend({
	noConflict: function( deep ) {
		window.$ = _$;

		if ( deep )
			window.jQuery = _jQuery;

		return jQuery;
	},

	// See test/unit/core.js for details concerning isFunction.
	// Since version 1.3, DOM methods and functions like alert
	// aren't supported. They return false on IE (#2968).
	isFunction: function( obj ) {
		return toString.call(obj) === "[object Function]";
	},

	isArray: function( obj ) {
		return toString.call(obj) === "[object Array]";
	},

	// check if an element is in a (or is an) XML document
	isXMLDoc: function( elem ) {
		return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
			!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
	},

	// Evalulates a script in a global context
	globalEval: function( data ) {
		if ( data && /\S/.test(data) ) {
			// Inspired by code by Andrea Giammarchi
			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
			var head = document.getElementsByTagName("head")[0] || document.documentElement,
				script = document.createElement("script");

			script.type = "text/javascript";
			if ( jQuery.support.scriptEval )
				script.appendChild( document.createTextNode( data ) );
			else
				script.text = data;

			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
			// This arises when a base node is used (#2709).
			head.insertBefore( script, head.firstChild );
			head.removeChild( script );
		}
	},

	nodeName: function( elem, name ) {
		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
	},

	// args is for internal usage only
	each: function( object, callback, args ) {
		var name, i = 0, length = object.length;

		if ( args ) {
			if ( length === undefined ) {
				for ( name in object )
					if ( callback.apply( object[ name ], args ) === false )
						break;
			} else
				for ( ; i < length; )
					if ( callback.apply( object[ i++ ], args ) === false )
						break;

		// A special, fast, case for the most common use of each
		} else {
			if ( length === undefined ) {
				for ( name in object )
					if ( callback.call( object[ name ], name, object[ name ] ) === false )
						break;
			} else
				for ( var value = object[0];
					i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
		}

		return object;
	},

	prop: function( elem, value, type, i, name ) {
		// Handle executable functions
		if ( jQuery.isFunction( value ) )
			value = value.call( elem, i );

		// Handle passing in a number to a CSS property
		return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ?
			value + "px" :
			value;
	},

	className: {
		// internal only, use addClass("class")
		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;
			});
		},

		// internal only, use removeClass("class")
		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(" ") :
					"";
		},

		// internal only, use hasClass("class")
		has: function( elem, className ) {
			return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;
		}
	},

	// A method for quickly swapping in/out CSS properties to get correct calculations
	swap: function( elem, options, callback ) {
		var old = {};
		// Remember the old values, and insert the new ones
		for ( var name in options ) {
			old[ name ] = elem.style[ name ];
			elem.style[ name ] = options[ name ];
		}

		callback.call( elem );

		// Revert the old values
		for ( var name in options )
			elem.style[ name ] = old[ name ];
	},

	css: function( elem, name, force, extra ) {
		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;

				if ( extra === "border" )
					return;

				jQuery.each( which, function() {
					if ( !extra )
						val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
					if ( extra === "margin" )
						val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
					else
						val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
				});
			}

			if ( elem.offsetWidth !== 0 )
				getWH();
			else
				jQuery.swap( elem, props, getWH );

			return Math.max(0, Math.round(val));
		}

		return jQuery.curCSS( elem, name, force );
	},

	curCSS: function( elem, name, force ) {
		var ret, style = elem.style;

		// We need to handle opacity special in IE
		if ( name == "opacity" && !jQuery.support.opacity ) {
			ret = jQuery.attr( style, "opacity" );

			return ret == "" ?
				"1" :
				ret;
		}

		// Make sure we're using the right name for getting the float value
		if ( name.match( /float/i ) )
			name = styleFloat;

		if ( !force && style && style[ name ] )
			ret = style[ name ];

		else if ( defaultView.getComputedStyle ) {

			// Only "float" is needed here
			if ( name.match( /float/i ) )
				name = "float";

			name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();

			var computedStyle = defaultView.getComputedStyle( elem, null );

			if ( computedStyle )
				ret = computedStyle.getPropertyValue( name );

			// We should always get a number back from opacity
			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 ];

			// From the awesome hack by Dean Edwards
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291

			// If we're not dealing with a regular pixel number
			// but a number that has a weird ending, we need to convert it to pixels
			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
				// Remember the original values
				var left = style.left, rsLeft = elem.runtimeStyle.left;

				// Put in the new values to get a computed value out
				elem.runtimeStyle.left = elem.currentStyle.left;
				style.left = ret || 0;
				ret = style.pixelLeft + "px";

				// Revert the changed values
				style.left = left;
				elem.runtimeStyle.left = rsLeft;
			}
		}

		return ret;
	},

	clean: function( elems, context, fragment ) {
		context = context || document;

		// !context.createElement fails in IE with an error but returns typeof 'object'
		if ( typeof context.createElement === "undefined" )
			context = context.ownerDocument || context[0] && context[0].ownerDocument || document;

		// If a single string is passed in and it's a single tag
		// just do a createElement and skip the rest
		if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) {
			var match = /^<(\w+)\s*\/?>$/.exec(elems[0]);
			if ( match )
				return [ context.createElement( match[1] ) ];
		}

		var ret = [], scripts = [], div = context.createElement("div");

		jQuery.each(elems, function(i, elem){
			if ( typeof elem === "number" )
				elem += '';

			if ( !elem )
				return;

			// Convert html string into DOM nodes
			if ( typeof elem === "string" ) {
				// Fix "XHTML"-style tags in all browsers
				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 + ">";
				});

				// Trim whitespace, otherwise indexOf won't work as expected
				var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();

				var wrap =
					// option or optgroup
					!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>" ] ||

				 	// <thead> matched above
					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||

					!tags.indexOf("<col") &&
					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||

					// IE can't serialize <link> and <script> tags normally
					!jQuery.support.htmlSerialize &&
					[ 1, "div<div>", "</div>" ] ||

					[ 0, "", "" ];

				// Go to html and back, then peel off extra wrappers
				div.innerHTML = wrap[1] + elem + wrap[2];

				// Move to the right depth
				while ( wrap[0]-- )
					div = div.lastChild;

				// Remove IE's autoinserted <tbody> from table fragments
				if ( !jQuery.support.tbody ) {

					// String was a <table>, *may* have spurious <tbody>
					var hasBody = /<tbody/i.test(elem),
						tbody = !tags.indexOf("<table") && !hasBody ?
							div.firstChild && div.firstChild.childNodes :

						// String was a bare <thead> or <tfoot>
						wrap[1] == "<table>" && !hasBody ?
							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 ] );

					}

				// IE completely kills leading whitespace when innerHTML is used
				if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
					div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
				
				elem = jQuery.makeArray( div.childNodes );
			}

			if ( elem.nodeType )
				ret.push( elem );
			else
				ret = jQuery.merge( ret, elem );

		});

		if ( fragment ) {
			for ( var i = 0; ret[i]; i++ ) {
				if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
				} else {
					if ( ret[i].nodeType === 1 )
						ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
					fragment.appendChild( ret[i] );
				}
			}
			
			return scripts;
		}

		return ret;
	},

	attr: function( elem, name, value ) {
		// don't set attributes on text and comment nodes
		if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
			return undefined;

		var notxml = !jQuery.isXMLDoc( elem ),
			// Whether we are setting (or getting)
			set = value !== undefined;

		// Try to normalize/fix the name
		name = notxml && jQuery.props[ name ] || name;

		// Only do all the following if this is a node (faster for style)
		// IE elem.getAttribute passes even for style
		if ( elem.tagName ) {

			// These attributes require special treatment
			var special = /href|src|style/.test( name );

			// Safari mis-reports the default selected property of a hidden option
			// Accessing the parent's selectedIndex property fixes it
			if ( name == "selected" && elem.parentNode )
				elem.parentNode.selectedIndex;

			// If applicable, access the attribute via the DOM 0 way
			if ( name in elem && notxml && !special ) {
				if ( set ){
					// We can't allow the type property to be changed (since it causes problems in IE)
					if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
						throw "type property can't be changed";

					elem[ name ] = value;
				}

				// browsers index elements by id/name on forms, give priority to attributes.
				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
					return elem.getAttributeNode( name ).nodeValue;

				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
				if ( name == "tabIndex" ) {
					var attributeNode = elem.getAttributeNode( "tabIndex" );
					return attributeNode && attributeNode.specified
						? attributeNode.value
						: elem.nodeName.match(/(button|input|object|select|textarea)/i)
							? 0
							: elem.nodeName.match(/^(a|area)$/i) && elem.href
								? 0
								: undefined;
				}

				return elem[ name ];
			}

			if ( !jQuery.support.style && notxml &&  name == "style" )
				return jQuery.attr( elem.style, "cssText", value );

			if ( set )
				// convert the value to a string (all browsers do this but IE) see #1070
				elem.setAttribute( name, "" + value );

			var attr = !jQuery.support.hrefNormalized && notxml && special
					// Some attributes require a special call on IE
					? elem.getAttribute( name, 2 )
					: elem.getAttribute( name );

			// Non-existent attributes return null, we normalize to undefined
			return attr === null ? undefined : attr;
		}

		// elem is actually elem.style ... set the style

		// IE uses filters for opacity
		if ( !jQuery.support.opacity && name == "opacity" ) {
			if ( set ) {
				// IE has trouble with opacity if it does not have layout
				// Force it by setting the zoom level
				elem.zoom = 1;

				// Set the alpha filter to set the opacity
				elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
					(parseInt( value ) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
			}

			return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
				(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
				"";
		}

		name = name.replace(/-([a-z])/ig, function(all, letter){
			return letter.toUpperCase();
		});

		if ( set )
			elem[ name ] = value;

		return elem[ name ];
	},

	trim: function( text ) {
		return (text || "").replace( /^\s+|\s+$/g, "" );
	},

	makeArray: function( array ) {
		var ret = [];

		if( array != null ){
			var i = array.length;
			// The window, strings (and functions) also have 'length'
			if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval )
				ret[0] = array;
			else
				while( i )
					ret[--i] = array[i];
		}

		return ret;
	},

	inArray: function( elem, array ) {
		for ( var i = 0, length = array.length; i < length; i++ )
		// Use === because on IE, window == document
			if ( array[ i ] === elem )
				return i;

		return -1;
	},

	merge: function( first, second ) {
		// We have to loop this way because IE & Opera overwrite the length
		// expando of getElementsByTagName
		var i = 0, elem, pos = first.length;
		// Also, we need to make sure that the correct elements are being returned
		// (IE returns comment nodes in a '*' query)
		if ( !jQuery.support.getAll ) {
			while ( (elem = second[ i++ ]) != null )
				if ( elem.nodeType != 8 )
					first[ pos++ ] = elem;

		} else
			while ( (elem = second[ i++ ]) != null )
				first[ pos++ ] = elem;

		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 = [];

		// Go through the array, only saving the items
		// that pass the validator function
		for ( var i = 0, length = elems.length; i < length; i++ )
			if ( !inv != !callback( elems[ i ], i ) )
				ret.push( elems[ i ] );

		return ret;
	},

	map: function( elems, callback ) {
		var ret = [];

		// Go through the array, translating each of the items to their
		// new value (or values).
		for ( var i = 0, length = elems.length; i < length; i++ ) {
			var value = callback( elems[ i ], i );

			if ( value != null )
				ret[ ret.length ] = value;
		}

		return ret.concat.apply( [], ret );
	}
});

// Use of jQuery.browser is deprecated.
// It's included for backwards compatibility and plugins,
// although they should work to migrate away.

var userAgent = navigator.userAgent.toLowerCase();

// Figure out what browser is being used
jQuery.browser = {
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
	safari: /webkit/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

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 ), name, selector );
	};
});

jQuery.each({
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after",
	replaceAll: "replaceWith"
}, function(name, original){
	jQuery.fn[ name ] = function( selector ) {
		var ret = [], insert = jQuery( selector );

		for ( var i = 0, l = insert.length; i < l; i++ ) {
			var elems = (i > 0 ? this.clone(true) : this).get();
			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
			ret = ret.concat( elems );
		}

		return this.pushStack( ret, name, selector );
	};
});

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, state ) {
		if( typeof state !== "boolean" )
			state = !jQuery.className.has( this, classNames );
		jQuery.className[ state ? "add" : "remove" ]( this, classNames );
	},

	remove: function( selector ) {
		if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
			// Prevent memory leaks
			jQuery( "*", this ).add([this]).each(function(){
				jQuery.event.remove(this);
				jQuery.removeData(this);
			});
			if (this.parentNode)
				this.parentNode.removeChild( this );
		}
	},

	empty: function() {
		// Remove element nodes and prevent memory leaks
		jQuery(this).children().remove();

		// Remove any remaining nodes
		while ( this.firstChild )
			this.removeChild( this.firstChild );
	}
}, function(name, fn){
	jQuery.fn[ name ] = function(){
		return this.each( fn, arguments );
	};
});

// Helper function used by the dimensions and offset modules
function num(elem, prop) {
	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
}
var expando = "jQuery" + now(), uuid = 0, windowData = {};

jQuery.extend({
	cache: {},

	data: function( elem, name, data ) {
		elem = elem == window ?
			windowData :
			elem;

		var id = elem[ expando ];

		// Compute a unique ID for the element
		if ( !id )
			id = elem[ expando ] = ++uuid;

		// Only generate the data cache if we're
		// trying to access or manipulate it
		if ( name && !jQuery.cache[ id ] )
			jQuery.cache[ id ] = {};

		// Prevent overriding the named cache with undefined values
		if ( data !== undefined )
			jQuery.cache[ id ][ name ] = data;

		// Return the named cache data, or the ID for the element
		return name ?
			jQuery.cache[ id ][ name ] :
			id;
	},

	removeData: function( elem, name ) {
		elem = elem == window ?
			windowData :
			elem;

		var id = elem[ expando ];

		// If we want to remove a specific section of the element's data
		if ( name ) {
			if ( jQuery.cache[ id ] ) {
				// Remove the section of cache data
				delete jQuery.cache[ id ][ name ];

				// If we've removed all the data, remove the element's cache
				name = "";

				for ( name in jQuery.cache[ id ] )
					break;

				if ( !name )
					jQuery.removeData( elem );
			}

		// Otherwise, we want to remove all of the element's data
		} else {
			// Clean up the element expando
			try {
				delete elem[ expando ];
			} catch(e){
				// IE has trouble directly removing the expando
				// but it's ok with using removeAttribute
				if ( elem.removeAttribute )
					elem.removeAttribute( expando );
			}

			// Completely remove the data cache
			delete jQuery.cache[ id ];
		}
	},
	queue: function( elem, type, data ) {
		if ( elem ){
	
			type = (type || "fx") + "queue";
	
			var q = jQuery.data( elem, type );
	
			if ( !q || jQuery.isArray(data) )
				q = jQuery.data( elem, type, jQuery.makeArray(data) );
			else if( data )
				q.push( data );
	
		}
		return q;
	},

	dequeue: function( elem, type ){
		var queue = jQuery.queue( elem, type ),
			fn = queue.shift();
		
		if( !type || type === "fx" )
			fn = queue[0];
			
		if( fn !== undefined )
			fn.call(elem);
	}
});

jQuery.fn.extend({
	data: function( key, value ){
		var parts = key.split(".");
		parts[1] = parts[1] ? "." + parts[1] : "";

		if ( value === undefined ) {
			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);

			if ( data === undefined && this.length )
				data = jQuery.data( this[0], key );

			return data === undefined && 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 );
		});
	},
	queue: function(type, data){
		if ( typeof type !== "string" ) {
			data = type;
			type = "fx";
		}

		if ( data === undefined )
			return jQuery.queue( this[0], type );

		return this.each(function(){
			var queue = jQuery.queue( this, type, data );
			
			 if( type == "fx" && queue.length == 1 )
				queue[0].call(this);
		});
	},
	dequeue: function(type){
		return this.each(function(){
			jQuery.dequeue( this, type );
		});
	}
});/*!
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){

var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
	done = 0,
	toString = Object.prototype.toString;

var Sizzle = function(selector, context, results, seed) {
	results = results || [];
	context = context || document;

	if ( context.nodeType !== 1 && context.nodeType !== 9 )
		return [];
	
	if ( !selector || typeof selector !== "string" ) {
		return results;
	}

	var parts = [], m, set, checkSet, check, mode, extra, prune = true;
	
	// Reset the position of the chunker regexp (start from head)
	chunker.lastIndex = 0;
	
	while ( (m = chunker.exec(selector)) !== null ) {
		parts.push( m[1] );
		
		if ( m[2] ) {
			extra = RegExp.rightContext;
			break;
		}
	}

	if ( parts.length > 1 && origPOS.exec( selector ) ) {
		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
			set = posProcess( parts[0] + parts[1], context );
		} else {
			set = Expr.relative[ parts[0] ] ?
				[ context ] :
				Sizzle( parts.shift(), context );

			while ( parts.length ) {
				selector = parts.shift();

				if ( Expr.relative[ selector ] )
					selector += parts.shift();

				set = posProcess( selector, set );
			}
		}
	} else {
		var ret = seed ?
			{ expr: parts.pop(), set: makeArray(seed) } :
			Sizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) );
		set = Sizzle.filter( ret.expr, ret.set );

		if ( parts.length > 0 ) {
			checkSet = makeArray(set);
		} else {
			prune = false;
		}

		while ( parts.length ) {
			var cur = parts.pop(), pop = cur;

			if ( !Expr.relative[ cur ] ) {
				cur = "";
			} else {
				pop = parts.pop();
			}

			if ( pop == null ) {
				pop = context;
			}

			Expr.relative[ cur ]( checkSet, pop, isXML(context) );
		}
	}

	if ( !checkSet ) {
		checkSet = set;
	}

	if ( !checkSet ) {
		throw "Syntax error, unrecognized expression: " + (cur || selector);
	}

	if ( toString.call(checkSet) === "[object Array]" ) {
		if ( !prune ) {
			results.push.apply( results, checkSet );
		} else if ( context.nodeType === 1 ) {
			for ( var i = 0; checkSet[i] != null; i++ ) {
				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
					results.push( set[i] );
				}
			}
		} else {
			for ( var i = 0; checkSet[i] != null; i++ ) {
				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
					results.push( set[i] );
				}
			}
		}
	} else {
		makeArray( checkSet, results );
	}

	if ( extra ) {
		Sizzle( extra, context, results, seed );

		if ( sortOrder ) {
			hasDuplicate = false;
			results.sort(sortOrder);

			if ( hasDuplicate ) {
				for ( var i = 1; i < results.length; i++ ) {
					if ( results[i] === results[i-1] ) {
						results.splice(i--, 1);
					}
				}
			}
		}
	}

	return results;
};

Sizzle.matches = function(expr, set){
	return Sizzle(expr, null, null, set);
};

Sizzle.find = function(expr, context, isXML){
	var set, match;

	if ( !expr ) {
		return [];
	}

	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
		var type = Expr.order[i], match;
		
		if ( (match = Expr.match[ type ].exec( expr )) ) {
			var left = RegExp.leftContext;

			if ( left.substr( left.length - 1 ) !== "\\" ) {
				match[1] = (match[1] || "").replace(/\\/g, "");
				set = Expr.find[ type ]( match, context, isXML );
				if ( set != null ) {
					expr = expr.replace( Expr.match[ type ], "" );
					break;
				}
			}
		}
	}

	if ( !set ) {
		set = context.getElementsByTagName("*");
	}

	return {set: set, expr: expr};
};

Sizzle.filter = function(expr, set, inplace, not){
	var old = expr, result = [], curLoop = set, match, anyFound,
		isXMLFilter = set && set[0] && isXML(set[0]);

	while ( expr && set.length ) {
		for ( var type in Expr.filter ) {
			if ( (match = Expr.match[ type ].exec( expr )) != null ) {
				var filter = Expr.filter[ type ], found, item;
				anyFound = false;

				if ( curLoop == result ) {
					result = [];
				}

				if ( Expr.preFilter[ type ] ) {
					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );

					if ( !match ) {
						anyFound = found = true;
					} else if ( match === true ) {
						continue;
					}
				}

				if ( match ) {
					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
						if ( item ) {
							found = filter( item, match, i, curLoop );
							var pass = not ^ !!found;

							if ( inplace && found != null ) {
								if ( pass ) {
									anyFound = true;
								} else {
									curLoop[i] = false;
								}
							} else if ( pass ) {
								result.push( item );
								anyFound = true;
							}
						}
					}
				}

				if ( found !== undefined ) {
					if ( !inplace ) {
						curLoop = result;
					}

					expr = expr.replace( Expr.match[ type ], "" );

					if ( !anyFound ) {
						return [];
					}

					break;
				}
			}
		}

		// Improper expression
		if ( expr == old ) {
			if ( anyFound == null ) {
				throw "Syntax error, unrecognized expression: " + expr;
			} else {
				break;
			}
		}

		old = expr;
	}

	return curLoop;
};

var Expr = Sizzle.selectors = {
	order: [ "ID", "NAME", "TAG" ],
	match: {
		ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
		CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
		TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
		PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
	},
	attrMap: {
		"class": "className",
		"for": "htmlFor"
	},
	attrHandle: {
		href: function(elem){
			return elem.getAttribute("href");
		}
	},
	relative: {
		"+": function(checkSet, part, isXML){
			var isPartStr = typeof part === "string",
				isTag = isPartStr && !/\W/.test(part),
				isPartStrNotTag = isPartStr && !isTag;

			if ( isTag && !isXML ) {
				part = part.toUpperCase();
			}

			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
				if ( (elem = checkSet[i]) ) {
					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}

					checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
						elem || false :
						elem === part;
				}
			}

			if ( isPartStrNotTag ) {
				Sizzle.filter( part, checkSet, true );
			}
		},
		">": function(checkSet, part, isXML){
			var isPartStr = typeof part === "string";

			if ( isPartStr && !/\W/.test(part) ) {
				part = isXML ? part : part.toUpperCase();

				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
					var elem = checkSet[i];
					if ( elem ) {
						var parent = elem.parentNode;
						checkSet[i] = parent.nodeName === part ? parent : false;
					}
				}
			} else {
				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
					var elem = checkSet[i];
					if ( elem ) {
						checkSet[i] = isPartStr ?
							elem.parentNode :
							elem.parentNode === part;
					}
				}

				if ( isPartStr ) {
					Sizzle.filter( part, checkSet, true );
				}
			}
		},
		"": function(checkSet, part, isXML){
			var doneName = done++, checkFn = dirCheck;

			if ( !part.match(/\W/) ) {
				var nodeCheck = part = isXML ? part : part.toUpperCase();
				checkFn = dirNodeCheck;
			}

			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
		},
		"~": function(checkSet, part, isXML){
			var doneName = done++, checkFn = dirCheck;

			if ( typeof part === "string" && !part.match(/\W/) ) {
				var nodeCheck = part = isXML ? part : part.toUpperCase();
				checkFn = dirNodeCheck;
			}

			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
		}
	},
	find: {
		ID: function(match, context, isXML){
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
				var m = context.getElementById(match[1]);
				return m ? [m] : [];
			}
		},
		NAME: function(match, context, isXML){
			if ( typeof context.getElementsByName !== "undefined" ) {
				var ret = [], results = context.getElementsByName(match[1]);

				for ( var i = 0, l = results.length; i < l; i++ ) {
					if ( results[i].getAttribute("name") === match[1] ) {
						ret.push( results[i] );
					}
				}

				return ret.length === 0 ? null : ret;
			}
		},
		TAG: function(match, context){
			return context.getElementsByTagName(match[1]);
		}
	},
	preFilter: {
		CLASS: function(match, curLoop, inplace, result, not, isXML){
			match = " " + match[1].replace(/\\/g, "") + " ";

			if ( isXML ) {
				return match;
			}

			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
				if ( elem ) {
					if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
						if ( !inplace )
							result.push( elem );
					} else if ( inplace ) {
						curLoop[i] = false;
					}
				}
			}

			return false;
		},
		ID: function(match){
			return match[1].replace(/\\/g, "");
		},
		TAG: function(match, curLoop){
			for ( var i = 0; curLoop[i] === false; i++ ){}
			return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
		},
		CHILD: function(match){
			if ( match[1] == "nth" ) {
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
				var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
					match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);

				// calculate the numbers (first)n+(last) including if they are negative
				match[2] = (test[1] + (test[2] || 1)) - 0;
				match[3] = test[3] - 0;
			}

			// TODO: Move to normal caching system
			match[0] = done++;

			return match;
		},
		ATTR: function(match, curLoop, inplace, result, not, isXML){
			var name = match[1].replace(/\\/g, "");
			
			if ( !isXML && Expr.attrMap[name] ) {
				match[1] = Expr.attrMap[name];
			}

			if ( match[2] === "~=" ) {
				match[4] = " " + match[4] + " ";
			}

			return match;
		},
		PSEUDO: function(match, curLoop, inplace, result, not){
			if ( match[1] === "not" ) {
				// If we're dealing with a complex expression, or a simple one
				if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
					match[3] = Sizzle(match[3], null, null, curLoop);
				} else {
					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
					if ( !inplace ) {
						result.push.apply( result, ret );
					}
					return false;
				}
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
				return true;
			}
			
			return match;
		},
		POS: function(match){
			match.unshift( true );
			return match;
		}
	},
	filters: {
		enabled: function(elem){
			return elem.disabled === false && elem.type !== "hidden";
		},
		disabled: function(elem){
			return elem.disabled === true;
		},
		checked: function(elem){
			return elem.checked === true;
		},
		selected: function(elem){
			// Accessing this property makes selected-by-default
			// options in Safari work properly
			elem.parentNode.selectedIndex;
			return elem.selected === true;
		},
		parent: function(elem){
			return !!elem.firstChild;
		},
		empty: function(elem){
			return !elem.firstChild;
		},
		has: function(elem, i, match){
			return !!Sizzle( match[3], elem ).length;
		},
		header: function(elem){
			return /h\d/i.test( elem.nodeName );
		},
		text: function(elem){
			return "text" === elem.type;
		},
		radio: function(elem){
			return "radio" === elem.type;
		},
		checkbox: function(elem){
			return "checkbox" === elem.type;
		},
		file: function(elem){
			return "file" === elem.type;
		},
		password: function(elem){
			return "password" === elem.type;
		},
		submit: function(elem){
			return "submit" === elem.type;
		},
		image: function(elem){
			return "image" === elem.type;
		},
		reset: function(elem){
			return "reset" === elem.type;
		},
		button: function(elem){
			return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
		},
		input: function(elem){
			return /input|select|textarea|button/i.test(elem.nodeName);
		}
	},
	setFilters: {
		first: function(elem, i){
			return i === 0;
		},
		last: function(elem, i, match, array){
			return i === array.length - 1;
		},
		even: function(elem, i){
			return i % 2 === 0;
		},
		odd: function(elem, i){
			return i % 2 === 1;
		},
		lt: function(elem, i, match){
			return i < match[3] - 0;
		},
		gt: function(elem, i, match){
			return i > match[3] - 0;
		},
		nth: function(elem, i, match){
			return match[3] - 0 == i;
		},
		eq: function(elem, i, match){
			return match[3] - 0 == i;
		}
	},
	filter: {
		PSEUDO: function(elem, match, i, array){
			var name = match[1], filter = Expr.filters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			} else if ( name === "contains" ) {
				return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
			} else if ( name === "not" ) {
				var not = match[3];

				for ( var i = 0, l = not.length; i < l; i++ ) {
					if ( not[i] === elem ) {
						return false;
					}
				}

				return true;
			}
		},
		CHILD: function(elem, match){
			var type = match[1], node = elem;
			switch (type) {
				case 'only':
				case 'first':
					while (node = node.previousSibling)  {
						if ( node.nodeType === 1 ) return false;
					}
					if ( type == 'first') return true;
					node = elem;
				case 'last':
					while (node = node.nextSibling)  {
						if ( node.nodeType === 1 ) return false;
					}
					return true;
				case 'nth':
					var first = match[2], last = match[3];

					if ( first == 1 && last == 0 ) {
						return true;
					}
					
					var doneName = match[0],
						parent = elem.parentNode;
	
					if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
						var count = 0;
						for ( node = parent.firstChild; node; node = node.nextSibling ) {
							if ( node.nodeType === 1 ) {
								node.nodeIndex = ++count;
							}
						} 
						parent.sizcache = doneName;
					}
					
					var diff = elem.nodeIndex - last;
					if ( first == 0 ) {
						return diff == 0;
					} else {
						return ( diff % first == 0 && diff / first >= 0 );
					}
			}
		},
		ID: function(elem, match){
			return elem.nodeType === 1 && elem.getAttribute("id") === match;
		},
		TAG: function(elem, match){
			return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
		},
		CLASS: function(elem, match){
			return (" " + (elem.className || elem.getAttribute("class")) + " ")
				.indexOf( match ) > -1;
		},
		ATTR: function(elem, match){
			var name = match[1],
				result = Expr.attrHandle[ name ] ?
					Expr.attrHandle[ name ]( elem ) :
					elem[ name ] != null ?
						elem[ name ] :
						elem.getAttribute( name ),
				value = result + "",
				type = match[2],
				check = match[4];

			return result == null ?
				type === "!=" :
				type === "=" ?
				value === check :
				type === "*=" ?
				value.indexOf(check) >= 0 :
				type === "~=" ?
				(" " + value + " ").indexOf(check) >= 0 :
				!check ?
				value && result !== false :
				type === "!=" ?
				value != check :
				type === "^=" ?
				value.indexOf(check) === 0 :
				type === "$=" ?
				value.substr(value.length - check.length) === check :
				type === "|=" ?
				value === check || value.substr(0, check.length + 1) === check + "-" :
				false;
		},
		POS: function(elem, match, i, array){
			var name = match[2], filter = Expr.setFilters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			}
		}
	}
};

var origPOS = Expr.match.POS;

for ( var type in Expr.match ) {
	Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
}

var makeArray = function(array, results) {
	array = Array.prototype.slice.call( array );

	if ( results ) {
		results.push.apply( results, array );
		return results;
	}
	
	return array;
};

// Perform a simple check to determine if the browser is capable of
// converting a NodeList to an array using builtin methods.
try {
	Array.prototype.slice.call( document.documentElement.childNodes );

// Provide a fallback method if it does not work
} catch(e){
	makeArray = function(array, results) {
		var ret = results || [];

		if ( toString.call(array) === "[object Array]" ) {
			Array.prototype.push.apply( ret, array );
		} else {
			if ( typeof array.length === "number" ) {
				for ( var i = 0, l = array.length; i < l; i++ ) {
					ret.push( array[i] );
				}
			} else {
				for ( var i = 0; array[i]; i++ ) {
					ret.push( array[i] );
				}
			}
		}

		return ret;
	};
}

var sortOrder;

if ( document.documentElement.compareDocumentPosition ) {
	sortOrder = function( a, b ) {
		var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
} else if ( "sourceIndex" in document.documentElement ) {
	sortOrder = function( a, b ) {
		var ret = a.sourceIndex - b.sourceIndex;
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
} else if ( document.createRange ) {
	sortOrder = function( a, b ) {
		var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
		aRange.selectNode(a);
		aRange.collapse(true);
		bRange.selectNode(b);
		bRange.collapse(true);
		var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
		if ( ret === 0 ) {
			hasDuplicate = true;
		}
		return ret;
	};
}

// Check to see if the browser returns elements by name when
// querying by getElementById (and provide a workaround)
(function(){
	// We're going to inject a fake input element with a specified name
	var form = document.createElement("form"),
		id = "script" + (new Date).getTime();
	form.innerHTML = "<input name='" + id + "'/>";

	// Inject it into the root element, check its status, and remove it quickly
	var root = document.documentElement;
	root.insertBefore( form, root.firstChild );

	// The workaround has to do additional checks after a getElementById
	// Which slows things down for other browsers (hence the branching)
	if ( !!document.getElementById( id ) ) {
		Expr.find.ID = function(match, context, isXML){
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
				var m = context.getElementById(match[1]);
				return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
			}
		};

		Expr.filter.ID = function(elem, match){
			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
			return elem.nodeType === 1 && node && node.nodeValue === match;
		};
	}

	root.removeChild( form );
})();

(function(){
	// Check to see if the browser returns only elements
	// when doing getElementsByTagName("*")

	// Create a fake element
	var div = document.createElement("div");
	div.appendChild( document.createComment("") );

	// Make sure no comments are found
	if ( div.getElementsByTagName("*").length > 0 ) {
		Expr.find.TAG = function(match, context){
			var results = context.getElementsByTagName(match[1]);

			// Filter out possible comments
			if ( match[1] === "*" ) {
				var tmp = [];

				for ( var i = 0; results[i]; i++ ) {
					if ( results[i].nodeType === 1 ) {
						tmp.push( results[i] );
					}
				}

				results = tmp;
			}

			return results;
		};
	}

	// Check to see if an attribute returns normalized href attributes
	div.innerHTML = "<a href='#'></a>";
	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
			div.firstChild.getAttribute("href") !== "#" ) {
		Expr.attrHandle.href = function(elem){
			return elem.getAttribute("href", 2);
		};
	}
})();

if ( document.querySelectorAll ) (function(){
	var oldSizzle = Sizzle, div = document.createElement("div");
	div.innerHTML = "<p class='TEST'></p>";

	// Safari can't handle uppercase or unicode characters when
	// in quirks mode.
	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
		return;
	}
	
	Sizzle = function(query, context, extra, seed){
		context = context || document;

		// Only use querySelectorAll on non-XML documents
		// (ID selectors don't work in non-HTML documents)
		if ( !seed && context.nodeType === 9 && !isXML(context) ) {
			try {
				return makeArray( context.querySelectorAll(query), extra );
			} catch(e){}
		}
		
		return oldSizzle(query, context, extra, seed);
	};

	Sizzle.find = oldSizzle.find;
	Sizzle.filter = oldSizzle.filter;
	Sizzle.selectors = oldSizzle.selectors;
	Sizzle.matches = oldSizzle.matches;
})();

if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
	var div = document.createElement("div");
	div.innerHTML = "<div class='test e'></div><div class='test'></div>";

	// Opera can't find a second classname (in 9.6)
	if ( div.getElementsByClassName("e").length === 0 )
		return;

	// Safari caches class attributes, doesn't catch changes (in 3.2)
	div.lastChild.className = "e";

	if ( div.getElementsByClassName("e").length === 1 )
		return;

	Expr.order.splice(1, 0, "CLASS");
	Expr.find.CLASS = function(match, context, isXML) {
		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
			return context.getElementsByClassName(match[1]);
		}
	};
})();

function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	var sibDir = dir == "previousSibling" && !isXML;
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
		var elem = checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType === 1 ){
				elem.sizcache = doneName;
				elem.sizset = i;
			}
			elem = elem[dir];
			var match = false;

			while ( elem ) {
				if ( elem.sizcache === doneName ) {
					match = checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType === 1 && !isXML ){
					elem.sizcache = doneName;
					elem.sizset = i;
				}

				if ( elem.nodeName === cur ) {
					match = elem;
					break;
				}

				elem = elem[dir];
			}

			checkSet[i] = match;
		}
	}
}

function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	var sibDir = dir == "previousSibling" && !isXML;
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
		var elem = checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType === 1 ) {
				elem.sizcache = doneName;
				elem.sizset = i;
			}
			elem = elem[dir];
			var match = false;

			while ( elem ) {
				if ( elem.sizcache === doneName ) {
					match = checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType === 1 ) {
					if ( !isXML ) {
						elem.sizcache = doneName;
						elem.sizset = i;
					}
					if ( typeof cur !== "string" ) {
						if ( elem === cur ) {
							match = true;
							break;
						}

					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
						match = elem;
						break;
					}
				}

				elem = elem[dir];
			}

			checkSet[i] = match;
		}
	}
}

var contains = document.compareDocumentPosition ?  function(a, b){
	return a.compareDocumentPosition(b) & 16;
} : function(a, b){
	return a !== b && (a.contains ? a.contains(b) : true);
};

var isXML = function(elem){
	return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
		!!elem.ownerDocument && isXML( elem.ownerDocument );
};

var posProcess = function(selector, context){
	var tmpSet = [], later = "", match,
		root = context.nodeType ? [context] : context;

	// Position selectors must be done after the filter
	// And so must :not(positional) so we move all PSEUDOs to the end
	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
		later += match[0];
		selector = selector.replace( Expr.match.PSEUDO, "" );
	}

	selector = Expr.relative[selector] ? selector + "*" : selector;

	for ( var i = 0, l = root.length; i < l; i++ ) {
		Sizzle( selector, root[i], tmpSet );
	}

	return Sizzle.filter( later, tmpSet );
};

// EXPOSE
jQuery.find = Sizzle;
jQuery.filter = Sizzle.filter;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.filters;

Sizzle.selectors.filters.hidden = function(elem){
	return elem.offsetWidth === 0 || elem.offsetHeight === 0;
};

Sizzle.selectors.filters.visible = function(elem){
	return elem.offsetWidth > 0 || elem.offsetHeight > 0;
};

Sizzle.selectors.filters.animated = function(elem){
	return jQuery.grep(jQuery.timers, function(fn){
		return elem === fn.elem;
	}).length;
};

jQuery.multiFilter = function( expr, elems, not ) {
	if ( not ) {
		expr = ":not(" + expr + ")";
	}

	return Sizzle.matches(expr, elems);
};

jQuery.dir = function( elem, dir ){
	var matched = [], cur = elem[dir];
	while ( cur && cur != document ) {
		if ( cur.nodeType == 1 )
			matched.push( cur );
		cur = cur[dir];
	}
	return matched;
};

jQuery.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;
};

jQuery.sibling = function(n, elem){
	var r = [];

	for ( ; n; n = n.nextSibling ) {
		if ( n.nodeType == 1 && n != elem )
			r.push( n );
	}

	return r;
};

return;

window.Sizzle = Sizzle;

})();
/*
 * A number of helper functions used for managing events.
 * Many of the ideas behind this code originated from
 * Dean Edwards' addEvent library.
 */
jQuery.event = {

	// Bind an event to an element
	// Original by Dean Edwards
	add: function(elem, types, handler, data) {
		if ( elem.nodeType == 3 || elem.nodeType == 8 )
			return;

		// For whatever reason, IE has trouble passing the window object
		// around, causing it to be cloned in the process
		if ( elem.setInterval && elem != window )
			elem = window;

		// Make sure that the function being executed has a unique ID
		if ( !handler.guid )
			handler.guid = this.guid++;

		// if data is passed, bind to handler
		if ( data !== undefined ) {
			// Create temporary function pointer to original handler
			var fn = handler;

			// Create unique handler function, wrapped around original handler
			handler = this.proxy( fn );

			// Store data in unique handler
			handler.data = data;
		}

		// Init the element's event structure
		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),
			handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){
				// Handle the second event of a trigger and when
				// an event is called after a page has unloaded
				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
					jQuery.event.handle.apply(arguments.callee.elem, arguments) :
					undefined;
			});
		// Add elem as a property of the handle function
		// This is to prevent a memory leak with non-native
		// event in IE.
		handle.elem = elem;

		// Handle multiple events separated by a space
		// jQuery(...).bind("mouseover mouseout", fn);
		jQuery.each(types.split(/\s+/), function(index, type) {
			// Namespaced event handlers
			var namespaces = type.split(".");
			type = namespaces.shift();
			handler.type = namespaces.slice().sort().join(".");

			// Get the current list of functions bound to this event
			var handlers = events[type];
			
			if ( jQuery.event.specialAll[type] )
				jQuery.event.specialAll[type].setup.call(elem, data, namespaces);

			// Init the event handler queue
			if (!handlers) {
				handlers = events[type] = {};

				// Check for a special event handler
				// Only use addEventListener/attachEvent if the special
				// events handler returns false
				if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) {
					// Bind the global event handler to the element
					if (elem.addEventListener)
						elem.addEventListener(type, handle, false);
					else if (elem.attachEvent)
						elem.attachEvent("on" + type, handle);
				}
			}

			// Add the function to the element's handler list
			handlers[handler.guid] = handler;

			// Keep track of which events have been used, for global triggering
			jQuery.event.global[type] = true;
		});

		// Nullify elem to prevent memory leaks in IE
		elem = null;
	},

	guid: 1,
	global: {},

	// Detach an event or set of events from an element
	remove: function(elem, types, handler) {
		// don't do events on text and comment nodes
		if ( elem.nodeType == 3 || elem.nodeType == 8 )
			return;

		var events = jQuery.data(elem, "events"), ret, index;

		if ( events ) {
			// Unbind all events for the element
			if ( types === undefined || (typeof types === "string" && types.charAt(0) == ".") )
				for ( var type in events )
					this.remove( elem, type + (types || "") );
			else {
				// types is actually an event object here
				if ( types.type ) {
					handler = types.handler;
					types = types.type;
				}

				// Handle multiple events seperated by a space
				// jQuery(...).unbind("mouseover mouseout", fn);
				jQuery.each(types.split(/\s+/), function(index, type){
					// Namespaced event handlers
					var namespaces = type.split(".");
					type = namespaces.shift();
					var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

					if ( events[type] ) {
						// remove the given handler for the given type
						if ( handler )
							delete events[type][handler.guid];

						// remove all handlers for the given type
						else
							for ( var handle in events[type] )
								// Handle the removal of namespaced events
								if ( namespace.test(events[type][handle].type) )
									delete events[type][handle];
									
						if ( jQuery.event.specialAll[type] )
							jQuery.event.specialAll[type].teardown.call(elem, namespaces);

						// remove generic event handler if no more handlers exist
						for ( ret in events[type] ) break;
						if ( !ret ) {
							if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === 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];
						}
					}
				});
			}

			// Remove the expando if it's no longer used
			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" );
			}
		}
	},

	// bubbling is internal
	trigger: function( event, data, elem, bubbling ) {
		// Event object or event type
		var type = event.type || event;

		if( !bubbling ){
			event = typeof event === "object" ?
				// jQuery.Event object
				event[expando] ? event :
				// Object literal
				jQuery.extend( jQuery.Event(type), event ) :
				// Just the event type (string)
				jQuery.Event(type);

			if ( type.indexOf("!") >= 0 ) {
				event.type = type = type.slice(0, -1);
				event.exclusive = true;
			}

			// Handle a global trigger
			if ( !elem ) {
				// Don't bubble custom events when global (to avoid too much overhead)
				event.stopPropagation();
				// Only trigger if we've ever bound an event for it
				if ( this.global[type] )
					jQuery.each( jQuery.cache, function(){
						if ( this.events && this.events[type] )
							jQuery.event.trigger( event, data, this.handle.elem );
					});
			}

			// Handle triggering a single element

			// don't do events on text and comment nodes
			if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
				return undefined;
			
			// Clean up in case it is reused
			event.result = undefined;
			event.target = elem;
			
			// Clone the incoming data, if any
			data = jQuery.makeArray(data);
			data.unshift( event );
		}

		event.currentTarget = elem;

		// Trigger the event, it is assumed that "handle" is a function
		var handle = jQuery.data(elem, "handle");
		if ( handle )
			handle.apply( elem, data );

		// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
			event.result = false;

		// Trigger the native events (except for clicks on links)
		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
			this.triggered = true;
			try {
				elem[ type ]();
			// prevent IE from throwing an error for some hidden elements
			} catch (e) {}
		}

		this.triggered = false;

		if ( !event.isPropagationStopped() ) {
			var parent = elem.parentNode || elem.ownerDocument;
			if ( parent )
				jQuery.event.trigger(event, data, parent, true);
		}
	},

	handle: function(event) {
		// returned undefined or false
		var all, handlers;

		event = arguments[0] = jQuery.event.fix( event || window.event );
		event.currentTarget = this;
		
		// Namespaced event handlers
		var namespaces = event.type.split(".");
		event.type = namespaces.shift();

		// Cache this now, all = true means, any handler
		all = !namespaces.length && !event.exclusive;
		
		var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

		handlers = ( jQuery.data(this, "events") || {} )[event.type];

		for ( var j in handlers ) {
			var handler = handlers[j];

			// Filter the functions by class
			if ( all || namespace.test(handler.type) ) {
				// Pass in a reference to the handler function itself
				// So that we can later remove it
				event.handler = handler;
				event.data = handler.data;

				var ret = handler.apply(this, arguments);

				if( ret !== undefined ){
					event.result = ret;
					if ( ret === false ) {
						event.preventDefault();
						event.stopPropagation();
					}
				}

				if( event.isImmediatePropagationStopped() )
					break;

			}
		}
	},

	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),

	fix: function(event) {
		if ( event[expando] )
			return event;

		// store a copy of the original event object
		// and "clone" to set read-only properties
		var originalEvent = event;
		event = jQuery.Event( originalEvent );

		for ( var i = this.props.length, prop; i; ){
			prop = this.props[ --i ];
			event[ prop ] = originalEvent[ prop ];
		}

		// Fix target property, if necessary
		if ( !event.target )
			event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either

		// check if target is a textnode (safari)
		if ( event.target.nodeType == 3 )
			event.target = event.target.parentNode;

		// Add relatedTarget, if necessary
		if ( !event.relatedTarget && event.fromElement )
			event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;

		// Calculate pageX/Y if missing and clientX/Y available
		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);
		}

		// Add which for key events
		if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
			event.which = event.charCode || event.keyCode;

		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
		if ( !event.metaKey && event.ctrlKey )
			event.metaKey = event.ctrlKey;

		// Add which for click: 1 == left; 2 == middle; 3 == right
		// Note: button is not normalized, so don't use it
		if ( !event.which && event.button )
			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));

		return event;
	},

	proxy: function( fn, proxy ){
		proxy = proxy || function(){ return fn.apply(this, arguments); };
		// Set the guid of unique handler to the same of original handler, so it can be removed
		proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
		// So proxy can be declared as an argument
		return proxy;
	},

	special: {
		ready: {
			// Make sure the ready event is setup
			setup: bindReady,
			teardown: function() {}
		}
	},
	
	specialAll: {
		live: {
			setup: function( selector, namespaces ){
				jQuery.event.add( this, namespaces[0], liveHandler );
			},
			teardown:  function( namespaces ){
				if ( namespaces.length ) {
					var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
					
					jQuery.each( (jQuery.data(this, "events").live || {}), function(){
						if ( name.test(this.type) )
							remove++;
					});
					
					if ( remove < 1 )
						jQuery.event.remove( this, namespaces[0], liveHandler );
				}
			}
		}
	}
};

jQuery.Event = function( src ){
	// Allow instantiation without the 'new' keyword
	if( !this.preventDefault )
		return new jQuery.Event(src);
	
	// Event object
	if( src && src.type ){
		this.originalEvent = src;
		this.type = src.type;
	// Event type
	}else
		this.type = src;

	// timeStamp is buggy for some events on Firefox(#3843)
	// So we won't rely on the native value
	this.timeStamp = now();
	
	// Mark it as fixed
	this[expando] = true;
};

function returnFalse(){
	return false;
}
function returnTrue(){
	return true;
}

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
	preventDefault: function() {
		this.isDefaultPrevented = returnTrue;

		var e = this.originalEvent;
		if( !e )
			return;
		// if preventDefault exists run it on the original event
		if (e.preventDefault)
			e.preventDefault();
		// otherwise set the returnValue property of the original event to false (IE)
		e.returnValue = false;
	},
	stopPropagation: function() {
		this.isPropagationStopped = returnTrue;

		var e = this.originalEvent;
		if( !e )
			return;
		// if stopPropagation exists run it on the original event
		if (e.stopPropagation)
			e.stopPropagation();
		// otherwise set the cancelBubble property of the original event to true (IE)
		e.cancelBubble = true;
	},
	stopImmediatePropagation:function(){
		this.isImmediatePropagationStopped = returnTrue;
		this.stopPropagation();
	},
	isDefaultPrevented: returnFalse,
	isPropagationStopped: returnFalse,
	isImmediatePropagationStopped: returnFalse
};
// Checks if an event happened on an element within another element
// Used in jQuery.event.special.mouseenter and mouseleave handlers
var withinElement = function(event) {
	// Check if mouse(over|out) are still within the same parent element
	var parent = event.relatedTarget;
	// Traverse up the tree
	while ( parent && parent != this )
		try { parent = parent.parentNode; }
		catch(e) { parent = this; }
	
	if( parent != this ){
		// set the correct event type
		event.type = event.data;
		// handle event if we actually just moused on to a non sub-element
		jQuery.event.handle.apply( this, arguments );
	}
};
	
jQuery.each({ 
	mouseover: 'mouseenter', 
	mouseout: 'mouseleave'
}, function( orig, fix ){
	jQuery.event.special[ fix ] = {
		setup: function(){
			jQuery.event.add( this, orig, withinElement, fix );
		},
		teardown: function(){
			jQuery.event.remove( this, orig, withinElement );
		}
	};			   
});

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 ) {
		var one = jQuery.event.proxy( fn || data, function(event) {
			jQuery(this).unbind(event, one);
			return (fn || data).apply( this, arguments );
		});
		return this.each(function(){
			jQuery.event.add( this, type, one, fn && data);
		});
	},

	unbind: function( type, fn ) {
		return this.each(function(){
			jQuery.event.remove( this, type, fn );
		});
	},

	trigger: function( type, data ) {
		return this.each(function(){
			jQuery.event.trigger( type, data, this );
		});
	},

	triggerHandler: function( type, data ) {
		if( this[0] ){
			var event = jQuery.Event(type);
			event.preventDefault();
			event.stopPropagation();
			jQuery.event.trigger( event, data, this[0] );
			return event.result;
		}		
	},

	toggle: function( fn ) {
		// Save reference to arguments for access in closure
		var args = arguments, i = 1;

		// link all the functions, so any of them can unbind this click handler
		while( i < args.length )
			jQuery.event.proxy( fn, args[i++] );

		return this.click( jQuery.event.proxy( fn, function(event) {
			// Figure out which function to execute
			this.lastToggle = ( this.lastToggle || 0 ) % i;

			// Make sure that clicks stop
			event.preventDefault();

			// and execute the function
			return args[ this.lastToggle++ ].apply( this, arguments ) || false;
		}));
	},

	hover: function(fnOver, fnOut) {
		return this.mouseenter(fnOver).mouseleave(fnOut);
	},

	ready: function(fn) {
		// Attach the listeners
		bindReady();

		// If the DOM is already ready
		if ( jQuery.isReady )
			// Execute the function immediately
			fn.call( document, jQuery );

		// Otherwise, remember the function for later
		else
			// Add the function to the wait list
			jQuery.readyList.push( fn );

		return this;
	},
	
	live: function( type, fn ){
		var proxy = jQuery.event.proxy( fn );
		proxy.guid += this.selector + type;

		jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );

		return this;
	},
	
	die: function( type, fn ){
		jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );
		return this;
	}
});

function liveHandler( event ){
	var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
		stop = true,
		elems = [];

	jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
		if ( check.test(fn.type) ) {
			var elem = jQuery(event.target).closest(fn.data)[0];
			if ( elem )
				elems.push({ elem: elem, fn: fn });
		}
	});

	elems.sort(function(a,b) {
		return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
	});
	
	jQuery.each(elems, function(){
		if ( this.fn.call(this.elem, event, this.fn.data) === false )
			return (stop = false);
	});

	return stop;
}

function liveConvert(type, selector){
	return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join(".");
}

jQuery.extend({
	isReady: false,
	readyList: [],
	// Handle when the DOM is ready
	ready: function() {
		// Make sure that the DOM is not already loaded
		if ( !jQuery.isReady ) {
			// Remember that the DOM is ready
			jQuery.isReady = true;

			// If there are functions bound, to execute
			if ( jQuery.readyList ) {
				// Execute all of them
				jQuery.each( jQuery.readyList, function(){
					this.call( document, jQuery );
				});

				// Reset the list of functions
				jQuery.readyList = null;
			}

			// Trigger any bound ready events
			jQuery(document).triggerHandler("ready");
		}
	}
});

var readyBound = false;

function bindReady(){
	if ( readyBound ) return;
	readyBound = true;

	// Mozilla, Opera and webkit nightlies currently support this event
	if ( document.addEventListener ) {
		// Use the handy event callback
		document.addEventListener( "DOMContentLoaded", function(){
			document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
			jQuery.ready();
		}, false );

	// If IE event model is used
	} else if ( document.attachEvent ) {
		// ensure firing before onload,
		// maybe late but safe also for iframes
		document.attachEvent("onreadystatechange", function(){
			if ( document.readyState === "complete" ) {
				document.detachEvent( "onreadystatechange", arguments.callee );
				jQuery.ready();
			}
		});

		// If IE and not an iframe
		// continually check to see if the document is ready
		if ( document.documentElement.doScroll && window == window.top ) (function(){
			if ( jQuery.isReady ) return;

			try {
				// If IE is used, use the trick by Diego Perini
				// http://javascript.nwbox.com/IEContentLoaded/
				document.documentElement.doScroll("left");
			} catch( error ) {
				setTimeout( arguments.callee, 0 );
				return;
			}

			// and execute any waiting functions
			jQuery.ready();
		})();
	}

	// A fallback to window.onload, that will always work
	jQuery.event.add( window, "load", jQuery.ready );
}

jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
	"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
	"change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){

	// Handle event binding
	jQuery.fn[name] = function(fn){
		return fn ? this.bind(name, fn) : this.trigger(name);
	};
});

// Prevent memory leaks in IE
// And prevent errors on refresh with events like mouseover in other browsers
// Window isn't included so as not to unbind existing unload events
jQuery( window ).bind( 'unload', function(){ 
	for ( var id in jQuery.cache )
		// Skip the window
		if ( id != 1 && jQuery.cache[ id ].handle )
			jQuery.event.remove( jQuery.cache[ id ].handle.elem );
}); 
(function(){

	jQuery.support = {};

	var root = document.documentElement,
		script = document.createElement("script"),
		div = document.createElement("div"),
		id = "script" + (new Date).getTime();

	div.style.display = "none";
	div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';

	var all = div.getElementsByTagName("*"),
		a = div.getElementsByTagName("a")[0];

	// Can't get basic test support
	if ( !all || !all.length || !a ) {
		return;
	}

	jQuery.support = {
		// IE strips leading whitespace when .innerHTML is used
		leadingWhitespace: div.firstChild.nodeType == 3,
		
		// Make sure that tbody elements aren't automatically inserted
		// IE will insert them into empty tables
		tbody: !div.getElementsByTagName("tbody").length,
		
		// Make sure that you can get all elements in an <object> element
		// IE 7 always returns no results
		objectAll: !!div.getElementsByTagName("object")[0]
			.getElementsByTagName("*").length,
		
		// Make sure that link elements get serialized correctly by innerHTML
		// This requires a wrapper element in IE
		htmlSerialize: !!div.getElementsByTagName("link").length,
		
		// Get the style information from getAttribute
		// (IE uses .cssText insted)
		style: /red/.test( a.getAttribute("style") ),
		
		// Make sure that URLs aren't manipulated
		// (IE normalizes it by default)
		hrefNormalized: a.getAttribute("href") === "/a",
		
		// Make sure that element opacity exists
		// (IE uses filter instead)
		opacity: a.style.opacity === "0.5",
		
		// Verify style float existence
		// (IE uses styleFloat instead of cssFloat)
		cssFloat: !!a.style.cssFloat,

		// Will be defined later
		scriptEval: false,
		noCloneEvent: true,
		boxModel: null
	};
	
	script.type = "text/javascript";
	try {
		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
	} catch(e){}

	root.insertBefore( script, root.firstChild );
	
	// Make sure that the execution of code works by injecting a script
	// tag with appendChild/createTextNode
	// (IE doesn't support this, fails, and uses .text instead)
	if ( window[ id ] ) {
		jQuery.support.scriptEval = true;
		delete window[ id ];
	}

	root.removeChild( script );

	if ( div.attachEvent && div.fireEvent ) {
		div.attachEvent("onclick", function(){
			// Cloning a node shouldn't copy over any
			// bound event handlers (IE does this)
			jQuery.support.noCloneEvent = false;
			div.detachEvent("onclick", arguments.callee);
		});
		div.cloneNode(true).fireEvent("onclick");
	}

	// Figure out if the W3C box model works as expected
	// document.body must exist before we can do this
	jQuery(function(){
		var div = document.createElement("div");
		div.style.width = div.style.paddingLeft = "1px";

		document.body.appendChild( div );
		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
		document.body.removeChild( div ).style.display = 'none';
	});
})();

var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";

jQuery.props = {
	"for": "htmlFor",
	"class": "className",
	"float": styleFloat,
	cssFloat: styleFloat,
	styleFloat: styleFloat,
	readonly: "readOnly",
	maxlength: "maxLength",
	cellspacing: "cellSpacing",
	rowspan: "rowSpan",
	tabindex: "tabIndex"
};
jQuery.fn.extend({
	// Keep a copy of the old load
	_load: jQuery.fn.load,

	load: function( url, params, callback ) {
		if ( typeof url !== "string" )
			return this._load( url );

		var off = url.indexOf(" ");
		if ( off >= 0 ) {
			var selector = url.slice(off, url.length);
			url = url.slice(0, off);
		}

		// Default to a GET request
		var type = "GET";

		// If the second parameter was provided
		if ( params )
			// If it's a function
			if ( jQuery.isFunction( params ) ) {
				// We assume that it's the callback
				callback = params;
				params = null;

			// Otherwise, build a param string
			} else if( typeof params === "object" ) {
				params = jQuery.param( params );
				type = "POST";
			}

		var self = this;

		// Request the remote document
		jQuery.ajax({
			url: url,
			type: type,
			dataType: "html",
			data: params,
			complete: function(res, status){
				// If successful, inject the HTML into all the matched elements
				if ( status == "success" || status == "notmodified" )
					// See if a selector was specified
					self.html( selector ?
						// Create a dummy div to hold the results
						jQuery("<div/>")
							// inject the contents of the document in, removing the scripts
							// to avoid any 'Permission Denied' errors in IE
							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))

							// Locate the specified elements
							.find(selector) :

						// If not, just inject the full result
						res.responseText );

				if( callback )
					self.each( callback, [res.responseText, status, res] );
			}
		});
		return this;
	},

	serialize: function() {
		return jQuery.param(this.serializeArray());
	},
	serializeArray: function() {
		return this.map(function(){
			return this.elements ? jQuery.makeArray(this.elements) : this;
		})
		.filter(function(){
			return this.name && !this.disabled &&
				(this.checked || /select|textarea/i.test(this.nodeName) ||
					/text|hidden|password|search/i.test(this.type));
		})
		.map(function(i, elem){
			var val = jQuery(this).val();
			return val == null ? null :
				jQuery.isArray(val) ?
					jQuery.map( val, function(val, i){
						return {name: elem.name, value: val};
					}) :
					{name: elem.name, value: val};
		}).get();
	}
});

// Attach a bunch of functions for handling common AJAX events
jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
	jQuery.fn[o] = function(f){
		return this.bind(o, f);
	};
});

var jsc = now();

jQuery.extend({
  
	get: function( url, data, callback, type ) {
		// shift arguments if data argument was ommited
		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: {
		url: location.href,
		global: true,
		type: "GET",
		contentType: "application/x-www-form-urlencoded",
		processData: true,
		async: true,
		/*
		timeout: 0,
		data: null,
		username: null,
		password: null,
		*/
		// Create the request object; Microsoft failed to properly
		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
		// This function can be overriden by calling jQuery.ajaxSetup
		xhr:function(){
			return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
		},
		accepts: {
			xml: "application/xml, text/xml",
			html: "text/html",
			script: "text/javascript, application/javascript",
			json: "application/json, text/javascript",
			text: "text/plain",
			_default: "*/*"
		}
	},

	// Last-Modified header cache for next request
	lastModified: {},

	ajax: function( s ) {
		// Extend the settings, but re-extend 's' so that it can be
		// checked again later (in the test suite, specifically)
		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));

		var jsonp, jsre = /=\?(&|$)/g, status, data,
			type = s.type.toUpperCase();

		// convert data if not already a string
		if ( s.data && s.processData && typeof s.data !== "string" )
			s.data = jQuery.param(s.data);

		// Handle JSONP Parameter Callbacks
		if ( s.dataType == "jsonp" ) {
			if ( type == "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";
		}

		// Build temporary JSONP function
		if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) {
			jsonp = "jsonp" + jsc++;

			// Replace the =? sequence both in the query string and the data
			if ( s.data )
				s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
			s.url = s.url.replace(jsre, "=" + jsonp + "$1");

			// We need to make sure
			// that a JSONP style response is executed properly
			s.dataType = "script";

			// Handle JSONP-style loading
			window[ jsonp ] = function(tmp){
				data = tmp;
				success();
				complete();
				// Garbage collect
				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 && type == "GET" ) {
			var ts = now();
			// try replacing _= if it is there
			var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
			// if nothing was replaced, add timestamp to the end
			s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
		}

		// If data is available, append data to url for get requests
		if ( s.data && type == "GET" ) {
			s.url += (s.url.match(/\?/) ? "&" : "?") + s.data;

			// IE likes to send both get and post data, prevent this
			s.data = null;
		}

		// Watch for a new set of requests
		if ( s.global && ! jQuery.active++ )
			jQuery.event.trigger( "ajaxStart" );

		// Matches an absolute URL, and saves the domain
		var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );

		// If we're requesting a remote document
		// and trying to load JSON or Script with a GET
		if ( s.dataType == "script" && type == "GET" && parts
			&& ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){

			var head = document.getElementsByTagName("head")[0];
			var script = document.createElement("script");
			script.src = s.url;
			if (s.scriptCharset)
				script.charset = s.scriptCharset;

			// Handle Script loading
			if ( !jsonp ) {
				var done = false;

				// Attach handlers for all browsers
				script.onload = script.onreadystatechange = function(){
					if ( !done && (!this.readyState ||
							this.readyState == "loaded" || this.readyState == "complete") ) {
						done = true;
						success();
						complete();

						// Handle memory leak in IE
						script.onload = script.onreadystatechange = null;
						head.removeChild( script );
					}
				};
			}

			head.appendChild(script);

			// We handle everything using the script element injection
			return undefined;
		}

		var requestDone = false;

		// Create the request object
		var xhr = s.xhr();

		// Open the socket
		// Passing null username, generates a login popup on Opera (#2865)
		if( s.username )
			xhr.open(type, s.url, s.async, s.username, s.password);
		else
			xhr.open(type, s.url, s.async);

		// Need an extra try/catch for cross domain requests in Firefox 3
		try {
			// Set the correct header, if data is being sent
			if ( s.data )
				xhr.setRequestHeader("Content-Type", s.contentType);

			// Set the If-Modified-Since header, if ifModified mode.
			if ( s.ifModified )
				xhr.setRequestHeader("If-Modified-Since",
					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );

			// Set header so the called script knows that it's an XMLHttpRequest
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

			// Set the Accepts header for the server, depending on the dataType
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
				s.accepts[ s.dataType ] + ", */*" :
				s.accepts._default );
		} catch(e){}

		// Allow custom headers/mimetypes and early abort
		if ( s.beforeSend && s.beforeSend(xhr, s) === false ) {
			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active )
				jQuery.event.trigger( "ajaxStop" );
			// close opended socket
			xhr.abort();
			return false;
		}

		if ( s.global )
			jQuery.event.trigger("ajaxSend", [xhr, s]);

		// Wait for a response to come back
		var onreadystatechange = function(isTimeout){
			// The request was aborted, clear the interval and decrement jQuery.active
			if (xhr.readyState == 0) {
				if (ival) {
					// clear poll interval
					clearInterval(ival);
					ival = null;
					// Handle the global AJAX counter
					if ( s.global && ! --jQuery.active )
						jQuery.event.trigger( "ajaxStop" );
				}
			// The transfer is complete and the data is available, or the request timed out
			} else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout") ) {
				requestDone = true;

				// clear poll interval
				if (ival) {
					clearInterval(ival);
					ival = null;
				}

				status = isTimeout == "timeout" ? "timeout" :
					!jQuery.httpSuccess( xhr ) ? "error" :
					s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? "notmodified" :
					"success";

				if ( status == "success" ) {
					// Watch for, and catch, XML document parse errors
					try {
						// process the data (runs the xml through httpData regardless of callback)
						data = jQuery.httpData( xhr, s.dataType, s );
					} catch(e) {
						status = "parsererror";
					}
				}

				// Make sure that the request was successful or notmodified
				if ( status == "success" ) {
					// Cache Last-Modified header, if ifModified mode.
					var modRes;
					try {
						modRes = xhr.getResponseHeader("Last-Modified");
					} catch(e) {} // swallow exception thrown by FF if header is not available

					if ( s.ifModified && modRes )
						jQuery.lastModified[s.url] = modRes;

					// JSONP handles its own success callback
					if ( !jsonp )
						success();
				} else
					jQuery.handleError(s, xhr, status);

				// Fire the complete handlers
				complete();

				if ( isTimeout )
					xhr.abort();

				// Stop memory leaks
				if ( s.async )
					xhr = null;
			}
		};

		if ( s.async ) {
			// don't attach the handler to the request, just poll it instead
			var ival = setInterval(onreadystatechange, 13);

			// Timeout checker
			if ( s.timeout > 0 )
				setTimeout(function(){
					// Check to see if the request is still happening
					if ( xhr && !requestDone )
						onreadystatechange( "timeout" );
				}, s.timeout);
		}

		// Send the data
		try {
			xhr.send(s.data);
		} catch(e) {
			jQuery.handleError(s, xhr, null, e);
		}

		// firefox 1.5 doesn't fire statechange for sync requests
		if ( !s.async )
			onreadystatechange();

		function success(){
			// If a local callback was specified, fire it and pass it the data
			if ( s.success )
				s.success( data, status );

			// Fire the global callback
			if ( s.global )
				jQuery.event.trigger( "ajaxSuccess", [xhr, s] );
		}

		function complete(){
			// Process result
			if ( s.complete )
				s.complete(xhr, status);

			// The request was completed
			if ( s.global )
				jQuery.event.trigger( "ajaxComplete", [xhr, s] );

			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active )
				jQuery.event.trigger( "ajaxStop" );
		}

		// return XMLHttpRequest to allow aborting the request etc.
		return xhr;
	},

	handleError: function( s, xhr, status, e ) {
		// If a local callback was specified, fire it
		if ( s.error ) s.error( xhr, status, e );

		// Fire the global callback
		if ( s.global )
			jQuery.event.trigger( "ajaxError", [xhr, s, e] );
	},

	// Counter for holding the number of active queries
	active: 0,

	// Determines if an XMLHttpRequest was successful or not
	httpSuccess: function( xhr ) {
		try {
			// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
			return !xhr.status && location.protocol == "file:" ||
				( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
		} catch(e){}
		return false;
	},

	// Determines if an XMLHttpRequest returns NotModified
	httpNotModified: function( xhr, url ) {
		try {
			var xhrRes = xhr.getResponseHeader("Last-Modified");

			// Firefox always returns 200. check Last-Modified date
			return xhr.status == 304 || xhrRes == jQuery.lastModified[url];
		} catch(e){}
		return false;
	},

	httpData: function( xhr, type, s ) {
		var ct = xhr.getResponseHeader("content-type"),
			xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
			data = xml ? xhr.responseXML : xhr.responseText;

		if ( xml && data.documentElement.tagName == "parsererror" )
			throw "parsererror";
			
		// Allow a pre-filtering function to sanitize the response
		// s != null is checked to keep backwards compatibility
		if( s && s.dataFilter )
			data = s.dataFilter( data, type );

		// The filter can actually parse the response
		if( typeof data === "string" ){

			// If the type is "script", eval it in global context
			if ( type == "script" )
				jQuery.globalEval( data );

			// Get the JavaScript object, if JSON is used.
			if ( type == "json" )
				data = window["eval"]("(" + data + ")");
		}
		
		return data;
	},

	// Serialize an array of form elements or a set of
	// key/values into a query string
	param: function( a ) {
		var s = [ ];

		function add( key, value ){
			s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value);
		};

		// If an array was passed in, assume that it is an array
		// of form elements
		if ( jQuery.isArray(a) || a.jquery )
			// Serialize the form elements
			jQuery.each( a, function(){
				add( this.name, this.value );
			});

		// Otherwise, assume that it's an object of key/value pairs
		else
			// Serialize the key/values
			for ( var j in a )
				// If the value is an array then the key names need to be repeated
				if ( jQuery.isArray(a[j]) )
					jQuery.each( a[j], function(){
						add( j, this );
					});
				else
					add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );

		// Return the resulting serialization
		return s.join("&").replace(/%20/g, "+");
	}

});
var elemdisplay = {},
	timerId,
	fxAttrs = [
		// height animations
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
		// width animations
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
		// opacity animations
		[ "opacity" ]
	];

function genFx( type, num ){
	var obj = {};
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){
		obj[ this ] = type;
	});
	return obj;
}

jQuery.fn.extend({
	show: function(speed,callback){
		if ( speed ) {
			return this.animate( genFx("show", 3), speed, callback);
		} else {
			for ( var i = 0, l = this.length; i < l; i++ ){
				var old = jQuery.data(this[i], "olddisplay");
				
				this[i].style.display = old || "";
				
				if ( jQuery.css(this[i], "display") === "none" ) {
					var tagName = this[i].tagName, display;
					
					if ( elemdisplay[ tagName ] ) {
						display = elemdisplay[ tagName ];
					} else {
						var elem = jQuery("<" + tagName + " />").appendTo("body");
						
						display = elem.css("display");
						if ( display === "none" )
							display = "block";
						
						elem.remove();
						
						elemdisplay[ tagName ] = display;
					}
					
					jQuery.data(this[i], "olddisplay", display);
				}
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var i = 0, l = this.length; i < l; i++ ){
				this[i].style.display = jQuery.data(this[i], "olddisplay") || "";
			}
			
			return this;
		}
	},

	hide: function(speed,callback){
		if ( speed ) {
			return this.animate( genFx("hide", 3), speed, callback);
		} else {
			for ( var i = 0, l = this.length; i < l; i++ ){
				var old = jQuery.data(this[i], "olddisplay");
				if ( !old && old !== "none" )
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var i = 0, l = this.length; i < l; i++ ){
				this[i].style.display = "none";
			}

			return this;
		}
	},

	// Save the old toggle function
	_toggle: jQuery.fn.toggle,

	toggle: function( fn, fn2 ){
		var bool = typeof fn === "boolean";

		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
			this._toggle.apply( this, arguments ) :
			fn == null || bool ?
				this.each(function(){
					var state = bool ? fn : jQuery(this).is(":hidden");
					jQuery(this)[ state ? "show" : "hide" ]();
				}) :
				this.animate(genFx("toggle", 3), fn, fn2);
	},

	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(){
		
			var opt = jQuery.extend({}, optall), p,
				hidden = this.nodeType == 1 && jQuery(this).is(":hidden"),
				self = this;
	
			for ( p in prop ) {
				if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
					return opt.complete.call(this);

				if ( ( p == "height" || p == "width" ) && this.style ) {
					// Store display property
					opt.display = jQuery.css(this, "display");

					// Make sure that nothing sneaks out
					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";

						// We need to compute starting value
						if ( unit != "px" ) {
							self.style[ name ] = (end || 1) + unit;
							start = ((end || 1) / e.cur(true)) * start;
							self.style[ name ] = start + unit;
						}

						// If a +=/-= token was provided, we're doing a relative animation
						if ( parts[1] )
							end = ((parts[1] == "-=" ? -1 : 1) * end) + start;

						e.custom( start, end, unit );
					} else
						e.custom( start, val, "" );
				}
			});

			// For JS strict compliance
			return true;
		});
	},

	stop: function(clearQueue, gotoEnd){
		var timers = jQuery.timers;

		if (clearQueue)
			this.queue([]);

		this.each(function(){
			// go in reverse order so anything added to the queue during the loop is ignored
			for ( var i = timers.length - 1; i >= 0; i-- )
				if ( timers[i].elem == this ) {
					if (gotoEnd)
						// force the next step to be the last
						timers[i](true);
					timers.splice(i, 1);
				}
		});

		// start the next in the queue if the last step wasn't forced
		if (!gotoEnd)
			this.dequeue();

		return this;
	}

});

// Generate shortcuts for custom animations
jQuery.each({
	slideDown: genFx("show", 1),
	slideUp: genFx("hide", 1),
	slideToggle: genFx("toggle", 1),
	fadeIn: { opacity: "show" },
	fadeOut: { opacity: "hide" }
}, function( name, props ){
	jQuery.fn[ name ] = function( speed, callback ){
		return this.animate( props, speed, callback );
	};
});

jQuery.extend({

	speed: function(speed, easing, fn) {
		var opt = typeof speed === "object" ? speed : {
			complete: fn || !fn && easing ||
				jQuery.isFunction( speed ) && speed,
			duration: speed,
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
		};

		opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;

		// Queueing
		opt.old = opt.complete;
		opt.complete = function(){
			if ( opt.queue !== false )
				jQuery(this).dequeue();
			if ( jQuery.isFunction( opt.old ) )
				opt.old.call( 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: [],

	fx: function( elem, options, prop ){
		this.options = options;
		this.elem = elem;
		this.prop = prop;

		if ( !options.orig )
			options.orig = {};
	}

});

jQuery.fx.prototype = {

	// Simple function for setting a style value
	update: function(){
		if ( this.options.step )
			this.options.step.call( this.elem, this.now, this );

		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );

		// Set display property to block for height/width animations
		if ( ( this.prop == "height" || this.prop == "width" ) && this.elem.style )
			this.elem.style.display = "block";
	},

	// Get the current size
	cur: function(force){
		if ( this.elem[this.prop] != null && (!this.elem.style || 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;
	},

	// Start an animation from one number to another
	custom: function(from, to, unit){
		this.startTime = now();
		this.start = from;
		this.end = to;
		this.unit = unit || this.unit || "px";
		this.now = this.start;
		this.pos = this.state = 0;

		var self = this;
		function t(gotoEnd){
			return self.step(gotoEnd);
		}

		t.elem = this.elem;

		if ( t() && jQuery.timers.push(t) && !timerId ) {
			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( timerId );
					timerId = undefined;
				}
			}, 13);
		}
	},

	// Simple 'show' function
	show: function(){
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
		this.options.show = true;

		// Begin the animation
		// Make sure that we start at a small width/height to avoid any
		// flash of content
		this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());

		// Start by showing the element
		jQuery(this.elem).show();
	},

	// Simple 'hide' function
	hide: function(){
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
		this.options.hide = true;

		// Begin the animation
		this.custom(this.cur(), 0);
	},

	// Each step of an animation
	step: function(gotoEnd){
		var t = now();

		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 ) {
					// Reset the overflow
					this.elem.style.overflow = this.options.overflow;

					// Reset the display
					this.elem.style.display = this.options.display;
					if ( jQuery.css(this.elem, "display") == "none" )
						this.elem.style.display = "block";
				}

				// Hide the element if the "hide" operation was done
				if ( this.options.hide )
					jQuery(this.elem).hide();

				// Reset the properties, if the item has been hidden or shown
				if ( this.options.hide || this.options.show )
					for ( var p in this.options.curAnim )
						jQuery.attr(this.elem.style, p, this.options.orig[p]);
					
				// Execute the complete function
				this.options.complete.call( this.elem );
			}

			return false;
		} else {
			var n = t - this.startTime;
			this.state = n / this.options.duration;

			// Perform the easing function, defaults to swing
			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);

			// Perform the next step of the animation
			this.update();
		}

		return true;
	}

};

jQuery.extend( jQuery.fx, {
	speeds:{
		slow: 600,
 		fast: 200,
 		// Default speed
 		_default: 400
	},
	step: {

		opacity: function(fx){
			jQuery.attr(fx.elem.style, "opacity", fx.now);
		},

		_default: function(fx){
			if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
				fx.elem.style[ fx.prop ] = fx.now + fx.unit;
			else
				fx.elem[ fx.prop ] = fx.now;
		}
	}
});
if ( document.documentElement["getBoundingClientRect"] )
	jQuery.fn.offset = function() {
		if ( !this[0] ) return { top: 0, left: 0 };
		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
		var box  = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement,
			clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
			top  = box.top  + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop  || body.scrollTop ) - clientTop,
			left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
		return { top: top, left: left };
	};
else 
	jQuery.fn.offset = function() {
		if ( !this[0] ) return { top: 0, left: 0 };
		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
		jQuery.offset.initialized || jQuery.offset.initialize();

		var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem,
			doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
			body = doc.body, defaultView = doc.defaultView,
			prevComputedStyle = defaultView.getComputedStyle(elem, null),
			top = elem.offsetTop, left = elem.offsetLeft;

		while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
			computedStyle = defaultView.getComputedStyle(elem, null);
			top -= elem.scrollTop, left -= elem.scrollLeft;
			if ( elem === offsetParent ) {
				top += elem.offsetTop, left += elem.offsetLeft;
				if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) )
					top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
					left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
				prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
			}
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" )
				top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
				left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
			prevComputedStyle = computedStyle;
		}

		if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" )
			top  += body.offsetTop,
			left += body.offsetLeft;

		if ( prevComputedStyle.position === "fixed" )
			top  += Math.max(docElem.scrollTop, body.scrollTop),
			left += Math.max(docElem.scrollLeft, body.scrollLeft);

		return { top: top, left: left };
	};

jQuery.offset = {
	initialize: function() {
		if ( this.initialized ) return;
		var body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,
			html = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';

		rules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' };
		for ( prop in rules ) container.style[prop] = rules[prop];

		container.innerHTML = html;
		body.insertBefore(container, body.firstChild);
		innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;

		this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
		this.doesAddBorderForTableAndCells = (td.offsetTop === 5);

		innerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative';
		this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);

		body.style.marginTop = '1px';
		this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);
		body.style.marginTop = bodyMarginTop;

		body.removeChild(container);
		this.initialized = true;
	},

	bodyOffset: function(body) {
		jQuery.offset.initialized || jQuery.offset.initialize();
		var top = body.offsetTop, left = body.offsetLeft;
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )
			top  += parseInt( jQuery.curCSS(body, 'marginTop',  true), 10 ) || 0,
			left += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0;
		return { top: top, left: left };
	}
};


jQuery.fn.extend({
	position: function() {
		var left = 0, top = 0, results;

		if ( this[0] ) {
			// Get *real* offsetParent
			var offsetParent = this.offsetParent(),

			// Get correct offsets
			offset       = this.offset(),
			parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();

			// Subtract element margins
			// note: when an element has margin: auto the offsetLeft and marginLeft 
			// are the same in Safari causing offset.left to incorrectly be 0
			offset.top  -= num( this, 'marginTop'  );
			offset.left -= num( this, 'marginLeft' );

			// Add offsetParent borders
			parentOffset.top  += num( offsetParent, 'borderTopWidth'  );
			parentOffset.left += num( offsetParent, 'borderLeftWidth' );

			// Subtract the two offsets
			results = {
				top:  offset.top  - parentOffset.top,
				left: offset.left - parentOffset.left
			};
		}

		return results;
	},

	offsetParent: function() {
		var offsetParent = this[0].offsetParent || document.body;
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
			offsetParent = offsetParent.offsetParent;
		return jQuery(offsetParent);
	}
});


// Create scrollLeft and scrollTop methods
jQuery.each( ['Left', 'Top'], function(i, name) {
	var method = 'scroll' + name;
	
	jQuery.fn[ method ] = function(val) {
		if (!this[0]) return null;

		return val !== undefined ?

			// Set the scroll offset
			this.each(function() {
				this == window || this == document ?
					window.scrollTo(
						!i ? val : jQuery(window).scrollLeft(),
						 i ? val : jQuery(window).scrollTop()
					) :
					this[ method ] = val;
			}) :

			// Return the scroll offset
			this[0] == window || this[0] == document ?
				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||
					jQuery.boxModel && document.documentElement[ method ] ||
					document.body[ method ] :
				this[0][ method ];
	};
});
// Create innerHeight, innerWidth, outerHeight and outerWidth methods
jQuery.each([ "Height", "Width" ], function(i, name){

	var tl = i ? "Left"  : "Top",  // top or left
		br = i ? "Right" : "Bottom", // bottom or right
		lower = name.toLowerCase();

	// innerHeight and innerWidth
	jQuery.fn["inner" + name] = function(){
		return this[0] ?
			jQuery.css( this[0], lower, false, "padding" ) :
			null;
	};

	// outerHeight and outerWidth
	jQuery.fn["outer" + name] = function(margin) {
		return this[0] ?
			jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
			null;
	};
	
	var type = name.toLowerCase();

	jQuery.fn[ type ] = function( size ) {
		// Get window width or height
		return this[0] == window ?
			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
			document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] ||
			document.body[ "client" + name ] :

			// Get document width or height
			this[0] == document ?
				// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
				Math.max(
					document.documentElement["client" + name],
					document.body["scroll" + name], document.documentElement["scroll" + name],
					document.body["offset" + name], document.documentElement["offset" + name]
				) :

				// Get or set width or height on the element
				size === undefined ?
					// Get width or height on the element
					(this.length ? jQuery.css( this[0], type ) : null) :

					// Set the width or height on the element (default to pixels if value is unitless)
					this.css( type, typeof size === "string" ? size : size + "px" );
	};

});
})();

}catch(e){alert('Error in jquery-1.3.2: ' + e.description);}

// ---- m_url_fix ----
try{ function MiniUrlFix(){

	this.urlConfig =
		[
		 {
			 urlPattern: /^\/_common\/.*/gi,
			 depth: 0
		 },
		 {
			 urlPattern: /^\/_data\/.*/gi,
			 depth: 1
		 }
		 ];

	this.defaultDepth = 2;
	this.isMultiLanguageNSC = false;

	function getStages(){
		var maxDepth = 2;

		var p = window.location.pathname;

		var stages = [];

		var start = 0;
		var end = start;
		for(var i = 0; i <= maxDepth; ++i){
			end = p.indexOf('/', end + 1);

			var s = p.slice(start, end);
			stages.push(s);
			console.log('URL fix stage ' + i + ' is ' + s);
		}

		return stages;
	}

	this.isPreview = (window.location.hostname === 'wcms20.bmwgroup.com');

	if(this.isPreview){
		this.stages = getStages();
		this.fixedUrlPattern = '^(' + this.stages[0] + ')|(/liveEdit/)';
		this.ieUrlClipPattern =
			window.location.protocol + '//'
			+ window.location.host;
		this.bgImageUrlPattern = /url[(]['"](.*)["'][)]/;

		console.log('MINI URL fix is required');
	}
	else{
		console.log('MINI URL fix is not required');
	}

	/**
	 * Determines wether the specified URL requires URL fixing.
	 */
	this._isUrlFixRequired = function(url){
		return ((url !== null)
			&& (url.length !== 0)
			&& (url.charAt(0) === '/')
			&& (url.match(miniUrlFix.fixedUrlPattern) === null));
	};

	this._normalizeUrl = function(url){
		if(url === null) return null;

		var newUrl = url.replace(miniUrlFix.ieUrlClipPattern, '');

		return newUrl;
	};
	// Returns the language prefix if this is a multi language NSC
	this.getLanguagePrefix = function(){
		var langPrefix = '';
		if(miniUrlFix.isMultiLanguageNSC && typeof topicLanguage !== 'undefined')
			langPrefix = '/'+topicLanguage;
			
		return langPrefix;
	};

	this._fixAbsoluteUrl = function(url){
		
		if (url.indexOf("/mini-root-reserved/") == 0){  // starts with "/mini-root-reserved/" 
			url = url.substring("/mini-root-reserved/".length-1);
		}
		
		var depth = miniUrlFix.defaultDepth;
		for(var i = 0; i < miniUrlFix.urlConfig.length; ++i){
			var c = miniUrlFix.urlConfig[i];

			if(!url.match(c.urlPattern)) continue;

			depth = c.depth;

			break;
		}

		var newUrl = miniUrlFix.stages[depth] + url;

		return newUrl;
	};

	/**
	 * <p>Convertes an absolute URL into a environment specific absolute
	 * URL.</p>
	 *
	 * <p>
	 * URLs in the WCMS EDIT preview will be modified as followed:
	 * <ul>
	 * <li>/my/path.png -> /mini2010_edit/_master/en/my/path.png</li>
	 * <li>/_common/my/path.png -> /mini2010_edit/_common/my/path.png</li>
	 * </ul>
	 * </p>
	 * 
	 * <p>URLs in the BMW production and BMW integration environment will
	 * not be modified.</p>
	 */
	this.fixAbsoluteUrl = function(url){
		if(!miniUrlFix.isPreview){
			return url;
		}

		if (url.indexOf("/mini-root-reserved/") == 0){  // starts with "/mini-root-reserved/" 
			url = url.substring("/mini-root-reserved/".length-1);
		}
			
		url = miniUrlFix._normalizeUrl(url);

		if(!miniUrlFix._isUrlFixRequired(url)) return url;

		return miniUrlFix._fixAbsoluteUrl(url);
	};

	this._fixUrlAttribute = function(e, attrName){
		var url = e.getAttribute(attrName);

		url = miniUrlFix._normalizeUrl(url);

		if(!miniUrlFix._isUrlFixRequired(url)) return;

		var newUrl = miniUrlFix._fixAbsoluteUrl(url);

		e.setAttribute(attrName, newUrl, 0);
	};

	this.fixUrlAttribute = function(e, attrName){
		if(!miniUrlFix.isPreview){
			return;
		}

		miniUrlFix._fixUrlAttribute(e, attrName);
	};

	this._fixBackgroundImageStyle = function(element){
		var e = jQuery(element);

		var bgUrl = e.css('background-image');
		if(bgUrl === null) return;

		var m = bgUrl.match(miniUrlFix.bgImageUrlPattern);
		if(!m){
			console.log('Can\'t match BG image URL: ' + bgUrl);
			return;
		}

		var url = miniUrlFix._normalizeUrl(m[1]);

		if(!miniUrlFix._isUrlFixRequired(url)) return;

		var newUrl = miniUrlFix._fixAbsoluteUrl(url);

		console.log('BG image ' + url + ' -> ' + newUrl);

		e.css('background-image', 'url("' + newUrl + '")');
	};

	this.fixBackgroundImageStyle = function(e){
		if(!miniUrlFix.isPreview){
			return;
		}

		miniUrlFix._fixBackgroundImageStyle(e);
	};

	this.doPartialFix = function(selector){
		if(!miniUrlFix.isPreview){
			return;
		}

		var aElements = jQuery(selector + ' a');
		//console.log('Applying URL fix to ' + aElements.length + ' anchors');
		aElements.each(function(e){
				miniUrlFix.fixUrlAttribute(this, 'href');
			});

		var imgElements = jQuery(selector + ' img');
		//console.log('Applying URL fix to ' + imgElements.length + ' images');
		imgElements.each(function(e){
				miniUrlFix.fixUrlAttribute(this, 'src');
			});

		var urlFixElements = jQuery(selector + ' .url_fix');
		//console.log('Applying URL fix to ' + urlFixElements.length + ' url fix classes');
		urlFixElements.each(function(e){
				miniUrlFix.fixBackgroundImageStyle(this);
			});
	};

	this.doGlobalFix = function(){
		miniUrlFix.doPartialFix('');
	};
}

miniUrlFix = new MiniUrlFix();

jQuery(document).ready(function(){
		// Update model navigation big image
		var src = miniUrlFix.getLanguagePrefix() + $('#model_selection_toggler>img').attr('src');
		$('#model_selection_toggler>img').attr('src', src);
		
		// Update module navigation big image
		src = miniUrlFix.getLanguagePrefix() + $('#module_navigation_toggler>img').attr('src');
		$('#module_navigation_toggler>img').attr('src', src);

		miniUrlFix.doGlobalFix();		
});

}catch(e){alert('Error in m_url_fix: ' + e.description);}

// ---- jquery.cookie ----
try{ /**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};


}catch(e){alert('Error in jquery.cookie: ' + e.description);}

// ---- jquery.cycle.lite.1.0 ----
try{ /*
 * jQuery Cycle Lite Plugin
 * http://malsup.com/jquery/cycle/lite/
 * Copyright (c) 2008 M. Alsup
 * Version: 1.0 (06/08/2008)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.3 or later
 */
;(function($) {

var ver = 'Lite-1.0';

$.fn.cycle = function(options) {
    return this.each(function() {
        options = options || {};
        
        if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
        this.cycleTimeout = 0;
        this.cyclePause = 0;
        
        var $cont = $(this);
        var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
        var els = $slides.get();
        if (els.length < 2) {
            if (window.console && window.console.log)
                window.console.log('terminating; too few slides: ' + els.length);
            return; // don't bother
        }

        // support metadata plugin (v1.0 and v2.0)
        var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
            
        opts.before = opts.before ? [opts.before] : [];
        opts.after = opts.after ? [opts.after] : [];
        opts.after.unshift(function(){ opts.busy=0; });
            
        // allow shorthand overrides of width, height and timeout
        var cls = this.className;
        opts.width = parseInt((cls.match(/w:(\d+)/)||[])[1]) || opts.width;
        opts.height = parseInt((cls.match(/h:(\d+)/)||[])[1]) || opts.height;
        opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1]) || opts.timeout;

        if ($cont.css('position') == 'static') 
            $cont.css('position', 'relative');
        if (opts.width) 
            $cont.width(opts.width);
        if (opts.height && opts.height != 'auto') 
            $cont.height(opts.height);

        var first = 0;
        $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { 
            $(this).css('z-index', els.length-i) 
        });
        
        $(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case
        if ($.browser.msie) els[first].style.removeAttribute('filter');

        if (opts.fit && opts.width) 
            $slides.width(opts.width);
        if (opts.fit && opts.height && opts.height != 'auto') 
            $slides.height(opts.height);
        if (opts.pause) 
            $cont.hover(function(){this.cyclePause=1;}, function(){this.cyclePause=0;});

        $.fn.cycle.transitions.fade($cont, $slides, opts);
        
        $slides.each(function() {
            var $el = $(this);
            this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
            this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();
        });

        $slides.not(':eq('+first+')').css({opacity:0});
        if (opts.cssFirst)
            $($slides[first]).css(opts.cssFirst);

        if (opts.timeout) {
            // ensure that timeout and speed settings are sane
            if (opts.speed.constructor == String)
                opts.speed = {slow: 600, fast: 200}[opts.speed] || 400;
            if (!opts.sync)
                opts.speed = opts.speed / 2;
            while((opts.timeout - opts.speed) < 250)
                opts.timeout += opts.speed;
        }
        opts.speedIn = opts.speed;
        opts.speedOut = opts.speed;

 		opts.slideCount = els.length;
        opts.currSlide = first;
        opts.nextSlide = 1;

        // fire artificial events
        var e0 = $slides[first];
        if (opts.before.length)
            opts.before[0].apply(e0, [e0, e0, opts, true]);
        if (opts.after.length > 1)
            opts.after[1].apply(e0, [e0, e0, opts, true]);
        
        if (opts.click && !opts.next)
            opts.next = opts.click;
        if (opts.next)
            $(opts.next).bind('click', function(){return advance(els,opts,opts.rev?-1:1)});
        if (opts.prev)
            $(opts.prev).bind('click', function(){return advance(els,opts,opts.rev?1:-1)});

        if (opts.timeout)
            this.cycleTimeout = setTimeout(function() {
                go(els,opts,0,!opts.rev)
            }, opts.timeout + (opts.delay||0));
    });
};

function go(els, opts, manual, fwd) {
    if (opts.busy) return;
    var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
    if (p.cycleTimeout === 0 && !manual) 
        return;

    if (manual || !p.cyclePause) {
        if (opts.before.length)
            $.each(opts.before, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
        var after = function() {
            if ($.browser.msie)
                this.style.removeAttribute('filter');
            $.each(opts.after, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
        };

        if (opts.nextSlide != opts.currSlide) {
            opts.busy = 1;
            $.fn.cycle.custom(curr, next, opts, after);
        }
        var roll = (opts.nextSlide + 1) == els.length;
        opts.nextSlide = roll ? 0 : opts.nextSlide+1;
        opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
    }
    if (opts.timeout)
        p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, opts.timeout);
};

// advance slide forward or back
function advance(els, opts, val) {
    var p = els[0].parentNode, timeout = p.cycleTimeout;
    if (timeout) {
        clearTimeout(timeout);
        p.cycleTimeout = 0;
    }
    opts.nextSlide = opts.currSlide + val;
    if (opts.nextSlide < 0) {
        opts.nextSlide = els.length - 1;
    }
    else if (opts.nextSlide >= els.length) {
        opts.nextSlide = 0;
    }
    go(els, opts, 1, val>=0);
    return false;
};

$.fn.cycle.custom = function(curr, next, opts, cb) {
    var $l = $(curr), $n = $(next);
    $n.css({opacity:0});
    var fn = function() {$n.animate({opacity:1}, opts.speedIn, opts.easeIn, cb)};
    $l.animate({opacity:0}, opts.speedOut, opts.easeOut, function() {
        $l.css({display:'none'});
        if (!opts.sync) fn();
    });
    if (opts.sync) fn();
};

$.fn.cycle.transitions = {
    fade: function($cont, $slides, opts) {
        $slides.not(':eq(0)').css('opacity',0);
        opts.before.push(function() { $(this).show() });
    }
};

$.fn.cycle.ver = function() { return ver; };

// @see: http://malsup.com/jquery/cycle/lite/
$.fn.cycle.defaults = {
    timeout:       4000, 
    speed:         1000, 
    next:          null, 
    prev:          null, 
    before:        null, 
    after:         null, 
    height:       'auto',
    sync:          1,    
    fit:           0,    
    pause:         0,    
    delay:         0,    
    slideExpr:     null  
};

})(jQuery);

}catch(e){alert('Error in jquery.cycle.lite.1.0: ' + e.description);}

// ---- jquery.jsonp-1.1.4 ----
try{ /*
 * jQuery JSONP Core Plugin 1.1.4 (2010-04-07)
 * 
 * http://code.google.com/p/jquery-jsonp/
 *
 * Copyright (c) 2010 Julian Aubourg
 *
 * This document is licensed as free software under the terms of the
 * MIT License: http://www.opensource.org/licenses/mit-license.php
 */
(function($){
	
	// ###################### UTILITIES ##
	// Test a value is neither undefined nor null
	var defined = function(v) {
		return v!==undefined && v!==null;
	},
	// Call if defined
	callIfDefined = function(method,object,parameters) {
		defined(method) && method.apply(object,parameters);
	},
	// Let the current thread running
	later = function(functor) {
		setTimeout(functor,0);
	},
	// String constants (for better minification)
	empty="",
	amp="&",
	qMark="?",
	success = "success",
	error = "error",
	
	// Head element (for faster use)
	head = $("head"),
	// Page cache
	pageCache = {},
	
	// ###################### DEFAULT OPTIONS ##
	xOptionsDefaults = {
		//beforeSend: undefined,
		//cache: false,
		callback: "C",
		//callbackParameter: undefined,
		//complete: undefined,
		//data: ""
		//dataFilter: undefined,
		//error: undefined,
		//pageCache: false,
		//success: undefined,
		//timeout: 0,		
		url: location.href
	},

	// ###################### MAIN FUNCTION ##
	jsonp = function(xOptions) {
		
		// Build data with default
		xOptions = $.extend({},xOptionsDefaults,xOptions);
		
		// References to beforeSend (for better minification) 
		var beforeSendCallback = xOptions.beforeSend,
		
		// Abort/done flag
		done = 0;
		
		// Put a temporary abort
		xOptions.abort = function() { done = 1; };

		// Call beforeSend if provided (early abort if false returned)
		if (defined(beforeSendCallback) && (beforeSendCallback(xOptions,xOptions)===false || done))
			return xOptions;

		// References to xOptions members (for better minification)
		var successCallback = xOptions.success,
		completeCallback = xOptions.complete,
		errorCallback = xOptions.error,
		dataFilter = xOptions.dataFilter,
		callbackParameter = xOptions.callbackParameter,
		successCallbackName = xOptions.callback,
		cacheFlag = xOptions.cache,
		pageCacheFlag = xOptions.pageCache,
		url = xOptions.url,
		data = xOptions.data,
		timeout = xOptions.timeout,

		// Misc variables
		splitUrl,splitData,i,j;		
		
		// Control entries
		url = defined(url)?url:empty;
		data = defined(data)?((typeof data)=="string"?data:$.param(data)):empty;
		
		// Add callback parameter if provided as option
		defined(callbackParameter)
			&& (data += (data==empty?empty:amp)+escape(callbackParameter)+"=?");
		
		// Add anticache parameter if needed
		!cacheFlag && !pageCacheFlag
			&& (data += (data==empty?empty:amp)+"_"+(new Date()).getTime()+"=");
		
		// Search for ? in url
		splitUrl = url.split(qMark);
		// Also in parameters if provided
		// (and merge arrays)
		if (data!=empty) {
			splitData = data.split(qMark);
			j = splitUrl.length-1;
			j && (splitUrl[j] += amp + splitData.shift());
			splitUrl = splitUrl.concat(splitData);
		}
		// If more than 2 ? replace the last one by the callback
		i = splitUrl.length-2;
		i > 0 && (splitUrl[i] += successCallbackName + splitUrl.pop());
		
		// Build the final url
		var finalUrl = splitUrl.join(qMark),
		
		// Utility function
		notifySuccess = function(json) {
			// Apply the data filter if provided
			defined(dataFilter) && (json = dataFilter.apply(xOptions,[json]));
			// Call success then complete
			callIfDefined(successCallback,xOptions,[json,success]);
			callIfDefined(completeCallback,xOptions,[xOptions,success]);
		},
	    notifyError = function(type) {
			// Call error then complete
			callIfDefined(errorCallback,xOptions,[xOptions,type]);
			callIfDefined(completeCallback,xOptions,[xOptions,type]);
	    },
	    
	    // Get from pageCache
	    pageCached = pageCache[finalUrl];
		
		// Check page cache
		if (pageCacheFlag && defined(pageCached)) {
			later(function() {
				// If an error was cached
				defined(pageCached.s)
				? notifySuccess(pageCached.s)
				: notifyError(error);
			});
			return xOptions;
		}
		
		
		// Create & write to the iframe (sends the request)
		// We let the hand to current code to avoid
		// pre-emptive callbacks
		
		// We also install the timeout here to avoid
		// timeout before the code has been dumped to the frame
		// (in case of insanely short timeout values)
		later(function() {
			
			// If it has been aborted, do nothing
			if (done) return;
		
			// Create an iframe & add it to the document
			var frame = $("<iframe style='display:none' />").appendTo(head),
			
			// Get the iframe's window and document objects
			tmp = frame[0],
			window = tmp.contentWindow || tmp.contentDocument,
			document = window.document,
			
			// Declaration of cleanup function
			cleanUp,
			
			// Declaration of timer for timeout (so we can clear it eventually)
			timeoutTimer,
			
			// Error function
			errorFunction = function (_,type) {
				// If pure error (not timeout), cache if needed
				pageCacheFlag && !defined(type) && (pageCache[finalUrl] = empty); 
				// Cleanup
				cleanUp();
				// Call error then complete
				notifyError(defined(type)?type:error);
			},
			
			// Iframe variable cleaning function
			removeVariable = function(varName) {
				window[varName] = undefined;
				try { delete window[varName]; } catch(_) {}
			},
			
			// Error callback name
			errorCallbackName = successCallbackName=="E"?"X":"E";
			
			// Control if we actually retrieved the document
			if(!defined(document)) {
				document = window;
			    window = document.getParentNode();
			}
			
			// We have to open the document before
			// declaring variables in the iframe's window
			// Don't ask me why, I have no clue
			document.open();
			
			// Install callbacks
			window[successCallbackName] = function(json) {
				// Set as treated
				done = 1;
				// Pagecache is needed
				pageCacheFlag && (pageCache[finalUrl] = {s: json});
				// Give hand back to frame
				// To finish gracefully
				later(function(){
					// Cleanup
					cleanUp();
					// Call success then complete
					notifySuccess(json);
				});
			};
			
			window[errorCallbackName] = function(state) {
				// If not treated, mark
				// then give hand back to iframe
				// for it to finish gracefully
				(!state || state=="complete") && !done++ && later(errorFunction);
			};
			
			// Clean up function (declaration)
			xOptions.abort = cleanUp = function() {
				// Clear the timeout (is it exists)
				clearTimeout(timeoutTimer);
				// Open the iframes document & clean
				// document.open(); <= Do not open because of an history bug in FF 3.6+
				removeVariable(errorCallbackName);
				removeVariable(successCallbackName);
				// document.write(empty);
				// document.close();
				frame.remove();
			};
		
			// Write to the document
			document.write([
				'<html><head><script src="',
				finalUrl,'" onload="',
				errorCallbackName,'()" onreadystatechange="',
				errorCallbackName,'(this.readyState)"></script></head><body onload="',
				errorCallbackName,'()"></body></html>'
			].join(empty)
			);
			
			// Close (makes some browsers happier)
			document.close();
			
			// If a timeout is needed, install it
			timeout>0 && (timeoutTimer = setTimeout(function(){
					!done && errorFunction(empty,"timeout");
			},timeout));
		});
		
		return xOptions;
	}
	
	// ###################### SETUP FUNCTION ##
	jsonp.setup = function(xOptions) {
		$.extend(xOptionsDefaults,xOptions);
	};

	// ###################### INSTALL in jQuery ##
	$.jsonp = jsonp;
	
})(jQuery);
}catch(e){alert('Error in jquery.jsonp-1.1.4: ' + e.description);}

// ---- customInput.jquery ----
try{ /*-------------------------------------------------------------------- 
 * jQuery plugin: customInput()
 * by Maggie Wachs and Scott Jehl, http://www.filamentgroup.com
 * Copyright (c) 2009 Filament Group
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 * Article: http://www.filamentgroup.com/lab/accessible_custom_designed_checkbox_radio_button_inputs_styled_css_jquery/  
 * Usage example below (see comment "Run the script...").
--------------------------------------------------------------------*/


jQuery.fn.customInput = function(){
	$(this).each(function(i){	
		if($(this).is('[type=checkbox],[type=radio]')){
			var input = $(this);
			
			// get the associated label using the input's id
			var label = $('label[for='+input.attr('id')+']');
			
			if(label.length==0){
				// Append label if not existing
				label = $('<label/>').attr('for', input.attr('id')).insertAfter(input);
			}
			
			//get type, for classname suffix 
			var inputType = (input.is('[type=checkbox]')) ? 'checkbox' : 'radio';
			
			// wrap the input + label in a div 
			$('<div class="custom-'+ inputType +'"></div>').insertBefore(input).append(input, label);
			
			// find all inputs in this set using the shared name attribute
			var allInputs = $('input[name='+input.attr('name')+']');
			
			// necessary for browsers that don't support the :hover pseudo class on labels
			/* NJUNANG - DISABLE HOVER - NOT NEEDED
			label.hover(
				function(){ 
					$(this).addClass('hover'); 
					if(inputType == 'checkbox' && input.is(':checked')){ 
						$(this).addClass('checkedHover'); 
					} 
				},
				function(){ $(this).removeClass('hover checkedHover'); }
			);
			*/
			
			//bind custom event, trigger it, bind click,focus,blur events					
			input.bind('updateState', function(){
				if (input.is(':checked')) {
					if (input.is(':radio')) {				
						allInputs.each(function(){
							$('label[for='+$(this).attr('id')+']').removeClass('checked');
						});		
					};
					label.addClass('checked');
				}
				else { label.removeClass('checked'); }
										
			})
			.trigger('updateState')
			.click(function(){ 
				$(this).trigger('updateState');
			});
			
			
			
			/*
			.focus(function(){ 
				label.addClass('focus'); 
				if(inputType == 'checkbox' && input.is(':checked')){ 
					$(this).addClass('checkedFocus'); 
				} 
			})
			.blur(function(){ label.removeClass('focus checkedFocus'); });
			*/
			
			// Set input width and height to 0
			input.css({width:0, height:0, opacity:0});
			
		}
	});
};

	
	

}catch(e){alert('Error in customInput.jquery: ' + e.description);}

// ---- jquery.dimensions ----
try{ /* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-12-20 08:46:55 -0600 (Thu, 20 Dec 2007) $
 * $Rev: 4259 $
 *
 * Version: 1.2
 *
 * Requires: jQuery 1.2+
 */

(function($){
	
$.dimensions = {
	version: '1.2'
};

// Create innerHeight, innerWidth, outerHeight and outerWidth methods
$.each( [ 'Height', 'Width' ], function(i, name){
	
	// innerHeight and innerWidth
	$.fn[ 'inner' + name ] = function() {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		return this.is(':visible') ? this[0]['client' + name] : num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr);
	};
	
	// outerHeight and outerWidth
	$.fn[ 'outer' + name ] = function(options) {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		options = $.extend({ margin: false }, options || {});
		
		var val = this.is(':visible') ? 
				this[0]['offset' + name] : 
				num( this, name.toLowerCase() )
					+ num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
					+ num(this, 'padding' + torl) + num(this, 'padding' + borr);
		
		return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0);
	};
});

// Create scrollLeft and scrollTop methods
$.each( ['Left', 'Top'], function(i, name) {
	$.fn[ 'scroll' + name ] = function(val) {
		if (!this[0]) return;
		
		return val != undefined ?
		
			// Set the scroll offset
			this.each(function() {
				this == window || this == document ?
					window.scrollTo( 
						name == 'Left' ? val : $(window)[ 'scrollLeft' ](),
						name == 'Top'  ? val : $(window)[ 'scrollTop'  ]()
					) :
					this[ 'scroll' + name ] = val;
			}) :
			
			// Return the scroll offset
			this[0] == window || this[0] == document ?
				self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
					$.boxModel && document.documentElement[ 'scroll' + name ] ||
					document.body[ 'scroll' + name ] :
				this[0][ 'scroll' + name ];
	};
});

$.fn.extend({
	position: function() {
		var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
		
		if (elem) {
			// Get *real* offsetParent
			offsetParent = this.offsetParent();
			
			// Get correct offsets
			offset       = this.offset();
			parentOffset = offsetParent.offset();
			
			// Subtract element margins
			offset.top  -= num(elem, 'marginTop');
			offset.left -= num(elem, 'marginLeft');
			
			// Add offsetParent borders
			parentOffset.top  += num(offsetParent, 'borderTopWidth');
			parentOffset.left += num(offsetParent, 'borderLeftWidth');
			
			// Subtract the two offsets
			results = {
				top:  offset.top  - parentOffset.top,
				left: offset.left - parentOffset.left
			};
		}
		
		return results;
	},
	
	offsetParent: function() {
		var offsetParent = this[0].offsetParent;
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static') )
			offsetParent = offsetParent.offsetParent;
		return $(offsetParent);
	}
});

function num(el, prop) {
	return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;
};

})(jQuery);
}catch(e){alert('Error in jquery.dimensions: ' + e.description);}

// ---- ui.core ----
try{ /*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
;jQuery.ui || (function($) {

var _remove = $.fn.remove,
	isFF2 = $.browser.mozilla && (parseFloat($.browser.version) < 1.9);

//Helper functions and ui object
$.ui = {
	version: "1.7.2",

	// $.ui.plugin is deprecated.  Use the proxy pattern instead.
	plugin: {
		add: function(module, option, set) {
			var proto = $.ui[module].prototype;
			for(var i in set) {
				proto.plugins[i] = proto.plugins[i] || [];
				proto.plugins[i].push([option, set[i]]);
			}
		},
		call: function(instance, name, args) {
			var set = instance.plugins[name];
			if(!set || !instance.element[0].parentNode) { return; }

			for (var i = 0; i < set.length; i++) {
				if (instance.options[set[i][0]]) {
					set[i][1].apply(instance.element, args);
				}
			}
		}
	},

	contains: function(a, b) {
		return document.compareDocumentPosition
			? a.compareDocumentPosition(b) & 16
			: a !== b && a.contains(b);
	},

	hasScroll: function(el, a) {

		//If overflow is hidden, the element might have extra content, but the user wants to hide it
		if ($(el).css('overflow') == 'hidden') { return false; }

		var scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop',
			has = false;

		if (el[scroll] > 0) { return true; }

		// TODO: determine which cases actually cause this to happen
		// if the element doesn't have the scroll set, see if it's possible to
		// set the scroll
		el[scroll] = 1;
		has = (el[scroll] > 0);
		el[scroll] = 0;
		return has;
	},

	isOverAxis: function(x, reference, size) {
		//Determines when x coordinate is over "b" element axis
		return (x > reference) && (x < (reference + size));
	},

	isOver: function(y, x, top, left, height, width) {
		//Determines when x, y coordinates is over "b" element
		return $.ui.isOverAxis(y, top, height) && $.ui.isOverAxis(x, left, width);
	},

	keyCode: {
		BACKSPACE: 8,
		CAPS_LOCK: 20,
		COMMA: 188,
		CONTROL: 17,
		DELETE: 46,
		DOWN: 40,
		END: 35,
		ENTER: 13,
		ESCAPE: 27,
		HOME: 36,
		INSERT: 45,
		LEFT: 37,
		NUMPAD_ADD: 107,
		NUMPAD_DECIMAL: 110,
		NUMPAD_DIVIDE: 111,
		NUMPAD_ENTER: 108,
		NUMPAD_MULTIPLY: 106,
		NUMPAD_SUBTRACT: 109,
		PAGE_DOWN: 34,
		PAGE_UP: 33,
		PERIOD: 190,
		RIGHT: 39,
		SHIFT: 16,
		SPACE: 32,
		TAB: 9,
		UP: 38
	}
};

// WAI-ARIA normalization
if (isFF2) {
	var attr = $.attr,
		removeAttr = $.fn.removeAttr,
		ariaNS = "http://www.w3.org/2005/07/aaa",
		ariaState = /^aria-/,
		ariaRole = /^wairole:/;

	$.attr = function(elem, name, value) {
		var set = value !== undefined;

		return (name == 'role'
			? (set
				? attr.call(this, elem, name, "wairole:" + value)
				: (attr.apply(this, arguments) || "").replace(ariaRole, ""))
			: (ariaState.test(name)
				? (set
					? elem.setAttributeNS(ariaNS,
						name.replace(ariaState, "aaa:"), value)
					: attr.call(this, elem, name.replace(ariaState, "aaa:")))
				: attr.apply(this, arguments)));
	};

	$.fn.removeAttr = function(name) {
		return (ariaState.test(name)
			? this.each(function() {
				this.removeAttributeNS(ariaNS, name.replace(ariaState, ""));
			}) : removeAttr.call(this, name));
	};
}

//jQuery plugins
$.fn.extend({
	remove: function() {
		// Safari has a native remove event which actually removes DOM elements,
		// so we have to use triggerHandler instead of trigger (#3037).
		$("*", this).add(this).each(function() {
			$(this).triggerHandler("remove");
		});
		return _remove.apply(this, arguments );
	},

	enableSelection: function() {
		return this
			.attr('unselectable', 'off')
			.css('MozUserSelect', '')
			.unbind('selectstart.ui');
	},

	disableSelection: function() {
		return this
			.attr('unselectable', 'on')
			.css('MozUserSelect', 'none')
			.bind('selectstart.ui', function() { return false; });
	},

	scrollParent: function() {
		var scrollParent;
		if(($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {
			scrollParent = this.parents().filter(function() {
				return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
			}).eq(0);
		} else {
			scrollParent = this.parents().filter(function() {
				return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
			}).eq(0);
		}

		return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;
	}
});


//Additional selectors
$.extend($.expr[':'], {
	data: function(elem, i, match) {
		return !!$.data(elem, match[3]);
	},

	focusable: function(element) {
		var nodeName = element.nodeName.toLowerCase(),
			tabIndex = $.attr(element, 'tabindex');
		return (/input|select|textarea|button|object/.test(nodeName)
			? !element.disabled
			: 'a' == nodeName || 'area' == nodeName
				? element.href || !isNaN(tabIndex)
				: !isNaN(tabIndex))
			// the element and all of its ancestors must be visible
			// the browser may report that the area is hidden
			&& !$(element)['area' == nodeName ? 'parents' : 'closest'](':hidden').length;
	},

	tabbable: function(element) {
		var tabIndex = $.attr(element, 'tabindex');
		return (isNaN(tabIndex) || tabIndex >= 0) && $(element).is(':focusable');
	}
});


// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
function getter(namespace, plugin, method, args) {
	function getMethods(type) {
		var methods = $[namespace][plugin][type] || [];
		return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods);
	}

	var methods = getMethods('getter');
	if (args.length == 1 && typeof args[0] == 'string') {
		methods = methods.concat(getMethods('getterSetter'));
	}
	return ($.inArray(method, methods) != -1);
}

$.widget = function(name, prototype) {
	var namespace = name.split(".")[0];
	name = name.split(".")[1];

	// create plugin method
	$.fn[name] = function(options) {
		var isMethodCall = (typeof options == 'string'),
			args = Array.prototype.slice.call(arguments, 1);

		// prevent calls to internal methods
		if (isMethodCall && options.substring(0, 1) == '_') {
			return this;
		}

		// handle getter methods
		if (isMethodCall && getter(namespace, name, options, args)) {
			var instance = $.data(this[0], name);
			return (instance ? instance[options].apply(instance, args)
				: undefined);
		}

		// handle initialization and non-getter methods
		return this.each(function() {
			var instance = $.data(this, name);

			// constructor
			(!instance && !isMethodCall &&
				$.data(this, name, new $[namespace][name](this, options))._init());

			// method call
			(instance && isMethodCall && $.isFunction(instance[options]) &&
				instance[options].apply(instance, args));
		});
	};

	// create widget constructor
	$[namespace] = $[namespace] || {};
	$[namespace][name] = function(element, options) {
		var self = this;

		this.namespace = namespace;
		this.widgetName = name;
		this.widgetEventPrefix = $[namespace][name].eventPrefix || name;
		this.widgetBaseClass = namespace + '-' + name;

		this.options = $.extend({},
			$.widget.defaults,
			$[namespace][name].defaults,
			$.metadata && $.metadata.get(element)[name],
			options);

		this.element = $(element)
			.bind('setData.' + name, function(event, key, value) {
				if (event.target == element) {
					return self._setData(key, value);
				}
			})
			.bind('getData.' + name, function(event, key) {
				if (event.target == element) {
					return self._getData(key);
				}
			})
			.bind('remove', function() {
				return self.destroy();
			});
	};

	// add widget prototype
	$[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype);

	// TODO: merge getter and getterSetter properties from widget prototype
	// and plugin prototype
	$[namespace][name].getterSetter = 'option';
};

$.widget.prototype = {
	_init: function() {},
	destroy: function() {
		this.element.removeData(this.widgetName)
			.removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled')
			.removeAttr('aria-disabled');
	},

	option: function(key, value) {
		var options = key,
			self = this;

		if (typeof key == "string") {
			if (value === undefined) {
				return this._getData(key);
			}
			options = {};
			options[key] = value;
		}

		$.each(options, function(key, value) {
			self._setData(key, value);
		});
	},
	_getData: function(key) {
		return this.options[key];
	},
	_setData: function(key, value) {
		this.options[key] = value;

		if (key == 'disabled') {
			this.element
				[value ? 'addClass' : 'removeClass'](
					this.widgetBaseClass + '-disabled' + ' ' +
					this.namespace + '-state-disabled')
				.attr("aria-disabled", value);
		}
	},

	enable: function() {
		this._setData('disabled', false);
	},
	disable: function() {
		this._setData('disabled', true);
	},

	_trigger: function(type, event, data) {
		var callback = this.options[type],
			eventName = (type == this.widgetEventPrefix
				? type : this.widgetEventPrefix + type);

		event = $.Event(event);
		event.type = eventName;

		// copy original event properties over to the new event
		// this would happen if we could call $.event.fix instead of $.Event
		// but we don't have a way to force an event to be fixed multiple times
		if (event.originalEvent) {
			for (var i = $.event.props.length, prop; i;) {
				prop = $.event.props[--i];
				event[prop] = event.originalEvent[prop];
			}
		}

		this.element.trigger(event, data);

		return !($.isFunction(callback) && callback.call(this.element[0], event, data) === false
			|| event.isDefaultPrevented());
	}
};

$.widget.defaults = {
	disabled: false
};


/** Mouse Interaction Plugin **/

$.ui.mouse = {
	_mouseInit: function() {
		var self = this;

		this.element
			.bind('mousedown.'+this.widgetName, function(event) {
				return self._mouseDown(event);
			})
			.bind('click.'+this.widgetName, function(event) {
				if(self._preventClickEvent) {
					self._preventClickEvent = false;
					event.stopImmediatePropagation();
					return false;
				}
			});

		// Prevent text selection in IE
		if ($.browser.msie) {
			this._mouseUnselectable = this.element.attr('unselectable');
			this.element.attr('unselectable', 'on');
		}

		this.started = false;
	},

	// TODO: make sure destroying one instance of mouse doesn't mess with
	// other instances of mouse
	_mouseDestroy: function() {
		this.element.unbind('.'+this.widgetName);

		// Restore text selection in IE
		($.browser.msie
			&& this.element.attr('unselectable', this._mouseUnselectable));
	},

	_mouseDown: function(event) {
		// don't let more than one widget handle mouseStart
		// TODO: figure out why we have to use originalEvent
		event.originalEvent = event.originalEvent || {};
		if (event.originalEvent.mouseHandled) { return; }

		// we may have missed mouseup (out of window)
		(this._mouseStarted && this._mouseUp(event));

		this._mouseDownEvent = event;

		var self = this,
			btnIsLeft = (event.which == 1),
			elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
			return true;
		}

		this.mouseDelayMet = !this.options.delay;
		if (!this.mouseDelayMet) {
			this._mouseDelayTimer = setTimeout(function() {
				self.mouseDelayMet = true;
			}, this.options.delay);
		}

		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
			this._mouseStarted = (this._mouseStart(event) !== false);
			if (!this._mouseStarted) {
				event.preventDefault();
				return true;
			}
		}

		// these delegates are required to keep context
		this._mouseMoveDelegate = function(event) {
			return self._mouseMove(event);
		};
		this._mouseUpDelegate = function(event) {
			return self._mouseUp(event);
		};
		$(document)
			.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);

		// preventDefault() is used to prevent the selection of text here -
		// however, in Safari, this causes select boxes not to be selectable
		// anymore, so this fix is needed
		($.browser.safari || event.preventDefault());

		event.originalEvent.mouseHandled = true;
		return true;
	},

	_mouseMove: function(event) {
		// IE mouseup check - mouseup happened when mouse was out of window
		if ($.browser.msie && !event.button) {
			return this._mouseUp(event);
		}

		if (this._mouseStarted) {
			this._mouseDrag(event);
			return event.preventDefault();
		}

		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
			this._mouseStarted =
				(this._mouseStart(this._mouseDownEvent, event) !== false);
			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
		}

		return !this._mouseStarted;
	},

	_mouseUp: function(event) {
		$(document)
			.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);

		if (this._mouseStarted) {
			this._mouseStarted = false;
			this._preventClickEvent = (event.target == this._mouseDownEvent.target);
			this._mouseStop(event);
		}

		return false;
	},

	_mouseDistanceMet: function(event) {
		return (Math.max(
				Math.abs(this._mouseDownEvent.pageX - event.pageX),
				Math.abs(this._mouseDownEvent.pageY - event.pageY)
			) >= this.options.distance
		);
	},

	_mouseDelayMet: function(event) {
		return this.mouseDelayMet;
	},

	// These are placeholder methods, to be overriden by extending plugin
	_mouseStart: function(event) {},
	_mouseDrag: function(event) {},
	_mouseStop: function(event) {},
	_mouseCapture: function(event) { return true; }
};

$.ui.mouse.defaults = {
	cancel: null,
	distance: 1,
	delay: 0
};

})(jQuery);

}catch(e){alert('Error in ui.core: ' + e.description);}

// ---- ui.slider ----
try{ /*
 * jQuery UI Slider 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */

(function($) {

$.widget("ui.slider", $.extend({}, $.ui.mouse, {

	_init: function() {

		var self = this, o = this.options;
		this._keySliding = false;
		this._handleIndex = null;
		this._detectOrientation();
		this._mouseInit();

		this.element
			.addClass("ui-slider"
				+ " ui-slider-" + this.orientation
				+ " ui-widget"
				+ " ui-widget-content"
				+ " ui-corner-all");

		this.range = $([]);

		if (o.range) {

			if (o.range === true) {
				this.range = $('<div></div>');
				if (!o.values) o.values = [this._valueMin(), this._valueMin()];
				if (o.values.length && o.values.length != 2) {
					o.values = [o.values[0], o.values[0]];
				}
			} else {
				this.range = $('<div></div>');
			}

			this.range
				.appendTo(this.element)
				.addClass("ui-slider-range");

			if (o.range == "min" || o.range == "max") {
				this.range.addClass("ui-slider-range-" + o.range);
			}

			// note: this isn't the most fittingly semantic framework class for this element,
			// but worked best visually with a variety of themes
			this.range.addClass("ui-widget-header");

		}

		if ($(".ui-slider-handle", this.element).length == 0)
			$('<a href="#"></a>')
				.appendTo(this.element)
				.addClass("ui-slider-handle");

		if (o.values && o.values.length) {
			while ($(".ui-slider-handle", this.element).length < o.values.length)
				$('<a href="#"></a>')
					.appendTo(this.element)
					.addClass("ui-slider-handle");
		}

		this.handles = $(".ui-slider-handle", this.element)
			.addClass("ui-state-default"
				+ " ui-corner-all");

		this.handle = this.handles.eq(0);

		this.handles.add(this.range).filter("a")
			.click(function(event) {
				event.preventDefault();
			})
			.hover(function() {
				if (!o.disabled) {
					$(this).addClass('ui-state-hover');
				}
			}, function() {
				$(this).removeClass('ui-state-hover');
			})
			.focus(function() {
				if (!o.disabled) {
					$(".ui-slider .ui-state-focus").removeClass('ui-state-focus'); $(this).addClass('ui-state-focus');
				} else {
					$(this).blur();
				}
			})
			.blur(function() {
				$(this).removeClass('ui-state-focus');
			});

		this.handles.each(function(i) {
			$(this).data("index.ui-slider-handle", i);
		});

		this.handles.keydown(function(event) {

			var ret = true;

			var index = $(this).data("index.ui-slider-handle");

			if (self.options.disabled)
				return;

			switch (event.keyCode) {
				case $.ui.keyCode.HOME:
				case $.ui.keyCode.END:
				case $.ui.keyCode.UP:
				case $.ui.keyCode.RIGHT:
				case $.ui.keyCode.DOWN:
				case $.ui.keyCode.LEFT:
					ret = false;
					if (!self._keySliding) {
						self._keySliding = true;
						$(this).addClass("ui-state-active");
						self._start(event, index);
					}
					break;
			}

			var curVal, newVal, step = self._step();
			if (self.options.values && self.options.values.length) {
				curVal = newVal = self.values(index);
			} else {
				curVal = newVal = self.value();
			}

			switch (event.keyCode) {
				case $.ui.keyCode.HOME:
					newVal = self._valueMin();
					break;
				case $.ui.keyCode.END:
					newVal = self._valueMax();
					break;
				case $.ui.keyCode.UP:
				case $.ui.keyCode.RIGHT:
					if(curVal == self._valueMax()) return;
					newVal = curVal + step;
					break;
				case $.ui.keyCode.DOWN:
				case $.ui.keyCode.LEFT:
					if(curVal == self._valueMin()) return;
					newVal = curVal - step;
					break;
			}

			self._slide(event, index, newVal);

			return ret;

		}).keyup(function(event) {

			var index = $(this).data("index.ui-slider-handle");

			if (self._keySliding) {
				self._stop(event, index);
				self._change(event, index);
				self._keySliding = false;
				$(this).removeClass("ui-state-active");
			}

		});

		this._refreshValue();

	},

	destroy: function() {

		this.handles.remove();
		this.range.remove();

		this.element
			.removeClass("ui-slider"
				+ " ui-slider-horizontal"
				+ " ui-slider-vertical"
				+ " ui-slider-disabled"
				+ " ui-widget"
				+ " ui-widget-content"
				+ " ui-corner-all")
			.removeData("slider")
			.unbind(".slider");

		this._mouseDestroy();

	},

	_mouseCapture: function(event) {

		var o = this.options;

		if (o.disabled)
			return false;

		this.elementSize = {
			width: this.element.outerWidth(),
			height: this.element.outerHeight()
		};
		this.elementOffset = this.element.offset();

		var position = { x: event.pageX, y: event.pageY };
		var normValue = this._normValueFromMouse(position);

		var distance = this._valueMax() - this._valueMin() + 1, closestHandle;
		var self = this, index;
		this.handles.each(function(i) {
			var thisDistance = Math.abs(normValue - self.values(i));
			if (distance > thisDistance) {
				distance = thisDistance;
				closestHandle = $(this);
				index = i;
			}
		});

		// workaround for bug #3736 (if both handles of a range are at 0,
		// the first is always used as the one with least distance,
		// and moving it is obviously prevented by preventing negative ranges)
		if(o.range == true && this.values(1) == o.min) {
			closestHandle = $(this.handles[++index]);
		}

		this._start(event, index);

		self._handleIndex = index;

		closestHandle
			.addClass("ui-state-active")
			.focus();
		
		var offset = closestHandle.offset();
		var mouseOverHandle = !$(event.target).parents().andSelf().is('.ui-slider-handle');
		this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
			left: event.pageX - offset.left - (closestHandle.width() / 2),
			top: event.pageY - offset.top
				- (closestHandle.height() / 2)
				- (parseInt(closestHandle.css('borderTopWidth'),10) || 0)
				- (parseInt(closestHandle.css('borderBottomWidth'),10) || 0)
				+ (parseInt(closestHandle.css('marginTop'),10) || 0)
		};

		normValue = this._normValueFromMouse(position);
		this._slide(event, index, normValue);
		return true;

	},

	_mouseStart: function(event) {
		return true;
	},

	_mouseDrag: function(event) {

		var position = { x: event.pageX, y: event.pageY };
		var normValue = this._normValueFromMouse(position);
		
		this._slide(event, this._handleIndex, normValue);

		return false;

	},

	_mouseStop: function(event) {

		this.handles.removeClass("ui-state-active");
		this._stop(event, this._handleIndex);
		this._change(event, this._handleIndex);
		this._handleIndex = null;
		this._clickOffset = null;

		return false;

	},
	
	_detectOrientation: function() {
		this.orientation = this.options.orientation == 'vertical' ? 'vertical' : 'horizontal';
	},

	_normValueFromMouse: function(position) {

		var pixelTotal, pixelMouse;
		if ('horizontal' == this.orientation) {
			pixelTotal = this.elementSize.width;
			pixelMouse = position.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0);
		} else {
			pixelTotal = this.elementSize.height;
			pixelMouse = position.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0);
		}

		var percentMouse = (pixelMouse / pixelTotal);
		if (percentMouse > 1) percentMouse = 1;
		if (percentMouse < 0) percentMouse = 0;
		if ('vertical' == this.orientation)
			percentMouse = 1 - percentMouse;

		var valueTotal = this._valueMax() - this._valueMin(),
			valueMouse = percentMouse * valueTotal,
			valueMouseModStep = valueMouse % this.options.step,
			normValue = this._valueMin() + valueMouse - valueMouseModStep;

		if (valueMouseModStep > (this.options.step / 2))
			normValue += this.options.step;

		// Since JavaScript has problems with large floats, round
		// the final value to 5 digits after the decimal point (see #4124)
		return parseFloat(normValue.toFixed(5));

	},

	_start: function(event, index) {
		var uiHash = {
			handle: this.handles[index],
			value: this.value()
		};
		if (this.options.values && this.options.values.length) {
			uiHash.value = this.values(index);
			uiHash.values = this.values();
		}
		this._trigger("start", event, uiHash);
	},

	_slide: function(event, index, newVal) {

		var handle = this.handles[index];

		if (this.options.values && this.options.values.length) {

			var otherVal = this.values(index ? 0 : 1);

			if ((this.options.values.length == 2 && this.options.range === true) && 
				((index == 0 && newVal > otherVal) || (index == 1 && newVal < otherVal))){
 				newVal = otherVal;
			}

			if (newVal != this.values(index)) {
				var newValues = this.values();
				newValues[index] = newVal;
				// A slide can be canceled by returning false from the slide callback
				var allowed = this._trigger("slide", event, {
					handle: this.handles[index],
					value: newVal,
					values: newValues
				});
				var otherVal = this.values(index ? 0 : 1);
				if (allowed !== false) {
					this.values(index, newVal, ( event.type == 'mousedown' && this.options.animate ), true);
				}
			}

		} else {

			if (newVal != this.value()) {
				// A slide can be canceled by returning false from the slide callback
				var allowed = this._trigger("slide", event, {
					handle: this.handles[index],
					value: newVal
				});
				if (allowed !== false) {
					this._setData('value', newVal, ( event.type == 'mousedown' && this.options.animate ));
				}
					
			}

		}

	},

	_stop: function(event, index) {
		var uiHash = {
			handle: this.handles[index],
			value: this.value()
		};
		if (this.options.values && this.options.values.length) {
			uiHash.value = this.values(index);
			uiHash.values = this.values();
		}
		this._trigger("stop", event, uiHash);
	},

	_change: function(event, index) {
		var uiHash = {
			handle: this.handles[index],
			value: this.value()
		};
		if (this.options.values && this.options.values.length) {
			uiHash.value = this.values(index);
			uiHash.values = this.values();
		}
		this._trigger("change", event, uiHash);
	},

	value: function(newValue) {

		if (arguments.length) {
			this._setData("value", newValue);
			this._change(null, 0);
		}

		return this._value();

	},

	values: function(index, newValue, animated, noPropagation) {

		if (arguments.length > 1) {
			this.options.values[index] = newValue;
			this._refreshValue(animated);
			if(!noPropagation) this._change(null, index);
		}

		if (arguments.length) {
			if (this.options.values && this.options.values.length) {
				return this._values(index);
			} else {
				return this.value();
			}
		} else {
			return this._values();
		}

	},

	_setData: function(key, value, animated) {

		$.widget.prototype._setData.apply(this, arguments);

		switch (key) {
			case 'disabled':
				if (value) {
					this.handles.filter(".ui-state-focus").blur();
					this.handles.removeClass("ui-state-hover");
					this.handles.attr("disabled", "disabled");
				} else {
					this.handles.removeAttr("disabled");
				}
			case 'orientation':

				this._detectOrientation();
				
				this.element
					.removeClass("ui-slider-horizontal ui-slider-vertical")
					.addClass("ui-slider-" + this.orientation);
				this._refreshValue(animated);
				break;
			case 'value':
				this._refreshValue(animated);
				break;
		}

	},

	_step: function() {
		var step = this.options.step;
		return step;
	},

	_value: function() {

		var val = this.options.value;
		if (val < this._valueMin()) val = this._valueMin();
		if (val > this._valueMax()) val = this._valueMax();

		return val;

	},

	_values: function(index) {

		if (arguments.length) {
			var val = this.options.values[index];
			if (val < this._valueMin()) val = this._valueMin();
			if (val > this._valueMax()) val = this._valueMax();

			return val;
		} else {
			return this.options.values;
		}

	},

	_valueMin: function() {
		var valueMin = this.options.min;
		return valueMin;
	},

	_valueMax: function() {
		var valueMax = this.options.max;
		return valueMax;
	},

	_refreshValue: function(animate) {

		var oRange = this.options.range, o = this.options, self = this;

		if (this.options.values && this.options.values.length) {
			var vp0, vp1;
			this.handles.each(function(i, j) {
				var valPercent = (self.values(i) - self._valueMin()) / (self._valueMax() - self._valueMin()) * 100;
				var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
				$(this).stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate);
				if (self.options.range === true) {
					if (self.orientation == 'horizontal') {
						(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ left: valPercent + '%' }, o.animate);
						(i == 1) && self.range[animate ? 'animate' : 'css']({ width: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
					} else {
						(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ bottom: (valPercent) + '%' }, o.animate);
						(i == 1) && self.range[animate ? 'animate' : 'css']({ height: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
					}
				}
				lastValPercent = valPercent;
			});
		} else {
			var value = this.value(),
				valueMin = this._valueMin(),
				valueMax = this._valueMax(),
				valPercent = valueMax != valueMin
					? (value - valueMin) / (valueMax - valueMin) * 100
					: 0;
			var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
			this.handle.stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate);

			(oRange == "min") && (this.orientation == "horizontal") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ width: valPercent + '%' }, o.animate);
			(oRange == "max") && (this.orientation == "horizontal") && this.range[animate ? 'animate' : 'css']({ width: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
			(oRange == "min") && (this.orientation == "vertical") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ height: valPercent + '%' }, o.animate);
			(oRange == "max") && (this.orientation == "vertical") && this.range[animate ? 'animate' : 'css']({ height: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
		}

	}
	
}));

$.extend($.ui.slider, {
	getter: "value values",
	version: "1.7.2",
	eventPrefix: "slide",
	defaults: {
		animate: false,
		delay: 0,
		distance: 0,
		max: 100,
		min: 0,
		orientation: 'horizontal',
		range: false,
		step: 1,
		value: 0,
		values: null
	}
});

})(jQuery);

}catch(e){alert('Error in ui.slider: ' + e.description);}

// ---- jquery.tooltip ----
try{ /*
 * jQuery Tooltip plugin 1.3
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
 * http://docs.jquery.com/Plugins/Tooltip
 *
 * Copyright (c) 2006 - 2008 Jörn Zaefferer
 *
 * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
 
;(function($) {
	
		// the tooltip element
	var helper = {},
		// the current tooltipped element
		current,
		// the title of the current element, used for restoring
		title,
		// timeout id for delayed tooltips
		tID,
		// IE 5.5 or 6
		IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
		// flag for mouse tracking
		track = false;
	
	$.tooltip = {
		blocked: false,
		defaults: {
			delay: 200,
			fade: false,
			showURL: true,
			extraClass: "",
			top: 15,
			left: 15,
			id: "tooltip"
		},
		block: function() {
			$.tooltip.blocked = !$.tooltip.blocked;
		}
	};
	
	$.fn.extend({
		tooltip: function(settings) {
			settings = $.extend({}, $.tooltip.defaults, settings);
			createHelper(settings);
			return this.each(function() {
					$.data(this, "tooltip", settings);
					this.tOpacity = helper.parent.css("opacity");
					// copy tooltip into its own expando and remove the title
					this.tooltipText = this.title;
					$(this).removeAttr("title");
					// also remove alt attribute to prevent default tooltip in IE
					this.alt = "";
				})
				.mouseover(save)
				.mouseout(hide)
				.click(hide);
		},
		fixPNG: IE ? function() {
			return this.each(function () {
				var image = $(this).css('backgroundImage');
				if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
					image = RegExp.$1;
					$(this).css({
						'backgroundImage': 'none',
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
					}).each(function () {
						var position = $(this).css('position');
						if (position != 'absolute' && position != 'relative')
							$(this).css('position', 'relative');
					});
				}
			});
		} : function() { return this; },
		unfixPNG: IE ? function() {
			return this.each(function () {
				$(this).css({'filter': '', backgroundImage: ''});
			});
		} : function() { return this; },
		hideWhenEmpty: function() {
			return this.each(function() {
				$(this)[ $(this).html() ? "show" : "hide" ]();
			});
		},
		url: function() {
			return this.attr('href') || this.attr('src');
		}
	});
	
	function createHelper(settings) {
		// there can be only one tooltip helper
		if( helper.parent )
			return;
		// create the helper, h3 for title, div for url
		helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>')
			// add to document
			.appendTo(document.body)
			// hide it at first
			.hide();
			
		// apply bgiframe if available
		if ( $.fn.bgiframe )
			helper.parent.bgiframe();
		
		// save references to title and url elements
		helper.title = $('h3', helper.parent);
		helper.body = $('div.body', helper.parent);
		helper.url = $('div.url', helper.parent);
	}
	
	function settings(element) {
		return $.data(element, "tooltip");
	}
	
	// main event handler to start showing tooltips
	function handle(event) {
		// show helper, either with timeout or on instant
		if( settings(this).delay )
			tID = setTimeout(show, settings(this).delay);
		else
			show();
		
		// if selected, update the helper position when the mouse moves
		track = !!settings(this).track;
		$(document.body).bind('mousemove', update);
			
		// update at least once
		update(event);
	}
	
	// save elements title before the tooltip is displayed
	function save() {
		// if this is the current source, or it has no title (occurs with click event), stop
		if ( $.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler) )
			return;

		// save current
		current = this;
		title = this.tooltipText;
		
		if ( settings(this).bodyHandler ) {
			helper.title.hide();
			var bodyContent = settings(this).bodyHandler.call(this);
			if (bodyContent.nodeType || bodyContent.jquery) {
				helper.body.empty().append(bodyContent)
			} else {
				helper.body.html( bodyContent );
			}
			helper.body.show();
		} else if ( settings(this).showBody ) {
			var parts = title.split(settings(this).showBody);
			helper.title.html(parts.shift()).show();
			helper.body.empty();
			for(var i = 0, part; (part = parts[i]); i++) {
				if(i > 0)
					helper.body.append("<br/>");
				helper.body.append(part);
			}
			helper.body.hideWhenEmpty();
		} else {
			helper.title.html(title).show();
			helper.body.hide();
		}
		
		// if element has href or src, add and show it, otherwise hide it
		if( settings(this).showURL && $(this).url() )
			helper.url.html( $(this).url().replace('http://', '') ).show();
		else 
			helper.url.hide();
		
		// add an optional class for this tip
		helper.parent.addClass(settings(this).extraClass);

		// fix PNG background for IE
		if (settings(this).fixPNG )
			helper.parent.fixPNG();
			
		handle.apply(this, arguments);
	}
	
	// delete timeout and show helper
	function show() {
		tID = null;
		if ((!IE || !$.fn.bgiframe) && settings(current).fade) {
			if (helper.parent.is(":animated"))
				helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity);
			else
				helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade);
		} else {
			helper.parent.show();
		}
		update();
	}
	
	/**
	 * callback for mousemove
	 * updates the helper position
	 * removes itself when no current element
	 */
	function update(event)	{
		if($.tooltip.blocked)
			return;
		
		if (event && event.target.tagName == "OPTION") {
			return;
		}
		
		// stop updating when tracking is disabled and the tooltip is visible
		if ( !track && helper.parent.is(":visible")) {
			$(document.body).unbind('mousemove', update)
		}
		
		// if no current element is available, remove this listener
		if( current == null ) {
			$(document.body).unbind('mousemove', update);
			return;	
		}
		
		// remove position helper classes
		helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
		
		var left = helper.parent[0].offsetLeft;
		var top = helper.parent[0].offsetTop;
		if (event) {
			// position the helper 15 pixel to bottom right, starting from mouse position
			left = event.pageX + settings(current).left;
			top = event.pageY + settings(current).top;
			var right='auto';
			if (settings(current).positionLeft) {
				right = $(window).width() - left;
				left = 'auto';
			}
			helper.parent.css({
				left: left,
				right: right,
				top: top
			});
		}
		
		var v = viewport(),
			h = helper.parent[0];
		// check horizontal position
		if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
			left -= h.offsetWidth + 20 + settings(current).left;
			helper.parent.css({left: left + 'px'}).addClass("viewport-right");
		}
		// check vertical position
		if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
			top -= h.offsetHeight + 20 + settings(current).top;
			helper.parent.css({top: top + 'px'}).addClass("viewport-bottom");
		}
	}
	
	function viewport() {
		return {
			x: $(window).scrollLeft(),
			y: $(window).scrollTop(),
			cx: $(window).width(),
			cy: $(window).height()
		};
	}
	
	// hide helper and restore added classes and the title
	function hide(event) {
		if($.tooltip.blocked)
			return;
		// clear timeout if possible
		if(tID)
			clearTimeout(tID);
		// no more current element
		current = null;
		
		var tsettings = settings(this);
		function complete() {
			helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
		}
		if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
			if (helper.parent.is(':animated'))
				helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
			else
				helper.parent.stop().fadeOut(tsettings.fade, complete);
		} else
			complete();
		
		if( settings(this).fixPNG )
			helper.parent.unfixPNG();
	}
	
})(jQuery);

}catch(e){alert('Error in jquery.tooltip: ' + e.description);}

// ---- jquery.combobox.patch.pack ----
try{ /*
 jquery.combobox
 version 0.1.2.7
 
 Copyright © 2007,2008 Minel Pather|Ahura Mazda|jquery.sanchezsalvador.com
 Dual licensed under MIT and GPL licences:
 * www.opensource.org/licenses/mit-license.php
 * www.gnu.org/licenses/gpl.html
 
 !!!!!!!!!!!!!!!!!!!!!! NOTICE !!!!!!!!!!!!!!!!!!!!!!
 This file has peen patched to match the mini requirements.
 1- background-position for drop down image on line 394 has been disabled and is done through css comboboxDropDownButtonClass
 2- @dataType has been replaced with dataType since it is no longer supported by jquery >= 1.3.2
 3- Dropdown elements have been position absolute (relative) to parent container to match the requirements from the mosaic component
 4- Implementation to close the dropdown when clicked outsided from it
 */
/*
 jquery.combobox
 version 0.1.2.7
 
 Copyright © 2007,2008 Minel Pather|Ahura Mazda|jquery.sanchezsalvador.com
 Dual licensed under MIT and GPL licences:
 * www.opensource.org/licenses/mit-license.php
 * www.gnu.org/licenses/gpl.html
 */
 var allReplacedBoxes = [];
 
 
jQuery.fn.combobox = function (U, V) {
	if(this.attr('data-cb_replaced') === '1')
		return;
		
    var W = this;
    this.combobox = new Function();
    var X = {
        comboboxContainerClass: null,
        comboboxValueContentContainerClass: null,
        comboboxValueContentClass: null,
        comboboxDropDownButtonClass: null,
        comboboxDropDownClass: null,
        comboboxDropDownItemClass: null,
        comboboxDropDownItemHoverClass: null,
        comboboxDropDownGroupItemHeaderClass: null,
        comboboxDropDownGroupItemContainerClass: null
    };
    var Y = {
        animationType: "slide",
        animationSpeed: "fast",
        width: 120
    };
    if (U) {
        jQuery.extend(X, U)
    }
    if (V) {
        jQuery.extend(Y, V)
    }
    this.combobox.onChange = null;

    function getInstance(a) {
        return a[0].internalCombobox
    }
    function makeRemoveFunction(a) {
        return function () {
            getInstance(a).remove()
        }
    }
	function makeClose(a) {
        return function () {
            getInstance(a).close()
        }
    }
    function makeUpdateFunction(a) {
        return function () {
            getInstance(a).update()
        }
    }
    function makeUpdateSelectionFunction(a) {
        return function () {
            getInstance(a).updateSelection()
        }
    }
    function makeAddRangeFunction(b) {
        return function (a) {
            getInstance(b).addRange(a)
        }
    }
    jQuery.fn.extend(this.combobox, {
        addRange: makeAddRangeFunction(W),
        remove: makeRemoveFunction(W),
        update: makeUpdateFunction(W),
        updateSelection: makeUpdateSelectionFunction(W),
		close: makeClose(W)
    });
    var result = this.each(function () {
        this.internalCombobox = new ComboboxClass(this);
        this.internalCombobox.initialise();

        function ComboboxClass(k) {
            var l = jQuery(k);
            var m = null;
            var n = "background-color:#fff;border-left: solid 2px #777;border-top: solid 2px #777;border-right: solid 1px #ccc;border-bottom: solid 1px #ccc;";
            var o = "padding:0;";
            var p = null;
            var q = "list-style-type:none;min-height:15px;padding-top:0;margin:0;overflow:auto";
            var r = "cursor:default;padding:2px;background:#fff;border-right:solid 1px #000;border-bottom:solid 1px #000;border-left:solid 1px #aaa;border-top:solid 1px #aaa;";
            var s = "display:block;";
            var t = "cursor:default;padding-left:2px;font-weight:normal;font-style:normal;";
            var u = "list-style-type:none;";
            var v = "padding-left:10px;margin-left:0;";
            var w = "";
            var x = "font-style:italic;font-weight:bold;";
            var y = 300;
            var z = null;
            var A = "position:relative;overflow:hidden;";
            var B = null;
            var C = "float:left;position:absolute;cursor:default;overflow:hidden;";
            var D = "padding-left:3px;";
            var E = null;
            var F = "overflow:hidden;width:16px;height:18px;color:#000;background:#D6D3CE;font-family:arial;font-size:8px;cursor:default;text-align:center;vertical-align:middle;";
            var G = "background-repeat:no-repeat;float:right;";
            var H = "padding-left:0px;padding-top:1px;width:12px;height:13px;border-right:solid 2px #404040;border-bottom:solid 2px #404040;border-left:solid 2px #f0f0f0;border-top:solid 2px #f0f0f0";
            var I = "padding-left:1px;padding-top:3px;width:12px;height:13px;border:solid 1px #808080";
            var J = "&#9660;";
            var K = null;
            var L = null;
            var M = null;
            var N = false;
            var O = 0;
            var P = null;
            var Q = 0;
            var R = null;
            var S = null;
            var T = null;
            String.format = function () {
                var a = null;
                if (arguments.length != 0) {
                    a = arguments[0];
                    for (var b = 1; b < arguments.length; b++) {
                        var c = new RegExp('\\{' + (b - 1) + '\\}', 'gm');
                        a = a.replace(c, arguments[b])
                    }
                }
                return a
            };

            function getPixelValue(a) {
                var b = null;
                if (a) {
                    if (a.substr(-2, 2) == "px") {
                        b = a.substr(0, (a.length - 2))
                    }
                }
                return b
            }
            function setInnerWidth(a, b) {
                var c = (a.outerWidth() - a.width());
                a.width(b - c)
            }
            function setInnerHeight(a, b) {
                var c = (a.outerHeight() - a.height());
                a.height(b - c)
            }
            function applyMultipleStyles(a, b) {
                var c = b.split(";");
                if (c.length > 0) {
                    for (var d = 0; d < c.length; d++) {
                        var e = c[d];
                        var f = e.split(":");
                        a.css(f[0], f[1])
                    }
                }
            }
            function getImageDimension(a) {
                var b = new Object();
                b.width = 0;
                b.height = 0;
                sizingImageJQuery = jQuery("<img style='border:none;margin:0;padding:0;'></img>");
                sizingImageJQuery.attr("src", a);
                m.append(sizingImageJQuery);
                b.width = sizingImageJQuery.width();
                b.height = sizingImageJQuery.height();
                sizingImageJQuery.remove();
                return b
            }
            function calculateIndividualImageDimension(a) {
                var b = null;
                var c = a.css("background-image");
                c = c.replace("url(", "", "gi");
                c = c.replace('"', '', "gi");
                c = c.replace('\"', '', "gi");
                c = c.replace(")", "", "gi");
                if (c != "none") {
                    b = getImageDimension(c)
                }
                return b
            }
            function calculateImageDimensions() {
                R = calculateIndividualImageDimension(E);
                S = calculateIndividualImageDimension(z)
            }
            function setValueContentContainerState(a) {
                if (X.comboboxValueContentContainerClass) {
                    if (S != null) {
                        var b = z.height();
                        var c = (a * b);
                        if (S.height > c) {
                            var d = String.format("0px -{0}px", c);
                            z.css("background-position", d)
                        }
                    }
                }
            }
            function setDropDownButtonState(a) {
                if (X.comboboxDropDownButtonClass) {
                    if (R != null) {
                        var b = E.width();
                        var c = (a * b);
                        if (R.width > c) {
                            var d = String.format("-{0}px 0px", c)
                        }
                    }
                } else {
                    var e = H;
                    if (a == 1) {
                        e = I
                    }
                    applyMultipleStyles(E, e)
                }
            }
            function setControlVisualState(a) {
                setValueContentContainerState(a);
                setDropDownButtonState(a)
            }
            function buildValueContent() {
                var a = "";
                if (X.comboboxValueContentContainerClass) {
                    a = String.format("<div class='{0}' style='{1}'></div>", X.comboboxValueContentContainerClass, A)
                } else {
                    a = String.format("<div style='{0}'></div>", A)
                }
                var b = "";
                if (X.comboboxValueContentClass) {
                    b = String.format("<div class='{0}' style='{1}'></div>", X.comboboxValueContentClass, C)
                } else {
                    b = String.format("<div style='{0}'></div>", C + D)
                }
                var c = "";
                if (X.comboboxDropDownButtonClass) {
                    c = String.format("<div class='{1}' style='{0}'></div>", G, X.comboboxDropDownButtonClass)
                } else {
                    c = String.format("<div style='{0}'>{1}</div>", (G + F), J)
                }
                B = jQuery(b);
                E = jQuery(c);
                z = jQuery(a);
                z.appendTo(m);
                B.appendTo(z);
                E.appendTo(z);
                //calculateImageDimensions(); //auskommentiert von m.pfaehler am 9.12.2010, da dies im IE das 1 item remaining dropdown_icon.png verursacht hat
                T = getPixelValue(B.css("max-height"));
                setControlVisualState(0)
            }
            function buildDropDownItem(a) {
                var b = "";
                var c = null;
                var d = "";
                var e = "";
                var f = null;
                var g = "";
                var h = "option";
                var i = a[0];
                if (i.title) {
                    if (i.title != "") {
                        e = i.title
                    }
                }
                if (a.is('option')) {
                    if (i.dataText) {
                        d = i.dataText
                    } else {
                        d = a.text()
                    }
                    f = a.val();
                    if (X.comboboxDropDownItemClass) {
                        c = X.comboboxDropDownItemClass;
                        g = s
                    } else {
                        g = (s + t)
                    }
                    if (c) {
                        b = String.format("<li style='{0}' class='{1}'>{2}</li>", g, c, d)
                    } else {
                        b = String.format("<li style='{0}'>{1}</li>", g, d)
                    }
                } else {
                    if (a[0].dataText) {
                        d = a[0].dataText
                    } else {
                        d = a.attr('label')
                    }
                    f = a.attr('class');
                    h = "optgroup";
                    if (X.comboboxDropDownGroupItemHeaderClass) {
                        c = X.comboboxDropDownGroupItemHeaderClass;
                        g = w
                    } else {
                        g = (w + x)
                    }
                    if (c) {
                        b = String.format("<li><span style='{0}' class='{1}'>{2}</span></li>", g, c, d)
                    } else {
                        b = String.format("<li><span style='{0}'>{1}</span></li>", g, d)
                    }
                }
                var j = jQuery(b);
                j.css("display", "inline");
                j[0].dataText = d;
                j[0].dataValue = f;
                j[0].dataType = h;
                if (e == "") {
                    e = d
                }
                j[0].title = e;
                return j
            }
            function recursivelyBuildList(g, h) {
                h.each(function () {
                    var a = jQuery(this);
                    var b = buildDropDownItem(a);
                    g.append(b);
                    var c = b.offset().left;
                    c -= P.left;
                    if (c < 0) {
                        c = 0
                    }
                    var d = (c + b.outerWidth());
                    if (d > O) {
                        O = d
                    }
                    applyMultipleStyles(b, s);
                    if (a.is('optgroup')) {
                        var e = "";
                        if (X.comboboxDropDownGroupItemContainerClass) {
                            e = String.format("<ul style='{0}' class='{1}'></ul>", u, X.comboboxDropDownGroupItemContainerClass)
                        } else {
                            e = String.format("<ul style='{0}'></ul>", (u + v))
                        }
                        var f = jQuery(e);
                        b.append(f);
                        recursivelyBuildList(f, a.children())
                    }
                })
            }
            function buildDropDownList() {
                var a = l.children();
                K = null;
                M = null;
                if (p) {
                    p.empty()
                } else {
                    var b = "";
                    if (X.comboboxDropDownClass) {
                        b = String.format("<ul class='{0}' style='{1}'></ul>", X.comboboxDropDownClass, q)
                    } else {
                        b = String.format("<ul style='{0}'></ul>", (q + r))
                    }
                    p = jQuery(b);
                    p.appendTo(m);
                    p.attr("tabIndex", 0)
                }
                if (a.length > 0) {
                    O = 0;
                    P = p.offset();
                    recursivelyBuildList(p, a)
                }
                var c = getPixelValue(p.css("max-height"));
                if (c) {
                    y = c
                }
                var d = p.height();
                if (d > y) {
                    p.height(y)
                }
                Q = p.height()
            }
            function updateDropDownListWidth() {
                var a = m.outerWidth();
                if (a < O) {
                    a = O
                }
                p.width(a)
            }
			
            function positionDisplayValue() {
                B.height("auto");
                var a = B.outerHeight();
                var b = z.height();
                
                /** NOTE: The following if-branch was removed by m.pfaehler as it caused bug #1285 (opera drop downs)
                  * The if statement is also not present within the current jquery combobox implementation 0.1.2 alpha 
                  * therefore the removal should not cause any harm.
                  *
                if (T) {
                    if (T < a) {
                        a = T;
                        B.height(a)
                    }
                }
                */
                var c = ((b - a) / 2);
                if (c < 0) {
                    c = 0
                }
                B.css("top", c)
            }
            function applyLayout() {
                m.width(Y.width);
                var a = m.width();
                setInnerWidth(z, a);
                var b = (z.width() - E.outerWidth());
                setInnerWidth(B, b);
                var c = E.outerHeight();
                setInnerHeight(z, c);
                p.css("position", "absolute");
                p.css("z-index", "20000");
                updateDropDownListWidth();
                var d = p.offset().left;
                var e = (d - (m.outerWidth() - m.width()));
                p.css("left", p.parent().position().left + 1);
                p.hide()
            }
            function setContentDisplay() {
                var a = false;
                var b = l[0];
                var c;
                if (b.length > 0) {
                    var d = jQuery("li[dataValue='" + l.val() + "']", p);
                    B.html(d[0].dataText);
                    B.attr("title", d[0].title);
                    positionDisplayValue();
                    if (M) {
                        if (M != l.val()) {
                            a = true
                        }
                    }
                    M = l.val();
                    if (a) {
                        if (W.combobox.onChange) {
                            W.combobox.onChange()
                        }
                    }
                    if (K) {
                        toggleItemHighlight(K, false)
                    }
                    K = d;
                    toggleItemHighlight(K, true)
                }
            }
            function scrollDropDownListItemIntoView(a) {
                if (a) {
                    if (Q >= y) {
                        var b = a.offset();
                        if ((b.top > Q) || (b.top <= a.outerHeight())) {
                            a[0].scrollIntoView()
                        }
                    }
                }
            }
            function toggleItemHighlight(a, b) {
                if (a) {
                    if (X.comboboxDropDownItemHoverClass) {
                        if (b) {
                            a.addClass(X.comboboxDropDownItemHoverClass)
                        } else {
                            a.removeClass(X.comboboxDropDownItemHoverClass)
                        }
                    } else {
                        if (b) {
                            a.css("background", "#000");
                            a.css("color", "#fff")
                        } else {
                            a.css("background", "");
                            a.css("color", "")
                        }
                    }
                }
            }
            function buildContainer() {
                var a = "";
                if (X.comboboxContainerClass) {
                    a = String.format("<div class='{0}' style='{1}'></div>", X.comboboxContainerClass, o)
                } else {
                    a = String.format("<div style='{0}' style='{1}'></div>", n, o)
                }
                m = jQuery(a);
                l.before(m);
                m.append(l);
                l.hide();
                m.attr("tabIndex", 0)
            }
            this.initialise = function () {
                buildContainer();
                buildValueContent();
                buildDropDownList();
                applyLayout();
                bindEvents();
                setContentDisplay()
            };
			
			this.close = function() {
				toggleDropDownList(false);
			}

            function postDropDownListShown() {
                p.focus();
                scrollDropDownListItemIntoView(K)
            }
            function setAndBindContainerFocus() {
                m.focus();
                bindContainerClickEvent()
            }
            function slideUp(a) {
                p.animate({
                    height: "toggle",
                    top: a
                }, Y.animationSpeed, postDropDownListShown)
            }
            function slideDown(a) {
                p.animate({
                    height: "toggle",
                    opacity: "toggle",
                    top: a
                }, Y.animationSpeed, setAndBindContainerFocus)
            }
            function slideToggle(a) {
                p.animate({
                    height: "toggle",
                    opacity: "toggle"
                }, Y.animationSpeed, a)
            }
            function getDropDownListTop() {
                var a = m.position().top;
                var b = p.outerHeight();
                var c = (a + m.outerHeight());
                var d = jQuery(window).scrollTop();
                var e = jQuery(window).height();
                var f = (e - (c - d));
                var g;
                g = c;
                N = false;
                if (f < b) {
                    if ((a - d) > b) {
                        g = (a - b);
                        N = true
                    }
                }
                return g
            }
            function toggleDropDownList(a) {
                if (a) {
                    if (p.is(":hidden")) {
                        unbindContainerClickEvent();
                        toggleItemHighlight(L, false);
                        toggleItemHighlight(K, true);
                        setControlVisualState(1);
                        var b = getDropDownListTop();
                        ("top", b);
                        p.css("left", p.parent().position().left);
                        switch (Y.animationType) {
                        case "slide":
                            if (N) {
                                var c = m.position().top;
                                var d = m.outerHeight();
                                p.css("top", (c - d));
                                slideUp(b)
                            } else {
                                slideToggle(postDropDownListShown)
                            }
                            break;
                        case "fade":
                            p.fadeIn(Y.animationSpeed, postDropDownListShown);
                            break;
                        default:
                            p.show(1, postDropDownListShown)
                        }
                    }
                } else {
                    if (p.is(":visible")) {
                        setControlVisualState(0);
                        switch (Y.animationType) {
                        case "slide":
                            if (N) {
                                c = m.position().top;
                                dropdownListHeight = p.height();
                                slideDown(c - m.outerHeight())
                            } else {
                                slideToggle(setAndBindContainerFocus)
                            }
                            break;
                        case "fade":
                            p.fadeOut(Y.animationSpeed, setAndBindContainerFocus);
                            break;
                        default:
                            p.hide();
                            setAndBindContainerFocus()
                        }
                    }
                }
            }
            function setOriginalSelectItem(a, b) {
                var c = l[0];
                if (b == null) {
                    c.selectedIndex = a
                } else {
                    c.value = b
                }
                
				setContentDisplay()
				
				if (c.onchange) {
                    c.onchange()
                }
            }
            function selectValue(a) {
                var b = l[0];
                var c = b.selectedIndex;
                var d = -1;
                var e = b.length - 1;
                switch (a) {
                case ":next":
                    d = c + 1;
                    if (d > e) {
                        d = e
                    }
                    break;
                case ":previous":
                    d = c - 1;
                    if (d < 0) {
                        d = 0
                    }
                    break;
                case ":first":
                    d = 0;
                    break;
                case ":last":
                    d = e;
                    break
                }
                setOriginalSelectItem(d, null);
                scrollDropDownListItemIntoView(K)
            }
            function isDropDownVisible() {
                return p.is(":visible")
            }
            function bindItemEvents() {
                jQuery("li", p).not("ul").not("span").not("[dataType='optgroup']").each(function () {
                    var b = jQuery(this);
                    b.click(function (a) {
                        a.stopPropagation();
                        dropdownList_onItemClick(b)
                    });
                    b.mouseover(function () {
                        dropdownList_onItemMouseOver(b)
                    });
                    b.mouseout(function () {
                        dropdownList_onItemMouseOut(b)
                    })
                })
            }
            function bindBlurEvent() {
                p.blur(function (a) {
                    a.stopPropagation();
                    dropdownList_onBlur()
                })
            }
            function bindContainerClickEvent() {
                m.click(function () {
                    container_onClick()
                })
            }
            function unbindContainerClickEvent() {
                m.unbind("click")
            }
            function bindEvents() {
                m.keydown(function (a) {
                    a.preventDefault();
                    container_onKeyDown(a)
                });
                bindContainerClickEvent();
                bindBlurEvent();
                bindItemEvents()
            }
            function container_onClick() {
                if (p.is(":hidden")) {
                    toggleDropDownList(true)
                } else {
                    toggleDropDownList(false)
                }
            }
            function dropdownList_onBlur() {
                if (p.is(":visible")) {
                    toggleDropDownList(false)
                }
            }
            function dropdownList_onItemClick(a) {
                setOriginalSelectItem(null, a[0].dataValue);
                toggleDropDownList(false)
            }
            function dropdownList_onItemMouseOver(a) {
                toggleItemHighlight(K, false);
                toggleItemHighlight(L, false);
                toggleItemHighlight(a, true)
            }
            function dropdownList_onItemMouseOut(a) {
                L = a
            }
            function container_onKeyDown(a) {
                switch (a.which) {
                case 33:
                case 36:
                    selectValue(":first");
                    break;
                case 34:
                case 35:
                    selectValue(":last");
                    break;
                case 37:
                    selectValue(":previous");
                    break;
                case 38:
                    if (a.altKey) {
                        toggleDropDownList(!(isDropDownVisible()))
                    } else {
                        selectValue(":previous")
                    }
                    break;
                case 39:
                    selectValue(":next");
                    break;
                case 40:
                    if (a.altKey) {
                        toggleDropDownList(!(isDropDownVisible()))
                    } else {
                        selectValue(":next")
                    }
                    break;
                case 27:
                case 13:
                    toggleDropDownList(false);
                    break;
                case 9:
                    p.blur();
                    jQuery(window)[0].focus();
                    break
                }
            }
            this.updateSelection = function () {
                setContentDisplay()
            };
            this.update = function () {
                buildDropDownList();
                updateDropDownListWidth();
                bindItemEvents();
                setContentDisplay()
            };
            this.remove = function () {
                m.before(l);
                m.remove();
                l[0].internalCombobox = null;
                l.show()
            };
            this.addRange = function (a) {
                if (a) {
                    var b = l[0].options;
                    var c = b.length;
                    for (optionIndex in a) {
                        var d = a[optionIndex];
                        var e = document.createElement("option");
                        e.value = d.value;
                        e.text = d.text;
                        e.dataText = d.text;
                        if (d.title) {
                            e.title = d.title
                        }
                        b[c + optionIndex] = e
                    }
                    l.combobox.update()
                }
            }
        }
    });
	
	allReplacedBoxes.push(result);
	
	this.attr('data-cb_replaced','1');
	
	return result;
}
}catch(e){alert('Error in jquery.combobox.patch.pack: ' + e.description);}

// ---- cufon-yui-patched ----
try{ /*!
 * Copyright (c) 2010 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version ${Version}
 * 
 * Patched 2010/02/26 to allow vertical alignment of text with different font sizes. 
 * - added new option parameters: leftOffset, topOffset to position the cufon canvas
 * Patched 2010/06/04 to allow line-height lower than 1.2em
 * - added fix for line-height lower than 1.2em
 */

var Cufon = (function() {

	var api = function() {
		return api.replace.apply(null, arguments);
	};

	var DOM = api.DOM = {

		ready: (function() {

			var complete = false, readyStatus = { loaded: 1, complete: 1 };

			var queue = [], perform = function() {
				if (complete) return;
				complete = true;
				for (var fn; fn = queue.shift(); fn());
			};

			// Gecko, Opera, WebKit r26101+

			if (document.addEventListener) {
				document.addEventListener('DOMContentLoaded', perform, false);
				window.addEventListener('pageshow', perform, false); // For cached Gecko pages
			}

			// Old WebKit, Internet Explorer

			if (!window.opera && document.readyState) (function() {
				readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
			})();

			// Internet Explorer

			if (document.readyState && document.createStyleSheet) (function() {
				try {
					document.body.doScroll('left');
					perform();
				}
				catch (e) {
					setTimeout(arguments.callee, 1);
				}
			})();

			addEvent(window, 'load', perform); // Fallback

			return function(listener) {
				if (!arguments.length) perform();
				else complete ? listener() : queue.push(listener);
			};

		})(),

		root: function() {
			return document.documentElement || document.body;
		}

	};

	var CSS = api.CSS = {

		Size: function(value, base) {

			this.value = parseFloat(value);
			this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';

			this.convert = function(value) {
				return value / base * this.value;
			};

			this.convertFrom = function(value) {
				return value / this.value * base;
			};

			this.toString = function() {
				return this.value + this.unit;
			};

		},

		addClass: function(el, className) {
			var current = el.className;
			el.className = current + (current && ' ') + className;
			return el;
		},

		color: cached(function(value) {
			var parsed = {};
			parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function($0, $1, $2) {
				parsed.opacity = parseFloat($2);
				return 'rgb(' + $1 + ')';
			});
			return parsed;
		}),

		// has no direct CSS equivalent.
		// @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
		fontStretch: cached(function(value) {
			if (typeof value == 'number') return value;
			if (/%$/.test(value)) return parseFloat(value) / 100;
			return {
				'ultra-condensed': 0.5,
				'extra-condensed': 0.625,
				condensed: 0.75,
				'semi-condensed': 0.875,
				'semi-expanded': 1.125,
				expanded: 1.25,
				'extra-expanded': 1.5,
				'ultra-expanded': 2
			}[value] || 1;
		}),

		getStyle: function(el) {
			var view = document.defaultView;
			if (view && view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
			if (el.currentStyle) return new Style(el.currentStyle);
			return new Style(el.style);
		},

		gradient: cached(function(value) {
			var gradient = {
				id: value,
				type: value.match(/^-([a-z]+)-gradient\(/)[1],
				stops: []
			}, colors = value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);
			for (var i = 0, l = colors.length, stop; i < l; ++i) {
				stop = colors[i].split('=', 2).reverse();
				gradient.stops.push([ stop[1] || i / (l - 1), stop[0] ]);
			}
			return gradient;
		}),

		quotedList: cached(function(value) {
			// doesn't work properly with empty quoted strings (""), but
			// it's not worth the extra code.
			var list = [], re = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, match;
			while (match = re.exec(value)) list.push(match[3] || match[1]);
			return list;
		}),

		recognizesMedia: cached(function(media) {
			var el = document.createElement('style'), sheet, container, supported;
			el.type = 'text/css';
			el.media = media;
			try { // this is cached anyway
				el.appendChild(document.createTextNode('/**/'));
			} catch (e) {}
			container = elementsByTagName('head')[0];
			container.insertBefore(el, container.firstChild);
			sheet = (el.sheet || el.styleSheet);
			supported = sheet && !sheet.disabled;
			container.removeChild(el);
			return supported;
		}),

		removeClass: function(el, className) {
			var re = RegExp('(?:^|\\s+)' + className +  '(?=\\s|$)', 'g');
			el.className = el.className.replace(re, '');
			return el;
		},

		supports: function(property, value) {
			var checker = document.createElement('span').style;
			if (checker[property] === undefined) return false;
			checker[property] = value;
			return checker[property] === value;
		},

		textAlign: function(word, style, position, wordCount) {
			if (style.get('textAlign') == 'right') {
				if (position > 0) word = ' ' + word;
			}
			else if (position < wordCount - 1) word += ' ';
			return word;
		},

		textShadow: cached(function(value) {
			if (value == 'none') return null;
			var shadows = [], currentShadow = {}, result, offCount = 0;
			var re = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;
			while (result = re.exec(value)) {
				if (result[0] == ',') {
					shadows.push(currentShadow);
					currentShadow = {};
					offCount = 0;
				}
				else if (result[1]) {
					currentShadow.color = result[1];
				}
				else {
					currentShadow[[ 'offX', 'offY', 'blur' ][offCount++]] = result[2];
				}
			}
			shadows.push(currentShadow);
			return shadows;
		}),

		textTransform: (function() {
			var map = {
				uppercase: function(s) {
					return s.toUpperCase();
				},
				lowercase: function(s) {
					return s.toLowerCase();
				},
				capitalize: function(s) {
					return s.replace(/\b./g, function($0) {
						return $0.toUpperCase();
					});
				}
			};
			return function(text, style) {
				var transform = map[style.get('textTransform')];
				return transform ? transform(text) : text;
			};
		})(),

		whiteSpace: (function() {
			var ignore = {
				inline: 1,
				'inline-block': 1,
				'run-in': 1
			};
			var wsStart = /^\s+/, wsEnd = /\s+$/;
			return function(text, style, node, previousElement) {
				if (previousElement) {
					if (previousElement.nodeName.toLowerCase() == 'br') {
						text = text.replace(wsStart, '');
					}
				}
				if (ignore[style.get('display')]) return text;
				if (!node.previousSibling) text = text.replace(wsStart, '');
				if (!node.nextSibling) text = text.replace(wsEnd, '');
				return text;
			};
		})()

	};

	CSS.ready = (function() {

		// don't do anything in Safari 2 (it doesn't recognize any media type)
		var complete = !CSS.recognizesMedia('all'), hasLayout = false;

		var queue = [], perform = function() {
			complete = true;
			for (var fn; fn = queue.shift(); fn());
		};

		var links = elementsByTagName('link'), styles = elementsByTagName('style');

		function isContainerReady(el) {
			return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
		}

		function isSheetReady(sheet, media) {
			// in Opera sheet.disabled is true when it's still loading,
			// even though link.disabled is false. they stay in sync if
			// set manually.
			if (!CSS.recognizesMedia(media || 'all')) return true;
			if (!sheet || sheet.disabled) return false;
			try {
				var rules = sheet.cssRules, rule;
				if (rules) {
					// needed for Safari 3 and Chrome 1.0.
					// in standards-conforming browsers cssRules contains @-rules.
					// Chrome 1.0 weirdness: rules[<number larger than .length - 1>]
					// returns the last rule, so a for loop is the only option.
					search: for (var i = 0, l = rules.length; rule = rules[i], i < l; ++i) {
						switch (rule.type) {
							case 2: // @charset
								break;
							case 3: // @import
								if (!isSheetReady(rule.styleSheet, rule.media.mediaText)) return false;
								break;
							default:
								// only @charset can precede @import
								break search;
						}
					}
				}
			}
			catch (e) {} // probably a style sheet from another domain
			return true;
		}

		function allStylesLoaded() {
			// Internet Explorer's style sheet model, there's no need to do anything
			if (document.createStyleSheet) return true;
			// standards-compliant browsers
			var el, i;
			for (i = 0; el = links[i]; ++i) {
				if (el.rel.toLowerCase() == 'stylesheet' && !isContainerReady(el)) return false;
			}
			for (i = 0; el = styles[i]; ++i) {
				if (!isContainerReady(el)) return false;
			}
			return true;
		}

		DOM.ready(function() {
			// getComputedStyle returns null in Gecko if used in an iframe with display: none
			if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
			if (complete || (hasLayout && allStylesLoaded())) perform();
			else setTimeout(arguments.callee, 10);
		});

		return function(listener) {
			if (complete) listener();
			else queue.push(listener);
		};

	})();

	function Font(data) {

		var face = this.face = data.face, wordSeparators = {
			'\u0020': 1,
			'\u00a0': 1,
			'\u3000': 1
		};

		this.glyphs = data.glyphs;
		this.w = data.w;
		this.baseSize = parseInt(face['units-per-em'], 10);

		this.family = face['font-family'].toLowerCase();
		this.weight = face['font-weight'];
		this.style = face['font-style'] || 'normal';

		this.viewBox = (function () {
			var parts = face.bbox.split(/\s+/);
			var box = {
				minX: parseInt(parts[0], 10),
				minY: parseInt(parts[1], 10),
				maxX: parseInt(parts[2], 10),
				maxY: parseInt(parts[3], 10)
			};
			box.width = box.maxX - box.minX;
			box.height = box.maxY - box.minY;
			box.toString = function() {
				return [ this.minX, this.minY, this.width, this.height ].join(' ');
			};
			return box;
		})();

		this.ascent = -parseInt(face.ascent, 10);
		this.descent = -parseInt(face.descent, 10);

		this.height = -this.ascent + this.descent;

		this.spacing = function(chars, letterSpacing, wordSpacing) {
			var glyphs = this.glyphs, glyph,
				kerning, k,
				jumps = [],
				width = 0, w,
				i = -1, j = -1, chr;
			while (chr = chars[++i]) {
				glyph = glyphs[chr] || this.missingGlyph;
				if (!glyph) continue;
				if (kerning) {
					width -= k = kerning[chr] || 0;
					jumps[j] -= k;
				}
				w = glyph.w;
				if (isNaN(w)) w = +this.w; // may have been a String in old fonts
				if (w > 0) {
					w += letterSpacing;
					if (wordSeparators[chr]) w += wordSpacing;
				}
				width += jumps[++j] = ~~w; // get rid of decimals
				kerning = glyph.k;
			}
			jumps.total = width;
			return jumps;
		};

	}

	function FontFamily() {

		var styles = {}, mapping = {
			oblique: 'italic',
			italic: 'oblique'
		};

		this.add = function(font) {
			(styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
		};

		this.get = function(style, weight) {
			var weights = styles[style] || styles[mapping[style]]
				|| styles.normal || styles.italic || styles.oblique;
			if (!weights) return null;
			// we don't have to worry about "bolder" and "lighter"
			// because IE's currentStyle returns a numeric value for it,
			// and other browsers use the computed value anyway
			weight = {
				normal: 400,
				bold: 700
			}[weight] || parseInt(weight, 10);
			if (weights[weight]) return weights[weight];
			// http://www.w3.org/TR/CSS21/fonts.html#propdef-font-weight
			// Gecko uses x99/x01 for lighter/bolder
			var up = {
				1: 1,
				99: 0
			}[weight % 100], alts = [], min, max;
			if (up === undefined) up = weight > 400;
			if (weight == 500) weight = 400;
			for (var alt in weights) {
				if (!hasOwnProperty(weights, alt)) continue;
				alt = parseInt(alt, 10);
				if (!min || alt < min) min = alt;
				if (!max || alt > max) max = alt;
				alts.push(alt);
			}
			if (weight < min) weight = min;
			if (weight > max) weight = max;
			alts.sort(function(a, b) {
				return (up
					? (a >= weight && b >= weight) ? a < b : a > b
					: (a <= weight && b <= weight) ? a > b : a < b) ? -1 : 1;
			});
			return weights[alts[0]];
		};

	}

	function HoverHandler() {

		function contains(node, anotherNode) {
			try {
				if (node.contains) return node.contains(anotherNode);
				return node.compareDocumentPosition(anotherNode) & 16;
			}
			catch(e) {} // probably a XUL element such as a scrollbar
			return false;
		}

		function onOverOut(e) {
			var related = e.relatedTarget;
			// there might be no relatedTarget if the element is right next
			// to the window frame
			if (related && contains(this, related)) return;
			trigger(this, e.type == 'mouseover');
		}

		function onEnterLeave(e) {
			trigger(this, e.type == 'mouseenter');
		}

		function trigger(el, hoverState) {
			// A timeout is needed so that the event can actually "happen"
			// before replace is triggered. This ensures that styles are up
			// to date.
			setTimeout(function() {
				var options = sharedStorage.get(el).options;
				api.replace(el, hoverState ? merge(options, options.hover) : options, true);
			}, 10);
		}

		this.attach = function(el) {
			if (el.onmouseenter === undefined) {
				addEvent(el, 'mouseover', onOverOut);
				addEvent(el, 'mouseout', onOverOut);
			}
			else {
				addEvent(el, 'mouseenter', onEnterLeave);
				addEvent(el, 'mouseleave', onEnterLeave);
			}
		};

	}

	function ReplaceHistory() {

		var list = [], map = {};

		function filter(keys) {
			var values = [], key;
			for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
			return values;
		}

		this.add = function(key, args) {
			map[key] = list.push(args) - 1;
		};

		this.repeat = function() {
			var snapshot = arguments.length ? filter(arguments) : list, args;
			for (var i = 0; args = snapshot[i++];) api.replace(args[0], args[1], true);
		};

	}

	function Storage() {

		var map = {}, at = 0;

		function identify(el) {
			return el.cufid || (el.cufid = ++at);
		}

		this.get = function(el) {
			var id = identify(el);
			return map[id] || (map[id] = {});
		};

	}

	function Style(style) {

		var custom = {}, sizes = {};

		this.extend = function(styles) {
			for (var property in styles) {
				if (hasOwnProperty(styles, property)) custom[property] = styles[property];
			}
			return this;
		};

		this.get = function(property) {
			return custom[property] != undefined ? custom[property] : style[property];
		};

		this.getSize = function(property, base) {
			return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
		};

		this.isUsable = function() {
			return !!style;
		};

	}

	function ReplaceQueue() {
		var queue = [];
		var running = false;

		function startQueueWorker(){
			running = true;
			window.setTimeout('Cufon.replaceQueue.work();', 0);
		}

		this.add = function(el, options){
			queue.push({el: el, options: options});

			if(running === false){
				startQueueWorker();
			}
		}

		this.work = function(){
			var e = queue.shift();

			try{
				var name = e.el.nodeName.toLowerCase();
				if (e.options.ignore[name]) return;
				var replace = !e.options.textless[name];
				var style = CSS.getStyle(attach(e.el, e.options)).extend(e.options);
				// may cause issues if the element contains other elements
				// with larger fontSize, however such cases are rare and can
				// be fixed by using a more specific selector
				if (parseFloat(style.get('fontSize')) === 0) return;
				var font = getFont(e.el, style), node, type, next, anchor, text, lastElement;
				if (!font) return;
				for (node = e.el.firstChild; node; node = next) {
					type = node.nodeType;
					next = node.nextSibling;
					if (replace && type == 3) {
						// Node.normalize() is broken in IE 6, 7, 8
						if (anchor) {
							anchor.appendData(node.data);
							e.el.removeChild(node);
						}
						else anchor = node;
						if (next) continue;
					}
					if (anchor) {
						e.el.replaceChild(process(font,
							CSS.whiteSpace(anchor.data, style, anchor, lastElement),
							style, e.options, node, e.el), anchor);
						anchor = null;
					}
					if (type == 1) {
						if (node.firstChild) {
							if (node.nodeName.toLowerCase() == 'cufon') {
								engines[e.options.engine](font, null, style, e.options, node, e.el);
							}
							else arguments.callee(node, e.options);
						}
						lastElement = node;
					}
				}
				
				// Cufon replacement was done --> Apply fix for line-height lower than 1.2em
				fixLineHeightByDOM(e.el, e.options);
				
				if(typeof e.el.getAttribute('aftercufonreplace') !== 'undefined'){
					// Notify after cufon replacement
					eval(e.el.getAttribute('aftercufonreplace'));
				}
			}
			catch(err){
				// can't cufonize something... too bad
			}

			if(queue.length > 0){
				window.setTimeout('Cufon.replaceQueue.work();', 20);
			}
			else{
				running = false;
				correctBackground();
			}
		}
	}

        api.replaceQueue = new ReplaceQueue();

	function addEvent(el, type, listener) {
		if (el.addEventListener) {
			el.addEventListener(type, listener, false);
		}
		else if (el.attachEvent) {
			el.attachEvent('on' + type, function() {
				return listener.call(el, window.event);
			});
		}
	}

	function attach(el, options) {
		var storage = sharedStorage.get(el);
		if (storage.options) return el;
		if (options.hover && options.hoverables[el.nodeName.toLowerCase()]) {
			hoverHandler.attach(el);
		}
		storage.options = options;
		return el;
	}

	function cached(fun) {
		var cache = {};
		return function(key) {
			if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
			return cache[key];
		};
	}

	function getFont(el, style) {
		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
		for (var i = 0; family = families[i]; ++i) {
			if (fonts[family]) return fonts[family].get(style.get('fontStyle'), style.get('fontWeight'));
		}
		return null;
	}

	function elementsByTagName(query) {
		return document.getElementsByTagName(query);
	}

	function hasOwnProperty(obj, property) {
		return obj.hasOwnProperty(property);
	}

	function merge() {
		var merged = {}, arg, key;
		for (var i = 0, l = arguments.length; arg = arguments[i], i < l; ++i) {
			for (key in arg) {
				if (hasOwnProperty(arg, key)) merged[key] = arg[key];
			}
		}
		return merged;
	}

	function process(font, text, style, options, node, el) {
		var fragment = document.createDocumentFragment(), processed;
		if (text === '') return fragment;
		var separate = options.separate;
		var parts = text.split(separators[separate]), needsAligning = (separate == 'words');
		if (needsAligning && HAS_BROKEN_REGEXP) {
			// @todo figure out a better way to do this
			if (/^\s/.test(text)) parts.unshift('');
			if (/\s$/.test(text)) parts.push('');
		}
		for (var i = 0, l = parts.length; i < l; ++i) {
			processed = engines[options.engine](font,
				needsAligning ? CSS.textAlign(parts[i], style, i, l) : parts[i],
				style, options, node, el, i < l - 1);
			if (processed) fragment.appendChild(processed);
		}
		return fragment;
	}

	function replaceElementQueue(el, options) {
		api.replaceQueue.add(el, options);
	}

	function replaceElement(el, options) {
		var name = el.nodeName.toLowerCase();
		if (options.ignore[name]) return;
		var replace = !options.textless[name];
		var style = CSS.getStyle(attach(el, options)).extend(options);
		// may cause issues if the element contains other elements
		// with larger fontSize, however such cases are rare and can
		// be fixed by using a more specific selector
		if (parseFloat(style.get('fontSize')) === 0) return;
		var font = getFont(el, style), node, type, next, anchor, text, lastElement;
		if (!font) return;
		for (node = el.firstChild; node; node = next) {
			type = node.nodeType;
			next = node.nextSibling;
			if (replace && type == 3) {
				// Node.normalize() is broken in IE 6, 7, 8
				if (anchor) {
					anchor.appendData(node.data);
					el.removeChild(node);
				}
				else anchor = node;
				if (next) continue;
			}
			if (anchor) {
				el.replaceChild(process(font,
					CSS.whiteSpace(anchor.data, style, anchor, lastElement),
					style, options, node, el), anchor);
				anchor = null;
			}
			if (type == 1) {
				if (node.firstChild) {
					if (node.nodeName.toLowerCase() == 'cufon') {
						engines[options.engine](font, null, style, options, node, el);
					}
					else arguments.callee(node, options);
				}
				lastElement = node;
			}
		}
		
		// Cufon replacement was done --> Apply fix for line-height lower than 1.2em
		fixLineHeightByDOM(el, options);
		if(typeof el.getAttribute('aftercufonreplace') !== 'undefined'){
			// Notify after cufon replacement
			eval(el.getAttribute('aftercufonreplace'));
		}
	}
	
	function fixLineHeightByDOM(e, options){
		if(options.fixLineHeight){
			fixLineHeightByJQuery($(e), $(e).css('line-height'));
		}
	}
				
	var fixIsIe = (navigator.appName == "Microsoft Internet Explorer");
	function fixLineHeightByJQuery($replaced, lineHeight, clearFloat) {
		var clearer = $('<div/>').attr('class','clearing');
		$replaced.each(function(){
			var $current = $(this);
			
			if (clearFloat==null) {
				clearFloat = false;
			}

			var clearFloatClassname = 'fltbox';
			var $cufonWords = $current.children('.cufon')
			var $cufonSiblings = $current.children(':not(.cufon)');

			if ($(this).css('display')=='inline') {
				$cufonWords.css('display','inline-block');
			}
			else {
				$cufonWords.css({'float':'left', 'display':'inline'});// IE floats margin bug
				$cufonSiblings.each(function(){
					$sib = $(this);
					$sibCss = $sib.css('float');
					if (!($sibCss=='left' || $sibCss=='right' || $sib[0].tagName.toLowerCase()=='br') ) {
						$sib.css({'float':'left', 'display':'inline'});// IE floats margin bug
					}
				});

				if (clearFloat && !$current.hasClass(clearFloatClassname)) { //
					$current.addClass(clearFloatClassname);
				}
			}
			
			$current.css({'line-height': lineHeight});
			$cufonWords.css({'height': lineHeight, 'margin': '0px'});
			var cufonClearer = $('<cufon></cufon>');
			cufonClearer.attr('style',"clear:both; line-height:0px !important; height:0px !important; display:block !important");
			
			$current.append(cufonClearer);
			// Insert clearer only if current has no floating
			var currentFloat = $current.css('float');
			
			if(currentFloat !== 'left' && currentFloat !== 'right'){
				clearer.insertAfter($current);
			}
		});
	}

	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;

	var sharedStorage = new Storage();
	var hoverHandler = new HoverHandler();
	var replaceHistory = new ReplaceHistory();
	var initialized = false;

	var engines = {}, fonts = {}, defaultOptions = {
		autoDetect: false,
		engine: null,
		//fontScale: 1,
		//fontScaling: false,
		forceHitArea: false,
		hover: false,
		hoverables: {
			a: true
		},
		ignore: {
			applet: 1,
			canvas: 1,
			col: 1,
			colgroup: 1,
			head: 1,
			iframe: 1,
			map: 1,
			noscript: 1,
			optgroup: 1,
			option: 1,
			script: 1,
			select: 1,
			style: 1,
			textarea: 1,
			title: 1,
			pre: 1
		},
		printable: true,
		//rotation: 0,
		//selectable: false,
		selector: (
				window.Sizzle
			||	(window.jQuery && function(query) { return jQuery(query); }) // avoid noConflict issues
			||	(window.dojo && dojo.query)
			||	(window.glow && glow.dom && glow.dom.get)
			||	(window.Ext && Ext.query)
			||	(window.YAHOO && YAHOO.util && YAHOO.util.Selector && YAHOO.util.Selector.query)
			||	(window.$$ && function(query) { return $$(query); })
			||	(window.$ && function(query) { return $(query); })
			||	(document.querySelectorAll && function(query) { return document.querySelectorAll(query); })
			||	elementsByTagName
		),
		separate: 'words', // 'none' and 'characters' are also accepted
		textless: {
			dl: 1,
			html: 1,
			ol: 1,
			table: 1,
			tbody: 1,
			thead: 1,
			tfoot: 1,
			tr: 1,
			ul: 1
		},
		textShadow: 'none'
	};

	var separators = {
		// The first pattern may cause unicode characters above
		// code point 255 to be removed in Safari 3.0. Luckily enough
		// Safari 3.0 does not include non-breaking spaces in \s, so
		// we can just use a simple alternative pattern.
		words: /\s/.test('\u00a0') ? /[^\S\u00a0]+/ : /\s+/,
		characters: '',
		none: /^/
	};

	api.now = function() {
		DOM.ready();
		return api;
	};

	api.refresh = function() {
		replaceHistory.repeat.apply(replaceHistory, arguments);
		return api;
	};

	api.registerEngine = function(id, engine) {
		if (!engine) return api;
		engines[id] = engine;
		return api.set('engine', id);
	};

	api.registerFont = function(data) {
		if (!data) return api;
		var font = new Font(data), family = font.family;
		if (!fonts[family]) fonts[family] = new FontFamily();
		fonts[family].add(font);
		return api.set('fontFamily', '"' + family + '"');
	};

	api.replace = function(elements, options, ignoreHistory) {
		options = merge(defaultOptions, options);
		if (!options.engine) return api; // there's no browser support so we'll just stop here
		if (!initialized) {
			CSS.addClass(DOM.root(), 'cufon-active cufon-loading');
			CSS.ready(function() {
				// fires before any replace() calls, but it doesn't really matter
				CSS.addClass(CSS.removeClass(DOM.root(), 'cufon-loading'), 'cufon-ready');
			});
			initialized = true;
		}
		if (options.hover) options.forceHitArea = true;
		if (options.autoDetect) delete options.fontFamily;
		if (typeof options.textShadow == 'string') {
			options.textShadow = CSS.textShadow(options.textShadow);
		}
		if (typeof options.color == 'string' && /^-/.test(options.color)) {
			options.textGradient = CSS.gradient(options.color);
		}
		else delete options.textGradient;
		if (!ignoreHistory) replaceHistory.add(elements, arguments);
		if (elements.nodeType || typeof elements == 'string') elements = [ elements ];
		CSS.ready(function() {
			var isIe = (navigator.appName == "Microsoft Internet Explorer");

			for (var i = 0, l = elements.length; i < l; ++i) {
				var el = elements[i];
				if (typeof el == 'string') api.replace(options.selector(el), options, true);
				else{
					if(isIe === true){
						replaceElementQueue(el, options);
					}
					else{
						replaceElement(el, options);
					}
				}
			}
		});
		return api;
	};

	api.set = function(option, value) {
		defaultOptions[option] = value;
		return api;
	};

	return api;

})();

Cufon.registerEngine('canvas', (function() {

	// Safari 2 doesn't support .apply() on native methods

	var check = document.createElement('canvas');
	if (!check || !check.getContext || !check.getContext.apply) return;
	check = null;

	var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');

	// Firefox 2 w/ non-strict doctype (almost standards mode)
	var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK && (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));

	var styleSheet = document.createElement('style');
	styleSheet.type = 'text/css';
	styleSheet.appendChild(document.createTextNode((
		'cufon{text-indent:0;}' +
		'@media screen,projection{' +
			'cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-indent:-10000in;}' +
			(HAS_INLINE_BLOCK
				? 'cufon canvas{position:relative;}'
				: 'cufon canvas{position:absolute;}') +
		'}' +
		'@media print{' +
			'cufon{padding:0;}' + // Firefox 2
			'cufon canvas{display:none;}' +
		'}'
	).replace(/;/g, '!important;')));
	document.getElementsByTagName('head')[0].appendChild(styleSheet);

	function generateFromVML(path, context) {
		var atX = 0, atY = 0;
		var code = [], re = /([mrvxe])([^a-z]*)/g, match;
		generate: for (var i = 0; match = re.exec(path); ++i) {
			var c = match[2].split(',');
			switch (match[1]) {
				case 'v':
					code[i] = { m: 'bezierCurveTo', a: [ atX + ~~c[0], atY + ~~c[1], atX + ~~c[2], atY + ~~c[3], atX += ~~c[4], atY += ~~c[5] ] };
					break;
				case 'r':
					code[i] = { m: 'lineTo', a: [ atX += ~~c[0], atY += ~~c[1] ] };
					break;
				case 'm':
					code[i] = { m: 'moveTo', a: [ atX = ~~c[0], atY = ~~c[1] ] };
					break;
				case 'x':
					code[i] = { m: 'closePath' };
					break;
				case 'e':
					break generate;
			}
			context[code[i].m].apply(context, code[i].a);
		}
		return code;
	}

	function interpret(code, context) {
		for (var i = 0, l = code.length; i < l; ++i) {
			var line = code[i];
			context[line.m].apply(context, line.a);
		}
	}

	return function(font, text, style, options, node, el) {

		var redraw = (text === null);

		if (redraw) text = node.getAttribute('alt');

		var viewBox = font.viewBox;

		var size = style.getSize('fontSize', font.baseSize);

		var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
		var shadows = options.textShadow, shadowOffsets = [];
		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				var x = size.convertFrom(parseFloat(shadow.offX));
				var y = size.convertFrom(parseFloat(shadow.offY));
				shadowOffsets[i] = [ x, y ];
				if (y < expandTop) expandTop = y;
				if (x > expandRight) expandRight = x;
				if (y > expandBottom) expandBottom = y;
				if (x < expandLeft) expandLeft = x;
			}
		}

		var chars = Cufon.CSS.textTransform(text, style).split('');

		var jumps = font.spacing(chars,
			~~size.convertFrom(parseFloat(style.get('letterSpacing')) || 0),
			~~size.convertFrom(parseFloat(style.get('wordSpacing')) || 0)
		);

		if (!jumps.length) return null; // there's nothing to render

		var width = jumps.total;

		expandRight += viewBox.width - jumps[jumps.length - 1];
		expandLeft += viewBox.minX;

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-canvas';
			wrapper.setAttribute('alt', text);

			canvas = document.createElement('canvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height);
		var roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var stretchedWidth = width * stretchFactor;

		var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
		var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));

		canvas.width = canvasWidth;
		canvas.height = canvasHeight;

		// needed for WebKit and full page zoom
		cStyle.width = canvasWidth + 'px';
		cStyle.height = canvasHeight + 'px';

		// minY has no part in canvas.height
		expandTop += viewBox.minY;

		var topOffset = 0;
		var leftOffset = 0;
		
		if (options) {
			if (options.topOffset) {
				topOffset = options.topOffset;
			}
			if (options.leftOffset) {
				leftOffset = options.leftOffset;
			}
		}
		
		cStyle.top = (Math.round(size.convert(expandTop - font.ascent)) + topOffset) + 'px';
		cStyle.left = (Math.round(size.convert(expandLeft)) + leftOffset) + 'px';

		var wrapperWidth = Math.max(Math.ceil(size.convert(stretchedWidth)), 0) + 'px';

		if (HAS_INLINE_BLOCK) {
			wStyle.width = wrapperWidth;
			wStyle.height = size.convert(font.height) + 'px';
		}
		else {
			wStyle.paddingLeft = wrapperWidth;
			wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
		}

		var g = canvas.getContext('2d'), scale = height / viewBox.height;

		// proper horizontal scaling is performed later
		g.scale(scale, scale * roundingFactor);
		g.translate(-expandLeft, -expandTop);
		g.save();

		function renderText() {
			var glyphs = font.glyphs, glyph, i = -1, j = -1, chr;
			g.scale(stretchFactor, 1);
			while (chr = chars[++i]) {
				var glyph = glyphs[chars[i]] || font.missingGlyph;
				if (!glyph) continue;
				if (glyph.d) {
					g.beginPath();
					if (glyph.code) interpret(glyph.code, g);
					else glyph.code = generateFromVML('m' + glyph.d, g);
					g.fill();
				}
				g.translate(jumps[++j], 0);
			}
			g.restore();
		}

		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				g.save();
				g.fillStyle = shadow.color;
				g.translate.apply(g, shadowOffsets[i]);
				renderText();
			}
		}

		var gradient = options.textGradient;
		if (gradient) {
			var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
			for (var i = 0, l = stops.length; i < l; ++i) {
				fill.addColorStop.apply(fill, stops[i]);
			}
			g.fillStyle = fill;
		}
		else g.fillStyle = style.get('color');

		renderText();

		return wrapper;

	};

})());

Cufon.registerEngine('vml', (function() {

	var ns = document.namespaces;
	if (!ns) return;
	ns.add('cvml', 'urn:schemas-microsoft-com:vml');
	ns = null;

	var check = document.createElement('cvml:shape');
	check.style.behavior = 'url(#default#VML)';
	if (!check.coordsize) return; // VML isn't supported
	check = null;

	var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) < 8;

	document.write(('<style type="text/css">' +
		'cufoncanvas{text-indent:0;}' +
		'@media screen{' +
			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'cufoncanvas{position:absolute;text-align:left;}' +
			'cufon{display:inline-block;position:relative;vertical-align:' +
			(HAS_BROKEN_LINEHEIGHT
				? 'middle'
				: 'text-bottom') +
			';}' +
			'cufon cufontext{position:absolute;left:-10000in;font-size:1px;}' +
			'a cufon{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' +
			'cufon cufoncanvas{display:none;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

	function getFontSizeInPixels(el, value) {
		return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
	}

	// Original by Dead Edwards.
	// Combined with getFontSizeInPixels it also works with relative units.
	function getSizeInPixels(el, value) {
		if (!isNaN(value) || /px$/i.test(value)) return parseFloat(value);
		var style = el.style.left, runtimeStyle = el.runtimeStyle.left;
		el.runtimeStyle.left = el.currentStyle.left;
		el.style.left = value.replace('%', 'em');
		var result = el.style.pixelLeft;
		el.style.left = style;
		el.runtimeStyle.left = runtimeStyle;
		return result;
	}

	function getSpacingValue(el, style, size, property) {
		var key = 'computed' + property, value = style[key];
		if (isNaN(value)) {
			value = style.get(property);
			style[key] = value = (value == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, value));
		}
		return value;
	}

	var fills = {};

	function gradientFill(gradient) {
		var id = gradient.id;
		if (!fills[id]) {
			var stops = gradient.stops, fill = document.createElement('cvml:fill'), colors = [];
			fill.type = 'gradient';
			fill.angle = 180;
			fill.focus = '0';
			fill.method = 'none';
			fill.color = stops[0][1];
			for (var j = 1, k = stops.length - 1; j < k; ++j) {
				colors.push(stops[j][0] * 100 + '% ' + stops[j][1]);
			}
			fill.colors = colors.join(',');
			fill.color2 = stops[k][1];
			fills[id] = fill;
		}
		return fills[id];
	}

	return function(font, text, style, options, node, el, hasNext) {

		var redraw = (text === null);

		if (redraw) text = node.alt;

		var viewBox = font.viewBox;

		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-vml';
			wrapper.alt = text;

			canvas = document.createElement('cufoncanvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}

			// ie6, for some reason, has trouble rendering the last VML element in the document.
			// we can work around this by injecting a dummy element where needed.
			// @todo find a better solution
			if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var minX = viewBox.minX, minY = viewBox.minY;

		var topOffset = 0;
		var leftOffset = 0;
		
		if (options) {
			if (options.topOffset) {
				topOffset = options.topOffset;
			}
			if (options.leftOffset) {
				leftOffset = options.leftOffset;
			}
		}
		
		cStyle.height = roundedHeight;
		cStyle.top = Math.round(size.convert(minY - font.ascent)) + topOffset;
		cStyle.left = Math.round(size.convert(minX)) + leftOffset;

		wStyle.height = size.convert(font.height) + 'px';

		var color = style.get('color');
		var chars = Cufon.CSS.textTransform(text, style).split('');

		var jumps = font.spacing(chars,
			getSpacingValue(el, style, size, 'letterSpacing'),
			getSpacingValue(el, style, size, 'wordSpacing')
		);

		if (!jumps.length) return null;

		var width = jumps.total;
		var fullWidth = -minX + width + (viewBox.width - jumps[jumps.length - 1]);

		var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);

		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
		var stretch = 'r' + coordSize + 'ns';

		var fill = options.textGradient && gradientFill(options.textGradient);

		var glyphs = font.glyphs, offsetX = 0;
		var shadows = options.textShadow;
		var i = -1, j = 0, chr;

		while (chr = chars[++i]) {

			var glyph = glyphs[chars[i]] || font.missingGlyph, shape;
			if (!glyph) continue;

			if (redraw) {
				// some glyphs may be missing so we can't use i
				shape = canvas.childNodes[j];
				while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
			}
			else {
				shape = document.createElement('cvml:shape');
				canvas.appendChild(shape);
			}

			shape.stroked = 'f';
			shape.coordsize = coordSize;
			shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
			shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
			shape.fillcolor = color;

			if (fill) shape.appendChild(fill.cloneNode(false));

			// it's important to not set top/left or IE8 will grind to a halt
			var sStyle = shape.style;
			sStyle.width = roundedShapeWidth;
			sStyle.height = roundedHeight;

			if (shadows) {
				// due to the limitations of the VML shadow element there
				// can only be two visible shadows. opacity is shared
				// for all shadows.
				var shadow1 = shadows[0], shadow2 = shadows[1];
				var color1 = Cufon.CSS.color(shadow1.color), color2;
				var shadow = document.createElement('cvml:shadow');
				shadow.on = 't';
				shadow.color = color1.color;
				shadow.offset = shadow1.offX + ',' + shadow1.offY;
				if (shadow2) {
					color2 = Cufon.CSS.color(shadow2.color);
					shadow.type = 'double';
					shadow.color2 = color2.color;
					shadow.offset2 = shadow2.offX + ',' + shadow2.offY;
				}
				shadow.opacity = color1.opacity || (color2 && color2.opacity) || 1;
				shape.appendChild(shadow);
			}

			offsetX += jumps[j++];
		}

		// addresses flickering issues on :hover

		var cover = shape.nextSibling, coverFill, vStyle;

		if (options.forceHitArea) {

			if (!cover) {
				cover = document.createElement('cvml:rect');
				cover.stroked = 'f';
				cover.className = 'cufon-vml-cover';
				coverFill = document.createElement('cvml:fill');
				coverFill.opacity = 0;
				cover.appendChild(coverFill);
				canvas.appendChild(cover);
			}

			vStyle = cover.style;

			vStyle.width = roundedShapeWidth;
			vStyle.height = roundedHeight;

		}
		else if (cover) canvas.removeChild(cover);

		wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);

		if (HAS_BROKEN_LINEHEIGHT) {

			var yAdjust = style.computedYAdjust;

			if (yAdjust === undefined) {
				var lineHeight = style.get('lineHeight');
				if (lineHeight == 'normal') lineHeight = '1em';
				else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
				style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
			}

			if (yAdjust) {
				wStyle.marginTop = Math.ceil(yAdjust) + 'px';
				wStyle.marginBottom = yAdjust + 'px';
			}

		}

		return wrapper;

	};

})());

}catch(e){alert('Error in cufon-yui-patched: ' + e.description);}

// ---- jquery.smoothDivScroll-0.9 ----
try{ /**
* jQuery.smoothDivScroll - Smooth div scrolling using jQuery.
* This plugin is for turning a set of HTML elements's into a smooth scrolling area.
*
* Copyright (c) 2009 Thomas Kahn - thomas.kahn(at)karnhuset(dot)net
*
* This plugin is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This plugin is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details. <http://www.gnu.org/licenses/>.
*
* Date: 2009-05-23
* @author Thomas Kahn
* @version 0.8
*
* Changelog
* ---------------------------------------------
* 0.9	- Bugfixes: Problem with multiple autoscrollers on the same page - the intervals
*		  where global which resulted in the wrong autoscroller stopping on mouseOver or
*		  mouseDown.
*		  Error in calculation in autoscrolling mode that made the autoscrolling grind
*		  to a halt after a number of loops.
*
* 0.8   - Major update. New parameter setup. Lots of new autoscrolling capabilities and 
*		  new parameters for controlling the scrolling speed. Made it possible to start 
*		  the scroller at a specific element.
* 
* 0.7   - Added support for autoscrolling after the page has loaded. 
*         Added support for making the hot spots visible at start for X number of seconds
*         or visible all the time.
*
* 0.6   - First version.
*/

(function($) { 
	jQuery.fn.smoothDivScroll = function(options){

		var defaults = {
		scrollingHotSpotLeft: "div.scrollingHotSpotLeft", // The hot spot that triggers scrolling left.
		scrollingHotSpotRight: "div.scrollingHotSpotRight", // The hot spot that triggers scrolling right.
		scrollWrapper: "div.scrollWrapper", // The wrapper element that surrounds the scrollable area
		scrollableArea: "div.scrollableArea", // The actual element that is scrolled left or right
		hiddenOnStart: false, // True or false. Determines whether the element should be visible or hidden on start
		ajaxContentURL: "", // Optional. If supplied, content is fetched through AJAX using the supplied URL
		countOnlyClass: "", // Optional. If supplied, the function that calculates the width of the scrollable area will only count elements of this class
		scrollingSpeed: 25, // A way of controlling the scrolling speed. 1=slowest and 100= fastest.
		mouseDownSpeedBooster: 3, // 1 is normal speed (no speed boost), 2 is twice as fast, 3 is three times as fast, and so on
		autoScroll: "", // Optional. Leave it blank if you don't want any autoscroll. 
						// Otherwise use the values "onstart" or "always". 
						// onstart - the scrolling will start automatically after 
						// the page has loaded and scroll according to the method you've selected 
						// using the autoScrollDirection parameter. When the user moves the mouse 
						// over the left or right hot spot the autoscroll will stop. After that 
						// the scrolling will only be triggered by the host spots.
						// always - the hot spots are disabled alltogether and the scrollable area 
						// will only scroll automatically.
		autoScrollDirection: "right", 	// This parameter controls the direction and behavior of the autoscrolling.	
										// Optional. The values are:
										// right - autoscrolls right and stops when it reaches the end
										// left - autoscrolls left and stops when it reaches the end 
										// (only relevant if you have set the parameter startAtElementId).
										// backandforth - starts autoscrolling right and when it reaches 
										// the end, switches to autoscrolling left and so on. Ping-pong style.
										// endlessloop - continuous scrolling right. An endless loop of elements.
		autoScrollSpeed: 1,	//  1-2 = slow, 3-4 = medium, 5-13 = fast -- anything higher = superfast
		pauseAutoScroll: "", // Optional. Values mousedown and mouseover. Leave blank for no pausing abilities.
		visibleHotSpots: "", 	// Optional. Leave it blank for invisible hot spots. 
								// Otherwise use the values  "onstart" or "always". 
								// onstart - makes the hot spots visible for X-number of seconds 
								// after tha page has loaded and then they become invisible. 
								// always - hot spots are visible all the time.
		hotSpotsVisibleTime: 5, // If you have selected "onstart" as the value for visibleHotSpots, 
								// you set the number of seconds that you want the hot spots to be 
								// visible after the page has loaded. After this time they will fade 
								// away and become invisible again.
		startAtElementId: "",	// Optional. Use this parameter if you want the offset of the 
								// scrollable area to be positioned at a specific element directly 
								// after the page has loaded. First give your element an ID in the 
								// HTML code and then provide this ID as a parameter.
		displacement: 8			// Displacement to add to the width of the scrollArea: $mom
		};

		options = $.extend(defaults, options);

		/* Identify global variables so JSLint won't raise errors when verifying the code */
		/*global autoScrollInterval, autoScroll, clearInterval, doScrollLeft, doScrollRight, hideHotSpotBackgrounds, hideHotSpotBackgroundsInterval, hideLeftHotSpot, hideRightHotSpot, jQuery, makeHotSpotBackgroundsVisible, setHotSpotHeightForIE, setInterval, showHideHotSpots, window, windowIsResized */


		// Iterate and make each matched element a SmoothDivScroll
		return this.each(function() {
		
			// Create a variable for the current "mother element"
			var $mom = $(this);
			
			// Load the content of the scrollable area using the optional URL.
			// If no ajaxContentURL is supplied, we assume that the content of
			// the scrolling area is already in place.
			if(options.ajaxContentURL.length !== 0){
				$mom.scrollableAreaWidth = 0;
				$mom.find(options.scrollableArea).load((options.ajaxContentURL), function(){	
					$mom.find(options.scrollableArea).children((options.countOnlyClass)).each(function() {
						$mom.scrollableAreaWidth = $mom.scrollableAreaWidth + $(this).outerWidth(true);
					});

					// Set the width of the scrollable area
					$mom.find(options.scrollableArea).css("width", ($mom.scrollableAreaWidth + "px"));
					
					if (options.fixed_scrollable_area_width!=undefined)  // Christoph f�r Bildergalerie
						$mom.find(options.scrollableArea).css("width", options.fixed_scrollable_area_width);
					
					// Hide the mother element if it shouldn't be visible on start
					if(options.hiddenOnStart) {
						$mom.hide();
					}
					
					windowIsResized();
					
					setHotSpotHeightForIE();
				});		
			}
			
			// Some variables used for working with the scrolling
			var scrollXpos;
			var booster;
			
			// The left offset of the container on which you place 
			// the scrolling behavior.
			// This offset is used when calculating the mouse x-position 
			// in relation to scroll hot spots
			var motherElementOffset = $mom.offset().left;
			
			// A variable used for storing the current hot spot width.
			// It is used when calculating the scroll speed
			var hotSpotWidth = 0;
			
			// Set the booster value to normal (doesn't change until the user
			// holds down the mouse button over one of the hot spots)
			booster = 1;
			
			var hasExtended = false;
			
			// Stuff to do once on load
			$(document).one("ready",function(){
				// If the content of the scrolling area is not loaded through ajax,
				// we assume it's already there and can run the code to calculate
				// the width of the scrolling area, resize it to that width
				if(options.ajaxContentURL.length === 0) {
					$mom.scrollableAreaWidth = 0;
					$mom.tempStartingPosition = 0;
					
					$mom.find(options.scrollableArea).children((options.countOnlyClass)).each(function() {
						
						// Check to see if the current element in the loop is the one where the scrolling should start
						if( (options.startAtElementId.length !== 0) && (($(this).attr("id")) == options.startAtElementId) ) {
						$mom.tempStartingPosition = $mom.scrollableAreaWidth;
						}

						// Add the width of the current element in the loop to the total width
						$mom.scrollableAreaWidth = $mom.scrollableAreaWidth + $(this).outerWidth(true);
						
					});
					
					var countChildren = $mom.find(options.scrollableArea).children((options.countOnlyClass)).length;
					var thumbWidth = 72;
					var thumbMarginLeft = 12;
					$mom.scrollableAreaWidth = countChildren*thumbWidth - thumbMarginLeft + options.displacement;
					
					// Set the width of the scrollableArea to the accumulated width
					$mom.find(options.scrollableArea).css("width", $mom.scrollableAreaWidth + "px");
					
					if (options.fixed_scrollable_area_width!=undefined)  // Christoph f�r Bildergalerie
						$mom.find(options.scrollableArea).css("width", options.fixed_scrollable_area_width);

					// Check to see if the whole thing should be hidden at start
					if(options.hiddenOnStart) {
						$mom.hide();
					}
				}
				
				// Set the starting position of the scrollable area. If no startAtElementId is set, the starting position
				// will be the default value (zero)
				$mom.find(options.scrollWrapper).scrollLeft($mom.tempStartingPosition);
				
				// If the user has set the option autoScroll, the scollable area will
				// start scrolling automatically
				if(options.autoScroll !== "") {
					$mom.autoScrollInterval = setInterval(autoScroll, 6);
				}

				// If autoScroll is set to always, the hot spots should be disabled
				if(options.autoScroll == "always")
				{
					hideLeftHotSpot();
					hideRightHotSpot();
				}
	
				// If the user wants to have visible hot spots, here is where it's taken care of
				switch(options.visibleHotSpots)
				{
					case "always":
						makeHotSpotBackgroundsVisible();
						break;
					case "onstart":
						makeHotSpotBackgroundsVisible();
						$mom.hideHotSpotBackgroundsInterval = setInterval(hideHotSpotBackgrounds, (options.hotSpotsVisibleTime * 1000));
						break;
					default:
						break;	
				}
				
			});
			
			// If autoScroll is running, here's where it's stopped when the user positions the mouse over one of the hot spots
			$mom.find(options.scrollingHotSpotRight, options.scrollingHotSpotLeft).one('mouseover',function(){
				if(options.autoScroll == "onstart") {
					clearInterval($mom.autoScrollInterval);
				}
			});	

			
			// EVENT - window resize
			$(window).bind("resize",function(){
				//windowIsResized();
			});

			// A function for doing the stuff that needs to be
			// done when the browser window is resized
			function windowIsResized() {
			
				// If the scrollable area is not hidden on start, reset and recalculate the
				// width of the scrollable area
				if(!(options.hiddenOnStart))
				{
					$mom.scrollableAreaWidth = 0;
					$mom.find(options.scrollableArea).children((options.countOnlyClass)).each(function() {
						$mom.scrollableAreaWidth = $mom.scrollableAreaWidth + $(this).outerWidth(true);
					});
					
					$mom.find(options.scrollableArea).css("width", $mom.scrollableAreaWidth + 'px');
				}

				// Reset the left offset of the scroll wrapper
				$mom.find(options.scrollWrapper).scrollLeft("0");
				
				// Get the width of the page (body)
				var bodyWidth = $("body").innerWidth();
				
				// If the scrollable area is shorter than the current
				// window width, both scroll hot spots should be hidden.
				// Otherwise, check which hot spots should be shown.
				if(options.autoScroll !== "always")
				{
					if($mom.scrollableAreaWidth < bodyWidth)
					{	
						hideLeftHotSpot();
						hideRightHotSpot();
					}
					else
					{
						showHideHotSpots();
					}
				}
			}
			
			// HELPER FUNCTIONS FOR SHOWING AND HIDING HOT SPOTS
			function hideLeftHotSpot(){
				$mom.find(options.scrollingHotSpotLeft).hide();
			}
			
			function hideRightHotSpot(){
				$mom.find(options.scrollingHotSpotRight).hide();
			}
			
			function showLeftHotSpot(){
				$mom.find(options.scrollingHotSpotLeft).show();
				// Recalculate the hot spot width. Do it here because you can
				// be sure that the hot spot is visible and has a width
				if(hotSpotWidth <= 0) {
					hotSpotWidth = $mom.find(options.scrollingHotSpotLeft).width();
				}
			}
			
			function showRightHotSpot(){
				$mom.find(options.scrollingHotSpotRight).show();
				// Recalculate the hot spot width. Do it here because you can
				// be sure that the hot spot is visible and has a width
				if(hotSpotWidth <= 0) {
					hotSpotWidth = $mom.find(options.scrollingHotSpotRight).width();
				}
			}
			
			function setHotSpotHeightForIE()
			{
				// Some bugfixing for IE 6
				jQuery.each(jQuery.browser, function(i, val) {
					if(i=="msie" && jQuery.browser.version.substr(0,1)=="6")
					{
						$mom.find(options.scrollingHotSpotLeft).css("height", ($mom.find(options.scrollableArea).innerHeight()));
						$mom.find(options.scrollingHotSpotRight).css("height", ($mom.find(options.scrollableArea).innerHeight()));				
					}
				});
			}
			// **************************************************
			// EVENTS - scroll right
			// **************************************************
			
			// Check the mouse X position and calculate the relative X position inside the right hot spot
			$mom.find(options.scrollingHotSpotRight).bind('mousemove',function(e){
				var x = e.pageX - (this.offsetLeft + motherElementOffset);
				scrollXpos = Math.round((x/hotSpotWidth) * options.scrollingSpeed);
				if(scrollXpos === Infinity) {
					scrollXpos = 0;
				}

			});

			// mouseover right hot spot
			$mom.find(options.scrollingHotSpotRight).bind('mouseover',function(){
				if(options.autoScroll == "onstart") {
					clearInterval($mom.autoScrollInterval);
				}
				$mom.rightScrollInterval = setInterval(doScrollRight, 6);
			});	
			
			// mouseout right hot spot
			$mom.find(options.scrollingHotSpotRight).bind('mouseout',function(){
				clearInterval($mom.rightScrollInterval);
				scrollXpos = 0;
			});
			
			// scrolling speed booster right
			$mom.find(options.scrollingHotSpotRight).bind('mousedown',function(){
				booster = options.mouseDownSpeedBooster;
			});
			
			// stop boosting the scrolling speed
			$("*").bind('mouseup',function(){
				booster = 1;
			});
	
			
			// The function that does the actual scrolling right
			var doScrollRight = function()
			{	
				if(scrollXpos > 0) {
					$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() + (scrollXpos*booster));
				}
				showHideHotSpots();
			};
			
			// **************************************************
			// Autoscrolling
			// **************************************************

			if(options.pauseAutoScroll == "mousedown" && options.autoScroll == "always")
			{
				$mom.find(options.scrollWrapper).bind('mousedown',function(){
					clearInterval($mom.autoScrollInterval);
				});
				
				$mom.find(options.scrollWrapper).bind('mouseup',function(){
					$mom.autoScrollInterval = setInterval(autoScroll, 6);
				});
			}
			else if(options.pauseAutoScroll == "mouseover" && options.autoScroll == "always")
			{
				$mom.find(options.scrollWrapper).bind('mouseover',function(){
					clearInterval($mom.autoScrollInterval);
				});
				
				$mom.find(options.scrollWrapper).bind('mouseout',function(){
					$mom.autoScrollInterval = setInterval(autoScroll, 6);
				});
			}
			
			$mom.previousScrollLeft = 0;
			$mom.pingPongDirection = "right";
			$mom.swapAt;
			$mom.getNextElementWidth = true;
			// The autoScroll function
			var autoScroll = function()
			{	
				if (options.autoScroll == "onstart") {
					showHideHotSpots();
				}
				
				switch(options.autoScrollDirection)
				{
					case "right":
						$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() + options.autoScrollSpeed);
						break;
						
					case "left":
						$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() - options.autoScrollSpeed);
						break;
						
					case "backandforth":
						// Store the old scrollLeft value to see if the scrolling has reached the end
						$mom.previousScrollLeft = $mom.find(options.scrollWrapper).scrollLeft();
						
						if($mom.pingPongDirection == "right") {
							$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() + options.autoScrollSpeed);
						}
						else {
							$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() - options.autoScrollSpeed);
						}
						
						// If the scrollLeft hasnt't changed it means that the scrolling has reached
						// the end and the direction should be switched
						if($mom.previousScrollLeft === $mom.find(options.scrollWrapper).scrollLeft())
						{
							if($mom.pingPongDirection == "right") {
								$mom.pingPongDirection = "left";
							}
							else {
								$mom.pingPongDirection = "right";
							}
						}
						break;
		
					case "endlessloop":
						// Get the width of the first element. When it has scrolled out of view,
						// the element swapping should be executed. A true/false variable is used
						// as a flag variable so the swapAt value doesn't have to be recalculated
						// in each loop.
						if($mom.getNextElementWidth)
						{
							if(options.startAtElementId !== "") {
								$mom.swapAt = $("#" + options.startAtElementId).outerWidth();
							}
							else {
								$mom.swapAt = $mom.find(options.scrollableArea).children(":first-child").outerWidth();
							}
							
							$mom.getNextElementWidth = false;
						}
						
						// Do the autoscrolling
						$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() + options.autoScrollSpeed);
						
						// Check to see if the swap should be done
						if(($mom.swapAt <= $mom.find(options.scrollWrapper).scrollLeft()))
						{ 
							// Clone the first element and append it last in the scrollableArea
							$mom.find(options.scrollableArea).append($mom.find(options.scrollableArea).children(":first-child").clone());

							// Compensate for the removal of the first element by
							$mom.find(options.scrollWrapper).scrollLeft(($mom.find(options.scrollWrapper).scrollLeft() - $mom.find(options.scrollableArea).children(":first-child").outerWidth()));
							
							// Remove it from its original position as the first element
							$mom.find(options.scrollableArea).children(":first-child").remove();
							
							$mom.getNextElementWidth = true;
						}
						break;
					default:
						break;
						
				}

			};
			
			
			// **************************************************
			// EVENTS - scroll left
			// **************************************************
		
			// Check the mouse X position and calculate the relative X position inside the left hot spot
			$mom.find(options.scrollingHotSpotLeft).bind('mousemove',function(e){
				var x = $mom.find(options.scrollingHotSpotLeft).innerWidth() - (e.pageX - motherElementOffset);
				scrollXpos = Math.round((x/hotSpotWidth) * options.scrollingSpeed);
				if(scrollXpos === Infinity)
				{
					scrollXpos = 0;
				}
			});
			
			// mouseover left hot spot
			$mom.find(options.scrollingHotSpotLeft).bind('mouseover',function(){
				if(options.autoScroll == "onstart") {
					clearInterval($mom.autoScrollInterval);
				}
				
				$mom.leftScrollInterval = setInterval(doScrollLeft, 6);
			});	
			
			// mouseout left hot spot
			$mom.find(options.scrollingHotSpotLeft).bind('mouseout',function(){
				clearInterval($mom.leftScrollInterval);
				scrollXpos = 0;
			});
			
			// scrolling speed booster left
			$mom.find(options.scrollingHotSpotLeft).bind('mousedown',function(){
				booster = options.mouseDownSpeedBooster;
			});
			
			// The function that does the actual scrolling left
			var doScrollLeft = function()
			{	
				if(scrollXpos > 0) {
					$mom.find(options.scrollWrapper).scrollLeft($mom.find(options.scrollWrapper).scrollLeft() - (scrollXpos*booster));
				}
				showHideHotSpots();
			};
			
			// **************************************************
			// Hot spot functions
			// **************************************************
			
			// Function for showing and hiding hot spots depending on the
			// offset of the scrolling
			function showHideHotSpots()
			{
				//Patch for scrollableAreaWidth
				if (options.fixed_scrollable_area_width!=undefined) {
					$mom.scrollableAreaWidth = options.fixed_scrollable_area_width;  // Christoph fuer Bildergalerie
					$mom.scrollableAreaWidth = $mom.scrollableAreaWidth.substring(0,$mom.scrollableAreaWidth.length-2);
				}
				
				// When you can't scroll further left
				// the left scroll hot spot should be hidden
				// and the right hot spot visible
				if($mom.find(options.scrollWrapper).scrollLeft() === 0)
				{
					hideLeftHotSpot();
					showRightHotSpot();
				}
				// When you can't scroll further right
				// the right scroll hot spot should be hidden
				// and the left hot spot visible
				else if(($mom.scrollableAreaWidth) <= ($mom.find(options.scrollWrapper).innerWidth() + $mom.find(options.scrollWrapper).scrollLeft()))
				{
					hideRightHotSpot();
					showLeftHotSpot();
				}
				// If you are somewhere in the middle of your
				// scrolling, both hot spots should be visible
				else
				{
					showRightHotSpot();
					showLeftHotSpot();
				}

			}
			
			// Function for making the hot spot background visible
			function makeHotSpotBackgroundsVisible()
			{
				// Alter the CSS (SmoothDivScroll.css) if you want to customize
				// the look'n'feel of the visible hot spots
				
				// The left hot spot
				$mom.find(options.scrollingHotSpotLeft).addClass("scrollingHotSpotLeftVisible");

				// The right hot spot
				$mom.find(options.scrollingHotSpotRight).addClass("scrollingHotSpotRightVisible");
			}
			
			// Hide the hot spot backgrounds.
			function hideHotSpotBackgrounds()
			{
				clearInterval($mom.hideHotSpotBackgroundsInterval);
				
				// Fade out the left hot spot
				$mom.find(options.scrollingHotSpotLeft).fadeTo("slow", 0.0, function(){
					$mom.find(options.scrollingHotSpotLeft).removeClass("scrollingHotSpotLeftVisible");
				});

				// Fade out the right hot spot
				$mom.find(options.scrollingHotSpotRight).fadeTo("slow", 0.0, function(){
					$mom.find(options.scrollingHotSpotRight).removeClass("scrollingHotSpotRightVisible");
				});
			}
			
	});
};

})(jQuery);


}catch(e){alert('Error in jquery.smoothDivScroll-0.9: ' + e.description);}

// ---- MiniGlobal_Pro_Headline_400.font ----
try{ /*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * (URW)++,Copyright 2007 by (URW)++ Design & Development
 */
Cufon.registerFont({"w":360,"face":{"font-family":"MINI Type Global Pro Headline","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"0 0 0 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"5","bbox":"-87 -344 516 118","underline-thickness":"17.9297","underline-position":"-45.3516","unicode-range":"U+0020-U+2300"},"glyphs":{" ":{"w":98,"k":{"\u0105":11,"\u0104":11,"\u0103":11,"\u0102":11,"\u0101":11,"\u0100":11,"\u00e6":12,"\u00e5":11,"\u00e4":11,"\u00e3":11,"\u00e2":11,"\u00e1":11,"\u00e0":11,"\u00c6":12,"\u00c5":11,"\u00c4":11,"\u00c3":11,"\u00c2":11,"\u00c1":11,"\u00c0":11,"z":13,"y":21,"x":14,"v":10,"t":10,"j":13,"a":11,"Z":13,"Y":21,"X":14,"V":10,"T":10,"J":13,"A":11}},"!":{"d":"19,-32v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,19,-18,37,-38,37v-20,0,-39,-19,-38,-37xm57,-259v65,6,21,110,21,163r-42,0r-14,-128v-1,-20,15,-36,35,-35","w":113},"\"":{"d":"52,-259v58,5,21,94,20,142r-41,0v0,-49,-40,-135,21,-142xm143,-259v59,6,20,94,19,142r-40,0v0,-49,-40,-135,21,-142","w":193,"k":{"q":7,"o":7,"j":38,"g":4,"c":4,"a":31,"Q":7,"O":7,"J":38,"G":4,"C":4,"A":31}},"#":{"d":"44,0r12,-50r-42,0r10,-40r42,0r19,-74r-41,0r9,-40r41,0r13,-50r43,0r-12,50r59,0r13,-50r43,0r-13,50r41,0r-10,40r-40,0r-19,74r41,0r-10,40r-41,0r-12,50r-44,0r13,-50r-59,0r-13,50r-43,0xm110,-90r58,0r19,-74r-59,0","w":298,"k":{"4":21,"1":-4}},"$":{"d":"35,-134v-45,-40,-16,-117,43,-120r0,-25r39,0r0,24v20,1,38,3,54,7r0,41v-46,-11,-104,-19,-109,20v7,40,81,38,102,65v34,43,18,117,-47,121r0,27r-39,0r0,-25v-24,-1,-45,-4,-62,-9r0,-44v43,19,134,23,111,-35v-13,-18,-76,-33,-92,-47","w":192,"k":{"9":7,"2":-5}},"%":{"d":"232,-75v0,-50,26,-80,73,-80v46,0,73,32,73,81v0,47,-27,79,-74,79v-48,0,-72,-31,-72,-80xm337,-76v0,-28,-8,-49,-33,-49v-23,0,-33,23,-32,50v0,33,10,50,32,50v22,0,33,-17,33,-51xm104,0r144,-254r44,0r-144,254r-44,0xm19,-179v0,-49,27,-80,74,-80v46,0,72,32,72,81v0,48,-26,78,-74,79v-46,0,-72,-32,-72,-80xm125,-180v0,-28,-8,-49,-34,-49v-24,1,-32,24,-32,50v0,27,9,49,33,50v22,0,33,-17,33,-51","w":396},"&":{"d":"68,-158v-33,-51,3,-101,67,-101v18,0,37,3,58,10r0,39v-28,-13,-87,-22,-88,15v11,38,63,76,87,107v9,-20,15,-43,18,-69r45,0v-2,38,-12,74,-31,104r49,53r-63,0r-18,-20v-57,46,-181,30,-181,-59v0,-36,19,-62,57,-79xm91,-128v-50,22,-36,93,24,93v18,0,34,-5,48,-16","w":273,"k":{"\u0178":18,"\u0165":16,"\u0164":16,"\u0163":16,"\u0162":16,"\u00ff":18,"\u00fd":18,"\u00e6":17,"\u00dd":18,"\u00c6":17,"z":10,"y":18,"w":6,"v":8,"t":16,"Z":10,"Y":18,"W":6,"V":8,"T":16}},"'":{"d":"52,-259v58,5,21,94,20,142r-41,0v0,-49,-40,-135,21,-142","w":103,"k":{"q":7,"o":7,"j":38,"g":4,"c":4,"a":31,"Q":7,"O":7,"J":38,"G":4,"C":4,"A":31}},"(":{"d":"112,4v-100,-6,-126,-171,-57,-235v17,-15,36,-25,57,-27r0,41v-31,10,-47,41,-47,91v0,50,16,80,47,90r0,40","w":119,"k":{"4":12,"3":-12,"2":-7,"1":-7}},")":{"d":"8,-258v100,8,128,179,52,239v-15,13,-32,21,-52,23r0,-40v61,-11,64,-167,0,-181r0,-41","w":119},"*":{"d":"59,-99r-28,-21r32,-45r-52,-17r11,-34r52,18r0,-56r35,0r0,56r53,-18r11,34r-53,17r33,45r-29,21r-33,-45","w":183},"+":{"d":"96,-31r0,-74r-69,0r0,-43r69,0r0,-73r46,0r0,73r68,0r0,43r-68,0r0,74r-46,0","w":237},",":{"d":"57,-70v73,9,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-40,38,-37","w":113,"k":{"2":-10,"1":23}},"-":{"d":"14,-107r0,-48r120,0r0,48r-120,0","w":148,"k":{"\u0443":11,"\u0442":18,"\u0423":11,"\u0422":18,"\u0410":2,"\u03d2":14,"\u03a5":14,"\u03a4":18,"\u039b":1,"\u0391":2,"\u0178":22,"\u0165":21,"\u0164":21,"\u0163":21,"\u0162":21,"\u0105":13,"\u0104":13,"\u0103":13,"\u0102":13,"\u0101":13,"\u0100":13,"\u00ff":22,"\u00fd":22,"\u00e5":13,"\u00e4":13,"\u00e3":13,"\u00e2":13,"\u00e1":13,"\u00e0":13,"\u00dd":22,"\u00c5":13,"\u00c4":13,"\u00c3":13,"\u00c2":13,"\u00c1":13,"\u00c0":13,"z":20,"y":22,"x":21,"w":4,"v":13,"t":21,"j":23,"a":13,"Z":20,"Y":22,"X":21,"W":4,"V":13,"T":21,"J":23,"A":13,"7":23,"4":-2,"2":7}},".":{"d":"19,-32v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,19,-18,37,-38,37v-20,0,-39,-19,-38,-37","w":113,"k":{"2":-10,"1":23}},"\/":{"d":"0,0r72,-254r43,0r-72,254r-43,0","w":115,"k":{"\u0105":13,"\u0104":13,"\u0103":13,"\u0102":13,"\u0101":13,"\u0100":13,"\u00e6":33,"\u00e5":13,"\u00e4":13,"\u00e3":13,"\u00e2":13,"\u00e1":13,"\u00e0":13,"\u00c6":33,"\u00c5":13,"\u00c4":13,"\u00c3":13,"\u00c2":13,"\u00c1":13,"\u00c0":13,"t":-12,"j":23,"a":13,"T":-12,"J":23,"A":13,"7":-10,"4":24,"3":-5,"1":-9}},"0":{"d":"16,-127v0,-78,30,-132,103,-132v71,0,102,54,102,132v0,79,-30,132,-103,132v-74,0,-102,-54,-102,-132xm118,-220v-33,0,-49,31,-49,93v0,62,16,93,49,93v33,0,50,-31,50,-94v0,-61,-16,-92,-50,-92","w":237,"k":{"7":7,"6":-4,"4":3,"1":5}},"1":{"d":"67,0r0,-206r-60,13r0,-37v34,-11,61,-29,111,-24r0,254r-51,0","w":156,"k":{"\u00b0":17,"\u00a2":14,"9":10,"8":10,"7":8,"6":8,"5":-4,"4":17,"3":2,"2":4,"0":12,".":7,",":7,"'":16,"%":18,"\"":16}},"2":{"d":"179,-183v-3,59,-53,106,-96,140r101,0r0,43r-177,0r0,-37v40,-32,68,-58,87,-78v22,-23,32,-44,32,-63v0,-52,-67,-44,-109,-24r0,-43v64,-26,166,-21,162,62","w":193,"k":{"\u00a2":4,"8":5,"6":7,"4":14,"3":-5,"2":-5}},"3":{"d":"189,-78v0,79,-100,94,-177,77r0,-40v41,9,125,15,125,-34v0,-39,-52,-43,-92,-37r0,-33r71,-67r-104,0r0,-42r166,0r0,37r-68,67v53,4,79,28,79,72","w":200,"k":{"\u00b0":9,"\u00a2":2,"}":7,"9":9,"7":6,"6":3,"2":2,"1":3,"\/":7,"-":2,"'":7,"%":16,"\"":7}},"4":{"d":"129,0r0,-54r-117,0r0,-45r119,-155r47,0r0,160r27,0r0,40r-27,0r0,54r-49,0xm54,-94r75,0r0,-98","w":217,"k":{"\u00b0":6,"\\":5,"9":6,"7":3,"4":3,"2":-5,"1":3,"-":5,"'":7,"%":14,"\"":7}},"5":{"d":"189,-83v0,80,-88,100,-174,83r0,-42v50,13,119,13,122,-39v2,-47,-66,-49,-116,-37r6,-136r148,0r0,43r-106,0r-2,49v69,-6,122,14,122,79","w":206,"k":{"\u00b0":9,"\u00a2":2,"}":7,"\\":9,"9":6,"7":6,"5":5,"4":3,"2":3,"1":5,"0":2,"\/":9,"'":9,"%":10,"\"":9}},"6":{"d":"14,-109v0,-101,65,-165,174,-148r0,39v-62,-7,-106,13,-115,65v54,-35,141,-7,136,67v-4,59,-37,92,-98,91v-65,0,-97,-47,-97,-114xm112,-129v-25,0,-45,15,-45,43v0,31,16,52,45,52v30,1,46,-20,45,-50v0,-28,-14,-46,-45,-45","w":222,"k":{"\u00b0":9,"9":5,"7":7,"1":8,"'":3,"%":7,"\"":4}},"7":{"d":"23,0r107,-210r-128,0r0,-44r179,0r0,40r-106,214r-52,0","w":188,"k":{"\u00b7":9,"\u00a2":10,"\\":-5,"8":4,"7":-12,"6":11,"4":24,"1":-9,"0":7,"\/":21,".":43,"-":4,",":43,"'":-7,"#":19,"\"":-7}},"8":{"d":"118,5v-58,0,-99,-26,-99,-78v0,-28,13,-48,39,-62v-22,-12,-33,-30,-33,-55v0,-47,41,-70,95,-69v52,1,91,20,92,70v0,25,-10,43,-32,54v26,14,38,34,38,62v1,54,-43,78,-100,78xm167,-75v0,-27,-20,-40,-50,-40v-28,0,-47,14,-47,41v0,28,20,42,48,42v29,0,50,-13,49,-43xm164,-188v0,-24,-20,-35,-47,-35v-26,0,-44,12,-44,36v0,24,19,35,45,35v30,0,46,-12,46,-36","w":237,"k":{"\u00b0":3,"\u00a2":6,"9":2,"8":-2,"7":3,"4":3,"1":3,"%":10}},"9":{"d":"208,-145v-1,100,-61,165,-171,149r0,-40v61,7,103,-12,112,-65v-52,37,-135,8,-135,-66v0,-57,37,-93,95,-92v66,1,100,45,99,114xm65,-170v-3,51,74,59,88,23v14,-34,-7,-74,-42,-73v-29,1,-44,20,-46,50","w":222,"k":{"8":-2,"7":3,"6":-2,"4":4,"2":3,"0":-4}},":":{"d":"19,-32v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,19,-18,37,-38,37v-20,0,-39,-19,-38,-37xm19,-159v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,18,-17,37,-38,37v-20,0,-39,-19,-38,-37","w":113},";":{"d":"57,-70v73,9,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-40,38,-37xm19,-159v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,18,-17,37,-38,37v-20,0,-39,-19,-38,-37","w":113},"<":{"d":"210,-31r-183,-74r0,-43r183,-73r0,43r-127,52r127,51r0,44","w":237},"=":{"d":"27,-63r0,-42r183,0r0,42r-183,0xm27,-148r0,-42r183,0r0,42r-183,0","w":237},">":{"d":"27,-31r0,-44r128,-51r-128,-52r0,-43r183,73r0,43","w":237},"?":{"d":"55,-32v0,-20,18,-38,39,-38v19,0,37,17,37,38v0,18,-17,37,-38,37v-20,0,-38,-19,-38,-37xm22,-248v55,-21,155,-18,155,52v0,29,-29,55,-47,70v-9,8,-11,17,-11,29r-51,0v-7,-51,48,-55,55,-94v-1,-40,-71,-30,-101,-14r0,-43","w":208},"@":{"d":"149,-259v94,0,158,96,119,190r-94,0r-2,-25r-49,0r-14,25r-36,0r81,-137r39,0r14,108r32,0v20,-67,-27,-127,-92,-128v-51,-1,-94,47,-94,99v0,72,73,119,146,94r0,34v-100,21,-181,-33,-183,-128v-2,-71,60,-132,133,-132xm139,-122r30,0r-5,-44","w":296,"k":{"\u00e6":12,"\u00c6":12,"z":11,"y":11,"x":14,"v":5,"t":11,"j":24,"a":14,"Z":11,"Y":11,"X":14,"V":5,"T":11,"J":24,"A":14}},"A":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u0178":28,"\u0173":9,"\u0172":9,"\u0171":9,"\u0170":9,"\u016f":9,"\u016e":9,"\u016b":9,"\u016a":9,"\u0165":26,"\u0164":26,"\u0163":26,"\u0162":26,"\u0151":9,"\u0150":9,"\u014d":9,"\u014c":9,"\u0123":9,"\u0122":9,"\u011f":9,"\u011e":9,"\u010d":9,"\u010c":9,"\u0107":9,"\u0106":9,"\u00ff":28,"\u00fd":28,"\u00fc":9,"\u00fb":9,"\u00fa":9,"\u00f9":9,"\u00f8":9,"\u00f6":9,"\u00f5":9,"\u00f4":9,"\u00f3":9,"\u00f2":9,"\u00e7":9,"\u00dd":28,"\u00dc":9,"\u00db":9,"\u00da":9,"\u00d9":9,"\u00d8":9,"\u00d6":9,"\u00d5":9,"\u00d4":9,"\u00d3":9,"\u00d2":9,"\u00c7":9,"\u00ab":14,"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"@":11,"?":25,"\/":-5,"-":12,"*":29,"'":31,"\"":31,"!":3," ":11}},"B":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u0178":16,"\u0173":6,"\u0172":6,"\u0171":6,"\u0170":6,"\u016f":6,"\u016e":6,"\u016b":6,"\u016a":6,"\u0165":13,"\u0164":13,"\u0163":13,"\u0162":13,"\u0105":5,"\u0104":5,"\u0103":5,"\u0102":5,"\u0101":5,"\u0100":5,"\u00ff":16,"\u00fd":16,"\u00fc":6,"\u00fb":6,"\u00fa":6,"\u00f9":6,"\u00e6":14,"\u00e5":5,"\u00e4":5,"\u00e3":5,"\u00e2":5,"\u00e1":5,"\u00e0":5,"\u00dd":16,"\u00dc":6,"\u00db":6,"\u00da":6,"\u00d9":6,"\u00c6":14,"\u00c5":5,"\u00c4":5,"\u00c3":5,"\u00c2":5,"\u00c1":5,"\u00c0":5,"z":2,"y":16,"x":9,"w":5,"v":8,"u":6,"t":13,"s":2,"r":5,"q":6,"p":5,"o":6,"n":5,"m":5,"l":5,"k":5,"j":7,"i":5,"h":5,"g":6,"f":5,"e":5,"d":5,"c":6,"b":5,"a":5,"\\":5,"Z":2,"Y":16,"X":9,"W":5,"V":8,"U":6,"T":13,"S":2,"R":5,"Q":6,"P":5,"O":6,"N":5,"M":5,"L":5,"K":5,"J":7,"I":5,"H":5,"G":6,"F":5,"E":5,"D":5,"C":6,"B":5,"A":5,"?":9,".":5,"-":6,",":5,"*":9,"'":5,"\"":5}},"C":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125","w":219,"k":{"\u017e":-7,"\u017d":-7,"\u017c":-7,"\u017b":-7,"\u017a":-7,"\u0179":-7,"\u0178":-2,"\u0173":-7,"\u0172":-7,"\u0171":-7,"\u0170":-7,"\u016f":-7,"\u016e":-7,"\u016b":-7,"\u016a":-7,"\u0165":-7,"\u0164":-7,"\u0163":-7,"\u0162":-7,"\u0161":-7,"\u0160":-7,"\u015f":-7,"\u015b":-7,"\u015a":-7,"\u0151":2,"\u0150":2,"\u014d":2,"\u014c":2,"\u0123":2,"\u0122":2,"\u011f":2,"\u011e":2,"\u011b":-7,"\u0119":-7,"\u0117":-7,"\u010d":2,"\u010c":2,"\u0107":2,"\u0106":2,"\u0105":-13,"\u0104":-13,"\u0103":-13,"\u0102":-13,"\u0101":-13,"\u0100":-13,"\u00ff":-2,"\u00fd":-2,"\u00fc":-7,"\u00fb":-7,"\u00fa":-7,"\u00f9":-7,"\u00f8":2,"\u00f6":2,"\u00f5":2,"\u00f4":2,"\u00f3":2,"\u00f2":2,"\u00eb":-7,"\u00ea":-7,"\u00e9":-7,"\u00e8":-7,"\u00e7":2,"\u00e6":-5,"\u00e5":-13,"\u00e4":-13,"\u00e3":-13,"\u00e2":-13,"\u00e1":-13,"\u00e0":-13,"\u00dd":-2,"\u00dc":-7,"\u00db":-7,"\u00da":-7,"\u00d9":-7,"\u00d8":2,"\u00d6":2,"\u00d5":2,"\u00d4":2,"\u00d3":2,"\u00d2":2,"\u00c7":2,"\u00c6":-5,"\u00c5":-13,"\u00c4":-13,"\u00c3":-13,"\u00c2":-13,"\u00c1":-13,"\u00c0":-13,"\u00bb":-11,"\u00ab":7,"}":-26,"z":-7,"y":-2,"x":-12,"w":-5,"v":-5,"u":-7,"t":-7,"s":-7,"r":-7,"q":2,"p":-7,"o":2,"n":-7,"m":-7,"l":-7,"k":-7,"j":-8,"i":-7,"h":-7,"g":2,"f":-7,"e":-7,"d":-7,"c":2,"b":-7,"a":-13,"]":-14,"\\":-7,"Z":-7,"Y":-2,"X":-12,"W":-5,"V":-5,"U":-7,"T":-7,"S":-7,"R":-7,"Q":2,"P":-7,"O":2,"N":-7,"M":-7,"L":-7,"K":-7,"J":-8,"I":-7,"H":-7,"G":2,"F":-7,"E":-7,"D":-7,"C":2,"B":-7,"A":-13,"@":5,"\/":-12,".":-5,"-":12,",":-5,")":-24,"'":-7,"\"":-7}},"D":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-254r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,168v73,8,117,-17,117,-84","w":270,"k":{"\u0178":17,"\u0165":10,"\u0164":10,"\u0163":10,"\u0162":10,"\u0105":9,"\u0104":9,"\u0103":9,"\u0102":9,"\u0101":9,"\u0100":9,"\u00ff":17,"\u00fd":17,"\u00e6":15,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"\u00dd":17,"\u00c6":15,"\u00c5":9,"\u00c4":9,"\u00c3":9,"\u00c2":9,"\u00c1":9,"\u00c0":9,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,"?":8,".":14,",":14}},"E":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u0161":2,"\u015a":2,"\u0150":3,"\u014c":3,"\u0122":3,"\u011e":3,"\u010c":3,"\u0106":3,"\u00d8":3,"\u00d6":3,"\u00d5":3,"\u00d4":3,"\u00d3":3,"\u00d2":3,"\u00c7":3,"s":2,"q":3,"o":3,"g":3,"c":3,"S":2,"Q":3,"O":3,"G":3,"C":3,"@":4,"-":6}},"F":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,64r99,0r0,42r-99,0r0,105r-52,0","w":196,"k":{"\u0105":18,"\u0104":18,"\u0103":18,"\u0102":18,"\u0101":18,"\u0100":18,"\u00e6":18,"\u00e5":18,"\u00e4":18,"\u00e3":18,"\u00e2":18,"\u00e1":18,"\u00e0":18,"\u00c6":36,"\u00c5":18,"\u00c4":18,"\u00c3":18,"\u00c2":18,"\u00c1":18,"\u00c0":18,"z":5,"x":10,"j":43,"a":18,"Z":5,"X":10,"J":43,"A":18,"\/":10,".":30,",":30,"&":5}},"G":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130","w":256,"k":{"\u0178":7,"\u0164":2,"\u0162":2,"\u00ff":7,"\u00fd":7,"\u00dd":7,"y":7,"t":2,"Y":7,"T":2,"?":5,"*":11}},"H":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"I":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"J":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0","w":177,"k":{"\u0105":9,"\u0104":9,"\u0103":9,"\u0102":9,"\u0101":9,"\u0100":9,"\u00e6":9,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"\u00c6":17,"\u00c5":9,"\u00c4":9,"\u00c3":9,"\u00c2":9,"\u00c1":9,"\u00c0":9,"j":12,"a":9,"J":12,"A":9,"?":6,".":12,",":12}},"K":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u0173":9,"\u0172":9,"\u0171":9,"\u0170":9,"\u016f":9,"\u016e":9,"\u016b":9,"\u016a":9,"\u0153":17,"\u0152":17,"\u0151":17,"\u0150":17,"\u014d":17,"\u014c":17,"\u0123":17,"\u0122":17,"\u011f":17,"\u011e":17,"\u010d":17,"\u010c":17,"\u0107":17,"\u0106":17,"\u0105":-13,"\u0104":-13,"\u0103":-13,"\u0102":-13,"\u0101":-13,"\u0100":-13,"\u00fc":9,"\u00fb":9,"\u00fa":9,"\u00f9":9,"\u00f8":17,"\u00f6":17,"\u00f5":17,"\u00f4":17,"\u00f3":17,"\u00f2":17,"\u00e7":17,"\u00e5":-13,"\u00e4":-13,"\u00e3":-13,"\u00e2":-13,"\u00e1":-13,"\u00e0":-13,"\u00dc":9,"\u00db":9,"\u00da":9,"\u00d9":9,"\u00d8":17,"\u00d6":17,"\u00d5":17,"\u00d4":17,"\u00d3":17,"\u00d2":17,"\u00c7":17,"\u00c5":-13,"\u00c4":-13,"\u00c3":-13,"\u00c2":-13,"\u00c1":-13,"\u00c0":-13,"u":9,"q":17,"o":17,"j":-12,"g":17,"c":17,"a":-13,"U":9,"Q":17,"O":17,"J":-12,"G":17,"C":17,"A":-13,"@":23,"?":10,"\/":-2,"-":22,"*":17,"&":9," ":21}},"L":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0","w":194,"k":{"\u0178":47,"\u0173":7,"\u0172":7,"\u0171":7,"\u0170":7,"\u016f":7,"\u016e":7,"\u016b":7,"\u016a":7,"\u0165":43,"\u0164":43,"\u0163":43,"\u0162":43,"\u0153":13,"\u0152":13,"\u0151":13,"\u0150":13,"\u014d":13,"\u014c":13,"\u0123":13,"\u0122":13,"\u011f":13,"\u011e":13,"\u010d":13,"\u010c":13,"\u0107":13,"\u0106":13,"\u0105":-6,"\u0104":-6,"\u0103":-6,"\u0102":-6,"\u0101":-6,"\u0100":-6,"\u00ff":47,"\u00fd":47,"\u00fc":7,"\u00fb":7,"\u00fa":7,"\u00f9":7,"\u00f8":13,"\u00f6":13,"\u00f5":13,"\u00f4":13,"\u00f3":13,"\u00f2":13,"\u00e7":13,"\u00e5":-6,"\u00e4":-6,"\u00e3":-6,"\u00e2":-6,"\u00e1":-6,"\u00e0":-6,"\u00dd":47,"\u00dc":7,"\u00db":7,"\u00da":7,"\u00d9":7,"\u00d8":13,"\u00d6":13,"\u00d5":13,"\u00d4":13,"\u00d3":13,"\u00d2":13,"\u00c7":13,"\u00c5":-6,"\u00c4":-6,"\u00c3":-6,"\u00c2":-6,"\u00c1":-6,"\u00c0":-6,"\u00bb":5,"\u00ab":9,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"Y":47,"W":20,"V":37,"U":7,"T":43,"Q":13,"O":13,"J":-10,"G":13,"C":13,"A":-6,"@":14,"?":28,"\/":-14,".":-5,"-":19,",":-5,"*":33,"'":34,"\"":34,"!":-2," ":22}},"M":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"N":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0","w":271},"O":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u017d":8,"\u017b":8,"\u0179":8,"\u0178":17,"\u0165":10,"\u0164":10,"\u0163":10,"\u0162":10,"\u0105":9,"\u0104":9,"\u0103":9,"\u0102":9,"\u0101":9,"\u0100":9,"\u00ff":17,"\u00fd":17,"\u00e6":15,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"\u00dd":17,"\u00c6":15,"\u00c5":9,"\u00c4":9,"\u00c3":9,"\u00c2":9,"\u00c1":9,"\u00c0":9,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,"?":8,".":12,",":12,"'":7,"\"":7}},"P":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u017d":12,"\u017b":12,"\u0179":12,"\u0178":8,"\u0173":2,"\u0172":2,"\u0171":2,"\u0170":2,"\u016f":2,"\u016e":2,"\u016b":2,"\u016a":2,"\u0159":2,"\u0157":2,"\u0155":2,"\u012f":2,"\u012b":2,"\u011b":2,"\u0119":2,"\u0117":2,"\u0113":2,"\u0105":31,"\u0104":31,"\u0103":31,"\u0102":31,"\u0101":31,"\u0100":31,"\u00ff":8,"\u00fd":8,"\u00fc":2,"\u00fb":2,"\u00fa":2,"\u00f9":2,"\u00ef":2,"\u00ee":2,"\u00ed":2,"\u00ec":2,"\u00eb":2,"\u00ea":2,"\u00e9":2,"\u00e8":2,"\u00e6":31,"\u00e5":31,"\u00e4":31,"\u00e3":31,"\u00e2":31,"\u00e1":31,"\u00e0":31,"\u00dd":8,"\u00dc":2,"\u00db":2,"\u00da":2,"\u00d9":2,"\u00c6":47,"\u00c5":31,"\u00c4":31,"\u00c3":31,"\u00c2":31,"\u00c1":31,"\u00c0":31,"z":12,"y":8,"x":17,"v":5,"u":2,"r":2,"p":2,"n":2,"m":2,"l":2,"k":2,"j":50,"i":2,"h":2,"f":2,"e":2,"d":2,"b":2,"a":31,"Z":12,"Y":8,"X":17,"V":5,"U":2,"R":2,"P":2,"N":2,"M":2,"L":2,"K":2,"J":50,"I":2,"H":2,"F":2,"E":2,"D":2,"B":2,"A":31,"?":6,"\/":10,".":46,"-":7,",":46,"&":9," ":18}},"Q":{"d":"142,-259v129,0,167,180,76,242r60,55r-64,0r-42,-36v-93,17,-156,-41,-156,-129v0,-78,49,-132,126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u0178":17,"\u0165":10,"\u0164":10,"\u0163":10,"\u0162":10,"\u0105":7,"\u0104":7,"\u0103":7,"\u0102":7,"\u0101":7,"\u0100":7,"\u00ff":17,"\u00fd":17,"\u00e6":7,"\u00e5":7,"\u00e4":7,"\u00e3":7,"\u00e2":7,"\u00e1":7,"\u00e0":7,"\u00dd":17,"\u00c6":7,"\u00c5":7,"\u00c4":7,"\u00c3":7,"\u00c2":7,"\u00c1":7,"\u00c0":7,"z":2,"y":17,"x":9,"v":4,"t":10,"a":7,"Z":2,"Y":17,"X":9,"V":4,"T":10,"A":7,"?":8,".":4,",":4,"'":7,"\"":7}},"R":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40","w":228,"k":{"\u0178":15,"\u0173":7,"\u0172":7,"\u0171":7,"\u0170":7,"\u016f":7,"\u016e":7,"\u016b":7,"\u016a":7,"\u0165":6,"\u0164":6,"\u0163":6,"\u0162":6,"\u0153":4,"\u0151":4,"\u0150":4,"\u014d":4,"\u014c":4,"\u0123":4,"\u0122":4,"\u011f":4,"\u011e":4,"\u010d":4,"\u010c":4,"\u0107":4,"\u0106":4,"\u00ff":15,"\u00fd":15,"\u00fc":7,"\u00fb":7,"\u00fa":7,"\u00f9":7,"\u00f8":4,"\u00f6":4,"\u00f5":4,"\u00f4":4,"\u00f3":4,"\u00f2":4,"\u00e7":4,"\u00dd":15,"\u00dc":7,"\u00db":7,"\u00da":7,"\u00d9":7,"\u00d8":4,"\u00d6":4,"\u00d5":4,"\u00d4":4,"\u00d3":4,"\u00d2":4,"\u00c7":4,"y":15,"v":9,"u":7,"t":6,"q":4,"o":4,"g":4,"c":4,"\\":5,"Y":15,"V":9,"U":7,"T":6,"Q":4,"O":4,"G":4,"C":4,"@":14,"?":10,"\/":-7,"-":16,"*":7,"'":5,"&":7,"\"":5,"!":7," ":7}},"S":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96","w":200,"k":{"\u0178":7,"\u0104":2,"\u0102":2,"\u0100":2,"\u00ff":7,"\u00fd":7,"\u00e6":8,"\u00dd":7,"\u00c6":8,"\u00c5":2,"\u00c4":2,"\u00c3":2,"\u00c2":2,"\u00c1":2,"\u00c0":2,"y":7,"j":2,"a":2,"Y":7,"J":2,"A":2,"?":8,"-":2,"*":15,"!":6}},"T":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u0161":-7,"\u0160":-7,"\u015f":-7,"\u015b":-7,"\u015a":-7,"\u0153":10,"\u0152":10,"\u0151":10,"\u0150":10,"\u014d":10,"\u014c":10,"\u0123":10,"\u0122":10,"\u011f":10,"\u011e":10,"\u010d":10,"\u010c":10,"\u0107":10,"\u0106":10,"\u0105":26,"\u0104":26,"\u0103":26,"\u0102":26,"\u0101":26,"\u0100":26,"\u00f8":10,"\u00f6":10,"\u00f5":10,"\u00f4":10,"\u00f3":10,"\u00f2":10,"\u00e7":10,"\u00e6":26,"\u00e5":26,"\u00e4":26,"\u00e3":26,"\u00e2":26,"\u00e1":26,"\u00e0":26,"\u00d8":10,"\u00d6":10,"\u00d5":10,"\u00d4":10,"\u00d3":10,"\u00d2":10,"\u00c7":10,"\u00c6":36,"\u00c5":26,"\u00c4":26,"\u00c3":26,"\u00c2":26,"\u00c1":26,"\u00c0":26,"\u00ab":9,"z":7,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,"\\":-12,"Z":7,"W":-5,"V":-5,"S":-7,"Q":10,"O":10,"J":44,"G":10,"C":10,"A":26,"@":13,";":10,":":10,"\/":14,".":23,"-":21,",":23,"&":7," ":10}},"U":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98","w":271,"k":{"\u017d":2,"\u017b":2,"\u0179":2,"\u0178":4,"\u0105":9,"\u0104":9,"\u0103":9,"\u0102":9,"\u0101":9,"\u0100":9,"\u00e6":14,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"\u00dd":4,"\u00c6":14,"\u00c5":9,"\u00c4":9,"\u00c3":9,"\u00c2":9,"\u00c1":9,"\u00c0":9,"z":2,"y":4,"x":2,"j":14,"a":9,"Z":2,"Y":4,"X":2,"J":14,"A":9,"?":3,"\/":5,".":5,",":5}},"V":{"d":"94,0r-94,-254r54,0r69,202r69,-202r52,0r-94,254r-56,0","w":243,"k":{"\u0165":-5,"\u0164":-5,"\u0163":-5,"\u0162":-5,"\u0153":4,"\u0152":4,"\u0151":4,"\u0150":4,"\u014d":4,"\u014c":4,"\u0123":4,"\u0122":4,"\u011f":4,"\u011e":4,"\u010d":4,"\u010c":4,"\u0107":4,"\u0106":4,"\u0105":21,"\u0104":21,"\u0103":21,"\u0102":21,"\u0101":21,"\u0100":21,"\u00f8":4,"\u00f6":4,"\u00f5":4,"\u00f4":4,"\u00f3":4,"\u00f2":4,"\u00e7":4,"\u00e6":21,"\u00e5":21,"\u00e4":21,"\u00e3":21,"\u00e2":21,"\u00e1":21,"\u00e0":21,"\u00d8":4,"\u00d6":4,"\u00d5":4,"\u00d4":4,"\u00d3":4,"\u00d2":4,"\u00c7":4,"\u00c6":37,"\u00c5":21,"\u00c4":21,"\u00c3":21,"\u00c2":21,"\u00c1":21,"\u00c0":21,"\u00ab":10,"t":-5,"q":4,"o":4,"j":41,"g":4,"c":4,"a":21,"T":-5,"Q":4,"O":4,"J":41,"G":4,"C":4,"A":21,"@":5,";":7,":":7,"\/":8,".":21,"-":13,",":21,"&":10," ":10}},"W":{"d":"70,0r-70,-254r55,0r45,194r50,-194r53,0r50,194r45,-194r53,0r-70,254r-56,0r-50,-185r-49,185r-56,0","w":350,"k":{"\u0165":-5,"\u0164":-5,"\u0163":-5,"\u0162":-5,"\u0105":7,"\u0104":7,"\u0103":7,"\u0102":7,"\u0101":7,"\u0100":7,"\u00e6":7,"\u00e5":7,"\u00e4":7,"\u00e3":7,"\u00e2":7,"\u00e1":7,"\u00e0":7,"\u00c6":21,"\u00c5":7,"\u00c4":7,"\u00c3":7,"\u00c2":7,"\u00c1":7,"\u00c0":7,"t":-5,"j":18,"a":7,"T":-5,"J":18,"A":7,".":6,"-":4,",":6,"&":2}},"X":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u0173":2,"\u0172":2,"\u0171":2,"\u0170":2,"\u016f":2,"\u016e":2,"\u016b":2,"\u016a":2,"\u0153":9,"\u0152":9,"\u0151":9,"\u0150":9,"\u014d":9,"\u014c":9,"\u0123":9,"\u0122":9,"\u011f":9,"\u011e":9,"\u010d":9,"\u010c":9,"\u0107":9,"\u0106":9,"\u00fc":2,"\u00fb":2,"\u00fa":2,"\u00f9":2,"\u00f8":9,"\u00f6":9,"\u00f5":9,"\u00f4":9,"\u00f3":9,"\u00f2":9,"\u00e7":9,"\u00dc":2,"\u00db":2,"\u00da":2,"\u00d9":2,"\u00d8":9,"\u00d6":9,"\u00d5":9,"\u00d4":9,"\u00d3":9,"\u00d2":9,"\u00c7":9,"\u00bb":5,"\u00ab":9,"u":2,"q":9,"o":9,"j":-9,"g":9,"c":9,"U":2,"Q":9,"O":9,"J":-9,"G":9,"C":9,"@":14,"?":6,"-":21,"*":13,"&":2," ":14}},"Y":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u017e":5,"\u017d":5,"\u017c":5,"\u017b":5,"\u017a":5,"\u0179":5,"\u0173":4,"\u0172":4,"\u0171":4,"\u0170":4,"\u016f":4,"\u016e":4,"\u016b":4,"\u016a":4,"\u0153":17,"\u0152":17,"\u0151":17,"\u0150":17,"\u014d":17,"\u014c":17,"\u0123":17,"\u0122":17,"\u011f":17,"\u011e":17,"\u010d":17,"\u010c":17,"\u0107":17,"\u0106":17,"\u0105":28,"\u0104":28,"\u0103":28,"\u0102":28,"\u0101":28,"\u0100":28,"\u00fc":4,"\u00fb":4,"\u00fa":4,"\u00f9":4,"\u00f8":17,"\u00f6":17,"\u00f5":17,"\u00f4":17,"\u00f3":17,"\u00f2":17,"\u00e7":17,"\u00e6":28,"\u00e5":28,"\u00e4":28,"\u00e3":28,"\u00e2":28,"\u00e1":28,"\u00e0":28,"\u00dc":4,"\u00db":4,"\u00da":4,"\u00d9":4,"\u00d8":17,"\u00d6":17,"\u00d5":17,"\u00d4":17,"\u00d3":17,"\u00d2":17,"\u00c7":17,"\u00c6":47,"\u00c5":28,"\u00c4":28,"\u00c3":28,"\u00c2":28,"\u00c1":28,"\u00c0":28,"\u00bb":4,"\u00ab":18,"z":5,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,"Z":5,"U":4,"Q":17,"O":17,"J":49,"G":17,"C":17,"A":28,"@":14,"?":3,";":14,":":14,"\/":19,".":30,"-":22,",":30,"*":11,"&":10," ":21}},"Z":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0","w":236,"k":{"\u0164":-5,"\u0162":-5,"\u0151":8,"\u014d":8,"\u0123":5,"\u011f":5,"\u010d":8,"\u0107":8,"\u0105":2,"\u0104":2,"\u0103":2,"\u0102":2,"\u0101":2,"\u0100":2,"\u00f8":8,"\u00f6":8,"\u00f5":8,"\u00f4":8,"\u00f3":8,"\u00f2":8,"\u00e7":8,"\u00e5":2,"\u00e4":2,"\u00e3":2,"\u00e2":2,"\u00e1":2,"\u00e0":2,"\u00c5":2,"\u00c4":2,"\u00c3":2,"\u00c2":2,"\u00c1":2,"\u00c0":2,"\u00ab":8,"t":-5,"q":4,"o":8,"g":5,"c":8,"a":2,"T":-5,"Q":4,"O":8,"G":5,"C":8,"A":2,"@":11,"?":5,"-":20,"*":15,"&":10," ":13}},"[":{"d":"29,0r0,-254r80,0r0,38r-37,0r0,178r37,0r0,38r-80,0","w":115,"k":{"7":-5,"4":13,"3":-12,"2":-7,"1":-10}},"\\":{"d":"72,0r-72,-254r43,0r72,254r-43,0","w":115,"k":{"\u0178":19,"\u0165":14,"\u0164":14,"\u0163":14,"\u0162":14,"\u00ff":19,"\u00fd":19,"\u00dd":19,"y":19,"v":8,"u":5,"t":14,"j":-12,"Y":19,"V":8,"U":5,"T":14,"J":-12,"3":-5,"2":-12,"&":18}},"]":{"d":"7,0r0,-38r37,0r0,-178r-37,0r0,-38r80,0r0,254r-80,0","w":115},"^":{"d":"11,-65r66,-132r40,0r67,132r-44,0r-44,-91r-44,91r-41,0","w":194},"_":{"d":"0,62r0,-24r180,0r0,24r-180,0","w":180},"`":{"d":"69,-278r-65,-49r67,0r49,49r-51,0","w":180},"a":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u0173":9,"\u0171":9,"\u016f":9,"\u016b":9,"\u0165":26,"\u0163":26,"\u0151":9,"\u014d":9,"\u0123":9,"\u011f":9,"\u010d":9,"\u0107":9,"\u00ff":28,"\u00fd":28,"\u00fc":9,"\u00fb":9,"\u00fa":9,"\u00f9":9,"\u00f8":9,"\u00f6":9,"\u00f5":9,"\u00f4":9,"\u00f3":9,"\u00f2":9,"\u00e7":9,"\u00ab":14,"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"@":11,"?":25,"\/":-5,"-":12,"*":29,"'":31,"\"":31,"!":3," ":11}},"b":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u0173":6,"\u0171":6,"\u016f":6,"\u016b":6,"\u0165":13,"\u0163":13,"\u0105":5,"\u0103":5,"\u0101":5,"\u00ff":16,"\u00fd":16,"\u00fc":6,"\u00fb":6,"\u00fa":6,"\u00f9":6,"\u00e6":14,"\u00e5":5,"\u00e4":5,"\u00e3":5,"\u00e2":5,"\u00e1":5,"\u00e0":5,"z":2,"y":16,"x":9,"w":5,"v":8,"u":6,"t":13,"s":2,"r":5,"q":6,"p":5,"o":6,"n":5,"m":5,"l":5,"k":5,"j":7,"i":5,"h":5,"g":6,"f":5,"e":5,"d":5,"c":6,"b":5,"a":5,"\\":5,"?":9,".":5,"-":6,",":5,"*":9,"'":5,"\"":5}},"c":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125","w":219,"k":{"\u017e":-7,"\u017c":-7,"\u017a":-7,"\u0165":-7,"\u0163":-7,"\u0160":-7,"\u015f":-7,"\u015b":-7,"\u0151":2,"\u014d":2,"\u0123":2,"\u011f":2,"\u011b":-7,"\u0119":-7,"\u0117":-7,"\u0113":-7,"\u010d":2,"\u0107":2,"\u0105":-13,"\u0103":-13,"\u0101":-13,"\u00ff":-2,"\u00fd":-2,"\u00f8":2,"\u00f6":2,"\u00f5":2,"\u00f4":2,"\u00f3":2,"\u00f2":2,"\u00eb":-7,"\u00ea":-7,"\u00e9":-7,"\u00e8":-7,"\u00e7":2,"\u00e6":-5,"\u00e5":-13,"\u00e4":-13,"\u00e3":-13,"\u00e2":-13,"\u00e1":-13,"\u00e0":-13,"\u00bb":-11,"\u00ab":7,"}":-26,"z":-7,"y":-2,"x":-12,"w":-5,"v":-5,"u":-7,"t":-7,"s":-7,"r":-7,"q":2,"p":-7,"o":2,"n":-7,"m":-7,"l":-7,"k":-7,"j":-8,"i":-7,"h":-7,"g":2,"f":-7,"e":-7,"d":-7,"c":2,"b":-7,"a":-13,"]":-14,"\\":-7,"@":5,"\/":-12,".":-5,"-":12,",":-5,")":-24,"'":-7,"\"":-7}},"d":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-254r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,168v73,8,117,-17,117,-84","w":270,"k":{"\u0165":10,"\u0163":10,"\u0105":9,"\u0103":9,"\u0101":9,"\u00ff":17,"\u00fd":17,"\u00e6":15,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"?":8,".":14,",":14}},"e":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u0160":2,"\u015f":2,"\u015b":2,"\u0151":3,"\u014d":3,"\u0123":3,"\u011f":3,"\u010d":3,"\u0107":3,"\u00f8":3,"\u00f6":3,"\u00f5":3,"\u00f4":3,"\u00f3":3,"\u00f2":3,"\u00e7":3,"s":2,"q":3,"o":3,"g":3,"c":3,"@":4,"-":6}},"f":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,64r99,0r0,42r-99,0r0,105r-52,0","w":196,"k":{"\u017e":5,"\u017c":5,"\u017a":5,"\u0105":18,"\u0103":18,"\u0101":18,"\u00e6":18,"\u00e5":18,"\u00e4":18,"\u00e3":18,"\u00e2":18,"\u00e1":18,"\u00e0":18,"z":5,"x":10,"j":43,"a":18,"\/":10,".":30,",":30,"&":5}},"g":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130","w":256,"k":{"\u0165":2,"\u0163":2,"\u00ff":7,"\u00fd":7,"y":7,"t":2,"?":5,"*":11}},"h":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"i":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"j":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0","w":177,"k":{"\u0105":9,"\u0103":9,"\u0101":9,"\u00e6":17,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"j":12,"a":9,"?":6,".":12,",":12}},"k":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u0173":9,"\u0171":9,"\u016f":9,"\u016b":9,"\u0153":17,"\u0151":17,"\u014d":17,"\u0123":17,"\u011f":17,"\u010d":17,"\u0107":17,"\u0105":-13,"\u0103":-13,"\u0101":-13,"\u00fc":9,"\u00fb":9,"\u00fa":9,"\u00f9":9,"\u00f8":17,"\u00f6":17,"\u00f5":17,"\u00f4":17,"\u00f3":17,"\u00f2":17,"\u00e7":17,"\u00e6":-13,"\u00e5":-13,"\u00e4":-13,"\u00e3":-13,"\u00e2":-13,"\u00e1":-13,"\u00e0":-13,"u":9,"q":17,"o":17,"j":-12,"g":17,"c":17,"a":-13,"@":23,"?":10,"\/":-2,"-":22,"*":17,"&":9," ":21}},"l":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0","w":194,"k":{"\u0173":7,"\u0171":7,"\u016f":7,"\u016b":7,"\u0165":43,"\u0163":43,"\u0153":13,"\u0151":13,"\u014d":13,"\u0123":13,"\u011f":13,"\u010d":13,"\u0107":13,"\u0105":-6,"\u0103":-6,"\u0101":-6,"\u00ff":47,"\u00fd":47,"\u00fc":7,"\u00fb":7,"\u00fa":7,"\u00f9":7,"\u00f8":13,"\u00f6":13,"\u00f5":13,"\u00f4":13,"\u00f3":13,"\u00f2":13,"\u00e7":13,"\u00e5":-6,"\u00e4":-6,"\u00e3":-6,"\u00e2":-6,"\u00e1":-6,"\u00e0":-6,"\u00bb":5,"\u00ab":9,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"@":14,"?":28,"\/":-14,".":-5,"-":19,",":-5,"*":33,"'":34,"\"":34,"!":-2," ":22}},"m":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"n":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0","w":271},"o":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u017e":8,"\u017c":8,"\u017a":8,"\u0165":10,"\u0163":10,"\u0105":9,"\u0103":9,"\u0101":9,"\u00ff":17,"\u00fd":17,"\u00e6":15,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"?":8,".":12,",":12,"'":7,"\"":7}},"p":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u0173":2,"\u0171":2,"\u016f":2,"\u016b":2,"\u0159":2,"\u0157":2,"\u0155":2,"\u011b":2,"\u0119":2,"\u0117":2,"\u0113":2,"\u0105":31,"\u0103":31,"\u0101":31,"\u00ff":8,"\u00fd":8,"\u00fc":2,"\u00fb":2,"\u00fa":2,"\u00f9":2,"\u00eb":2,"\u00ea":2,"\u00e9":2,"\u00e8":2,"\u00e6":31,"\u00e5":31,"\u00e4":31,"\u00e3":31,"\u00e2":31,"\u00e1":31,"\u00e0":31,"z":12,"y":8,"x":17,"v":5,"u":2,"r":2,"p":2,"n":2,"m":2,"l":2,"k":2,"j":50,"i":2,"h":2,"f":2,"e":2,"d":2,"b":2,"a":31,"?":6,"\/":10,".":46,"-":7,",":46,"&":9," ":18}},"q":{"d":"142,-259v129,0,167,180,76,242r60,55r-64,0r-42,-36v-93,17,-156,-41,-156,-129v0,-78,49,-132,126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u0165":10,"\u0163":10,"\u0105":7,"\u0103":7,"\u0101":7,"\u00ff":17,"\u00fd":17,"\u00e6":7,"\u00e5":7,"\u00e4":7,"\u00e3":7,"\u00e2":7,"\u00e1":7,"\u00e0":7,"z":2,"y":17,"x":9,"v":4,"t":10,"a":7,"?":8,".":4,",":4,"'":7,"\"":7}},"r":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40","w":228,"k":{"\u0173":7,"\u0171":7,"\u016f":7,"\u016b":7,"\u0165":6,"\u0163":6,"\u0153":4,"\u0151":4,"\u014d":4,"\u0123":4,"\u011f":4,"\u010d":4,"\u0107":4,"\u00ff":15,"\u00fd":15,"\u00fc":7,"\u00fb":7,"\u00fa":7,"\u00f9":7,"\u00f8":4,"\u00f6":4,"\u00f5":4,"\u00f4":4,"\u00f3":4,"\u00f2":4,"\u00e7":4,"y":15,"v":9,"u":7,"t":6,"q":4,"o":4,"g":4,"c":4,"\\":5,"@":14,"?":10,"\/":-7,"-":16,"*":7,"'":5,"&":7,"\"":5,"!":7," ":7}},"s":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96","w":200,"k":{"\u00ff":7,"\u00fd":7,"\u00e6":8,"y":7,"j":2,"a":2,"?":8,"-":2,"*":15,"!":6}},"t":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u0160":-7,"\u015f":-7,"\u015b":-7,"\u0153":10,"\u0151":10,"\u014d":10,"\u0123":10,"\u011f":10,"\u010d":10,"\u0107":10,"\u0105":26,"\u0103":26,"\u0101":26,"\u00f8":10,"\u00f6":10,"\u00f5":10,"\u00f4":10,"\u00f3":10,"\u00f2":10,"\u00e7":10,"\u00e6":26,"\u00e5":26,"\u00e4":26,"\u00e3":26,"\u00e2":26,"\u00e1":26,"\u00e0":26,"\u00ab":9,"z":7,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,"\\":-12,"@":13,";":10,":":10,"\/":14,".":23,"-":21,",":23,"&":7," ":10}},"u":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98","w":271,"k":{"\u0105":9,"\u0103":9,"\u0101":9,"\u00ff":4,"\u00fd":4,"\u00e6":14,"\u00e5":9,"\u00e4":9,"\u00e3":9,"\u00e2":9,"\u00e1":9,"\u00e0":9,"z":2,"y":4,"x":2,"j":14,"a":9,"?":3,"\/":5,".":5,",":5}},"v":{"d":"94,0r-94,-254r54,0r69,202r69,-202r52,0r-94,254r-56,0","w":243,"k":{"\u0165":-5,"\u0163":-5,"\u0153":4,"\u0151":4,"\u014d":4,"\u0123":4,"\u011f":4,"\u010d":4,"\u0107":4,"\u0105":21,"\u0103":21,"\u0101":21,"\u00f8":4,"\u00f6":4,"\u00f5":4,"\u00f4":4,"\u00f3":4,"\u00f2":4,"\u00e7":4,"\u00e6":21,"\u00e5":21,"\u00e4":21,"\u00e3":21,"\u00e2":21,"\u00e1":21,"\u00e0":21,"\u00ab":10,"t":-5,"q":4,"o":4,"j":41,"g":4,"c":4,"a":21,"@":5,";":7,":":7,"\/":8,".":21,"-":13,",":21,"&":10," ":10}},"w":{"d":"70,0r-70,-254r55,0r45,194r50,-194r53,0r50,194r45,-194r53,0r-70,254r-56,0r-50,-185r-49,185r-56,0","w":350,"k":{"\u0165":-5,"\u0163":-5,"\u0105":7,"\u0103":7,"\u0101":7,"\u00e6":7,"\u00e5":7,"\u00e4":7,"\u00e3":7,"\u00e2":7,"\u00e1":7,"\u00e0":7,"t":-5,"j":18,"a":7,".":6,"-":4,",":6,"&":2}},"x":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u0173":2,"\u0171":2,"\u016f":2,"\u016b":2,"\u0153":9,"\u0151":9,"\u014d":9,"\u0123":9,"\u011f":9,"\u010d":9,"\u0107":9,"\u00fc":2,"\u00fb":2,"\u00fa":2,"\u00f9":2,"\u00f8":9,"\u00f6":9,"\u00f5":9,"\u00f4":9,"\u00f3":9,"\u00f2":9,"\u00e7":9,"\u00bb":5,"\u00ab":9,"u":2,"q":9,"o":9,"j":-9,"g":9,"c":9,"@":14,"?":6,"-":21,"*":13,"&":2," ":14}},"y":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u0173":4,"\u0171":4,"\u016f":4,"\u016b":4,"\u0153":17,"\u0151":17,"\u014d":17,"\u0123":17,"\u011f":17,"\u010d":17,"\u0107":17,"\u0105":28,"\u0103":28,"\u0101":28,"\u00fc":4,"\u00fb":4,"\u00fa":4,"\u00f9":4,"\u00f8":17,"\u00f6":17,"\u00f5":17,"\u00f4":17,"\u00f3":17,"\u00f2":17,"\u00e7":17,"\u00e6":28,"\u00e5":28,"\u00e4":28,"\u00e3":28,"\u00e2":28,"\u00e1":28,"\u00e0":28,"\u00bb":4,"\u00ab":18,"z":5,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,"@":14,"?":3,";":14,":":14,"\/":19,".":30,"-":22,",":30,"*":11,"&":10," ":21}},"z":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0","w":236,"k":{"\u0151":8,"\u014d":8,"\u0105":2,"\u0103":2,"\u0101":2,"\u00f8":8,"\u00f6":8,"\u00f5":8,"\u00f4":8,"\u00f3":8,"\u00f2":8,"\u00e5":2,"\u00e4":2,"\u00e3":2,"\u00e2":2,"\u00e1":2,"\u00e0":2,"\u00ab":8,"t":-5,"q":4,"o":8,"g":5,"c":8,"a":2,"@":11,"?":5,"-":20,"*":15,"&":10," ":13}},"{":{"d":"33,-53v0,-27,4,-58,-26,-54r0,-40v29,2,26,-26,26,-54v0,-44,32,-57,80,-53r0,38v-63,-17,-14,80,-59,89v47,1,-11,102,59,89r0,38v-48,4,-81,-9,-80,-53","w":120,"k":{"7":-5,"4":15,"2":-3}},"|":{"d":"29,0r0,-254r43,0r0,254r-43,0","w":100},"}":{"d":"87,-81v0,60,-18,89,-80,81r0,-38v63,18,14,-81,60,-89v-48,-1,10,-102,-60,-89r0,-38v60,-6,80,18,80,81v0,19,7,25,26,26r0,40v-18,0,-26,8,-26,26","w":120},"~":{"d":"218,-161v4,59,-46,80,-93,54v-22,-12,-66,-45,-69,7r-36,0v-4,-60,46,-81,93,-54v22,12,66,45,69,-7r36,0","w":237},"\u00a0":{"w":98},"\u00a1":{"d":"57,65v-33,-1,-37,-27,-33,-66r11,-97r43,0r14,128v0,19,-15,36,-35,35xm19,-162v0,-19,18,-38,39,-38v19,0,37,20,37,39v1,20,-17,37,-38,37v-20,0,-39,-17,-38,-38","w":113},"\u00a2":{"d":"60,-127v0,52,52,61,97,48r0,39v-10,2,-23,4,-38,5r0,35r-37,0r0,-37v-44,-9,-69,-39,-69,-90v0,-50,26,-80,69,-90r0,-37r37,0r0,35v13,1,25,2,36,4r0,40v-45,-13,-95,-2,-95,48","w":166},"\u00a3":{"d":"7,0r0,-39v25,-4,36,-36,38,-70r-33,0r0,-24r38,-12v6,-64,22,-116,93,-114v14,0,29,2,44,5r0,39v-43,-12,-87,-4,-86,45r-3,25r58,0r0,36r-64,0v-2,27,-10,52,-26,66r126,0r0,43r-185,0","w":205,"k":{"9":9,"8":7,"6":7,"4":15,"2":-7,"0":2}},"\u00a4":{"d":"46,-31r-30,-30r23,-23v-14,-25,-13,-54,0,-78r-23,-22r30,-30r23,22v24,-12,54,-12,77,1r23,-23r30,30r-23,23v14,23,13,53,0,77r23,23r-30,30r-23,-24v-22,14,-54,15,-77,1xm150,-123v0,-23,-19,-44,-43,-44v-22,0,-41,20,-41,44v0,23,19,44,41,44v23,-1,43,-20,43,-44","w":215},"\u00a5":{"d":"241,-254r-69,114r33,0r0,32r-53,0v-5,7,-5,19,-5,31r58,0r0,32r-58,0r0,45r-53,0r0,-45r-58,0r0,-24v18,-4,34,-10,58,-8v1,-13,0,-25,-6,-31r-52,0r0,-23r33,-9r-69,-114r57,0r64,111r65,-111r55,0","w":240,"k":{"8":2,"7":-10,"4":22,"3":-5,"1":-5}},"\u00a6":{"d":"29,0r0,-92r43,0r0,92r-43,0xm29,-162r0,-92r43,0r0,92r-43,0","w":100},"\u00a7":{"d":"206,-47v1,66,-114,56,-170,42r0,-38v28,8,109,25,122,-2v-26,-38,-140,-19,-138,-80v0,-20,11,-33,34,-40v-21,-9,-32,-23,-32,-43v1,-64,108,-54,165,-43r0,37v-31,-6,-56,-10,-76,-10v-28,0,-56,14,-32,27v38,22,126,14,127,68v0,19,-11,31,-33,38v19,9,32,20,33,44xm159,-120v-9,-25,-23,-16,-71,-32v-25,-1,-29,26,-9,33v5,3,36,10,61,17v12,-2,19,-9,19,-18","w":226},"\u00a8":{"d":"15,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm107,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-29,-12,-29,-30","w":180},"\u00a9":{"d":"81,-127v0,-59,52,-86,112,-71r0,30v-37,-9,-75,1,-75,41v0,40,41,52,76,40r0,31v-59,15,-113,-10,-113,-71xm16,-127v-2,-71,60,-134,133,-132v75,2,129,56,131,132v2,70,-60,134,-132,132v-73,-1,-130,-55,-132,-132xm247,-127v2,-53,-46,-104,-100,-102v-57,1,-95,45,-97,102v-1,54,45,103,98,102v55,-1,98,-44,99,-102","w":296},"\u00aa":{"d":"4,-102r60,-152r47,0r60,152r-40,0r-11,-29r-68,0r-12,29r-36,0xm64,-162r44,0r-22,-62","w":174},"\u00ab":{"d":"59,-55r-52,-72r52,-72r53,0r-51,72r51,72r-53,0xm154,-55r-52,-72r52,-72r53,0r-52,72r52,72r-53,0","w":213,"k":{"\u0447":-1,"\u0443":3,"\u0442":24,"\u043b":-1,"\u042f":2,"\u0427":-1,"\u0423":3,"\u0422":14,"\u041b":-1,"\u0410":-1,"\u03d2":4,"\u03c4":24,"\u03a5":4,"\u03a4":14,"\u039b":-2,"\u0391":-1,"\u038a":-3,"\u0389":-3,"\u0386":2,"\u0178":4,"\u00ff":4,"\u00fd":4,"\u00dd":4,"y":4,"x":5,"Y":4,"X":5,".":-4}},"\u00ac":{"d":"165,-68r0,-70r-138,0r0,-43r183,0r0,113r-45,0","w":237},"\u00ad":{"d":"14,-107r0,-48r120,0r0,48r-120,0","w":148},"\u00ae":{"d":"91,-202v51,-1,109,-6,107,46v0,17,-8,30,-22,38r35,60r-38,0r-26,-50r-24,0r0,50r-32,0r0,-144xm163,-155v0,-20,-18,-24,-40,-22r0,44v22,1,40,-1,40,-22xm16,-127v0,-71,60,-134,132,-132v75,3,128,56,130,132v2,69,-60,132,-131,132v-72,0,-131,-62,-131,-132xm244,-127v0,-54,-44,-104,-98,-102v-57,2,-95,44,-96,102v-2,54,44,102,97,102v53,0,97,-48,97,-102","w":293},"\u00af":{"d":"14,-275r0,-38r137,0r0,38r-137,0","w":165},"\u00b0":{"d":"18,-189v0,-38,31,-70,71,-70v36,0,69,34,69,70v0,36,-33,69,-70,69v-38,0,-70,-33,-70,-69xm123,-190v0,-19,-15,-36,-36,-36v-18,0,-34,17,-34,37v0,20,16,36,35,36v19,0,35,-17,35,-37","w":175},"\u00b1":{"d":"27,0r0,-43r69,0r0,-74r-69,0r0,-42r69,0r0,-74r46,0r0,74r68,0r0,42r-68,0r0,74r68,0r0,43r-183,0","w":237},"\u00b2":{"d":"142,-210v-5,35,-27,55,-62,78r66,0r0,29r-127,0r0,-25v33,-24,76,-45,83,-79v-9,-32,-40,-22,-77,-9r0,-31v50,-19,113,-18,117,37","w":164},"\u00b3":{"d":"146,-150v-1,51,-74,59,-126,45r0,-28v30,8,83,12,85,-15v1,-20,-38,-21,-63,-17r0,-23r52,-37r-74,0r0,-29r118,0r0,28r-47,33v28,1,55,13,55,43","w":164},"\u00b4":{"d":"60,-278r49,-49r67,0r-65,49r-51,0","w":180},"\u00b5":{"d":"25,72r0,-259r52,0r0,116v1,44,52,35,66,4r0,-120r51,0r0,187r-41,0r-7,-20v-16,23,-47,32,-69,16r0,76r-52,0","w":219},"\u00b6":{"d":"99,-98v-52,-2,-89,-27,-88,-78v0,-52,33,-78,100,-78r78,0r0,259r-29,0r0,-232r-32,0r0,232r-29,0r0,-103","w":216},"\u00b7":{"d":"19,-127v0,-20,17,-38,38,-38v19,0,38,18,38,38v0,20,-18,38,-38,38v-19,0,-38,-17,-38,-38","w":113,"k":{"7":19}},"\u00b8":{"d":"44,65r0,-32v16,5,41,2,41,-13v0,-9,-8,-16,-22,-20r44,0v15,6,23,18,23,33v0,30,-45,39,-86,32","w":180},"\u00b9":{"d":"53,-103r0,-118r-42,10r0,-26v25,-8,45,-20,81,-17r0,151r-39,0","w":140},"\u00ba":{"d":"14,-178v0,-48,32,-80,80,-80v47,-1,79,32,79,81v0,47,-32,79,-80,79v-48,0,-79,-33,-79,-80xm133,-179v1,-27,-14,-49,-41,-48v-25,0,-38,22,-38,49v0,28,13,50,39,50v27,0,40,-22,40,-51","w":187},"\u00bb":{"d":"7,-55r52,-72r-52,-72r53,0r52,72r-52,72r-53,0xm102,-55r51,-72r-51,-72r53,0r52,72r-52,72r-53,0","w":213,"k":{"\u00e6":12,"\u00c6":12,"z":8,"y":18,"x":9,"v":10,"t":9,"j":10,"a":14,"Z":8,"Y":18,"X":9,"V":10,"T":9,"J":10,"A":14}},"\u00bc":{"d":"50,0r144,-254r43,0r-144,254r-43,0xm239,0r0,-29r-81,0r0,-29r83,-93r36,0r0,95r18,0r0,27r-18,0r0,29r-38,0xm191,-56r48,0r0,-55xm46,-103r0,-118r-42,10r0,-26v25,-8,45,-20,81,-17r0,151r-39,0","w":319},"\u00bd":{"d":"50,0r144,-254r43,0r-144,254r-43,0xm314,-108v-8,43,-26,53,-62,78r65,0r0,30r-127,0r0,-25v50,-37,70,-40,83,-80v-9,-32,-43,-21,-76,-8r0,-31v51,-20,113,-16,117,36xm46,-103r0,-118r-42,10r0,-26v25,-8,45,-20,81,-17r0,151r-39,0","w":335},"\u00be":{"d":"95,0r144,-254r44,0r-144,254r-44,0xm281,0r0,-29r-81,0r0,-29r83,-93r36,0r0,95r19,0r0,27r-19,0r0,29r-38,0xm233,-56r48,0r0,-55xm145,-150v0,51,-74,59,-126,45r0,-28v30,8,84,12,86,-15v1,-20,-39,-21,-64,-17r0,-23r52,-37r-74,0r0,-29r118,0r0,28r-46,33v28,1,55,13,54,43","w":355},"\u00bf":{"d":"187,53v-56,22,-155,18,-155,-51v0,-45,55,-56,58,-100r51,0v6,53,-47,54,-55,94v1,39,71,30,101,14r0,43xm78,-162v0,-20,18,-38,38,-38v18,-1,37,17,37,38v0,20,-17,37,-38,37v-20,0,-37,-18,-37,-37","w":208},"\u00c0":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm102,-278r-65,-49r67,0r49,49r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c1":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm103,-278r49,-49r67,0r-65,49r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c2":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm49,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c3":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm157,-279v-22,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c4":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm52,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-14,28,-29,29v-16,0,-30,-13,-29,-30xm144,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c5":{"d":"128,-336v51,-6,74,67,31,89r98,247r-55,0r-22,-58r-107,0r-22,58r-51,0r97,-246v-44,-22,-23,-96,31,-90xm164,-101r-37,-103r-37,103r74,0xm149,-288v-1,-9,-10,-18,-22,-18v-12,0,-21,7,-21,19v0,12,9,19,22,19v11,1,21,-10,21,-20","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00c6":{"d":"184,-58r-102,0r-34,58r-53,0r152,-254r192,0r0,43r-103,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0r0,-58xm184,-100r0,-111r-11,0r-66,111r77,0","w":359,"k":{"s":2,"q":3,"o":3,"g":3,"c":3,"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u00c7":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-21,4,-39,6,-55,6v33,26,6,63,-42,63v-17,0,-32,-2,-44,-5r0,-32v34,19,83,-17,34,-30v-56,-14,-93,-60,-93,-127","w":219,"k":{"\u00e6":-5,"\u00c6":-5,"z":-7,"y":-2,"u":-7,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,"\\":-7,"Z":-7,"Y":-2,"W":-5,"V":-5,"U":-7,"T":-7,"S":-7,"Q":2,"O":2,"J":-8,"G":2,"C":2,"A":-13,"\/":-12,"-":12}},"\u00c8":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm99,-278r-65,-49r67,0r50,49r-52,0","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u00c9":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm71,-278r49,-49r67,0r-65,49r-51,0","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u00ca":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm29,-278r53,-49r55,0r51,49r-51,0r-28,-28r-29,28r-51,0","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u00cb":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm32,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm124,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u00cc":{"d":"29,0r0,-254r52,0r0,254r-52,0xm39,-278r-66,-49r67,0r50,49r-51,0","w":110},"\u00cd":{"d":"29,0r0,-254r52,0r0,254r-52,0xm20,-278r50,-49r67,0r-66,49r-51,0","w":110},"\u00ce":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-24,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":110},"\u00cf":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110,"k":{"\u00ce":-26,"\u00cc":-21}},"\u00d0":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-111r-29,0r0,-38r29,0r0,-105r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,62r56,0r0,38r-56,0r0,68v72,7,117,-17,117,-84","w":270,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,"?":8,".":14,",":14}},"\u00d1":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm170,-279v-21,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":271},"\u00d2":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm133,-278r-66,-49r67,0r50,49r-51,0","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d3":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm103,-278r50,-49r67,0r-66,49r-51,0","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d4":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm63,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d5":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm172,-279v-22,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d6":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm67,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm159,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d7":{"d":"170,-45r-51,-52r-51,52r-30,-30r51,-51r-51,-51r30,-30r51,51r51,-51r30,30r-52,51r52,51","w":237},"\u00d8":{"d":"268,-127v0,102,-96,161,-188,118r-24,33r-31,-20r25,-35v-23,-24,-34,-56,-34,-96v0,-102,96,-161,188,-118r25,-33r31,21r-25,34v22,24,33,57,33,96xm106,-45v77,43,133,-55,97,-134xm178,-209v-58,-29,-106,15,-106,82v0,20,3,37,9,52","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u00d9":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm121,-278r-65,-49r67,0r50,49r-52,0","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u00da":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm99,-278r50,-49r67,0r-66,49r-51,0","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u00db":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm56,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u00dc":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm60,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-13,29,-29,29v-16,0,-30,-13,-29,-30xm152,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u00dd":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm84,-278r49,-49r68,0r-66,49r-51,0","w":240,"k":{"\u0153":17,"\u0152":17,"\u00e6":28,"\u00c6":47,"\u00bb":4,"z":5,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,"Z":5,"U":4,"Q":17,"O":17,"J":49,"G":17,"C":17,"A":28,";":14,":":14,"\/":19,".":30,"-":22,",":30,"&":10," ":21}},"\u00de":{"d":"29,0r0,-254r50,0r0,45v76,-5,129,14,129,81v0,67,-52,88,-129,82r0,46r-50,0xm156,-128v0,-41,-35,-46,-77,-43r0,86v42,2,77,0,77,-43","w":223},"\u00df":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm384,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96","w":400},"\u00e0":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm102,-278r-65,-49r67,0r49,49r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e1":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm103,-278r49,-49r67,0r-65,49r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e2":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm49,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e3":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm157,-279v-22,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e4":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm52,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-14,28,-29,29v-16,0,-30,-13,-29,-30xm144,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e5":{"d":"128,-336v51,-6,74,67,31,89r98,247r-55,0r-22,-58r-107,0r-22,58r-51,0r97,-246v-44,-22,-23,-96,31,-90xm164,-101r-37,-103r-37,103r74,0xm149,-288v-1,-9,-10,-18,-22,-18v-12,0,-21,7,-21,19v0,12,9,19,22,19v11,1,21,-10,21,-20","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u00e6":{"d":"184,-58r-102,0r-34,58r-53,0r152,-254r192,0r0,43r-103,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0r0,-58xm184,-100r0,-111r-11,0r-66,111r77,0","w":359,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u00e7":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-21,4,-39,6,-55,6v33,26,6,63,-42,63v-17,0,-32,-2,-44,-5r0,-32v34,19,83,-17,34,-30v-56,-14,-93,-60,-93,-127","w":219,"k":{"\u00e6":-5,"z":-7,"y":-2,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,".":-5,"-":12,",":-5}},"\u00e8":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm99,-278r-65,-49r67,0r50,49r-52,0","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u00e9":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm71,-278r49,-49r67,0r-65,49r-51,0","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u00ea":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm29,-278r53,-49r55,0r51,49r-51,0r-28,-28r-29,28r-51,0","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u00eb":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm32,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm124,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u00ec":{"d":"29,0r0,-254r52,0r0,254r-52,0xm39,-278r-66,-49r67,0r50,49r-51,0","w":110},"\u00ed":{"d":"29,0r0,-254r52,0r0,254r-52,0xm20,-278r50,-49r67,0r-66,49r-51,0","w":110},"\u00ee":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-24,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":110},"\u00ef":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110,"k":{"\u00ee":-26,"\u00ec":-21}},"\u00f0":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-111r-29,0r0,-38r29,0r0,-105r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,62r56,0r0,38r-56,0r0,68v72,7,117,-17,117,-84","w":270},"\u00f1":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm170,-279v-21,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":271},"\u00f2":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm133,-278r-66,-49r67,0r50,49r-51,0","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f3":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm103,-278r50,-49r67,0r-66,49r-51,0","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f4":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm63,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f5":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm172,-279v-22,5,-59,-32,-69,-2r-36,0v3,-57,62,-47,104,-31v7,0,10,-4,12,-12r37,0v-4,30,-20,45,-48,45","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f6":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm67,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm159,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f7":{"d":"88,-55v0,-16,14,-31,32,-31v16,0,30,16,30,31v0,15,-15,32,-31,31v-17,0,-31,-15,-31,-31xm27,-105r0,-43r183,0r0,43r-183,0xm88,-198v0,-16,15,-31,32,-31v15,-1,30,17,30,32v0,15,-15,30,-31,30v-18,0,-31,-15,-31,-31","w":237},"\u00f8":{"d":"268,-127v0,102,-96,161,-188,118r-24,33r-31,-20r25,-35v-23,-24,-34,-56,-34,-96v0,-102,96,-161,188,-118r25,-33r31,21r-25,34v22,24,33,57,33,96xm106,-45v77,43,133,-55,97,-134xm178,-209v-58,-29,-106,15,-106,82v0,20,3,37,9,52","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u00f9":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm121,-278r-65,-49r67,0r50,49r-52,0","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u00fa":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm99,-278r50,-49r67,0r-66,49r-51,0","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u00fb":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm56,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u00fc":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm60,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-13,29,-29,29v-16,0,-30,-13,-29,-30xm152,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u00fd":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm84,-278r49,-49r68,0r-66,49r-51,0","w":240,"k":{"\u0153":17,"\u00e6":47,"\u00bb":4,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,";":14,":":14,"\/":19,".":30,"-":22,",":30,"&":10," ":21}},"\u00fe":{"d":"29,0r0,-254r50,0r0,45v76,-5,129,14,129,81v0,67,-52,88,-129,82r0,46r-50,0xm156,-128v0,-41,-35,-46,-77,-43r0,86v42,2,77,0,77,-43","w":223},"\u00ff":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":240,"k":{"\u0153":17,"\u00e6":47,"\u00bb":4,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,";":14,":":14,"\/":19,".":30,"-":22,",":30,"&":10," ":21}},"\u0100":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm59,-283r0,-38r137,0r0,38r-137,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0101":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm59,-283r0,-38r137,0r0,38r-137,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0102":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm60,-327r35,0v7,24,63,24,70,0r35,0v-5,31,-28,47,-70,47v-42,0,-65,-16,-70,-47","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0103":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm60,-327r35,0v7,24,63,24,70,0r35,0v-5,31,-28,47,-70,47v-42,0,-65,-16,-70,-47","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0104":{"d":"225,67v-52,0,-57,-59,-16,-67r-7,0r-22,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254v-20,-1,-32,14,-32,23v1,15,27,13,39,4r0,30v-12,7,-25,10,-39,10xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"Y":28,"W":7,"V":21,"U":9,"T":26,"Q":9,"O":9,"J":-8,"G":9,"C":9,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0105":{"d":"225,67v-52,0,-57,-59,-16,-67r-7,0r-22,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254v-20,-1,-32,14,-32,23v1,15,27,13,39,4r0,30v-12,7,-25,10,-39,10xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"y":28,"w":7,"v":21,"u":9,"t":26,"q":9,"o":9,"j":-8,"g":9,"c":9,"\\":13,"?":25,"-":12,"*":29,"'":31,"\"":31," ":11}},"\u0106":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm92,-278r50,-49r67,0r-66,49r-51,0","w":219,"k":{"\u00e6":-5,"\u00c6":-5,"z":-7,"y":-2,"u":-7,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,"\\":-7,"Z":-7,"Y":-2,"W":-5,"V":-5,"U":-7,"T":-7,"S":-7,"Q":2,"O":2,"J":-8,"G":2,"C":2,"A":-13,"\/":-12,"-":12}},"\u0107":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm92,-278r50,-49r67,0r-66,49r-51,0","w":219,"k":{"\u00e6":-5,"z":-7,"y":-2,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,".":-5,"-":12,",":-5}},"\u0108":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm55,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":219},"\u0109":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm55,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":219},"\u010a":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm112,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-14,-29,-30","w":219},"\u010b":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm112,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-14,-29,-30","w":219},"\u010c":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm114,-278r-52,-49r51,0r28,29r29,-29r51,0r-51,49r-56,0","w":219,"k":{"\u00e6":-5,"\u00c6":-5,"z":-7,"y":-2,"u":-7,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,"\\":-7,"Z":-7,"Y":-2,"W":-5,"V":-5,"U":-7,"T":-7,"S":-7,"Q":2,"O":2,"J":-8,"G":2,"C":2,"A":-13,"\/":-12,"-":12}},"\u010d":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125xm114,-278r-52,-49r51,0r28,29r29,-29r51,0r-51,49r-56,0","w":219,"k":{"\u00e6":-5,"z":-7,"y":-2,"t":-7,"s":-7,"q":2,"o":2,"j":-8,"g":2,"e":-7,"c":2,"a":-13,".":-5,"-":12,",":-5}},"\u010e":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-254r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,168v73,8,117,-17,117,-84xm88,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":270,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,"?":8,".":14,",":14}},"\u010f":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-254r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,168v73,8,117,-17,117,-84xm88,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":270,"k":{"\u00e6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"?":8}},"\u0110":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-111r-29,0r0,-38r29,0r0,-105r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,62r56,0r0,38r-56,0r0,68v72,7,117,-17,117,-84","w":270},"\u0111":{"d":"254,-127v0,80,-47,128,-127,127r-98,0r0,-111r-29,0r0,-38r29,0r0,-105r98,0v79,0,127,48,127,127xm198,-127v0,-66,-44,-92,-117,-84r0,62r56,0r0,38r-56,0r0,68v72,7,117,-17,117,-84","w":270,"k":{"\u00e6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"?":8}},"\u0112":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm36,-283r0,-38r137,0r0,38r-137,0","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u0113":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm36,-283r0,-38r137,0r0,38r-137,0","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u0114":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm36,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-28,47,-70,47v-42,0,-64,-16,-69,-47","w":204},"\u0116":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm83,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-13,28,-29,29v-16,0,-30,-13,-29,-30","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u0117":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm83,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-13,28,-29,29v-16,0,-30,-13,-29,-30","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u0118":{"d":"155,67v-54,0,-58,-59,-16,-67r-110,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43v-20,-2,-34,13,-33,23v1,15,27,13,39,4r0,30v-12,7,-25,10,-39,10","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u0119":{"d":"155,67v-54,0,-58,-59,-16,-67r-110,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43v-20,-2,-34,13,-33,23v1,15,27,13,39,4r0,30v-12,7,-25,10,-39,10","w":204,"k":{"s":2,"q":3,"o":3,"g":3,"c":3}},"\u011a":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm82,-278r-53,-49r51,0r29,29r28,-29r51,0r-50,49r-56,0","w":204,"k":{"S":2,"Q":3,"O":3,"G":3,"C":3}},"\u011b":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm82,-278r-53,-49r51,0r29,29r28,-29r51,0r-50,49r-56,0","w":204,"k":{"s":2,"q":3}},"\u011c":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm62,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":256},"\u011d":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm62,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":256},"\u011e":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm72,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":256,"k":{"y":7,"Y":7,"T":2}},"\u011f":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm72,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":256,"k":{"y":7,"t":2}},"\u0120":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm119,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30","w":256},"\u0121":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm119,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30","w":256},"\u0122":{"d":"16,-127v0,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-20,2,-41,4,-65,4v35,26,15,70,-45,64v-6,0,-14,0,-24,-2r0,-32v16,5,43,2,41,-13v0,-8,-7,-14,-20,-19v-66,-10,-106,-55,-106,-128","w":256,"k":{"y":7,"Y":7,"T":2}},"\u0123":{"d":"16,-127v0,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-20,2,-41,4,-65,4v35,26,15,70,-45,64v-6,0,-14,0,-24,-2r0,-32v16,5,43,2,41,-13v0,-8,-7,-14,-20,-19v-66,-10,-106,-55,-106,-128","w":256,"k":{"y":7,"t":2}},"\u0124":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0xm60,-278r53,-49r55,0r51,49r-51,0r-28,-28r-29,28r-51,0","w":279},"\u0125":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0xm60,-278r53,-49r55,0r51,49r-51,0r-28,-28r-29,28r-51,0","w":279},"\u0126":{"d":"29,0r0,-190r-20,0r0,-37r20,0r0,-27r52,0r0,27r117,0r0,-27r52,0r0,27r20,0r0,37r-20,0r0,190r-52,0r0,-109r-117,0r0,109r-52,0xm81,-156r117,0r0,-34r-117,0r0,34","w":279},"\u0127":{"d":"29,0r0,-190r-20,0r0,-37r20,0r0,-27r52,0r0,27r117,0r0,-27r52,0r0,27r20,0r0,37r-20,0r0,190r-52,0r0,-109r-117,0r0,109r-52,0xm81,-156r117,0r0,-34r-117,0r0,34","w":279},"\u012a":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-7,-283r0,-38r122,0r0,38r-122,0","w":110},"\u012b":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-7,-283r0,-38r122,0r0,38r-122,0","w":110},"\u012c":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-15,-327r36,0v6,24,62,24,69,0r35,0v-5,31,-28,47,-70,47v-42,0,-65,-16,-70,-47","w":110},"\u012d":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-15,-327r36,0v6,24,62,24,69,0r35,0v-5,31,-28,47,-70,47v-42,0,-65,-16,-70,-47","w":110},"\u012e":{"d":"59,67v-53,0,-59,-59,-17,-67r-13,0r0,-254r52,0r0,254v-16,1,-37,33,-6,34v7,0,14,-2,23,-7r0,30v-12,7,-25,10,-39,10","w":110},"\u012f":{"d":"59,67v-53,0,-59,-59,-17,-67r-13,0r0,-254r52,0r0,254v-16,1,-37,33,-6,34v7,0,14,-2,23,-7r0,30v-12,7,-25,10,-39,10","w":110},"\u0130":{"d":"29,0r0,-254r52,0r0,254r-52,0xm26,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30","w":110},"\u0131":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u0134":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0xm34,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":177},"\u0135":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0xm34,-278r53,-49r56,0r51,49r-51,0r-29,-28r-28,28r-52,0","w":177},"\u0136":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0xm82,65r0,-32v16,5,43,2,41,-13v0,-9,-8,-16,-22,-20r44,0v15,6,23,18,23,33v0,30,-45,39,-86,32","w":250,"k":{"u":9,"q":17,"o":17,"g":17,"c":17,"a":-13,"U":9,"Q":17,"O":17,"G":17,"C":17,"A":-13,"\/":-2}},"\u0137":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0xm82,65r0,-32v16,5,43,2,41,-13v0,-9,-8,-16,-22,-20r44,0v15,6,23,18,23,33v0,30,-45,39,-86,32","w":250,"k":{"u":9,"q":17,"o":17,"g":17,"c":17,"a":-13}},"\u0139":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0xm32,-278r49,-49r67,0r-65,49r-51,0","w":194,"k":{"\u0153":13,"\u0152":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"Y":47,"W":20,"V":37,"U":7,"T":43,"Q":13,"O":13,"J":-10,"G":13,"C":13,"A":-6,"?":28,"\/":-14,"*":33," ":22}},"\u013a":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0xm32,-278r49,-49r67,0r-65,49r-51,0","w":194,"k":{"\u0153":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"?":28,"*":33," ":22}},"\u013b":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-69,0v41,25,26,72,-39,67v-6,0,-15,0,-25,-2r0,-32v16,5,41,2,41,-13v0,-24,-44,-20,-71,-20","w":194,"k":{"\u0153":13,"\u0152":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"Y":47,"W":20,"V":37,"U":7,"T":43,"Q":13,"O":13,"J":-10,"G":13,"C":13,"A":-6,"?":28,"\/":-14,"*":33," ":22}},"\u013c":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-69,0v41,25,26,72,-39,67v-6,0,-15,0,-25,-2r0,-32v16,5,41,2,41,-13v0,-24,-44,-20,-71,-20","w":194,"k":{"\u0153":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"?":28,"*":33," ":22}},"\u013d":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0xm123,-179r0,-75r46,0r-15,75r-31,0","w":194,"k":{"\u0153":13,"\u0152":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"Y":47,"W":20,"V":37,"U":7,"T":43,"Q":13,"O":13,"J":-10,"G":13,"C":13,"A":-6,"?":28,"\/":-14,"*":33," ":22}},"\u013e":{"d":"29,0r0,-254r52,0r0,211r111,0r0,43r-163,0xm123,-179r0,-75r46,0r-15,75r-31,0","w":194,"k":{"\u0153":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"?":28,"*":33," ":22}},"\u0141":{"d":"29,0r0,-88r-29,21r0,-46r29,-22r0,-119r52,0r0,81r44,-32r0,46r-44,32r0,84r111,0r0,43r-163,0","w":194,"k":{"\u0153":13,"\u0152":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"Y":47,"W":20,"V":37,"U":7,"T":43,"Q":13,"O":13,"J":-10,"G":13,"C":13,"A":-6,"?":28,"\/":-14,"*":33," ":22}},"\u0142":{"d":"29,0r0,-88r-29,21r0,-46r29,-22r0,-119r52,0r0,81r44,-32r0,46r-44,32r0,84r111,0r0,43r-163,0","w":194,"k":{"\u0153":13,"\u00bb":5,"y":47,"w":20,"v":37,"u":7,"t":43,"q":13,"o":13,"j":-10,"g":13,"c":13,"a":-6,"\\":22,"?":28,"*":33," ":22}},"\u0143":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm103,-278r49,-49r68,0r-66,49r-51,0","w":271},"\u0144":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm103,-278r49,-49r68,0r-66,49r-51,0","w":271},"\u0145":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm89,65r0,-32v16,5,41,2,41,-13v0,-9,-7,-16,-21,-20r44,0v41,25,26,72,-40,67v-6,0,-14,0,-24,-2","w":271},"\u0146":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm89,65r0,-32v16,5,41,2,41,-13v0,-9,-7,-16,-21,-20r44,0v41,25,26,72,-40,67v-6,0,-14,0,-24,-2","w":271},"\u0147":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm111,-278r-53,-49r52,0r28,29r28,-29r52,0r-51,49r-56,0","w":271},"\u0148":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm111,-278r-53,-49r52,0r28,29r28,-29r52,0r-51,49r-56,0","w":271},"\u014c":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm73,-283r0,-38r137,0r0,38r-137,0","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u014d":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm73,-283r0,-38r137,0r0,38r-137,0","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u0150":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm78,-278r31,-49r58,0r-46,49r-43,0xm161,-278r31,-49r58,0r-47,49r-42,0","w":284,"k":{"\u00e6":15,"\u00c6":15,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,"Z":8,"Y":17,"X":9,"V":4,"T":10,"J":17,"A":9,".":12,",":12}},"\u0151":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92xm78,-278r31,-49r58,0r-46,49r-43,0xm161,-278r31,-49r58,0r-47,49r-42,0","w":284,"k":{"\u00e6":15,"z":8,"y":17,"x":9,"v":4,"t":10,"j":17,"a":9,".":12,",":12}},"\u0152":{"d":"16,-127v0,-79,48,-127,127,-127r200,0r0,43r-103,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-204,0v-80,1,-127,-48,-127,-127xm71,-127v0,67,44,92,117,84r0,-168v-72,-7,-117,17,-117,84","w":362},"\u0153":{"d":"16,-127v0,-79,48,-127,127,-127r200,0r0,43r-103,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-204,0v-80,1,-127,-48,-127,-127xm71,-127v0,67,44,92,117,84r0,-168v-72,-7,-117,17,-117,84","w":362},"\u0154":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm70,-278r49,-49r67,0r-65,49r-51,0","w":228,"k":{"y":15,"t":6,"o":4,"g":4,"c":4,"Y":15,"T":6,"O":4,"G":4,"C":4}},"\u0155":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm70,-278r49,-49r67,0r-65,49r-51,0","w":228,"k":{"y":15,"v":9,"t":6,"q":4,"o":4,"g":4,"c":4,"\\":5,"\/":-7}},"\u0156":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm74,65r0,-32v16,5,41,2,41,-13v0,-10,-7,-16,-21,-20r44,0v41,25,26,72,-40,67v-6,0,-14,0,-24,-2","w":228,"k":{"y":15,"t":6,"o":4,"g":4,"c":4,"Y":15,"T":6,"O":4,"G":4,"C":4}},"\u0157":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm74,65r0,-32v16,5,41,2,41,-13v0,-10,-7,-16,-21,-20r44,0v41,25,26,72,-40,67v-6,0,-14,0,-24,-2","w":228,"k":{"y":15,"v":9,"t":6,"q":4,"o":4,"g":4,"c":4,"\\":5,"\/":-7}},"\u0158":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm77,-278r-53,-49r51,0r29,29r28,-29r51,0r-50,49r-56,0","w":228,"k":{"y":15,"t":6,"o":4,"g":4,"c":4,"Y":15,"T":6,"O":4,"G":4,"C":4}},"\u0159":{"d":"200,-176v0,36,-16,56,-41,68r67,108r-60,0r-57,-98r-30,0r0,98r-50,0r0,-254r80,0v61,0,91,26,91,78xm148,-176v0,-34,-31,-44,-69,-40r0,80v39,2,69,-3,69,-40xm77,-278r-53,-49r51,0r29,29r28,-29r51,0r-50,49r-56,0","w":228,"k":{"y":15,"v":9,"t":6,"q":4,"o":4,"g":4,"c":4,"\\":5,"\/":-7}},"\u015a":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm64,-278r50,-49r67,0r-66,49r-51,0","w":200,"k":{"y":7,"Y":7,"J":2,"A":2}},"\u015b":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm64,-278r50,-49r67,0r-66,49r-51,0","w":200,"k":{"y":7,"j":2}},"\u015c":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm24,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":200},"\u015d":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm24,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":200},"\u015e":{"d":"123,1v39,26,13,66,-38,66v-15,0,-28,-2,-39,-5r0,-32v17,8,50,8,50,-10v0,-7,-4,-12,-11,-16v-25,0,-48,-3,-68,-9r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96v0,39,-22,62,-61,73","w":200},"\u015f":{"d":"123,1v39,26,13,66,-38,66v-15,0,-28,-2,-39,-5r0,-32v17,8,50,8,50,-10v0,-7,-4,-12,-11,-16v-25,0,-48,-3,-68,-9r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96v0,39,-22,62,-61,73","w":200,"k":{"y":7,"j":2}},"\u0160":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm78,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":200,"k":{"y":7,"j":2}},"\u0161":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96xm78,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":200,"k":{"y":7,"Y":7,"J":2,"A":2}},"\u0162":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-8,0v41,25,26,72,-40,67v-6,0,-13,0,-23,-2r0,-32v16,5,43,2,41,-13v0,-9,-8,-16,-22,-20","w":210,"k":{"\u0153":10,"\u0152":10,"\u00e6":36,"\u00c6":36,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,"\\":-12,"W":-5,"V":-5,"S":-7,"Q":10,"O":10,"J":44,"G":10,"C":10,"A":26,";":10,":":10,"\/":14,".":23,"-":21,",":23,"&":7}},"\u0163":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-8,0v41,25,26,72,-40,67v-6,0,-13,0,-23,-2r0,-32v16,5,43,2,41,-13v0,-9,-8,-16,-22,-20","w":210,"k":{"\u0153":10,"\u00e6":36,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,";":10,":":10,"\/":14,".":23,"-":21,",":23}},"\u0164":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0xm78,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":210,"k":{"\u0153":10,"\u0152":10,"\u00e6":36,"\u00c6":36,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,"\\":-12,"W":-5,"V":-5,"S":-7,"Q":10,"O":10,"J":44,"G":10,"C":10,"A":26,";":10,":":10,"\/":14,".":23,"-":21,",":23,"&":7}},"\u0165":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0xm78,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":210,"k":{"\u0153":10,"\u00e6":36,"w":-5,"v":-5,"s":-7,"q":10,"o":10,"j":44,"g":10,"c":10,"a":26,";":10,":":10,"\/":14,".":23,"-":21,",":23}},"\u016a":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm67,-283r0,-38r137,0r0,38r-137,0","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u016b":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm67,-283r0,-38r137,0r0,38r-137,0","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u016c":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm66,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":271},"\u016d":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm66,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":271},"\u016e":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm82,-287v0,-30,22,-49,55,-49v30,0,53,19,53,49v0,29,-23,49,-54,49v-30,0,-55,-19,-54,-49xm158,-288v-1,-25,-44,-23,-44,1v1,11,10,19,23,19v11,1,21,-10,21,-20","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u016f":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm82,-287v0,-30,22,-49,55,-49v30,0,53,19,53,49v0,29,-23,49,-54,49v-30,0,-55,-19,-54,-49xm158,-288v-1,-25,-44,-23,-44,1v1,11,10,19,23,19v11,1,21,-10,21,-20","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u0170":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm65,-278r32,-49r57,0r-46,49r-43,0xm148,-278r31,-49r58,0r-46,49r-43,0","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u0171":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm65,-278r32,-49r57,0r-46,49r-43,0xm148,-278r31,-49r58,0r-46,49r-43,0","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u0172":{"d":"185,57v-27,17,-83,15,-84,-21v0,-13,6,-23,18,-31v-62,-5,-92,-38,-92,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,57,-28,89,-84,97v-17,7,-23,30,2,30v7,0,14,-2,22,-7r0,30","w":271,"k":{"\u00e6":14,"\u00c6":14,"a":9,"Z":2,"Y":4,"A":9,".":5,",":5}},"\u0173":{"d":"185,57v-27,17,-83,15,-84,-21v0,-13,6,-23,18,-31v-62,-5,-92,-38,-92,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,57,-28,89,-84,97v-17,7,-23,30,2,30v7,0,14,-2,22,-7r0,30","w":271,"k":{"\u00e6":14,"y":4,"a":9}},"\u0174":{"d":"70,0r-70,-254r55,0r45,194r50,-194r53,0r50,194r45,-194r53,0r-70,254r-56,0r-50,-185r-49,185r-56,0xm96,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":350},"\u0176":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm41,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":240},"\u0177":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm41,-278r52,-49r56,0r51,49r-51,0r-29,-28r-28,28r-51,0","w":240},"\u0178":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":240,"k":{"\u0153":17,"\u0152":17,"\u00e6":28,"\u00c6":47,"\u00bb":4,"z":5,"u":4,"q":17,"o":17,"j":49,"g":17,"c":17,"a":28,"Z":5,"U":4,"Q":17,"O":17,"J":49,"G":17,"C":17,"A":28,";":14,":":14,"\/":19,".":30,"-":22,",":30,"&":10," ":21}},"\u0179":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm85,-278r49,-49r67,0r-65,49r-51,0","w":236,"k":{"q":4,"o":8,"g":5,"c":8,"a":2,"T":-5,"A":2}},"\u017a":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm85,-278r49,-49r67,0r-65,49r-51,0","w":236,"k":{"q":4,"o":8,"a":2}},"\u017b":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm99,-303v0,-15,13,-29,30,-29v15,0,29,15,29,30v1,15,-15,29,-30,29v-16,0,-30,-13,-29,-30","w":236,"k":{"q":4,"o":8,"g":5,"c":8,"a":2,"T":-5,"A":2}},"\u017c":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm99,-303v0,-15,13,-29,30,-29v15,0,29,15,29,30v1,15,-15,29,-30,29v-16,0,-30,-13,-29,-30","w":236,"k":{"q":4,"o":8,"a":2}},"\u017d":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm95,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":236,"k":{"q":4,"o":8,"g":5,"c":8,"a":2,"T":-5,"A":2}},"\u017e":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0xm95,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":236,"k":{"q":4,"o":8,"a":2}},"\u0192":{"d":"-9,64r0,-38v38,9,59,-2,63,-41r11,-101r-32,0r0,-24r35,-12v4,-76,35,-122,119,-104r0,37v-55,-14,-74,14,-75,67r48,0r0,36r-52,0v-12,87,5,206,-117,180","w":196},"\u01cd":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm101,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":256},"\u01ce":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0xm101,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":256},"\u01d3":{"d":"136,5v-70,0,-108,-32,-109,-98r0,-161r53,0r0,159v0,37,19,56,56,56v38,0,56,-19,56,-56r0,-159r53,0r0,161v0,66,-36,98,-109,98xm109,-278r-53,-49r51,0r29,29r28,-29r51,0r-50,49r-56,0","w":271},"\u01e6":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm107,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":256},"\u01e7":{"d":"16,-127v-2,-106,96,-150,207,-125r0,43v-81,-16,-152,0,-152,82v0,66,46,96,116,87r0,-58r-39,0r0,-39r87,0r0,136v-25,2,-51,4,-78,4v-88,1,-140,-46,-141,-130xm107,-278r-53,-49r51,0r29,29r28,-29r51,0r-51,49r-55,0","w":256},"\u0219":{"d":"123,1v39,26,13,66,-38,66v-15,0,-28,-2,-39,-5r0,-32v17,8,50,8,50,-10v0,-7,-4,-12,-11,-16v-25,0,-48,-3,-68,-9r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96v0,39,-22,62,-61,73","w":200},"\u02c6":{"d":"10,-278r53,-49r56,0r51,49r-52,0r-28,-28r-28,28r-52,0","w":180},"\u02c7":{"d":"63,-278r-53,-49r52,0r28,29r28,-29r52,0r-51,49r-56,0","w":180},"\u02c9":{"d":"21,-283r0,-38r138,0r0,38r-138,0","w":180},"\u02d8":{"d":"20,-327r35,0v7,24,63,24,70,0r35,0v-5,31,-28,47,-70,47v-42,0,-65,-16,-70,-47","w":180},"\u02d9":{"d":"61,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-14,28,-29,29v-16,0,-30,-13,-29,-30","w":180},"\u02da":{"d":"126,-287v0,-30,22,-49,55,-49v30,0,53,19,53,49v0,29,-23,49,-54,49v-30,0,-55,-19,-54,-49xm201,-288v0,-10,-9,-18,-22,-18v-12,0,-21,8,-21,19v0,12,10,19,23,19v11,1,21,-9,20,-20"},"\u02db":{"d":"98,67v-53,0,-59,-59,-17,-67r39,0v-15,6,-23,14,-23,23v1,15,28,13,39,4r0,30v-12,7,-24,10,-38,10","w":180},"\u02dc":{"d":"119,-279v-22,5,-59,-32,-69,-2r-36,0v3,-56,61,-48,103,-31v7,0,11,-4,13,-12r36,0v-4,30,-19,45,-47,45","w":180},"\u02dd":{"d":"27,-278r31,-49r58,0r-47,49r-42,0xm110,-278r31,-49r58,0r-47,49r-42,0","w":180},"\u037e":{"d":"57,-70v73,9,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-40,38,-37xm19,-159v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,18,-17,37,-38,37v-20,0,-39,-19,-38,-37","w":113},"\u0384":{"d":"60,-284v42,-1,18,53,13,80r-25,0v-3,-27,-30,-79,12,-80","w":121},"\u0385":{"d":"46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,15,-13,28,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-29,-12,-29,-30","w":240},"\u0386":{"d":"187,-58r-107,0r-22,58r-51,0r101,-254r56,0r100,254r-54,0xm171,-101r-37,-103r-37,103r74,0xm36,-284v43,-1,17,52,13,80r-25,0v-5,-26,-30,-79,12,-80","w":263,"k":{"\u03c6":10,"\u03c3":-11,"\u03bd":-1,"\u03b3":-1}},"\u0387":{"d":"19,-127v0,-20,17,-38,38,-38v19,0,38,18,38,38v0,20,-18,38,-38,38v-19,0,-38,-17,-38,-38","w":113},"\u0388":{"d":"64,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":239},"\u0389":{"d":"64,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":314},"\u038a":{"d":"64,0r0,-254r52,0r0,254r-52,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":145},"\u038c":{"d":"30,-127v0,-79,49,-132,126,-132v77,0,126,54,126,132v0,79,-50,132,-127,132v-78,0,-125,-54,-125,-132xm226,-127v0,-53,-20,-91,-72,-91v-46,0,-69,40,-69,91v0,52,24,92,70,92v50,0,71,-39,71,-92xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":297,"k":{"\u03bb":9}},"\u038e":{"d":"145,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm17,-284v43,-1,17,52,13,80r-25,0v-5,-26,-30,-79,12,-80","w":291,"k":{"\u03c3":-7,";":47,":":47,".":62,",":62}},"\u038f":{"d":"158,-218v-85,0,-93,150,-23,168r0,50r-102,0r0,-42r43,0v-28,-22,-43,-55,-43,-97v0,-73,51,-120,125,-120v75,0,128,47,127,120v0,41,-16,74,-45,97r45,0r0,42r-103,0r0,-50v69,-19,63,-168,-24,-168xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":301},"\u0390":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110},"\u0391":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u03d2":27,"\u03cd":25,"\u03c6":10,"\u03c5":27,"\u03c3":-11,"\u03c2":-11,"\u03bd":-1,"\u03b3":-1,"\u03a8":15,"\u03a6":10,"\u03a5":27,"\u03a4":23,"\u039f":10,"\u0398":10,"\u00bb":-1,".":-10,"-":2,",":-10}},"\u0392":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u03bb":4,"\u0391":4}},"\u0393":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0","w":194,"k":{"\u03cd":-18,"\u03c5":-14,"\u03bf":4,"\u03b1":27,"\u03ad":-15,"\u03ac":-8,"\u039f":4,"\u039b":25,"\u0391":27,"o":4,".":38,",":38}},"\u0394":{"d":"257,0r-257,0r100,-254r57,0xm187,-43r-60,-161r-60,161r120,0","w":256},"\u0395":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u03c4":-4,"\u03b4":-8,"\u03a6":2,"\u039f":4,"\u0398":4}},"\u0396":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0","w":236,"k":{"\u03bf":12,"\u03b5":5,"\u039f":12}},"\u0397":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"\u0398":{"d":"100,-105r0,-42r85,0r0,42r-85,0xm16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u03d2":14,"\u03a5":14,"\u039b":9,"\u0391":10}},"\u0399":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u039a":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u03cd":-14,"\u03cc":-12,"\u03c9":-9,"\u03c5":-11,"\u03bf":17,"\u03ad":-12,"\u03ac":-13,"\u03a6":19,"\u039f":15,";":-2,":":-1,".":-5,",":-5}},"\u039b":{"d":"0,0r94,-254r56,0r94,254r-55,0r-68,-202r-69,202r-52,0","w":243,"k":{"\u03d2":25,"\u03cc":11,"\u03c5":25,"\u03bf":9,"\u03b5":-1,"\u03ad":16,"\u03ac":-12,"\u03a5":25,"\u03a4":23,"\u039f":9,"\u0398":9,"\u00bb":-2,".":-11,"-":1,",":-11}},"\u039c":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"\u039d":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0","w":271,"k":{"\u03cc":-2,"\u03c9":-2,"\u03ad":-2,"\u0391":-1}},"\u039e":{"d":"12,-43r196,0r0,43r-196,0r0,-43xm20,-151r180,0r0,43r-180,0r0,-43xm15,-254r189,0r0,43r-189,0r0,-43","w":220,"k":{"\u03cd":-11,"\u03b1":-10,"\u03ac":-7}},"\u039f":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u03d2":13,"\u03bb":9,"\u03a8":2,"\u03a7":10,"\u03a5":13,"\u03a4":4,"\u039b":9,"\u0396":14,"\u0391":10}},"\u03a0":{"d":"29,0r0,-254r221,0r0,254r-52,0r0,-210r-117,0r0,210r-52,0","w":279,"k":{"\u03bb":-1,"\u03ad":-2}},"\u03a1":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u03d2":6,"\u03ce":-1,"\u03cc":-1,"\u03bf":1,"\u03b5":6,"\u03b1":21,"\u03ad":-1,"\u03a6":-1,"\u03a5":6,"\u03a4":-2,"\u039f":1,"\u039b":19,"\u0398":1,"\u0391":21,":":-8,".":27,",":27}},"\u03a3":{"d":"10,0r0,-39r87,-89r-79,-87r0,-39r194,0r0,43r-125,0r72,83r-85,86r142,0r0,42r-206,0","w":222,"k":{"\u03c7":-12,"\u03c4":-9,"\u03bf":8,"\u039f":8,"\u0398":9}},"\u03a4":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u03d2":-14,"\u03ce":-15,"\u03cd":-17,"\u03cc":-14,"\u03c5":-14,"\u03c3":-5,"\u03bf":4,"\u03b6":-1,"\u03b1":23,"\u03ad":-15,"\u03ac":-8,"\u03a6":12,"\u03a5":-14,"\u03a4":-12,"\u039f":4,"\u039b":24,"\u0391":23,"\u00bb":15,";":5,":":7,".":22,"-":18,",":20}},"\u03a5":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u03cc":-16,"\u03c0":-1,"\u03a6":17,"\u03a4":-14,"\u039f":13,"\u0398":14,"\u0391":27,"\u0386":-10,"\u00bb":5,"A":27,";":47,":":47,".":62,"-":14,",":62}},"\u03a6":{"d":"313,-127v0,68,-53,105,-126,107r0,20r-50,0r0,-20v-69,-3,-125,-37,-125,-107v0,-69,54,-104,125,-107r0,-20r50,0r0,20v70,3,126,36,126,107xm137,-195v-40,2,-72,24,-72,67v0,44,30,67,72,70r0,-137xm187,-58v70,7,99,-93,43,-125v-12,-7,-27,-11,-43,-12r0,137","w":324,"k":{"\u03d2":17,"\u03ce":6,"\u03cc":5,"\u03c9":-1,"\u03bf":-2,"\u03bb":9,"\u03a5":17,"\u03a4":12,"\u039b":9,"\u0391":10}},"\u03a7":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u03cc":-12,"\u03c9":-7,"\u03c4":-9,"\u03bf":11,"\u03b1":-15,"\u03ad":-12,"\u03ac":-12,"\u039f":11,"\u0398":11}},"\u03a8":{"d":"270,-158v0,64,-36,99,-99,100r0,58r-53,0r0,-58v-63,-2,-98,-36,-99,-100r0,-96r53,0v5,61,-22,148,46,153r0,-153r53,0r0,153v65,-2,43,-89,47,-153r52,0r0,96","w":289,"k":{"\u039f":2,"\u0391":17}},"\u03a9":{"d":"142,-218v-86,0,-92,150,-22,168r0,50r-103,0r0,-42r44,0v-28,-22,-45,-55,-44,-97v-1,-73,52,-120,126,-120v74,0,127,47,126,120v0,41,-15,74,-44,97r44,0r0,42r-103,0r0,-50v31,-11,47,-39,47,-84v1,-50,-23,-84,-71,-84","w":285},"\u03aa":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110},"\u03ab":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":240,"k":{":":47,".":62,",":62}},"\u03ac":{"d":"187,-58r-107,0r-22,58r-51,0r101,-254r56,0r100,254r-54,0xm171,-101r-37,-103r-37,103r74,0xm36,-284v43,-1,17,52,13,80r-25,0v-5,-26,-30,-79,12,-80","w":263,"k":{"\u03c9":-7,"\u03c3":-11,"\u03c2":-11,"\u03bf":10,"\u03be":-10,"\u03b8":10,"\u03b6":-7,"\u03b5":-1,"\u03b4":-16,"\u03b3":-1,"\u00bb":-1,";":-14,":":-14,".":-10,",":-10}},"\u03ad":{"d":"64,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":239,"k":{"\u03c9":1,"\u03c6":2,"\u03c4":-4,"\u03c2":-3,"\u03bf":4,"\u03bb":-7,"\u03b8":4,"\u03b6":1,"\u03b4":-8,"\u03b1":-8,";":-12}},"\u03ae":{"d":"64,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":314},"\u03af":{"d":"64,0r0,-254r52,0r0,254r-52,0xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":145,"k":{"\u03b4":-1}},"\u03b0":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":240},"\u03b1":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u03cd":25,"\u03cc":13,"\u03cb":27,"\u03c6":10,"\u03c4":23,"\u03c3":-11,"\u03c2":-11,"\u03c0":-1,"\u03bf":10,"\u03be":-10,"\u03b8":10,"\u03b6":-7,"\u03b5":-1,"\u03b4":-16,"\u03b3":-1,"\u00bb":-1,";":-14,":":-14,".":-10,",":-10,"!":-2}},"\u03b2":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u03bb":4,"\u03b3":2}},"\u03b3":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0","w":194,"k":{"\u03ce":-15,"\u03cd":-18,"\u03cc":-15,"\u03c9":4,"\u03bf":4,"\u03be":-7,"\u03bb":25,"\u03b4":27,"\u03b1":27,"\u03ad":-15,"\u03ac":-8,";":25,":":25,".":38,",":38}},"\u03b4":{"d":"257,0r-257,0r100,-254r57,0xm187,-43r-60,-161r-60,161r120,0","w":256,"k":{"\u03bd":-1}},"\u03b5":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u03ce":-7,"\u03cd":-9,"\u03cc":-7,"\u03c7":-7,"\u03c6":2,"\u03c5":-5,"\u03c4":-4,"\u03c3":-3,"\u03c2":-3,"\u03bf":4,"\u03be":-2,"\u03bb":-8,"\u03b8":4,"\u03b5":2,"\u03b4":-8,"\u03b1":-8,"\u03ad":-7,"\u03ac":-4}},"\u03b6":{"d":"17,0r0,-39r139,-172r-130,0r0,-43r193,0r0,39r-140,172r144,0r0,43r-206,0","w":236,"k":{"\u03ce":-8,"\u03cd":-10,"\u03cc":-7,"\u03c5":-7,"\u03bf":12,"\u03b5":5,"\u03b1":-9,"\u03ad":-8,"\u03ac":-5}},"\u03b7":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"\u03b8":{"d":"100,-105r0,-42r85,0r0,42r-85,0xm16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284},"\u03b9":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u03ba":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u03ce":-12,"\u03cd":-14,"\u03cc":-12,"\u03c9":-9,"\u03c6":22,"\u03c3":-12,"\u03bf":17,"\u03b8":17,"\u03b5":-2,"\u03b4":-17,"\u03b1":-17,"\u03ad":-12,"\u03ac":-13,"\u00bb":10,".":-5,",":-5}},"\u03bb":{"d":"0,0r94,-254r56,0r94,254r-55,0r-68,-202r-69,202r-52,0","w":243,"k":{"\u03cd":23,"\u03cc":11,"\u03c9":-7,"\u03c6":9,"\u03c5":25,"\u03c4":23,"\u03c3":-11,"\u03c2":-11,"\u03bf":9,"\u03be":-10,"\u03bd":-1,"\u03b5":-1,"\u03b3":-1,"\u03ad":16,"\u03ac":-12,"\u00bb":-2,".":-11,",":-11}},"\u03bc":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"\u03bd":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0","w":271,"k":{"\u03ce":-2,"\u03cd":-5,"\u03cc":-2,"\u03c9":-2,"\u03c6":3,"\u03c3":2,"\u03c2":2,"\u03bb":-1,"\u03b4":-1,"\u03b1":-1,"\u03ad":-2,"\u03ac":2,";":-19,":":-18,".":-3,",":-3}},"\u03be":{"d":"12,-43r196,0r0,43r-196,0r0,-43xm20,-151r180,0r0,43r-180,0r0,-43xm15,-254r189,0r0,43r-189,0r0,-43","w":220,"k":{"\u03ce":-9,"\u03cd":-11,"\u03cc":-9,"\u03bf":2,"\u03b1":-10,"\u03ad":-9,"\u03ac":-7}},"\u03bf":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u03c7":12,"\u03c5":13,"\u03c4":4,"\u03bb":9,"\u03b1":10}},"\u03c0":{"d":"29,0r0,-254r221,0r0,254r-52,0r0,-210r-117,0r0,210r-52,0","w":279,"k":{"\u03ce":-2,"\u03cd":-5,"\u03cc":-2,"\u03bb":-1,"\u03ac":2}},"\u03c1":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u03c7":13,"\u03c4":-2,"\u03c2":5,"\u03c0":6,"\u03bd":6,"\u03bb":19,"\u03b3":6,"\u00bb":-3,"!":5}},"\u03c2":{"d":"10,0r0,-39r87,-89r-79,-87r0,-39r194,0r0,43r-125,0r72,83r-85,86r142,0r0,42r-206,0","w":222},"\u03c3":{"d":"10,0r0,-39r87,-89r-79,-87r0,-39r194,0r0,43r-125,0r72,83r-85,86r142,0r0,42r-206,0","w":222,"k":{"\u03bb":-12}},"\u03c4":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u03ce":-15,"\u03cd":-17,"\u03cc":-14,"\u03c9":4,"\u03c6":12,"\u03c4":-12,"\u03c3":-5,"\u03c2":-5,"\u03bf":4,"\u03bb":24,"\u03b1":23,"\u03af":-15,"\u03ad":-15,"\u03ac":-8,"\u00bb":24,"o":4,";":7,":":7,".":22,",":20}},"\u03c5":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u03c7":-10,"\u03c4":-14,"\u03bb":25,"\u03b3":-1,";":47,":":47,".":62,",":62}},"\u03c6":{"d":"313,-127v0,68,-53,105,-126,107r0,20r-50,0r0,-20v-69,-3,-125,-37,-125,-107v0,-69,54,-104,125,-107r0,-20r50,0r0,20v70,3,126,36,126,107xm137,-195v-40,2,-72,24,-72,67v0,44,30,67,72,70r0,-137xm187,-58v70,7,99,-93,43,-125v-12,-7,-27,-11,-43,-12r0,137","w":324,"k":{"\u03c4":12}},"\u03c7":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u03ce":-12,"\u03cd":-14,"\u03cc":-12,"\u03c9":-7,"\u03bf":11,"\u03b8":11,"\u03b5":-1,"\u03b1":-15,"\u03ad":-12,"\u03ac":-12}},"\u03c8":{"d":"270,-158v0,64,-36,99,-99,100r0,58r-53,0r0,-58v-63,-2,-98,-36,-99,-100r0,-96r53,0v5,61,-22,148,46,153r0,-153r53,0r0,153v65,-2,43,-89,47,-153r52,0r0,96","w":289},"\u03c9":{"d":"142,-218v-86,0,-92,150,-22,168r0,50r-103,0r0,-42r44,0v-28,-22,-45,-55,-44,-97v-1,-73,52,-120,126,-120v74,0,127,47,126,120v0,41,-15,74,-44,97r44,0r0,42r-103,0r0,-50v31,-11,47,-39,47,-84v1,-50,-23,-84,-71,-84","w":285,"k":{"\u03c7":-7,"\u03c4":4,"\u03c0":-2,"\u03bd":-2,"\u03bb":-7,"\u03b3":-2}},"\u03ca":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110},"\u03cb":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm46,-303v0,-16,12,-29,29,-29v15,-1,29,14,29,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm138,-303v0,-16,12,-29,29,-29v15,0,29,14,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":240,"k":{"\u03bd":-1,";":47,":":47,".":62,",":62}},"\u03cc":{"d":"30,-127v0,-79,49,-132,126,-132v77,0,126,54,126,132v0,79,-50,132,-127,132v-78,0,-125,-54,-125,-132xm226,-127v0,-53,-20,-91,-72,-91v-46,0,-69,40,-69,91v0,52,24,92,70,92v50,0,71,-39,71,-92xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":297,"k":{"\u03c7":12,"\u03c4":5}},"\u03cd":{"d":"145,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0xm17,-284v43,-1,17,52,13,80r-25,0v-5,-26,-30,-79,12,-80","w":291,"k":{"\u03c7":-10,"\u03c4":-14,"\u03c0":-1,"\u03bd":-1,"\u03bb":25,"\u03b3":-1,";":47,":":47,".":62,",":62}},"\u03ce":{"d":"158,-218v-85,0,-93,150,-23,168r0,50r-102,0r0,-42r43,0v-28,-22,-43,-55,-43,-97v0,-73,51,-120,125,-120v75,0,128,47,127,120v0,41,-16,74,-45,97r45,0r0,42r-103,0r0,-50v69,-19,63,-168,-24,-168xm22,-284v43,0,17,52,13,80r-26,0v-4,-26,-29,-79,13,-80","w":301,"k":{"\u03c7":-7,"\u03c4":4,"\u03c0":-2,"\u03bd":-2,"\u03bb":-7,"\u03b3":-2}},"\u03d1":{"d":"100,-105r0,-42r85,0r0,42r-85,0xm16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284},"\u03d2":{"d":"238,-219v-73,39,-102,106,-94,219r-52,0v10,-110,-25,-181,-94,-219r34,-38v42,25,76,69,86,122v9,-54,43,-97,86,-122","w":236,"k":{"\u03cc":-16,"\u03c0":-1,"\u03a6":17,"\u03a4":-14,"\u039f":13,"\u0398":14,"\u0391":27,"\u0386":-10,"\u00bb":5,"A":27,".":29,"-":14,",":29}},"\u03d5":{"d":"313,-127v0,68,-53,105,-126,107r0,20r-50,0r0,-20v-69,-3,-125,-37,-125,-107v0,-69,54,-104,125,-107r0,-20r50,0r0,20v70,3,126,36,126,107xm137,-195v-40,2,-72,24,-72,67v0,44,30,67,72,70r0,-137xm187,-58v70,7,99,-93,43,-125v-12,-7,-27,-11,-43,-12r0,137","w":324},"\u0401":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm32,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm124,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":204},"\u0402":{"d":"215,-56v0,-42,-12,-70,-50,-71v-18,0,-34,5,-49,15r0,112r-53,0r0,-211r-61,0r0,-43r204,0r0,43r-90,0r0,57v78,-40,155,8,155,98v0,80,-43,126,-126,116r0,-41v51,10,70,-24,70,-75","w":277},"\u0403":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0xm75,-278r49,-49r67,0r-65,49r-51,0","w":194,"k":{"\u045e":-14,"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-14,"\u0447":-4,"\u0445":-9,"\u0444":12,"\u0443":-14,"\u0442":-13,"\u0441":5,"\u043e":4,"\u043b":11,"\u0437":-10,"\u0436":-5,"\u0434":11,"\u0430":27,"\u042a":-9,"\u0427":-4,"\u0424":12,"\u0423":-14,"\u0422":-13,"\u0421":5,"\u041e":4,"\u041b":11,"\u0414":11,"\u040e":-14,"\u040b":-13,"\u0409":11,"\u0404":6,";":24,":":24,".":37,",":37}},"\u0404":{"d":"14,-127v0,-104,93,-151,197,-124r0,44v-63,-18,-132,-7,-140,56r105,0r0,43r-106,0v6,66,78,79,144,61r0,45v-109,24,-200,-17,-200,-125","w":219},"\u0405":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96","w":200},"\u0406":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u0407":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110},"\u0408":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0","w":177},"\u0409":{"d":"187,-210r-83,0v-5,104,4,218,-104,212r0,-42v46,-3,46,-48,49,-107r5,-107r183,0r0,91v75,-5,125,16,125,82v0,54,-31,81,-93,81r-82,0r0,-210xm310,-81v0,-39,-32,-47,-73,-44r0,87v41,3,73,-5,73,-43","w":370,"k":{"\u044a":17,"\u042a":17,"\u0427":5,"\u0423":20,"\u0422":23,"\u040e":20,"\u040b":17}},"\u040a":{"d":"29,0r0,-254r52,0r0,97r112,0r0,-97r51,0r0,97v72,-5,124,14,124,76v0,54,-31,81,-93,81r-82,0r0,-119r-112,0r0,119r-52,0xm316,-81v0,-37,-34,-40,-72,-38r0,81v40,3,72,-5,72,-43","w":376,"k":{"\u044a":18,"\u042a":18,"\u0427":7,"\u0423":22,"\u0422":25,"\u040e":22,"\u040b":19}},"\u040b":{"d":"215,0v-3,-54,18,-127,-44,-127v-23,0,-41,5,-55,15r0,112r-53,0r0,-211r-61,0r0,-43r204,0r0,43r-90,0r0,57v64,-29,151,-17,151,68r0,86r-52,0","w":286},"\u040c":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0xm95,-278r49,-49r67,0r-65,49r-51,0","w":250,"k":{"\u045e":-11,"\u0454":16,"\u0447":-1,"\u0444":22,"\u0443":-11,"\u0442":-10,"\u0441":16,"\u043e":17,"\u0437":-14,"\u0435":-2,"\u0431":-2,"\u0430":-17,"\u0424":19,"\u0421":16,"\u041e":15,"\u0417":-14,"\u0404":16}},"\u040e":{"d":"55,0r39,-74r-94,-180r57,0r64,134r65,-134r55,0r-134,254r-52,0xm51,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-28,47,-70,47v-42,0,-64,-16,-69,-47","w":238,"k":{"\u0459":9,"\u0454":12,"\u044f":10,"\u044e":-3,"\u0447":-7,"\u0446":-3,"\u0445":-12,"\u0444":14,"\u0442":-15,"\u0441":12,"\u0440":-3,"\u043f":-3,"\u043e":11,"\u043d":-3,"\u043c":-3,"\u043b":9,"\u043a":-3,"\u0438":-3,"\u0437":-13,"\u0436":-8,"\u0435":-3,"\u0434":9,"\u0431":-3,"\u0430":28,"\u042f":10,"\u042a":-13,"\u0427":-7,"\u0424":14,"\u0422":-15,"\u0421":12,"\u041e":11,"\u041b":9,"\u0417":-13,"\u0414":9,"\u0410":28,"\u040e":-17,"\u040b":-16,"\u0409":9,"\u0404":12,";":43,":":43,".":68,",":68}},"\u040f":{"d":"29,0r0,-254r52,0r0,210r117,0r0,-210r52,0r0,254r-85,0r0,51r-51,0r0,-51r-85,0","w":279},"\u0410":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u045e":12,"\u0459":-16,"\u044a":15,"\u0447":22,"\u0444":10,"\u0443":12,"\u0442":23,"\u0441":8,"\u043e":10,"\u043b":-16,"\u0437":-13,"\u042a":15,"\u0427":20,"\u0424":10,"\u0423":12,"\u0422":23,"\u0421":8,"\u041e":10,"\u041b":-16,"\u0417":-13,"\u040e":12,"\u040b":16,"\u0409":-16,"\u0404":8,"\u00bb":-1,";":-14,":":-14,".":-10,"-":2,",":-10}},"\u0411":{"d":"29,0r0,-254r163,0r0,43r-113,0r0,48v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43","w":223,"k":{"\u0459":-5,"\u0442":1,"\u0436":7,"\u0427":9,"\u0422":1,"\u0416":7,"\u0410":3,"\u040b":1}},"\u0412":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u045e":12,"\u0459":-4,"\u044a":3,"\u0447":11,"\u0443":12,"\u0442":4,"\u0436":8,"\u0428":1,"\u0427":11,"\u0423":12,"\u0422":4,"\u0416":8,"\u0410":4,"\u040e":12,"\u040b":4}},"\u0413":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0","w":194,"k":{"\u045e":-14,"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-14,"\u0447":-4,"\u0445":-9,"\u0444":12,"\u0443":-14,"\u0442":-13,"\u0441":5,"\u043e":4,"\u043b":11,"\u0437":-10,"\u0436":-5,"\u0434":11,"\u0430":27,"\u042a":-11,"\u0427":-4,"\u0424":12,"\u0423":-14,"\u0422":-13,"\u0421":5,"\u041e":4,"\u041b":11,"\u0414":11,"\u040e":-14,"\u040b":-13,"\u0409":11,"\u0404":6,";":18,":":18,".":38,"-":30,",":38}},"\u0414":{"d":"222,0r-174,0r0,51r-50,0r0,-95v40,-1,44,-34,48,-81r8,-129r188,0r0,210r31,0r0,95r-51,0r0,-51xm190,-44r0,-166r-86,0v-8,57,4,141,-32,166r118,0","w":273},"\u0415":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u0424":2}},"\u0416":{"d":"299,0r-72,-109r-21,0r0,109r-50,0r0,-109r-22,0r-72,109r-64,0r99,-138r-80,-116r60,0r61,98r18,0r0,-98r50,0r0,98r17,0r61,-98r60,0r-79,116r99,138r-65,0","w":361,"k":{"\u045e":-7,"\u0454":13,"\u0447":3,"\u0444":19,"\u0443":-7,"\u0442":-5,"\u0441":13,"\u043e":13,"\u0437":-14,"\u0435":-2,"\u0431":-2,"\u0430":-17,"\u0424":15,"\u0421":12,"\u041e":13,"\u0417":-14,"\u0404":12}},"\u0417":{"d":"137,-80v1,-37,-55,-26,-94,-28r0,-43v38,-1,92,7,89,-29v-3,-43,-81,-39,-123,-27r0,-44v71,-15,179,-11,179,65v0,24,-12,47,-32,54v25,10,37,28,37,54v-1,77,-104,94,-187,76r0,-45v45,11,130,16,131,-33","w":204,"k":{"\u045e":5,"\u0459":-6,"\u044f":1,"\u0447":3,"\u0445":7,"\u0443":5,"\u0442":-2,"\u043b":-6,"\u042f":1,"\u0427":3,"\u0425":7,"\u0423":5,"\u0422":-2,"\u041b":-6,"\u0417":-4,"\u0416":7,"\u0414":-7,"\u0410":2,"\u040e":5,"\u040b":-3,"\u0409":-6}},"\u0418":{"d":"29,0r0,-254r50,0r0,183r101,-183r62,0r0,254r-50,0r0,-184r-101,184r-62,0","w":271},"\u0419":{"d":"29,0r0,-254r50,0r0,183r101,-183r62,0r0,254r-50,0r0,-184r-101,184r-62,0xm66,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":271},"\u041a":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u045e":-11,"\u0454":16,"\u0447":-1,"\u0444":22,"\u0443":-11,"\u0442":-10,"\u0441":16,"\u043e":17,"\u0437":-14,"\u0435":-2,"\u0431":-2,"\u0430":-17,"\u0424":19,"\u0421":16,"\u041e":15,"\u0417":-14,"\u0404":16}},"\u041b":{"d":"192,-210r-88,0v-5,104,4,219,-104,212r0,-42v46,-3,46,-48,49,-107r5,-107r190,0r0,254r-52,0r0,-210","w":273},"\u041c":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"\u041d":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"\u041e":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u0459":4,"\u043b":4,"\u042f":6,"\u042a":3,"\u0427":3,"\u0425":10,"\u0423":12,"\u0422":4,"\u041b":4,"\u0416":12,"\u0414":2,"\u0410":10,"\u040e":12,"\u040b":4,"\u0409":4}},"\u041f":{"d":"29,0r0,-254r221,0r0,254r-52,0r0,-210r-117,0r0,210r-52,0","w":279},"\u0420":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u0459":14,"\u0444":-1,"\u043e":1,"\u043b":14,"\u0437":-1,"\u0435":6,"\u0434":13,"\u0433":6,"\u0432":6,"\u0430":21,"\u042f":6,"\u0427":2,"\u041b":14,"\u0414":13,"\u0410":21,"\u0409":14,";":-8,":":-8,".":27,"-":-8,",":27}},"\u0421":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125","w":219,"k":{"\u045e":-11,"\u0459":-13,"\u0447":-1,"\u0443":-10,"\u0442":-10,"\u042f":-10,"\u0425":-11,"\u0424":5,"\u0423":-10,"\u0422":-10,"\u0421":2,"\u041e":2,"\u041b":-13,"\u0417":-10,"\u0416":-13,"\u0410":-12,"\u040e":-11,"\u040b":-10,"\u0409":-13}},"\u0422":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u045e":-14,"\u0459":12,"\u0454":6,"\u044f":4,"\u044a":-14,"\u0447":-3,"\u0445":-9,"\u0444":12,"\u0443":-14,"\u0442":-12,"\u0441":6,"\u043e":4,"\u043b":12,"\u0437":-10,"\u0436":-5,"\u0434":12,"\u0430":23,"\u042f":4,"\u042a":-7,"\u0424":12,"\u0423":-14,"\u0422":-12,"\u0421":6,"\u041e":4,"\u041b":12,"\u0417":-10,"\u0414":12,"\u0410":23,"\u040e":-14,"\u040b":-13,"\u0409":12,"\u0404":6,"\u00bb":15,";":5,":":7,".":22,"-":18,",":20}},"\u0423":{"d":"55,0r39,-74r-94,-180r57,0r64,134r65,-134r55,0r-134,254r-52,0","w":238,"k":{"\u045e":-17,"\u0459":9,"\u0454":12,"\u044f":10,"\u044e":-3,"\u0447":-7,"\u0446":-3,"\u0445":-12,"\u0444":14,"\u0443":-17,"\u0442":-15,"\u0441":12,"\u0440":-3,"\u043f":-3,"\u043e":11,"\u043d":-3,"\u043c":-3,"\u043b":9,"\u043a":-3,"\u0438":-3,"\u0437":-13,"\u0436":-8,"\u0435":-3,"\u0434":9,"\u0431":-3,"\u0430":28,"\u042f":10,"\u042a":-11,"\u0427":-7,"\u0424":14,"\u0423":-17,"\u0422":-15,"\u0421":12,"\u041e":11,"\u041b":9,"\u0417":-13,"\u0414":9,"\u0410":28,"\u040b":-16,"\u0409":9,"\u0404":12,"\u00bb":2,";":43,":":43,".":68,"-":10,",":68}},"\u0424":{"d":"313,-127v0,68,-53,105,-126,107r0,20r-50,0r0,-20v-69,-3,-125,-37,-125,-107v0,-69,54,-104,125,-107r0,-20r50,0r0,20v70,3,126,36,126,107xm137,-195v-40,2,-72,24,-72,67v0,44,30,67,72,70r0,-137xm187,-58v70,7,99,-93,43,-125v-12,-7,-27,-11,-43,-12r0,137","w":324,"k":{"\u0459":7,"\u043b":8,"\u0434":7,"\u042f":7,"\u042a":11,"\u0427":2,"\u0425":15,"\u0423":15,"\u041b":8,"\u0416":15,"\u0414":7,"\u0410":10,"\u040e":15,"\u0409":7}},"\u0425":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u0454":11,"\u0444":17,"\u0443":-10,"\u0442":-9,"\u0441":11,"\u043e":11,"\u0437":-13,"\u0435":-1,"\u0430":-15,"\u0424":13,"\u0421":10,"\u041e":11,"\u0417":-13,"\u0404":10}},"\u0426":{"d":"29,0r0,-254r52,0r0,210r117,0r0,-210r52,0r0,210r31,0r0,95r-51,0r0,-51r-201,0","w":281},"\u0427":{"d":"74,-254v4,53,-19,128,44,128v22,0,41,-6,55,-16r0,-112r52,0r0,254r-52,0r0,-100v-66,28,-159,19,-151,-68r0,-86r52,0","w":254},"\u0428":{"d":"29,0r0,-254r52,0r0,210r79,0r0,-210r52,0r0,210r78,0r0,-210r53,0r0,254r-314,0","w":371},"\u0429":{"d":"29,0r0,-254r52,0r0,210r79,0r0,-210r52,0r0,210r78,0r0,-210r53,0r0,210r30,0r0,95r-51,0r0,-51r-293,0","w":374},"\u042a":{"d":"62,0r0,-211r-61,0r0,-43r112,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-87,0xm190,-81v0,-41,-34,-47,-77,-44r0,87v42,3,77,-3,77,-43","w":257,"k":{"\u044a":22,"\u042a":20,"\u0427":9,"\u0423":23,"\u0422":27,"\u040e":23,"\u040b":21}},"\u042b":{"d":"29,0r0,-254r50,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43xm233,0r0,-254r53,0r0,254r-53,0","w":314},"\u042c":{"d":"29,0r0,-254r50,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43","w":216,"k":{"\u044a":18,"\u042a":17,"\u0427":6,"\u0423":20,"\u0422":23,"\u040e":20,"\u040b":17}},"\u042d":{"d":"206,-127v0,107,-89,150,-200,125r0,-45v63,17,140,7,143,-61r-106,0r0,-43r106,0v-9,-62,-77,-75,-140,-56r0,-44v103,-27,197,20,197,124","w":219,"k":{"\u0459":2,"\u042f":5,"\u042a":5,"\u0427":2,"\u0423":13,"\u0422":6,"\u041b":2,"\u0414":1,"\u0410":9,"\u040e":13,"\u040b":5,"\u0409":2}},"\u042e":{"d":"239,5v-71,0,-119,-46,-124,-114r-34,0r0,109r-52,0r0,-254r52,0r0,98r35,0v9,-61,56,-103,123,-103v77,0,127,53,127,132v0,79,-50,132,-127,132xm310,-127v0,-53,-20,-91,-72,-91v-46,0,-69,40,-69,91v0,52,24,92,70,92v50,0,71,-39,71,-92","w":381,"k":{"\u0459":4,"\u043b":4,"\u042f":6,"\u042a":4,"\u0427":4,"\u0425":10,"\u0423":13,"\u0422":5,"\u041b":4,"\u0416":12,"\u0414":2,"\u0410":10,"\u040e":13,"\u040b":4,"\u0409":4}},"\u042f":{"d":"70,-108v-25,-12,-41,-31,-41,-68v0,-52,30,-78,91,-78r80,0r0,254r-51,0r0,-98r-29,0r-58,98r-59,0xm81,-176v0,38,30,42,68,40r0,-80v-38,-3,-68,5,-68,40","w":228},"\u0430":{"d":"180,-58r-107,0r-22,58r-51,0r100,-254r57,0r100,254r-55,0xm164,-101r-37,-103r-37,103r74,0","w":256,"k":{"\u045e":12,"\u0459":-16,"\u0447":22,"\u0443":12,"\u0442":23}},"\u0431":{"d":"29,0r0,-254r163,0r0,43r-113,0r0,48v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43","w":223,"k":{"\u044f":8,"\u0447":9,"\u0445":5,"\u0442":1,"\u0437":-3,"\u0436":7}},"\u0432":{"d":"29,-254v78,0,172,-11,170,66v0,23,-10,41,-30,53v28,11,43,32,43,62v0,82,-99,75,-183,73r0,-254xm159,-75v0,-39,-41,-37,-80,-36r0,73v40,2,80,1,80,-37xm147,-182v0,-33,-32,-37,-68,-34r0,67v35,2,68,0,68,-33","w":231,"k":{"\u045e":12,"\u044f":8,"\u0447":11,"\u0445":9,"\u0443":12,"\u0442":4,"\u0437":-1,"\u0436":8}},"\u0433":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0","w":194,"k":{"\u045e":-14,"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-11,"\u0444":12,"\u0441":5,"\u043e":4,"\u043b":11,"\u0434":11,";":24,":":24,".":38,"-":33,",":38}},"\u0434":{"d":"222,0r-174,0r0,51r-50,0r0,-95v40,-1,44,-34,48,-81r8,-129r188,0r0,210r31,0r0,95r-51,0r0,-51xm190,-44r0,-166r-86,0v-8,57,4,141,-32,166r118,0","w":273},"\u0435":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0","w":204,"k":{"\u045e":-5,"\u044f":-7,"\u0447":5,"\u0445":-7,"\u0443":-5,"\u043b":-8,"\u0437":-5,"\u0436":-9}},"\u0436":{"d":"299,0r-72,-109r-21,0r0,109r-50,0r0,-109r-22,0r-72,109r-64,0r99,-138r-80,-116r60,0r61,98r18,0r0,-98r50,0r0,98r17,0r61,-98r60,0r-79,116r99,138r-65,0","w":361,"k":{"\u045e":-7,"\u0454":13,"\u0444":19,"\u0441":13,"\u043e":13,"\u0437":-14,"\u0435":-2,"\u0431":-2}},"\u0437":{"d":"137,-80v1,-37,-55,-26,-94,-28r0,-43v38,-1,92,7,89,-29v-3,-43,-81,-39,-123,-27r0,-44v71,-15,179,-11,179,65v0,24,-12,47,-32,54v25,10,37,28,37,54v-1,77,-104,94,-187,76r0,-45v45,11,130,16,131,-33","w":204,"k":{"\u045e":5,"\u0459":-6,"\u044f":3,"\u0447":3,"\u0445":7,"\u0443":5,"\u0442":-2,"\u043b":-6,"\u0436":7}},"\u0438":{"d":"29,0r0,-254r50,0r0,183r101,-183r62,0r0,254r-50,0r0,-184r-101,184r-62,0","w":271},"\u0439":{"d":"29,0r0,-254r50,0r0,183r101,-183r62,0r0,254r-50,0r0,-184r-101,184r-62,0xm66,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-27,47,-69,47v-42,0,-65,-16,-70,-47","w":271,"k":{"\u0459":-1}},"\u043a":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0","w":250,"k":{"\u045e":-11,"\u0454":16,"\u0444":22,"\u0441":16,"\u043e":17,"\u0437":-14,"\u0435":-2,"\u0431":-2,"\u0430":-17}},"\u043b":{"d":"192,-210r-88,0v-5,104,4,219,-104,212r0,-42v46,-3,46,-48,49,-107r5,-107r190,0r0,254r-52,0r0,-210","w":273},"\u043c":{"d":"29,0r0,-254r74,0r64,203r65,-203r73,0r0,254r-51,0r0,-188r-59,188r-56,0r-61,-189r0,189r-49,0","w":334},"\u043d":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,254r-52,0r0,-109r-117,0r0,109r-52,0","w":279},"\u043e":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-127v0,-53,-21,-90,-72,-91v-46,0,-69,39,-69,91v0,53,24,92,70,92v49,0,71,-40,71,-92","w":284,"k":{"\u045e":12,"\u0459":4,"\u044a":3,"\u0445":12,"\u0443":12,"\u0442":4,"\u043b":4,"\u0437":4,"\u0436":14}},"\u043f":{"d":"29,0r0,-254r221,0r0,254r-52,0r0,-210r-117,0r0,210r-52,0","w":279},"\u0440":{"d":"29,0r0,-254r86,0v62,0,93,28,93,82v0,67,-52,87,-129,81r0,91r-50,0xm156,-173v0,-41,-35,-46,-77,-43r0,87v43,3,77,-1,77,-44","w":223,"k":{"\u045e":5,"\u044f":6,"\u0447":2,"\u0445":13,"\u0443":5,"\u0442":-2,"\u043b":16,"\u0437":-1,"\u0436":17,";":-1,".":48,"-":-7,",":47}},"\u0441":{"d":"14,-127v0,-104,92,-151,197,-124r0,44v-72,-23,-142,2,-142,80v0,80,73,100,145,80r0,45v-109,24,-200,-17,-200,-125","w":219,"k":{"\u0459":-13,"\u044f":-10,"\u0447":-1,"\u0445":-11,"\u0444":10,"\u0443":-10,"\u0442":-10,"\u043e":5,"\u043b":-13,"\u0437":-10,"\u0436":-12,"\u0430":-12,"\u040e":-11}},"\u0442":{"d":"79,0r0,-211r-75,0r0,-43r203,0r0,43r-76,0r0,211r-52,0","w":210,"k":{"\u045e":-14,"\u0459":12,"\u0454":6,"\u044f":4,"\u044a":-7,"\u0447":-3,"\u0444":12,"\u0443":-14,"\u0442":-12,"\u0441":6,"\u043e":4,"\u043b":12,"\u0437":-10,"\u0434":12,"\u0430":23,"\u00bb":24,";":7,":":7,".":22,"-":18,",":20}},"\u0443":{"d":"55,0r39,-74r-94,-180r57,0r64,134r65,-134r55,0r-134,254r-52,0","w":238,"k":{"\u0459":9,"\u0454":12,"\u044f":10,"\u044a":-11,"\u0447":-7,"\u0444":14,"\u0442":-15,"\u0441":12,"\u043e":11,"\u043b":9,"\u0437":-13,"\u0435":-3,"\u0434":9,"\u0430":28,"\u00bb":2,";":43,":":43,".":68,"-":10,",":68}},"\u0444":{"d":"313,-127v0,68,-53,105,-126,107r0,20r-50,0r0,-20v-69,-3,-125,-37,-125,-107v0,-69,54,-104,125,-107r0,-20r50,0r0,20v70,3,126,36,126,107xm137,-195v-40,2,-72,24,-72,67v0,44,30,67,72,70r0,-137xm187,-58v70,7,99,-93,43,-125v-12,-7,-27,-11,-43,-12r0,137","w":324,"k":{"\u045e":15,"\u0459":10,"\u044f":7,"\u044a":11,"\u0447":2,"\u0445":17,"\u0443":15,"\u0442":12,"\u043b":11,"\u0437":8,"\u0436":19,"\u0434":10,"\u0433":3}},"\u0445":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r91,135r-60,0r-61,-93r-62,93r-57,0","w":239,"k":{"\u045e":-10,"\u0454":11,"\u0444":17,"\u0441":11,"\u043e":11,"\u0437":-13,"\u0435":-1,"\u0430":-15}},"\u0446":{"d":"29,0r0,-254r52,0r0,210r117,0r0,-210r52,0r0,210r31,0r0,95r-51,0r0,-51r-201,0","w":281},"\u0447":{"d":"74,-254v4,53,-19,128,44,128v22,0,41,-6,55,-16r0,-112r52,0r0,254r-52,0r0,-100v-66,28,-159,19,-151,-68r0,-86r52,0","w":254},"\u0448":{"d":"29,0r0,-254r52,0r0,210r79,0r0,-210r52,0r0,210r78,0r0,-210r53,0r0,254r-314,0","w":371},"\u0449":{"d":"29,0r0,-254r52,0r0,210r79,0r0,-210r52,0r0,210r78,0r0,-210r53,0r0,210r30,0r0,95r-51,0r0,-51r-293,0","w":374},"\u044a":{"d":"62,0r0,-211r-61,0r0,-43r112,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-87,0xm190,-81v0,-41,-34,-47,-77,-44r0,87v42,3,77,-3,77,-43","w":257,"k":{"\u045e":23,"\u044a":22,"\u0447":9,"\u0443":23,"\u0442":28,"\u0435":6}},"\u044b":{"d":"29,0r0,-254r50,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43xm233,0r0,-254r53,0r0,254r-53,0","w":314},"\u044c":{"d":"29,0r0,-254r50,0r0,91v76,-6,129,15,129,82v0,54,-31,81,-93,81r-86,0xm156,-81v0,-42,-34,-47,-77,-44r0,87v42,3,77,-2,77,-43","w":216,"k":{"\u045e":20,"\u044a":18,"\u0447":6,"\u0443":20,"\u0442":25,"\u0441":-4,"\u0435":2}},"\u044d":{"d":"206,-127v0,107,-89,150,-200,125r0,-45v63,17,140,7,143,-61r-106,0r0,-43r106,0v-9,-62,-77,-75,-140,-56r0,-44v103,-27,197,20,197,124","w":219,"k":{"\u045e":13,"\u0459":2,"\u044f":7,"\u044a":5,"\u0447":2,"\u0443":13,"\u0442":6,"\u043b":2}},"\u044e":{"d":"239,5v-71,0,-119,-46,-124,-114r-34,0r0,109r-52,0r0,-254r52,0r0,98r35,0v9,-61,56,-103,123,-103v77,0,127,53,127,132v0,79,-50,132,-127,132xm310,-127v0,-53,-20,-91,-72,-91v-46,0,-69,40,-69,91v0,52,24,92,70,92v50,0,71,-39,71,-92","w":381,"k":{"\u045e":13,"\u0459":4,"\u044a":4,"\u0447":4,"\u0445":12,"\u0443":13,"\u0442":5,"\u043b":4,"\u0437":4,"\u0436":14}},"\u044f":{"d":"70,-108v-25,-12,-41,-31,-41,-68v0,-52,30,-78,91,-78r80,0r0,254r-51,0r0,-98r-29,0r-58,98r-59,0xm81,-176v0,38,30,42,68,40r0,-80v-38,-3,-68,5,-68,40","w":228},"\u0451":{"d":"29,0r0,-254r156,0r0,43r-104,0r0,60r99,0r0,43r-99,0r0,65r107,0r0,43r-159,0xm32,-303v0,-16,13,-29,30,-29v15,-1,28,14,28,30v0,16,-14,29,-29,29v-16,0,-30,-13,-29,-30xm124,-303v0,-16,12,-29,29,-29v15,0,29,13,29,29v0,15,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":204},"\u0452":{"d":"215,-56v0,-42,-12,-70,-50,-71v-18,0,-34,5,-49,15r0,112r-53,0r0,-211r-61,0r0,-43r204,0r0,43r-90,0r0,57v78,-40,155,8,155,98v0,80,-43,126,-126,116r0,-41v51,10,70,-24,70,-75","w":277},"\u0453":{"d":"29,0r0,-254r163,0r0,43r-111,0r0,211r-52,0xm75,-278r49,-49r67,0r-65,49r-51,0","w":194,"k":{"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-9,"\u0444":12,"\u0441":5,"\u043e":4,"\u043b":11,"\u0434":11,";":29,":":29,".":37,",":37}},"\u0454":{"d":"14,-127v0,-104,93,-151,197,-124r0,44v-63,-18,-132,-7,-140,56r105,0r0,43r-106,0v6,66,78,79,144,61r0,45v-109,24,-200,-17,-200,-125","w":219},"\u0455":{"d":"184,-72v0,79,-99,87,-167,67r0,-43v44,17,134,21,111,-38v-31,-31,-115,-34,-115,-99v0,-69,91,-86,159,-65r0,40v-43,-17,-140,-11,-98,42v40,23,110,32,110,96","w":200},"\u0456":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u0457":{"d":"29,0r0,-254r52,0r0,254r-52,0xm-12,-303v0,-15,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-30,-13,-29,-29xm63,-303v0,-16,13,-29,30,-29v15,0,29,14,29,29v0,15,-13,29,-30,29v-17,0,-29,-13,-29,-29","w":110},"\u0458":{"d":"150,-254v-6,112,35,258,-94,258v-14,0,-32,-1,-51,-4r0,-44v47,12,93,10,93,-49r0,-161r52,0","w":177},"\u0459":{"d":"187,-210r-83,0v-5,104,4,218,-104,212r0,-42v46,-3,46,-48,49,-107r5,-107r183,0r0,91v75,-5,125,16,125,82v0,54,-31,81,-93,81r-82,0r0,-210xm310,-81v0,-39,-32,-47,-73,-44r0,87v41,3,73,-5,73,-43","w":370,"k":{"\u045e":20,"\u044a":18,"\u0447":5,"\u0443":20,"\u0442":25}},"\u045a":{"d":"29,0r0,-254r52,0r0,97r112,0r0,-97r51,0r0,97v72,-5,124,14,124,76v0,54,-31,81,-93,81r-82,0r0,-119r-112,0r0,119r-52,0xm316,-81v0,-37,-34,-40,-72,-38r0,81v40,3,72,-5,72,-43","w":376,"k":{"\u045e":22,"\u0454":-4,"\u044a":19,"\u0447":7,"\u0443":22,"\u0442":27,"\u0441":-4,"\u0435":2}},"\u045b":{"d":"215,0v-3,-54,18,-127,-44,-127v-23,0,-41,5,-55,15r0,112r-53,0r0,-211r-61,0r0,-43r204,0r0,43r-90,0r0,57v64,-29,151,-17,151,68r0,86r-52,0","w":286},"\u045c":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r120,137r-69,0r-104,-120r0,120r-52,0xm95,-278r49,-49r67,0r-65,49r-51,0","w":250,"k":{"\u045e":-11,"\u0454":16,"\u0444":22,"\u0441":16,"\u043e":17,"\u0437":-14,"\u0435":-2,"\u0431":-2,"\u0430":-17}},"\u045e":{"d":"55,0r39,-74r-94,-180r57,0r64,134r65,-134r55,0r-134,254r-52,0xm51,-327r35,0v6,24,62,24,69,0r35,0v-5,31,-28,47,-70,47v-42,0,-64,-16,-69,-47","w":238,"k":{"\u0454":12,"\u044f":10,"\u044a":-13,"\u0447":-7,"\u0444":14,"\u0442":-15,"\u0441":12,"\u043e":11,"\u043b":9,"\u0437":-13,"\u0435":-3,"\u0434":9,"\u0430":28,";":47,":":47,".":68,",":68}},"\u045f":{"d":"29,0r0,-254r52,0r0,210r117,0r0,-210r52,0r0,254r-85,0r0,51r-51,0r0,-51r-85,0","w":279},"\u0490":{"d":"29,0r0,-254r112,0r0,-48r51,0r0,91r-111,0r0,211r-52,0","w":194,"k":{"\u045e":-14,"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-14,"\u0447":-4,"\u0445":-9,"\u0444":12,"\u0443":-14,"\u0442":-13,"\u0441":5,"\u043e":4,"\u043b":11,"\u0437":-10,"\u0436":-5,"\u0434":11,"\u0430":27,"\u042f":3,"\u042a":-9,"\u0427":-4,"\u0424":12,"\u0423":-14,"\u0422":-13,"\u0421":5,"\u041e":4,"\u041b":11,"\u0414":11,"\u040e":-14,"\u040b":-13,"\u0409":11,"\u0404":6,";":24,":":24,".":37,",":37}},"\u0491":{"d":"29,0r0,-254r112,0r0,-48r51,0r0,91r-111,0r0,211r-52,0","w":194,"k":{"\u0459":11,"\u0454":6,"\u044f":3,"\u044a":-9,"\u0444":12,"\u0441":5,"\u043e":4,"\u043b":11,"\u0434":11,";":29,":":29,".":37,",":37}},"\u0492":{"d":"29,0r0,-108r-26,0r0,-37r26,0r0,-109r163,0r0,43r-111,0r0,66r63,0r0,37r-63,0r0,108r-52,0","w":194,"k":{"\u042a":-11,";":25,":":25,".":40,",":40}},"\u0493":{"d":"29,0r0,-108r-26,0r0,-37r26,0r0,-109r163,0r0,43r-111,0r0,66r63,0r0,37r-63,0r0,108r-52,0","w":194,"k":{"\u044a":-11,";":29,":":29,".":40,",":40}},"\u0496":{"d":"299,0r-72,-109r-21,0r0,109r-50,0r0,-109r-22,0r-72,109r-64,0r99,-138r-80,-116r60,0r61,98r18,0r0,-98r50,0r0,98r17,0r61,-98r60,0r-79,116r67,94r32,0r0,95r-51,0r0,-51r-14,0","w":364},"\u0497":{"d":"299,0r-72,-109r-21,0r0,109r-50,0r0,-109r-22,0r-72,109r-64,0r99,-138r-80,-116r60,0r61,98r18,0r0,-98r50,0r0,98r17,0r61,-98r60,0r-79,116r67,94r32,0r0,95r-51,0r0,-51r-14,0","w":364},"\u049a":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r82,93r38,0r0,95r-51,0r0,-51r-18,0r-104,-120r0,120r-52,0","w":255},"\u049b":{"d":"29,0r0,-254r52,0r0,109r100,-109r61,0r-108,117r82,93r38,0r0,95r-51,0r0,-51r-18,0r-104,-120r0,120r-52,0","w":255},"\u049c":{"d":"29,0r0,-254r52,0r0,98r11,0r0,-52r31,0v2,16,-4,40,2,52r65,-98r60,0r-84,116r104,138r-65,0v-28,-35,-51,-76,-82,-109r0,52r-31,0r0,-52r-11,0r0,109r-52,0","w":265},"\u049d":{"d":"29,0r0,-254r52,0r0,98r11,0r0,-52r31,0v2,16,-4,40,2,52r65,-98r60,0r-84,116r104,138r-65,0v-28,-35,-51,-76,-82,-109r0,52r-31,0r0,-52r-11,0r0,109r-52,0","w":265},"\u04a2":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,210r31,0r0,95r-51,0r0,-51r-32,0r0,-109r-117,0r0,109r-52,0","w":281},"\u04a3":{"d":"29,0r0,-254r52,0r0,98r117,0r0,-98r52,0r0,210r31,0r0,95r-51,0r0,-51r-32,0r0,-109r-117,0r0,109r-52,0","w":281},"\u04ae":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u042a":-9,";":40,":":40,".":62,",":62}},"\u04af":{"d":"94,0r0,-90r-94,-164r57,0r64,119r65,-119r55,0r-94,164r0,90r-53,0","w":240,"k":{"\u044a":-9,";":40,":":40,".":62,",":62}},"\u04b0":{"d":"93,0r0,-56r-46,0r0,-37r44,0r-91,-161r57,0r63,119r66,-119r54,0r-93,161r46,0r0,37r-48,0r0,56r-52,0","w":240,"k":{"\u042a":-9,";":32,":":32,".":43,",":43}},"\u04b1":{"d":"93,0r0,-56r-46,0r0,-37r44,0r-91,-161r57,0r63,119r66,-119r54,0r-93,161r46,0r0,37r-48,0r0,56r-52,0","w":240,"k":{"\u044a":-9,";":29,":":29,".":43,",":43}},"\u04b2":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r61,91r30,0r0,95r-51,0r0,-51r-9,0r-61,-93r-62,93r-57,0","w":240},"\u04b3":{"d":"0,0r91,-133r-81,-121r59,0r52,80r54,-80r55,0r-81,119r61,91r30,0r0,95r-51,0r0,-51r-9,0r-61,-93r-62,93r-57,0","w":240},"\u04b8":{"d":"109,-86v-57,-1,-87,-21,-87,-82r0,-86r52,0v5,48,-19,124,35,127r0,-61r31,0r0,59v14,-3,25,-7,33,-13r0,-112r52,0r0,254r-52,0r0,-100v-11,5,-22,8,-33,11r0,52r-31,0r0,-49","w":254},"\u04b9":{"d":"109,-86v-57,-1,-87,-21,-87,-82r0,-86r52,0v5,48,-19,124,35,127r0,-61r31,0r0,59v14,-3,25,-7,33,-13r0,-112r52,0r0,254r-52,0r0,-100v-11,5,-22,8,-33,11r0,52r-31,0r0,-49","w":254},"\u04ba":{"d":"180,0v-4,-53,19,-127,-44,-127v-23,0,-41,5,-55,15r0,112r-52,0r0,-254r52,0r0,100v64,-28,160,-19,151,68r0,86r-52,0","w":254},"\u04bb":{"d":"180,0v-4,-53,19,-127,-44,-127v-23,0,-41,5,-55,15r0,112r-52,0r0,-254r52,0r0,100v64,-28,160,-19,151,68r0,86r-52,0","w":254},"\u04c0":{"d":"29,0r0,-254r52,0r0,254r-52,0","w":110},"\u04d8":{"d":"141,5v-83,0,-134,-63,-124,-152r194,0v-5,-72,-75,-81,-155,-64v1,-13,-2,-31,1,-42v117,-23,211,13,211,126v0,79,-49,132,-127,132xm73,-105v0,63,78,93,118,49v11,-13,18,-29,20,-49r-138,0","w":284},"\u04d9":{"d":"141,5v-83,0,-134,-63,-124,-152r194,0v-5,-72,-75,-81,-155,-64v1,-13,-2,-31,1,-42v117,-23,211,13,211,126v0,79,-49,132,-127,132xm73,-105v0,63,78,93,118,49v11,-13,18,-29,20,-49r-138,0","w":284},"\u04e8":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-147v1,-65,-87,-101,-125,-46v-9,12,-13,27,-16,46r141,0xm72,-105v0,66,86,97,124,45v9,-12,14,-27,16,-45r-140,0","w":284},"\u04e9":{"d":"16,-127v0,-79,50,-132,127,-132v77,0,125,54,125,132v0,78,-49,132,-126,132v-78,0,-126,-54,-126,-132xm213,-147v1,-65,-87,-101,-125,-46v-9,12,-13,27,-16,46r141,0xm72,-105v0,66,86,97,124,45v9,-12,14,-27,16,-45r-140,0","w":284},"\u0591":{"d":"35,68v-1,-21,8,-28,22,-34r0,-21r20,0r0,21v14,5,24,13,23,34r-20,0v1,-8,-7,-12,-13,-13v-6,0,-12,4,-12,13r-20,0","w":134},"\u0592":{"d":"43,-230r0,28r-31,0r0,-28r31,0xm123,-230r0,28r-31,0r0,-28r31,0xm83,-241r0,27r-31,0r0,-27r31,0","w":134},"\u0593":{"d":"96,-215r-55,22r0,-16r14,-5r-11,0r-4,-13r14,-6r-10,0r-4,-13r49,-18r10,11r-16,7r13,0r0,13r-13,5r13,0r0,13","w":139},"\u0594":{"d":"83,-263r0,27r-31,0r0,-27r31,0xm83,-230r0,27r-31,0r0,-27r31,0","w":134},"\u0595":{"d":"58,-204r-20,0r0,-57r20,0r0,57xm99,-262r0,27r-31,0r0,-27r31,0xm99,-229r0,27r-31,0r0,-27r31,0","w":134},"\u0596":{"d":"55,8v1,30,12,40,42,41r0,20v-43,-1,-58,-19,-60,-61r18,0","w":134},"\u0597":{"d":"92,-219r-22,21r-22,-21r22,-23","w":139},"\u0598":{"d":"78,-225v2,7,10,5,11,0v0,-2,-3,-3,-9,-4r0,-20v36,-2,36,49,4,49v-14,0,-24,-8,-24,-24v-3,-5,-10,-7,-12,0v0,2,3,3,9,4r0,20v-18,0,-27,-8,-27,-24v0,-15,10,-25,24,-25v13,0,24,8,24,24","w":134},"\u0599":{"d":"60,-200r-18,0v0,-27,-14,-41,-42,-41r0,-20v42,1,59,20,60,61","w":134},"\u059a":{"d":"134,59r-17,15r-35,-34r35,-33r17,14r-19,19","w":139},"\u059b":{"d":"37,49v28,0,42,-13,42,-41r18,0v-2,41,-19,61,-60,61r0,-20xm66,8r0,27r-31,0r0,-27r31,0","w":134},"\u059c":{"d":"97,-241v-27,0,-42,14,-42,41r-18,0v1,-42,19,-60,60,-61r0,20","w":134},"\u059d":{"d":"134,-241v-28,1,-41,12,-41,41r-18,0v1,-43,18,-59,59,-61r0,20","w":134},"\u059e":{"d":"75,-197v0,-25,8,-38,22,-48v-26,0,-39,13,-40,38r-18,0v2,-40,19,-56,59,-57r0,18v9,-5,21,-9,36,-9r0,20v-27,1,-40,11,-41,38r-18,0","w":134},"\u059f":{"d":"130,-234v0,18,-14,28,-33,24r-14,13r-15,-14v5,-7,17,-10,14,-22v0,-15,10,-26,24,-26v14,1,24,11,24,25xm98,-234v0,3,4,9,9,8v4,1,8,-5,8,-8v0,-4,-5,-9,-9,-8v-4,-1,-8,5,-8,8xm28,-259v17,0,26,13,24,33r14,15r-15,14v-10,-19,-48,-6,-47,-37v0,-15,10,-25,24,-25xm20,-233v0,3,4,9,9,8v4,1,9,-4,8,-8v1,-4,-4,-9,-8,-9v-4,0,-9,5,-9,9","w":134},"\u05a0":{"d":"133,-235v0,17,-15,29,-34,24r-14,13r-15,-14v5,-7,17,-11,14,-23v0,-14,10,-25,24,-25v14,-1,25,11,25,25xm117,-234v1,-4,-3,-10,-8,-9v-4,-1,-9,4,-9,8v0,9,17,13,17,1","w":137},"\u05a1":{"d":"68,-244v16,-4,22,-6,29,-16r24,0v-13,26,-31,33,-65,37r-13,23r-22,0r34,-60r22,0","w":141},"\u05a3":{"d":"84,67r-51,0r0,-23r30,0r0,-29r21,0r0,52","w":134},"\u05a4":{"d":"94,59r-18,15r-34,-34r34,-33r18,14r-19,19","w":140},"\u05a5":{"d":"37,49v27,-1,42,-12,42,-41r18,0v-1,42,-20,59,-60,61r0,-20","w":134},"\u05a6":{"d":"20,44v28,0,41,-9,41,-37r18,0v-1,24,-7,39,-20,47v26,0,38,-11,38,-37r18,0v-1,41,-19,54,-60,56r0,-17v-10,5,-21,7,-35,7r0,-19","w":134},"\u05a7":{"d":"64,25v10,8,31,5,31,25v0,28,-41,25,-53,9r15,-15v7,6,13,11,20,6v-12,-4,-35,-9,-31,-25v-2,-27,43,-24,50,-5r-15,11v-7,-6,-10,-9,-17,-6","w":138},"\u05a8":{"d":"79,-200v0,-29,-14,-41,-42,-41r0,-20v41,1,59,19,60,61r-18,0","w":134},"\u05a9":{"d":"28,-260v17,0,26,13,24,33r14,15r-15,14v-9,-20,-47,-4,-47,-37v0,-15,10,-25,24,-25xm30,-226v9,-2,8,-17,-2,-17v-9,1,-12,19,2,17","w":137},"\u05aa":{"d":"68,28v6,0,13,-5,12,-13r20,0v1,20,-9,30,-23,34r0,21r-20,0r0,-21v-14,-6,-22,-13,-22,-34r20,0v-1,9,6,13,13,13","w":134},"\u05ab":{"d":"94,-214r-18,15r-34,-34r34,-33r18,15r-19,18","w":140},"\u05ac":{"d":"84,-205r-51,0r0,-23r30,0r0,-29r21,0r0,52","w":134},"\u05ad":{"d":"93,8v1,28,14,40,41,41r0,20v-40,-1,-59,-19,-59,-61r18,0","w":134},"\u05ae":{"d":"48,-227v0,10,10,8,12,2v0,-2,-4,-3,-10,-4r0,-20v36,-2,36,49,4,49v-13,0,-23,-10,-24,-22v0,-10,-9,-8,-12,-2v2,2,6,4,10,4r0,20v-37,2,-36,-49,-4,-49v13,0,24,11,24,22","w":134},"\u05af":{"d":"45,-223v0,-14,9,-23,23,-23v13,0,21,10,21,23v0,14,-10,23,-22,23v-12,0,-22,-9,-22,-23xm67,-232v-6,-1,-9,4,-9,9v0,6,4,9,10,9v5,1,9,-4,9,-9v0,-5,-4,-10,-10,-9","w":134},"\u05b0":{"d":"82,41r0,27r-30,0r0,-27r30,0xm82,11r0,27r-30,0r0,-27r30,0","w":134},"\u05b1":{"d":"41,11r0,27r-30,0r0,-27r30,0xm82,11r0,27r-31,0r0,-27r31,0xm62,41r0,27r-31,0r0,-27r31,0xm124,41r0,27r-31,0r0,-27r31,0xm124,11r0,27r-31,0r0,-27r31,0","w":134},"\u05b2":{"d":"77,11r0,27r-57,0r0,-27r57,0xm112,41r0,27r-31,0r0,-27r31,0xm112,11r0,27r-31,0r0,-27r31,0","w":134},"\u05b3":{"d":"60,38r0,19r-24,0r0,-19r-20,0r0,-27r64,0r0,27r-20,0xm114,41r0,27r-30,0r0,-27r30,0xm114,11r0,27r-30,0r0,-27r30,0","w":134},"\u05b4":{"d":"85,12r0,37r-35,0r0,-37r35,0","w":134},"\u05b5":{"d":"60,11r0,27r-30,0r0,-27r30,0xm105,11r0,27r-30,0r0,-27r30,0","w":134},"\u05b6":{"d":"60,11r0,27r-31,0r0,-27r31,0xm105,11r0,27r-31,0r0,-27r31,0xm82,41r0,27r-30,0r0,-27r30,0","w":134},"\u05b7":{"d":"98,11r0,27r-61,0r0,-27r61,0","w":134},"\u05b8":{"d":"79,38r0,25r-25,0r0,-25r-24,0r0,-27r73,0r0,27r-24,0","w":134},"\u05b9":{"d":"85,-239r0,37r-36,0r0,-37r36,0","w":134},"\u05ba":{"d":"50,0r0,-38r35,0r0,38r-35,0","w":134},"\u05bb":{"d":"120,41r0,27r-31,0r0,-27r31,0xm45,11r0,27r-30,0r0,-27r30,0xm83,26r0,27r-31,0r0,-27r31,0","w":134},"\u05bc":{"d":"83,-111r0,27r-31,0r0,-27r31,0","w":134},"\u05bd":{"d":"82,12r0,58r-30,0r0,-58r30,0","w":134},"\u05be":{"d":"117,-192r0,31r-99,0r0,-31r99,0","w":134},"\u05bf":{"d":"93,-205r-51,0r0,-22r51,0r0,22","w":134},"\u05c0":{"d":"60,29r-34,0r0,-248r34,0r0,248","w":85},"\u05c1":{"d":"82,-230r0,27r-31,0r0,-27r31,0","w":134},"\u05c2":{"d":"83,-230r0,28r-31,0r0,-28r31,0","w":134},"\u05c3":{"d":"63,-149r-38,0r0,-42r38,0r0,42xm63,0r-38,0r0,-43r38,0r0,43","w":88},"\u05c4":{"d":"83,-230r0,27r-31,0r0,-27r31,0","w":134},"\u05d0":{"d":"31,0v-1,-61,5,-93,41,-121r-49,-75r47,0r60,92v9,-18,8,-61,8,-92r39,0v1,54,-1,96,-27,123r48,73r-49,0r-60,-93v-20,20,-17,54,-17,93r-41,0","w":205},"\u05d1":{"d":"109,-36v-2,-57,15,-132,-51,-124r-40,0r0,-36v74,-4,131,7,131,75r0,85r28,0r0,36r-163,0r0,-36r95,0","w":187},"\u05d2":{"d":"90,-115v-1,-19,6,-46,-15,-45r-62,0r0,-37v63,-1,117,-7,117,61v0,55,-3,80,8,136r-41,0v-4,-21,-7,-42,-7,-64r-80,71r0,-48","w":155},"\u05d3":{"d":"10,-196r163,0r0,36r-35,0r0,160r-38,0r0,-160r-90,0r0,-36","w":184},"\u05d4":{"d":"137,0v-6,-62,25,-164,-45,-160r-67,0r0,-36v81,-2,151,-6,151,80r0,116r-39,0xm65,-133r0,133r-40,0r0,-119","w":201},"\u05d5":{"d":"9,-196r99,0r0,196r-39,0r0,-160r-60,0r0,-36","w":133},"\u05d6":{"d":"60,0v2,-59,-10,-129,21,-160r-71,0r0,-36r133,0r0,36r-19,0v-38,21,-20,103,-24,160r-40,0","w":151},"\u05d7":{"d":"138,0v-7,-61,25,-163,-44,-160r-27,0r0,160r-40,0r0,-196v81,-2,151,-4,151,80r0,116r-40,0","w":202},"\u05d8":{"d":"98,4v-92,3,-71,-109,-73,-198r40,0v6,61,-21,160,37,160v35,0,42,-30,43,-70v1,-43,-18,-62,-63,-57r2,-36v70,-5,104,22,102,92v-1,70,-21,107,-88,109","w":207},"\u05d9":{"d":"8,-196r100,0r0,104r-40,0r0,-68r-60,0r0,-36","w":132},"\u05da":{"d":"9,-196r148,0r0,251r-39,0r0,-215r-109,0r0,-36","w":182},"\u05db":{"d":"174,-98v0,63,-21,98,-84,98r-74,0r0,-36r66,0v39,0,50,-22,51,-62v0,-40,-12,-62,-50,-62r-67,0r0,-36r75,0v61,0,83,36,83,98","w":194},"\u05dc":{"d":"51,-252r0,53r117,0r0,34r-71,165r-45,0r70,-163r-110,0r0,-89r39,0","w":185},"\u05dd":{"d":"100,-196v114,-15,83,101,87,196r-162,0r0,-196r75,0xm148,-36v-4,-55,19,-132,-48,-124r-35,0r0,124r83,0","w":212},"\u05de":{"d":"150,-93v0,-52,-26,-88,-62,-60v-20,23,-18,106,-22,153r-39,0v5,-84,16,-107,-16,-194r39,0r5,20v12,-20,24,-25,60,-26v59,-1,78,47,76,107v-2,55,-5,91,-54,93r-38,0r0,-35v43,3,51,-13,51,-58","w":214},"\u05df":{"d":"75,-112v2,-43,-24,-51,-66,-49r0,-36v69,-3,106,15,106,81r0,171r-40,0r0,-167","w":139},"\u05e0":{"d":"81,-36v-8,-47,25,-134,-38,-124r-26,0r0,-36v67,-2,104,6,104,75r0,121r-107,0r0,-36r67,0","w":146},"\u05e1":{"d":"97,4v-97,0,-76,-111,-77,-201r88,0v54,1,79,37,78,96v-1,64,-21,105,-89,105xm145,-103v0,-49,-31,-63,-85,-57v2,54,-14,128,42,127v33,0,43,-34,43,-70","w":206},"\u05e2":{"d":"179,-197v1,78,5,151,-53,179r-109,52r0,-41r36,-18r-38,-172r41,0r31,154v32,-13,53,-27,53,-76r0,-78r39,0","w":198},"\u05e3":{"d":"83,-73v-49,3,-67,-9,-67,-57r0,-67r75,0v128,-13,77,147,87,252r-40,0r0,-168v2,-47,-35,-51,-82,-48v1,26,-7,59,27,53r0,35","w":201},"\u05e4":{"d":"89,-74v-49,3,-68,-8,-68,-57r0,-65r83,0v55,-1,75,45,75,100v-1,59,-22,96,-82,96r-76,0r0,-36r67,0v38,0,49,-22,50,-60v1,-49,-23,-71,-77,-64v2,26,-8,59,28,51r0,35","w":198},"\u05e5":{"d":"113,-112v30,-9,26,-45,26,-84r39,0v3,69,-3,107,-59,120r0,131r-40,0v-2,-75,5,-149,-29,-196r-40,-55r52,0v18,24,44,59,51,84","w":199},"\u05e6":{"d":"120,-118v25,-12,24,-39,23,-78r40,0v2,57,-1,87,-38,111r38,50r0,35r-155,0r0,-36r102,0r-120,-160r50,0","w":200},"\u05e7":{"d":"179,-197r0,34r-67,163r-47,0r67,-161r-107,0r0,-36r154,0xm65,-131r0,186r-40,0r0,-173","w":195},"\u05e8":{"d":"123,0v-6,-62,25,-164,-46,-160r-66,0r0,-36v81,-2,152,-6,152,80r0,116r-40,0","w":188},"\u05e9":{"d":"112,-34v88,0,47,-94,56,-162r40,0r0,112v-2,72,-21,88,-92,88v-73,0,-92,-21,-92,-87r0,-113r40,0r0,99v46,8,29,-57,33,-99r39,0v0,71,4,137,-71,130v3,25,18,32,47,32","w":232},"\u05ea":{"d":"146,-113v3,-44,-23,-50,-65,-47v-6,72,30,177,-69,160r0,-35v20,0,29,0,29,-21r0,-104r-29,0r0,-36r108,0v94,-5,59,114,66,196r-40,0r0,-113","w":211},"\u05f0":{"d":"11,-196r73,0r0,196r-39,0r0,-160r-34,0r0,-36xm86,-196r73,0r0,196r-40,0r0,-160r-33,0r0,-36","w":183},"\u05f1":{"d":"11,-196r73,0r0,104r-39,0r0,-68r-34,0r0,-36xm86,-196r73,0r0,196r-40,0r0,-160r-33,0r0,-36","w":183},"\u05f2":{"d":"86,-196r73,0r0,104r-40,0r0,-68r-33,0r0,-36xm11,-196r73,0r0,104r-39,0r0,-68r-34,0r0,-36","w":182},"\u05f3":{"d":"97,-232r-44,91r-35,0r26,-91r53,0","w":94},"\u05f4":{"d":"164,-232r-42,92r-35,0r24,-92r53,0xm93,-232r-42,92r-35,0r24,-92r53,0","w":164},"\u1e84":{"d":"70,0r-70,-254r55,0r45,194r50,-194r53,0r50,194r45,-194r53,0r-70,254r-56,0r-50,-185r-49,185r-56,0xm100,-303v0,-15,13,-29,30,-29v15,0,29,15,29,30v1,15,-15,29,-30,29v-16,0,-30,-13,-29,-30xm192,-303v0,-16,13,-29,30,-29v15,0,28,14,28,29v0,16,-13,30,-29,30v-16,0,-30,-13,-29,-30","w":350},"\u1ffd":{"d":"121,-267r-45,54r-26,0r26,-54r45,0","w":145},"\u1ffe":{"d":"71,-193v-55,-2,-57,-54,-54,-115r54,0r0,52r-31,0v-1,28,9,38,31,43r0,20","w":203},"\u2000":{"w":180},"\u2001":{},"\u2002":{"w":180},"\u2003":{},"\u2004":{"w":120},"\u2005":{"w":90},"\u2006":{"w":59},"\u2007":{"w":100},"\u2008":{"w":100},"\u2009":{"w":1},"\u200a":{"w":0},"\u200b":{"w":200},"\u200c":{"w":166},"\u200d":{"w":200},"\u200e":{"w":120},"\u200f":{"w":120},"\u2010":{"d":"14,-107r0,-48r120,0r0,48r-120,0","w":148},"\u2011":{"d":"14,-107r0,-48r120,0r0,48r-120,0","w":148},"\u2012":{"d":"0,-107r0,-42r180,0r0,42r-180,0","w":180},"\u2013":{"d":"0,-107r0,-42r180,0r0,42r-180,0","w":180},"\u2014":{"d":"0,-107r0,-42r360,0r0,42r-360,0"},"\u2015":{"d":"0,-107r0,-42r360,0r0,42r-360,0"},"\u2016":{"d":"128,-264r30,0r0,270r-30,0r0,-270xm201,-264r31,0r0,270r-31,0r0,-270"},"\u2017":{"d":"208,93r0,25r-216,0r0,-25r216,0xm208,43r0,25r-216,0r0,-25r216,0","w":200},"\u2018":{"d":"57,-123v-74,-8,-15,-98,1,-131r35,0r-27,57v41,6,36,79,-9,74","w":113},"\u2019":{"d":"57,-259v73,9,16,98,-1,131r-35,0r27,-57v-41,-6,-37,-80,9,-74","w":113},"\u201a":{"d":"57,-70v73,9,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-40,38,-37","w":113},"\u201b":{"d":"57,-259v46,0,50,68,9,74r27,57r-35,0v-12,-27,-38,-62,-39,-93v-1,-22,17,-38,38,-38","w":100},"\u201c":{"d":"57,-123v-74,-8,-15,-98,1,-131r35,0r-27,57v41,6,36,79,-9,74xm153,-123v-73,-8,-17,-99,0,-131r36,0r-27,57v39,7,35,79,-9,74","w":209},"\u201d":{"d":"57,-259v73,9,16,98,-1,131r-35,0r27,-57v-41,-6,-37,-80,9,-74xm153,-259v71,8,16,98,-1,131r-35,0r27,-57v-41,-6,-37,-79,9,-74","w":209},"\u201e":{"d":"57,-70v73,9,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-40,38,-37xm153,-70v71,8,16,98,-1,131r-35,0r27,-57v-15,-3,-29,-18,-29,-37v0,-21,16,-39,38,-37","w":209},"\u201f":{"d":"152,-259v45,0,51,68,10,74r27,57r-36,0v-11,-27,-38,-62,-38,-93v0,-21,16,-38,37,-38xm57,-259v46,0,50,68,9,74r27,57r-35,0v-12,-27,-38,-62,-39,-93v-1,-22,17,-38,38,-38","w":180},"\u2020":{"d":"76,0r0,-136r-62,0r0,-43r62,0r0,-75r45,0r0,75r62,0r0,43r-62,0r0,136r-45,0","w":197},"\u2021":{"d":"74,0r0,-54r-60,0r0,-43r60,0r0,-60r-60,0r0,-43r60,0r0,-54r46,0r0,54r59,0r0,43r-59,0r0,60r59,0r0,43r-59,0r0,54r-46,0","w":193},"\u2022":{"d":"12,-130v0,-28,23,-52,52,-52v28,0,51,23,51,53v0,28,-22,51,-52,51v-28,0,-51,-24,-51,-52","w":127},"\u2023":{"d":"18,-169r90,57r-90,58r0,-115","w":126},"\u2025":{"d":"149,-53r0,53r-54,0r0,-53r54,0xm270,-53r0,53r-54,0r0,-53r54,0"},"\u2026":{"d":"22,-32v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,18,-17,37,-38,37v-20,0,-39,-19,-38,-37xm142,-32v0,-20,17,-38,38,-38v20,0,38,17,38,38v0,18,-17,37,-38,37v-20,0,-39,-19,-38,-37xm262,-32v0,-20,17,-38,38,-38v20,0,38,18,38,38v1,18,-17,37,-38,37v-20,0,-38,-18,-38,-37"},"\u2027":{"d":"196,-115r0,52r-54,0r0,-52r54,0"},"\u2028":{"w":100},"\u2029":{"w":100},"\u202a":{"w":100},"\u202b":{"w":100},"\u202c":{"w":100},"\u202d":{"w":100},"\u202e":{"w":100},"\u2030":{"d":"221,-75v0,-47,22,-80,68,-80v44,0,68,34,68,81v0,47,-24,79,-69,79v-45,0,-68,-32,-67,-80xm288,-125v-22,0,-29,24,-29,50v0,33,9,50,29,50v20,0,31,-17,31,-51v0,-32,-10,-49,-31,-49xm380,-75v0,-48,23,-80,69,-80v43,0,67,33,67,81v0,47,-24,79,-68,79v-45,0,-68,-32,-68,-80xm447,-125v-40,1,-40,101,1,100v20,0,30,-17,30,-51v0,-32,-10,-49,-31,-49xm99,0r134,-254r44,0r-134,254r-44,0xm19,-179v0,-48,23,-80,69,-80v44,-1,67,33,67,81v0,46,-24,79,-68,79v-45,0,-68,-32,-68,-80xm86,-229v-41,1,-40,101,1,100v20,0,30,-17,30,-51v0,-32,-10,-49,-31,-49","w":535},"\u2031":{"d":"4,-213v0,-30,27,-53,55,-53v27,0,54,24,53,53v0,29,-25,54,-54,54v-29,0,-54,-25,-54,-54xm83,-212v0,-14,-12,-25,-26,-25v-13,0,-24,12,-24,25v0,14,12,25,25,25v13,0,25,-11,25,-25xm179,-266r24,0r-152,274r-24,0xm116,-45v0,-30,26,-54,55,-54v27,0,53,25,53,54v0,29,-25,53,-54,53v-29,0,-54,-24,-54,-53xm195,-45v0,-14,-12,-25,-26,-25v-14,0,-25,12,-25,25v0,13,12,25,26,25v14,0,25,-11,25,-25xm249,-45v0,-29,25,-54,54,-54v27,0,53,24,53,54v0,30,-25,53,-53,53v-28,0,-54,-24,-54,-53xm328,-45v0,-14,-12,-25,-26,-25v-14,0,-25,12,-25,25v0,13,12,25,26,25v14,0,25,-11,25,-25xm369,-45v0,-30,26,-53,55,-53v27,0,53,24,53,53v0,30,-25,54,-54,54v-29,0,-54,-25,-54,-54xm448,-44v0,-14,-11,-25,-25,-25v-14,0,-25,11,-25,25v0,14,12,25,25,25v13,0,25,-11,25,-25","w":480},"\u2032":{"d":"82,-247r-26,97r-26,0r20,-97r32,0"},"\u2033":{"d":"69,-247r-27,97r-25,0r20,-97r32,0xm117,-247r-27,97r-25,0r20,-97r32,0"},"\u2035":{"d":"188,-247r32,0r20,97r-25,0"},"\u2039":{"d":"59,-55r-52,-72r52,-72r53,0r-51,72r51,72r-53,0","w":119},"\u203a":{"d":"7,-55r52,-72r-52,-72r53,0r52,72r-52,72r-53,0","w":119},"\u203b":{"d":"166,-125r-129,-127r10,-12r131,128r133,-128r11,12r-133,128r130,125r-12,12r-129,-126r-134,126r-12,-11xm148,-36v-1,-16,15,-30,31,-30v16,-1,29,14,29,31v0,16,-14,30,-30,30v-16,1,-30,-15,-30,-31xm236,-124v-1,-16,15,-30,31,-30v16,-1,30,14,30,30v1,17,-14,30,-31,30v-16,0,-30,-14,-30,-30xm148,-215v-1,-16,15,-30,31,-30v16,-1,29,14,29,30v0,16,-14,30,-30,30v-16,1,-30,-14,-30,-30xm56,-124v-1,-16,15,-30,31,-30v16,-1,30,14,30,30v1,17,-14,30,-31,30v-16,0,-30,-14,-30,-30"},"\u203c":{"d":"94,-261v3,70,-7,127,-15,186r-24,0v-8,-59,-18,-116,-15,-186r54,0xm94,-53r0,53r-54,0r0,-53r54,0xm204,-261v3,70,-7,127,-15,186r-24,0v-8,-59,-18,-116,-15,-186r54,0xm204,-53r0,53r-54,0r0,-53r54,0","w":229},"\u203d":{"d":"23,-173v-1,-54,23,-82,65,-93r0,-11r54,0r0,14v35,10,58,40,58,78v0,63,-67,54,-67,113r-45,0v0,-23,3,-31,10,-43v-4,-33,-12,-63,-10,-102v-11,9,-16,24,-16,44r-49,0xm142,-209v1,20,-2,36,-4,53v15,-12,16,-37,4,-53xm139,-53r0,53r-54,0r0,-53r54,0","w":229},"\u203e":{"d":"14,-275r0,-38r137,0r0,38r-137,0","w":165},"\u203f":{"d":"22,-5v47,52,167,53,214,0r18,20v-63,64,-187,64,-250,0","w":257},"\u2040":{"d":"233,-183v-49,-51,-165,-51,-215,0r-17,-19v63,-64,186,-64,249,0","w":257},"\u2041":{"d":"-4,51r80,-162r26,0r-53,107r29,55r-26,0r-16,-28r-14,28r-26,0","w":98},"\u2042":{"d":"35,-48r-35,-12r13,-22r28,24r-6,-37r25,0r-6,37r28,-24r13,22r-35,12r35,13r-13,22r-28,-24r6,37r-25,0r6,-37r-28,24r-13,-22xm173,-48r-36,-12r13,-22r29,24r-7,-37r26,0r-7,37r29,-24r13,22r-35,12r35,13r-13,22r-29,-24r7,37r-26,0r7,-37r-29,24r-13,-22xm104,-166r-35,-13r12,-22r29,24r-7,-37r26,0r-7,37r29,-24r13,22r-36,13r36,12r-13,23r-29,-25r7,37r-26,0r7,-37r-29,25r-12,-23","w":232},"\u2043":{"d":"100,-108r0,49r-90,0r0,-49r90,0","w":109},"\u2044":{"d":"-87,0r144,-254r43,0r-144,254r-43,0","w":13},"\u2045":{"d":"55,-106r37,0r0,26r-37,0r0,130r37,0r0,26r-71,0r0,-338r71,0r0,25r-37,0r0,131","w":100},"\u2046":{"d":"58,-106r0,-131r-37,0r0,-25r71,0r0,338r-71,0r0,-26r37,0r0,-130r-37,0r0,-26r37,0","w":100},"\u206a":{"w":100},"\u206b":{"w":100},"\u206c":{"w":100},"\u206d":{"w":100},"\u206e":{"w":100},"\u206f":{"w":100},"\u2070":{"d":"5,-178v0,-52,14,-80,58,-80v41,0,55,29,55,80v0,52,-14,81,-56,81v-42,0,-58,-30,-57,-81xm62,-125v32,4,22,-74,17,-95v-4,-8,-9,-12,-17,-12v-23,0,-22,22,-22,54v0,34,-1,50,22,53","w":126},"\u2074":{"d":"120,-163r0,27r-17,0r0,34r-34,0r0,-34r-65,0r0,-26r60,-93r39,0r0,92r17,0xm69,-163r0,-59r-38,59r38,0","w":126},"\u2075":{"d":"84,-153v4,-27,-35,-38,-44,-16r-31,0r15,-86r88,0r0,29r-66,0r-5,27v37,-20,77,4,77,46v0,56,-77,74,-105,35v-5,-7,-8,-16,-8,-26r34,0v0,12,7,19,21,19v17,0,25,-11,24,-28","w":126},"\u2076":{"d":"6,-175v0,-49,17,-82,61,-83v29,0,46,13,50,39r-32,0v-17,-27,-50,-7,-44,26v31,-26,78,-3,78,39v0,34,-22,57,-55,57v-42,-2,-59,-29,-58,-78xm86,-152v1,-17,-8,-25,-23,-26v-14,-1,-23,12,-23,27v0,14,9,26,23,26v14,0,23,-12,23,-27","w":126},"\u2077":{"d":"121,-230v-33,39,-52,66,-58,128r-34,0v8,-58,25,-91,55,-124r-79,0r0,-29r116,0r0,25","w":126},"\u2078":{"d":"62,-258v45,-6,72,51,34,73v47,20,19,96,-34,88v-53,7,-81,-68,-33,-88v-39,-22,-13,-78,33,-73xm85,-214v0,-12,-10,-18,-23,-18v-12,0,-22,6,-22,18v0,12,9,19,22,19v14,0,23,-6,23,-19xm86,-149v0,-14,-10,-23,-24,-23v-13,0,-25,9,-24,23v0,15,10,24,24,24v14,0,24,-9,24,-24","w":126},"\u2079":{"d":"61,-258v38,0,57,31,57,76v0,80,-61,107,-102,66v-6,-7,-8,-15,-8,-24r33,0v0,10,6,15,18,15v17,0,25,-13,25,-38v-30,29,-81,2,-79,-41v2,-32,24,-55,56,-54xm84,-204v0,-16,-8,-28,-24,-28v-14,0,-23,11,-22,27v0,16,7,27,22,27v15,0,24,-11,24,-26","w":126},"\u207a":{"d":"63,-209r17,0r0,46r45,0r0,15r-45,0r0,46r-17,0r0,-46r-45,0r0,-15r45,0r0,-46","w":142},"\u207b":{"d":"18,-163r107,0r0,15r-107,0r0,-15","w":142},"\u207c":{"d":"18,-179r107,0r0,15r-107,0r0,-15xm18,-146r107,0r0,16r-107,0r0,-16","w":142},"\u207d":{"d":"75,-258v-32,44,-34,136,0,180r-22,0v-42,-63,-41,-117,0,-180r22,0","w":82},"\u207e":{"d":"22,-78v33,-44,33,-135,0,-180r21,0v42,62,43,118,0,180r-21,0","w":82},"\u207f":{"d":"74,-186v-37,-1,-22,55,-25,90r-35,0r0,-115r35,0r0,14v23,-30,79,-21,79,29r0,72r-35,0v-5,-31,14,-89,-19,-90","w":140},"\u2080":{"d":"5,-76v0,-52,14,-80,58,-80v40,0,55,29,55,80v0,52,-14,81,-56,81v-42,0,-58,-30,-57,-81xm62,-23v33,4,22,-74,17,-95v-4,-8,-9,-12,-17,-12v-23,0,-22,22,-22,54v0,34,-1,50,22,53","w":126},"\u2081":{"d":"53,-104r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104","w":126},"\u2082":{"d":"118,-108v1,44,-50,53,-68,79r67,0r0,29r-111,0v-4,-62,73,-59,78,-107v2,-14,-8,-23,-22,-23v-16,0,-22,13,-21,32r-33,0v-2,-38,17,-59,56,-58v35,0,53,15,54,48","w":126},"\u2083":{"d":"62,-23v13,1,22,-10,22,-22v0,-17,-15,-26,-36,-22r0,-23v36,8,41,-40,12,-40v-16,0,-20,8,-20,27r-32,0v1,-36,18,-50,53,-53v47,-4,71,50,34,74v45,22,20,87,-34,87v-35,0,-55,-18,-56,-52r34,0v1,16,8,24,23,24","w":126},"\u2084":{"d":"120,-60r0,27r-17,0r0,33r-34,0r0,-33r-65,0r0,-27r60,-93r39,0r0,93r17,0xm69,-60r0,-60r-38,60r38,0","w":126},"\u2085":{"d":"84,-50v4,-26,-34,-38,-44,-17r-31,0r15,-86r88,0r0,29r-66,0r-5,28v36,-22,77,4,77,45v0,56,-77,74,-105,36v-5,-7,-8,-17,-8,-27r34,0v0,12,7,19,21,19v16,0,25,-10,24,-27","w":126},"\u2086":{"d":"6,-73v0,-49,17,-82,61,-83v29,0,45,13,50,40r-32,0v-16,-28,-49,-8,-44,25v31,-26,78,-3,78,39v0,34,-22,57,-55,57v-42,-1,-59,-30,-58,-78xm86,-50v1,-16,-8,-26,-23,-26v-13,0,-23,12,-23,27v0,14,9,26,23,26v14,0,23,-12,23,-27","w":126},"\u2087":{"d":"121,-128v-33,39,-52,67,-58,128r-34,0v8,-58,25,-90,55,-124r-79,0r0,-29r116,0r0,25","w":126},"\u2088":{"d":"62,-156v45,-6,72,51,34,73v47,21,19,96,-34,88v-53,6,-80,-67,-33,-88v-39,-22,-13,-78,33,-73xm85,-111v0,-13,-9,-19,-23,-19v-12,0,-23,7,-22,19v0,11,9,18,22,18v13,0,23,-6,23,-18xm86,-46v0,-15,-10,-24,-24,-24v-13,0,-25,9,-24,24v0,15,10,23,24,23v14,0,24,-8,24,-23","w":126},"\u2089":{"d":"61,-156v38,0,57,31,57,76v0,80,-61,107,-102,66v-6,-7,-8,-15,-8,-24r33,0v0,10,6,15,18,15v17,0,25,-12,25,-37v-31,28,-81,1,-79,-42v2,-32,24,-55,56,-54xm84,-102v0,-16,-8,-28,-24,-28v-14,0,-23,12,-22,28v0,16,7,26,22,26v16,0,24,-10,24,-26","w":126},"\u208a":{"d":"63,-107r17,0r0,46r45,0r0,15r-45,0r0,46r-17,0r0,-46r-45,0r0,-15r45,0r0,-46","w":142},"\u208b":{"d":"125,-61r0,15r-107,0r0,-15r107,0","w":142},"\u208c":{"d":"18,-77r107,0r0,16r-107,0r0,-16xm18,-44r107,0r0,16r-107,0r0,-16","w":142},"\u208d":{"d":"75,-156v-32,44,-34,136,0,180r-22,0v-42,-63,-41,-117,0,-180r22,0","w":82},"\u208e":{"d":"22,24v33,-44,33,-135,0,-180r21,0v42,62,43,118,0,180r-21,0","w":82},"\u20a0":{"d":"95,-242v-61,-4,-68,103,-29,129v7,5,16,7,26,9r0,-75r127,0r0,24r-100,0r0,51r97,0r0,25r-97,0r0,55r105,0r0,24r-132,0r0,-79v-51,-4,-77,-40,-78,-93v-1,-53,30,-95,84,-95v42,-1,65,23,71,62r-28,0v-5,-25,-17,-35,-46,-37","w":240},"\u20a1":{"d":"41,-37v-61,-94,-8,-265,128,-226r18,-30r20,11r-16,27v3,2,8,3,12,6r24,-44r21,11r-27,48v15,17,23,31,25,60r-52,0r-2,-9r-80,142v40,13,82,-7,82,-49r53,0v0,77,-82,116,-159,90r-10,18r-21,-11r11,-18v-3,-2,-8,-5,-11,-8r-20,37r-20,-11xm178,-206v-3,-3,-6,-6,-10,-8r-84,148v2,4,6,8,9,12xm145,-220v-65,-8,-83,61,-72,126","w":259},"\u20a2":{"d":"138,-221v-82,-7,-85,139,-38,173r0,-101r51,0r0,39v9,-24,31,-45,60,-41r0,51v-43,-10,-66,14,-60,62v6,-1,13,-6,24,-12r37,32v-29,17,-36,26,-76,26v-77,1,-120,-57,-120,-137v0,-103,88,-168,176,-124r0,65v-16,-23,-25,-30,-54,-33","w":259},"\u20a3":{"d":"149,-120v10,-23,29,-43,60,-41r0,51v-36,-5,-60,7,-60,43r0,67r-50,0r0,-113r-40,0r0,113r-54,0r0,-262r184,0r0,45r-130,0r0,59r90,0r0,38","w":194},"\u20a4":{"d":"199,-15v-41,58,-115,-18,-170,22r-23,-30v17,-14,38,-32,45,-53r-46,0r0,-28r45,0v-4,-13,-30,-5,-45,-7r0,-29r25,0v-41,-54,9,-126,75,-123v53,2,88,32,84,90r-41,0v0,-34,-12,-53,-44,-53v-25,-1,-47,14,-46,40v0,20,11,30,19,46r60,0r0,29r-48,0v1,2,1,5,2,7r46,0r0,28r-47,0v-4,11,-12,23,-23,36v40,-16,78,26,112,-5","w":200},"\u20a5":{"d":"72,-170v19,-37,90,-36,106,1v6,-8,13,-14,20,-19r19,-35r20,11r-8,15v39,-5,69,21,68,59r0,138r-51,0r0,-129v1,-23,-21,-31,-41,-23r-21,37r0,115r-50,0r0,-24r-32,59r-21,-11r53,-96v-2,-34,10,-85,-27,-83v-59,3,-27,100,-35,155r-50,0r0,-194r50,0r0,24","w":320},"\u20a6":{"d":"127,-97r-49,0r0,97r-54,0r0,-97r-41,0r0,-23r41,0r0,-23r-41,0r0,-23r41,0r0,-96r56,0r56,96r48,0r0,-96r54,0r0,96r46,0r0,23r-46,0r0,23r46,0r0,23r-46,0r0,97r-54,0xm114,-120r-13,-23r-23,0r0,23r36,0xm87,-166r-9,-15r0,15r9,0xm149,-143r14,23r21,0r0,-23r-35,0xm176,-97r8,13r0,-13r-8,0","w":259},"\u20a7":{"d":"228,-173v-2,47,-33,80,-79,79r-68,0r0,94r-54,0r0,-173r-25,0r0,-23r25,0r0,-66r116,0v54,2,76,23,84,66r22,0r0,23r-21,0xm174,-173r-93,0r0,34v41,-1,93,9,93,-34xm171,-196v-8,-28,-54,-20,-90,-21r0,21r90,0","w":240},"\u20a8":{"d":"186,0v-21,-30,13,-104,-42,-104r-61,0r0,104r-54,0r0,-163r-27,3r-2,-24r29,-2r0,-76r140,0v47,0,63,22,70,58r26,-2r1,23r-26,3v-4,26,-18,43,-44,53v38,15,36,40,36,96v0,18,14,14,12,31r-58,0xm186,-184v0,-48,-61,-29,-103,-33r0,68v43,-3,103,16,103,-35xm265,-73v-38,-28,-8,-86,42,-81v36,4,57,13,57,50r-30,0v0,-18,-10,-24,-28,-24v-26,-2,-37,18,-23,32v31,15,88,10,88,56v0,56,-106,65,-123,21v-3,-7,-6,-15,-6,-27r30,0v-4,35,65,37,69,8v-2,-28,-59,-23,-76,-35","w":371},"\u20a9":{"d":"191,-110r-41,0r-23,110r-48,0r-31,-110r-50,0r0,-22r43,0r-7,-25r-36,0r0,-22r30,0r-23,-83r57,0r17,83r47,0r17,-83r54,0r17,83r48,0r16,-83r57,0r-22,83r29,0r0,22r-36,0r-6,25r42,0r0,22r-49,0r-30,110r-49,0xm186,-132r-5,-25r-21,0r-5,25r31,0xm176,-179r-6,-26r-5,26r11,0xm84,-157r5,25r27,0r5,-25r-37,0xm94,-110r9,44r9,-44r-18,0xm219,-157r5,25r28,0r5,-25r-38,0xm229,-110r10,45r9,-45r-19,0","w":339},"\u20aa":{"d":"187,8v-49,1,-88,-27,-88,-72r0,-143r41,0v8,69,-29,187,48,186v29,-1,46,-18,46,-48r0,-172r41,0r0,177v-2,49,-36,71,-88,72xm121,-241v-30,-1,-48,20,-48,49r0,200r-41,0r0,-206v1,-50,37,-71,88,-73v49,-2,88,27,88,73r0,143r-41,0r0,-147v-5,-26,-18,-39,-46,-39","w":301},"\u20ab":{"d":"10,-94v-1,-52,31,-105,82,-104v23,0,42,10,54,29r0,-46r-48,0r0,-24r48,0r0,-23r50,0r0,23r22,0r0,24r-22,0r0,215r-50,0r0,-20v-12,19,-31,28,-54,28v-53,-2,-81,-47,-82,-102xm146,-94v0,-32,-14,-61,-43,-61v-28,0,-42,31,-42,61v0,29,14,60,42,60v29,0,43,-29,43,-60xm187,22r0,23r-145,0r0,-23r145,0","w":219},"\u20ac":{"d":"98,-77v17,43,74,47,126,32r0,43v-86,18,-160,-2,-180,-75r-34,0r0,-24r28,-7v0,-14,-2,-23,0,-32r-28,0r0,-23r33,-8v14,-72,95,-102,178,-80r0,41v-52,-15,-113,-7,-125,38r83,0r0,32r-90,0r1,30r89,0r0,33r-81,0","w":238},"\u20d0":{"d":"32,-227r49,-39r0,14r78,0r0,25r-127,0","w":196},"\u20d1":{"d":"159,-227r-127,0r0,-25r79,0r0,-14","w":196},"\u20d2":{"d":"113,-230r0,274r-30,0r0,-274r30,0","w":196},"\u20d3":{"d":"113,-206r0,226r-30,0r0,-226r30,0","w":196},"\u20d4":{"d":"232,-159v-27,-73,-147,-94,-198,-29r12,7r-45,22r-1,-49r13,7v37,-52,134,-70,193,-25v21,15,37,34,48,57","w":254},"\u20d5":{"d":"220,-188v-46,-64,-175,-44,-198,29r-22,-10v23,-46,65,-82,131,-83v44,-1,86,21,110,51r13,-7r-1,49r-45,-22","w":254},"\u20d6":{"d":"147,-227r-79,0r0,14r-42,-27r42,-26r0,14r79,0r0,25","w":196},"\u20d7":{"d":"26,-227r0,-25r79,0r0,-14r42,26r-42,27r0,-14r-79,0","w":196},"\u20d8":{"d":"67,-93v0,-18,14,-31,32,-31v17,0,31,14,31,31v0,18,-15,32,-32,32v-17,0,-31,-15,-31,-32xm114,-93v0,-10,-7,-16,-16,-16v-20,0,-20,32,0,32v8,0,16,-7,16,-16","w":196},"\u20d9":{"d":"67,-93v-1,-23,24,-38,46,-28r15,-15r14,13r-16,15v12,22,-5,47,-28,47v-17,0,-31,-15,-31,-32xm98,-77v9,0,18,-7,16,-18r-9,9r-13,-13v2,-3,13,-8,6,-10v-20,0,-20,32,0,32","w":196},"\u20da":{"d":"98,-124v23,0,40,24,28,46r16,15r-14,13r-15,-15v-21,12,-46,-5,-46,-28v0,-17,14,-31,31,-31xm98,-109v-20,0,-21,32,0,32r3,0r-9,-9r13,-13v3,1,8,10,9,6v1,-9,-8,-16,-16,-16","w":196},"\u20db":{"d":"173,-260r0,42r-42,0r0,-42r42,0xm119,-260r0,42r-42,0r0,-42r42,0xm66,-260r0,42r-42,0r0,-42r42,0","w":200},"\u20dc":{"d":"173,-260r0,42r-42,0r0,-42r42,0xm119,-260r0,42r-42,0r0,-42r42,0xm66,-260r0,42r-42,0r0,-42r42,0xm226,-260r0,42r-42,0r0,-42r42,0","w":200},"\u20dd":{"d":"12,-94v-2,-75,66,-146,146,-143v81,3,142,61,142,144v0,84,-60,144,-144,144v-84,0,-142,-61,-144,-145xm276,-94v1,-62,-56,-121,-122,-119v-68,3,-118,51,-118,120v0,70,51,120,120,120v69,0,119,-51,120,-121","w":312},"\u20de":{"d":"300,51r-288,0r0,-288r288,0r0,288xm36,27r240,0r0,-240r-240,0r0,240","w":312},"\u20df":{"d":"407,-93r-203,204r-204,-204r204,-204xm204,77r169,-170r-169,-170r-170,170","w":407},"\u20e0":{"d":"258,9v-83,88,-246,25,-246,-102v0,-61,34,-102,72,-125v95,-56,216,16,216,126v0,45,-17,74,-42,101xm249,-17v63,-75,6,-196,-93,-196v-28,0,-53,9,-76,27xm63,-169v-63,75,-6,196,93,196v29,0,54,-9,76,-27","w":312},"\u20e1":{"d":"129,-227r-61,0r0,14r-42,-27r42,-26r0,14r61,0r0,-14r42,26r-42,27r0,-14","w":196},"\u20e2":{"d":"129,-227r-61,0r0,14r-42,-27r42,-26r0,14r61,0r0,-14r42,26r-42,27r0,-14","w":196},"\u2100":{"d":"243,-240r-142,240r-24,0r144,-240r22,0xm173,-66v0,-66,80,-89,113,-46v6,8,9,16,10,27r-34,0v-3,-15,-9,-22,-25,-23v-19,0,-29,15,-29,42v0,40,47,54,54,17r34,0v-3,28,-27,48,-59,48v-40,0,-64,-23,-64,-65xm62,-200v-15,1,-20,4,-22,17r-28,0v1,-29,17,-43,50,-43v62,0,46,55,48,107v-1,8,6,11,7,19v-15,-1,-39,6,-37,-12v-22,29,-72,21,-72,-20v0,-36,39,-41,67,-47v11,-8,4,-22,-13,-21xm56,-121v19,0,25,-16,24,-37v-14,5,-42,4,-41,22v0,10,6,15,17,15","w":301},"\u2101":{"d":"243,-240r-142,240r-24,0r144,-240r22,0xm62,-200v-15,1,-20,3,-21,17r-29,0v1,-29,17,-43,50,-43v62,0,46,55,48,107v-1,8,6,11,7,19v-15,-1,-39,6,-37,-12v-22,29,-72,21,-72,-20v0,-36,39,-41,67,-47v11,-8,4,-23,-13,-21xm56,-121v18,0,26,-16,24,-37v-14,5,-42,5,-41,22v0,10,6,15,17,15xm209,-69v-40,-24,-8,-82,39,-77v37,4,55,14,56,52r-37,0v1,-14,-4,-20,-19,-20v-27,0,-28,19,-2,23v31,5,61,13,63,45v3,54,-101,62,-117,20v-3,-6,-4,-15,-5,-29r36,0v-5,31,43,30,49,11v-4,-17,-54,-15,-63,-25","w":315},"\u2102":{"d":"15,-127v0,-78,47,-136,122,-136v58,0,98,30,106,83r-34,0v-10,-43,-44,-60,-94,-52r0,207v56,10,92,-18,96,-72r35,0v-9,66,-45,102,-112,103v-76,0,-119,-55,-119,-133xm81,-214v-43,31,-40,142,0,171r0,-171","w":259},"\u2103":{"d":"79,-129v0,-81,44,-138,120,-138v61,-1,105,33,110,93r-52,0v-7,-31,-26,-47,-56,-47v-50,1,-68,41,-68,93v-1,50,19,91,66,91v33,0,56,-19,58,-53r53,0v-3,61,-46,98,-112,98v-76,1,-119,-58,-119,-137xm32,-264v-1,-20,17,-37,38,-37v19,0,37,18,37,37v0,20,-17,38,-38,38v-20,0,-36,-18,-37,-38xm92,-264v1,-11,-11,-22,-23,-22v-11,0,-22,9,-22,23v0,12,9,22,22,22v13,0,23,-10,23,-23"},"\u2104":{"d":"63,-40v-76,-12,-77,-169,0,-181r0,-41r34,0r0,40v33,6,50,26,53,61r-27,0v-2,-18,-11,-30,-26,-35r0,130v15,-5,25,-18,28,-39r27,0v-3,38,-21,59,-55,65r0,10r95,0r0,30r-129,0r0,-40xm63,-68r0,-126v-38,11,-39,114,0,126","w":200},"\u2105":{"d":"233,-240r-143,240r-23,0r144,-240r22,0xm6,-157v0,-66,78,-89,113,-47v6,8,9,17,10,28r-34,0v-3,-15,-9,-22,-25,-23v-19,0,-29,14,-29,41v0,40,48,56,54,18r34,0v-3,28,-27,48,-59,48v-40,0,-64,-23,-64,-65xm165,-70v0,-44,24,-73,68,-73v41,0,66,28,66,72v0,44,-25,72,-67,72v-41,0,-67,-27,-67,-71xm264,-71v0,-24,-10,-43,-32,-43v-21,0,-32,20,-32,43v0,23,11,44,32,44v21,-1,32,-20,32,-44","w":305},"\u2106":{"d":"214,-240r-143,240r-23,0r144,-240r22,0xm29,-139v0,42,48,42,66,9r6,3v-18,23,-37,35,-57,35v-23,0,-39,-20,-39,-45v0,-43,39,-92,81,-95v27,-2,39,38,12,43v-17,-2,-10,-20,-1,-27v-1,-5,-6,-9,-12,-9v-34,0,-56,47,-56,86xm187,-136v13,-1,14,12,11,24r-25,90v0,6,3,8,9,8v32,-11,68,-72,74,-119r23,0r-33,118v5,10,12,-1,23,-12r3,4v-15,18,-28,27,-40,27v-25,-10,3,-46,4,-65v-22,33,-40,60,-70,65v-14,2,-17,-17,-14,-31r25,-88v-5,-12,-15,-1,-23,10v-2,4,-4,4,-7,0v16,-17,19,-29,40,-31","w":288},"\u2107":{"d":"107,-38v29,-1,38,-15,38,-49r54,0v4,62,-35,93,-92,95v-49,1,-93,-37,-92,-85v0,-31,16,-53,41,-63v-23,-13,-34,-32,-34,-56v-1,-43,41,-72,86,-71v56,2,93,25,89,88r-55,0v2,-26,-9,-42,-32,-42v-18,1,-34,11,-34,31v0,24,21,34,52,32r0,45v-33,-2,-59,5,-58,38v0,21,13,38,37,37","w":213},"\u2108":{"d":"53,-99v-3,75,92,97,132,46v14,-18,18,-34,21,-61r-106,0r0,-34r106,0v-7,-51,-32,-85,-79,-85v-43,0,-62,17,-69,55r-39,0v9,-57,44,-89,104,-89v79,-1,122,60,122,139v0,76,-43,136,-121,136v-65,0,-101,-36,-110,-107r39,0","w":259},"\u2109":{"d":"39,-259v0,-19,18,-37,38,-37v20,-1,37,18,37,37v0,20,-17,38,-38,38v-20,0,-36,-18,-37,-38xm99,-259v1,-11,-11,-22,-23,-22v-11,0,-22,9,-22,22v0,12,9,23,22,23v13,1,23,-10,23,-23xm189,-113r0,113r-54,0r0,-262r184,0r0,45r-130,0r0,59r115,0r0,45r-115,0"},"\u210a":{"d":"19,-33v3,-74,77,-164,152,-108r-38,133v8,-5,16,-10,22,-16r6,10v-8,7,-19,14,-32,20v-8,45,-31,64,-78,64v-28,0,-48,-2,-51,-25v3,-38,69,-23,102,-40r15,-48v-19,27,-38,45,-67,47v-19,2,-31,-18,-31,-37xm47,-39v0,31,31,24,49,7v27,-26,35,-62,47,-106v-50,-44,-97,62,-96,99xm30,46v17,30,71,5,68,-28v-16,10,-63,6,-68,28","w":183},"\u210b":{"d":"84,-8v-23,18,-87,20,-84,-18v3,-38,45,-52,92,-67r31,-81v-22,6,-20,-19,-35,-21v-13,-1,-16,21,-28,13v15,-22,28,-33,40,-33v11,0,18,24,26,21v11,0,38,-26,49,-35r4,3r-47,119r69,-23v18,-50,38,-106,97,-107v46,0,38,59,8,79v-19,12,-40,22,-70,32r-42,107v10,18,28,2,49,-13r7,8v-20,16,-36,28,-64,29v-27,1,-31,-19,-22,-41r29,-76r-67,23v-12,27,-23,66,-42,81xm21,-30v8,27,37,19,49,-11r14,-34v-34,13,-57,18,-63,45xm317,-200v0,-26,-36,-23,-48,-3v-9,15,-18,40,-26,59v39,-10,74,-24,74,-56","w":324},"\u210c":{"d":"79,0v-16,-2,-32,-27,-55,-13v6,-18,23,-36,40,-36v8,-2,20,16,27,17v22,-23,8,-89,11,-131v2,-33,-12,-54,-39,-54v-19,0,-35,14,-35,34v0,44,86,42,49,90v-4,4,-7,9,-9,13v-5,-6,-5,-10,-5,-20v-10,-26,-51,-25,-51,-67v0,-42,26,-70,69,-71v56,-1,62,49,58,109r67,0r0,-54v-5,-36,38,-49,66,-54v12,-2,30,21,31,30v-4,9,-28,15,-38,14v-8,-3,-5,-31,-12,-27v-7,0,-10,11,-10,31r0,155v-1,40,14,48,17,12v1,-11,1,-11,12,-11v14,0,22,0,26,7v-23,27,-84,81,-91,14v-3,-29,-1,-69,-1,-101r-67,0v6,64,-16,100,-60,113","w":314},"\u210d":{"d":"27,-230r-12,0r0,230r-33,0r0,-263r79,1r0,108r137,0r0,-108r33,0r0,262r-33,0r0,-125r-137,0r0,125r-34,0r0,-230","w":258},"\u210e":{"d":"117,4v-17,0,-15,-19,-10,-36r27,-99v0,-8,-3,-12,-9,-12v-32,4,-88,91,-93,143r-27,0r64,-230v1,-8,-9,-11,-19,-10r0,-6v19,-3,35,-8,55,-9r-50,175v35,-55,64,-83,88,-83v21,0,21,26,15,48r-27,96v0,4,1,5,4,5v10,3,23,-32,31,-20v-9,15,-32,38,-49,38","w":180},"\u210f":{"d":"129,-109v4,-12,10,-31,-4,-34v-34,4,-86,92,-94,143r-26,0r45,-159r-39,21r-8,-18r54,-28v3,-13,11,-34,12,-46v1,-9,-9,-11,-19,-10r0,-6v19,-3,35,-8,55,-9r-16,55r33,-17r10,15r-50,26r-27,96v35,-55,64,-83,88,-83v21,0,21,26,15,48r-27,96v0,4,1,5,4,5v10,3,23,-32,31,-20v-10,15,-32,37,-50,38v-16,-3,-14,-18,-9,-36","w":180},"\u2110":{"d":"94,-8v-23,19,-86,20,-84,-17v2,-36,43,-48,88,-61r44,-116v0,-4,-3,-5,-8,-5v-25,3,-47,31,-62,53r-8,-5v29,-41,56,-71,104,-78v23,2,16,22,9,41r-59,150v-7,18,-15,30,-24,38xm32,-29v8,33,46,7,48,-12r13,-34v-34,13,-55,19,-61,46","w":193},"\u2111":{"d":"32,-179v-1,28,53,16,52,48v0,9,-6,20,-17,32v1,-37,-53,-39,-49,-80v6,-80,118,-67,185,-42v-16,24,-43,27,-43,56v0,40,50,50,50,95v0,46,-52,67,-90,74v-30,-2,-56,-39,-90,-19r-4,-3v21,-24,26,-42,58,-27v19,8,45,25,66,27v28,-6,32,-50,10,-74v-14,-14,-35,-39,-35,-62v1,-20,13,-32,29,-43v-27,-11,-127,-16,-122,18","w":217},"\u2112":{"d":"6,-32v-1,-31,42,-55,73,-39r31,-74r-40,-1r3,-13r42,0v19,-49,49,-82,110,-82v25,0,37,9,37,26v0,31,-38,54,-113,67r-41,102v36,33,80,33,125,3r7,11v-48,35,-98,42,-144,11v-21,25,-90,34,-90,-11xm156,-163v34,-5,80,-21,81,-43v-22,-35,-78,10,-81,43xm68,-42v-5,-23,-49,-18,-47,7v6,29,41,14,47,-7","w":280},"\u2113":{"d":"124,-241v15,-1,24,13,23,29v-2,48,-29,83,-63,117v-7,37,-11,63,-11,74v0,6,2,8,6,8v9,1,18,-16,20,-24r11,5v-9,26,-22,38,-38,38v-33,0,-25,-34,-22,-75v-6,7,-13,12,-19,17v-14,-17,16,-27,22,-39v8,-44,17,-80,28,-107v11,-29,26,-43,43,-43xm87,-115v23,-22,46,-59,46,-97v0,-21,-18,-15,-25,3v-6,17,-13,48,-21,94","w":157},"\u2114":{"d":"277,-95v1,51,-31,105,-82,103v-24,0,-41,-9,-53,-28r0,20r-51,0r0,-214r-25,0r0,214r-54,0r0,-214r-18,0r0,-23r18,0r0,-25r54,0r0,25r25,0r0,-25r51,0r0,25r127,0r0,23r-127,0r0,45v12,-19,29,-29,53,-29v53,1,82,46,82,103xm184,-34v58,-1,57,-121,-1,-121v-28,0,-41,30,-41,61v0,32,13,60,42,60","w":282},"\u2115":{"d":"76,-183v-6,-7,-9,-17,-16,-23r0,206r-32,0r0,-257r36,0r136,208r0,-208r33,0r0,257r-38,0r-85,-131r0,131r-34,0r0,-183","w":259},"\u2116":{"d":"29,0r0,-254r62,0r101,184r0,-184r50,0r0,254r-62,0r-101,-183r0,183r-50,0xm267,-197v0,-34,20,-57,55,-57v32,0,53,23,53,57v0,35,-20,58,-54,58v-34,0,-55,-23,-54,-58xm321,-219v-11,0,-17,7,-17,22v0,15,5,23,17,23v12,0,18,-8,18,-23v0,-15,-6,-22,-18,-22xm267,-93r0,-33r108,0r0,33r-108,0","w":380},"\u2117":{"d":"207,-163v0,47,-47,49,-96,46r0,68r-20,0r0,-161v54,0,116,-8,116,47xm185,-163v0,-35,-40,-29,-74,-29r0,57v0,0,74,6,74,-28xm0,-129v0,-81,56,-138,139,-138v78,0,133,58,136,137v2,74,-63,138,-137,138v-76,0,-138,-57,-138,-137xm251,-129v0,-64,-53,-116,-115,-116v-59,-1,-112,54,-112,115v0,62,53,116,114,116v61,0,113,-54,113,-115","w":275},"\u2118":{"d":"73,68v-55,-2,-58,-65,-31,-109v-34,-64,-19,-107,39,-152r5,7v-27,25,-43,66,-26,110v40,-57,83,-86,127,-86v37,1,56,28,55,68v0,52,-30,96,-79,95v-32,0,-58,-21,-58,-51v0,-28,38,-42,41,-10v1,13,-17,13,-19,23v2,13,14,20,28,20v36,-1,52,-37,52,-77v1,-58,-53,-55,-89,-24v-18,15,-36,33,-51,57v15,26,44,56,47,90v1,22,-17,40,-41,39xm69,53v38,-15,-11,-63,-18,-82v-17,31,-16,78,18,82","w":230},"\u2119":{"d":"282,-188v0,80,-81,82,-165,78r0,110r-35,0r0,-228r-20,0r0,228r-34,0r0,-257r176,0v46,0,78,24,78,69xm247,-185v0,-59,-75,-40,-130,-43r0,89v57,-2,130,14,130,-46","w":300},"\u211a":{"d":"137,-263v117,0,161,166,84,237r34,27r-17,21r-40,-31v-89,46,-184,-19,-184,-119v0,-76,49,-135,123,-135xm196,-46v60,-59,28,-214,-82,-186r0,207v22,4,40,3,59,-5r-29,-23r18,-20xm79,-213v-42,35,-41,133,0,169r0,-169","w":273},"\u211b":{"d":"227,-26v-18,29,-75,44,-85,0v-7,-27,-8,-65,-22,-85v-16,49,-37,110,-92,112v-21,0,-32,-12,-32,-32v0,-101,90,-207,203,-207v32,0,53,12,53,41v0,48,-46,75,-94,81v15,23,14,70,25,95v12,10,24,1,35,-13xm111,-188v-48,42,-88,86,-95,157v-2,26,17,22,28,7v28,-39,46,-113,67,-164xm127,-129v53,2,85,-30,86,-69v0,-17,-7,-26,-21,-26v-33,0,-54,60,-65,95","w":270},"\u211c":{"d":"138,-119v4,62,-15,114,-62,121v-22,3,-35,-31,-51,-7r-6,-2v13,-43,37,-43,65,-24v24,-11,17,-77,17,-116v0,-43,-12,-64,-38,-64v-20,-1,-37,17,-37,37v0,34,55,32,55,61v0,9,-5,21,-17,35v-7,1,-3,-7,-3,-10v-3,-28,-60,-34,-53,-75v-7,-63,84,-104,118,-48v34,-44,115,-29,115,29v0,28,-27,39,-53,49v24,15,25,51,34,81v5,17,10,24,25,18r5,5v-18,21,-51,54,-63,5v-7,-28,-12,-72,-27,-91v-5,-4,-14,-4,-24,-4xm200,-179v2,-33,-44,-44,-68,-23v6,22,6,42,6,69v34,-9,60,-14,62,-46","w":263},"\u211d":{"d":"252,0v-15,-32,6,-110,-52,-110r-83,0r0,110r-35,0r0,-228r-20,0r0,228r-34,0r0,-257r176,0v84,-12,107,113,33,133v54,5,26,89,54,124r-39,0xm247,-185v0,-59,-75,-40,-130,-43r0,89v57,-2,130,14,130,-46","w":300},"\u211e":{"d":"227,-186v1,40,-26,71,-67,75r22,32r20,-31r37,0r-40,57r36,53r-38,0r-16,-26r-18,26r-36,0r36,-52r-40,-59r-52,0r0,111r-34,0r0,-262r109,0v56,0,80,27,81,76xm192,-187v0,-55,-65,-47,-121,-46r0,92v55,0,121,9,121,-46","w":240},"\u211f":{"d":"200,0v-19,-46,13,-126,-64,-113r-51,133r-16,-7r48,-126r-54,0r0,113r-33,0r0,-262v47,-2,102,5,145,-1r-70,-28r7,-16r86,34r-7,17v53,17,50,111,-2,126v27,12,35,27,35,69v0,33,2,40,16,53r0,8r-40,0xm129,-143r34,-88v-30,-4,-67,-1,-100,-2r0,90r66,0xm148,-143v52,7,59,-59,31,-82","w":259},"\u2120":{"d":"226,-105r-30,0r-39,-110r0,110r-29,0r0,-157r39,0r45,124r45,-124r37,0r0,157r-28,0r0,-110xm50,-265v34,0,62,16,60,49r-23,0v-1,-21,-13,-32,-37,-32v-34,0,-48,42,-10,49v33,6,74,14,76,51v3,55,-93,61,-119,26v-6,-8,-10,-19,-10,-33r24,0v1,25,16,35,42,37v43,3,52,-45,11,-54v-30,-7,-73,-8,-72,-47v0,-30,25,-46,58,-46","w":321},"\u2121":{"d":"113,-262r0,20r-49,0r0,145r-30,0r0,-145r-49,0r0,-20r128,0xm150,-170r0,52r88,0r0,21r-117,0r0,-165r113,0r0,20r-84,0r0,51r81,0r0,21r-81,0xm281,-263r0,145r73,0r0,21r-103,0r0,-166r30,0","w":364},"\u2122":{"d":"58,-110r0,-117r-41,0r0,-27r114,0r0,27r-41,0r0,117r-32,0xm146,-110r0,-144r44,0r34,111r34,-111r44,0r0,144r-30,0r0,-100r-30,100r-35,0r-30,-100r0,100r-31,0","w":330},"\u2123":{"d":"75,-83r-64,-179r36,0r46,133r50,-129r-70,-27r6,-16r87,33r-64,165r22,63r73,-222r35,0r-91,262r-36,0r-21,-57r-31,82r-17,-6","w":242},"\u2124":{"d":"271,0r-263,0r0,-29r160,-203r-148,0r0,-29r247,0r0,29r-160,203r164,0r0,29xm67,-29r159,-203r-18,0r-159,203r18,0","w":278},"\u2125":{"d":"144,-7v1,-57,-49,-68,-112,-62r0,-17r94,-62r-94,0r0,-27r94,-61r-94,0r0,-26r133,0r0,30r-87,58r87,0r0,30r-73,47v57,3,79,35,84,89v9,104,-157,122,-169,24r30,0v9,25,26,38,52,38v37,0,55,-24,55,-61","w":194},"\u2126":{"d":"65,-140v1,52,17,72,53,95r0,45r-112,0r0,-45r61,0v-37,-23,-54,-47,-56,-98v-1,-71,55,-124,126,-124v70,0,126,54,125,124v-1,50,-20,75,-56,98r62,0r0,45r-113,0r0,-45v38,-23,52,-43,53,-95v1,-48,-25,-87,-71,-87v-46,0,-72,39,-72,87","w":273},"\u2127":{"d":"11,-124v1,-50,20,-75,56,-98r-61,0r0,-45r112,0r0,45v-37,23,-51,44,-53,95v-2,48,26,87,72,87v46,0,72,-40,71,-87v-1,-52,-17,-72,-53,-95r0,-45r113,0r0,45r-62,0v37,23,55,46,56,98v1,70,-55,124,-125,124v-71,0,-127,-53,-126,-124","w":273},"\u2128":{"d":"167,-68v1,-53,-72,-66,-103,-29r-7,-7v10,-11,18,-18,26,-22v-30,-3,-38,-49,-8,-53v9,0,18,8,18,17v1,6,-12,11,-12,16v2,8,11,9,25,10v33,1,61,-12,61,-42v0,-28,-24,-45,-54,-45v-28,0,-50,15,-66,34r-7,-4v28,-72,166,-69,167,18v0,27,-13,44,-42,50v78,25,37,135,-38,127v-39,5,-72,-36,-104,-16r-5,-3v24,-63,65,-10,105,-5v27,3,44,-21,44,-46","w":213},"\u2129":{"d":"33,0r0,-189r30,0r0,189r-30,0","w":81},"\u212a":{"d":"81,-88r0,88r-54,0r0,-262r54,0r0,115r102,-115r64,0r-105,112r116,150r-64,0r-86,-116","w":259},"\u212b":{"d":"180,-53r-98,0r-18,53r-55,0r93,-262r60,0r91,262r-55,0xm166,-98r-35,-102r-34,102r69,0xm97,-312v0,-18,15,-32,33,-32v18,0,32,16,32,32v0,17,-15,33,-32,33v-18,0,-33,-15,-33,-33xm145,-312v0,-7,-7,-15,-15,-15v-8,0,-16,7,-16,15v0,8,8,15,16,15v8,0,15,-8,15,-15","w":259},"\u212c":{"d":"227,-85v2,71,-97,108,-157,73v-26,20,-72,19,-70,-19v6,-100,91,-207,203,-207v32,0,53,12,53,41v0,34,-29,64,-63,71v21,7,33,18,34,41xm115,-188v-48,39,-95,88,-95,158v0,12,3,18,11,18v35,-10,65,-130,84,-176xm114,-11v35,-2,72,-33,72,-74v0,-27,-23,-29,-60,-30v-10,29,-24,55,-30,88v0,9,8,16,18,16xm131,-129v53,2,85,-30,87,-69v0,-17,-7,-26,-21,-26v-33,0,-55,59,-66,95","w":265},"\u212d":{"d":"189,-155v40,27,3,73,-41,73v-21,0,-35,-9,-42,-29r28,-17v8,18,18,27,30,27v16,-1,12,-21,2,-30v-16,-15,-42,-27,-42,-56v-1,-25,18,-40,43,-40v-67,-12,-105,37,-105,105v0,63,26,110,89,111v28,0,55,-12,80,-36r7,6v-20,28,-57,46,-99,46v-71,-2,-119,-48,-119,-122v0,-73,52,-127,121,-126v22,-5,72,27,88,0r7,0v-2,31,-36,39,-61,26v-22,1,-22,39,-4,46","w":237},"\u212e":{"d":"31,-92v0,-109,153,-133,164,-25v1,6,2,15,2,27r-135,0v-4,48,9,76,53,76v29,0,49,-12,60,-37r16,0v-11,36,-37,53,-77,53v-54,1,-83,-39,-83,-94xm170,-136v-13,-46,-95,-48,-107,0r0,33r107,0r0,-33","w":241},"\u212f":{"d":"37,-69v-15,59,54,70,80,31r6,5v-22,21,-37,38,-68,38v-29,0,-48,-23,-48,-53v0,-51,49,-113,99,-113v41,0,40,49,10,68v-22,14,-41,22,-79,24xm114,-136v-4,-25,-32,-14,-47,4v-10,12,-19,33,-28,53v46,-2,68,-19,75,-57","w":148},"\u2130":{"d":"146,-64v-26,0,-49,15,-65,35r-7,-6v17,-26,51,-50,85,-50v17,0,30,11,29,26v-3,41,-68,65,-114,64v-41,0,-71,-15,-71,-51v0,-42,38,-71,82,-79v-17,-6,-25,-14,-25,-32v0,-54,51,-81,109,-81v62,0,73,52,21,76r-6,-9v29,-10,32,-53,-6,-53v-36,0,-80,31,-80,66v-1,27,26,25,57,25r-6,20v-59,-7,-106,18,-108,65v0,22,15,34,45,34v29,0,74,-17,76,-39v-1,-8,-7,-12,-16,-11","w":230},"\u2131":{"d":"141,-181v-24,0,-61,-37,-75,-5v2,19,30,-1,38,8v-11,12,-23,18,-34,18v-14,0,-28,-8,-28,-24v0,-23,28,-37,52,-37v24,0,60,24,84,5v12,-10,28,-20,49,-17v-1,15,-14,9,-21,22v-9,11,-18,19,-26,23r-22,59r31,0r0,16r-38,0r-15,40v28,15,24,62,-2,76r-9,-8v18,-15,23,-38,4,-52v-14,36,-53,59,-98,59v-26,0,-44,-9,-44,-30v0,-42,65,-60,115,-54r12,-31r-76,0r0,-16r83,0xm9,-32v3,27,43,17,59,5v15,-10,23,-24,29,-42v-35,-6,-83,11,-88,37","w":259},"\u2132":{"d":"157,-149r0,-113r54,0r0,262r-184,0r0,-45r130,0r0,-59r-115,0r0,-45r115,0","w":219},"\u2133":{"d":"69,-14v-22,27,-79,27,-81,-12v-1,-33,42,-56,83,-55r1,9v-39,8,-59,23,-59,45v0,10,6,17,16,17v14,0,28,-11,43,-34r105,-159v14,-22,29,-34,45,-34v4,0,4,3,4,7r-84,213v2,5,5,3,9,-3r119,-183v14,-22,29,-34,45,-34v4,0,4,3,4,7r-82,211v10,18,28,2,49,-13r6,8v-20,16,-36,28,-64,29v-27,1,-31,-19,-22,-41r42,-107r-83,129v-11,21,-57,28,-58,-3v11,-44,32,-84,47,-126r-61,96v-9,15,-18,25,-24,33","w":345},"\u2134":{"d":"36,-52v2,-57,39,-109,93,-109v30,0,50,27,49,58v-3,54,-39,104,-94,107v-29,2,-49,-26,-48,-56xm88,-5v40,0,59,-64,62,-112v0,-18,-7,-35,-25,-35v-41,0,-63,64,-63,112v0,20,7,35,26,35","w":165},"\u2135":{"d":"103,-24v36,-6,-15,-46,-8,-63v2,-23,24,-52,33,-73v-15,-23,-52,-47,-32,-83r100,128r27,-62v-29,2,-49,-3,-47,-30v0,-15,7,-29,18,-41v-10,47,71,-3,71,51v0,11,-2,22,-5,34v-3,-12,-10,-15,-23,-14v-13,33,-37,74,-5,107v17,17,42,43,22,70r-117,-148v-33,46,34,76,34,119v0,39,-40,27,-75,29r0,-24r7,0","w":296},"\u2136":{"d":"212,-33v-15,22,-11,31,-32,33v-51,5,-112,-5,-156,4v3,-62,88,-29,143,-37r0,-147v0,-15,-6,-19,-20,-19r-91,0v-22,0,-29,-16,-18,-30v4,-4,14,-11,29,-20v2,30,45,15,72,17v31,2,44,13,44,42r0,144v-1,17,13,12,29,13","w":222},"\u2137":{"d":"109,-65v-52,-6,-54,20,-52,65r-33,0v0,-39,-5,-75,33,-77v2,0,19,-1,52,-2r0,-93v-5,-38,-103,-11,-70,-60v3,-3,12,-10,25,-20v-2,30,52,27,57,45v11,41,0,109,4,159v1,16,6,19,18,27r-28,23v-12,-18,-4,-42,-6,-67","w":166},"\u2138":{"d":"154,-42v3,16,6,19,18,27r-28,23v-4,-7,-6,-12,-6,-15r0,-192r-110,0v-22,0,-29,-16,-18,-30v4,-4,13,-11,28,-20v3,12,9,17,17,17v51,5,126,-19,136,33v-19,0,-37,-2,-37,18r0,139","w":198},"\u214b":{"d":"94,-261v3,70,-7,127,-15,186r-24,0v-8,-59,-18,-116,-15,-186r54,0xm94,-53r0,53r-54,0r0,-53r54,0xm204,-261v3,70,-7,127,-15,186r-24,0v-8,-59,-18,-116,-15,-186r54,0xm204,-53r0,53r-54,0r0,-53r54,0","w":229},"\u2153":{"d":"194,-239r30,0r-156,239r-29,0xm48,-206r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104xm228,-23v13,1,23,-8,23,-22v0,-16,-16,-26,-36,-22r0,-23v34,8,42,-40,12,-40v-16,0,-22,8,-21,27r-32,0v2,-36,19,-51,54,-53v47,-3,71,51,33,74v46,21,21,87,-33,87v-35,0,-56,-17,-56,-52r33,0v1,16,8,24,23,24","w":285},"\u2154":{"d":"246,-239r30,0r-156,239r-29,0xm281,-23v13,1,22,-9,22,-22v0,-16,-16,-26,-36,-22r0,-23v35,8,41,-40,12,-40v-16,0,-20,9,-21,27r-31,0v1,-36,18,-50,53,-53v47,-4,71,51,33,74v46,21,21,87,-33,87v-35,0,-55,-18,-56,-52r33,0v1,16,9,24,24,24xm130,-210v1,44,-50,52,-68,79r67,0r0,29r-112,0v-4,-62,78,-58,78,-107v0,-13,-7,-23,-21,-23v-16,0,-23,12,-22,32r-33,0v-1,-38,17,-58,56,-58v35,0,54,17,55,48","w":342},"\u2155":{"d":"196,-239r30,0r-156,239r-29,0xm53,-206r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104xm258,-50v4,-26,-34,-38,-44,-17r-31,0r15,-86r88,0r0,29r-67,0r-4,28v35,-22,77,4,77,45v0,56,-77,74,-105,36v-5,-7,-8,-16,-8,-26r34,0v0,12,7,18,21,18v16,0,25,-10,24,-27","w":297},"\u2156":{"d":"246,-239r30,0r-156,239r-29,0xm130,-210v1,44,-50,52,-68,79r67,0r0,29r-112,0v-4,-62,78,-58,78,-107v0,-13,-7,-23,-21,-23v-16,0,-23,12,-22,32r-33,0v-1,-38,17,-58,56,-58v35,0,54,17,55,48xm278,-23v16,0,25,-11,25,-27v0,-29,-34,-37,-44,-17r-31,0r14,-86r88,0r0,29r-66,0r-5,28v36,-22,78,4,78,45v0,55,-76,74,-105,36v-5,-7,-9,-17,-9,-27r34,0v0,12,7,19,21,19","w":342},"\u2157":{"d":"218,-239r30,0r-156,239r-29,0xm281,-50v0,-26,-34,-39,-45,-17r-31,0r15,-86r88,0r0,29r-66,0r-5,28v36,-22,78,5,78,45v0,55,-77,74,-106,36v-5,-7,-8,-16,-8,-26r34,0v0,12,7,18,21,18v16,0,25,-11,25,-27xm61,-124v13,0,22,-10,23,-22v1,-17,-14,-24,-37,-23r0,-22v35,7,41,-39,12,-40v-16,1,-20,8,-20,27r-32,0v1,-37,19,-52,53,-54v46,-3,71,51,34,75v46,22,20,87,-34,87v-35,0,-55,-18,-55,-52r33,0v1,16,8,24,23,24","w":319},"\u2158":{"d":"218,-239r29,0r-156,239r-29,0xm281,-50v3,-25,-35,-40,-45,-17r-31,0r15,-86r88,0r0,29r-67,0r-4,28v36,-22,78,6,78,46v0,53,-77,73,-106,35v-5,-7,-8,-16,-8,-26r33,0v0,12,7,18,21,18v17,1,24,-12,26,-27xm120,-163r0,27r-17,0r0,34r-34,0r0,-34r-65,0r0,-26r60,-93r39,0r0,92r17,0xm69,-163r0,-59r-38,59r38,0","w":319},"\u2159":{"d":"196,-239r30,0r-156,239r-29,0xm53,-206r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104xm179,-73v0,-49,16,-82,60,-83v29,0,45,13,50,40r-32,0v-17,-28,-49,-8,-44,25v31,-26,81,-3,79,39v-1,33,-22,57,-55,57v-42,-1,-58,-28,-58,-78xm259,-50v0,-15,-8,-26,-23,-26v-13,0,-23,11,-23,27v0,15,9,26,23,26v14,0,23,-12,23,-27","w":297},"\u215a":{"d":"214,-239r29,0r-156,239r-29,0xm196,-73v0,-49,17,-82,61,-83v29,0,45,13,49,40r-31,0v-17,-29,-49,-6,-45,25v31,-26,81,-3,79,39v-1,33,-22,57,-55,57v-39,0,-58,-26,-58,-78xm276,-50v0,-17,-8,-25,-23,-26v-13,0,-23,12,-23,27v0,15,9,26,23,26v13,0,23,-12,23,-27xm85,-153v0,-27,-35,-39,-44,-16r-31,0r14,-86r89,0r0,29r-67,0r-5,27v37,-20,78,5,78,46v0,56,-77,74,-105,35v-5,-7,-8,-16,-8,-26r33,0v0,12,7,19,21,19v17,0,25,-11,25,-28","w":314},"\u215b":{"d":"196,-239r30,0r-156,239r-29,0xm53,-206r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104xm235,-156v46,-6,73,51,34,73v47,21,21,95,-34,88v-53,6,-80,-67,-33,-88v-39,-22,-13,-78,33,-73xm258,-111v0,-13,-9,-19,-23,-19v-12,0,-23,7,-22,19v0,11,10,18,23,18v13,0,22,-6,22,-18xm259,-46v0,-15,-10,-24,-24,-24v-13,0,-25,9,-24,24v0,15,10,23,24,23v14,0,24,-8,24,-23","w":297},"\u215c":{"d":"206,-239r29,0r-155,239r-30,0xm245,-156v46,-6,73,50,34,73v46,21,19,96,-34,88v-53,6,-80,-67,-33,-88v-39,-22,-13,-78,33,-73xm268,-111v0,-13,-9,-19,-23,-19v-12,0,-23,7,-22,19v0,11,10,18,23,18v12,0,22,-6,22,-18xm269,-46v0,-15,-10,-24,-24,-24v-13,0,-24,9,-24,24v0,15,11,23,24,23v14,0,24,-8,24,-23xm60,-132v14,1,22,-10,23,-21v1,-16,-15,-24,-37,-23r0,-22v35,8,42,-41,12,-40v-15,1,-20,8,-20,26r-32,0v1,-36,19,-50,53,-53v47,-4,71,50,34,74v46,22,21,87,-34,87v-34,0,-55,-17,-55,-51r33,0v1,16,8,23,23,23","w":307},"\u215d":{"d":"206,-239r29,0r-156,239r-29,0xm245,-156v45,-6,73,52,33,73v47,20,21,96,-33,88v-53,6,-80,-67,-33,-88v-39,-22,-13,-78,33,-73xm268,-111v0,-13,-10,-19,-23,-19v-12,0,-22,7,-22,19v1,12,9,18,22,18v13,0,23,-6,23,-18xm269,-46v0,-15,-10,-24,-24,-24v-13,0,-25,9,-24,24v0,15,10,23,24,23v14,0,24,-8,24,-23xm77,-153v3,-27,-35,-38,-44,-16r-31,0r15,-86r88,0r0,29r-67,0r-4,27v37,-20,77,4,77,46v0,56,-77,74,-105,35v-5,-7,-8,-16,-8,-26r33,0v0,12,8,19,22,19v16,0,22,-12,24,-28","w":307},"\u215e":{"d":"206,-239r29,0r-156,239r-29,0xm245,-156v45,-6,72,51,34,73v47,21,19,96,-34,88v-53,6,-80,-67,-33,-88v-39,-22,-13,-78,33,-73xm268,-111v0,-13,-10,-19,-23,-19v-12,0,-22,7,-22,19v1,12,9,18,22,18v13,0,23,-6,23,-18xm269,-46v0,-15,-10,-24,-24,-24v-13,0,-25,9,-24,24v0,15,10,23,24,23v14,0,24,-8,24,-23xm148,-230v-33,39,-51,66,-57,128r-35,0v9,-58,26,-90,55,-124r-78,0r0,-29r115,0r0,25","w":307},"\u215f":{"d":"196,-239r30,0r-156,239r-29,0xm53,-206r-38,0r0,-22v27,0,43,-9,49,-27r23,0r0,153r-34,0r0,-104","w":297},"\u2160":{"d":"77,-262r0,262r-54,0r0,-262r54,0","w":100},"\u2161":{"d":"77,-262r0,262r-54,0r0,-262r54,0xm162,-262r0,262r-54,0r0,-262r54,0","w":184},"\u2162":{"d":"77,-262r0,262r-54,0r0,-262r54,0xm162,-262r0,262r-54,0r0,-262r54,0xm248,-262r0,262r-54,0r0,-262r54,0","w":270},"\u2163":{"d":"77,-262r0,262r-54,0r0,-262r54,0xm236,0r-45,0r-89,-262r54,0r58,197r58,-197r54,0"},"\u2164":{"d":"143,0r-46,0r-88,-262r54,0r58,197r57,-197r55,0","w":240},"\u2165":{"d":"272,-262r54,0r0,262r-54,0r0,-262xm113,0r-90,-262r54,0r57,197r59,-197r54,0r-89,262r-45,0"},"\u2166":{"d":"272,-262r54,0r0,262r-54,0r0,-262xm113,0r-90,-262r54,0r57,197r59,-197r54,0r-89,262r-45,0xm406,-263r0,263r-54,0r0,-263r54,0","w":435},"\u2167":{"d":"272,-262r54,0r0,262r-54,0r0,-262xm113,0r-90,-262r54,0r57,197r59,-197r54,0r-89,262r-45,0xm406,-263r0,263r-54,0r0,-263r54,0xm487,-263r0,263r-54,0r0,-263r54,0","w":509},"\u2168":{"d":"77,-262r0,262r-54,0r0,-262r54,0xm253,-134r84,134r-64,0r-50,-91r-51,91r-62,0r83,-132r-80,-130r64,0r46,86r48,-86r63,0"},"\u2169":{"d":"151,-134r84,134r-64,0r-51,-91r-50,91r-62,0r83,-132r-80,-130r64,0r46,86r48,-86r63,0"},"\u216a":{"d":"151,-134r84,134r-64,0r-51,-91r-50,91r-62,0r83,-132r-80,-130r64,0r46,86r48,-86r63,0xm310,-262r0,262r-54,0r0,-262r54,0"},"\u216b":{"d":"151,-134r84,134r-64,0r-51,-91r-50,91r-62,0r83,-132r-80,-130r64,0r46,86r48,-86r63,0xm310,-262r0,262r-54,0r0,-262r54,0xm393,-262r0,262r-54,0r0,-262r54,0","w":401},"\u216c":{"d":"83,-262r0,217r125,0r0,45r-179,0r0,-262r54,0","w":219},"\u216d":{"d":"16,-129v0,-81,45,-138,120,-138v61,-1,105,33,110,93r-52,0v-7,-31,-26,-47,-56,-47v-50,1,-68,41,-68,93v-1,50,19,91,66,91v33,0,56,-19,58,-53r53,0v-3,61,-47,98,-113,98v-76,1,-118,-58,-118,-137","w":219},"\u216e":{"d":"245,-131v0,77,-33,131,-115,131r-102,0r0,-262r102,0v88,-2,115,52,115,131xm130,-45v50,-4,59,-31,61,-86v2,-79,-37,-92,-109,-86r0,172r48,0","w":259},"\u216f":{"d":"78,-204r0,204r-54,0r0,-262r80,0r48,208r46,-208r81,0r0,262r-54,0r0,-204r-46,204r-54,0","w":299},"\u2170":{"d":"75,-194r0,194r-51,0r0,-194r51,0xm75,-262r0,45r-51,0r0,-45r51,0","w":98},"\u2171":{"d":"75,-194r0,194r-51,0r0,-194r51,0xm75,-262r0,45r-51,0r0,-45r51,0xm156,-194r0,194r-50,0r0,-194r50,0xm156,-262r0,45r-50,0r0,-45r50,0","w":180},"\u2172":{"d":"75,-194r0,194r-51,0r0,-194r51,0xm75,-262r0,45r-51,0r0,-45r51,0xm156,-194r0,194r-50,0r0,-194r50,0xm156,-262r0,45r-50,0r0,-45r50,0xm240,-194r0,194r-50,0r0,-194r50,0xm240,-262r0,45r-50,0r0,-45r50,0"},"\u2173":{"d":"75,-194r0,194r-51,0r0,-194r51,0xm75,-262r0,45r-51
