
// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console) {
      arguments.callee = arguments.callee.caller;
      console.log( Array.prototype.slice.call(arguments) );
  }
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});


// place any jQuery/helper plugins in here, instead of separate, slower script files.

/*
	Masked Input plugin for jQuery
	Copyright (c) 2007-2009 Josh Bush (digitalbush.com)
	Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) 
	Version: 1.2.2 (03/09/2009 22:39:06)
*/
(function(a){var c=(a.browser.msie?"paste":"input")+".mask";var b=(window.orientation!=undefined);a.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};a.fn.extend({caret:function(e,f){if(this.length==0){return}if(typeof e=="number"){f=(typeof f=="number")?f:e;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,f)}else{if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",f);g.moveStart("character",e);g.select()}}})}else{if(this[0].setSelectionRange){e=this[0].selectionStart;f=this[0].selectionEnd}else{if(document.selection&&document.selection.createRange){var d=document.selection.createRange();e=0-d.duplicate().moveStart("character",-100000);f=e+d.text.length}}return{begin:e,end:f}}},unmask:function(){return this.trigger("unmask")},mask:function(j,d){if(!j&&this.length>0){var f=a(this[0]);var g=f.data("tests");return a.map(f.data("buffer"),function(l,m){return g[m]?l:null}).join("")}d=a.extend({placeholder:"_",completed:null},d);var k=a.mask.definitions;var g=[];var e=j.length;var i=null;var h=j.length;a.each(j.split(""),function(m,l){if(l=="?"){h--;e=m}else{if(k[l]){g.push(new RegExp(k[l]));if(i==null){i=g.length-1}}else{g.push(null)}}});return this.each(function(){var r=a(this);var m=a.map(j.split(""),function(x,y){if(x!="?"){return k[x]?d.placeholder:x}});var n=false;var q=r.val();r.data("buffer",m).data("tests",g);function v(x){while(++x<=h&&!g[x]){}return x}function t(x){while(!g[x]&&--x>=0){}for(var y=x;y<h;y++){if(g[y]){m[y]=d.placeholder;var z=v(y);if(z<h&&g[y].test(m[z])){m[y]=m[z]}else{break}}}s();r.caret(Math.max(i,x))}function u(y){for(var A=y,z=d.placeholder;A<h;A++){if(g[A]){var B=v(A);var x=m[A];m[A]=z;if(B<h&&g[B].test(x)){z=x}else{break}}}}function l(y){var x=a(this).caret();var z=y.keyCode;n=(z<16||(z>16&&z<32)||(z>32&&z<41));if((x.begin-x.end)!=0&&(!n||z==8||z==46)){w(x.begin,x.end)}if(z==8||z==46||(b&&z==127)){t(x.begin+(z==46?0:-1));return false}else{if(z==27){r.val(q);r.caret(0,p());return false}}}function o(B){if(n){n=false;return(B.keyCode==8)?false:null}B=B||window.event;var C=B.charCode||B.keyCode||B.which;var z=a(this).caret();if(B.ctrlKey||B.altKey||B.metaKey){return true}else{if((C>=32&&C<=125)||C>186){var x=v(z.begin-1);if(x<h){var A=String.fromCharCode(C);if(g[x].test(A)){u(x);m[x]=A;s();var y=v(x);a(this).caret(y);if(d.completed&&y==h){d.completed.call(r)}}}}}return false}function w(x,y){for(var z=x;z<y&&z<h;z++){if(g[z]){m[z]=d.placeholder}}}function s(){return r.val(m.join("")).val()}function p(y){var z=r.val();var C=-1;for(var B=0,x=0;B<h;B++){if(g[B]){m[B]=d.placeholder;while(x++<z.length){var A=z.charAt(x-1);if(g[B].test(A)){m[B]=A;C=B;break}}if(x>z.length){break}}else{if(m[B]==z[x]&&B!=e){x++;C=B}}}if(!y&&C+1<e){r.val("");w(0,h)}else{if(y||C+1>=e){s();if(!y){r.val(r.val().substring(0,C+1))}}}return(e?B:i)}if(!r.attr("readonly")){r.one("unmask",function(){r.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){q=r.val();var x=p();s();setTimeout(function(){if(x==j.length){r.caret(0,x)}else{r.caret(x)}},0)}).bind("blur.mask",function(){p();if(r.val()!=q){r.change()}}).bind("keydown.mask",l).bind("keypress.mask",o).bind(c,function(){setTimeout(function(){r.caret(p(true))},0)})}p()})}})})(jQuery);



//  Copyright (c) 2009 Brandon Aaron (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.
//  * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
//  * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
//  *
//  * Version: 3.0.2
//  * 
//  * Requires: 1.2.2+
 
// (function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);

/**
 * LavaLamp - A menu plugin for jQuery with cool hover effects.
 * @requires jQuery v1.1.3.1 or above
 *
 * http://gmarwaha.com/blog/?p=7
 *
 * Copyright (c) 2007 Ganeshji Marwaha (gmarwaha.com)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 0.2.0
 * Requires Jquery 1.2.1 from version 0.2.0 onwards. 
 * For jquery 1.1.x, use version 0.1.0 of lavalamp
 */

/**
 * Creates a menu with an unordered list of menu-items. You can either use the CSS that comes with the plugin, or write your own styles 
 * to create a personalized <effect></effect>
 *
 * The HTML markup used to build the menu can be as simple as...
 *
 *       <ul class="lavaLamp">
 *           <li><a href="#">Home</a></li>
 *           <li><a href="#">Plant a tree</a></li>
 *           <li><a href="#">Travel</a></li>
 *           <li><a href="#">Ride an elephant</a></li>
 *       </ul>
 *
 * Once you have included the style sheet that comes with the plugin, you will have to include 
 * a reference to jquery library, easing plugin(optional) and the LavaLamp(this) plugin.
 *
 * Use the following snippet to initialize the menu.
 *   $(function() { $(".lavaLamp").lavaLamp({ fx: "backout", speed: 700}) });
 *
 * Thats it. Now you should have a working lavalamp menu. 
 *
 * @param an options object - You can specify all the options shown below as an options object param.
 *
 * @option fx - default is "linear"
 * @example
 * $(".lavaLamp").lavaLamp({ fx: "backout" });
 * @desc Creates a menu with "backout" easing effect. You need to include the easing plugin for this to work.
 *
 * @option speed - default is 500 ms
 * @example
 * $(".lavaLamp").lavaLamp({ speed: 500 });
 * @desc Creates a menu with an animation speed of 500 ms.
 *
 * @option click - no defaults
 * @example
 * $(".lavaLamp").lavaLamp({ click: function(event, menuItem) { return false; } });
 * @desc You can supply a callback to be executed when the menu item is clicked. 
 * The event object and the menu-item that was clicked will be passed in as arguments.
 */
(function($) {
$.fn.lavaLamp = function(o) {
    o = $.extend({fx: "linear", speed: 500, click: function(){}}, o || {});

    return this.each(function() {
        var me = $(this), noop = function(){},
            $back = $('<li class="back"><div class="leftlamb"></div></li>').appendTo(me),
            $li = $("li", this), curr = $("li.current", this)[0] || $(this);

        $li.not(".back").mouseover(function(){move(this)},noop);

        $(this).hover(noop, function() {
            move(curr);
        });

        $li.click(function(e) {
            setCurr(this);
            return o.click.apply(this, [e, this]);
        });

        setCurr(curr);
                
        function setCurr(el) {
            $back.css({"left": el.offsetLeft+"px", "width": el.offsetWidth+"px"});
            curr = el;
        };

        function move(el) {
            $back.each(function() {
                $(this).dequeue();}
            ).animate({
                width: el.offsetWidth,
                left: el.offsetLeft
            }, o.speed, o.fx);
        };

    });
};
})(jQuery);





/*!
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.12 (23-MAY-2011)
 * Requires jQuery v1.3.2 or later
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Authors: Dave Methvin and Mike Alsup
 */

/**
 *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
 *
 *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round). 
 *  corners: one or more of: top, bottom, tr, tl, br, or bl.  (default is all corners)
 *  width:   width of the effect; in the case of rounded corners this is the radius. 
 *           specify this value using the px suffix such as 10px (yes, it must be pixels).
 */
;(function($) { 

var style = document.createElement('div').style,
    moz = style['MozBorderRadius'] !== undefined,
    webkit = style['WebkitBorderRadius'] !== undefined,
    radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined,
    mode = document.documentMode || 0,
    noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8),

    expr = $.browser.msie && (function() {
        var div = document.createElement('div');
        try { div.style.setExpression('width','0+0'); div.style.removeExpression('width'); }
        catch(e) { return false; }
        return true;
    })();

$.support = $.support || {};
$.support.borderRadius = moz || webkit || radius; // so you can do:  if (!$.support.borderRadius) $('#myDiv').corner();

function sz(el, p) { 
    return parseInt($.css(el,p))||0; 
};
function hex2(s) {
    s = parseInt(s).toString(16);
    return ( s.length < 2 ) ? '0'+s : s;
};
function gpc(node) {
    while(node) {
        var v = $.css(node,'backgroundColor'), rgb;
        if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') {
            if (v.indexOf('rgb') >= 0) { 
                rgb = v.match(/\d+/g); 
                return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
            }
            return v;
        }
        if (node.nodeName.toLowerCase() == 'html')
            break;
        node = node.parentNode; // keep walking if transparent
    }
    return '#ffffff';
};

function getWidth(fx, i, width) {
    switch(fx) {
    case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
    case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
    case 'sharp':  return width-i;
    case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
    case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
    case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
    case 'curl':   return Math.round(width*(Math.atan(i)));
    case 'tear':   return Math.round(width*(Math.cos(i)));
    case 'wicked': return Math.round(width*(Math.tan(i)));
    case 'long':   return Math.round(width*(Math.sqrt(i)));
    case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
    case 'dogfold':
    case 'dog':    return (i&1) ? (i+1) : width;
    case 'dog2':   return (i&2) ? (i+1) : width;
    case 'dog3':   return (i&3) ? (i+1) : width;
    case 'fray':   return (i%2)*width;
    case 'notch':  return width; 
    case 'bevelfold':
    case 'bevel':  return i+1;
    case 'steep':  return i/2 + 1;
    case 'invsteep':return (width-i)/2+1;
    }
};

$.fn.corner = function(options) {
    // in 1.3+ we can fix mistakes with the ready state
    if (this.length == 0) {
        if (!$.isReady && this.selector) {
            var s = this.selector, c = this.context;
            $(function() {
                $(s,c).corner(options);
            });
        }
        return this;
    }

    return this.each(function(index){
        var $this = $(this),
            // meta values override options
            o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase(),
            keep = /keep/.test(o),                       // keep borders?
            cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]),  // corner color
            sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]),  // strip color
            width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10, // corner width
            re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog|invsteep|steep/,
            fx = ((o.match(re)||['round'])[0]),
            fold = /dogfold|bevelfold/.test(o),
            edges = { T:0, B:1 },
            opts = {
                TL:  /top|tl|left/.test(o),       TR:  /top|tr|right/.test(o),
                BL:  /bottom|bl|left/.test(o),    BR:  /bottom|br|right/.test(o)
            },
            // vars used in func later
            strip, pad, cssHeight, j, bot, d, ds, bw, i, w, e, c, common, $horz;
        
        if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
            opts = { TL:1, TR:1, BL:1, BR:1 };
            
        // support native rounding
        if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) {
            if (opts.TL)
                $this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
            if (opts.TR)
                $this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
            if (opts.BL)
                $this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
            if (opts.BR)
                $this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
            return;
        }
            
        strip = document.createElement('div');
        $(strip).css({
            overflow: 'hidden',
            height: '1px',
            minHeight: '1px',
            fontSize: '1px',
            backgroundColor: sc || 'transparent',
            borderStyle: 'solid'
        });
    
        pad = {
            T: parseInt($.css(this,'paddingTop'))||0,     R: parseInt($.css(this,'paddingRight'))||0,
            B: parseInt($.css(this,'paddingBottom'))||0,  L: parseInt($.css(this,'paddingLeft'))||0
        };

        if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        cssHeight = $(this).outerHeight();

        for (j in edges) {
            bot = edges[j];
            // only add stips if needed
            if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
                strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
                d = document.createElement('div');
                $(d).addClass('jquery-corner');
                ds = d.style;

                bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

                if (bot && cssHeight != 'auto') {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.bottom = ds.left = ds.padding = ds.margin = '0';
                    if (expr)
                        ds.setExpression('width', 'this.parentNode.offsetWidth');
                    else
                        ds.width = '100%';
                }
                else if (!bot && $.browser.msie) {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';
                    
                    // fix ie6 problem when blocked element has a border width
                    if (expr) {
                        bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
                        ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
                    }
                    else
                        ds.width = '100%';
                }
                else {
                    ds.position = 'relative';
                    ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
                                        (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
                }

                for (i=0; i < width; i++) {
                    w = Math.max(0,getWidth(fx,i, width));
                    e = strip.cloneNode(false);
                    e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                    bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
                }
                
                if (fold && $.support.boxModel) {
                    if (bot && noBottomFold) continue;
                    for (c in opts) {
                        if (!opts[c]) continue;
                        if (bot && (c == 'TL' || c == 'TR')) continue;
                        if (!bot && (c == 'BL' || c == 'BR')) continue;
                        
                        common = { position: 'absolute', border: 'none', margin: 0, padding: 0, overflow: 'hidden', backgroundColor: strip.style.borderColor };
                        $horz = $('<div/>').css(common).css({ width: width + 'px', height: '1px' });
                        switch(c) {
                        case 'TL': $horz.css({ bottom: 0, left: 0 }); break;
                        case 'TR': $horz.css({ bottom: 0, right: 0 }); break;
                        case 'BL': $horz.css({ top: 0, left: 0 }); break;
                        case 'BR': $horz.css({ top: 0, right: 0 }); break;
                        }
                        d.appendChild($horz[0]);
                        
                        var $vert = $('<div/>').css(common).css({ top: 0, bottom: 0, width: '1px', height: width + 'px' });
                        switch(c) {
                        case 'TL': $vert.css({ left: width }); break;
                        case 'TR': $vert.css({ right: width }); break;
                        case 'BL': $vert.css({ left: width }); break;
                        case 'BR': $vert.css({ right: width }); break;
                        }
                        d.appendChild($vert[0]);
                    }
                }
            }
        }
    });
};

$.fn.uncorner = function() { 
    if (radius || moz || webkit)
        this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
    $('div.jquery-corner', this).remove();
    return this;
};

// expose options
$.fn.corner.defaults = {
    useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
    metaAttr:  'data-corner' // name of meta attribute to use for options
};
    
})(jQuery);


/**
 * jGrowl 1.2.6
 *
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Written by Stan Lemon <stosh1985@gmail.com>
 * Last updated: 2011.03.27
 *
 * jGrowl is a jQuery plugin implementing unobtrusive userland notifications.  These 
 * notifications function similarly to the Growl Framework available for
 * Mac OS X (http://growl.info).
 *
 * To Do:
 * - Move library settings to containers and allow them to be changed per container
 *
 * Changes in 1.2.6
 * - Fixed js error when a notification is opening and closing at the same time
 * 
 * Changes in 1.2.5
 * - Changed wrapper jGrowl's options usage to "o" instead of $.jGrowl.defaults
 * - Added themeState option to control 'highlight' or 'error' for jQuery UI
 * - Ammended some CSS to provide default positioning for nested usage.
 * - Changed some CSS to be prefixed with jGrowl- to prevent namespacing issues
 * - Added two new options - openDuration and closeDuration to allow 
 *   better control of notification open and close speeds, respectively 
 *   Patch contributed by Jesse Vincet.
 * - Added afterOpen callback.  Patch contributed by Russel Branca.
 *
 * Changes in 1.2.4
 * - Fixed IE bug with the close-all button
 * - Fixed IE bug with the filter CSS attribute (special thanks to gotwic)
 * - Update IE opacity CSS
 * - Changed font sizes to use "em", and only set the base style
 *
 * Changes in 1.2.3
 * - The callbacks no longer use the container as context, instead they use the actual notification
 * - The callbacks now receive the container as a parameter after the options parameter
 * - beforeOpen and beforeClose now check the return value, if it's false - the notification does
 *   not continue.  The open callback will also halt execution if it returns false.
 * - Fixed bug where containers would get confused
 * - Expanded the pause functionality to pause an entire container.
 *
 * Changes in 1.2.2
 * - Notification can now be theme rolled for jQuery UI, special thanks to Jeff Chan!
 *
 * Changes in 1.2.1
 * - Fixed instance where the interval would fire the close method multiple times.
 * - Added CSS to hide from print media
 * - Fixed issue with closer button when div { position: relative } is set
 * - Fixed leaking issue with multiple containers.  Special thanks to Matthew Hanlon!
 *
 * Changes in 1.2.0
 * - Added message pooling to limit the number of messages appearing at a given time.
 * - Closing a notification is now bound to the notification object and triggered by the close button.
 *
 * Changes in 1.1.2
 * - Added iPhone styled example
 * - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied.
 * - Added template for the close button, so that it's content could be customized.
 *
 * Changes in 1.1.1
 * - Fixed CSS styling bug for ie6 caused by a mispelling
 * - Changes height restriction on default notifications to min-height
 * - Added skinned examples using a variety of images
 * - Added the ability to customize the content of the [close all] box
 * - Added jTweet, an example of using jGrowl + Twitter
 *
 * Changes in 1.1.0
 * - Multiple container and instances.
 * - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container.
 * - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName)
 * - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container
 * - Added new log callback which is called before anything is done for the notification
 * - Corner's attribute are now applied on an individual notification basis.
 *
 * Changes in 1.0.4
 * - Various CSS fixes so that jGrowl renders correctly in IE6.
 *
 * Changes in 1.0.3
 * - Fixed bug with options persisting across notifications
 * - Fixed theme application bug
 * - Simplified some selectors and manipulations.
 * - Added beforeOpen and beforeClose callbacks
 * - Reorganized some lines of code to be more readable
 * - Removed unnecessary this.defaults context
 * - If corners plugin is present, it's now customizable.
 * - Customizable open animation.
 * - Customizable close animation.
 * - Customizable animation easing.
 * - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center)
 *
 * Changes in 1.0.2
 * - All CSS styling is now external.
 * - Added a theme parameter which specifies a secondary class for styling, such
 *   that notifications can be customized in appearance on a per message basis.
 * - Notification life span is now customizable on a per message basis.
 * - Added the ability to disable the global closer, enabled by default.
 * - Added callbacks for when a notification is opened or closed.
 * - Added callback for the global closer.
 * - Customizable animation speed.
 * - jGrowl now set itself up and tears itself down.
 *
 * Changes in 1.0.1:
 * - Removed dependency on metadata plugin in favor of .data()
 * - Namespaced all events
 */
(function($) {

	/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
	$.jGrowl = function( m , o ) {
		// To maintain compatibility with older version that only supported one instance we'll create the base container.
		if ( $('#jGrowl').size() == 0 ) 
			$('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo('body');

		// Create a notification on the container.
		$('#jGrowl').jGrowl(m,o);
	};


	/** Raise jGrowl Notification on a jGrowl Container **/
	$.fn.jGrowl = function( m , o ) {
		if ( $.isFunction(this.each) ) {
			var args = arguments;

			return this.each(function() {
				var self = this;

				/** Create a jGrowl Instance on the Container if it does not exist **/
				if ( $(this).data('jGrowl.instance') == undefined ) {
					$(this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], element: null, interval: null } ));
					$(this).data('jGrowl.instance').startup( this );
				}

				/** Optionally call jGrowl instance methods, or just raise a normal notification **/
				if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
					$(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
				} else {
					$(this).data('jGrowl.instance').create( m , o );
				}
			});
		};
	};

	$.extend( $.fn.jGrowl.prototype , {

		/** Default JGrowl Settings **/
		defaults: {
			pool: 			0,
			header: 		'',
			group: 			'',
			sticky: 		false,
			position: 		'top-right',
			glue: 			'after',
			theme: 			'default',
			themeState: 	'highlight',
			corners: 		'10px',
			check: 			250,
			life: 			3000,
			closeDuration:  'normal',
			openDuration:   'normal',
			easing: 		'swing',
			closer: 		true,
			closeTemplate: '&times;',
			closerTemplate: '<div>[ close all ]</div>',
			log: 			function(e,m,o) {},
			beforeOpen: 	function(e,m,o) {},
			afterOpen: 		function(e,m,o) {},
			open: 			function(e,m,o) {},
			beforeClose: 	function(e,m,o) {},
			close: 			function(e,m,o) {},
			animateOpen: 	{
				opacity: 	'show'
			},
			animateClose: 	{
				opacity: 	'hide'
			}
		},
		
		notifications: [],
		
		/** jGrowl Container Node **/
		element: 	null,
	
		/** Interval Function **/
		interval:   null,
		
		/** Create a Notification **/
		create: 	function( message , o ) {
			var o = $.extend({}, this.defaults, o);

			/* To keep backward compatibility with 1.24 and earlier, honor 'speed' if the user has set it */
			if (typeof o.speed !== 'undefined') {
				o.openDuration = o.speed;
				o.closeDuration = o.speed;
			}

			this.notifications.push({ message: message , options: o });
			
			o.log.apply( this.element , [this.element,message,o] );
		},
		
		render: 		function( notification ) {
			var self = this;
			var message = notification.message;
			var o = notification.options;

			// Support for jQuery theme-states, if this is not used it displays a widget header
			o.themeState = (o.themeState == '') ? '' : 'ui-state-' + o.themeState;

			var notification = $(
				'<div class="jGrowl-notification ' + o.themeState + ' ui-corner-all' + 
				((o.group != undefined && o.group != '') ? ' ' + o.group : '') + '">' +
				'<div class="jGrowl-close">' + o.closeTemplate + '</div>' +
				'<div class="jGrowl-header">' + o.header + '</div>' +
				'<div class="jGrowl-message">' + message + '</div></div>'
			).data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl", function() {
				$(this).parent().trigger('jGrowl.close');
			}).parent();


			/** Notification Actions **/
			$(notification).bind("mouseover.jGrowl", function() {
				$('div.jGrowl-notification', self.element).data("jGrowl.pause", true);
			}).bind("mouseout.jGrowl", function() {
				$('div.jGrowl-notification', self.element).data("jGrowl.pause", false);
			}).bind('jGrowl.beforeOpen', function() {
				if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) != false ) {
					$(this).trigger('jGrowl.open');
				}
			}).bind('jGrowl.open', function() {
				if ( o.open.apply( notification , [notification,message,o,self.element] ) != false ) {
					if ( o.glue == 'after' ) {
						$('div.jGrowl-notification:last', self.element).after(notification);
					} else {
						$('div.jGrowl-notification:first', self.element).before(notification);
					}
					
					$(this).animate(o.animateOpen, o.openDuration, o.easing, function() {
						// Fixes some anti-aliasing issues with IE filters.
						if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0))
							this.style.removeAttribute('filter');

						if ( $(this).data("jGrowl") != null ) // Happens when a notification is closing before it's open.
							$(this).data("jGrowl").created = new Date();
						
						$(this).trigger('jGrowl.afterOpen');
					});
				}
			}).bind('jGrowl.afterOpen', function() {
				o.afterOpen.apply( notification , [notification,message,o,self.element] );
			}).bind('jGrowl.beforeClose', function() {
				if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) != false )
					$(this).trigger('jGrowl.close');
			}).bind('jGrowl.close', function() {
				// Pause the notification, lest during the course of animation another close event gets called.
				$(this).data('jGrowl.pause', true);
				$(this).animate(o.animateClose, o.closeDuration, o.easing, function() {
					if ( $.isFunction(o.close) ) {
						if ( o.close.apply( notification , [notification,message,o,self.element] ) !== false )
							$(this).remove();
					} else {
						$(this).remove();
					}
				});
			}).trigger('jGrowl.beforeOpen');
		
			/** Optional Corners Plugin **/
			if ( o.corners != '' && $.fn.corner != undefined ) $(notification).corner( o.corners );

			/** Add a Global Closer if more than one notification exists **/
			if ( $('div.jGrowl-notification:parent', self.element).size() > 1 && 
				 $('div.jGrowl-closer', self.element).size() == 0 && this.defaults.closer != false ) {
				$(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme)
					.appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing)
					.bind("click.jGrowl", function() {
						$(this).siblings().trigger("jGrowl.beforeClose");

						if ( $.isFunction( self.defaults.closer ) ) {
							self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
						}
					});
			};
		},

		/** Update the jGrowl Container, removing old jGrowl notifications **/
		update:	 function() {
			$(this.element).find('div.jGrowl-notification:parent').each( function() {
				if ( $(this).data("jGrowl") != undefined && $(this).data("jGrowl").created != undefined && 
					 ($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life))  < (new Date()).getTime() && 
					 $(this).data("jGrowl").sticky != true && 
					 ($(this).data("jGrowl.pause") == undefined || $(this).data("jGrowl.pause") != true) ) {

					// Pause the notification, lest during the course of animation another close event gets called.
					$(this).trigger('jGrowl.beforeClose');
				}
			});

			if ( this.notifications.length > 0 && 
				 (this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) )
				this.render( this.notifications.shift() );

			if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
				$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
					$(this).remove();
				});
			}
		},

		/** Setup the jGrowl Notification Container **/
		startup:	function(e) {
			this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
			this.interval = setInterval( function() { 
				$(e).data('jGrowl.instance').update(); 
			}, parseInt(this.defaults.check));
			
			if ($.browser.msie && parseInt($.browser.version) < 7 && !window["XMLHttpRequest"]) {
				$(this.element).addClass('ie6');
			}
		},

		/** Shutdown jGrowl, removing it and clearing the interval **/
		shutdown:   function() {
			$(this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();
			clearInterval( this.interval );
		},
		
		close: 	function() {
			$(this.element).find('div.jGrowl-notification').each(function(){
				$(this).trigger('jGrowl.beforeClose');
			});
		}
	});
	
	/** Reference the Defaults Object for compatibility with older versions of jGrowl **/
	$.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;

})(jQuery);


/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Â© 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Â© 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */


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

/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 *  ITC Franklin Gothic is a trademark of The International Typeface Corporation
 * which may be registered in certain jurisdictions. Portions copyright Microsoft
 * Corporation.  All rights reserved.
 * 
 * Trademark:
 * ITC Franklin Gothic is a trademark of The International Typeface Corporation
 * which may be registered in certain jurisdictions.
 * 
 * Description:
 * Designed in 1902 by Morris Fuller Benton for the American Type Founders
 * company, Franklin Gothic still reigns as one of the most-widely used sans serif
 * typefaces. Originally issued in only one weight, the ATF version of Franklin
 * Gothic was eventually expanded to include five additional weights, but no light
 * or intermediate weights were ever developed. In 1979, under license from ATF,
 * ITC developed four new weights in roman and italic: book, medium, demi and
 * heavy. Designed by Victor Caruso, ITCs new weights matched the original faces
 * characteristics, but featured a slightly enlarged lowercase x-height. ITC
 * Franklin Gothic also features a slightly condensed lowercase a-z alphabet. In
 * 1991, ITC commissioned the Font Bureau in Boston to create condensed, compressed
 * and extra compressed versions of ITC Franklin Gothic, which increased the
 * flexibility and usefulness of the design.
 * 
 * Manufacturer:
 * International Typeface Corporation
 * 
 * Designer:
 * Victor Caruso
 * 
 * Vendor URL:
 * http://www.itcfonts.com
 * 
 * License information:
 * http://www.itcfonts.com/itc/licensing.html
 */
Cufon.registerFont({"w":211,"face":{"font-family":"Franklin Gothic Book","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 5 3 2 1 2 2 2 4","ascent":"288","descent":"-72","x-height":"5","bbox":"-22 -309 287 72.0813","underline-thickness":"17.9297","underline-position":"-18.1055","unicode-range":"U+0020-U+015F"},"glyphs":{" ":{"w":90},"!":{"d":"55,-60r-14,0r-13,-180r41,0xm67,0r-37,0r0,-37r37,0r0,37","w":96},"\"":{"d":"41,-147r-17,0r-5,-93r28,0xm90,-147r-18,0r-5,-93r28,0","w":113},"#":{"d":"200,-170r-4,22r-37,0r-9,50r37,0r-4,22r-37,0r-13,76r-23,0r13,-76r-51,0r-13,76r-23,0r14,-76r-39,0r4,-22r38,0r9,-50r-38,0r4,-22r38,0r13,-70r23,0r-13,70r51,0r12,-70r23,0r-12,70r37,0xm136,-148r-51,0r-9,50r51,0"},"$":{"d":"114,-137v98,6,92,129,0,129r0,34r-22,0r0,-34v-39,-4,-64,-23,-75,-55r24,-9v9,25,26,38,51,40r0,-81v-43,-11,-65,-22,-65,-61v0,-34,21,-55,65,-62r0,-29r22,0r0,29v35,3,57,19,68,47r-24,7v-6,-19,-21,-29,-44,-31r0,76xm92,-213v-22,2,-40,14,-40,36v0,19,14,31,40,36r0,-72xm114,-32v25,0,45,-15,45,-38v0,-22,-15,-34,-45,-38r0,76"},"%":{"d":"112,-179v0,32,-18,61,-49,61v-31,0,-50,-30,-50,-62v0,-32,17,-62,49,-62v34,0,50,30,50,63xm63,-131v40,-1,42,-98,-1,-98v-20,0,-30,16,-30,48v0,33,10,50,31,50xm68,0r-22,0r145,-240r22,0xm246,-59v1,31,-18,61,-49,61v-32,0,-51,-30,-50,-62v1,-32,16,-62,49,-62v33,0,50,31,50,63xm227,-58v0,-25,-7,-51,-31,-51v-20,0,-30,16,-30,48v0,33,10,49,31,49v22,1,31,-23,30,-46","w":259},"&":{"d":"108,-245v32,0,56,19,56,51v0,26,-16,47,-50,63r50,76v16,-21,28,-46,33,-76r26,5v-7,35,-23,65,-45,90v16,14,22,13,49,11r0,25v-34,6,-46,3,-66,-19v-47,46,-147,22,-145,-47v1,-40,26,-63,62,-74v-38,-44,-28,-105,30,-105xm142,-192v4,-35,-61,-42,-61,-5v0,10,7,26,21,48v27,-16,38,-18,40,-43xm46,-68v-3,53,71,65,101,31r-58,-85v-28,13,-41,22,-43,54","w":239},"'":{"d":"41,-147r-17,0r-5,-93r28,0","w":65},"(":{"d":"89,60r-19,0v-68,-89,-68,-208,0,-300r19,0v-60,87,-60,210,0,300","w":105},")":{"d":"17,-240r18,0v70,89,69,208,0,300r-18,0v59,-87,59,-210,0,-300","w":105},"*":{"d":"99,-174r-7,-66r27,0r-7,66r63,-27r8,25r-68,14r45,49r-22,16r-33,-57r-32,57r-22,-16r45,-49r-68,-14r8,-25"},"+":{"d":"22,-132r70,0r0,-74r27,0r0,74r71,0r0,24r-71,0r0,74r-27,0r0,-74r-70,0r0,-24"},",":{"d":"64,-40r0,36r-26,49r-15,0r21,-45r-18,0r0,-40r38,0","w":90,"k":{"1":14}},"-":{"d":"85,-101r0,22r-80,0r0,-22r80,0","w":90,"k":{"Y":13,"W":-2,"T":12,"A":-9}},".":{"d":"65,-39r0,39r-40,0r0,-39r40,0","w":90,"k":{"1":14}},"\/":{"d":"7,60r-24,0r145,-300r24,0","w":163},"0":{"d":"197,-119v1,61,-31,125,-91,124v-59,-1,-91,-61,-91,-125v0,-64,29,-125,90,-125v61,0,92,64,92,126xm105,-221v-85,1,-81,202,1,202v85,-1,80,-201,-1,-202","k":{"7":20,"1":14}},"1":{"d":"201,-22r0,22r-168,0r0,-22r72,0r0,-186v-21,22,-43,40,-66,52r0,-30v32,-17,56,-36,73,-59r22,0r0,223r67,0","k":{"9":5,"8":2,"7":25,"6":12,"5":5,"4":12,"3":3,"1":7,"0":12,".":2,",":3}},"2":{"d":"105,-245v62,0,105,59,72,113v-25,41,-72,72,-120,107r132,0r0,25r-170,0r0,-25v67,-50,106,-85,120,-100v35,-38,17,-98,-35,-96v-31,0,-55,24,-57,55r-28,-8v12,-47,40,-71,86,-71","k":{"7":16,"4":16,"1":13}},"3":{"d":"162,-66v0,-41,-44,-51,-92,-47r0,-24v44,3,83,-4,83,-42v0,-27,-23,-42,-51,-42v-27,0,-46,13,-56,39r-27,-8v19,-75,162,-73,165,9v0,29,-21,50,-47,55v29,3,56,27,56,60v0,64,-96,91,-149,55v-16,-11,-27,-25,-33,-43r27,-9v8,29,30,43,63,43v39,0,61,-16,61,-46","k":{"7":18,"1":17}},"4":{"d":"159,0r-29,0r0,-57r-119,0r0,-20r110,-168r38,0r0,164r39,0r0,24r-39,0r0,57xm130,-81r0,-140v-28,50,-59,92,-88,140r88,0","k":{"7":23,"4":-2,"1":24}},"5":{"d":"163,-79v2,-64,-86,-79,-113,-26r-24,-5r8,-130r142,0r-3,26r-117,0r-6,78v50,-55,142,-15,142,57v0,94,-154,114,-177,27r26,-9v11,28,31,42,60,42v37,0,62,-24,62,-60","k":{"7":16,"1":21}},"6":{"d":"18,-115v0,-68,30,-131,98,-130v38,0,64,18,77,54r-27,7v-9,-24,-27,-36,-51,-36v-45,0,-68,38,-69,112v11,-29,37,-48,72,-49v43,-2,79,37,79,79v0,45,-39,84,-86,83v-61,-1,-94,-53,-93,-120xm53,-75v0,30,26,56,58,56v32,0,58,-26,58,-57v1,-30,-26,-57,-56,-57v-30,0,-60,28,-60,58","k":{"4":-2,"1":14}},"7":{"d":"186,-222v-49,59,-84,128,-85,222r-31,0v1,-85,42,-167,85,-214r-130,0r3,-26r158,0r0,18","k":{":":27,"7":10,"6":25,"4":38,"1":30,".":40}},"8":{"d":"107,5v-52,0,-94,-25,-94,-67v0,-27,19,-47,57,-62v-78,-27,-45,-121,37,-121v44,0,81,21,81,61v0,25,-16,44,-47,55v38,19,57,28,57,66v0,43,-42,68,-91,68xm108,-222v-42,-3,-73,41,-37,66v11,8,24,14,36,17v31,-9,55,-16,55,-45v0,-27,-26,-36,-54,-38xm108,-18v31,0,60,-15,61,-42v0,-23,-22,-41,-66,-52v-41,10,-61,27,-61,51v0,30,29,43,66,43","k":{"7":14,"4":-3,"1":14}},"9":{"d":"193,-126v0,71,-31,131,-98,131v-37,0,-61,-17,-74,-49r24,-9v16,44,80,44,102,5v11,-20,17,-45,17,-78v-32,74,-149,45,-149,-36v0,-46,37,-84,84,-83v64,1,94,50,94,119xm44,-163v-1,32,25,56,56,56v32,0,59,-28,59,-58v1,-30,-26,-55,-58,-55v-34,0,-57,25,-57,57","k":{"7":21,"4":2,"1":15}},":":{"d":"65,-178r0,40r-40,0r0,-40r40,0xm65,-40r0,40r-40,0r0,-40r40,0","w":90},";":{"d":"64,-178r0,39r-38,0r0,-39r38,0xm64,-40r0,36r-26,49r-15,0r21,-45r-18,0r0,-40r38,0","w":90},"\u037e":{"d":"64,-178r0,39r-38,0r0,-39r38,0xm64,-40r0,36r-26,49r-15,0r21,-45r-18,0r0,-40r38,0","w":90},"<":{"d":"180,-204r0,27r-127,58r127,58r0,27r-156,-73r0,-24"},"=":{"d":"22,-164r168,0r0,25r-168,0r0,-25xm22,-107r168,0r0,25r-168,0r0,-25"},">":{"d":"31,-34r0,-27r127,-58r-127,-58r0,-27r156,74r0,23"},"?":{"d":"89,-245v44,0,79,28,79,69v8,35,-48,61,-69,79v-7,6,-5,23,-5,37r-25,0v0,-18,1,-29,1,-34v4,-43,67,-35,67,-83v0,-25,-23,-43,-49,-43v-30,0,-48,17,-55,52r-26,-6v9,-47,36,-71,82,-71xm100,-35r0,35r-35,0r0,-35r35,0","w":181},"@":{"d":"70,-115v-6,-56,66,-97,100,-51r2,-17r24,0r-11,98v0,8,4,12,12,12v20,-2,35,-36,35,-63v0,-51,-42,-87,-93,-87v-55,0,-101,48,-101,103v0,91,107,130,185,83r8,21v-27,14,-57,21,-87,21v-76,0,-130,-55,-130,-125v-1,-69,57,-125,125,-125v62,0,115,47,115,107v0,40,-25,88,-61,88v-14,0,-23,-8,-28,-22v-31,47,-100,11,-95,-43xm134,-163v-43,-2,-52,88,-7,90v41,1,55,-87,7,-90","w":268},"A":{"d":"192,0r-31,0r-24,-70r-89,0r-22,70r-25,0r78,-240r34,0xm130,-93r-37,-115r-37,115r74,0","w":192,"k":{"y":9,"w":8,"v":9,"u":6,"t":5,"q":4,"o":4,"g":-4,"e":4,"d":4,"c":3,"b":3,"Y":22,"W":14,"V":16,"U":8,"T":24,"Q":9,"O":9,"G":9,"C":9,".":-5,"-":-6,",":-4}},"B":{"d":"203,-66v0,42,-31,66,-78,66r-95,0r0,-240r95,0v75,-8,97,95,28,113v30,6,50,28,50,61xm166,-179v-1,-45,-61,-37,-107,-37r0,79v50,1,109,6,107,-42xm173,-68v0,-53,-60,-47,-114,-46r0,88v51,0,114,8,114,-42","w":217,"k":{"Y":6,"W":5,"V":4}},"C":{"d":"48,-118v0,50,20,97,65,97v31,0,51,-20,61,-60r27,6v-13,53,-43,80,-89,80v-63,0,-97,-61,-97,-127v0,-69,36,-122,100,-123v45,0,73,26,86,77r-28,6v-10,-38,-30,-57,-59,-57v-48,1,-66,46,-66,101","w":208},"D":{"d":"218,-121v0,63,-39,121,-98,121r-90,0r0,-240r81,0v66,-2,107,54,107,119xm188,-123v-1,-47,-27,-94,-79,-92r-49,0r0,190r49,0v54,1,79,-43,79,-98","w":232,"k":{"Y":13,"V":8,"T":11,"J":11,"A":7}},"E":{"d":"185,-26r0,26r-155,0r0,-240r152,0r0,26r-122,0r0,77r97,0r0,24r-97,0r0,87r125,0","w":197},"F":{"d":"60,0r-30,0r0,-240r147,0r0,26r-117,0r0,76r97,0r0,24r-97,0r0,114","w":182,"k":{"u":12,"r":12,"o":7,"e":7,"a":7,"O":5,"J":26,"A":17,".":33,",":33}},"G":{"d":"118,-20v40,0,63,-30,59,-76r-60,0r0,-25r91,0r0,124r-19,0r-8,-30v-15,21,-37,32,-66,32v-64,2,-100,-58,-100,-123v0,-68,39,-127,104,-127v44,0,73,24,86,70r-28,7v-6,-31,-28,-50,-60,-51v-51,0,-68,48,-69,100v-1,54,21,98,70,99","w":232,"k":{"Y":13,"W":8,"V":10,"T":11,"A":-2}},"H":{"d":"201,0r-30,0r0,-114r-111,0r0,114r-30,0r0,-240r30,0r0,99r111,0r0,-99r30,0r0,240","w":231},"I":{"d":"60,0r-30,0r0,-240r30,0r0,240","w":90},"J":{"d":"0,-25v43,9,77,5,77,-48r0,-167r30,0r0,167v4,68,-47,88,-107,73r0,-25","w":134,"k":{"A":5}},"K":{"d":"220,0r-33,0r-72,-132r-55,68r0,64r-30,0r0,-240r30,0r0,139r109,-139r32,0r-65,84","w":226,"k":{"y":17,"u":12,"o":9,"e":9,"a":2,"O":13,"G":14,"C":13,"-":2}},"L":{"d":"172,-26r0,26r-142,0r0,-240r31,0r0,214r111,0","w":176,"k":{"y":16,"u":5,"Y":25,"W":18,"V":24,"U":5,"T":23,"O":8,"G":9,"C":9,"-":32}},"M":{"d":"262,0r-29,0r0,-210r-78,210r-21,0r-78,-210r0,210r-26,0r0,-240r45,0r72,192r71,-192r44,0r0,240","w":291},"N":{"d":"207,0r-29,0r-125,-209r1,209r-24,0r0,-240r38,0r116,196r-1,-196r24,0r0,240","w":236,"k":{"u":3}},"O":{"d":"212,-122v0,64,-35,127,-99,127v-64,0,-98,-59,-98,-124v0,-66,36,-127,99,-126v62,0,98,58,98,123xm113,-220v-90,0,-90,201,1,200v47,0,68,-50,67,-102v0,-54,-21,-98,-68,-98","w":227,"k":{"Y":12,"X":9,"W":6,"V":8,"T":11,"A":7}},"P":{"d":"193,-169v1,64,-62,79,-133,72r0,97r-30,0r0,-240r85,0v48,-1,78,29,78,71xm163,-169v0,-25,-18,-47,-46,-46r-57,0r0,93v51,2,105,3,103,-47","w":201,"k":{"o":5,"e":5,"a":2,"J":28,"A":14,".":35,",":35}},"Q":{"d":"198,53v-42,11,-86,-1,-84,-48v-64,1,-99,-57,-99,-123v0,-68,36,-127,99,-127v123,0,126,224,24,247v-5,31,34,34,60,27r0,24xm113,-220v-90,0,-90,201,1,200v47,0,68,-50,67,-102v0,-54,-21,-98,-68,-98","w":227},"R":{"d":"125,-240v82,-10,101,111,31,129r47,111r-32,0r-44,-104r-69,0r0,104r-28,0r0,-240r95,0xm170,-173v0,-50,-62,-41,-112,-41r0,86v53,1,112,7,112,-45","w":220,"k":{"y":-3,"u":7,"o":6,"e":6,"Y":6,"W":5,"V":4,"U":3,"T":3,"O":5,"G":5,"C":4,"-":2}},"S":{"d":"190,-68v-1,45,-37,73,-88,73v-50,0,-82,-23,-98,-69r27,-6v9,59,124,70,128,5v-11,-73,-142,-17,-143,-114v-1,-42,37,-67,81,-66v44,0,71,20,85,59r-27,8v-4,-26,-33,-41,-60,-42v-25,0,-50,13,-50,39v0,33,53,39,84,47v41,10,61,32,61,66","w":204,"k":{"Y":9,"W":7,"V":6,"T":7}},"T":{"d":"102,0r-30,0r0,-214r-68,0r0,-26r167,0r0,26r-69,0r0,214","w":174,"k":{"y":23,"w":25,"v":24,"u":25,"s":20,"r":24,"o":23,"g":23,"e":23,"c":23,"a":24,"Y":-14,"W":-10,"V":-12,"O":11,"J":21,"G":12,"C":10,"A":22,";":26,":":26,".":22,"-":12,",":23}},"U":{"d":"110,-22v39,1,57,-20,57,-61r0,-157r25,0r0,157v1,58,-30,85,-84,88v-116,6,-75,-143,-82,-245r30,0r0,157v-1,44,16,60,54,61","w":218,"k":{"r":2,"p":2,"n":2,"m":2,"A":6,".":4,",":5}},"V":{"d":"192,-240r-81,240r-29,0r-81,-240r32,0r66,198r67,-198r26,0","w":193,"k":{"y":-2,"u":12,"r":10,"o":13,"g":12,"e":13,"a":12,"T":-12,"S":2,"O":8,"G":8,"C":7,"A":13,";":10,":":9,".":20,",":21}},"W":{"d":"287,-240r-57,240r-30,0r-53,-186r-49,186r-30,0r-61,-240r31,0r48,194r51,-194r24,0r55,194r45,-194r26,0","w":294,"k":{"y":-2,"u":10,"r":9,"o":8,"g":8,"e":9,"a":9,"T":-10,"S":2,"O":5,"G":5,"C":4,"A":10,":":9,".":13,"-":-3,",":14}},"X":{"d":"177,-240r-68,110r77,130r-34,0r-60,-102r-63,102r-28,0r77,-124r-69,-116r34,0r52,89r54,-89r28,0","w":187,"k":{"y":11,"o":7,"e":7,"Q":9,"O":9,"C":9,"-":2}},"Y":{"d":"187,-240r-80,139r0,101r-30,0r0,-101r-81,-139r36,0r64,110r64,-110r27,0","w":183,"k":{"v":5,"u":18,"p":16,"o":21,"g":20,"e":22,"a":22,"T":-14,"S":4,"O":13,"G":13,"C":12,"A":19,";":16,":":15,".":24,"-":13,",":25}},"Z":{"d":"179,-26r0,26r-169,0r0,-26r130,-188r-124,0r0,-24r159,0r0,20r-132,192r136,0","w":187},"[":{"d":"91,60r-63,0r0,-300r63,0r0,19r-38,0r0,262r38,0r0,19","w":105},"\\":{"d":"157,60r-145,-300r24,0r144,300r-23,0","w":163},"]":{"d":"15,-240r62,0r0,300r-62,0r0,-19r38,0r0,-262r-38,0r0,-19","w":105},"^":{"d":"171,-131r-29,0r-52,-88r-52,88r-29,0r63,-110r36,0","w":180},"_":{"d":"0,24r180,0r0,24r-180,0r0,-24","w":180},"`":{"d":"33,-238r11,-21r69,40r-7,14","w":180},"a":{"d":"95,-182v96,0,58,104,72,182r-28,0v-1,-6,-2,-16,-3,-32v-20,55,-127,47,-124,-17v3,-53,57,-67,124,-61v2,-38,-12,-51,-45,-51v-28,0,-44,11,-49,32r-25,-4v6,-33,32,-49,78,-49xm79,-17v36,0,64,-33,57,-72v-47,-4,-93,2,-95,41v-1,19,17,32,38,31","w":190,"k":{"y":8,"w":7,"v":8}},"b":{"d":"179,-88v0,48,-28,94,-73,93v-24,0,-42,-11,-55,-34r-10,29r-13,0r0,-240r27,0r0,92v38,-69,124,-23,124,60xm103,-160v-40,0,-51,42,-48,90v2,31,21,52,48,52v32,0,47,-31,47,-68v0,-40,-12,-74,-47,-74","w":193,"k":{"y":5,"w":4,"v":5}},"c":{"d":"43,-90v0,39,12,71,46,72v23,0,38,-14,44,-44r25,4v-7,36,-30,62,-69,63v-49,1,-75,-43,-75,-93v0,-71,68,-124,122,-77v13,11,19,27,22,45r-25,4v-5,-29,-19,-44,-43,-44v-33,1,-47,33,-47,70","w":167},"d":{"d":"14,-87v0,-49,25,-95,72,-95v21,0,40,10,53,29r0,-87r27,0r0,240r-25,0r0,-30v-12,23,-31,35,-56,35v-45,0,-71,-43,-71,-92xm90,-18v40,0,53,-42,49,-91v-2,-29,-21,-51,-48,-51v-32,0,-47,31,-47,69v0,41,12,73,46,73","w":193},"e":{"d":"44,-86v-9,73,80,91,101,33r26,5v-8,29,-39,54,-76,53v-49,0,-81,-40,-81,-93v0,-78,88,-125,138,-70v14,16,21,40,21,72r-129,0xm143,-107v5,-47,-50,-71,-81,-40v-10,10,-15,23,-16,40r97,0","w":187,"k":{"y":6,"x":6,"w":6,"v":7,"t":2}},"f":{"d":"112,-220v-32,-9,-58,2,-53,42r42,0r0,22r-42,0r0,156r-28,0r0,-156r-30,0r0,-22r30,0v-2,-58,30,-74,81,-64r0,22","w":107,"k":{"t":-10,"o":8,"j":-2,"i":-2,"f":-9,"e":9,"a":3}},"g":{"d":"87,-61v-27,-11,-57,11,-32,27v27,8,101,-2,115,23v26,46,-6,81,-80,78v-66,11,-111,-56,-54,-82v-26,-17,-22,-49,7,-60v-63,-52,10,-134,81,-100v4,-26,21,-32,49,-30r0,22v-24,0,-31,2,-34,20v38,41,5,106,-52,102xm49,-121v1,22,16,39,39,39v24,0,40,-16,40,-39v1,-23,-18,-40,-39,-40v-22,0,-41,16,-40,40xm153,18v0,-35,-69,-18,-98,-25v-13,6,-19,13,-19,24v1,21,31,29,56,29v24,0,61,-5,61,-28","w":176},"h":{"d":"55,-145v27,-62,112,-43,112,37r0,108r-28,0v-7,-58,24,-160,-34,-160v-63,0,-49,93,-50,160r-27,0r0,-240r27,0r0,95","w":194,"k":{"y":7}},"i":{"d":"56,-240r0,31r-30,0r0,-31r30,0xm55,-178r0,178r-27,0r0,-178r27,0","w":82},"j":{"d":"57,-240r0,31r-32,0r0,-31r32,0xm-22,36v28,8,50,1,50,-31r0,-184r27,0r0,184v2,48,-33,63,-77,53r0,-22","w":82},"k":{"d":"174,0r-28,0r-52,-99r-39,44r0,55r-27,0r0,-240r27,0r0,154r83,-92r29,0r-55,63","w":180,"k":{"u":9,"o":8,"g":-4,"e":8,"a":3,".":-2,"-":5,",":-2}},"l":{"d":"55,0r-27,0r0,-240r27,0r0,240","w":82},"m":{"d":"212,-182v76,0,48,108,53,182r-26,0v-7,-58,23,-159,-35,-159v-25,0,-45,26,-45,59r0,100r-27,0v-6,-57,22,-160,-34,-160v-61,0,-41,96,-44,160r-26,0r0,-178r23,0r0,35v20,-53,95,-49,105,3v12,-28,31,-42,56,-42","w":293,"k":{"y":7,"w":7,"v":8,"p":3}},"n":{"d":"53,-145v31,-62,115,-43,115,42r0,103r-26,0v-6,-58,23,-159,-37,-159v-64,0,-49,92,-50,159r-27,0r0,-178r25,0r0,33","w":195,"k":{"y":7,"w":7,"v":8,"p":4}},"o":{"d":"173,-89v0,52,-33,94,-82,94v-49,1,-77,-43,-77,-94v0,-52,31,-93,80,-93v50,0,79,42,79,93xm44,-90v0,44,14,72,49,72v35,0,50,-30,50,-71v0,-42,-17,-71,-50,-71v-34,0,-49,29,-49,70","w":187,"k":{"y":6,"x":5,"w":5,"v":6,"t":3}},"p":{"d":"179,-90v0,80,-83,130,-124,63r0,87r-27,0r0,-238r24,0r0,35v13,-26,31,-39,56,-39v45,-1,71,44,71,92xm102,-158v-41,0,-52,44,-47,93v1,23,24,48,47,47v32,-2,46,-28,46,-70v0,-39,-13,-70,-46,-70","w":192,"k":{"y":5}},"q":{"d":"86,-182v30,1,39,10,54,33r11,-31r14,0r0,240r-27,0r0,-92v-34,73,-124,27,-124,-55v0,-50,24,-95,72,-95xm90,-19v37,-1,51,-40,48,-84v-3,-34,-19,-57,-48,-57v-61,0,-64,142,0,141","w":192,"k":{"u":4}},"r":{"d":"115,-156v-73,-4,-60,85,-60,156r-27,0r0,-178r24,0r0,42v15,-33,26,-49,63,-46r0,26","w":118,"k":{"z":-2,"y":-11,"x":-8,"w":-8,"v":-9,"t":-12,"s":-2,"q":4,"p":2,"o":7,"k":2,"h":2,"f":-12,"d":6,"c":5,".":20,"-":9,",":20}},"s":{"d":"156,-50v0,36,-34,55,-74,55v-42,0,-68,-17,-78,-51r26,-6v6,22,25,34,56,34v20,0,43,-10,41,-29v-6,-50,-119,-13,-116,-83v0,-32,30,-53,65,-52v39,0,63,15,72,45r-25,5v-7,-35,-81,-39,-84,-1v-1,25,38,27,62,31v36,7,55,24,55,52","w":166},"t":{"d":"108,-19r0,22v-45,8,-77,-6,-77,-52r0,-107r-31,0r0,-22r31,0r2,-44r25,-3r0,47r40,0r0,22r-40,0r0,112v-1,26,24,30,50,25","w":110,"k":{"o":5,"e":6}},"u":{"d":"90,-18v67,0,47,-94,50,-160r27,0r0,178r-24,0r0,-34v-13,26,-32,39,-57,39v-79,2,-54,-107,-58,-183r27,0v6,57,-22,160,35,160","w":194},"v":{"d":"158,-178r-62,178r-28,0r-64,-178r31,0r49,145r49,-145r25,0","w":162,"k":{"o":5,"g":4,"e":5,"c":5,"a":4,".":15,"-":-5,",":15}},"w":{"d":"232,-178r-51,178r-22,0r-40,-132r-36,132r-23,0r-53,-178r27,0r39,133r37,-133r20,0r40,133r40,-133r22,0","w":239,"k":{"o":4,"g":4,"e":5,"c":4,"a":4,";":2,":":2,".":13,"-":-6,",":13}},"x":{"d":"151,0r-31,0r-46,-72r-46,72r-27,0r60,-92r-54,-86r32,0r38,61r38,-61r27,0r-52,80","w":152,"k":{"q":5,"o":6,"e":6,"c":5}},"y":{"d":"149,-178r-71,199v-14,38,-35,50,-73,39r0,-22v37,9,49,-6,58,-41r-61,-175r28,0r48,134r48,-134r23,0","w":149,"k":{"o":5,"g":3,"e":5,"c":4,"a":2,".":15,"-":-6,",":15}},"z":{"d":"143,-21r0,21r-131,0r0,-21r94,-135r-87,0r0,-22r124,0r0,15r-98,142r98,0","w":152},"{":{"d":"65,-190v-3,39,12,90,-22,100v31,10,20,60,22,99v1,25,7,31,33,32r0,19v-65,8,-58,-51,-57,-109v0,-20,-5,-28,-20,-33r0,-17v52,-15,-23,-156,77,-141r0,19v-26,1,-32,6,-33,31","w":105},"|":{"d":"77,-240r27,0r0,300r-27,0r0,-300","w":180},"}":{"d":"40,10v2,-39,-11,-89,22,-100v-31,-10,-20,-60,-22,-99v0,-26,-7,-31,-33,-32r0,-19v67,-9,57,51,57,109v1,20,5,29,21,33r0,17v-55,15,25,157,-78,141r0,-19v26,-1,32,-5,33,-31","w":105},"~":{"d":"143,-95v-15,0,-58,-24,-77,-23v-11,0,-22,8,-31,25r-16,-10v13,-28,29,-42,49,-42v16,0,60,24,76,24v12,0,23,-8,32,-24r16,9v-13,27,-30,41,-49,41"},"\u00c7":{"d":"48,-118v0,50,20,97,65,97v31,0,51,-20,61,-60r27,6v-13,53,-42,80,-87,80r-4,14v18,-5,39,8,38,26v0,31,-49,33,-72,18r4,-12v16,9,46,12,48,-6v1,-13,-20,-15,-37,-14r9,-27v-54,-6,-85,-65,-85,-126v0,-69,36,-122,100,-123v45,0,73,26,86,77r-28,6v-10,-38,-30,-57,-59,-57v-48,1,-66,46,-66,101","w":208},"\u00d6":{"d":"141,-303v9,0,20,6,19,17v1,9,-9,19,-18,18v-9,1,-20,-7,-19,-17v-1,-11,9,-18,18,-18xm85,-303v11,-1,19,9,19,18v0,9,-10,17,-19,17v-9,0,-19,-8,-18,-17v-1,-11,9,-18,18,-18xm212,-122v0,64,-35,127,-99,127v-64,0,-98,-59,-98,-124v0,-66,36,-127,99,-126v62,0,98,58,98,123xm113,-220v-90,0,-90,201,1,200v47,0,68,-50,67,-102v0,-54,-21,-98,-68,-98","w":227},"\u00dc":{"d":"138,-303v9,0,19,7,19,17v0,9,-9,19,-19,18v-9,1,-19,-8,-18,-17v-1,-11,9,-18,18,-18xm81,-303v11,-1,19,8,19,18v0,9,-9,18,-18,17v-9,1,-18,-8,-18,-17v0,-10,8,-18,17,-18xm110,-22v39,1,57,-20,57,-61r0,-157r25,0r0,157v1,58,-30,85,-84,88v-116,6,-75,-143,-82,-245r30,0r0,157v-1,44,16,60,54,61","w":218},"\u00e7":{"d":"158,-58v-6,35,-30,62,-69,63r-3,11v20,0,34,7,34,24v1,29,-44,30,-64,17r4,-11v15,7,40,12,43,-6v2,-12,-19,-13,-34,-12r8,-24v-41,-4,-63,-47,-63,-92v0,-71,68,-124,122,-77v13,11,19,27,22,45r-25,4v-5,-29,-19,-44,-43,-44v-33,1,-47,33,-47,70v0,39,12,71,46,72v23,0,38,-14,44,-44","w":167},"\u00f6":{"d":"121,-247v10,0,19,8,19,18v0,9,-9,19,-19,18v-9,1,-19,-9,-18,-18v-1,-11,9,-18,18,-18xm64,-247v11,-1,19,8,19,18v0,10,-9,19,-18,18v-9,1,-19,-9,-18,-18v-1,-10,8,-18,17,-18xm173,-89v0,52,-33,94,-82,94v-49,1,-77,-43,-77,-94v0,-52,31,-93,80,-93v50,0,79,42,79,93xm44,-90v0,44,14,72,49,72v35,0,50,-30,50,-71v0,-42,-17,-71,-50,-71v-34,0,-49,29,-49,70","w":187},"\u00fc":{"d":"125,-247v10,0,19,8,19,18v0,9,-9,19,-19,18v-9,1,-19,-9,-18,-18v-1,-11,9,-18,18,-18xm68,-247v11,-1,19,8,19,18v0,10,-9,19,-18,18v-9,1,-19,-9,-18,-18v-1,-10,8,-18,17,-18xm90,-18v67,0,47,-94,50,-160r27,0r0,178r-24,0r0,-34v-13,26,-32,39,-57,39v-79,2,-54,-107,-58,-183r27,0v6,57,-22,160,35,160","w":194},"\u0131":{"d":"55,-178r0,178r-28,0r0,-178r28,0","w":82},"\u011e":{"d":"66,-309r20,0v2,32,63,32,65,0r20,0v-5,30,-22,45,-50,45v-32,0,-51,-15,-55,-45xm118,-20v40,0,63,-30,59,-76r-60,0r0,-25r91,0r0,124r-19,0r-8,-30v-15,21,-37,32,-66,32v-64,2,-100,-58,-100,-123v0,-68,39,-127,104,-127v44,0,73,24,86,70r-28,7v-6,-31,-28,-50,-60,-51v-51,0,-68,48,-69,100v-1,54,21,98,70,99","w":232},"\u011f":{"d":"37,-253r20,0v2,33,64,31,66,0r20,0v-5,30,-23,45,-51,45v-32,0,-51,-15,-55,-45xm87,-61v-27,-11,-57,11,-32,27v27,8,101,-2,115,23v26,46,-6,81,-80,78v-66,11,-111,-56,-54,-82v-26,-17,-22,-49,7,-60v-63,-52,10,-134,81,-100v4,-26,21,-32,49,-30r0,22v-24,0,-31,2,-34,20v38,41,5,106,-52,102xm49,-121v1,22,16,39,39,39v24,0,40,-16,40,-39v1,-23,-18,-40,-39,-40v-22,0,-41,16,-40,40xm153,18v0,-35,-69,-18,-98,-25v-13,6,-19,13,-19,24v1,21,31,29,56,29v24,0,61,-5,61,-28","w":176},"\u0130":{"d":"44,-304v10,0,20,7,19,18v1,10,-9,19,-19,18v-9,1,-19,-9,-18,-18v-1,-11,9,-18,18,-18xm59,0r-30,0r0,-240r30,0r0,240","w":90},"\u015e":{"d":"190,-68v-1,48,-39,76,-93,73r-5,14v19,-4,39,7,39,26v0,31,-50,33,-72,18r4,-12v16,9,46,12,48,-6v1,-13,-19,-17,-37,-14r9,-27v-39,-5,-65,-28,-79,-68r27,-6v9,59,124,70,128,5v-11,-73,-142,-17,-143,-114v-1,-42,37,-67,81,-66v44,0,71,20,85,59r-27,8v-4,-26,-33,-41,-60,-42v-25,0,-50,13,-50,39v0,33,53,39,84,47v41,10,61,32,61,66","w":204},"\u015f":{"d":"54,46v15,7,41,12,43,-6v2,-12,-18,-13,-33,-12r8,-24v-38,-4,-60,-20,-68,-50r26,-6v4,40,92,49,97,5v-8,-49,-119,-13,-116,-83v0,-32,30,-53,65,-52v39,0,63,15,72,45r-25,5v-7,-35,-81,-39,-84,-1v-1,25,38,27,62,31v36,7,55,24,55,52v0,35,-35,56,-73,55r-3,11v20,0,34,7,35,24v1,29,-45,30,-65,17","w":166},"\u00a0":{"w":90}}});

/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
* Thanks to: Seamus Leahy for adding deltaX and deltaY
*
* Version: 3.0.6
*
* Requires: 1.2.2+
*/

(function($) {

var types = ['DOMMouseScroll', 'mousewheel'];

if ($.event.fixHooks) {
    for ( var i=types.length; i; ) {
        $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
    }
}

$.event.special.mousewheel = {
    setup: function() {
        if ( this.addEventListener ) {
            for ( var i=types.length; i; ) {
                this.addEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = handler;
        }
    },
    
    teardown: function() {
        if ( this.removeEventListener ) {
            for ( var i=types.length; i; ) {
                this.removeEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = null;
        }
    }
};

$.fn.extend({
    mousewheel: function(fn) {
        return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
    },
    
    unmousewheel: function(fn) {
        return this.unbind("mousewheel", fn);
    }
});


function handler(event) {
    var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
    event = $.event.fix(orgEvent);
    event.type = "mousewheel";
    
    // Old school scrollwheel delta
    if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
    if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
    
    // New school multidimensional scroll (touchpads) deltas
    deltaY = delta;
    
    // Gecko
    if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
        deltaY = 0;
        deltaX = -1*delta;
    }
    
    // Webkit
    if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
    if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
    
    // Add event and delta to the front of the arguments
    args.unshift(event, delta, deltaX, deltaY);
    
    return ($.event.dispatch || $.event.handle).apply(this, args);
}

})(jQuery);

